| /*-----------------------------------------------------------------------------+ |
| 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/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 |
| |
| |