1 2 #ifndef BOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED 3 #define BOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED 4 5 // Copyright Aleksey Gurtovoy 2002-2004 6 // 7 // Distributed under the Boost Software License, Version 1.0. 8 // (See accompanying file LICENSE_1_0.txt or copy at 9 // http://www.boost.org/LICENSE_1_0.txt) 10 // 11 // See http://www.boost.org/libs/mpl for documentation. 12 13 // $Id: adl_barrier.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ 14 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $ 15 // $Revision: 49267 $ 16 17 #include <boost/mpl/aux_/config/adl.hpp> 18 #include <boost/mpl/aux_/config/gcc.hpp> 19 #include <boost/mpl/aux_/config/workaround.hpp> 20 21 #if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE) 22 23 # define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE mpl_ 24 # define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN namespace mpl_ { 25 # define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE } 26 # define BOOST_MPL_AUX_ADL_BARRIER_DECL(type) \ 27 namespace boost { namespace mpl { \ 28 using ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::type; \ 29 } } \ 30 /**/ 31 32 #if !defined(BOOST_MPL_PREPROCESSING_MODE) 33 namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE { namespace aux {} } 34 namespace boost { namespace mpl { using namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE; 35 namespace aux { using namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::aux; } 36 }} 37 #endif 38 39 #else // BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE 40 41 # define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE boost::mpl 42 # define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN namespace boost { namespace mpl { 43 # define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE }} 44 # define BOOST_MPL_AUX_ADL_BARRIER_DECL(type) /**/ 45 46 #endif 47 48 #endif // BOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED 49