1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- /*-----------------------------------------------------------------------------+
- Author: Joachim Faulhaber
- Copyright (c) 2009-2011: Joachim Faulhaber
- +------------------------------------------------------------------------------+
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENCE.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
- +-----------------------------------------------------------------------------*/
- #ifndef BOOST_ICL_IMPL_CONFIG_HPP_JOFA_091225
- #define BOOST_ICL_IMPL_CONFIG_HPP_JOFA_091225
- #include <boost/icl/detail/requires_cxx11.hpp>
- #include <boost/icl/detail/boost_config.hpp>
- /*-----------------------------------------------------------------------------+
- | You can choose an implementation for the basic set and map classes. |
- | Select at most ONE of the following defines to change the default |
- +-----------------------------------------------------------------------------*/
- //#define ICL_USE_STD_IMPLEMENTATION // Default
- //#define ICL_USE_BOOST_MOVE_IMPLEMENTATION // Boost.Container
- // ICL_USE_BOOST_INTERPROCESS_IMPLEMENTATION // No longer available
- /*-----------------------------------------------------------------------------+
- | NO define or ICL_USE_STD_IMPLEMENTATION: Choose std::set and std::map from |
- | your local std implementation as implementing containers (DEFAULT). |
- | Whether move semantics is available depends on the version of your local |
- | STL. |
- | |
- | ICL_USE_BOOST_MOVE_IMPLEMENTATION: |
- | Use move aware containers from boost::container. |
- | |
- | NOTE: ICL_USE_BOOST_INTERPROCESS_IMPLEMENTATION: This define has been |
- | available until boost version 1.48.0 and is no longer supported. |
- +-----------------------------------------------------------------------------*/
- #if defined(ICL_USE_BOOST_MOVE_IMPLEMENTATION)
- # define ICL_IMPL_SPACE boost::container
- #elif defined(ICL_USE_STD_IMPLEMENTATION)
- # define ICL_IMPL_SPACE std
- #else
- # define ICL_IMPL_SPACE std
- #endif
- /*-----------------------------------------------------------------------------+
- | MEMO 2012-12-30: Due to problems with new c++11 compilers and their |
- | implementation of rvalue references, ICL's move implementation will be |
- | disabled for some new compilers for version 1.53. |
- +-----------------------------------------------------------------------------*/
- #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- # define BOOST_ICL_NO_CXX11_RVALUE_REFERENCES
- //#elif defined(__clang__)
- //# define BOOST_ICL_NO_CXX11_RVALUE_REFERENCES
- //#elif (defined(__GNUC__) && (__GNUC__ == 4) && (__GNUC_MINOR__ >= 7))
- //# define BOOST_ICL_NO_CXX11_RVALUE_REFERENCES
- #endif
- #include <boost/move/move.hpp>
- #endif // BOOST_ICL_IMPL_CONFIG_HPP_JOFA_091225
|