62 lines
3.1 KiB
C++
62 lines
3.1 KiB
C++
/*-----------------------------------------------------------------------------+
|
|
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
|
|
|
|
|