forked from boostorg/type_traits
Merge branch 'develop'
This commit is contained in:
14
include/boost/type_traits/broken_compiler_spec.hpp
Normal file
14
include/boost/type_traits/broken_compiler_spec.hpp
Normal file
@@ -0,0 +1,14 @@
|
||||
|
||||
// Copyright 2001-2003 Aleksey Gurtovoy.
|
||||
// Use, modification and distribution are subject to 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).
|
||||
//
|
||||
// See http://www.boost.org/libs/type_traits for most recent version including documentation.
|
||||
|
||||
#ifndef BOOST_TT_BROKEN_COMPILER_SPEC_HPP_INCLUDED
|
||||
#define BOOST_TT_BROKEN_COMPILER_SPEC_HPP_INCLUDED
|
||||
|
||||
#include <boost/type_traits/config.hpp>
|
||||
|
||||
#endif
|
@@ -61,6 +61,12 @@
|
||||
# define BOOST_TT_NO_CV_FUNC_TEST
|
||||
#endif
|
||||
|
||||
//
|
||||
// Macros that have been deprecated, defined here for backwards compatibility:
|
||||
//
|
||||
#define BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(x)
|
||||
#define BOOST_TT_BROKEN_COMPILER_SPEC(x)
|
||||
|
||||
#endif // BOOST_TT_CONFIG_HPP_INCLUDED
|
||||
|
||||
|
||||
|
@@ -152,10 +152,10 @@ no_operator operator,(no_operator, has_operator);
|
||||
|
||||
template < typename Lhs, typename Rhs >
|
||||
struct operator_exists {
|
||||
static ::boost::type_traits::yes_type check(has_operator); // this version is preferred when operator exists
|
||||
static ::boost::type_traits::no_type check(no_operator); // this version is used otherwise
|
||||
static ::boost::type_traits::yes_type s_check(has_operator); // this version is preferred when operator exists
|
||||
static ::boost::type_traits::no_type s_check(no_operator); // this version is used otherwise
|
||||
|
||||
BOOST_STATIC_CONSTANT(bool, value = (sizeof(check(((make<Lhs>() BOOST_TT_TRAIT_OP make<Rhs>()),make<has_operator>())))==sizeof(::boost::type_traits::yes_type)));
|
||||
BOOST_STATIC_CONSTANT(bool, value = (sizeof(s_check(((make<Lhs>() BOOST_TT_TRAIT_OP make<Rhs>()),make<has_operator>())))==sizeof(::boost::type_traits::yes_type)));
|
||||
};
|
||||
|
||||
|
||||
|
@@ -138,10 +138,10 @@ no_operator operator,(no_operator, has_operator);
|
||||
|
||||
template < typename Lhs >
|
||||
struct operator_exists {
|
||||
static ::boost::type_traits::yes_type check(has_operator); // this version is preferred when operator exists
|
||||
static ::boost::type_traits::no_type check(no_operator); // this version is used otherwise
|
||||
static ::boost::type_traits::yes_type s_check(has_operator); // this version is preferred when operator exists
|
||||
static ::boost::type_traits::no_type s_check(no_operator); // this version is used otherwise
|
||||
|
||||
BOOST_STATIC_CONSTANT(bool, value = (sizeof(check(((make<Lhs>() BOOST_TT_TRAIT_OP),make<has_operator>())))==sizeof(::boost::type_traits::yes_type)));
|
||||
BOOST_STATIC_CONSTANT(bool, value = (sizeof(s_check(((make<Lhs>() BOOST_TT_TRAIT_OP),make<has_operator>())))==sizeof(::boost::type_traits::yes_type)));
|
||||
};
|
||||
|
||||
|
||||
|
@@ -146,10 +146,10 @@ no_operator operator,(no_operator, has_operator);
|
||||
|
||||
template < typename Rhs >
|
||||
struct operator_exists {
|
||||
static ::boost::type_traits::yes_type check(has_operator); // this version is preferred when operator exists
|
||||
static ::boost::type_traits::no_type check(no_operator); // this version is used otherwise
|
||||
static ::boost::type_traits::yes_type s_check(has_operator); // this version is preferred when operator exists
|
||||
static ::boost::type_traits::no_type s_check(no_operator); // this version is used otherwise
|
||||
|
||||
BOOST_STATIC_CONSTANT(bool, value = (sizeof(check(((BOOST_TT_TRAIT_OP make<Rhs>()),make<has_operator>())))==sizeof(::boost::type_traits::yes_type)));
|
||||
BOOST_STATIC_CONSTANT(bool, value = (sizeof(s_check(((BOOST_TT_TRAIT_OP make<Rhs>()),make<has_operator>())))==sizeof(::boost::type_traits::yes_type)));
|
||||
};
|
||||
|
||||
|
||||
|
@@ -17,6 +17,11 @@
|
||||
#include <boost/type_traits/detail/bool_trait_def.hpp>
|
||||
#include <boost/detail/workaround.hpp>
|
||||
|
||||
#if defined(BOOST_MSVC) && (BOOST_MSVC >= 1700)
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable:4250)
|
||||
#endif
|
||||
|
||||
namespace boost{
|
||||
|
||||
#ifndef BOOST_IS_POLYMORPHIC
|
||||
@@ -111,4 +116,8 @@ BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_polymorphic,T,BOOST_IS_POLYMORPHIC(T))
|
||||
|
||||
#include <boost/type_traits/detail/bool_trait_undef.hpp>
|
||||
|
||||
#if defined(BOOST_MSVC) && (BOOST_MSVC >= 1700)
|
||||
#pragma warning(pop)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
14
include/boost/type_traits/transform_traits_spec.hpp
Normal file
14
include/boost/type_traits/transform_traits_spec.hpp
Normal file
@@ -0,0 +1,14 @@
|
||||
|
||||
// Copyright 2001 Aleksey Gurtovoy.
|
||||
// Use, modification and distribution are subject to 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).
|
||||
//
|
||||
// See http://www.boost.org/libs/type_traits for most recent version including documentation.
|
||||
|
||||
#ifndef BOOST_TT_TRANSFORM_TRAITS_HPP_INCLUDED
|
||||
#define BOOST_TT_TRANSFORM_TRAITS_HPP_INCLUDED
|
||||
|
||||
#include <boost/type_traits/config.hpp>
|
||||
|
||||
#endif
|
@@ -6,6 +6,12 @@
|
||||
#ifndef TT_HAS_BINARY_OPERATORS_HPP
|
||||
#define TT_HAS_BINARY_OPERATORS_HPP
|
||||
|
||||
#if defined(__GNUC__) && (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ > 40900)
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wunused-function"
|
||||
#endif
|
||||
|
||||
|
||||
// test with one template parameter
|
||||
#define TEST_T(TYPE,RESULT) BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME<TYPE>::value), RESULT)
|
||||
// test with one template parameter plus return value
|
||||
@@ -142,4 +148,8 @@ void common() {
|
||||
|
||||
}
|
||||
|
||||
#if defined(__GNUC__) && (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ > 40900)
|
||||
#pragma GCC diagnostic pop
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
@@ -6,6 +6,11 @@
|
||||
#ifndef TT_HAS_PREFIX_OPERATORS_HPP
|
||||
#define TT_HAS_PREFIX_OPERATORS_HPP
|
||||
|
||||
#if defined(__GNUC__) && (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ > 40900)
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wunused-function"
|
||||
#endif
|
||||
|
||||
// test with one template parameter
|
||||
#define TEST_T(TYPE,RESULT) BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME<TYPE>::value), RESULT)
|
||||
// test with one template parameter plus return value
|
||||
@@ -125,4 +130,8 @@ void common() {
|
||||
|
||||
}
|
||||
|
||||
#if defined(__GNUC__) && (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ > 40900)
|
||||
#pragma GCC diagnostic pop
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user