/*-----------------------------------------------------------------------------+ 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 /*-----------------------------------------------------------------------------+ | 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 #endif // BOOST_ICL_IMPL_CONFIG_HPP_JOFA_091225