mirror of
https://github.com/boostorg/contract.git
synced 2026-02-27 04:52:22 +00:00
34 lines
1.0 KiB
C++
34 lines
1.0 KiB
C++
|
|
#include <boost/preprocessor/config/config.hpp>
|
|
#if !BOOST_PP_VARIADICS
|
|
# error "this compiler does not support variadic macros"
|
|
#else
|
|
|
|
#include <boost/contract/ext_/preprocessor/traits/aux_/index/class.hpp>
|
|
#define BOOST_CONTRACT_EXT_PP_CLASS_TRAITS_AUX_INDEX_TEST \
|
|
BOOST_CONTRACT_EXT_PP_TRAITS_AUX_INDEX_CLASS_EXPORT
|
|
|
|
#include "../aux_/pp_traits.hpp"
|
|
#include <boost/contract/ext_/preprocessor/traits/class.hpp>
|
|
#include <boost/preprocessor/facilities/empty.hpp>
|
|
|
|
#define BOOST_CONTRACT_TEST_(export_) \
|
|
BOOST_CONTRACT_TEST_AUX_PP_TRAITS( \
|
|
BOOST_CONTRACT_EXT_PP_CLASS_TRAITS_EXPORT, \
|
|
BOOST_CONTRACT_EXT_PP_CLASS_TRAITS_PARSE_D, \
|
|
BOOST_PP_EMPTY(), \
|
|
export_, \
|
|
template( typename T, (std::map<int, char>::value_type) V ) \
|
|
class (a) extends( b, c ), \
|
|
export_ \
|
|
)
|
|
|
|
int main ( ) {
|
|
BOOST_CONTRACT_TEST_( BOOST_PP_EMPTY() )
|
|
BOOST_CONTRACT_TEST_( export )
|
|
return BOOST_CONTRACT_TEST_AUX_PP_TRAITS_REPORT_ERRORS;
|
|
}
|
|
|
|
#endif // variadics
|
|
|