Chris@16: // (C) Copyright Christopher Jefferson 2011. Chris@16: // Use, modification and distribution are subject to the Chris@16: // Boost Software License, Version 1.0. (See accompanying file Chris@16: // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Chris@16: Chris@16: // See http://www.boost.org for most recent version. Chris@16: Chris@16: // config for libc++ Chris@16: // Might need more in here later. Chris@16: Chris@16: #if !defined(_LIBCPP_VERSION) Chris@16: # include Chris@16: # if !defined(_LIBCPP_VERSION) Chris@16: # error "This is not libc++!" Chris@16: # endif Chris@16: #endif Chris@16: Chris@16: #define BOOST_STDLIB "libc++ version " BOOST_STRINGIZE(_LIBCPP_VERSION) Chris@16: Chris@16: #define BOOST_HAS_THREADS Chris@16: Chris@16: #ifdef _LIBCPP_HAS_NO_VARIADICS Chris@16: # define BOOST_NO_CXX11_HDR_TUPLE Chris@16: #endif Chris@16: Chris@101: // BOOST_NO_CXX11_ALLOCATOR should imply no support for the C++11 Chris@101: // allocator model. The C++11 allocator model requires a conforming Chris@101: // std::allocator_traits which is only possible with C++11 template Chris@101: // aliases since members rebind_alloc and rebind_traits require it. Chris@101: #if defined(_LIBCPP_HAS_NO_TEMPLATE_ALIASES) Chris@101: # define BOOST_NO_CXX11_ALLOCATOR Chris@101: #endif Chris@101: Chris@101: #if __cplusplus < 201103 Chris@101: # define BOOST_NO_CXX11_HDR_ARRAY Chris@101: # define BOOST_NO_CXX11_HDR_CODECVT Chris@101: # define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE Chris@101: # define BOOST_NO_CXX11_HDR_FORWARD_LIST Chris@101: # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST Chris@101: # define BOOST_NO_CXX11_HDR_MUTEX Chris@101: # define BOOST_NO_CXX11_HDR_RANDOM Chris@101: # define BOOST_NO_CXX11_HDR_RATIO Chris@101: # define BOOST_NO_CXX11_HDR_REGEX Chris@101: # define BOOST_NO_CXX11_HDR_SYSTEM_ERROR Chris@101: # define BOOST_NO_CXX11_HDR_THREAD Chris@101: # define BOOST_NO_CXX11_HDR_TUPLE Chris@101: # define BOOST_NO_CXX11_HDR_TYPEINDEX Chris@101: # define BOOST_NO_CXX11_HDR_UNORDERED_MAP Chris@101: # define BOOST_NO_CXX11_HDR_UNORDERED_SET Chris@101: # define BOOST_NO_CXX11_NUMERIC_LIMITS Chris@101: # define BOOST_NO_CXX11_ALLOCATOR Chris@101: # define BOOST_NO_CXX11_SMART_PTR Chris@101: # define BOOST_NO_CXX11_HDR_FUNCTIONAL Chris@101: # define BOOST_NO_CXX11_STD_ALIGN Chris@101: # define BOOST_NO_CXX11_ADDRESSOF Chris@101: #endif Chris@101: Chris@16: // Chris@16: // These appear to be unusable/incomplete so far: Chris@16: // Chris@16: # define BOOST_NO_CXX11_HDR_CHRONO Chris@16: # define BOOST_NO_CXX11_HDR_FUTURE Chris@16: # define BOOST_NO_CXX11_HDR_TYPE_TRAITS Chris@16: # define BOOST_NO_CXX11_ATOMIC_SMART_PTR Chris@101: # define BOOST_NO_CXX11_HDR_ATOMIC Chris@16: Chris@16: // libc++ uses a non-standard messages_base Chris@16: #define BOOST_NO_STD_MESSAGES Chris@16: Chris@16: // --- end ---