adl.hpp

Go to the documentation of this file.
00001 
00002 #ifndef BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED
00003 #define BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED
00004 
00005 // Copyright Aleksey Gurtovoy 2002-2004
00006 //
00007 // Distributed under the Boost Software License, Version 1.0. 
00008 // (See accompanying file LICENSE_1_0.txt or copy at 
00009 // http://www.boost.org/LICENSE_1_0.txt)
00010 //
00011 // See http://www.boost.org/libs/mpl for documentation.
00012 
00013 // $Source: /Users/acg/CVSROOT/systemc-2.2/src/sysc/packages/boost/mpl/aux_/config/adl.hpp,v $
00014 // $Date: 2006/12/15 20:31:38 $
00015 // $Revision: 1.1.1.1 $
00016 
00017 #include <sysc/packages/boost/mpl/aux_/config/msvc.hpp>
00018 #include <sysc/packages/boost/mpl/aux_/config/intel.hpp>
00019 #include <sysc/packages/boost/mpl/aux_/config/gcc.hpp>
00020 #include <sysc/packages/boost/mpl/aux_/config/workaround.hpp>
00021 
00022 // agurt, 25/apr/04: technically, the ADL workaround is only needed for GCC,
00023 // but putting everything expect public, user-specializable metafunctions into
00024 // a separate global namespace has a nice side effect of reducing the length 
00025 // of template instantiation symbols, so we apply the workaround on all 
00026 // platforms that can handle it
00027 
00028 #if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE) \
00029     && (   BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \
00030         || BOOST_WORKAROUND(__BORLANDC__, < 0x600) \
00031         || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) \
00032         || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \
00033         || BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, BOOST_TESTED_AT(810)) \
00034         )
00035 
00036 #   define BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE
00037 
00038 #endif
00039 
00040 #endif // BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED

Generated on Wed Jan 21 15:32:10 2009 for SystemC by  doxygen 1.5.5