forked from boostorg/type_traits
Merge pull request #140 from eldiener/develop
Changes for Embarcadero C++ clang-based compilers, targeting Boost 1.74. Change __BORLANDC__ to BOOST_BORLANDC, which is defined in Boost conf…
This commit is contained in:
@ -58,7 +58,7 @@
|
||||
#include <boost/type_traits/has_multiplies.hpp>
|
||||
#include <boost/type_traits/has_multiplies_assign.hpp>
|
||||
#include <boost/type_traits/has_negate.hpp>
|
||||
#if !defined(__BORLANDC__) && !defined(__CUDACC__)
|
||||
#if !defined(BOOST_BORLANDC) && !defined(__CUDACC__)
|
||||
#include <boost/type_traits/has_new_operator.hpp>
|
||||
#endif
|
||||
#include <boost/type_traits/has_not_equal_to.hpp>
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
namespace boost {
|
||||
|
||||
#if defined(__BORLANDC__) && (__BORLANDC__ < 0x5A0)
|
||||
#if defined(BOOST_BORLANDC) && (BOOST_BORLANDC < 0x5A0)
|
||||
//
|
||||
// For some reason this implementation stops Borlands compiler
|
||||
// from dropping cv-qualifiers, it still fails with references
|
||||
|
@ -73,7 +73,7 @@ template <
|
||||
, std::size_t alignment_ = std::size_t(-1)
|
||||
>
|
||||
class aligned_storage :
|
||||
#ifndef __BORLANDC__
|
||||
#ifndef BOOST_BORLANDC
|
||||
private
|
||||
#else
|
||||
public
|
||||
|
@ -19,7 +19,7 @@
|
||||
# pragma warning(push)
|
||||
# pragma warning(disable: 4121 4512) // alignment is sensitive to packing
|
||||
#endif
|
||||
#if defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
|
||||
#if defined(BOOST_BORLANDC) && (BOOST_BORLANDC < 0x600)
|
||||
#pragma option push -Vx- -Ve-
|
||||
#endif
|
||||
|
||||
@ -91,7 +91,7 @@ template <class T> struct alignment_of : public integral_constant<std::size_t, :
|
||||
// that a reference is just a special pointer:
|
||||
template <typename T> struct alignment_of<T&> : public alignment_of<T*>{};
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#ifdef BOOST_BORLANDC
|
||||
// long double gives an incorrect value of 10 (!)
|
||||
// unless we do this...
|
||||
struct long_double_wrapper{ long double ld; };
|
||||
@ -108,7 +108,7 @@ template<> struct alignment_of<void volatile> : integral_constant<std::size_t, 0
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#if defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
|
||||
#if defined(BOOST_BORLANDC) && (BOOST_BORLANDC < 0x600)
|
||||
#pragma option pop
|
||||
#endif
|
||||
#ifdef BOOST_MSVC
|
||||
|
@ -20,7 +20,7 @@
|
||||
// it needs to be declared __cdecl to suppress compiler
|
||||
// warnings from MS and Borland compilers (this *must*
|
||||
// appear before we include is_same.hpp below):
|
||||
#if defined(BOOST_MSVC) || (defined(__BORLANDC__) && !defined(BOOST_DISABLE_WIN32))
|
||||
#if defined(BOOST_MSVC) || (defined(BOOST_BORLANDC) && !defined(BOOST_DISABLE_WIN32))
|
||||
# define BOOST_TT_DECL __cdecl
|
||||
#else
|
||||
# define BOOST_TT_DECL /**/
|
||||
@ -28,7 +28,7 @@
|
||||
|
||||
# if (BOOST_WORKAROUND(__MWERKS__, < 0x3000) \
|
||||
|| BOOST_WORKAROUND(__IBMCPP__, < 600 ) \
|
||||
|| BOOST_WORKAROUND(__BORLANDC__, < 0x5A0) \
|
||||
|| BOOST_WORKAROUND(BOOST_BORLANDC, < 0x5A0) \
|
||||
|| defined(__ghs) \
|
||||
|| BOOST_WORKAROUND(__HP_aCC, < 60700) \
|
||||
|| BOOST_WORKAROUND(MPW_CPLUS, BOOST_TESTED_AT(0x890)) \
|
||||
@ -48,7 +48,7 @@
|
||||
// when we want to test __stdcall etc function types with is_function etc
|
||||
// (Note, does not work with Borland, even though it does support __stdcall etc):
|
||||
//
|
||||
#if defined(_MSC_EXTENSIONS) && !defined(__BORLANDC__)
|
||||
#if defined(_MSC_EXTENSIONS) && !defined(BOOST_BORLANDC)
|
||||
# define BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
#endif
|
||||
|
||||
|
@ -28,7 +28,7 @@
|
||||
|
||||
namespace boost {
|
||||
|
||||
#if !defined( __CODEGEARC__ )
|
||||
#if !defined( BOOST_CODEGEARC )
|
||||
|
||||
namespace detail {
|
||||
|
||||
@ -86,9 +86,9 @@ struct is_function_impl<T&&> : public false_type
|
||||
|
||||
} // namespace detail
|
||||
|
||||
#endif // !defined( __CODEGEARC__ )
|
||||
#endif // !defined( BOOST_CODEGEARC )
|
||||
|
||||
#if defined( __CODEGEARC__ )
|
||||
#if defined( BOOST_CODEGEARC )
|
||||
template <class T> struct is_function : integral_constant<bool, __is_function(T)> {};
|
||||
#else
|
||||
template <class T> struct is_function : integral_constant<bool, ::boost::detail::is_function_impl<T>::value> {};
|
||||
|
@ -11,7 +11,7 @@
|
||||
#ifndef BOOST_TT_IS_MEMBER_FUNCTION_POINTER_CXX_03_HPP_INCLUDED
|
||||
#define BOOST_TT_IS_MEMBER_FUNCTION_POINTER_CXX_03_HPP_INCLUDED
|
||||
|
||||
#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
|
||||
#if !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
|
||||
//
|
||||
// Note: we use the "workaround" version for MSVC because it works for
|
||||
// __stdcall etc function types, where as the partial specialisation
|
||||
@ -29,9 +29,9 @@
|
||||
|
||||
namespace boost {
|
||||
|
||||
#if defined( __CODEGEARC__ )
|
||||
#if defined( BOOST_CODEGEARC )
|
||||
template <class T> struct is_member_function_pointer : public integral_constant<bool, __is_member_function_pointer( T )> {};
|
||||
#elif !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
|
||||
#elif !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
|
||||
|
||||
template <class T> struct is_member_function_pointer
|
||||
: public ::boost::integral_constant<bool, ::boost::type_traits::is_mem_fun_pointer_impl<typename remove_cv<T>::type>::value>{};
|
||||
@ -40,7 +40,7 @@ template <class T> struct is_member_function_pointer
|
||||
|
||||
namespace detail {
|
||||
|
||||
#ifndef __BORLANDC__
|
||||
#ifndef BOOST_BORLANDC
|
||||
|
||||
template <bool>
|
||||
struct is_mem_fun_pointer_select
|
||||
|
@ -18,7 +18,7 @@ namespace boost {
|
||||
|
||||
namespace detail{
|
||||
|
||||
#if defined( __CODEGEARC__ )
|
||||
#if defined( BOOST_CODEGEARC )
|
||||
// wrap the impl as main trait provides additional MPL lambda support
|
||||
template < typename T, std::size_t N >
|
||||
struct extent_imp {
|
||||
@ -81,7 +81,7 @@ struct extent_imp<T const volatile[R], 0>
|
||||
BOOST_STATIC_CONSTANT(std::size_t, value = R);
|
||||
};
|
||||
|
||||
#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) && !defined(__MWERKS__)
|
||||
#if !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) && !defined(__MWERKS__)
|
||||
template <class T, std::size_t N>
|
||||
struct extent_imp<T[], N>
|
||||
{
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
#ifdef BOOST_HAS_NOTHROW_COPY
|
||||
|
||||
#if defined(BOOST_CLANG) || defined(__GNUC__) || defined(__ghs__) || defined(__CODEGEARC__) || defined(__SUNPRO_CC)
|
||||
#if defined(BOOST_CLANG) || defined(__GNUC__) || defined(__ghs__) || defined(BOOST_CODEGEARC) || defined(__SUNPRO_CC)
|
||||
#include <boost/type_traits/is_volatile.hpp>
|
||||
#include <boost/type_traits/is_copy_constructible.hpp>
|
||||
#include <boost/type_traits/is_reference.hpp>
|
||||
|
@ -10,7 +10,7 @@
|
||||
#include <boost/detail/workaround.hpp>
|
||||
|
||||
#if (BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \
|
||||
|| BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
|
||||
|| BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) \
|
||||
|| BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) \
|
||||
|| BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \
|
||||
|| BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, BOOST_TESTED_AT(810)) )\
|
||||
|
@ -38,7 +38,7 @@ template<> struct need_promotion<unsigned short int> : public true_type {};
|
||||
// Same set of integral types as in boost/type_traits/is_integral.hpp.
|
||||
// Please, keep in sync.
|
||||
#if (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \
|
||||
|| (defined(__BORLANDC__) && (__BORLANDC__ == 0x600) && (_MSC_VER < 1300))
|
||||
|| (defined(BOOST_BORLANDC) && (BOOST_BORLANDC == 0x600) && (_MSC_VER < 1300))
|
||||
// TODO: common macro for this #if. Or better yet, PP SEQ of non-standard types.
|
||||
BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(__int8 )
|
||||
BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int8 )
|
||||
@ -46,7 +46,7 @@ BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(__int16 )
|
||||
BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int16)
|
||||
BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(__int32 )
|
||||
BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int32)
|
||||
#ifdef __BORLANDC__
|
||||
#ifdef BOOST_BORLANDC
|
||||
BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int64)
|
||||
BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE( __int64)
|
||||
#endif
|
||||
|
@ -356,7 +356,7 @@
|
||||
# define BOOST_HAS_TYPE_TRAITS_INTRINSICS
|
||||
#endif
|
||||
|
||||
# if defined(__CODEGEARC__)
|
||||
# if defined(BOOST_CODEGEARC)
|
||||
# include <boost/type_traits/is_same.hpp>
|
||||
# include <boost/type_traits/is_reference.hpp>
|
||||
# include <boost/type_traits/is_volatile.hpp>
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
namespace boost {
|
||||
|
||||
#if defined( __CODEGEARC__ )
|
||||
#if defined( BOOST_CODEGEARC )
|
||||
template <class T> struct is_array : public integral_constant<bool, __is_array(T)> {};
|
||||
#else
|
||||
template <class T> struct is_array : public false_type {};
|
||||
@ -28,7 +28,7 @@ namespace boost {
|
||||
template <class T, std::size_t N> struct is_array<T const[N]> : public true_type{};
|
||||
template <class T, std::size_t N> struct is_array<T volatile[N]> : public true_type{};
|
||||
template <class T, std::size_t N> struct is_array<T const volatile[N]> : public true_type{};
|
||||
#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
|
||||
#if !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
|
||||
template <class T> struct is_array<T[]> : public true_type{};
|
||||
template <class T> struct is_array<T const[]> : public true_type{};
|
||||
template <class T> struct is_array<T const volatile[]> : public true_type{};
|
||||
|
@ -26,7 +26,7 @@ namespace boost {
|
||||
namespace detail {
|
||||
|
||||
#ifndef BOOST_IS_BASE_OF
|
||||
#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581)) \
|
||||
#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x581)) \
|
||||
&& !BOOST_WORKAROUND(__SUNPRO_CC , <= 0x540) \
|
||||
&& !BOOST_WORKAROUND(__EDG_VERSION__, <= 243) \
|
||||
&& !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
|
||||
@ -235,7 +235,7 @@ template <class Base, class Derived> struct is_base_and_derived<Base&, Derived>
|
||||
template <class Base, class Derived> struct is_base_and_derived<Base, Derived&> : public false_type{};
|
||||
template <class Base, class Derived> struct is_base_and_derived<Base&, Derived&> : public false_type{};
|
||||
|
||||
#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x610))
|
||||
#if BOOST_WORKAROUND(BOOST_CODEGEARC, BOOST_TESTED_AT(0x610))
|
||||
template <class Base> struct is_base_and_derived<Base, Base> : public true_type{};
|
||||
#endif
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
namespace boost {
|
||||
|
||||
#if defined( __CODEGEARC__ )
|
||||
#if defined( BOOST_CODEGEARC )
|
||||
template <class T> struct is_compound : public integral_constant<bool, __is_compound(T)> {};
|
||||
#else
|
||||
template <class T> struct is_compound : public integral_constant<bool, ! ::boost::is_fundamental<T>::value> {};
|
||||
|
@ -26,7 +26,7 @@
|
||||
|
||||
namespace boost {
|
||||
|
||||
#if defined( __CODEGEARC__ )
|
||||
#if defined( BOOST_CODEGEARC )
|
||||
|
||||
template <class T>
|
||||
struct is_const : public integral_constant<bool, __is_const(T)> {};
|
||||
|
@ -96,7 +96,7 @@ namespace detail {
|
||||
static const bool value = sizeof(test<From, To>(0)) == 1;
|
||||
};
|
||||
|
||||
#elif defined(__BORLANDC__) && (__BORLANDC__ < 0x560)
|
||||
#elif defined(BOOST_BORLANDC) && (BOOST_BORLANDC < 0x560)
|
||||
//
|
||||
// special version for Borland compilers
|
||||
// this version breaks when used for some
|
||||
@ -120,7 +120,7 @@ struct is_convertible_impl
|
||||
#pragma option pop
|
||||
};
|
||||
|
||||
#elif defined(__GNUC__) || defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
|
||||
#elif defined(__GNUC__) || defined(BOOST_BORLANDC) && (BOOST_BORLANDC < 0x600)
|
||||
// special version for gcc compiler + recent Borland versions
|
||||
// note that this does not pass UDT's through (...)
|
||||
|
||||
@ -358,7 +358,7 @@ struct is_convertible_impl
|
||||
value = ( ::boost::detail::is_convertible_basic_impl<From,To>::value && ! ::boost::is_array<To>::value && ! ::boost::is_function<To>::value)
|
||||
};
|
||||
};
|
||||
#elif !defined(__BORLANDC__) || __BORLANDC__ > 0x551
|
||||
#elif !defined(BOOST_BORLANDC) || BOOST_BORLANDC > 0x551
|
||||
template <typename From, typename To>
|
||||
struct is_convertible_impl
|
||||
{
|
||||
|
@ -50,7 +50,7 @@ private:
|
||||
|
||||
struct empty_helper_t2 { int i[256]; };
|
||||
|
||||
#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600)
|
||||
#if !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600)
|
||||
|
||||
template <typename T, bool is_a_class = false>
|
||||
struct empty_helper
|
||||
@ -75,7 +75,7 @@ struct is_empty_impl
|
||||
value = ( ::boost::detail::empty_helper<cvt,::boost::is_class<T>::value>::value || BOOST_INTERNAL_IS_EMPTY(cvt)));
|
||||
};
|
||||
|
||||
#else // __BORLANDC__
|
||||
#else // BOOST_BORLANDC
|
||||
|
||||
template <typename T, bool is_a_class, bool convertible_to_int>
|
||||
struct empty_helper
|
||||
@ -106,7 +106,7 @@ struct is_empty_impl
|
||||
>::value || BOOST_INTERNAL_IS_EMPTY(cvt));
|
||||
};
|
||||
|
||||
#endif // __BORLANDC__
|
||||
#endif // BOOST_BORLANDC
|
||||
|
||||
} // namespace detail
|
||||
|
||||
|
@ -32,7 +32,7 @@
|
||||
namespace boost {
|
||||
|
||||
#ifndef BOOST_IS_ENUM
|
||||
#if !(defined(__BORLANDC__) && (__BORLANDC__ <= 0x551))
|
||||
#if !(defined(BOOST_BORLANDC) && (BOOST_BORLANDC <= 0x551))
|
||||
|
||||
namespace detail {
|
||||
|
||||
@ -49,7 +49,7 @@ struct is_class_or_union
|
||||
template <typename T>
|
||||
struct is_class_or_union
|
||||
{
|
||||
# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581))// we simply can't detect it this way.
|
||||
# if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x581))// we simply can't detect it this way.
|
||||
BOOST_STATIC_CONSTANT(bool, value = false);
|
||||
# else
|
||||
template <class U> static ::boost::type_traits::yes_type is_class_or_union_tester(void(U::*)(void));
|
||||
@ -131,7 +131,7 @@ template <typename T> struct is_enum_impl
|
||||
|
||||
#endif
|
||||
|
||||
#if BOOST_WORKAROUND(__BORLANDC__, < 0x600)
|
||||
#if BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600)
|
||||
typedef ::boost::detail::is_enum_helper<
|
||||
::boost::detail::is_enum_impl<T>::selector
|
||||
> se_t;
|
||||
@ -147,7 +147,7 @@ template <typename T> struct is_enum_impl
|
||||
|
||||
template <class T> struct is_enum : public integral_constant<bool, ::boost::detail::is_enum_impl<T>::value> {};
|
||||
|
||||
#else // __BORLANDC__
|
||||
#else // BOOST_BORLANDC
|
||||
//
|
||||
// buggy is_convertible prevents working
|
||||
// implementation of is_enum:
|
||||
|
@ -15,7 +15,7 @@
|
||||
namespace boost {
|
||||
|
||||
//* is a type T a fundamental type described in the standard (3.9.1)
|
||||
#if defined( __CODEGEARC__ )
|
||||
#if defined( BOOST_CODEGEARC )
|
||||
template <class T> struct is_fundamental : public integral_constant<bool, __is_fundamental(T)> {};
|
||||
#else
|
||||
template <class T> struct is_fundamental : public integral_constant<bool, ::boost::is_arithmetic<T>::value || ::boost::is_void<T>::value> {};
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
namespace boost {
|
||||
|
||||
#if defined( __CODEGEARC__ )
|
||||
#if defined( BOOST_CODEGEARC )
|
||||
template <class T>
|
||||
struct is_integral : public integral_constant<bool, __is_integral(T)> {};
|
||||
#else
|
||||
@ -50,14 +50,14 @@ template<> struct is_integral<wchar_t> : public true_type{};
|
||||
// Same set of integral types as in boost/type_traits/integral_promotion.hpp.
|
||||
// Please, keep in sync. -- Alexander Nasonov
|
||||
#if (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \
|
||||
|| (defined(__BORLANDC__) && (__BORLANDC__ == 0x600) && (_MSC_VER < 1300))
|
||||
|| (defined(BOOST_BORLANDC) && (BOOST_BORLANDC == 0x600) && (_MSC_VER < 1300))
|
||||
template<> struct is_integral<unsigned __int8> : public true_type{};
|
||||
template<> struct is_integral<unsigned __int16> : public true_type{};
|
||||
template<> struct is_integral<unsigned __int32> : public true_type{};
|
||||
template<> struct is_integral<__int8> : public true_type{};
|
||||
template<> struct is_integral<__int16> : public true_type{};
|
||||
template<> struct is_integral<__int32> : public true_type{};
|
||||
#ifdef __BORLANDC__
|
||||
#ifdef BOOST_BORLANDC
|
||||
template<> struct is_integral<unsigned __int64> : public true_type{};
|
||||
template<> struct is_integral<__int64> : public true_type{};
|
||||
#endif
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
namespace boost {
|
||||
|
||||
#if defined( __CODEGEARC__ )
|
||||
#if defined( BOOST_CODEGEARC )
|
||||
template <class T> struct is_lvalue_reference : public integral_constant<bool, __is_reference(T)>{};
|
||||
#else
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
||||
|
||||
namespace boost {
|
||||
|
||||
#if defined( __CODEGEARC__ )
|
||||
#if defined( BOOST_CODEGEARC )
|
||||
template <class T> struct is_member_pointer : public integral_constant<bool, __is_member_pointer(T)>{};
|
||||
#else
|
||||
template <class T> struct is_member_pointer : public integral_constant<bool, ::boost::is_member_function_pointer<T>::value>{};
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
namespace boost {
|
||||
|
||||
#if defined( __CODEGEARC__ )
|
||||
#if defined( BOOST_CODEGEARC )
|
||||
template <class T> struct is_pointer : public integral_constant<bool, __is_pointer(T)>{};
|
||||
#else
|
||||
template <class T> struct is_pointer : public false_type{};
|
||||
|
@ -28,7 +28,7 @@ namespace boost {
|
||||
|
||||
template <class T, class U> struct is_same : public false_type {};
|
||||
template <class T> struct is_same<T,T> : public true_type {};
|
||||
#if BOOST_WORKAROUND(__BORLANDC__, < 0x600)
|
||||
#if BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600)
|
||||
// without this, Borland's compiler gives the wrong answer for
|
||||
// references to arrays:
|
||||
template <class T> struct is_same<T&, T&> : public true_type{};
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
namespace boost {
|
||||
|
||||
#if !defined( __CODEGEARC__ )
|
||||
#if !defined( BOOST_CODEGEARC )
|
||||
|
||||
#if !(defined(BOOST_MSVC) && BOOST_MSVC <= 1310) && \
|
||||
!(defined(__EDG_VERSION__) && __EDG_VERSION__ <= 238) &&\
|
||||
@ -84,7 +84,7 @@ template <class T> struct is_signed : public false_type{};
|
||||
|
||||
#endif
|
||||
|
||||
#else //defined( __CODEGEARC__ )
|
||||
#else //defined( BOOST_CODEGEARC )
|
||||
template <class T> struct is_signed : public integral_constant<bool, __is_signed(T)>{};
|
||||
#endif
|
||||
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
namespace boost {
|
||||
|
||||
#if !defined( __CODEGEARC__ )
|
||||
#if !defined( BOOST_CODEGEARC )
|
||||
|
||||
#if !(defined(BOOST_MSVC) && BOOST_MSVC <= 1310) &&\
|
||||
!(defined(__EDG_VERSION__) && __EDG_VERSION__ <= 238) &&\
|
||||
@ -84,7 +84,7 @@ template <class T> struct is_unsigned : public false_type{};
|
||||
|
||||
#endif
|
||||
|
||||
#else // defined( __CODEGEARC__ )
|
||||
#else // defined( BOOST_CODEGEARC )
|
||||
template <class T> struct is_unsigned : public integral_constant<bool, __is_unsigned(T)> {};
|
||||
#endif
|
||||
|
||||
|
@ -81,7 +81,7 @@ namespace boost {
|
||||
long long ll;
|
||||
#endif
|
||||
};
|
||||
#ifdef __BORLANDC__
|
||||
#ifdef BOOST_BORLANDC
|
||||
struct boost_type_traits_internal_struct_X : public virtual Derived, public virtual Base
|
||||
{
|
||||
boost_type_traits_internal_struct_X();
|
||||
|
@ -26,7 +26,7 @@
|
||||
|
||||
namespace boost {
|
||||
|
||||
#if defined( __CODEGEARC__ )
|
||||
#if defined( BOOST_CODEGEARC )
|
||||
|
||||
template <class T>
|
||||
struct is_volatile : public integral_constant<bool, __is_volatile(T)> {};
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
namespace boost {
|
||||
|
||||
#if !defined( __CODEGEARC__ )
|
||||
#if !defined( BOOST_CODEGEARC )
|
||||
|
||||
namespace detail{
|
||||
|
||||
@ -49,7 +49,7 @@ struct rank_imp<T const volatile[R], N>
|
||||
BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));
|
||||
};
|
||||
|
||||
#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
|
||||
#if !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
|
||||
template <class T, std::size_t N>
|
||||
struct rank_imp<T[], N>
|
||||
{
|
||||
@ -74,9 +74,9 @@ struct rank_imp<T const volatile[], N>
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif // !defined( __CODEGEARC__ )
|
||||
#endif // !defined( BOOST_CODEGEARC )
|
||||
|
||||
#if defined( __CODEGEARC__ )
|
||||
#if defined( BOOST_CODEGEARC )
|
||||
template <class T> struct rank : public integral_constant<std::size_t, __array_rank(T)>{};
|
||||
#else
|
||||
template <class T> struct rank : public integral_constant<std::size_t, (::boost::detail::rank_imp<T, 0>::value)>{};
|
||||
|
@ -22,7 +22,7 @@ template <class T, std::size_t N> struct remove_all_extents<T[N]> : public remov
|
||||
template <class T, std::size_t N> struct remove_all_extents<T const[N]> : public remove_all_extents<T const>{};
|
||||
template <class T, std::size_t N> struct remove_all_extents<T volatile[N]> : public remove_all_extents<T volatile>{};
|
||||
template <class T, std::size_t N> struct remove_all_extents<T const volatile[N]> : public remove_all_extents<T const volatile>{};
|
||||
#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
|
||||
#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
|
||||
template <class T> struct remove_all_extents<T[]> : public remove_all_extents<T>{};
|
||||
template <class T> struct remove_all_extents<T const[]> : public remove_all_extents<T const>{};
|
||||
template <class T> struct remove_all_extents<T volatile[]> : public remove_all_extents<T volatile>{};
|
||||
|
@ -23,7 +23,7 @@ namespace boost {
|
||||
|
||||
#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
|
||||
template <class T, std::size_t N> struct remove_const<T const[N]>{ typedef T type[N]; };
|
||||
#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
|
||||
#if !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
|
||||
template <class T> struct remove_const<T const[]>{ typedef T type[]; };
|
||||
#endif
|
||||
#endif
|
||||
|
@ -27,7 +27,7 @@ template <class T> struct remove_cv<T const volatile>{ typedef T type; };
|
||||
template <class T, std::size_t N> struct remove_cv<T const[N]>{ typedef T type[N]; };
|
||||
template <class T, std::size_t N> struct remove_cv<T const volatile[N]>{ typedef T type[N]; };
|
||||
template <class T, std::size_t N> struct remove_cv<T volatile[N]>{ typedef T type[N]; };
|
||||
#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
|
||||
#if !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
|
||||
template <class T> struct remove_cv<T const[]>{ typedef T type[]; };
|
||||
template <class T> struct remove_cv<T const volatile[]>{ typedef T type[]; };
|
||||
template <class T> struct remove_cv<T volatile[]>{ typedef T type[]; };
|
||||
|
@ -22,7 +22,7 @@ template <typename T, std::size_t N> struct remove_extent<T[N]> { typedef T type
|
||||
template <typename T, std::size_t N> struct remove_extent<T const[N]> { typedef T const type; };
|
||||
template <typename T, std::size_t N> struct remove_extent<T volatile [N]> { typedef T volatile type; };
|
||||
template <typename T, std::size_t N> struct remove_extent<T const volatile [N]> { typedef T const volatile type; };
|
||||
#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
|
||||
#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
|
||||
template <typename T> struct remove_extent<T[]> { typedef T type; };
|
||||
template <typename T> struct remove_extent<T const[]> { typedef T const type; };
|
||||
template <typename T> struct remove_extent<T volatile[]> { typedef T volatile type; };
|
||||
|
@ -23,7 +23,7 @@ namespace boost {
|
||||
|
||||
#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
|
||||
template <class T, std::size_t N> struct remove_volatile<T volatile[N]>{ typedef T type[N]; };
|
||||
#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
|
||||
#if !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
|
||||
template <class T> struct remove_volatile<T volatile[]>{ typedef T type[]; };
|
||||
#endif
|
||||
#endif
|
||||
|
@ -25,7 +25,7 @@
|
||||
#endif
|
||||
|
||||
namespace boost {
|
||||
#ifndef __BORLANDC__
|
||||
#ifndef BOOST_BORLANDC
|
||||
namespace detail{
|
||||
|
||||
union max_align
|
||||
@ -227,7 +227,7 @@ namespace detail {
|
||||
typedef ::boost::tt_align_ns::a16 max_align;
|
||||
|
||||
}
|
||||
//#if ! BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x610))
|
||||
//#if ! BOOST_WORKAROUND(BOOST_CODEGEARC, BOOST_TESTED_AT(0x610))
|
||||
template <> struct is_pod< ::boost::tt_align_ns::a2> : public true_type{};
|
||||
template <> struct is_pod< ::boost::tt_align_ns::a4> : public true_type{};
|
||||
template <> struct is_pod< ::boost::tt_align_ns::a8> : public true_type{};
|
||||
|
@ -27,7 +27,7 @@ namespace
|
||||
|
||||
template< unsigned N, unsigned Alignment >
|
||||
struct alignment_implementation2 :
|
||||
#ifndef __BORLANDC__
|
||||
#ifndef BOOST_BORLANDC
|
||||
private
|
||||
#else
|
||||
public
|
||||
|
@ -18,7 +18,7 @@ type_expression: an expression that evaluates to a typename.
|
||||
expected_value: the type we expect to find.
|
||||
*/
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#ifdef BOOST_BORLANDC
|
||||
#pragma option -w-8008 -w-8066 -w-8019
|
||||
#endif
|
||||
|
||||
|
@ -145,7 +145,7 @@ TT_TEST_BEGIN(decay)
|
||||
/*
|
||||
int array[10];
|
||||
std::pair<int*,int*> p5 = boost::make_pair( array, array );
|
||||
#ifndef __BORLANDC__
|
||||
#ifndef BOOST_BORLANDC
|
||||
std::pair<int(*)(void), int(*)(int)> p6 = boost::make_pair(boost::proc1, boost::proc2);
|
||||
p6.first();
|
||||
p6.second(1);
|
||||
|
@ -60,7 +60,7 @@ int main()
|
||||
# define BOOST_TT_AUX_WCHAR_MAX USHORT_MAX // force test_cv< wchar_t, int >
|
||||
#elif defined(WCHAR_MAX) && !defined(__APPLE__)
|
||||
# define BOOST_TT_AUX_WCHAR_MAX WCHAR_MAX
|
||||
#elif defined(__BORLANDC__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__BEOS__) && defined(__GNUC__))
|
||||
#elif defined(BOOST_BORLANDC) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__BEOS__) && defined(__GNUC__))
|
||||
// No WCHAR_MIN and WCHAR_MAX, whar_t is short and unsigned:
|
||||
# define BOOST_TT_AUX_WCHAR_MAX USHORT_MAX // force test_cv< wchar_t, int >
|
||||
#elif (defined(__sgi) && (!defined(__SGI_STL_PORT) || __SGI_STL_PORT < 0x400))\
|
||||
|
@ -18,7 +18,7 @@
|
||||
#include <iostream>
|
||||
#include <typeinfo>
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#ifdef BOOST_BORLANDC
|
||||
// we have to turn off these warnings otherwise we get swamped by the things:
|
||||
#pragma option -w-8008 -w-8066
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user