2016-10-23 18:16:55 +03:00
|
|
|
#ifndef BOOST_MP11_DETAIL_CONFIG_HPP_INCLUDED
|
|
|
|
|
#define BOOST_MP11_DETAIL_CONFIG_HPP_INCLUDED
|
|
|
|
|
|
|
|
|
|
// Copyright 2016 Peter Dimov.
|
|
|
|
|
//
|
|
|
|
|
// Distributed under the Boost Software License, Version 1.0.
|
|
|
|
|
//
|
|
|
|
|
// See accompanying file LICENSE_1_0.txt or copy at
|
|
|
|
|
// http://www.boost.org/LICENSE_1_0.txt
|
|
|
|
|
|
|
|
|
|
#include <boost/config.hpp>
|
2018-01-23 21:31:28 +02:00
|
|
|
#include <boost/config/workaround.hpp>
|
2016-10-23 18:16:55 +03:00
|
|
|
|
|
|
|
|
#if defined( BOOST_NO_CXX11_CONSTEXPR )
|
|
|
|
|
|
|
|
|
|
# define BOOST_MP11_NO_CONSTEXPR
|
|
|
|
|
|
2017-08-22 22:01:10 +03:00
|
|
|
#elif defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1920 )
|
2016-10-23 18:16:55 +03:00
|
|
|
|
|
|
|
|
# define BOOST_MP11_NO_CONSTEXPR
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
2017-05-24 06:16:17 +03:00
|
|
|
#if defined(__cpp_fold_expressions) && __cpp_fold_expressions >= 201603
|
|
|
|
|
|
|
|
|
|
# define BOOST_MP11_HAS_FOLD_EXPRESSIONS
|
|
|
|
|
|
|
|
|
|
#elif defined(BOOST_CLANG) && defined(__has_cpp_attribute)
|
2017-03-18 01:05:54 +02:00
|
|
|
# if __has_cpp_attribute(fallthrough) && __cplusplus >= 201406L // Clang 3.9+ in c++1z mode
|
|
|
|
|
|
|
|
|
|
# define BOOST_MP11_HAS_FOLD_EXPRESSIONS
|
|
|
|
|
|
|
|
|
|
# endif
|
|
|
|
|
#endif
|
|
|
|
|
|
2017-03-25 20:32:40 +02:00
|
|
|
#if defined(__has_builtin)
|
|
|
|
|
# if __has_builtin(__type_pack_element)
|
|
|
|
|
|
|
|
|
|
# define BOOST_MP11_HAS_TYPE_PACK_ELEMENT
|
|
|
|
|
|
|
|
|
|
# endif
|
|
|
|
|
#endif
|
|
|
|
|
|
2016-10-23 18:16:55 +03:00
|
|
|
#endif // #ifndef BOOST_MP11_DETAIL_CONFIG_HPP_INCLUDED
|