1 2 // NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION 3 4 // Copyright Aleksey Gurtovoy 2000-2006 5 // 6 // Distributed under the Boost Software License, Version 1.0. 7 // (See accompanying file LICENSE_1_0.txt or copy at 8 // http://www.boost.org/LICENSE_1_0.txt) 9 // 10 // See http://www.boost.org/libs/mpl for documentation. 11 12 // $Id$ 13 // $Date$ 14 // $Revision$ 15 16 #include <boost/mpl/aux_/config/typeof.hpp> 17 #include <boost/mpl/aux_/config/ctps.hpp> 18 #include <boost/mpl/aux_/config/preprocessor.hpp> 19 #include <boost/mpl/aux_/config/workaround.hpp> 20 21 #include <boost/preprocessor/cat.hpp> 22 #include <boost/preprocessor/stringize.hpp> 23 24 #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) 25 # define AUX778076_INCLUDE_DIR typeof_based 26 #elif defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ 27 || defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC) 28 # define AUX778076_INCLUDE_DIR no_ctps 29 #else 30 # define AUX778076_INCLUDE_DIR plain 31 #endif 32 33 #if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) 34 # define AUX778076_HEADER \ 35 AUX778076_INCLUDE_DIR/BOOST_MPL_PREPROCESSED_HEADER \ 36 /**/ 37 #else 38 # define AUX778076_HEADER \ 39 BOOST_PP_CAT(AUX778076_INCLUDE_DIR,/)##BOOST_MPL_PREPROCESSED_HEADER \ 40 /**/ 41 #endif 42 43 44 #if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700)) 45 # define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(boost/mpl/vector/aux_/preprocessed/AUX778076_HEADER) 46 # include AUX778076_INCLUDE_STRING 47 # undef AUX778076_INCLUDE_STRING 48 #else 49 # include BOOST_PP_STRINGIZE(boost/mpl/vector/aux_/preprocessed/AUX778076_HEADER) 50 #endif 51 52 # undef AUX778076_HEADER 53 # undef AUX778076_INCLUDE_DIR 54 55 #undef BOOST_MPL_PREPROCESSED_HEADER 56