Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:38:21

0001 /*-----------------------------------------------------------------------------+
0002 Author: Joachim Faulhaber
0003 Copyright (c) 2009-2011: Joachim Faulhaber
0004 +------------------------------------------------------------------------------+
0005    Distributed under the Boost Software License, Version 1.0.
0006       (See accompanying file LICENCE.txt or copy at
0007            http://www.boost.org/LICENSE_1_0.txt)
0008 +-----------------------------------------------------------------------------*/
0009 #ifndef  BOOST_ICL_IMPL_CONFIG_HPP_JOFA_091225
0010 #define  BOOST_ICL_IMPL_CONFIG_HPP_JOFA_091225
0011 
0012 #include <boost/icl/detail/requires_cxx11.hpp>
0013 #include <boost/icl/detail/boost_config.hpp>
0014 
0015 /*-----------------------------------------------------------------------------+
0016 | You can choose an implementation for the basic set and map classes.          |
0017 | Select at most ONE of the following defines to change the default            |
0018 +-----------------------------------------------------------------------------*/
0019 
0020 //#define ICL_USE_STD_IMPLEMENTATION                // Default
0021 //#define ICL_USE_BOOST_MOVE_IMPLEMENTATION         // Boost.Container
0022 //        ICL_USE_BOOST_INTERPROCESS_IMPLEMENTATION // No longer available
0023 
0024 /*-----------------------------------------------------------------------------+
0025 | NO define or ICL_USE_STD_IMPLEMENTATION: Choose std::set and std::map from   |
0026 |     your local std implementation as implementing containers (DEFAULT).      |
0027 |     Whether move semantics is available depends on the version of your local |
0028 |     STL.                                                                     |
0029 |                                                                              |
0030 | ICL_USE_BOOST_MOVE_IMPLEMENTATION:                                           |
0031 |     Use move aware containers from boost::container.                         |
0032 |                                                                              |
0033 | NOTE: ICL_USE_BOOST_INTERPROCESS_IMPLEMENTATION: This define has been        |
0034 |     available until boost version 1.48.0 and is no longer supported.         |
0035 +-----------------------------------------------------------------------------*/
0036 
0037 #if defined(ICL_USE_BOOST_MOVE_IMPLEMENTATION)
0038 #   define ICL_IMPL_SPACE boost::container
0039 #elif defined(ICL_USE_STD_IMPLEMENTATION)
0040 #   define ICL_IMPL_SPACE std
0041 #else
0042 #   define ICL_IMPL_SPACE std
0043 #endif
0044 
0045 /*-----------------------------------------------------------------------------+
0046 | MEMO 2012-12-30: Due to problems with new c++11 compilers and their          | 
0047 | implementation of rvalue references, ICL's move implementation will be       |
0048 | disabled for some new compilers for version 1.53.                            |
0049 +-----------------------------------------------------------------------------*/
0050 #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
0051 #   define BOOST_ICL_NO_CXX11_RVALUE_REFERENCES
0052 //#elif defined(__clang__)
0053 //#   define BOOST_ICL_NO_CXX11_RVALUE_REFERENCES
0054 //#elif (defined(__GNUC__) && (__GNUC__ == 4) && (__GNUC_MINOR__ >= 7))
0055 //#   define BOOST_ICL_NO_CXX11_RVALUE_REFERENCES
0056 #endif
0057 
0058 #include <boost/move/move.hpp>
0059 
0060 #endif // BOOST_ICL_IMPL_CONFIG_HPP_JOFA_091225
0061 
0062