Some more configuration comments

This commit is contained in:
Daniel James
2017-05-03 04:21:53 +01:00
parent d05619095c
commit 41f6a051ef

View File

@ -113,13 +113,28 @@
// Other configuration macros // Other configuration macros
// //
// BOOST_UNORDERED_TUPLE_ARGS
//
// Maximum number of std::tuple members to support, or 0 if std::tuple
// isn't avaiable. More are supported when full C++11 is used.
// Already defined, so do nothing
#if defined(BOOST_UNORDERED_TUPLE_ARGS) #if defined(BOOST_UNORDERED_TUPLE_ARGS)
#elif BOOST_COMP_SUNPRO && BOOST_COMP_SUNPRO < BOOST_VERSION_NUMBER(5, 21, 0)
// I had problems with tuples on older versions of the sunpro. // I had problems with tuples on older versions of the sunpro.
// Might be fixed in an earlier version than I specified here. // Might be fixed in an earlier version than I specified here.
#elif BOOST_COMP_SUNPRO && BOOST_COMP_SUNPRO < BOOST_VERSION_NUMBER(5, 21, 0)
#define BOOST_UNORDERED_TUPLE_ARGS 0 #define BOOST_UNORDERED_TUPLE_ARGS 0
// Assume if we have C++11 tuple it's properly variadic,
// and just use a max number of 10 arguments.
#elif !defined(BOOST_NO_CXX11_HDR_TUPLE) #elif !defined(BOOST_NO_CXX11_HDR_TUPLE)
#define BOOST_UNORDERED_TUPLE_ARGS 10 #define BOOST_UNORDERED_TUPLE_ARGS 10
// Visual C++ has a decent enough tuple for piecewise construction,
// so use that if available, using _VARIADIC_MAX for the maximum
// number of parameters. Note that this comes after the check
// for a full C++11 tuple.
#elif defined(BOOST_MSVC) #elif defined(BOOST_MSVC)
#if !BOOST_UNORDERED_HAVE_PIECEWISE_CONSTRUCT #if !BOOST_UNORDERED_HAVE_PIECEWISE_CONSTRUCT
#define BOOST_UNORDERED_TUPLE_ARGS 0 #define BOOST_UNORDERED_TUPLE_ARGS 0
@ -128,6 +143,8 @@
#else #else
#define BOOST_UNORDERED_TUPLE_ARGS 5 #define BOOST_UNORDERED_TUPLE_ARGS 5
#endif #endif
// Assume that we don't have std::tuple
#else #else
#define BOOST_UNORDERED_TUPLE_ARGS 0 #define BOOST_UNORDERED_TUPLE_ARGS 0
#endif #endif
@ -136,10 +153,18 @@
#include <tuple> #include <tuple>
#endif #endif
// BOOST_UNORDERED_SUPPRESS_DEPRECATED
//
// Define to stop deprecation attributes
#if defined(BOOST_UNORDERED_SUPPRESS_DEPRECATED) #if defined(BOOST_UNORDERED_SUPPRESS_DEPRECATED)
#define BOOST_UNORDERED_DEPRECATED(msg) #define BOOST_UNORDERED_DEPRECATED(msg)
#endif #endif
// BOOST_UNORDERED_DEPRECATED
//
// Wrapper around various depreaction attributes.
#if defined(__has_cpp_attribute) && \ #if defined(__has_cpp_attribute) && \
(!defined(__cplusplus) || __cplusplus >= 201402) (!defined(__cplusplus) || __cplusplus >= 201402)
#if __has_cpp_attribute(deprecated) && !defined(BOOST_UNORDERED_DEPRECATED) #if __has_cpp_attribute(deprecated) && !defined(BOOST_UNORDERED_DEPRECATED)