|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r68630 - in sandbox/type_traits/boost/type_traits: . detail
From: frederic.bron_at_[hidden]
Date: 2011-02-03 16:09:53
Author: bronf
Date: 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
New Revision: 68630
URL: http://svn.boost.org/trac/boost/changeset/68630
Log:
replaced use of logical operators in integral constant expressions by type_traits/ice.hpp
Text files modified:
sandbox/type_traits/boost/type_traits/detail/has_binary_operator.hpp | 2
sandbox/type_traits/boost/type_traits/detail/has_postfix_operator.hpp | 2
sandbox/type_traits/boost/type_traits/detail/has_prefix_operator.hpp | 2
sandbox/type_traits/boost/type_traits/has_operator_bit_and.hpp | 45 +++++++++++++--------------
sandbox/type_traits/boost/type_traits/has_operator_bit_and_equal.hpp | 45 +++++++++++++--------------
sandbox/type_traits/boost/type_traits/has_operator_bit_or.hpp | 45 +++++++++++++--------------
sandbox/type_traits/boost/type_traits/has_operator_bit_or_equal.hpp | 45 +++++++++++++--------------
sandbox/type_traits/boost/type_traits/has_operator_bit_xor.hpp | 45 +++++++++++++--------------
sandbox/type_traits/boost/type_traits/has_operator_bit_xor_equal.hpp | 45 +++++++++++++--------------
sandbox/type_traits/boost/type_traits/has_operator_complement.hpp | 23 +++++++------
sandbox/type_traits/boost/type_traits/has_operator_divides.hpp | 8 ++--
sandbox/type_traits/boost/type_traits/has_operator_divides_equal.hpp | 8 ++--
sandbox/type_traits/boost/type_traits/has_operator_equal_to.hpp | 65 ++++++++++++++++++++-------------------
sandbox/type_traits/boost/type_traits/has_operator_greater.hpp | 65 ++++++++++++++++++++-------------------
sandbox/type_traits/boost/type_traits/has_operator_greater_equal.hpp | 65 ++++++++++++++++++++-------------------
sandbox/type_traits/boost/type_traits/has_operator_left_shift.hpp | 45 +++++++++++++--------------
sandbox/type_traits/boost/type_traits/has_operator_left_shift_equal.hpp | 45 +++++++++++++--------------
sandbox/type_traits/boost/type_traits/has_operator_less.hpp | 65 ++++++++++++++++++++-------------------
sandbox/type_traits/boost/type_traits/has_operator_less_equal.hpp | 65 ++++++++++++++++++++-------------------
sandbox/type_traits/boost/type_traits/has_operator_logical_and.hpp | 45 +++++++++++++++------------
sandbox/type_traits/boost/type_traits/has_operator_logical_or.hpp | 45 +++++++++++++++------------
sandbox/type_traits/boost/type_traits/has_operator_minus.hpp | 53 ++++++++++++++-----------------
sandbox/type_traits/boost/type_traits/has_operator_minus_equal.hpp | 29 ++++++++---------
sandbox/type_traits/boost/type_traits/has_operator_modulus.hpp | 45 +++++++++++++--------------
sandbox/type_traits/boost/type_traits/has_operator_modulus_equal.hpp | 45 +++++++++++++--------------
sandbox/type_traits/boost/type_traits/has_operator_multiplies.hpp | 8 ++--
sandbox/type_traits/boost/type_traits/has_operator_multiplies_equal.hpp | 8 ++--
sandbox/type_traits/boost/type_traits/has_operator_not_equal_to.hpp | 65 ++++++++++++++++++++-------------------
sandbox/type_traits/boost/type_traits/has_operator_plus.hpp | 62 ++++++++++++++++++++-----------------
sandbox/type_traits/boost/type_traits/has_operator_plus_equal.hpp | 46 +++++++++++++--------------
sandbox/type_traits/boost/type_traits/has_operator_postfix_decrement.hpp | 15 ++++----
sandbox/type_traits/boost/type_traits/has_operator_postfix_increment.hpp | 8 ++--
sandbox/type_traits/boost/type_traits/has_operator_prefix_decrement.hpp | 15 ++++----
sandbox/type_traits/boost/type_traits/has_operator_prefix_increment.hpp | 8 ++--
sandbox/type_traits/boost/type_traits/has_operator_right_shift.hpp | 45 +++++++++++++--------------
sandbox/type_traits/boost/type_traits/has_operator_right_shift_equal.hpp | 45 +++++++++++++--------------
36 files changed, 664 insertions(+), 653 deletions(-)
Modified: sandbox/type_traits/boost/type_traits/detail/has_binary_operator.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/detail/has_binary_operator.hpp (original)
+++ sandbox/type_traits/boost/type_traits/detail/has_binary_operator.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -8,7 +8,7 @@
#include <limits>
#include <boost/config.hpp>
-#include <boost/type_traits/detail/yes_no_type.hpp>
+#include <boost/type_traits/ice.hpp>
#include <boost/type_traits/integral_constant.hpp>
#include <boost/type_traits/is_base_of.hpp>
#include <boost/type_traits/is_class.hpp>
Modified: sandbox/type_traits/boost/type_traits/detail/has_postfix_operator.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/detail/has_postfix_operator.hpp (original)
+++ sandbox/type_traits/boost/type_traits/detail/has_postfix_operator.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -7,7 +7,7 @@
// See http://www.boost.org/libs/type_traits for most recent version including documentation.
#include <boost/config.hpp>
-#include <boost/type_traits/detail/yes_no_type.hpp>
+#include <boost/type_traits/ice.hpp>
#include <boost/type_traits/integral_constant.hpp>
#include <boost/type_traits/is_base_of.hpp>
#include <boost/type_traits/is_class.hpp>
Modified: sandbox/type_traits/boost/type_traits/detail/has_prefix_operator.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/detail/has_prefix_operator.hpp (original)
+++ sandbox/type_traits/boost/type_traits/detail/has_prefix_operator.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -8,7 +8,7 @@
#include <limits>
#include <boost/config.hpp>
-#include <boost/type_traits/detail/yes_no_type.hpp>
+#include <boost/type_traits/ice.hpp>
#include <boost/type_traits/integral_constant.hpp>
#include <boost/type_traits/is_base_of.hpp>
#include <boost/type_traits/is_class.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_bit_and.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_bit_and.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_bit_and.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,33 +13,32 @@
#define BOOST_TT_TRAIT_OP &
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
+ ::boost::type_traits::ice_or<\
/* two built-in, one non integer */\
- (\
+ ::boost::type_traits::ice_and<\
/* two builtin */\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- and\
- (\
- /* one non integer */\
- not std::numeric_limits< typename ::boost::remove_reference<LHS>::type >::is_integer\
- or\
- not std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer\
- )\
- )\
- or\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
+ >::value\
+ >::value,\
+ /* one non integer */\
+ ::boost::type_traits::ice_or<\
+ ::boost::type_traits::ice_not< std::numeric_limits< typename ::boost::remove_reference<LHS>::type >::is_integer >::value,\
+ ::boost::type_traits::ice_not< std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer >::value\
+ >::value\
+ >::value,\
/* one pointer */\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- )
+ >::value\
+ >::value
#include <boost/type_traits/detail/has_binary_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_bit_and_equal.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_bit_and_equal.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_bit_and_equal.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,33 +13,32 @@
#define BOOST_TT_TRAIT_OP &=
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
+ ::boost::type_traits::ice_or<\
/* two built-in, one non integer */\
- (\
+ ::boost::type_traits::ice_and<\
/* two builtin */\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- and\
- (\
- /* one non integer */\
- not std::numeric_limits< typename ::boost::remove_reference<LHS>::type >::is_integer\
- or\
- not std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer\
- )\
- )\
- or\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
+ >::value\
+ >::value,\
+ /* one non integer */\
+ ::boost::type_traits::ice_or<\
+ ::boost::type_traits::ice_not< std::numeric_limits< typename ::boost::remove_reference<LHS>::type >::is_integer >::value,\
+ ::boost::type_traits::ice_not< std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer >::value\
+ >::value\
+ >::value,\
/* one pointer */\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- )
+ >::value\
+ >::value
#include <boost/type_traits/detail/has_binary_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_bit_or.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_bit_or.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_bit_or.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,33 +13,32 @@
#define BOOST_TT_TRAIT_OP |
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
+ ::boost::type_traits::ice_or<\
/* two built-in, one non integer */\
- (\
+ ::boost::type_traits::ice_and<\
/* two builtin */\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- and\
- (\
- /* one non integer */\
- not std::numeric_limits< typename ::boost::remove_reference<LHS>::type >::is_integer\
- or\
- not std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer\
- )\
- )\
- or\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
+ >::value\
+ >::value,\
+ /* one non integer */\
+ ::boost::type_traits::ice_or<\
+ ::boost::type_traits::ice_not< std::numeric_limits< typename ::boost::remove_reference<LHS>::type >::is_integer >::value,\
+ ::boost::type_traits::ice_not< std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer >::value\
+ >::value\
+ >::value,\
/* one pointer */\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- )
+ >::value\
+ >::value
#include <boost/type_traits/detail/has_binary_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_bit_or_equal.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_bit_or_equal.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_bit_or_equal.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,33 +13,32 @@
#define BOOST_TT_TRAIT_OP |=
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
+ ::boost::type_traits::ice_or<\
/* two built-in, one non integer */\
- (\
+ ::boost::type_traits::ice_and<\
/* two builtin */\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- and\
- (\
- /* one non integer */\
- not std::numeric_limits< typename ::boost::remove_reference<LHS>::type >::is_integer\
- or\
- not std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer\
- )\
- )\
- or\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
+ >::value\
+ >::value,\
+ /* one non integer */\
+ ::boost::type_traits::ice_or<\
+ ::boost::type_traits::ice_not< std::numeric_limits< typename ::boost::remove_reference<LHS>::type >::is_integer >::value,\
+ ::boost::type_traits::ice_not< std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer >::value\
+ >::value\
+ >::value,\
/* one pointer */\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- )
+ >::value\
+ >::value
#include <boost/type_traits/detail/has_binary_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_bit_xor.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_bit_xor.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_bit_xor.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,33 +13,32 @@
#define BOOST_TT_TRAIT_OP ^
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
+ ::boost::type_traits::ice_or<\
/* two built-in, one non integer */\
- (\
+ ::boost::type_traits::ice_and<\
/* two builtin */\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- and\
- (\
- /* one non integer */\
- not std::numeric_limits< typename ::boost::remove_reference<LHS>::type >::is_integer\
- or\
- not std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer\
- )\
- )\
- or\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
+ >::value\
+ >::value,\
+ /* one non integer */\
+ ::boost::type_traits::ice_or<\
+ ::boost::type_traits::ice_not< std::numeric_limits< typename ::boost::remove_reference<LHS>::type >::is_integer >::value,\
+ ::boost::type_traits::ice_not< std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer >::value\
+ >::value\
+ >::value,\
/* one pointer */\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- )
+ >::value\
+ >::value
#include <boost/type_traits/detail/has_binary_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_bit_xor_equal.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_bit_xor_equal.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_bit_xor_equal.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,33 +13,32 @@
#define BOOST_TT_TRAIT_OP ^=
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
+ ::boost::type_traits::ice_or<\
/* two built-in, one non integer */\
- (\
+ ::boost::type_traits::ice_and<\
/* two builtin */\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- and\
- (\
- /* one non integer */\
- not std::numeric_limits< typename ::boost::remove_reference<LHS>::type >::is_integer\
- or\
- not std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer\
- )\
- )\
- or\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
+ >::value\
+ >::value,\
+ /* one non integer */\
+ ::boost::type_traits::ice_or<\
+ ::boost::type_traits::ice_not< std::numeric_limits< typename ::boost::remove_reference<LHS>::type >::is_integer >::value,\
+ ::boost::type_traits::ice_not< std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer >::value\
+ >::value\
+ >::value,\
/* one pointer */\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- )
+ >::value\
+ >::value
#include <boost/type_traits/detail/has_binary_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_complement.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_complement.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_complement.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,19 +13,20 @@
#define BOOST_TT_TRAIT_OP ~
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
+ ::boost::type_traits::ice_or<\
/* pointer */\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- or\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value,\
/* non integral built-in */\
- (\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value\
- )\
- and not std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer\
- )\
- )
+ ::boost::type_traits::ice_and<\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value\
+ >::value\
+ >::value,\
+ ::boost::type_traits::ice_not< std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer >::value\
+ >::value\
+ >::value
#include <boost/type_traits/detail/has_prefix_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_divides.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_divides.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_divides.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,11 +13,11 @@
#define BOOST_TT_TRAIT_OP /
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
- /* one pointer */\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
+ /* one pointer */\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )
+ >::value
#include <boost/type_traits/detail/has_binary_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_divides_equal.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_divides_equal.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_divides_equal.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,11 +13,11 @@
#define BOOST_TT_TRAIT_OP /=
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
- /* one pointer */\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
+ /* one pointer */\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )
+ >::value
#include <boost/type_traits/detail/has_binary_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_equal_to.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_equal_to.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_equal_to.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,39 +13,42 @@
#define BOOST_TT_TRAIT_OP ==
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
+ ::boost::type_traits::ice_or<\
/* one pointer and one non pointer built-in */\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value\
- and\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- ) or (\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- and\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value\
- )\
- )\
- or\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
+ >::value\
+ >::value\
+ >::value,\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value\
+ >::value\
+ >::value\
+ >::value,\
/* two pointers but no inheritance */\
- (\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value and\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- ) and not (\
- ::boost::is_base_of< typename ::boost::remove_reference< typename ::boost::remove_pointer<LHS>::type >::type, typename ::boost::remove_reference< typename ::boost::remove_pointer<RHS>::type >::type >::value or\
- ::boost::is_base_of< typename ::boost::remove_reference< typename ::boost::remove_pointer<RHS>::type >::type, typename ::boost::remove_reference< typename ::boost::remove_pointer<LHS>::type >::type >::value or\
- ::boost::is_void< typename ::boost::remove_pointer<LHS>::type >::value or\
- ::boost::is_void< typename ::boost::remove_pointer<RHS>::type >::value\
- )\
- )\
- )
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_base_of< typename ::boost::remove_reference< typename ::boost::remove_pointer<LHS>::type >::type, typename ::boost::remove_reference< typename ::boost::remove_pointer<RHS>::type >::type >::value,\
+ ::boost::is_base_of< typename ::boost::remove_reference< typename ::boost::remove_pointer<RHS>::type >::type, typename ::boost::remove_reference< typename ::boost::remove_pointer<LHS>::type >::type >::value,\
+ ::boost::is_void< typename ::boost::remove_pointer<LHS>::type >::value,\
+ ::boost::is_void< typename ::boost::remove_pointer<RHS>::type >::value\
+ >::value\
+ >::value\
+ >::value\
+ >::value
#include <boost/type_traits/detail/has_binary_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_greater.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_greater.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_greater.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,39 +13,42 @@
#define BOOST_TT_TRAIT_OP >
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
+ ::boost::type_traits::ice_or<\
/* one pointer and one non pointer built-in */\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value\
- and\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- ) or (\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- and\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value\
- )\
- )\
- or\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
+ >::value\
+ >::value\
+ >::value,\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value\
+ >::value\
+ >::value\
+ >::value,\
/* two pointers but no inheritance */\
- (\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value and\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- ) and not (\
- ::boost::is_base_of< typename ::boost::remove_reference< typename ::boost::remove_pointer<LHS>::type >::type, typename ::boost::remove_reference< typename ::boost::remove_pointer<RHS>::type >::type >::value or\
- ::boost::is_base_of< typename ::boost::remove_reference< typename ::boost::remove_pointer<RHS>::type >::type, typename ::boost::remove_reference< typename ::boost::remove_pointer<LHS>::type >::type >::value or\
- ::boost::is_void< typename ::boost::remove_pointer<LHS>::type >::value or\
- ::boost::is_void< typename ::boost::remove_pointer<RHS>::type >::value\
- )\
- )\
- )
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_base_of< typename ::boost::remove_reference< typename ::boost::remove_pointer<LHS>::type >::type, typename ::boost::remove_reference< typename ::boost::remove_pointer<RHS>::type >::type >::value,\
+ ::boost::is_base_of< typename ::boost::remove_reference< typename ::boost::remove_pointer<RHS>::type >::type, typename ::boost::remove_reference< typename ::boost::remove_pointer<LHS>::type >::type >::value,\
+ ::boost::is_void< typename ::boost::remove_pointer<LHS>::type >::value,\
+ ::boost::is_void< typename ::boost::remove_pointer<RHS>::type >::value\
+ >::value\
+ >::value\
+ >::value\
+ >::value
#include <boost/type_traits/detail/has_binary_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_greater_equal.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_greater_equal.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_greater_equal.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,39 +13,42 @@
#define BOOST_TT_TRAIT_OP >=
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
+ ::boost::type_traits::ice_or<\
/* one pointer and one non pointer built-in */\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value\
- and\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- ) or (\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- and\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value\
- )\
- )\
- or\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
+ >::value\
+ >::value\
+ >::value,\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value\
+ >::value\
+ >::value\
+ >::value,\
/* two pointers but no inheritance */\
- (\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value and\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- ) and not (\
- ::boost::is_base_of< typename ::boost::remove_reference< typename ::boost::remove_pointer<LHS>::type >::type, typename ::boost::remove_reference< typename ::boost::remove_pointer<RHS>::type >::type >::value or\
- ::boost::is_base_of< typename ::boost::remove_reference< typename ::boost::remove_pointer<RHS>::type >::type, typename ::boost::remove_reference< typename ::boost::remove_pointer<LHS>::type >::type >::value or\
- ::boost::is_void< typename ::boost::remove_pointer<LHS>::type >::value or\
- ::boost::is_void< typename ::boost::remove_pointer<RHS>::type >::value\
- )\
- )\
- )
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_base_of< typename ::boost::remove_reference< typename ::boost::remove_pointer<LHS>::type >::type, typename ::boost::remove_reference< typename ::boost::remove_pointer<RHS>::type >::type >::value,\
+ ::boost::is_base_of< typename ::boost::remove_reference< typename ::boost::remove_pointer<RHS>::type >::type, typename ::boost::remove_reference< typename ::boost::remove_pointer<LHS>::type >::type >::value,\
+ ::boost::is_void< typename ::boost::remove_pointer<LHS>::type >::value,\
+ ::boost::is_void< typename ::boost::remove_pointer<RHS>::type >::value\
+ >::value\
+ >::value\
+ >::value\
+ >::value
#include <boost/type_traits/detail/has_binary_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_left_shift.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_left_shift.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_left_shift.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,33 +13,32 @@
#define BOOST_TT_TRAIT_OP <<
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
+ ::boost::type_traits::ice_or<\
/* two built-in, one non integer */\
- (\
+ ::boost::type_traits::ice_and<\
/* two builtin */\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- and\
- (\
- /* one non integer */\
- not std::numeric_limits< typename ::boost::remove_reference<LHS>::type >::is_integer\
- or\
- not std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer\
- )\
- )\
- or\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
+ >::value\
+ >::value,\
+ /* one non integer */\
+ ::boost::type_traits::ice_or<\
+ ::boost::type_traits::ice_not< std::numeric_limits< typename ::boost::remove_reference<LHS>::type >::is_integer >::value,\
+ ::boost::type_traits::ice_not< std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer >::value\
+ >::value\
+ >::value,\
/* one pointer */\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- )
+ >::value\
+ >::value
#include <boost/type_traits/detail/has_binary_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_left_shift_equal.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_left_shift_equal.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_left_shift_equal.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,33 +13,32 @@
#define BOOST_TT_TRAIT_OP <<=
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
+ ::boost::type_traits::ice_or<\
/* two built-in, one non integer */\
- (\
+ ::boost::type_traits::ice_and<\
/* two builtin */\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- and\
- (\
- /* one non integer */\
- not std::numeric_limits< typename ::boost::remove_reference<LHS>::type >::is_integer\
- or\
- not std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer\
- )\
- )\
- or\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
+ >::value\
+ >::value,\
+ /* one non integer */\
+ ::boost::type_traits::ice_or<\
+ ::boost::type_traits::ice_not< std::numeric_limits< typename ::boost::remove_reference<LHS>::type >::is_integer >::value,\
+ ::boost::type_traits::ice_not< std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer >::value\
+ >::value\
+ >::value,\
/* one pointer */\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- )
+ >::value\
+ >::value
#include <boost/type_traits/detail/has_binary_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_less.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_less.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_less.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,39 +13,42 @@
#define BOOST_TT_TRAIT_OP <
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
+ ::boost::type_traits::ice_or<\
/* one pointer and one non pointer built-in */\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value\
- and\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- ) or (\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- and\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value\
- )\
- )\
- or\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
+ >::value\
+ >::value\
+ >::value,\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value\
+ >::value\
+ >::value\
+ >::value,\
/* two pointers but no inheritance */\
- (\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value and\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- ) and not (\
- ::boost::is_base_of< typename ::boost::remove_reference< typename ::boost::remove_pointer<LHS>::type >::type, typename ::boost::remove_reference< typename ::boost::remove_pointer<RHS>::type >::type >::value or\
- ::boost::is_base_of< typename ::boost::remove_reference< typename ::boost::remove_pointer<RHS>::type >::type, typename ::boost::remove_reference< typename ::boost::remove_pointer<LHS>::type >::type >::value or\
- ::boost::is_void< typename ::boost::remove_pointer<LHS>::type >::value or\
- ::boost::is_void< typename ::boost::remove_pointer<RHS>::type >::value\
- )\
- )\
- )
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_base_of< typename ::boost::remove_reference< typename ::boost::remove_pointer<LHS>::type >::type, typename ::boost::remove_reference< typename ::boost::remove_pointer<RHS>::type >::type >::value,\
+ ::boost::is_base_of< typename ::boost::remove_reference< typename ::boost::remove_pointer<RHS>::type >::type, typename ::boost::remove_reference< typename ::boost::remove_pointer<LHS>::type >::type >::value,\
+ ::boost::is_void< typename ::boost::remove_pointer<LHS>::type >::value,\
+ ::boost::is_void< typename ::boost::remove_pointer<RHS>::type >::value\
+ >::value\
+ >::value\
+ >::value\
+ >::value
#include <boost/type_traits/detail/has_binary_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_less_equal.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_less_equal.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_less_equal.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,39 +13,42 @@
#define BOOST_TT_TRAIT_OP <=
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
+ ::boost::type_traits::ice_or<\
/* one pointer and one non pointer built-in */\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value\
- and\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- ) or (\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- and\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value\
- )\
- )\
- or\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
+ >::value\
+ >::value\
+ >::value,\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value\
+ >::value\
+ >::value\
+ >::value,\
/* two pointers but no inheritance */\
- (\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value and\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- ) and not (\
- ::boost::is_base_of< typename ::boost::remove_reference< typename ::boost::remove_pointer<LHS>::type >::type, typename ::boost::remove_reference< typename ::boost::remove_pointer<RHS>::type >::type >::value or\
- ::boost::is_base_of< typename ::boost::remove_reference< typename ::boost::remove_pointer<RHS>::type >::type, typename ::boost::remove_reference< typename ::boost::remove_pointer<LHS>::type >::type >::value or\
- ::boost::is_void< typename ::boost::remove_pointer<LHS>::type >::value or\
- ::boost::is_void< typename ::boost::remove_pointer<RHS>::type >::value\
- )\
- )\
- )
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_base_of< typename ::boost::remove_reference< typename ::boost::remove_pointer<LHS>::type >::type, typename ::boost::remove_reference< typename ::boost::remove_pointer<RHS>::type >::type >::value,\
+ ::boost::is_base_of< typename ::boost::remove_reference< typename ::boost::remove_pointer<RHS>::type >::type, typename ::boost::remove_reference< typename ::boost::remove_pointer<LHS>::type >::type >::value,\
+ ::boost::is_void< typename ::boost::remove_pointer<LHS>::type >::value,\
+ ::boost::is_void< typename ::boost::remove_pointer<RHS>::type >::value\
+ >::value\
+ >::value\
+ >::value\
+ >::value
#include <boost/type_traits/detail/has_binary_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_logical_and.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_logical_and.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_logical_and.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,26 +13,31 @@
#define BOOST_TT_TRAIT_OP &&
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
- /* pointer with built-in non convertible to bool */\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value and\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_convertible < typename ::boost::remove_reference<RHS>::type, bool >::value\
- )\
- ) or (\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value and\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_convertible < typename ::boost::remove_reference<LHS>::type, bool >::value\
- )\
- )\
- )
+ /* pointer with built-in non convertible to bool */\
+ ::boost::type_traits::ice_or<\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_convertible < typename ::boost::remove_reference<RHS>::type, bool >::value\
+ >::value\
+ >::value\
+ >::value,\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_convertible < typename ::boost::remove_reference<LHS>::type, bool >::value\
+ >::value\
+ >::value\
+ >::value\
+ >::value
#include <boost/type_traits/detail/has_binary_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_logical_or.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_logical_or.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_logical_or.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,26 +13,31 @@
#define BOOST_TT_TRAIT_OP ||
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
- /* pointer with built-in non convertible to bool */\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value and\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_convertible < typename ::boost::remove_reference<RHS>::type, bool >::value\
- )\
- ) or (\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value and\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_convertible < typename ::boost::remove_reference<LHS>::type, bool >::value\
- )\
- )\
- )
+ /* pointer with built-in non convertible to bool */\
+ ::boost::type_traits::ice_or<\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_convertible < typename ::boost::remove_reference<RHS>::type, bool >::value\
+ >::value\
+ >::value\
+ >::value,\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_convertible < typename ::boost::remove_reference<LHS>::type, bool >::value\
+ >::value\
+ >::value\
+ >::value\
+ >::value
#include <boost/type_traits/detail/has_binary_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_minus.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_minus.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_minus.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,42 +13,37 @@
#define BOOST_TT_TRAIT_OP -
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
+ ::boost::type_traits::ice_or<\
/* one is void* */\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value and\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
::boost::is_void< typename ::boost::remove_pointer<LHS>::type >::value\
- ) or (\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value and\
+ >::value,\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value,\
::boost::is_void< typename ::boost::remove_pointer<RHS>::type >::value\
- )\
- or\
+ >::value,\
/* LHS==pointer!=void* and RHS==built-in non integral */\
- (\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value and\
- not ::boost::is_void< typename ::boost::remove_pointer<LHS>::type >::value\
- ) and (\
- not ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value and\
- not ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value and\
- not ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value and\
- not std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer\
- )\
- )\
- or\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::type_traits::ice_not< ::boost::is_void< typename ::boost::remove_pointer<LHS>::type >::value >::value,\
+ ::boost::type_traits::ice_not< ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value >::value,\
+ ::boost::type_traits::ice_not< ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value >::value,\
+ ::boost::type_traits::ice_not< ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value >::value,\
+ ::boost::type_traits::ice_not< std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer >::value\
+ >::value,\
/* LHS=non pointer and RHS=pointer */\
- (\
- not ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value and\
+ ::boost::type_traits::ice_and<\
+ ::boost::type_traits::ice_not< ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value >::value,\
::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- or\
+ >::value,\
/* two different pointers */\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value and\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value and\
- not ::boost::is_same< typename ::boost::remove_cv< typename ::boost::remove_reference<LHS>::type >::type, typename ::boost::remove_cv< typename ::boost::remove_reference<RHS>::type >::type >::value\
- )\
- )
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::type_traits::ice_not< ::boost::is_same< typename ::boost::remove_cv< typename ::boost::remove_reference<LHS>::type >::type, typename ::boost::remove_cv< typename ::boost::remove_reference<RHS>::type >::type >::value >::value\
+ >::value\
+ >::value
#include <boost/type_traits/detail/has_binary_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_minus_equal.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_minus_equal.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_minus_equal.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,23 +13,22 @@
#define BOOST_TT_TRAIT_OP -=
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
+ ::boost::type_traits::ice_or<\
/* RHS==pointer */\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- or\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value,\
/* LHS==pointer and (LHS==void* or (RHS==builtin and RHS!=integral) */\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value and\
- (\
- ::boost::is_void< typename ::boost::remove_pointer<LHS>::type >::value\
- or (\
- not ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value and\
- not ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value and\
- not std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer\
- )\
- )\
- )\
- )
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_void< typename ::boost::remove_pointer<LHS>::type >::value,\
+ ::boost::type_traits::ice_and<\
+ ::boost::type_traits::ice_not< ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value >::value,\
+ ::boost::type_traits::ice_not< ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value >::value,\
+ ::boost::type_traits::ice_not< std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer >::value\
+ >::value\
+ >::value\
+ >::value\
+ >::value
#include <boost/type_traits/detail/has_binary_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_modulus.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_modulus.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_modulus.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,33 +13,32 @@
#define BOOST_TT_TRAIT_OP %
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
+ ::boost::type_traits::ice_or<\
/* two built-in, one non integer */\
- (\
+ ::boost::type_traits::ice_and<\
/* two builtin */\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- and\
- (\
- /* one non integer */\
- not std::numeric_limits< typename ::boost::remove_reference<LHS>::type >::is_integer\
- or\
- not std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer\
- )\
- )\
- or\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
+ >::value\
+ >::value,\
+ /* one non integer */\
+ ::boost::type_traits::ice_or<\
+ ::boost::type_traits::ice_not< std::numeric_limits< typename ::boost::remove_reference<LHS>::type >::is_integer >::value,\
+ ::boost::type_traits::ice_not< std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer >::value\
+ >::value\
+ >::value,\
/* one pointer */\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- )
+ >::value\
+ >::value
#include <boost/type_traits/detail/has_binary_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_modulus_equal.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_modulus_equal.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_modulus_equal.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,33 +13,32 @@
#define BOOST_TT_TRAIT_OP %=
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
+ ::boost::type_traits::ice_or<\
/* two built-in, one non integer */\
- (\
+ ::boost::type_traits::ice_and<\
/* two builtin */\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- and\
- (\
- /* one non integer */\
- not std::numeric_limits< typename ::boost::remove_reference<LHS>::type >::is_integer\
- or\
- not std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer\
- )\
- )\
- or\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
+ >::value\
+ >::value,\
+ /* one non integer */\
+ ::boost::type_traits::ice_or<\
+ ::boost::type_traits::ice_not< std::numeric_limits< typename ::boost::remove_reference<LHS>::type >::is_integer >::value,\
+ ::boost::type_traits::ice_not< std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer >::value\
+ >::value\
+ >::value,\
/* one pointer */\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- )
+ >::value\
+ >::value
#include <boost/type_traits/detail/has_binary_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_multiplies.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_multiplies.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_multiplies.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,11 +13,11 @@
#define BOOST_TT_TRAIT_OP *
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
- /* one pointer */\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
+ /* one pointer */\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )
+ >::value
#include <boost/type_traits/detail/has_binary_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_multiplies_equal.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_multiplies_equal.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_multiplies_equal.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,11 +13,11 @@
#define BOOST_TT_TRAIT_OP *=
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
- /* one pointer */\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
+ /* one pointer */\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )
+ >::value
#include <boost/type_traits/detail/has_binary_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_not_equal_to.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_not_equal_to.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_not_equal_to.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,39 +13,42 @@
#define BOOST_TT_TRAIT_OP !=
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
+ ::boost::type_traits::ice_or<\
/* one pointer and one non pointer built-in */\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value\
- and\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- ) or (\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- and\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value\
- )\
- )\
- or\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
+ >::value\
+ >::value\
+ >::value,\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value\
+ >::value\
+ >::value\
+ >::value,\
/* two pointers but no inheritance */\
- (\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value and\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- ) and not (\
- ::boost::is_base_of< typename ::boost::remove_reference< typename ::boost::remove_pointer<LHS>::type >::type, typename ::boost::remove_reference< typename ::boost::remove_pointer<RHS>::type >::type >::value or\
- ::boost::is_base_of< typename ::boost::remove_reference< typename ::boost::remove_pointer<RHS>::type >::type, typename ::boost::remove_reference< typename ::boost::remove_pointer<LHS>::type >::type >::value or\
- ::boost::is_void< typename ::boost::remove_pointer<LHS>::type >::value or\
- ::boost::is_void< typename ::boost::remove_pointer<RHS>::type >::value\
- )\
- )\
- )
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_base_of< typename ::boost::remove_reference< typename ::boost::remove_pointer<LHS>::type >::type, typename ::boost::remove_reference< typename ::boost::remove_pointer<RHS>::type >::type >::value,\
+ ::boost::is_base_of< typename ::boost::remove_reference< typename ::boost::remove_pointer<RHS>::type >::type, typename ::boost::remove_reference< typename ::boost::remove_pointer<LHS>::type >::type >::value,\
+ ::boost::is_void< typename ::boost::remove_pointer<LHS>::type >::value,\
+ ::boost::is_void< typename ::boost::remove_pointer<RHS>::type >::value\
+ >::value\
+ >::value\
+ >::value\
+ >::value
#include <boost/type_traits/detail/has_binary_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_plus.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_plus.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_plus.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,41 +13,45 @@
#define BOOST_TT_TRAIT_OP +
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
+ ::boost::type_traits::ice_or<\
/* pointer with pointer */\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value and\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- or\
+ >::value,\
/* built-in non pointer non integral with pointer */\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value\
- and not (\
- ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value or\
- std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer\
- )\
- ) or (\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- and not (\
- ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
- std::numeric_limits< typename ::boost::remove_reference<LHS>::type >::is_integer\
- )\
- )\
- or\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value,\
+ std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer\
+ >::value\
+ >::value\
+ >::value,\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ std::numeric_limits< typename ::boost::remove_reference<LHS>::type >::is_integer\
+ >::value\
+ >::value\
+ >::value,\
/* one is void* */\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value and\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
::boost::is_void< typename ::boost::remove_pointer<LHS>::type >::value\
- ) or (\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value and\
+ >::value,\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value,\
::boost::is_void< typename ::boost::remove_pointer<RHS>::type >::value\
- )\
- )
+ >::value\
+ >::value
#include <boost/type_traits/detail/has_binary_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_plus_equal.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_plus_equal.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_plus_equal.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,37 +13,35 @@
#define BOOST_TT_TRAIT_OP +=
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
+ ::boost::type_traits::ice_or<\
/* one is void* */\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value and\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
::boost::is_void< typename ::boost::remove_pointer<LHS>::type >::value\
- ) or (\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value and\
+ >::value,\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value,\
::boost::is_void< typename ::boost::remove_pointer<RHS>::type >::value\
- )\
- or\
+ >::value,\
/* two pointers */\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value and\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- or\
+ >::value,\
/* LHS==pointer!=void* and RHS==non integral */\
- (\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value and\
- not ::boost::is_void< typename ::boost::remove_pointer<LHS>::type >::value\
- ) and\
- not std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer\
- )\
- or\
+ ::boost::type_traits::ice_and<\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::type_traits::ice_not< ::boost::is_void< typename ::boost::remove_pointer<LHS>::type >::value >::value\
+ >::value,\
+ ::boost::type_traits::ice_not< std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer >::value\
+ >::value,\
/* LHS==non bool and RHS==pointer */\
- (\
- not ::boost::is_same< bool, typename ::boost::remove_cv< typename ::boost::remove_reference<LHS>::type >::type >::value\
- and ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- )
+ ::boost::type_traits::ice_and<\
+ ::boost::type_traits::ice_not< ::boost::is_same< bool, typename ::boost::remove_cv< typename ::boost::remove_reference<LHS>::type >::type >::value >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
+ >::value\
+ >::value
#include <boost/type_traits/detail/has_binary_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_postfix_decrement.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_postfix_decrement.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_postfix_decrement.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,15 +13,14 @@
#define BOOST_TT_TRAIT_OP --
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
- /* bool or void* */\
- ::boost::is_same< bool, typename ::boost::remove_cv< typename ::boost::remove_reference<LHS>::type >::type >::value\
- or\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value and\
+ /* bool or void* */\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_same< bool, typename ::boost::remove_cv< typename ::boost::remove_reference<LHS>::type >::type >::value,\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
::boost::is_void< typename ::boost::remove_pointer<LHS>::type >::value\
- )\
- )
+ >::value\
+ >::value
#include <boost/type_traits/detail/has_postfix_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_postfix_increment.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_postfix_increment.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_postfix_increment.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,11 +13,11 @@
#define BOOST_TT_TRAIT_OP ++
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
- /* void* */\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value and\
+ /* void* */\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
::boost::is_void< typename ::boost::remove_pointer<LHS>::type >::value\
- )
+ >::value
#include <boost/type_traits/detail/has_postfix_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_prefix_decrement.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_prefix_decrement.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_prefix_decrement.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,15 +13,14 @@
#define BOOST_TT_TRAIT_OP --
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
- /* bool or void* */\
- ::boost::is_same< bool, typename ::boost::remove_cv< typename ::boost::remove_reference<RHS>::type >::type >::value\
- or\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value and\
+ /* bool or void* */\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_same< bool, typename ::boost::remove_cv< typename ::boost::remove_reference<RHS>::type >::type >::value,\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value,\
::boost::is_void< typename ::boost::remove_pointer<RHS>::type >::value\
- )\
- )
+ >::value\
+ >::value
#include <boost/type_traits/detail/has_prefix_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_prefix_increment.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_prefix_increment.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_prefix_increment.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,11 +13,11 @@
#define BOOST_TT_TRAIT_OP ++
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
- /* void* */\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value and\
+ /* void* */\
+ ::boost::type_traits::ice_and<\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value,\
::boost::is_void< typename ::boost::remove_pointer<RHS>::type >::value\
- )
+ >::value
#include <boost/type_traits/detail/has_prefix_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_right_shift.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_right_shift.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_right_shift.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,33 +13,32 @@
#define BOOST_TT_TRAIT_OP >>
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
+ ::boost::type_traits::ice_or<\
/* two built-in, one non integer */\
- (\
+ ::boost::type_traits::ice_and<\
/* two builtin */\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- and\
- (\
- /* one non integer */\
- not std::numeric_limits< typename ::boost::remove_reference<LHS>::type >::is_integer\
- or\
- not std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer\
- )\
- )\
- or\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
+ >::value\
+ >::value,\
+ /* one non integer */\
+ ::boost::type_traits::ice_or<\
+ ::boost::type_traits::ice_not< std::numeric_limits< typename ::boost::remove_reference<LHS>::type >::is_integer >::value,\
+ ::boost::type_traits::ice_not< std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer >::value\
+ >::value\
+ >::value,\
/* one pointer */\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- )
+ >::value\
+ >::value
#include <boost/type_traits/detail/has_binary_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_right_shift_equal.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_right_shift_equal.hpp (original)
+++ sandbox/type_traits/boost/type_traits/has_operator_right_shift_equal.hpp 2011-02-03 16:09:41 EST (Thu, 03 Feb 2011)
@@ -13,33 +13,32 @@
#define BOOST_TT_TRAIT_OP >>=
#define BOOST_TT_DEFAULT_RET void
#define BOOST_TT_FORBIDDEN_IF\
- (\
+ ::boost::type_traits::ice_or<\
/* two built-in, one non integer */\
- (\
+ ::boost::type_traits::ice_and<\
/* two builtin */\
- not (\
- ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
- ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value or\
- ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- and\
- (\
- /* one non integer */\
- not std::numeric_limits< typename ::boost::remove_reference<LHS>::type >::is_integer\
- or\
- not std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer\
- )\
- )\
- or\
+ ::boost::type_traits::ice_not<\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_class < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
+ ::boost::is_class < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_union < typename ::boost::remove_reference<RHS>::type >::value,\
+ ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
+ >::value\
+ >::value,\
+ /* one non integer */\
+ ::boost::type_traits::ice_or<\
+ ::boost::type_traits::ice_not< std::numeric_limits< typename ::boost::remove_reference<LHS>::type >::is_integer >::value,\
+ ::boost::type_traits::ice_not< std::numeric_limits< typename ::boost::remove_reference<RHS>::type >::is_integer >::value\
+ >::value\
+ >::value,\
/* one pointer */\
- (\
- ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value or\
+ ::boost::type_traits::ice_or<\
+ ::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
- )\
- )
+ >::value\
+ >::value
#include <boost/type_traits/detail/has_binary_operator.hpp>
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk