$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r68633 - in sandbox/type_traits: boost/type_traits boost/type_traits/detail libs/type_traits/test
From: frederic.bron_at_[hidden]
Date: 2011-02-03 17:10:19
Author: bronf
Date: 2011-02-03 17:09:55 EST (Thu, 03 Feb 2011)
New Revision: 68633
URL: http://svn.boost.org/trac/boost/changeset/68633
Log:
operator traits: replaced tabulations by spaces
Text files modified: 
   sandbox/type_traits/boost/type_traits/detail/has_binary_operator.hpp              |    48                                         
   sandbox/type_traits/boost/type_traits/detail/has_postfix_operator.hpp             |    40                                         
   sandbox/type_traits/boost/type_traits/detail/has_prefix_operator.hpp              |    40                                         
   sandbox/type_traits/boost/type_traits/has_operator_bit_and.hpp                    |    52                                         
   sandbox/type_traits/boost/type_traits/has_operator_bit_and_equal.hpp              |    52                                         
   sandbox/type_traits/boost/type_traits/has_operator_bit_or.hpp                     |    52                                         
   sandbox/type_traits/boost/type_traits/has_operator_bit_or_equal.hpp               |    52                                         
   sandbox/type_traits/boost/type_traits/has_operator_bit_xor.hpp                    |    52                                         
   sandbox/type_traits/boost/type_traits/has_operator_bit_xor_equal.hpp              |    52                                         
   sandbox/type_traits/boost/type_traits/has_operator_complement.hpp                 |    28                                         
   sandbox/type_traits/boost/type_traits/has_operator_divides.hpp                    |    10                                         
   sandbox/type_traits/boost/type_traits/has_operator_divides_equal.hpp              |    10                                         
   sandbox/type_traits/boost/type_traits/has_operator_equal_to.hpp                   |    72                                         
   sandbox/type_traits/boost/type_traits/has_operator_greater.hpp                    |    72                                         
   sandbox/type_traits/boost/type_traits/has_operator_greater_equal.hpp              |    72                                         
   sandbox/type_traits/boost/type_traits/has_operator_left_shift.hpp                 |    52                                         
   sandbox/type_traits/boost/type_traits/has_operator_left_shift_equal.hpp           |    52                                         
   sandbox/type_traits/boost/type_traits/has_operator_less.hpp                       |    72                                         
   sandbox/type_traits/boost/type_traits/has_operator_less_equal.hpp                 |    72                                         
   sandbox/type_traits/boost/type_traits/has_operator_logical_and.hpp                |    50                                         
   sandbox/type_traits/boost/type_traits/has_operator_logical_not.hpp                |     2                                         
   sandbox/type_traits/boost/type_traits/has_operator_logical_or.hpp                 |    50                                         
   sandbox/type_traits/boost/type_traits/has_operator_minus.hpp                      |    62                                         
   sandbox/type_traits/boost/type_traits/has_operator_minus_equal.hpp                |    32                                         
   sandbox/type_traits/boost/type_traits/has_operator_modulus.hpp                    |    52                                         
   sandbox/type_traits/boost/type_traits/has_operator_modulus_equal.hpp              |    52                                         
   sandbox/type_traits/boost/type_traits/has_operator_multiplies.hpp                 |    10                                         
   sandbox/type_traits/boost/type_traits/has_operator_multiplies_equal.hpp           |    10                                         
   sandbox/type_traits/boost/type_traits/has_operator_not_equal_to.hpp               |    72                                         
   sandbox/type_traits/boost/type_traits/has_operator_plus.hpp                       |    78 +-                                      
   sandbox/type_traits/boost/type_traits/has_operator_plus_equal.hpp                 |    58                                         
   sandbox/type_traits/boost/type_traits/has_operator_postfix_decrement.hpp          |    16                                         
   sandbox/type_traits/boost/type_traits/has_operator_postfix_increment.hpp          |    10                                         
   sandbox/type_traits/boost/type_traits/has_operator_prefix_decrement.hpp           |    16                                         
   sandbox/type_traits/boost/type_traits/has_operator_prefix_increment.hpp           |    10                                         
   sandbox/type_traits/boost/type_traits/has_operator_right_shift.hpp                |    52                                         
   sandbox/type_traits/boost/type_traits/has_operator_right_shift_equal.hpp          |    52                                         
   sandbox/type_traits/boost/type_traits/has_operator_unary_minus.hpp                |     4                                         
   sandbox/type_traits/boost/type_traits/has_operator_unary_plus.hpp                 |     2                                         
   sandbox/type_traits/libs/type_traits/test/has_binary_logical_operator_test.hpp    |  1532 ++++++++++++++++++++--------------------
   sandbox/type_traits/libs/type_traits/test/has_binary_minus_operator_test.hpp      |  1532 ++++++++++++++++++++--------------------
   sandbox/type_traits/libs/type_traits/test/has_binary_plus_operator_test.hpp       |  1532 ++++++++++++++++++++--------------------
   sandbox/type_traits/libs/type_traits/test/has_comparison_operator_test.hpp        |  1532 ++++++++++++++++++++--------------------
   sandbox/type_traits/libs/type_traits/test/has_integral_operator_test.hpp          |  1532 ++++++++++++++++++++--------------------
   sandbox/type_traits/libs/type_traits/test/has_minus_equal_operator_test.hpp       |  1532 ++++++++++++++++++++--------------------
   sandbox/type_traits/libs/type_traits/test/has_no_pointer_operator_test.hpp        |  1532 ++++++++++++++++++++--------------------
   sandbox/type_traits/libs/type_traits/test/has_plus_equal_operator_test.hpp        |  1532 ++++++++++++++++++++--------------------
   sandbox/type_traits/libs/type_traits/test/has_postfix_decrement_operator_test.hpp |   182 ++--                                    
   sandbox/type_traits/libs/type_traits/test/has_postfix_increment_operator_test.hpp |   182 ++--                                    
   sandbox/type_traits/libs/type_traits/test/has_prefix_complement_operator_test.hpp |   182 ++--                                    
   sandbox/type_traits/libs/type_traits/test/has_prefix_decrement_operator_test.hpp  |   182 ++--                                    
   sandbox/type_traits/libs/type_traits/test/has_prefix_increment_operator_test.hpp  |   182 ++--                                    
   sandbox/type_traits/libs/type_traits/test/has_prefix_minus_operator_test.hpp      |   182 ++--                                    
   sandbox/type_traits/libs/type_traits/test/has_prefix_plus_not_operator_test.hpp   |   182 ++--                                    
   54 files changed, 7586 insertions(+), 7586 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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -43,18 +43,18 @@
 tag operator BOOST_TT_TRAIT_OP (const any&, const any&);
 
 namespace {
-	template <typename T>
-	typename ::boost::remove_cv<T>::type &make();
+   template <typename T>
+   typename ::boost::remove_cv<T>::type &make();
 }
 
 template < typename LHS, typename RHS >
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_returns_void) {
-	struct returns_void_t {
-		template <typename T> friend int operator,(T const &, returns_void_t);
-	};
-	static ::boost::type_traits::yes_type returns_void(returns_void_t);
-	static ::boost::type_traits::no_type returns_void(int);
-	BOOST_STATIC_CONSTANT(bool, value = (sizeof(::boost::type_traits::yes_type)==sizeof(returns_void((make<LHS>() BOOST_TT_TRAIT_OP make<RHS>(),returns_void_t())))));
+   struct returns_void_t {
+      template <typename T> friend int operator,(T const &, returns_void_t);
+   };
+   static ::boost::type_traits::yes_type returns_void(returns_void_t);
+   static ::boost::type_traits::no_type returns_void(int);
+   BOOST_STATIC_CONSTANT(bool, value = (sizeof(::boost::type_traits::yes_type)==sizeof(returns_void((make<LHS>() BOOST_TT_TRAIT_OP make<RHS>(),returns_void_t())))));
 };
 
 template < typename LHS, typename RHS, typename RET, typename RETURNS_VOID >
@@ -63,32 +63,32 @@
 // LHS BOOST_TT_TRAIT_OP RHS does not return void, checks if it is convertible to RET
 template < typename LHS, typename RHS, typename RET >
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl1)< LHS, RHS, RET, ::boost::false_type > {
-	static ::boost::type_traits::yes_type is_convertible_to_RET(RET); // this version is preferred for types convertible to RET
-	static ::boost::type_traits::no_type is_convertible_to_RET(...); // this version is used otherwise
+   static ::boost::type_traits::yes_type is_convertible_to_RET(RET); // this version is preferred for types convertible to RET
+   static ::boost::type_traits::no_type is_convertible_to_RET(...); // this version is used otherwise
 
-	BOOST_STATIC_CONSTANT(bool, value=(sizeof(is_convertible_to_RET(make<LHS>() BOOST_TT_TRAIT_OP make<RHS>()))==sizeof(::boost::type_traits::yes_type)));
+   BOOST_STATIC_CONSTANT(bool, value=(sizeof(is_convertible_to_RET(make<LHS>() BOOST_TT_TRAIT_OP make<RHS>()))==sizeof(::boost::type_traits::yes_type)));
 };
 
 // LHS BOOST_TT_TRAIT_OP RHS returns void!=RET
 template < typename LHS, typename RHS, typename RET >
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl1)< LHS, RHS, RET, ::boost::true_type > {
-	BOOST_STATIC_CONSTANT(bool, value = false);
+   BOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 template < typename LHS, typename RHS, typename RET,
-	bool forbidden_if=BOOST_TT_FORBIDDEN_IF
+   bool forbidden_if=BOOST_TT_FORBIDDEN_IF
 >
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl);
 
 template < typename LHS, typename RHS, typename RET >
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) < LHS, RHS, RET, true > {
-	BOOST_STATIC_CONSTANT(bool, value = false);
+   BOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 // checks for return type if 3rd template parameter RET is non void
 template < typename LHS, typename RHS, typename RET >
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) < LHS, RHS, RET, false > {
-	BOOST_STATIC_CONSTANT(bool, value = (BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl1)< LHS, RHS, RET, typename ::boost::integral_constant< bool, BOOST_JOIN(BOOST_TT_TRAIT_NAME,_returns_void)< LHS, RHS >::value > >::value));
+   BOOST_STATIC_CONSTANT(bool, value = (BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl1)< LHS, RHS, RET, typename ::boost::integral_constant< bool, BOOST_JOIN(BOOST_TT_TRAIT_NAME,_returns_void)< LHS, RHS >::value > >::value));
 };
 
 // in case we do not want to check for return type
@@ -97,40 +97,40 @@
 // do not check for return type if 3rd template parameter RET is void
 template < typename LHS, typename RHS >
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)< LHS, RHS, void, false > {
-	static ::boost::type_traits::yes_type check(int); // this version is preferred for types convertible to RET
-	static ::boost::type_traits::no_type check(tag); // this version is used otherwise
+   static ::boost::type_traits::yes_type check(int); // this version is preferred for types convertible to RET
+   static ::boost::type_traits::no_type check(tag); // this version is used otherwise
 
-	BOOST_STATIC_CONSTANT(bool, value = (sizeof(check(((make<LHS>() BOOST_TT_TRAIT_OP make<RHS>()),0)))==sizeof(::boost::type_traits::yes_type)));
+   BOOST_STATIC_CONSTANT(bool, value = (sizeof(check(((make<LHS>() BOOST_TT_TRAIT_OP make<RHS>()),0)))==sizeof(::boost::type_traits::yes_type)));
 };
 
 template < typename RHS, typename RET >
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)< void, RHS, RET, false > {
-	BOOST_STATIC_CONSTANT(bool, value = false);
+   BOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 template < typename LHS, typename RET >
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)< LHS, void, RET, false > {
-	BOOST_STATIC_CONSTANT(bool, value = false);
+   BOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 template < typename LHS >
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)< LHS, void, void, false > {
-	BOOST_STATIC_CONSTANT(bool, value = false);
+   BOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 template < typename RHS >
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)< void, RHS, void, false > {
-	BOOST_STATIC_CONSTANT(bool, value = false);
+   BOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 template < typename RET >
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)< void, void, RET, false > {
-	BOOST_STATIC_CONSTANT(bool, value = false);
+   BOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 template <>
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)< void, void, void, false > {
-	BOOST_STATIC_CONSTANT(bool, value = false);
+   BOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 } // namespace impl
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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -38,18 +38,18 @@
 tag operator BOOST_TT_TRAIT_OP (const any&, int);
 
 namespace {
-	template <typename T>
-	typename ::boost::remove_cv<T>::type &make();
+   template <typename T>
+   typename ::boost::remove_cv<T>::type &make();
 }
 
 template < typename LHS >
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_returns_void) {
-	struct returns_void_t {
-		template <typename T> friend int operator,(T const &, returns_void_t);
-	};
-	static ::boost::type_traits::yes_type returns_void(returns_void_t);
-	static ::boost::type_traits::no_type returns_void(int);
-	BOOST_STATIC_CONSTANT(bool, value = (sizeof(::boost::type_traits::yes_type)==sizeof(returns_void((make<LHS>() BOOST_TT_TRAIT_OP,returns_void_t())))));
+   struct returns_void_t {
+      template <typename T> friend int operator,(T const &, returns_void_t);
+   };
+   static ::boost::type_traits::yes_type returns_void(returns_void_t);
+   static ::boost::type_traits::no_type returns_void(int);
+   BOOST_STATIC_CONSTANT(bool, value = (sizeof(::boost::type_traits::yes_type)==sizeof(returns_void((make<LHS>() BOOST_TT_TRAIT_OP,returns_void_t())))));
 };
 
 template < typename LHS, typename RET, typename RETURNS_VOID >
@@ -58,32 +58,32 @@
 // BOOST_TT_TRAIT_OP LHS does not return void, checks if it is convertible to RET
 template < typename LHS, typename RET >
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl1)< LHS, RET, ::boost::false_type > {
-	static ::boost::type_traits::yes_type is_convertible_to_RET(RET); // this version is preferred for types convertible to RET
-	static ::boost::type_traits::no_type is_convertible_to_RET(...); // this version is used otherwise
+   static ::boost::type_traits::yes_type is_convertible_to_RET(RET); // this version is preferred for types convertible to RET
+   static ::boost::type_traits::no_type is_convertible_to_RET(...); // this version is used otherwise
 
-	BOOST_STATIC_CONSTANT(bool, value = (sizeof(is_convertible_to_RET(make<LHS>() BOOST_TT_TRAIT_OP))==sizeof(::boost::type_traits::yes_type)));
+   BOOST_STATIC_CONSTANT(bool, value = (sizeof(is_convertible_to_RET(make<LHS>() BOOST_TT_TRAIT_OP))==sizeof(::boost::type_traits::yes_type)));
 };
 
 // BOOST_TT_TRAIT_OP LHS returns void!=RET
 template < typename LHS, typename RET >
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl1)< LHS, RET, ::boost::true_type > {
-	BOOST_STATIC_CONSTANT(bool, value = false);
+   BOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 template < typename LHS, typename RET,
-	bool forbidden_if=BOOST_TT_FORBIDDEN_IF
+   bool forbidden_if=BOOST_TT_FORBIDDEN_IF
 >
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl);
 
 template < typename LHS, typename RET >
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) < LHS, RET, true > {
-	BOOST_STATIC_CONSTANT(bool, value = false);
+   BOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 // checks for return type if 2nd template parameter RET is non void
 template < typename LHS, typename RET >
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) < LHS, RET, false > {
-	BOOST_STATIC_CONSTANT(bool, value = (BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl1)< LHS, RET, typename ::boost::integral_constant< bool, BOOST_JOIN(BOOST_TT_TRAIT_NAME,_returns_void)< LHS >::value > >::value));
+   BOOST_STATIC_CONSTANT(bool, value = (BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl1)< LHS, RET, typename ::boost::integral_constant< bool, BOOST_JOIN(BOOST_TT_TRAIT_NAME,_returns_void)< LHS >::value > >::value));
 };
 
 // in case we do not want to check for return type
@@ -92,20 +92,20 @@
 // do not check for return type if 2nd template parameter RET is void
 template < typename LHS >
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)< LHS, void, false > {
-	static ::boost::type_traits::yes_type check(int); // this version is preferred for types convertible to RET
-	static ::boost::type_traits::no_type check(tag); // this version is used otherwise
+   static ::boost::type_traits::yes_type check(int); // this version is preferred for types convertible to RET
+   static ::boost::type_traits::no_type check(tag); // this version is used otherwise
 
-	BOOST_STATIC_CONSTANT(bool, value = (sizeof(check(((make<LHS>() BOOST_TT_TRAIT_OP),0)))==sizeof(::boost::type_traits::yes_type)));
+   BOOST_STATIC_CONSTANT(bool, value = (sizeof(check(((make<LHS>() BOOST_TT_TRAIT_OP),0)))==sizeof(::boost::type_traits::yes_type)));
 };
 
 template < typename RET >
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)< void, RET, false > {
-	BOOST_STATIC_CONSTANT(bool, value = false);
+   BOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 template <>
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)< void, void, false > {
-	BOOST_STATIC_CONSTANT(bool, value = false);
+   BOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 } // namespace impl
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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -41,18 +41,18 @@
 tag operator BOOST_TT_TRAIT_OP (const any&);
 
 namespace {
-	template <typename T>
-	typename ::boost::remove_cv<T>::type &make();
+   template <typename T>
+   typename ::boost::remove_cv<T>::type &make();
 }
 
 template < typename RHS >
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_returns_void) {
-	struct returns_void_t {
-		template <typename T> friend int operator,(T const &, returns_void_t);
-	};
-	static ::boost::type_traits::yes_type returns_void(returns_void_t);
-	static ::boost::type_traits::no_type returns_void(int);
-	BOOST_STATIC_CONSTANT(bool, value = (sizeof(::boost::type_traits::yes_type)==sizeof(returns_void((BOOST_TT_TRAIT_OP make<RHS>(),returns_void_t())))));
+   struct returns_void_t {
+      template <typename T> friend int operator,(T const &, returns_void_t);
+   };
+   static ::boost::type_traits::yes_type returns_void(returns_void_t);
+   static ::boost::type_traits::no_type returns_void(int);
+   BOOST_STATIC_CONSTANT(bool, value = (sizeof(::boost::type_traits::yes_type)==sizeof(returns_void((BOOST_TT_TRAIT_OP make<RHS>(),returns_void_t())))));
 };
 
 template < typename RHS, typename RET, typename RETURNS_VOID >
@@ -61,32 +61,32 @@
 // BOOST_TT_TRAIT_OP RHS does not return void, checks if it is convertible to RET
 template < typename RHS, typename RET >
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl1)< RHS, RET, ::boost::false_type > {
-	static ::boost::type_traits::yes_type is_convertible_to_RET(RET); // this version is preferred for types convertible to RET
-	static ::boost::type_traits::no_type is_convertible_to_RET(...); // this version is used otherwise
+   static ::boost::type_traits::yes_type is_convertible_to_RET(RET); // this version is preferred for types convertible to RET
+   static ::boost::type_traits::no_type is_convertible_to_RET(...); // this version is used otherwise
 
-	BOOST_STATIC_CONSTANT(bool, value = (sizeof(is_convertible_to_RET(BOOST_TT_TRAIT_OP make<RHS>()))==sizeof(::boost::type_traits::yes_type)));
+   BOOST_STATIC_CONSTANT(bool, value = (sizeof(is_convertible_to_RET(BOOST_TT_TRAIT_OP make<RHS>()))==sizeof(::boost::type_traits::yes_type)));
 };
 
 // BOOST_TT_TRAIT_OP RHS returns void!=RET
 template < typename RHS, typename RET >
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl1)< RHS, RET, ::boost::true_type > {
-	BOOST_STATIC_CONSTANT(bool, value = false);
+   BOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 template < typename RHS, typename RET,
-	bool forbidden_if=BOOST_TT_FORBIDDEN_IF
+   bool forbidden_if=BOOST_TT_FORBIDDEN_IF
 >
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl);
 
 template < typename RHS, typename RET >
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) < RHS, RET, true > {
-	BOOST_STATIC_CONSTANT(bool, value = false);
+   BOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 // checks for return type if 2nd template parameter RET is non void
 template < typename RHS, typename RET >
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) < RHS, RET, false > {
-	BOOST_STATIC_CONSTANT(bool, value = (BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl1)< RHS, RET, typename ::boost::integral_constant< bool, BOOST_JOIN(BOOST_TT_TRAIT_NAME,_returns_void)< RHS >::value > >::value));
+   BOOST_STATIC_CONSTANT(bool, value = (BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl1)< RHS, RET, typename ::boost::integral_constant< bool, BOOST_JOIN(BOOST_TT_TRAIT_NAME,_returns_void)< RHS >::value > >::value));
 };
 
 // in case we do not want to check for return type
@@ -95,20 +95,20 @@
 // do not check for return type if 2nd template parameter RET is void
 template < typename RHS >
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)< RHS, void, false > {
-	static ::boost::type_traits::yes_type check(int); // this version is preferred for types convertible to RET
-	static ::boost::type_traits::no_type check(tag); // this version is used otherwise
+   static ::boost::type_traits::yes_type check(int); // this version is preferred for types convertible to RET
+   static ::boost::type_traits::no_type check(tag); // this version is used otherwise
 
-	BOOST_STATIC_CONSTANT(bool, value = (sizeof(check(((BOOST_TT_TRAIT_OP make<RHS>()),0)))==sizeof(::boost::type_traits::yes_type)));
+   BOOST_STATIC_CONSTANT(bool, value = (sizeof(check(((BOOST_TT_TRAIT_OP make<RHS>()),0)))==sizeof(::boost::type_traits::yes_type)));
 };
 
 template < typename RET >
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)< void, RET, false > {
-	BOOST_STATIC_CONSTANT(bool, value = false);
+   BOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 template <>
 struct BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)< void, void, false > {
-	BOOST_STATIC_CONSTANT(bool, value = false);
+   BOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 } // namespace impl
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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,32 +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 */\
-			::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< ::boost::is_integral< typename ::boost::remove_reference<LHS>::type >::value >::value,\
-				::boost::type_traits::ice_not< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
-			>::value\
-		>::value,\
-		/* 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\
-	>::value
+      ::boost::type_traits::ice_or<\
+      /* two built-in, one non integer */\
+      ::boost::type_traits::ice_and<\
+         /* two builtin */\
+         ::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< ::boost::is_integral< typename ::boost::remove_reference<LHS>::type >::value >::value,\
+            ::boost::type_traits::ice_not< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
+         >::value\
+      >::value,\
+      /* 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\
+   >::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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,32 +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 */\
-			::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< ::boost::is_integral< typename ::boost::remove_reference<LHS>::type >::value >::value,\
-				::boost::type_traits::ice_not< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
-			>::value\
-		>::value,\
-		/* 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\
-	>::value
+      ::boost::type_traits::ice_or<\
+      /* two built-in, one non integer */\
+      ::boost::type_traits::ice_and<\
+         /* two builtin */\
+         ::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< ::boost::is_integral< typename ::boost::remove_reference<LHS>::type >::value >::value,\
+            ::boost::type_traits::ice_not< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
+         >::value\
+      >::value,\
+      /* 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\
+   >::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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,32 +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 */\
-			::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< ::boost::is_integral< typename ::boost::remove_reference<LHS>::type >::value >::value,\
-				::boost::type_traits::ice_not< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
-			>::value\
-		>::value,\
-		/* 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\
-	>::value
+      ::boost::type_traits::ice_or<\
+      /* two built-in, one non integer */\
+      ::boost::type_traits::ice_and<\
+         /* two builtin */\
+         ::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< ::boost::is_integral< typename ::boost::remove_reference<LHS>::type >::value >::value,\
+            ::boost::type_traits::ice_not< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
+         >::value\
+      >::value,\
+      /* 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\
+   >::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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,32 +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 */\
-			::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< ::boost::is_integral< typename ::boost::remove_reference<LHS>::type >::value >::value,\
-				::boost::type_traits::ice_not< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
-			>::value\
-		>::value,\
-		/* 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\
-	>::value
+      ::boost::type_traits::ice_or<\
+      /* two built-in, one non integer */\
+      ::boost::type_traits::ice_and<\
+         /* two builtin */\
+         ::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< ::boost::is_integral< typename ::boost::remove_reference<LHS>::type >::value >::value,\
+            ::boost::type_traits::ice_not< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
+         >::value\
+      >::value,\
+      /* 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\
+   >::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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,32 +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 */\
-			::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< ::boost::is_integral< typename ::boost::remove_reference<LHS>::type >::value >::value,\
-				::boost::type_traits::ice_not< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
-			>::value\
-		>::value,\
-		/* 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\
-	>::value
+      ::boost::type_traits::ice_or<\
+      /* two built-in, one non integer */\
+      ::boost::type_traits::ice_and<\
+         /* two builtin */\
+         ::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< ::boost::is_integral< typename ::boost::remove_reference<LHS>::type >::value >::value,\
+            ::boost::type_traits::ice_not< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
+         >::value\
+      >::value,\
+      /* 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\
+   >::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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,32 +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 */\
-			::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< ::boost::is_integral< typename ::boost::remove_reference<LHS>::type >::value >::value,\
-				::boost::type_traits::ice_not< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
-			>::value\
-		>::value,\
-		/* 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\
-	>::value
+      ::boost::type_traits::ice_or<\
+      /* two built-in, one non integer */\
+      ::boost::type_traits::ice_and<\
+         /* two builtin */\
+         ::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< ::boost::is_integral< typename ::boost::remove_reference<LHS>::type >::value >::value,\
+            ::boost::type_traits::ice_not< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
+         >::value\
+      >::value,\
+      /* 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\
+   >::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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,20 +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,\
-		/* non integral built-in */\
-		::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< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
-		>::value\
-	>::value
+   ::boost::type_traits::ice_or<\
+      /* pointer */\
+      ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value,\
+      /* non integral built-in */\
+      ::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< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::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 17:09:55 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::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
+   /* 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 17:09:55 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::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
+   /* 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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,42 +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::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::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
+   ::boost::type_traits::ice_or<\
+      /* one pointer and one non pointer built-in */\
+      ::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::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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,42 +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::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::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
+   ::boost::type_traits::ice_or<\
+      /* one pointer and one non pointer built-in */\
+      ::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::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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,42 +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::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::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
+   ::boost::type_traits::ice_or<\
+      /* one pointer and one non pointer built-in */\
+      ::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::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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,32 +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 */\
-			::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< ::boost::is_integral< typename ::boost::remove_reference<LHS>::type >::value >::value,\
-				::boost::type_traits::ice_not< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
-			>::value\
-		>::value,\
-		/* 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\
-	>::value
+      ::boost::type_traits::ice_or<\
+      /* two built-in, one non integer */\
+      ::boost::type_traits::ice_and<\
+         /* two builtin */\
+         ::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< ::boost::is_integral< typename ::boost::remove_reference<LHS>::type >::value >::value,\
+            ::boost::type_traits::ice_not< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
+         >::value\
+      >::value,\
+      /* 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\
+   >::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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,32 +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 */\
-			::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< ::boost::is_integral< typename ::boost::remove_reference<LHS>::type >::value >::value,\
-				::boost::type_traits::ice_not< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
-			>::value\
-		>::value,\
-		/* 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\
-	>::value
+      ::boost::type_traits::ice_or<\
+      /* two built-in, one non integer */\
+      ::boost::type_traits::ice_and<\
+         /* two builtin */\
+         ::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< ::boost::is_integral< typename ::boost::remove_reference<LHS>::type >::value >::value,\
+            ::boost::type_traits::ice_not< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
+         >::value\
+      >::value,\
+      /* 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\
+   >::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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,42 +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::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::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
+   ::boost::type_traits::ice_or<\
+      /* one pointer and one non pointer built-in */\
+      ::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::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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,42 +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::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::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
+   ::boost::type_traits::ice_or<\
+      /* one pointer and one non pointer built-in */\
+      ::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::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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,31 +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::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
+   /* 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_not.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_logical_not.hpp	(original)
+++ sandbox/type_traits/boost/type_traits/has_operator_logical_not.hpp	2011-02-03 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,7 +13,7 @@
 #define BOOST_TT_TRAIT_OP !
 #define BOOST_TT_DEFAULT_RET void
 #define BOOST_TT_FORBIDDEN_IF\
-	false
+   false
 
 #include <boost/type_traits/detail/has_prefix_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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,31 +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::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
+   /* 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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,37 +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::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,\
-		::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,\
-		/* LHS==pointer!=void* and RHS==built-in non integral */\
-		::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< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
-		>::value,\
-		/* LHS=non pointer and RHS=pointer */\
-		::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\
-		>::value,\
-		/* two different pointers */\
-		::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
+   ::boost::type_traits::ice_or<\
+      /* one is 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,\
+      ::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,\
+      /* LHS==pointer!=void* and RHS==built-in non integral */\
+      ::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< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
+      >::value,\
+      /* LHS=non pointer and RHS=pointer */\
+      ::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\
+      >::value,\
+      /* two different pointers */\
+      ::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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,22 +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,\
-		/* LHS==pointer and (LHS==void* or (RHS==builtin and RHS!=integral) */\
-		::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< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
-				>::value\
-			>::value\
-		>::value\
-	>::value
+   ::boost::type_traits::ice_or<\
+      /* RHS==pointer */\
+      ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value,\
+      /* LHS==pointer and (LHS==void* or (RHS==builtin and RHS!=integral) */\
+      ::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< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,32 +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 */\
-			::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< ::boost::is_integral< typename ::boost::remove_reference<LHS>::type >::value >::value,\
-				::boost::type_traits::ice_not< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
-			>::value\
-		>::value,\
-		/* 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\
-	>::value
+      ::boost::type_traits::ice_or<\
+      /* two built-in, one non integer */\
+      ::boost::type_traits::ice_and<\
+         /* two builtin */\
+         ::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< ::boost::is_integral< typename ::boost::remove_reference<LHS>::type >::value >::value,\
+            ::boost::type_traits::ice_not< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
+         >::value\
+      >::value,\
+      /* 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\
+   >::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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,32 +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 */\
-			::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< ::boost::is_integral< typename ::boost::remove_reference<LHS>::type >::value >::value,\
-				::boost::type_traits::ice_not< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
-			>::value\
-		>::value,\
-		/* 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\
-	>::value
+      ::boost::type_traits::ice_or<\
+      /* two built-in, one non integer */\
+      ::boost::type_traits::ice_and<\
+         /* two builtin */\
+         ::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< ::boost::is_integral< typename ::boost::remove_reference<LHS>::type >::value >::value,\
+            ::boost::type_traits::ice_not< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
+         >::value\
+      >::value,\
+      /* 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\
+   >::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 17:09:55 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::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
+   /* 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 17:09:55 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::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
+   /* 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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,42 +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::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::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
+   ::boost::type_traits::ice_or<\
+      /* one pointer and one non pointer built-in */\
+      ::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::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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,45 +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::type_traits::ice_and<\
-			::boost::is_pointer< typename ::boost::remove_reference<LHS>::type >::value,\
-			::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value\
-		>::value,\
-		/* built-in non pointer non integral with pointer */\
-		::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_integral< 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,\
-					::boost::is_integral< typename ::boost::remove_reference<LHS>::type >::value\
-				>::value\
-			>::value\
-		>::value,\
-		/* one is 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,\
-		::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
+   ::boost::type_traits::ice_or<\
+      /* pointer with pointer */\
+      ::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\
+      >::value,\
+      /* built-in non pointer non integral with pointer */\
+      ::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_integral< 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,\
+               ::boost::is_integral< typename ::boost::remove_reference<LHS>::type >::value\
+            >::value\
+         >::value\
+      >::value,\
+      /* one is 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,\
+      ::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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,35 +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::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,\
-		::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,\
-		/* two pointers */\
-		::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\
-		>::value,\
-		/* LHS==pointer!=void* and RHS==non integral */\
-		::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< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
-		>::value,\
-		/* LHS==non bool and RHS==pointer */\
-		::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
+   ::boost::type_traits::ice_or<\
+      /* one is 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,\
+      ::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,\
+      /* two pointers */\
+      ::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\
+      >::value,\
+      /* LHS==pointer!=void* and RHS==non integral */\
+      ::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< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
+      >::value,\
+      /* LHS==non bool and RHS==pointer */\
+      ::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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,14 +13,14 @@
 #define BOOST_TT_TRAIT_OP --
 #define BOOST_TT_DEFAULT_RET void
 #define BOOST_TT_FORBIDDEN_IF\
-	/* 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
+   /* 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 17:09:55 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::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
+   /* 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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,14 +13,14 @@
 #define BOOST_TT_TRAIT_OP --
 #define BOOST_TT_DEFAULT_RET void
 #define BOOST_TT_FORBIDDEN_IF\
-	/* 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
+   /* 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 17:09:55 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::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
+   /* 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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,32 +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 */\
-			::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< ::boost::is_integral< typename ::boost::remove_reference<LHS>::type >::value >::value,\
-				::boost::type_traits::ice_not< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
-			>::value\
-		>::value,\
-		/* 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\
-	>::value
+      ::boost::type_traits::ice_or<\
+      /* two built-in, one non integer */\
+      ::boost::type_traits::ice_and<\
+         /* two builtin */\
+         ::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< ::boost::is_integral< typename ::boost::remove_reference<LHS>::type >::value >::value,\
+            ::boost::type_traits::ice_not< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
+         >::value\
+      >::value,\
+      /* 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\
+   >::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 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,32 +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 */\
-			::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< ::boost::is_integral< typename ::boost::remove_reference<LHS>::type >::value >::value,\
-				::boost::type_traits::ice_not< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
-			>::value\
-		>::value,\
-		/* 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\
-	>::value
+      ::boost::type_traits::ice_or<\
+      /* two built-in, one non integer */\
+      ::boost::type_traits::ice_and<\
+         /* two builtin */\
+         ::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< ::boost::is_integral< typename ::boost::remove_reference<LHS>::type >::value >::value,\
+            ::boost::type_traits::ice_not< ::boost::is_integral< typename ::boost::remove_reference<RHS>::type >::value >::value\
+         >::value\
+      >::value,\
+      /* 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\
+   >::value
 
 
 #include <boost/type_traits/detail/has_binary_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_unary_minus.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_unary_minus.hpp	(original)
+++ sandbox/type_traits/boost/type_traits/has_operator_unary_minus.hpp	2011-02-03 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,8 +13,8 @@
 #define BOOST_TT_TRAIT_OP -
 #define BOOST_TT_DEFAULT_RET void
 #define BOOST_TT_FORBIDDEN_IF\
-	/* pointer */\
-	::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value
+   /* pointer */\
+   ::boost::is_pointer< typename ::boost::remove_reference<RHS>::type >::value
 
 
 #include <boost/type_traits/detail/has_prefix_operator.hpp>
Modified: sandbox/type_traits/boost/type_traits/has_operator_unary_plus.hpp
==============================================================================
--- sandbox/type_traits/boost/type_traits/has_operator_unary_plus.hpp	(original)
+++ sandbox/type_traits/boost/type_traits/has_operator_unary_plus.hpp	2011-02-03 17:09:55 EST (Thu, 03 Feb 2011)
@@ -13,7 +13,7 @@
 #define BOOST_TT_TRAIT_OP +
 #define BOOST_TT_DEFAULT_RET void
 #define BOOST_TT_FORBIDDEN_IF\
-	false
+   false
 
 #include <boost/type_traits/detail/has_prefix_operator.hpp>
 
Modified: sandbox/type_traits/libs/type_traits/test/has_binary_logical_operator_test.hpp
==============================================================================
--- sandbox/type_traits/libs/type_traits/test/has_binary_logical_operator_test.hpp	(original)
+++ sandbox/type_traits/libs/type_traits/test/has_binary_logical_operator_test.hpp	2011-02-03 17:09:55 EST (Thu, 03 Feb 2011)
@@ -49,7 +49,7 @@
 
 class Base2 { };
 struct Derived2 : public Base2 {
-	Derived2(int); // to check if it works with a class that is not default constructible
+   Derived2(int); // to check if it works with a class that is not default constructible
 };
 
 bool operator BOOST_TT_TRAIT_OP (const Derived2&, const Derived2&) { return true; }
@@ -60,777 +60,777 @@
 struct B : public A { };
 
 void run() {
-	// test with only one template parameter
-	TEST_T(bool, true);
-	TEST_T(char, true);
-	TEST_T(signed char, true);
-	TEST_T(short int, true);
-	TEST_T(int, true);
-	TEST_T(long int, true);
-	TEST_T(unsigned char, true);
-	TEST_T(unsigned short int, true);
-	TEST_T(unsigned int, true);
-	TEST_T(unsigned long int, true);
-	TEST_T(wchar_t, true);
-	TEST_T(float, true);
-	TEST_T(double, true);
-	TEST_T(long double, true);
-	TEST_T(void, false);
-	// test with only two template parameters
-	TEST_TT(bool, bool, true);
-	TEST_TT(bool, char, true);
-	TEST_TT(bool, signed char, true);
-	TEST_TT(bool, short int, true);
-	TEST_TT(bool, int, true);
-	TEST_TT(bool, long int, true);
-	TEST_TT(bool, unsigned char, true);
-	TEST_TT(bool, unsigned short int, true);
-	TEST_TT(bool, unsigned int, true);
-	TEST_TT(bool, unsigned long int, true);
-	TEST_TT(bool, wchar_t, true);
-	TEST_TT(bool, float, true);
-	TEST_TT(bool, double, true);
-	TEST_TT(bool, long double, true);
-	TEST_TT(char, bool, true);
-	TEST_TT(char, char, true);
-	TEST_TT(char, signed char, true);
-	TEST_TT(char, short int, true);
-	TEST_TT(char, int, true);
-	TEST_TT(char, long int, true);
-	TEST_TT(char, unsigned char, true);
-	TEST_TT(char, unsigned short int, true);
-	TEST_TT(char, unsigned int, true);
-	TEST_TT(char, unsigned long int, true);
-	TEST_TT(char, wchar_t, true);
-	TEST_TT(char, float, true);
-	TEST_TT(char, double, true);
-	TEST_TT(char, long double, true);
-	TEST_TT(signed char, bool, true);
-	TEST_TT(signed char, char, true);
-	TEST_TT(signed char, signed char, true);
-	TEST_TT(signed char, short int, true);
-	TEST_TT(signed char, int, true);
-	TEST_TT(signed char, long int, true);
-	TEST_TT(signed char, unsigned char, true);
-	TEST_TT(signed char, unsigned short int, true);
-	TEST_TT(signed char, unsigned int, true);
-	TEST_TT(signed char, unsigned long int, true);
-	TEST_TT(signed char, wchar_t, true);
-	TEST_TT(signed char, float, true);
-	TEST_TT(signed char, double, true);
-	TEST_TT(signed char, long double, true);
-	TEST_TT(short int, bool, true);
-	TEST_TT(short int, char, true);
-	TEST_TT(short int, signed char, true);
-	TEST_TT(short int, short int, true);
-	TEST_TT(short int, int, true);
-	TEST_TT(short int, long int, true);
-	TEST_TT(short int, unsigned char, true);
-	TEST_TT(short int, unsigned short int, true);
-	TEST_TT(short int, unsigned int, true);
-	TEST_TT(short int, unsigned long int, true);
-	TEST_TT(short int, wchar_t, true);
-	TEST_TT(short int, float, true);
-	TEST_TT(short int, double, true);
-	TEST_TT(short int, long double, true);
-	TEST_TT(int, bool, true);
-	TEST_TT(int, char, true);
-	TEST_TT(int, signed char, true);
-	TEST_TT(int, short int, true);
-	TEST_TT(int, int, true);
-	TEST_TT(int, long int, true);
-	TEST_TT(int, unsigned char, true);
-	TEST_TT(int, unsigned short int, true);
-	TEST_TT(int, unsigned int, true);
-	TEST_TT(int, unsigned long int, true);
-	TEST_TT(int, wchar_t, true);
-	TEST_TT(int, float, true);
-	TEST_TT(int, double, true);
-	TEST_TT(int, long double, true);
-	TEST_TT(long int, bool, true);
-	TEST_TT(long int, char, true);
-	TEST_TT(long int, signed char, true);
-	TEST_TT(long int, short int, true);
-	TEST_TT(long int, int, true);
-	TEST_TT(long int, long int, true);
-	TEST_TT(long int, unsigned char, true);
-	TEST_TT(long int, unsigned short int, true);
-	TEST_TT(long int, unsigned int, true);
-	TEST_TT(long int, unsigned long int, true);
-	TEST_TT(long int, wchar_t, true);
-	TEST_TT(long int, float, true);
-	TEST_TT(long int, double, true);
-	TEST_TT(long int, long double, true);
-	TEST_TT(unsigned char, bool, true);
-	TEST_TT(unsigned char, char, true);
-	TEST_TT(unsigned char, signed char, true);
-	TEST_TT(unsigned char, short int, true);
-	TEST_TT(unsigned char, int, true);
-	TEST_TT(unsigned char, long int, true);
-	TEST_TT(unsigned char, unsigned char, true);
-	TEST_TT(unsigned char, unsigned short int, true);
-	TEST_TT(unsigned char, unsigned int, true);
-	TEST_TT(unsigned char, unsigned long int, true);
-	TEST_TT(unsigned char, wchar_t, true);
-	TEST_TT(unsigned char, float, true);
-	TEST_TT(unsigned char, double, true);
-	TEST_TT(unsigned char, long double, true);
-	TEST_TT(unsigned short int, bool, true);
-	TEST_TT(unsigned short int, char, true);
-	TEST_TT(unsigned short int, signed char, true);
-	TEST_TT(unsigned short int, short int, true);
-	TEST_TT(unsigned short int, int, true);
-	TEST_TT(unsigned short int, long int, true);
-	TEST_TT(unsigned short int, unsigned char, true);
-	TEST_TT(unsigned short int, unsigned short int, true);
-	TEST_TT(unsigned short int, unsigned int, true);
-	TEST_TT(unsigned short int, unsigned long int, true);
-	TEST_TT(unsigned short int, wchar_t, true);
-	TEST_TT(unsigned short int, float, true);
-	TEST_TT(unsigned short int, double, true);
-	TEST_TT(unsigned short int, long double, true);
-	TEST_TT(unsigned int, bool, true);
-	TEST_TT(unsigned int, char, true);
-	TEST_TT(unsigned int, signed char, true);
-	TEST_TT(unsigned int, short int, true);
-	TEST_TT(unsigned int, int, true);
-	TEST_TT(unsigned int, long int, true);
-	TEST_TT(unsigned int, unsigned char, true);
-	TEST_TT(unsigned int, unsigned short int, true);
-	TEST_TT(unsigned int, unsigned int, true);
-	TEST_TT(unsigned int, unsigned long int, true);
-	TEST_TT(unsigned int, wchar_t, true);
-	TEST_TT(unsigned int, float, true);
-	TEST_TT(unsigned int, double, true);
-	TEST_TT(unsigned int, long double, true);
-	TEST_TT(unsigned long int, bool, true);
-	TEST_TT(unsigned long int, char, true);
-	TEST_TT(unsigned long int, signed char, true);
-	TEST_TT(unsigned long int, short int, true);
-	TEST_TT(unsigned long int, int, true);
-	TEST_TT(unsigned long int, long int, true);
-	TEST_TT(unsigned long int, unsigned char, true);
-	TEST_TT(unsigned long int, unsigned short int, true);
-	TEST_TT(unsigned long int, unsigned int, true);
-	TEST_TT(unsigned long int, unsigned long int, true);
-	TEST_TT(unsigned long int, wchar_t, true);
-	TEST_TT(unsigned long int, float, true);
-	TEST_TT(unsigned long int, double, true);
-	TEST_TT(unsigned long int, long double, true);
-	TEST_TT(wchar_t, bool, true);
-	TEST_TT(wchar_t, char, true);
-	TEST_TT(wchar_t, signed char, true);
-	TEST_TT(wchar_t, short int, true);
-	TEST_TT(wchar_t, int, true);
-	TEST_TT(wchar_t, long int, true);
-	TEST_TT(wchar_t, unsigned char, true);
-	TEST_TT(wchar_t, unsigned short int, true);
-	TEST_TT(wchar_t, unsigned int, true);
-	TEST_TT(wchar_t, unsigned long int, true);
-	TEST_TT(wchar_t, wchar_t, true);
-	TEST_TT(wchar_t, float, true);
-	TEST_TT(wchar_t, double, true);
-	TEST_TT(wchar_t, long double, true);
-	TEST_TT(float, bool, true);
-	TEST_TT(float, char, true);
-	TEST_TT(float, signed char, true);
-	TEST_TT(float, short int, true);
-	TEST_TT(float, int, true);
-	TEST_TT(float, long int, true);
-	TEST_TT(float, unsigned char, true);
-	TEST_TT(float, unsigned short int, true);
-	TEST_TT(float, unsigned int, true);
-	TEST_TT(float, unsigned long int, true);
-	TEST_TT(float, wchar_t, true);
-	TEST_TT(float, float, true);
-	TEST_TT(float, double, true);
-	TEST_TT(float, long double, true);
-	TEST_TT(double, bool, true);
-	TEST_TT(double, char, true);
-	TEST_TT(double, signed char, true);
-	TEST_TT(double, short int, true);
-	TEST_TT(double, int, true);
-	TEST_TT(double, long int, true);
-	TEST_TT(double, unsigned char, true);
-	TEST_TT(double, unsigned short int, true);
-	TEST_TT(double, unsigned int, true);
-	TEST_TT(double, unsigned long int, true);
-	TEST_TT(double, wchar_t, true);
-	TEST_TT(double, float, true);
-	TEST_TT(double, double, true);
-	TEST_TT(double, long double, true);
-	TEST_TT(long double, bool, true);
-	TEST_TT(long double, char, true);
-	TEST_TT(long double, signed char, true);
-	TEST_TT(long double, short int, true);
-	TEST_TT(long double, int, true);
-	TEST_TT(long double, long int, true);
-	TEST_TT(long double, unsigned char, true);
-	TEST_TT(long double, unsigned short int, true);
-	TEST_TT(long double, unsigned int, true);
-	TEST_TT(long double, unsigned long int, true);
-	TEST_TT(long double, wchar_t, true);
-	TEST_TT(long double, float, true);
-	TEST_TT(long double, double, true);
-	TEST_TT(long double, long double, true);
-	TEST_TT(bool, void, false);
-	TEST_TT(void, bool, false);
-	TEST_TT(char, void, false);
-	TEST_TT(void, char, false);
-	TEST_TT(signed char, void, false);
-	TEST_TT(void, signed char, false);
-	TEST_TT(short int, void, false);
-	TEST_TT(void, short int, false);
-	TEST_TT(int, void, false);
-	TEST_TT(void, int, false);
-	TEST_TT(long int, void, false);
-	TEST_TT(void, long int, false);
-	TEST_TT(unsigned char, void, false);
-	TEST_TT(void, unsigned char, false);
-	TEST_TT(unsigned short int, void, false);
-	TEST_TT(void, unsigned short int, false);
-	TEST_TT(unsigned int, void, false);
-	TEST_TT(void, unsigned int, false);
-	TEST_TT(unsigned long int, void, false);
-	TEST_TT(void, unsigned long int, false);
-	TEST_TT(wchar_t, void, false);
-	TEST_TT(void, wchar_t, false);
-	TEST_TT(float, void, false);
-	TEST_TT(void, float, false);
-	TEST_TT(double, void, false);
-	TEST_TT(void, double, false);
-	TEST_TT(long double, void, false);
-	TEST_TT(void, long double, false);
+   // test with only one template parameter
+   TEST_T(bool, true);
+   TEST_T(char, true);
+   TEST_T(signed char, true);
+   TEST_T(short int, true);
+   TEST_T(int, true);
+   TEST_T(long int, true);
+   TEST_T(unsigned char, true);
+   TEST_T(unsigned short int, true);
+   TEST_T(unsigned int, true);
+   TEST_T(unsigned long int, true);
+   TEST_T(wchar_t, true);
+   TEST_T(float, true);
+   TEST_T(double, true);
+   TEST_T(long double, true);
+   TEST_T(void, false);
+   // test with only two template parameters
+   TEST_TT(bool, bool, true);
+   TEST_TT(bool, char, true);
+   TEST_TT(bool, signed char, true);
+   TEST_TT(bool, short int, true);
+   TEST_TT(bool, int, true);
+   TEST_TT(bool, long int, true);
+   TEST_TT(bool, unsigned char, true);
+   TEST_TT(bool, unsigned short int, true);
+   TEST_TT(bool, unsigned int, true);
+   TEST_TT(bool, unsigned long int, true);
+   TEST_TT(bool, wchar_t, true);
+   TEST_TT(bool, float, true);
+   TEST_TT(bool, double, true);
+   TEST_TT(bool, long double, true);
+   TEST_TT(char, bool, true);
+   TEST_TT(char, char, true);
+   TEST_TT(char, signed char, true);
+   TEST_TT(char, short int, true);
+   TEST_TT(char, int, true);
+   TEST_TT(char, long int, true);
+   TEST_TT(char, unsigned char, true);
+   TEST_TT(char, unsigned short int, true);
+   TEST_TT(char, unsigned int, true);
+   TEST_TT(char, unsigned long int, true);
+   TEST_TT(char, wchar_t, true);
+   TEST_TT(char, float, true);
+   TEST_TT(char, double, true);
+   TEST_TT(char, long double, true);
+   TEST_TT(signed char, bool, true);
+   TEST_TT(signed char, char, true);
+   TEST_TT(signed char, signed char, true);
+   TEST_TT(signed char, short int, true);
+   TEST_TT(signed char, int, true);
+   TEST_TT(signed char, long int, true);
+   TEST_TT(signed char, unsigned char, true);
+   TEST_TT(signed char, unsigned short int, true);
+   TEST_TT(signed char, unsigned int, true);
+   TEST_TT(signed char, unsigned long int, true);
+   TEST_TT(signed char, wchar_t, true);
+   TEST_TT(signed char, float, true);
+   TEST_TT(signed char, double, true);
+   TEST_TT(signed char, long double, true);
+   TEST_TT(short int, bool, true);
+   TEST_TT(short int, char, true);
+   TEST_TT(short int, signed char, true);
+   TEST_TT(short int, short int, true);
+   TEST_TT(short int, int, true);
+   TEST_TT(short int, long int, true);
+   TEST_TT(short int, unsigned char, true);
+   TEST_TT(short int, unsigned short int, true);
+   TEST_TT(short int, unsigned int, true);
+   TEST_TT(short int, unsigned long int, true);
+   TEST_TT(short int, wchar_t, true);
+   TEST_TT(short int, float, true);
+   TEST_TT(short int, double, true);
+   TEST_TT(short int, long double, true);
+   TEST_TT(int, bool, true);
+   TEST_TT(int, char, true);
+   TEST_TT(int, signed char, true);
+   TEST_TT(int, short int, true);
+   TEST_TT(int, int, true);
+   TEST_TT(int, long int, true);
+   TEST_TT(int, unsigned char, true);
+   TEST_TT(int, unsigned short int, true);
+   TEST_TT(int, unsigned int, true);
+   TEST_TT(int, unsigned long int, true);
+   TEST_TT(int, wchar_t, true);
+   TEST_TT(int, float, true);
+   TEST_TT(int, double, true);
+   TEST_TT(int, long double, true);
+   TEST_TT(long int, bool, true);
+   TEST_TT(long int, char, true);
+   TEST_TT(long int, signed char, true);
+   TEST_TT(long int, short int, true);
+   TEST_TT(long int, int, true);
+   TEST_TT(long int, long int, true);
+   TEST_TT(long int, unsigned char, true);
+   TEST_TT(long int, unsigned short int, true);
+   TEST_TT(long int, unsigned int, true);
+   TEST_TT(long int, unsigned long int, true);
+   TEST_TT(long int, wchar_t, true);
+   TEST_TT(long int, float, true);
+   TEST_TT(long int, double, true);
+   TEST_TT(long int, long double, true);
+   TEST_TT(unsigned char, bool, true);
+   TEST_TT(unsigned char, char, true);
+   TEST_TT(unsigned char, signed char, true);
+   TEST_TT(unsigned char, short int, true);
+   TEST_TT(unsigned char, int, true);
+   TEST_TT(unsigned char, long int, true);
+   TEST_TT(unsigned char, unsigned char, true);
+   TEST_TT(unsigned char, unsigned short int, true);
+   TEST_TT(unsigned char, unsigned int, true);
+   TEST_TT(unsigned char, unsigned long int, true);
+   TEST_TT(unsigned char, wchar_t, true);
+   TEST_TT(unsigned char, float, true);
+   TEST_TT(unsigned char, double, true);
+   TEST_TT(unsigned char, long double, true);
+   TEST_TT(unsigned short int, bool, true);
+   TEST_TT(unsigned short int, char, true);
+   TEST_TT(unsigned short int, signed char, true);
+   TEST_TT(unsigned short int, short int, true);
+   TEST_TT(unsigned short int, int, true);
+   TEST_TT(unsigned short int, long int, true);
+   TEST_TT(unsigned short int, unsigned char, true);
+   TEST_TT(unsigned short int, unsigned short int, true);
+   TEST_TT(unsigned short int, unsigned int, true);
+   TEST_TT(unsigned short int, unsigned long int, true);
+   TEST_TT(unsigned short int, wchar_t, true);
+   TEST_TT(unsigned short int, float, true);
+   TEST_TT(unsigned short int, double, true);
+   TEST_TT(unsigned short int, long double, true);
+   TEST_TT(unsigned int, bool, true);
+   TEST_TT(unsigned int, char, true);
+   TEST_TT(unsigned int, signed char, true);
+   TEST_TT(unsigned int, short int, true);
+   TEST_TT(unsigned int, int, true);
+   TEST_TT(unsigned int, long int, true);
+   TEST_TT(unsigned int, unsigned char, true);
+   TEST_TT(unsigned int, unsigned short int, true);
+   TEST_TT(unsigned int, unsigned int, true);
+   TEST_TT(unsigned int, unsigned long int, true);
+   TEST_TT(unsigned int, wchar_t, true);
+   TEST_TT(unsigned int, float, true);
+   TEST_TT(unsigned int, double, true);
+   TEST_TT(unsigned int, long double, true);
+   TEST_TT(unsigned long int, bool, true);
+   TEST_TT(unsigned long int, char, true);
+   TEST_TT(unsigned long int, signed char, true);
+   TEST_TT(unsigned long int, short int, true);
+   TEST_TT(unsigned long int, int, true);
+   TEST_TT(unsigned long int, long int, true);
+   TEST_TT(unsigned long int, unsigned char, true);
+   TEST_TT(unsigned long int, unsigned short int, true);
+   TEST_TT(unsigned long int, unsigned int, true);
+   TEST_TT(unsigned long int, unsigned long int, true);
+   TEST_TT(unsigned long int, wchar_t, true);
+   TEST_TT(unsigned long int, float, true);
+   TEST_TT(unsigned long int, double, true);
+   TEST_TT(unsigned long int, long double, true);
+   TEST_TT(wchar_t, bool, true);
+   TEST_TT(wchar_t, char, true);
+   TEST_TT(wchar_t, signed char, true);
+   TEST_TT(wchar_t, short int, true);
+   TEST_TT(wchar_t, int, true);
+   TEST_TT(wchar_t, long int, true);
+   TEST_TT(wchar_t, unsigned char, true);
+   TEST_TT(wchar_t, unsigned short int, true);
+   TEST_TT(wchar_t, unsigned int, true);
+   TEST_TT(wchar_t, unsigned long int, true);
+   TEST_TT(wchar_t, wchar_t, true);
+   TEST_TT(wchar_t, float, true);
+   TEST_TT(wchar_t, double, true);
+   TEST_TT(wchar_t, long double, true);
+   TEST_TT(float, bool, true);
+   TEST_TT(float, char, true);
+   TEST_TT(float, signed char, true);
+   TEST_TT(float, short int, true);
+   TEST_TT(float, int, true);
+   TEST_TT(float, long int, true);
+   TEST_TT(float, unsigned char, true);
+   TEST_TT(float, unsigned short int, true);
+   TEST_TT(float, unsigned int, true);
+   TEST_TT(float, unsigned long int, true);
+   TEST_TT(float, wchar_t, true);
+   TEST_TT(float, float, true);
+   TEST_TT(float, double, true);
+   TEST_TT(float, long double, true);
+   TEST_TT(double, bool, true);
+   TEST_TT(double, char, true);
+   TEST_TT(double, signed char, true);
+   TEST_TT(double, short int, true);
+   TEST_TT(double, int, true);
+   TEST_TT(double, long int, true);
+   TEST_TT(double, unsigned char, true);
+   TEST_TT(double, unsigned short int, true);
+   TEST_TT(double, unsigned int, true);
+   TEST_TT(double, unsigned long int, true);
+   TEST_TT(double, wchar_t, true);
+   TEST_TT(double, float, true);
+   TEST_TT(double, double, true);
+   TEST_TT(double, long double, true);
+   TEST_TT(long double, bool, true);
+   TEST_TT(long double, char, true);
+   TEST_TT(long double, signed char, true);
+   TEST_TT(long double, short int, true);
+   TEST_TT(long double, int, true);
+   TEST_TT(long double, long int, true);
+   TEST_TT(long double, unsigned char, true);
+   TEST_TT(long double, unsigned short int, true);
+   TEST_TT(long double, unsigned int, true);
+   TEST_TT(long double, unsigned long int, true);
+   TEST_TT(long double, wchar_t, true);
+   TEST_TT(long double, float, true);
+   TEST_TT(long double, double, true);
+   TEST_TT(long double, long double, true);
+   TEST_TT(bool, void, false);
+   TEST_TT(void, bool, false);
+   TEST_TT(char, void, false);
+   TEST_TT(void, char, false);
+   TEST_TT(signed char, void, false);
+   TEST_TT(void, signed char, false);
+   TEST_TT(short int, void, false);
+   TEST_TT(void, short int, false);
+   TEST_TT(int, void, false);
+   TEST_TT(void, int, false);
+   TEST_TT(long int, void, false);
+   TEST_TT(void, long int, false);
+   TEST_TT(unsigned char, void, false);
+   TEST_TT(void, unsigned char, false);
+   TEST_TT(unsigned short int, void, false);
+   TEST_TT(void, unsigned short int, false);
+   TEST_TT(unsigned int, void, false);
+   TEST_TT(void, unsigned int, false);
+   TEST_TT(unsigned long int, void, false);
+   TEST_TT(void, unsigned long int, false);
+   TEST_TT(wchar_t, void, false);
+   TEST_TT(void, wchar_t, false);
+   TEST_TT(float, void, false);
+   TEST_TT(void, float, false);
+   TEST_TT(double, void, false);
+   TEST_TT(void, double, false);
+   TEST_TT(long double, void, false);
+   TEST_TT(void, long double, false);
 
 // test with three template parameters
-	TEST_TTR(bool, bool, bool, true);
-	TEST_TTR(bool, char, bool, true);
-	TEST_TTR(bool, signed char, bool, true);
-	TEST_TTR(bool, short int, bool, true);
-	TEST_TTR(bool, int, bool, true);
-	TEST_TTR(bool, long int, bool, true);
-	TEST_TTR(bool, unsigned char, bool, true);
-	TEST_TTR(bool, unsigned short int, bool, true);
-	TEST_TTR(bool, unsigned int, bool, true);
-	TEST_TTR(bool, unsigned long int, bool, true);
-	TEST_TTR(bool, wchar_t, bool, true);
-	TEST_TTR(bool, float, bool, true);
-	TEST_TTR(bool, double, bool, true);
-	TEST_TTR(bool, long double, bool, true);
-	TEST_TTR(char, bool, bool, true);
-	TEST_TTR(char, char, bool, true);
-	TEST_TTR(char, signed char, bool, true);
-	TEST_TTR(char, short int, bool, true);
-	TEST_TTR(char, int, bool, true);
-	TEST_TTR(char, long int, bool, true);
-	TEST_TTR(char, unsigned char, bool, true);
-	TEST_TTR(char, unsigned short int, bool, true);
-	TEST_TTR(char, unsigned int, bool, true);
-	TEST_TTR(char, unsigned long int, bool, true);
-	TEST_TTR(char, wchar_t, bool, true);
-	TEST_TTR(char, float, bool, true);
-	TEST_TTR(char, double, bool, true);
-	TEST_TTR(char, long double, bool, true);
-	TEST_TTR(signed char, bool, bool, true);
-	TEST_TTR(signed char, char, bool, true);
-	TEST_TTR(signed char, signed char, bool, true);
-	TEST_TTR(signed char, short int, bool, true);
-	TEST_TTR(signed char, int, bool, true);
-	TEST_TTR(signed char, long int, bool, true);
-	TEST_TTR(signed char, unsigned char, bool, true);
-	TEST_TTR(signed char, unsigned short int, bool, true);
-	TEST_TTR(signed char, unsigned int, bool, true);
-	TEST_TTR(signed char, unsigned long int, bool, true);
-	TEST_TTR(signed char, wchar_t, bool, true);
-	TEST_TTR(signed char, float, bool, true);
-	TEST_TTR(signed char, double, bool, true);
-	TEST_TTR(signed char, long double, bool, true);
-	TEST_TTR(short int, bool, bool, true);
-	TEST_TTR(short int, char, bool, true);
-	TEST_TTR(short int, signed char, bool, true);
-	TEST_TTR(short int, short int, bool, true);
-	TEST_TTR(short int, int, bool, true);
-	TEST_TTR(short int, long int, bool, true);
-	TEST_TTR(short int, unsigned char, bool, true);
-	TEST_TTR(short int, unsigned short int, bool, true);
-	TEST_TTR(short int, unsigned int, bool, true);
-	TEST_TTR(short int, unsigned long int, bool, true);
-	TEST_TTR(short int, wchar_t, bool, true);
-	TEST_TTR(short int, float, bool, true);
-	TEST_TTR(short int, double, bool, true);
-	TEST_TTR(short int, long double, bool, true);
-	TEST_TTR(int, bool, bool, true);
-	TEST_TTR(int, char, bool, true);
-	TEST_TTR(int, signed char, bool, true);
-	TEST_TTR(int, short int, bool, true);
-	TEST_TTR(int, int, bool, true);
-	TEST_TTR(int, long int, bool, true);
-	TEST_TTR(int, unsigned char, bool, true);
-	TEST_TTR(int, unsigned short int, bool, true);
-	TEST_TTR(int, unsigned int, bool, true);
-	TEST_TTR(int, unsigned long int, bool, true);
-	TEST_TTR(int, wchar_t, bool, true);
-	TEST_TTR(int, float, bool, true);
-	TEST_TTR(int, double, bool, true);
-	TEST_TTR(int, long double, bool, true);
-	TEST_TTR(long int, bool, bool, true);
-	TEST_TTR(long int, char, bool, true);
-	TEST_TTR(long int, signed char, bool, true);
-	TEST_TTR(long int, short int, bool, true);
-	TEST_TTR(long int, int, bool, true);
-	TEST_TTR(long int, long int, bool, true);
-	TEST_TTR(long int, unsigned char, bool, true);
-	TEST_TTR(long int, unsigned short int, bool, true);
-	TEST_TTR(long int, unsigned int, bool, true);
-	TEST_TTR(long int, unsigned long int, bool, true);
-	TEST_TTR(long int, wchar_t, bool, true);
-	TEST_TTR(long int, float, bool, true);
-	TEST_TTR(long int, double, bool, true);
-	TEST_TTR(long int, long double, bool, true);
-	TEST_TTR(unsigned char, bool, bool, true);
-	TEST_TTR(unsigned char, char, bool, true);
-	TEST_TTR(unsigned char, signed char, bool, true);
-	TEST_TTR(unsigned char, short int, bool, true);
-	TEST_TTR(unsigned char, int, bool, true);
-	TEST_TTR(unsigned char, long int, bool, true);
-	TEST_TTR(unsigned char, unsigned char, bool, true);
-	TEST_TTR(unsigned char, unsigned short int, bool, true);
-	TEST_TTR(unsigned char, unsigned int, bool, true);
-	TEST_TTR(unsigned char, unsigned long int, bool, true);
-	TEST_TTR(unsigned char, wchar_t, bool, true);
-	TEST_TTR(unsigned char, float, bool, true);
-	TEST_TTR(unsigned char, double, bool, true);
-	TEST_TTR(unsigned char, long double, bool, true);
-	TEST_TTR(unsigned short int, bool, bool, true);
-	TEST_TTR(unsigned short int, char, bool, true);
-	TEST_TTR(unsigned short int, signed char, bool, true);
-	TEST_TTR(unsigned short int, short int, bool, true);
-	TEST_TTR(unsigned short int, int, bool, true);
-	TEST_TTR(unsigned short int, long int, bool, true);
-	TEST_TTR(unsigned short int, unsigned char, bool, true);
-	TEST_TTR(unsigned short int, unsigned short int, bool, true);
-	TEST_TTR(unsigned short int, unsigned int, bool, true);
-	TEST_TTR(unsigned short int, unsigned long int, bool, true);
-	TEST_TTR(unsigned short int, wchar_t, bool, true);
-	TEST_TTR(unsigned short int, float, bool, true);
-	TEST_TTR(unsigned short int, double, bool, true);
-	TEST_TTR(unsigned short int, long double, bool, true);
-	TEST_TTR(unsigned int, bool, bool, true);
-	TEST_TTR(unsigned int, char, bool, true);
-	TEST_TTR(unsigned int, signed char, bool, true);
-	TEST_TTR(unsigned int, short int, bool, true);
-	TEST_TTR(unsigned int, int, bool, true);
-	TEST_TTR(unsigned int, long int, bool, true);
-	TEST_TTR(unsigned int, unsigned char, bool, true);
-	TEST_TTR(unsigned int, unsigned short int, bool, true);
-	TEST_TTR(unsigned int, unsigned int, bool, true);
-	TEST_TTR(unsigned int, unsigned long int, bool, true);
-	TEST_TTR(unsigned int, wchar_t, bool, true);
-	TEST_TTR(unsigned int, float, bool, true);
-	TEST_TTR(unsigned int, double, bool, true);
-	TEST_TTR(unsigned int, long double, bool, true);
-	TEST_TTR(unsigned long int, bool, bool, true);
-	TEST_TTR(unsigned long int, char, bool, true);
-	TEST_TTR(unsigned long int, signed char, bool, true);
-	TEST_TTR(unsigned long int, short int, bool, true);
-	TEST_TTR(unsigned long int, int, bool, true);
-	TEST_TTR(unsigned long int, long int, bool, true);
-	TEST_TTR(unsigned long int, unsigned char, bool, true);
-	TEST_TTR(unsigned long int, unsigned short int, bool, true);
-	TEST_TTR(unsigned long int, unsigned int, bool, true);
-	TEST_TTR(unsigned long int, unsigned long int, bool, true);
-	TEST_TTR(unsigned long int, wchar_t, bool, true);
-	TEST_TTR(unsigned long int, float, bool, true);
-	TEST_TTR(unsigned long int, double, bool, true);
-	TEST_TTR(unsigned long int, long double, bool, true);
-	TEST_TTR(wchar_t, bool, bool, true);
-	TEST_TTR(wchar_t, char, bool, true);
-	TEST_TTR(wchar_t, signed char, bool, true);
-	TEST_TTR(wchar_t, short int, bool, true);
-	TEST_TTR(wchar_t, int, bool, true);
-	TEST_TTR(wchar_t, long int, bool, true);
-	TEST_TTR(wchar_t, unsigned char, bool, true);
-	TEST_TTR(wchar_t, unsigned short int, bool, true);
-	TEST_TTR(wchar_t, unsigned int, bool, true);
-	TEST_TTR(wchar_t, unsigned long int, bool, true);
-	TEST_TTR(wchar_t, wchar_t, bool, true);
-	TEST_TTR(wchar_t, float, bool, true);
-	TEST_TTR(wchar_t, double, bool, true);
-	TEST_TTR(wchar_t, long double, bool, true);
-	TEST_TTR(float, bool, bool, true);
-	TEST_TTR(float, char, bool, true);
-	TEST_TTR(float, signed char, bool, true);
-	TEST_TTR(float, short int, bool, true);
-	TEST_TTR(float, int, bool, true);
-	TEST_TTR(float, long int, bool, true);
-	TEST_TTR(float, unsigned char, bool, true);
-	TEST_TTR(float, unsigned short int, bool, true);
-	TEST_TTR(float, unsigned int, bool, true);
-	TEST_TTR(float, unsigned long int, bool, true);
-	TEST_TTR(float, wchar_t, bool, true);
-	TEST_TTR(float, float, bool, true);
-	TEST_TTR(float, double, bool, true);
-	TEST_TTR(float, long double, bool, true);
-	TEST_TTR(double, bool, bool, true);
-	TEST_TTR(double, char, bool, true);
-	TEST_TTR(double, signed char, bool, true);
-	TEST_TTR(double, short int, bool, true);
-	TEST_TTR(double, int, bool, true);
-	TEST_TTR(double, long int, bool, true);
-	TEST_TTR(double, unsigned char, bool, true);
-	TEST_TTR(double, unsigned short int, bool, true);
-	TEST_TTR(double, unsigned int, bool, true);
-	TEST_TTR(double, unsigned long int, bool, true);
-	TEST_TTR(double, wchar_t, bool, true);
-	TEST_TTR(double, float, bool, true);
-	TEST_TTR(double, double, bool, true);
-	TEST_TTR(double, long double, bool, true);
-	TEST_TTR(long double, bool, bool, true);
-	TEST_TTR(long double, char, bool, true);
-	TEST_TTR(long double, signed char, bool, true);
-	TEST_TTR(long double, short int, bool, true);
-	TEST_TTR(long double, int, bool, true);
-	TEST_TTR(long double, long int, bool, true);
-	TEST_TTR(long double, unsigned char, bool, true);
-	TEST_TTR(long double, unsigned short int, bool, true);
-	TEST_TTR(long double, unsigned int, bool, true);
-	TEST_TTR(long double, unsigned long int, bool, true);
-	TEST_TTR(long double, wchar_t, bool, true);
-	TEST_TTR(long double, float, bool, true);
-	TEST_TTR(long double, double, bool, true);
-	TEST_TTR(long double, long double, bool, true);
-	TEST_TTR(bool, bool, tag, false);
-	TEST_TTR(bool, char, tag, false);
-	TEST_TTR(bool, signed char, tag, false);
-	TEST_TTR(bool, short int, tag, false);
-	TEST_TTR(bool, int, tag, false);
-	TEST_TTR(bool, long int, tag, false);
-	TEST_TTR(bool, unsigned char, tag, false);
-	TEST_TTR(bool, unsigned short int, tag, false);
-	TEST_TTR(bool, unsigned int, tag, false);
-	TEST_TTR(bool, unsigned long int, tag, false);
-	TEST_TTR(bool, wchar_t, tag, false);
-	TEST_TTR(bool, float, tag, false);
-	TEST_TTR(bool, double, tag, false);
-	TEST_TTR(bool, long double, tag, false);
-	TEST_TTR(char, bool, tag, false);
-	TEST_TTR(char, char, tag, false);
-	TEST_TTR(char, signed char, tag, false);
-	TEST_TTR(char, short int, tag, false);
-	TEST_TTR(char, int, tag, false);
-	TEST_TTR(char, long int, tag, false);
-	TEST_TTR(char, unsigned char, tag, false);
-	TEST_TTR(char, unsigned short int, tag, false);
-	TEST_TTR(char, unsigned int, tag, false);
-	TEST_TTR(char, unsigned long int, tag, false);
-	TEST_TTR(char, wchar_t, tag, false);
-	TEST_TTR(char, float, tag, false);
-	TEST_TTR(char, double, tag, false);
-	TEST_TTR(char, long double, tag, false);
-	TEST_TTR(signed char, bool, tag, false);
-	TEST_TTR(signed char, char, tag, false);
-	TEST_TTR(signed char, signed char, tag, false);
-	TEST_TTR(signed char, short int, tag, false);
-	TEST_TTR(signed char, int, tag, false);
-	TEST_TTR(signed char, long int, tag, false);
-	TEST_TTR(signed char, unsigned char, tag, false);
-	TEST_TTR(signed char, unsigned short int, tag, false);
-	TEST_TTR(signed char, unsigned int, tag, false);
-	TEST_TTR(signed char, unsigned long int, tag, false);
-	TEST_TTR(signed char, wchar_t, tag, false);
-	TEST_TTR(signed char, float, tag, false);
-	TEST_TTR(signed char, double, tag, false);
-	TEST_TTR(signed char, long double, tag, false);
-	TEST_TTR(short int, bool, tag, false);
-	TEST_TTR(short int, char, tag, false);
-	TEST_TTR(short int, signed char, tag, false);
-	TEST_TTR(short int, short int, tag, false);
-	TEST_TTR(short int, int, tag, false);
-	TEST_TTR(short int, long int, tag, false);
-	TEST_TTR(short int, unsigned char, tag, false);
-	TEST_TTR(short int, unsigned short int, tag, false);
-	TEST_TTR(short int, unsigned int, tag, false);
-	TEST_TTR(short int, unsigned long int, tag, false);
-	TEST_TTR(short int, wchar_t, tag, false);
-	TEST_TTR(short int, float, tag, false);
-	TEST_TTR(short int, double, tag, false);
-	TEST_TTR(short int, long double, tag, false);
-	TEST_TTR(int, bool, tag, false);
-	TEST_TTR(int, char, tag, false);
-	TEST_TTR(int, signed char, tag, false);
-	TEST_TTR(int, short int, tag, false);
-	TEST_TTR(int, int, tag, false);
-	TEST_TTR(int, long int, tag, false);
-	TEST_TTR(int, unsigned char, tag, false);
-	TEST_TTR(int, unsigned short int, tag, false);
-	TEST_TTR(int, unsigned int, tag, false);
-	TEST_TTR(int, unsigned long int, tag, false);
-	TEST_TTR(int, wchar_t, tag, false);
-	TEST_TTR(int, float, tag, false);
-	TEST_TTR(int, double, tag, false);
-	TEST_TTR(int, long double, tag, false);
-	TEST_TTR(long int, bool, tag, false);
-	TEST_TTR(long int, char, tag, false);
-	TEST_TTR(long int, signed char, tag, false);
-	TEST_TTR(long int, short int, tag, false);
-	TEST_TTR(long int, int, tag, false);
-	TEST_TTR(long int, long int, tag, false);
-	TEST_TTR(long int, unsigned char, tag, false);
-	TEST_TTR(long int, unsigned short int, tag, false);
-	TEST_TTR(long int, unsigned int, tag, false);
-	TEST_TTR(long int, unsigned long int, tag, false);
-	TEST_TTR(long int, wchar_t, tag, false);
-	TEST_TTR(long int, float, tag, false);
-	TEST_TTR(long int, double, tag, false);
-	TEST_TTR(long int, long double, tag, false);
-	TEST_TTR(unsigned char, bool, tag, false);
-	TEST_TTR(unsigned char, char, tag, false);
-	TEST_TTR(unsigned char, signed char, tag, false);
-	TEST_TTR(unsigned char, short int, tag, false);
-	TEST_TTR(unsigned char, int, tag, false);
-	TEST_TTR(unsigned char, long int, tag, false);
-	TEST_TTR(unsigned char, unsigned char, tag, false);
-	TEST_TTR(unsigned char, unsigned short int, tag, false);
-	TEST_TTR(unsigned char, unsigned int, tag, false);
-	TEST_TTR(unsigned char, unsigned long int, tag, false);
-	TEST_TTR(unsigned char, wchar_t, tag, false);
-	TEST_TTR(unsigned char, float, tag, false);
-	TEST_TTR(unsigned char, double, tag, false);
-	TEST_TTR(unsigned char, long double, tag, false);
-	TEST_TTR(unsigned short int, bool, tag, false);
-	TEST_TTR(unsigned short int, char, tag, false);
-	TEST_TTR(unsigned short int, signed char, tag, false);
-	TEST_TTR(unsigned short int, short int, tag, false);
-	TEST_TTR(unsigned short int, int, tag, false);
-	TEST_TTR(unsigned short int, long int, tag, false);
-	TEST_TTR(unsigned short int, unsigned char, tag, false);
-	TEST_TTR(unsigned short int, unsigned short int, tag, false);
-	TEST_TTR(unsigned short int, unsigned int, tag, false);
-	TEST_TTR(unsigned short int, unsigned long int, tag, false);
-	TEST_TTR(unsigned short int, wchar_t, tag, false);
-	TEST_TTR(unsigned short int, float, tag, false);
-	TEST_TTR(unsigned short int, double, tag, false);
-	TEST_TTR(unsigned short int, long double, tag, false);
-	TEST_TTR(unsigned int, bool, tag, false);
-	TEST_TTR(unsigned int, char, tag, false);
-	TEST_TTR(unsigned int, signed char, tag, false);
-	TEST_TTR(unsigned int, short int, tag, false);
-	TEST_TTR(unsigned int, int, tag, false);
-	TEST_TTR(unsigned int, long int, tag, false);
-	TEST_TTR(unsigned int, unsigned char, tag, false);
-	TEST_TTR(unsigned int, unsigned short int, tag, false);
-	TEST_TTR(unsigned int, unsigned int, tag, false);
-	TEST_TTR(unsigned int, unsigned long int, tag, false);
-	TEST_TTR(unsigned int, wchar_t, tag, false);
-	TEST_TTR(unsigned int, float, tag, false);
-	TEST_TTR(unsigned int, double, tag, false);
-	TEST_TTR(unsigned int, long double, tag, false);
-	TEST_TTR(unsigned long int, bool, tag, false);
-	TEST_TTR(unsigned long int, char, tag, false);
-	TEST_TTR(unsigned long int, signed char, tag, false);
-	TEST_TTR(unsigned long int, short int, tag, false);
-	TEST_TTR(unsigned long int, int, tag, false);
-	TEST_TTR(unsigned long int, long int, tag, false);
-	TEST_TTR(unsigned long int, unsigned char, tag, false);
-	TEST_TTR(unsigned long int, unsigned short int, tag, false);
-	TEST_TTR(unsigned long int, unsigned int, tag, false);
-	TEST_TTR(unsigned long int, unsigned long int, tag, false);
-	TEST_TTR(unsigned long int, wchar_t, tag, false);
-	TEST_TTR(unsigned long int, float, tag, false);
-	TEST_TTR(unsigned long int, double, tag, false);
-	TEST_TTR(unsigned long int, long double, tag, false);
-	TEST_TTR(wchar_t, bool, tag, false);
-	TEST_TTR(wchar_t, char, tag, false);
-	TEST_TTR(wchar_t, signed char, tag, false);
-	TEST_TTR(wchar_t, short int, tag, false);
-	TEST_TTR(wchar_t, int, tag, false);
-	TEST_TTR(wchar_t, long int, tag, false);
-	TEST_TTR(wchar_t, unsigned char, tag, false);
-	TEST_TTR(wchar_t, unsigned short int, tag, false);
-	TEST_TTR(wchar_t, unsigned int, tag, false);
-	TEST_TTR(wchar_t, unsigned long int, tag, false);
-	TEST_TTR(wchar_t, wchar_t, tag, false);
-	TEST_TTR(wchar_t, float, tag, false);
-	TEST_TTR(wchar_t, double, tag, false);
-	TEST_TTR(wchar_t, long double, tag, false);
-	TEST_TTR(float, bool, tag, false);
-	TEST_TTR(float, char, tag, false);
-	TEST_TTR(float, signed char, tag, false);
-	TEST_TTR(float, short int, tag, false);
-	TEST_TTR(float, int, tag, false);
-	TEST_TTR(float, long int, tag, false);
-	TEST_TTR(float, unsigned char, tag, false);
-	TEST_TTR(float, unsigned short int, tag, false);
-	TEST_TTR(float, unsigned int, tag, false);
-	TEST_TTR(float, unsigned long int, tag, false);
-	TEST_TTR(float, wchar_t, tag, false);
-	TEST_TTR(float, float, tag, false);
-	TEST_TTR(float, double, tag, false);
-	TEST_TTR(float, long double, tag, false);
-	TEST_TTR(double, bool, tag, false);
-	TEST_TTR(double, char, tag, false);
-	TEST_TTR(double, signed char, tag, false);
-	TEST_TTR(double, short int, tag, false);
-	TEST_TTR(double, int, tag, false);
-	TEST_TTR(double, long int, tag, false);
-	TEST_TTR(double, unsigned char, tag, false);
-	TEST_TTR(double, unsigned short int, tag, false);
-	TEST_TTR(double, unsigned int, tag, false);
-	TEST_TTR(double, unsigned long int, tag, false);
-	TEST_TTR(double, wchar_t, tag, false);
-	TEST_TTR(double, float, tag, false);
-	TEST_TTR(double, double, tag, false);
-	TEST_TTR(double, long double, tag, false);
-	TEST_TTR(long double, bool, tag, false);
-	TEST_TTR(long double, char, tag, false);
-	TEST_TTR(long double, signed char, tag, false);
-	TEST_TTR(long double, short int, tag, false);
-	TEST_TTR(long double, int, tag, false);
-	TEST_TTR(long double, long int, tag, false);
-	TEST_TTR(long double, unsigned char, tag, false);
-	TEST_TTR(long double, unsigned short int, tag, false);
-	TEST_TTR(long double, unsigned int, tag, false);
-	TEST_TTR(long double, unsigned long int, tag, false);
-	TEST_TTR(long double, wchar_t, tag, false);
-	TEST_TTR(long double, float, tag, false);
-	TEST_TTR(long double, double, tag, false);
-	TEST_TTR(long double, long double, tag, false);
+   TEST_TTR(bool, bool, bool, true);
+   TEST_TTR(bool, char, bool, true);
+   TEST_TTR(bool, signed char, bool, true);
+   TEST_TTR(bool, short int, bool, true);
+   TEST_TTR(bool, int, bool, true);
+   TEST_TTR(bool, long int, bool, true);
+   TEST_TTR(bool, unsigned char, bool, true);
+   TEST_TTR(bool, unsigned short int, bool, true);
+   TEST_TTR(bool, unsigned int, bool, true);
+   TEST_TTR(bool, unsigned long int, bool, true);
+   TEST_TTR(bool, wchar_t, bool, true);
+   TEST_TTR(bool, float, bool, true);
+   TEST_TTR(bool, double, bool, true);
+   TEST_TTR(bool, long double, bool, true);
+   TEST_TTR(char, bool, bool, true);
+   TEST_TTR(char, char, bool, true);
+   TEST_TTR(char, signed char, bool, true);
+   TEST_TTR(char, short int, bool, true);
+   TEST_TTR(char, int, bool, true);
+   TEST_TTR(char, long int, bool, true);
+   TEST_TTR(char, unsigned char, bool, true);
+   TEST_TTR(char, unsigned short int, bool, true);
+   TEST_TTR(char, unsigned int, bool, true);
+   TEST_TTR(char, unsigned long int, bool, true);
+   TEST_TTR(char, wchar_t, bool, true);
+   TEST_TTR(char, float, bool, true);
+   TEST_TTR(char, double, bool, true);
+   TEST_TTR(char, long double, bool, true);
+   TEST_TTR(signed char, bool, bool, true);
+   TEST_TTR(signed char, char, bool, true);
+   TEST_TTR(signed char, signed char, bool, true);
+   TEST_TTR(signed char, short int, bool, true);
+   TEST_TTR(signed char, int, bool, true);
+   TEST_TTR(signed char, long int, bool, true);
+   TEST_TTR(signed char, unsigned char, bool, true);
+   TEST_TTR(signed char, unsigned short int, bool, true);
+   TEST_TTR(signed char, unsigned int, bool, true);
+   TEST_TTR(signed char, unsigned long int, bool, true);
+   TEST_TTR(signed char, wchar_t, bool, true);
+   TEST_TTR(signed char, float, bool, true);
+   TEST_TTR(signed char, double, bool, true);
+   TEST_TTR(signed char, long double, bool, true);
+   TEST_TTR(short int, bool, bool, true);
+   TEST_TTR(short int, char, bool, true);
+   TEST_TTR(short int, signed char, bool, true);
+   TEST_TTR(short int, short int, bool, true);
+   TEST_TTR(short int, int, bool, true);
+   TEST_TTR(short int, long int, bool, true);
+   TEST_TTR(short int, unsigned char, bool, true);
+   TEST_TTR(short int, unsigned short int, bool, true);
+   TEST_TTR(short int, unsigned int, bool, true);
+   TEST_TTR(short int, unsigned long int, bool, true);
+   TEST_TTR(short int, wchar_t, bool, true);
+   TEST_TTR(short int, float, bool, true);
+   TEST_TTR(short int, double, bool, true);
+   TEST_TTR(short int, long double, bool, true);
+   TEST_TTR(int, bool, bool, true);
+   TEST_TTR(int, char, bool, true);
+   TEST_TTR(int, signed char, bool, true);
+   TEST_TTR(int, short int, bool, true);
+   TEST_TTR(int, int, bool, true);
+   TEST_TTR(int, long int, bool, true);
+   TEST_TTR(int, unsigned char, bool, true);
+   TEST_TTR(int, unsigned short int, bool, true);
+   TEST_TTR(int, unsigned int, bool, true);
+   TEST_TTR(int, unsigned long int, bool, true);
+   TEST_TTR(int, wchar_t, bool, true);
+   TEST_TTR(int, float, bool, true);
+   TEST_TTR(int, double, bool, true);
+   TEST_TTR(int, long double, bool, true);
+   TEST_TTR(long int, bool, bool, true);
+   TEST_TTR(long int, char, bool, true);
+   TEST_TTR(long int, signed char, bool, true);
+   TEST_TTR(long int, short int, bool, true);
+   TEST_TTR(long int, int, bool, true);
+   TEST_TTR(long int, long int, bool, true);
+   TEST_TTR(long int, unsigned char, bool, true);
+   TEST_TTR(long int, unsigned short int, bool, true);
+   TEST_TTR(long int, unsigned int, bool, true);
+   TEST_TTR(long int, unsigned long int, bool, true);
+   TEST_TTR(long int, wchar_t, bool, true);
+   TEST_TTR(long int, float, bool, true);
+   TEST_TTR(long int, double, bool, true);
+   TEST_TTR(long int, long double, bool, true);
+   TEST_TTR(unsigned char, bool, bool, true);
+   TEST_TTR(unsigned char, char, bool, true);
+   TEST_TTR(unsigned char, signed char, bool, true);
+   TEST_TTR(unsigned char, short int, bool, true);
+   TEST_TTR(unsigned char, int, bool, true);
+   TEST_TTR(unsigned char, long int, bool, true);
+   TEST_TTR(unsigned char, unsigned char, bool, true);
+   TEST_TTR(unsigned char, unsigned short int, bool, true);
+   TEST_TTR(unsigned char, unsigned int, bool, true);
+   TEST_TTR(unsigned char, unsigned long int, bool, true);
+   TEST_TTR(unsigned char, wchar_t, bool, true);
+   TEST_TTR(unsigned char, float, bool, true);
+   TEST_TTR(unsigned char, double, bool, true);
+   TEST_TTR(unsigned char, long double, bool, true);
+   TEST_TTR(unsigned short int, bool, bool, true);
+   TEST_TTR(unsigned short int, char, bool, true);
+   TEST_TTR(unsigned short int, signed char, bool, true);
+   TEST_TTR(unsigned short int, short int, bool, true);
+   TEST_TTR(unsigned short int, int, bool, true);
+   TEST_TTR(unsigned short int, long int, bool, true);
+   TEST_TTR(unsigned short int, unsigned char, bool, true);
+   TEST_TTR(unsigned short int, unsigned short int, bool, true);
+   TEST_TTR(unsigned short int, unsigned int, bool, true);
+   TEST_TTR(unsigned short int, unsigned long int, bool, true);
+   TEST_TTR(unsigned short int, wchar_t, bool, true);
+   TEST_TTR(unsigned short int, float, bool, true);
+   TEST_TTR(unsigned short int, double, bool, true);
+   TEST_TTR(unsigned short int, long double, bool, true);
+   TEST_TTR(unsigned int, bool, bool, true);
+   TEST_TTR(unsigned int, char, bool, true);
+   TEST_TTR(unsigned int, signed char, bool, true);
+   TEST_TTR(unsigned int, short int, bool, true);
+   TEST_TTR(unsigned int, int, bool, true);
+   TEST_TTR(unsigned int, long int, bool, true);
+   TEST_TTR(unsigned int, unsigned char, bool, true);
+   TEST_TTR(unsigned int, unsigned short int, bool, true);
+   TEST_TTR(unsigned int, unsigned int, bool, true);
+   TEST_TTR(unsigned int, unsigned long int, bool, true);
+   TEST_TTR(unsigned int, wchar_t, bool, true);
+   TEST_TTR(unsigned int, float, bool, true);
+   TEST_TTR(unsigned int, double, bool, true);
+   TEST_TTR(unsigned int, long double, bool, true);
+   TEST_TTR(unsigned long int, bool, bool, true);
+   TEST_TTR(unsigned long int, char, bool, true);
+   TEST_TTR(unsigned long int, signed char, bool, true);
+   TEST_TTR(unsigned long int, short int, bool, true);
+   TEST_TTR(unsigned long int, int, bool, true);
+   TEST_TTR(unsigned long int, long int, bool, true);
+   TEST_TTR(unsigned long int, unsigned char, bool, true);
+   TEST_TTR(unsigned long int, unsigned short int, bool, true);
+   TEST_TTR(unsigned long int, unsigned int, bool, true);
+   TEST_TTR(unsigned long int, unsigned long int, bool, true);
+   TEST_TTR(unsigned long int, wchar_t, bool, true);
+   TEST_TTR(unsigned long int, float, bool, true);
+   TEST_TTR(unsigned long int, double, bool, true);
+   TEST_TTR(unsigned long int, long double, bool, true);
+   TEST_TTR(wchar_t, bool, bool, true);
+   TEST_TTR(wchar_t, char, bool, true);
+   TEST_TTR(wchar_t, signed char, bool, true);
+   TEST_TTR(wchar_t, short int, bool, true);
+   TEST_TTR(wchar_t, int, bool, true);
+   TEST_TTR(wchar_t, long int, bool, true);
+   TEST_TTR(wchar_t, unsigned char, bool, true);
+   TEST_TTR(wchar_t, unsigned short int, bool, true);
+   TEST_TTR(wchar_t, unsigned int, bool, true);
+   TEST_TTR(wchar_t, unsigned long int, bool, true);
+   TEST_TTR(wchar_t, wchar_t, bool, true);
+   TEST_TTR(wchar_t, float, bool, true);
+   TEST_TTR(wchar_t, double, bool, true);
+   TEST_TTR(wchar_t, long double, bool, true);
+   TEST_TTR(float, bool, bool, true);
+   TEST_TTR(float, char, bool, true);
+   TEST_TTR(float, signed char, bool, true);
+   TEST_TTR(float, short int, bool, true);
+   TEST_TTR(float, int, bool, true);
+   TEST_TTR(float, long int, bool, true);
+   TEST_TTR(float, unsigned char, bool, true);
+   TEST_TTR(float, unsigned short int, bool, true);
+   TEST_TTR(float, unsigned int, bool, true);
+   TEST_TTR(float, unsigned long int, bool, true);
+   TEST_TTR(float, wchar_t, bool, true);
+   TEST_TTR(float, float, bool, true);
+   TEST_TTR(float, double, bool, true);
+   TEST_TTR(float, long double, bool, true);
+   TEST_TTR(double, bool, bool, true);
+   TEST_TTR(double, char, bool, true);
+   TEST_TTR(double, signed char, bool, true);
+   TEST_TTR(double, short int, bool, true);
+   TEST_TTR(double, int, bool, true);
+   TEST_TTR(double, long int, bool, true);
+   TEST_TTR(double, unsigned char, bool, true);
+   TEST_TTR(double, unsigned short int, bool, true);
+   TEST_TTR(double, unsigned int, bool, true);
+   TEST_TTR(double, unsigned long int, bool, true);
+   TEST_TTR(double, wchar_t, bool, true);
+   TEST_TTR(double, float, bool, true);
+   TEST_TTR(double, double, bool, true);
+   TEST_TTR(double, long double, bool, true);
+   TEST_TTR(long double, bool, bool, true);
+   TEST_TTR(long double, char, bool, true);
+   TEST_TTR(long double, signed char, bool, true);
+   TEST_TTR(long double, short int, bool, true);
+   TEST_TTR(long double, int, bool, true);
+   TEST_TTR(long double, long int, bool, true);
+   TEST_TTR(long double, unsigned char, bool, true);
+   TEST_TTR(long double, unsigned short int, bool, true);
+   TEST_TTR(long double, unsigned int, bool, true);
+   TEST_TTR(long double, unsigned long int, bool, true);
+   TEST_TTR(long double, wchar_t, bool, true);
+   TEST_TTR(long double, float, bool, true);
+   TEST_TTR(long double, double, bool, true);
+   TEST_TTR(long double, long double, bool, true);
+   TEST_TTR(bool, bool, tag, false);
+   TEST_TTR(bool, char, tag, false);
+   TEST_TTR(bool, signed char, tag, false);
+   TEST_TTR(bool, short int, tag, false);
+   TEST_TTR(bool, int, tag, false);
+   TEST_TTR(bool, long int, tag, false);
+   TEST_TTR(bool, unsigned char, tag, false);
+   TEST_TTR(bool, unsigned short int, tag, false);
+   TEST_TTR(bool, unsigned int, tag, false);
+   TEST_TTR(bool, unsigned long int, tag, false);
+   TEST_TTR(bool, wchar_t, tag, false);
+   TEST_TTR(bool, float, tag, false);
+   TEST_TTR(bool, double, tag, false);
+   TEST_TTR(bool, long double, tag, false);
+   TEST_TTR(char, bool, tag, false);
+   TEST_TTR(char, char, tag, false);
+   TEST_TTR(char, signed char, tag, false);
+   TEST_TTR(char, short int, tag, false);
+   TEST_TTR(char, int, tag, false);
+   TEST_TTR(char, long int, tag, false);
+   TEST_TTR(char, unsigned char, tag, false);
+   TEST_TTR(char, unsigned short int, tag, false);
+   TEST_TTR(char, unsigned int, tag, false);
+   TEST_TTR(char, unsigned long int, tag, false);
+   TEST_TTR(char, wchar_t, tag, false);
+   TEST_TTR(char, float, tag, false);
+   TEST_TTR(char, double, tag, false);
+   TEST_TTR(char, long double, tag, false);
+   TEST_TTR(signed char, bool, tag, false);
+   TEST_TTR(signed char, char, tag, false);
+   TEST_TTR(signed char, signed char, tag, false);
+   TEST_TTR(signed char, short int, tag, false);
+   TEST_TTR(signed char, int, tag, false);
+   TEST_TTR(signed char, long int, tag, false);
+   TEST_TTR(signed char, unsigned char, tag, false);
+   TEST_TTR(signed char, unsigned short int, tag, false);
+   TEST_TTR(signed char, unsigned int, tag, false);
+   TEST_TTR(signed char, unsigned long int, tag, false);
+   TEST_TTR(signed char, wchar_t, tag, false);
+   TEST_TTR(signed char, float, tag, false);
+   TEST_TTR(signed char, double, tag, false);
+   TEST_TTR(signed char, long double, tag, false);
+   TEST_TTR(short int, bool, tag, false);
+   TEST_TTR(short int, char, tag, false);
+   TEST_TTR(short int, signed char, tag, false);
+   TEST_TTR(short int, short int, tag, false);
+   TEST_TTR(short int, int, tag, false);
+   TEST_TTR(short int, long int, tag, false);
+   TEST_TTR(short int, unsigned char, tag, false);
+   TEST_TTR(short int, unsigned short int, tag, false);
+   TEST_TTR(short int, unsigned int, tag, false);
+   TEST_TTR(short int, unsigned long int, tag, false);
+   TEST_TTR(short int, wchar_t, tag, false);
+   TEST_TTR(short int, float, tag, false);
+   TEST_TTR(short int, double, tag, false);
+   TEST_TTR(short int, long double, tag, false);
+   TEST_TTR(int, bool, tag, false);
+   TEST_TTR(int, char, tag, false);
+   TEST_TTR(int, signed char, tag, false);
+   TEST_TTR(int, short int, tag, false);
+   TEST_TTR(int, int, tag, false);
+   TEST_TTR(int, long int, tag, false);
+   TEST_TTR(int, unsigned char, tag, false);
+   TEST_TTR(int, unsigned short int, tag, false);
+   TEST_TTR(int, unsigned int, tag, false);
+   TEST_TTR(int, unsigned long int, tag, false);
+   TEST_TTR(int, wchar_t, tag, false);
+   TEST_TTR(int, float, tag, false);
+   TEST_TTR(int, double, tag, false);
+   TEST_TTR(int, long double, tag, false);
+   TEST_TTR(long int, bool, tag, false);
+   TEST_TTR(long int, char, tag, false);
+   TEST_TTR(long int, signed char, tag, false);
+   TEST_TTR(long int, short int, tag, false);
+   TEST_TTR(long int, int, tag, false);
+   TEST_TTR(long int, long int, tag, false);
+   TEST_TTR(long int, unsigned char, tag, false);
+   TEST_TTR(long int, unsigned short int, tag, false);
+   TEST_TTR(long int, unsigned int, tag, false);
+   TEST_TTR(long int, unsigned long int, tag, false);
+   TEST_TTR(long int, wchar_t, tag, false);
+   TEST_TTR(long int, float, tag, false);
+   TEST_TTR(long int, double, tag, false);
+   TEST_TTR(long int, long double, tag, false);
+   TEST_TTR(unsigned char, bool, tag, false);
+   TEST_TTR(unsigned char, char, tag, false);
+   TEST_TTR(unsigned char, signed char, tag, false);
+   TEST_TTR(unsigned char, short int, tag, false);
+   TEST_TTR(unsigned char, int, tag, false);
+   TEST_TTR(unsigned char, long int, tag, false);
+   TEST_TTR(unsigned char, unsigned char, tag, false);
+   TEST_TTR(unsigned char, unsigned short int, tag, false);
+   TEST_TTR(unsigned char, unsigned int, tag, false);
+   TEST_TTR(unsigned char, unsigned long int, tag, false);
+   TEST_TTR(unsigned char, wchar_t, tag, false);
+   TEST_TTR(unsigned char, float, tag, false);
+   TEST_TTR(unsigned char, double, tag, false);
+   TEST_TTR(unsigned char, long double, tag, false);
+   TEST_TTR(unsigned short int, bool, tag, false);
+   TEST_TTR(unsigned short int, char, tag, false);
+   TEST_TTR(unsigned short int, signed char, tag, false);
+   TEST_TTR(unsigned short int, short int, tag, false);
+   TEST_TTR(unsigned short int, int, tag, false);
+   TEST_TTR(unsigned short int, long int, tag, false);
+   TEST_TTR(unsigned short int, unsigned char, tag, false);
+   TEST_TTR(unsigned short int, unsigned short int, tag, false);
+   TEST_TTR(unsigned short int, unsigned int, tag, false);
+   TEST_TTR(unsigned short int, unsigned long int, tag, false);
+   TEST_TTR(unsigned short int, wchar_t, tag, false);
+   TEST_TTR(unsigned short int, float, tag, false);
+   TEST_TTR(unsigned short int, double, tag, false);
+   TEST_TTR(unsigned short int, long double, tag, false);
+   TEST_TTR(unsigned int, bool, tag, false);
+   TEST_TTR(unsigned int, char, tag, false);
+   TEST_TTR(unsigned int, signed char, tag, false);
+   TEST_TTR(unsigned int, short int, tag, false);
+   TEST_TTR(unsigned int, int, tag, false);
+   TEST_TTR(unsigned int, long int, tag, false);
+   TEST_TTR(unsigned int, unsigned char, tag, false);
+   TEST_TTR(unsigned int, unsigned short int, tag, false);
+   TEST_TTR(unsigned int, unsigned int, tag, false);
+   TEST_TTR(unsigned int, unsigned long int, tag, false);
+   TEST_TTR(unsigned int, wchar_t, tag, false);
+   TEST_TTR(unsigned int, float, tag, false);
+   TEST_TTR(unsigned int, double, tag, false);
+   TEST_TTR(unsigned int, long double, tag, false);
+   TEST_TTR(unsigned long int, bool, tag, false);
+   TEST_TTR(unsigned long int, char, tag, false);
+   TEST_TTR(unsigned long int, signed char, tag, false);
+   TEST_TTR(unsigned long int, short int, tag, false);
+   TEST_TTR(unsigned long int, int, tag, false);
+   TEST_TTR(unsigned long int, long int, tag, false);
+   TEST_TTR(unsigned long int, unsigned char, tag, false);
+   TEST_TTR(unsigned long int, unsigned short int, tag, false);
+   TEST_TTR(unsigned long int, unsigned int, tag, false);
+   TEST_TTR(unsigned long int, unsigned long int, tag, false);
+   TEST_TTR(unsigned long int, wchar_t, tag, false);
+   TEST_TTR(unsigned long int, float, tag, false);
+   TEST_TTR(unsigned long int, double, tag, false);
+   TEST_TTR(unsigned long int, long double, tag, false);
+   TEST_TTR(wchar_t, bool, tag, false);
+   TEST_TTR(wchar_t, char, tag, false);
+   TEST_TTR(wchar_t, signed char, tag, false);
+   TEST_TTR(wchar_t, short int, tag, false);
+   TEST_TTR(wchar_t, int, tag, false);
+   TEST_TTR(wchar_t, long int, tag, false);
+   TEST_TTR(wchar_t, unsigned char, tag, false);
+   TEST_TTR(wchar_t, unsigned short int, tag, false);
+   TEST_TTR(wchar_t, unsigned int, tag, false);
+   TEST_TTR(wchar_t, unsigned long int, tag, false);
+   TEST_TTR(wchar_t, wchar_t, tag, false);
+   TEST_TTR(wchar_t, float, tag, false);
+   TEST_TTR(wchar_t, double, tag, false);
+   TEST_TTR(wchar_t, long double, tag, false);
+   TEST_TTR(float, bool, tag, false);
+   TEST_TTR(float, char, tag, false);
+   TEST_TTR(float, signed char, tag, false);
+   TEST_TTR(float, short int, tag, false);
+   TEST_TTR(float, int, tag, false);
+   TEST_TTR(float, long int, tag, false);
+   TEST_TTR(float, unsigned char, tag, false);
+   TEST_TTR(float, unsigned short int, tag, false);
+   TEST_TTR(float, unsigned int, tag, false);
+   TEST_TTR(float, unsigned long int, tag, false);
+   TEST_TTR(float, wchar_t, tag, false);
+   TEST_TTR(float, float, tag, false);
+   TEST_TTR(float, double, tag, false);
+   TEST_TTR(float, long double, tag, false);
+   TEST_TTR(double, bool, tag, false);
+   TEST_TTR(double, char, tag, false);
+   TEST_TTR(double, signed char, tag, false);
+   TEST_TTR(double, short int, tag, false);
+   TEST_TTR(double, int, tag, false);
+   TEST_TTR(double, long int, tag, false);
+   TEST_TTR(double, unsigned char, tag, false);
+   TEST_TTR(double, unsigned short int, tag, false);
+   TEST_TTR(double, unsigned int, tag, false);
+   TEST_TTR(double, unsigned long int, tag, false);
+   TEST_TTR(double, wchar_t, tag, false);
+   TEST_TTR(double, float, tag, false);
+   TEST_TTR(double, double, tag, false);
+   TEST_TTR(double, long double, tag, false);
+   TEST_TTR(long double, bool, tag, false);
+   TEST_TTR(long double, char, tag, false);
+   TEST_TTR(long double, signed char, tag, false);
+   TEST_TTR(long double, short int, tag, false);
+   TEST_TTR(long double, int, tag, false);
+   TEST_TTR(long double, long int, tag, false);
+   TEST_TTR(long double, unsigned char, tag, false);
+   TEST_TTR(long double, unsigned short int, tag, false);
+   TEST_TTR(long double, unsigned int, tag, false);
+   TEST_TTR(long double, unsigned long int, tag, false);
+   TEST_TTR(long double, wchar_t, tag, false);
+   TEST_TTR(long double, float, tag, false);
+   TEST_TTR(long double, double, tag, false);
+   TEST_TTR(long double, long double, tag, false);
 
-	TEST_T(without, false);
-	TEST_T(internal, true);
-	TEST_T(external, true);
-//	compile time error
-//	TEST_T(internal_private, false);
-	TEST_T(returns_int, true);
-	TEST_T(returns_void, true);
-	TEST_T(returns_void_star, true);
-	TEST_T(returns_double, true);
-	TEST_T(returns_string, true);
-//	TEST_T(convertible_to_bool, true);
-	TEST_T(Base1, true);
-	TEST_T(Derived1, true);
-	TEST_T(Base2, false);
-	TEST_T(Derived2, true);
+   TEST_T(without, false);
+   TEST_T(internal, true);
+   TEST_T(external, true);
+// compile time error
+// TEST_T(internal_private, false);
+   TEST_T(returns_int, true);
+   TEST_T(returns_void, true);
+   TEST_T(returns_void_star, true);
+   TEST_T(returns_double, true);
+   TEST_T(returns_string, true);
+// TEST_T(convertible_to_bool, true);
+   TEST_T(Base1, true);
+   TEST_T(Derived1, true);
+   TEST_T(Base2, false);
+   TEST_T(Derived2, true);
 
-	TEST_TR(without, bool, false);
-	TEST_TR(internal, bool, false);
-	TEST_TR(internal, ret, true);
-	TEST_TR(external, bool, false);
-	TEST_TR(external, ret, true);
-	TEST_TR(returns_int, bool, true);
-	TEST_TR(returns_int, int, true);
-	TEST_TR(returns_void, void, true);
-	TEST_TR(returns_void, bool, false);
-	TEST_TR(returns_void_star, bool, true);
-	TEST_TR(returns_double, bool, true);
-	TEST_TR(returns_double, double, true);
-	TEST_TR(returns_string, bool, false);
-	TEST_TR(returns_string, std::string, true);
-//	TEST_TR(convertible_to_bool, bool, true);
-	TEST_TR(Base1, bool, true);
-	TEST_TR(Derived1, bool, true);
-	TEST_TR(Base2, bool, false);
-	TEST_TR(Derived2, bool, true);
-	// pointers
-	TEST_TT(void*, bool, true);
-	TEST_TT(void*, int, true);
-	TEST_TT(void*, double, true);
-	TEST_TT(void*, A, false);
-	TEST_TT(void*, B, false);
-	TEST_TT(bool*, bool, true);
-	TEST_TT(bool*, int, true);
-	TEST_TT(bool*, double, true);
-	TEST_TT(bool*, A, false);
-	TEST_TT(bool*, B, false);
-	TEST_TT(int*, bool, true);
-	TEST_TT(int*, int, true);
-	TEST_TT(int*, double, true);
-	TEST_TT(int*, A, false);
-	TEST_TT(int*, B, false);
-	TEST_TT(double*, bool, true);
-	TEST_TT(double*, int, true);
-	TEST_TT(double*, double, true);
-	TEST_TT(double*, A, false);
-	TEST_TT(double*, B, false);
-	TEST_TT(A*, bool, true);
-	TEST_TT(A*, int, true);
-	TEST_TT(A*, double, true);
-	TEST_TT(A*, A, false);
-	TEST_TT(A*, B, false);
-	TEST_TT(B*, bool, true);
-	TEST_TT(B*, int, true);
-	TEST_TT(B*, double, true);
-	TEST_TT(B*, A, false);
-	TEST_TT(B*, B, false);
-	TEST_TT(bool, void*, true);
-	TEST_TT(bool, bool*, true);
-	TEST_TT(bool, int*, true);
-	TEST_TT(bool, double*, true);
-	TEST_TT(bool, A*, true);
-	TEST_TT(bool, B*, true);
-	TEST_TT(int, void*, true);
-	TEST_TT(int, bool*, true);
-	TEST_TT(int, int*, true);
-	TEST_TT(int, double*, true);
-	TEST_TT(int, A*, true);
-	TEST_TT(int, B*, true);
-	TEST_TT(double, void*, true);
-	TEST_TT(double, bool*, true);
-	TEST_TT(double, int*, true);
-	TEST_TT(double, double*, true);
-	TEST_TT(double, A*, true);
-	TEST_TT(double, B*, true);
-	TEST_TT(A, void*, false);
-	TEST_TT(A, bool*, false);
-	TEST_TT(A, int*, false);
-	TEST_TT(A, double*, false);
-	TEST_TT(A, A*, false);
-	TEST_TT(A, B*, false);
-	TEST_TT(B, void*, false);
-	TEST_TT(B, bool*, false);
-	TEST_TT(B, int*, false);
-	TEST_TT(B, double*, false);
-	TEST_TT(B, A*, false);
-	TEST_TT(B, B*, false);
-	TEST_TT(void*, void*, true);
-	TEST_TT(void*, bool*, true);
-	TEST_TT(void*, int*, true);
-	TEST_TT(void*, double*, true);
-	TEST_TT(void*, A*, true);
-	TEST_TT(void*, B*, true);
-	TEST_TT(bool*, void*, true);
-	TEST_TT(bool*, bool*, true);
-	TEST_TT(bool*, int*, true);
-	TEST_TT(bool*, double*, true);
-	TEST_TT(bool*, A*, true);
-	TEST_TT(bool*, B*, true);
-	TEST_TT(int*, void*, true);
-	TEST_TT(int*, bool*, true);
-	TEST_TT(int*, int*, true);
-	TEST_TT(int*, double*, true);
-	TEST_TT(int*, A*, true);
-	TEST_TT(int*, B*, true);
-	TEST_TT(double*, void*, true);
-	TEST_TT(double*, bool*, true);
-	TEST_TT(double*, int*, true);
-	TEST_TT(double*, double*, true);
-	TEST_TT(double*, A*, true);
-	TEST_TT(double*, B*, true);
-	TEST_TT(A*, void*, true);
-	TEST_TT(A*, bool*, true);
-	TEST_TT(A*, int*, true);
-	TEST_TT(A*, double*, true);
-	TEST_TT(A*, A*, true);
-	TEST_TT(A*, B*, true);
-	TEST_TT(B*, void*, true);
-	TEST_TT(B*, bool*, true);
-	TEST_TT(B*, int*, true);
-	TEST_TT(B*, double*, true);
-	TEST_TT(B*, A*, true);
-	TEST_TT(B*, B*, true);
+   TEST_TR(without, bool, false);
+   TEST_TR(internal, bool, false);
+   TEST_TR(internal, ret, true);
+   TEST_TR(external, bool, false);
+   TEST_TR(external, ret, true);
+   TEST_TR(returns_int, bool, true);
+   TEST_TR(returns_int, int, true);
+   TEST_TR(returns_void, void, true);
+   TEST_TR(returns_void, bool, false);
+   TEST_TR(returns_void_star, bool, true);
+   TEST_TR(returns_double, bool, true);
+   TEST_TR(returns_double, double, true);
+   TEST_TR(returns_string, bool, false);
+   TEST_TR(returns_string, std::string, true);
+// TEST_TR(convertible_to_bool, bool, true);
+   TEST_TR(Base1, bool, true);
+   TEST_TR(Derived1, bool, true);
+   TEST_TR(Base2, bool, false);
+   TEST_TR(Derived2, bool, true);
+   // pointers
+   TEST_TT(void*, bool, true);
+   TEST_TT(void*, int, true);
+   TEST_TT(void*, double, true);
+   TEST_TT(void*, A, false);
+   TEST_TT(void*, B, false);
+   TEST_TT(bool*, bool, true);
+   TEST_TT(bool*, int, true);
+   TEST_TT(bool*, double, true);
+   TEST_TT(bool*, A, false);
+   TEST_TT(bool*, B, false);
+   TEST_TT(int*, bool, true);
+   TEST_TT(int*, int, true);
+   TEST_TT(int*, double, true);
+   TEST_TT(int*, A, false);
+   TEST_TT(int*, B, false);
+   TEST_TT(double*, bool, true);
+   TEST_TT(double*, int, true);
+   TEST_TT(double*, double, true);
+   TEST_TT(double*, A, false);
+   TEST_TT(double*, B, false);
+   TEST_TT(A*, bool, true);
+   TEST_TT(A*, int, true);
+   TEST_TT(A*, double, true);
+   TEST_TT(A*, A, false);
+   TEST_TT(A*, B, false);
+   TEST_TT(B*, bool, true);
+   TEST_TT(B*, int, true);
+   TEST_TT(B*, double, true);
+   TEST_TT(B*, A, false);
+   TEST_TT(B*, B, false);
+   TEST_TT(bool, void*, true);
+   TEST_TT(bool, bool*, true);
+   TEST_TT(bool, int*, true);
+   TEST_TT(bool, double*, true);
+   TEST_TT(bool, A*, true);
+   TEST_TT(bool, B*, true);
+   TEST_TT(int, void*, true);
+   TEST_TT(int, bool*, true);
+   TEST_TT(int, int*, true);
+   TEST_TT(int, double*, true);
+   TEST_TT(int, A*, true);
+   TEST_TT(int, B*, true);
+   TEST_TT(double, void*, true);
+   TEST_TT(double, bool*, true);
+   TEST_TT(double, int*, true);
+   TEST_TT(double, double*, true);
+   TEST_TT(double, A*, true);
+   TEST_TT(double, B*, true);
+   TEST_TT(A, void*, false);
+   TEST_TT(A, bool*, false);
+   TEST_TT(A, int*, false);
+   TEST_TT(A, double*, false);
+   TEST_TT(A, A*, false);
+   TEST_TT(A, B*, false);
+   TEST_TT(B, void*, false);
+   TEST_TT(B, bool*, false);
+   TEST_TT(B, int*, false);
+   TEST_TT(B, double*, false);
+   TEST_TT(B, A*, false);
+   TEST_TT(B, B*, false);
+   TEST_TT(void*, void*, true);
+   TEST_TT(void*, bool*, true);
+   TEST_TT(void*, int*, true);
+   TEST_TT(void*, double*, true);
+   TEST_TT(void*, A*, true);
+   TEST_TT(void*, B*, true);
+   TEST_TT(bool*, void*, true);
+   TEST_TT(bool*, bool*, true);
+   TEST_TT(bool*, int*, true);
+   TEST_TT(bool*, double*, true);
+   TEST_TT(bool*, A*, true);
+   TEST_TT(bool*, B*, true);
+   TEST_TT(int*, void*, true);
+   TEST_TT(int*, bool*, true);
+   TEST_TT(int*, int*, true);
+   TEST_TT(int*, double*, true);
+   TEST_TT(int*, A*, true);
+   TEST_TT(int*, B*, true);
+   TEST_TT(double*, void*, true);
+   TEST_TT(double*, bool*, true);
+   TEST_TT(double*, int*, true);
+   TEST_TT(double*, double*, true);
+   TEST_TT(double*, A*, true);
+   TEST_TT(double*, B*, true);
+   TEST_TT(A*, void*, true);
+   TEST_TT(A*, bool*, true);
+   TEST_TT(A*, int*, true);
+   TEST_TT(A*, double*, true);
+   TEST_TT(A*, A*, true);
+   TEST_TT(A*, B*, true);
+   TEST_TT(B*, void*, true);
+   TEST_TT(B*, bool*, true);
+   TEST_TT(B*, int*, true);
+   TEST_TT(B*, double*, true);
+   TEST_TT(B*, A*, true);
+   TEST_TT(B*, B*, true);
 }
 }
 
 TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-	run();
+   run();
 TT_TEST_END
Modified: sandbox/type_traits/libs/type_traits/test/has_binary_minus_operator_test.hpp
==============================================================================
--- sandbox/type_traits/libs/type_traits/test/has_binary_minus_operator_test.hpp	(original)
+++ sandbox/type_traits/libs/type_traits/test/has_binary_minus_operator_test.hpp	2011-02-03 17:09:55 EST (Thu, 03 Feb 2011)
@@ -49,7 +49,7 @@
 
 class Base2 { };
 struct Derived2 : public Base2 {
-	Derived2(int); // to check if it works with a class that is not default constructible
+   Derived2(int); // to check if it works with a class that is not default constructible
 };
 
 bool operator BOOST_TT_TRAIT_OP (const Derived2&, const Derived2&) { return true; }
@@ -60,777 +60,777 @@
 struct B : public A { };
 
 void run() {
-	// test with only one template parameter
-	TEST_T(bool, true);
-	TEST_T(char, true);
-	TEST_T(signed char, true);
-	TEST_T(short int, true);
-	TEST_T(int, true);
-	TEST_T(long int, true);
-	TEST_T(unsigned char, true);
-	TEST_T(unsigned short int, true);
-	TEST_T(unsigned int, true);
-	TEST_T(unsigned long int, true);
-	TEST_T(wchar_t, true);
-	TEST_T(float, true);
-	TEST_T(double, true);
-	TEST_T(long double, true);
-	TEST_T(void, false);
-	// test with only two template parameters
-	TEST_TT(bool, bool, true);
-	TEST_TT(bool, char, true);
-	TEST_TT(bool, signed char, true);
-	TEST_TT(bool, short int, true);
-	TEST_TT(bool, int, true);
-	TEST_TT(bool, long int, true);
-	TEST_TT(bool, unsigned char, true);
-	TEST_TT(bool, unsigned short int, true);
-	TEST_TT(bool, unsigned int, true);
-	TEST_TT(bool, unsigned long int, true);
-	TEST_TT(bool, wchar_t, true);
-	TEST_TT(bool, float, true);
-	TEST_TT(bool, double, true);
-	TEST_TT(bool, long double, true);
-	TEST_TT(char, bool, true);
-	TEST_TT(char, char, true);
-	TEST_TT(char, signed char, true);
-	TEST_TT(char, short int, true);
-	TEST_TT(char, int, true);
-	TEST_TT(char, long int, true);
-	TEST_TT(char, unsigned char, true);
-	TEST_TT(char, unsigned short int, true);
-	TEST_TT(char, unsigned int, true);
-	TEST_TT(char, unsigned long int, true);
-	TEST_TT(char, wchar_t, true);
-	TEST_TT(char, float, true);
-	TEST_TT(char, double, true);
-	TEST_TT(char, long double, true);
-	TEST_TT(signed char, bool, true);
-	TEST_TT(signed char, char, true);
-	TEST_TT(signed char, signed char, true);
-	TEST_TT(signed char, short int, true);
-	TEST_TT(signed char, int, true);
-	TEST_TT(signed char, long int, true);
-	TEST_TT(signed char, unsigned char, true);
-	TEST_TT(signed char, unsigned short int, true);
-	TEST_TT(signed char, unsigned int, true);
-	TEST_TT(signed char, unsigned long int, true);
-	TEST_TT(signed char, wchar_t, true);
-	TEST_TT(signed char, float, true);
-	TEST_TT(signed char, double, true);
-	TEST_TT(signed char, long double, true);
-	TEST_TT(short int, bool, true);
-	TEST_TT(short int, char, true);
-	TEST_TT(short int, signed char, true);
-	TEST_TT(short int, short int, true);
-	TEST_TT(short int, int, true);
-	TEST_TT(short int, long int, true);
-	TEST_TT(short int, unsigned char, true);
-	TEST_TT(short int, unsigned short int, true);
-	TEST_TT(short int, unsigned int, true);
-	TEST_TT(short int, unsigned long int, true);
-	TEST_TT(short int, wchar_t, true);
-	TEST_TT(short int, float, true);
-	TEST_TT(short int, double, true);
-	TEST_TT(short int, long double, true);
-	TEST_TT(int, bool, true);
-	TEST_TT(int, char, true);
-	TEST_TT(int, signed char, true);
-	TEST_TT(int, short int, true);
-	TEST_TT(int, int, true);
-	TEST_TT(int, long int, true);
-	TEST_TT(int, unsigned char, true);
-	TEST_TT(int, unsigned short int, true);
-	TEST_TT(int, unsigned int, true);
-	TEST_TT(int, unsigned long int, true);
-	TEST_TT(int, wchar_t, true);
-	TEST_TT(int, float, true);
-	TEST_TT(int, double, true);
-	TEST_TT(int, long double, true);
-	TEST_TT(long int, bool, true);
-	TEST_TT(long int, char, true);
-	TEST_TT(long int, signed char, true);
-	TEST_TT(long int, short int, true);
-	TEST_TT(long int, int, true);
-	TEST_TT(long int, long int, true);
-	TEST_TT(long int, unsigned char, true);
-	TEST_TT(long int, unsigned short int, true);
-	TEST_TT(long int, unsigned int, true);
-	TEST_TT(long int, unsigned long int, true);
-	TEST_TT(long int, wchar_t, true);
-	TEST_TT(long int, float, true);
-	TEST_TT(long int, double, true);
-	TEST_TT(long int, long double, true);
-	TEST_TT(unsigned char, bool, true);
-	TEST_TT(unsigned char, char, true);
-	TEST_TT(unsigned char, signed char, true);
-	TEST_TT(unsigned char, short int, true);
-	TEST_TT(unsigned char, int, true);
-	TEST_TT(unsigned char, long int, true);
-	TEST_TT(unsigned char, unsigned char, true);
-	TEST_TT(unsigned char, unsigned short int, true);
-	TEST_TT(unsigned char, unsigned int, true);
-	TEST_TT(unsigned char, unsigned long int, true);
-	TEST_TT(unsigned char, wchar_t, true);
-	TEST_TT(unsigned char, float, true);
-	TEST_TT(unsigned char, double, true);
-	TEST_TT(unsigned char, long double, true);
-	TEST_TT(unsigned short int, bool, true);
-	TEST_TT(unsigned short int, char, true);
-	TEST_TT(unsigned short int, signed char, true);
-	TEST_TT(unsigned short int, short int, true);
-	TEST_TT(unsigned short int, int, true);
-	TEST_TT(unsigned short int, long int, true);
-	TEST_TT(unsigned short int, unsigned char, true);
-	TEST_TT(unsigned short int, unsigned short int, true);
-	TEST_TT(unsigned short int, unsigned int, true);
-	TEST_TT(unsigned short int, unsigned long int, true);
-	TEST_TT(unsigned short int, wchar_t, true);
-	TEST_TT(unsigned short int, float, true);
-	TEST_TT(unsigned short int, double, true);
-	TEST_TT(unsigned short int, long double, true);
-	TEST_TT(unsigned int, bool, true);
-	TEST_TT(unsigned int, char, true);
-	TEST_TT(unsigned int, signed char, true);
-	TEST_TT(unsigned int, short int, true);
-	TEST_TT(unsigned int, int, true);
-	TEST_TT(unsigned int, long int, true);
-	TEST_TT(unsigned int, unsigned char, true);
-	TEST_TT(unsigned int, unsigned short int, true);
-	TEST_TT(unsigned int, unsigned int, true);
-	TEST_TT(unsigned int, unsigned long int, true);
-	TEST_TT(unsigned int, wchar_t, true);
-	TEST_TT(unsigned int, float, true);
-	TEST_TT(unsigned int, double, true);
-	TEST_TT(unsigned int, long double, true);
-	TEST_TT(unsigned long int, bool, true);
-	TEST_TT(unsigned long int, char, true);
-	TEST_TT(unsigned long int, signed char, true);
-	TEST_TT(unsigned long int, short int, true);
-	TEST_TT(unsigned long int, int, true);
-	TEST_TT(unsigned long int, long int, true);
-	TEST_TT(unsigned long int, unsigned char, true);
-	TEST_TT(unsigned long int, unsigned short int, true);
-	TEST_TT(unsigned long int, unsigned int, true);
-	TEST_TT(unsigned long int, unsigned long int, true);
-	TEST_TT(unsigned long int, wchar_t, true);
-	TEST_TT(unsigned long int, float, true);
-	TEST_TT(unsigned long int, double, true);
-	TEST_TT(unsigned long int, long double, true);
-	TEST_TT(wchar_t, bool, true);
-	TEST_TT(wchar_t, char, true);
-	TEST_TT(wchar_t, signed char, true);
-	TEST_TT(wchar_t, short int, true);
-	TEST_TT(wchar_t, int, true);
-	TEST_TT(wchar_t, long int, true);
-	TEST_TT(wchar_t, unsigned char, true);
-	TEST_TT(wchar_t, unsigned short int, true);
-	TEST_TT(wchar_t, unsigned int, true);
-	TEST_TT(wchar_t, unsigned long int, true);
-	TEST_TT(wchar_t, wchar_t, true);
-	TEST_TT(wchar_t, float, true);
-	TEST_TT(wchar_t, double, true);
-	TEST_TT(wchar_t, long double, true);
-	TEST_TT(float, bool, true);
-	TEST_TT(float, char, true);
-	TEST_TT(float, signed char, true);
-	TEST_TT(float, short int, true);
-	TEST_TT(float, int, true);
-	TEST_TT(float, long int, true);
-	TEST_TT(float, unsigned char, true);
-	TEST_TT(float, unsigned short int, true);
-	TEST_TT(float, unsigned int, true);
-	TEST_TT(float, unsigned long int, true);
-	TEST_TT(float, wchar_t, true);
-	TEST_TT(float, float, true);
-	TEST_TT(float, double, true);
-	TEST_TT(float, long double, true);
-	TEST_TT(double, bool, true);
-	TEST_TT(double, char, true);
-	TEST_TT(double, signed char, true);
-	TEST_TT(double, short int, true);
-	TEST_TT(double, int, true);
-	TEST_TT(double, long int, true);
-	TEST_TT(double, unsigned char, true);
-	TEST_TT(double, unsigned short int, true);
-	TEST_TT(double, unsigned int, true);
-	TEST_TT(double, unsigned long int, true);
-	TEST_TT(double, wchar_t, true);
-	TEST_TT(double, float, true);
-	TEST_TT(double, double, true);
-	TEST_TT(double, long double, true);
-	TEST_TT(long double, bool, true);
-	TEST_TT(long double, char, true);
-	TEST_TT(long double, signed char, true);
-	TEST_TT(long double, short int, true);
-	TEST_TT(long double, int, true);
-	TEST_TT(long double, long int, true);
-	TEST_TT(long double, unsigned char, true);
-	TEST_TT(long double, unsigned short int, true);
-	TEST_TT(long double, unsigned int, true);
-	TEST_TT(long double, unsigned long int, true);
-	TEST_TT(long double, wchar_t, true);
-	TEST_TT(long double, float, true);
-	TEST_TT(long double, double, true);
-	TEST_TT(long double, long double, true);
-	TEST_TT(bool, void, false);
-	TEST_TT(void, bool, false);
-	TEST_TT(char, void, false);
-	TEST_TT(void, char, false);
-	TEST_TT(signed char, void, false);
-	TEST_TT(void, signed char, false);
-	TEST_TT(short int, void, false);
-	TEST_TT(void, short int, false);
-	TEST_TT(int, void, false);
-	TEST_TT(void, int, false);
-	TEST_TT(long int, void, false);
-	TEST_TT(void, long int, false);
-	TEST_TT(unsigned char, void, false);
-	TEST_TT(void, unsigned char, false);
-	TEST_TT(unsigned short int, void, false);
-	TEST_TT(void, unsigned short int, false);
-	TEST_TT(unsigned int, void, false);
-	TEST_TT(void, unsigned int, false);
-	TEST_TT(unsigned long int, void, false);
-	TEST_TT(void, unsigned long int, false);
-	TEST_TT(wchar_t, void, false);
-	TEST_TT(void, wchar_t, false);
-	TEST_TT(float, void, false);
-	TEST_TT(void, float, false);
-	TEST_TT(double, void, false);
-	TEST_TT(void, double, false);
-	TEST_TT(long double, void, false);
-	TEST_TT(void, long double, false);
+   // test with only one template parameter
+   TEST_T(bool, true);
+   TEST_T(char, true);
+   TEST_T(signed char, true);
+   TEST_T(short int, true);
+   TEST_T(int, true);
+   TEST_T(long int, true);
+   TEST_T(unsigned char, true);
+   TEST_T(unsigned short int, true);
+   TEST_T(unsigned int, true);
+   TEST_T(unsigned long int, true);
+   TEST_T(wchar_t, true);
+   TEST_T(float, true);
+   TEST_T(double, true);
+   TEST_T(long double, true);
+   TEST_T(void, false);
+   // test with only two template parameters
+   TEST_TT(bool, bool, true);
+   TEST_TT(bool, char, true);
+   TEST_TT(bool, signed char, true);
+   TEST_TT(bool, short int, true);
+   TEST_TT(bool, int, true);
+   TEST_TT(bool, long int, true);
+   TEST_TT(bool, unsigned char, true);
+   TEST_TT(bool, unsigned short int, true);
+   TEST_TT(bool, unsigned int, true);
+   TEST_TT(bool, unsigned long int, true);
+   TEST_TT(bool, wchar_t, true);
+   TEST_TT(bool, float, true);
+   TEST_TT(bool, double, true);
+   TEST_TT(bool, long double, true);
+   TEST_TT(char, bool, true);
+   TEST_TT(char, char, true);
+   TEST_TT(char, signed char, true);
+   TEST_TT(char, short int, true);
+   TEST_TT(char, int, true);
+   TEST_TT(char, long int, true);
+   TEST_TT(char, unsigned char, true);
+   TEST_TT(char, unsigned short int, true);
+   TEST_TT(char, unsigned int, true);
+   TEST_TT(char, unsigned long int, true);
+   TEST_TT(char, wchar_t, true);
+   TEST_TT(char, float, true);
+   TEST_TT(char, double, true);
+   TEST_TT(char, long double, true);
+   TEST_TT(signed char, bool, true);
+   TEST_TT(signed char, char, true);
+   TEST_TT(signed char, signed char, true);
+   TEST_TT(signed char, short int, true);
+   TEST_TT(signed char, int, true);
+   TEST_TT(signed char, long int, true);
+   TEST_TT(signed char, unsigned char, true);
+   TEST_TT(signed char, unsigned short int, true);
+   TEST_TT(signed char, unsigned int, true);
+   TEST_TT(signed char, unsigned long int, true);
+   TEST_TT(signed char, wchar_t, true);
+   TEST_TT(signed char, float, true);
+   TEST_TT(signed char, double, true);
+   TEST_TT(signed char, long double, true);
+   TEST_TT(short int, bool, true);
+   TEST_TT(short int, char, true);
+   TEST_TT(short int, signed char, true);
+   TEST_TT(short int, short int, true);
+   TEST_TT(short int, int, true);
+   TEST_TT(short int, long int, true);
+   TEST_TT(short int, unsigned char, true);
+   TEST_TT(short int, unsigned short int, true);
+   TEST_TT(short int, unsigned int, true);
+   TEST_TT(short int, unsigned long int, true);
+   TEST_TT(short int, wchar_t, true);
+   TEST_TT(short int, float, true);
+   TEST_TT(short int, double, true);
+   TEST_TT(short int, long double, true);
+   TEST_TT(int, bool, true);
+   TEST_TT(int, char, true);
+   TEST_TT(int, signed char, true);
+   TEST_TT(int, short int, true);
+   TEST_TT(int, int, true);
+   TEST_TT(int, long int, true);
+   TEST_TT(int, unsigned char, true);
+   TEST_TT(int, unsigned short int, true);
+   TEST_TT(int, unsigned int, true);
+   TEST_TT(int, unsigned long int, true);
+   TEST_TT(int, wchar_t, true);
+   TEST_TT(int, float, true);
+   TEST_TT(int, double, true);
+   TEST_TT(int, long double, true);
+   TEST_TT(long int, bool, true);
+   TEST_TT(long int, char, true);
+   TEST_TT(long int, signed char, true);
+   TEST_TT(long int, short int, true);
+   TEST_TT(long int, int, true);
+   TEST_TT(long int, long int, true);
+   TEST_TT(long int, unsigned char, true);
+   TEST_TT(long int, unsigned short int, true);
+   TEST_TT(long int, unsigned int, true);
+   TEST_TT(long int, unsigned long int, true);
+   TEST_TT(long int, wchar_t, true);
+   TEST_TT(long int, float, true);
+   TEST_TT(long int, double, true);
+   TEST_TT(long int, long double, true);
+   TEST_TT(unsigned char, bool, true);
+   TEST_TT(unsigned char, char, true);
+   TEST_TT(unsigned char, signed char, true);
+   TEST_TT(unsigned char, short int, true);
+   TEST_TT(unsigned char, int, true);
+   TEST_TT(unsigned char, long int, true);
+   TEST_TT(unsigned char, unsigned char, true);
+   TEST_TT(unsigned char, unsigned short int, true);
+   TEST_TT(unsigned char, unsigned int, true);
+   TEST_TT(unsigned char, unsigned long int, true);
+   TEST_TT(unsigned char, wchar_t, true);
+   TEST_TT(unsigned char, float, true);
+   TEST_TT(unsigned char, double, true);
+   TEST_TT(unsigned char, long double, true);
+   TEST_TT(unsigned short int, bool, true);
+   TEST_TT(unsigned short int, char, true);
+   TEST_TT(unsigned short int, signed char, true);
+   TEST_TT(unsigned short int, short int, true);
+   TEST_TT(unsigned short int, int, true);
+   TEST_TT(unsigned short int, long int, true);
+   TEST_TT(unsigned short int, unsigned char, true);
+   TEST_TT(unsigned short int, unsigned short int, true);
+   TEST_TT(unsigned short int, unsigned int, true);
+   TEST_TT(unsigned short int, unsigned long int, true);
+   TEST_TT(unsigned short int, wchar_t, true);
+   TEST_TT(unsigned short int, float, true);
+   TEST_TT(unsigned short int, double, true);
+   TEST_TT(unsigned short int, long double, true);
+   TEST_TT(unsigned int, bool, true);
+   TEST_TT(unsigned int, char, true);
+   TEST_TT(unsigned int, signed char, true);
+   TEST_TT(unsigned int, short int, true);
+   TEST_TT(unsigned int, int, true);
+   TEST_TT(unsigned int, long int, true);
+   TEST_TT(unsigned int, unsigned char, true);
+   TEST_TT(unsigned int, unsigned short int, true);
+   TEST_TT(unsigned int, unsigned int, true);
+   TEST_TT(unsigned int, unsigned long int, true);
+   TEST_TT(unsigned int, wchar_t, true);
+   TEST_TT(unsigned int, float, true);
+   TEST_TT(unsigned int, double, true);
+   TEST_TT(unsigned int, long double, true);
+   TEST_TT(unsigned long int, bool, true);
+   TEST_TT(unsigned long int, char, true);
+   TEST_TT(unsigned long int, signed char, true);
+   TEST_TT(unsigned long int, short int, true);
+   TEST_TT(unsigned long int, int, true);
+   TEST_TT(unsigned long int, long int, true);
+   TEST_TT(unsigned long int, unsigned char, true);
+   TEST_TT(unsigned long int, unsigned short int, true);
+   TEST_TT(unsigned long int, unsigned int, true);
+   TEST_TT(unsigned long int, unsigned long int, true);
+   TEST_TT(unsigned long int, wchar_t, true);
+   TEST_TT(unsigned long int, float, true);
+   TEST_TT(unsigned long int, double, true);
+   TEST_TT(unsigned long int, long double, true);
+   TEST_TT(wchar_t, bool, true);
+   TEST_TT(wchar_t, char, true);
+   TEST_TT(wchar_t, signed char, true);
+   TEST_TT(wchar_t, short int, true);
+   TEST_TT(wchar_t, int, true);
+   TEST_TT(wchar_t, long int, true);
+   TEST_TT(wchar_t, unsigned char, true);
+   TEST_TT(wchar_t, unsigned short int, true);
+   TEST_TT(wchar_t, unsigned int, true);
+   TEST_TT(wchar_t, unsigned long int, true);
+   TEST_TT(wchar_t, wchar_t, true);
+   TEST_TT(wchar_t, float, true);
+   TEST_TT(wchar_t, double, true);
+   TEST_TT(wchar_t, long double, true);
+   TEST_TT(float, bool, true);
+   TEST_TT(float, char, true);
+   TEST_TT(float, signed char, true);
+   TEST_TT(float, short int, true);
+   TEST_TT(float, int, true);
+   TEST_TT(float, long int, true);
+   TEST_TT(float, unsigned char, true);
+   TEST_TT(float, unsigned short int, true);
+   TEST_TT(float, unsigned int, true);
+   TEST_TT(float, unsigned long int, true);
+   TEST_TT(float, wchar_t, true);
+   TEST_TT(float, float, true);
+   TEST_TT(float, double, true);
+   TEST_TT(float, long double, true);
+   TEST_TT(double, bool, true);
+   TEST_TT(double, char, true);
+   TEST_TT(double, signed char, true);
+   TEST_TT(double, short int, true);
+   TEST_TT(double, int, true);
+   TEST_TT(double, long int, true);
+   TEST_TT(double, unsigned char, true);
+   TEST_TT(double, unsigned short int, true);
+   TEST_TT(double, unsigned int, true);
+   TEST_TT(double, unsigned long int, true);
+   TEST_TT(double, wchar_t, true);
+   TEST_TT(double, float, true);
+   TEST_TT(double, double, true);
+   TEST_TT(double, long double, true);
+   TEST_TT(long double, bool, true);
+   TEST_TT(long double, char, true);
+   TEST_TT(long double, signed char, true);
+   TEST_TT(long double, short int, true);
+   TEST_TT(long double, int, true);
+   TEST_TT(long double, long int, true);
+   TEST_TT(long double, unsigned char, true);
+   TEST_TT(long double, unsigned short int, true);
+   TEST_TT(long double, unsigned int, true);
+   TEST_TT(long double, unsigned long int, true);
+   TEST_TT(long double, wchar_t, true);
+   TEST_TT(long double, float, true);
+   TEST_TT(long double, double, true);
+   TEST_TT(long double, long double, true);
+   TEST_TT(bool, void, false);
+   TEST_TT(void, bool, false);
+   TEST_TT(char, void, false);
+   TEST_TT(void, char, false);
+   TEST_TT(signed char, void, false);
+   TEST_TT(void, signed char, false);
+   TEST_TT(short int, void, false);
+   TEST_TT(void, short int, false);
+   TEST_TT(int, void, false);
+   TEST_TT(void, int, false);
+   TEST_TT(long int, void, false);
+   TEST_TT(void, long int, false);
+   TEST_TT(unsigned char, void, false);
+   TEST_TT(void, unsigned char, false);
+   TEST_TT(unsigned short int, void, false);
+   TEST_TT(void, unsigned short int, false);
+   TEST_TT(unsigned int, void, false);
+   TEST_TT(void, unsigned int, false);
+   TEST_TT(unsigned long int, void, false);
+   TEST_TT(void, unsigned long int, false);
+   TEST_TT(wchar_t, void, false);
+   TEST_TT(void, wchar_t, false);
+   TEST_TT(float, void, false);
+   TEST_TT(void, float, false);
+   TEST_TT(double, void, false);
+   TEST_TT(void, double, false);
+   TEST_TT(long double, void, false);
+   TEST_TT(void, long double, false);
 
 // test with three template parameters
-	TEST_TTR(bool, bool, bool, true);
-	TEST_TTR(bool, char, bool, true);
-	TEST_TTR(bool, signed char, bool, true);
-	TEST_TTR(bool, short int, bool, true);
-	TEST_TTR(bool, int, bool, true);
-	TEST_TTR(bool, long int, bool, true);
-	TEST_TTR(bool, unsigned char, bool, true);
-	TEST_TTR(bool, unsigned short int, bool, true);
-	TEST_TTR(bool, unsigned int, bool, true);
-	TEST_TTR(bool, unsigned long int, bool, true);
-	TEST_TTR(bool, wchar_t, bool, true);
-	TEST_TTR(bool, float, bool, true);
-	TEST_TTR(bool, double, bool, true);
-	TEST_TTR(bool, long double, bool, true);
-	TEST_TTR(char, bool, bool, true);
-	TEST_TTR(char, char, bool, true);
-	TEST_TTR(char, signed char, bool, true);
-	TEST_TTR(char, short int, bool, true);
-	TEST_TTR(char, int, bool, true);
-	TEST_TTR(char, long int, bool, true);
-	TEST_TTR(char, unsigned char, bool, true);
-	TEST_TTR(char, unsigned short int, bool, true);
-	TEST_TTR(char, unsigned int, bool, true);
-	TEST_TTR(char, unsigned long int, bool, true);
-	TEST_TTR(char, wchar_t, bool, true);
-	TEST_TTR(char, float, bool, true);
-	TEST_TTR(char, double, bool, true);
-	TEST_TTR(char, long double, bool, true);
-	TEST_TTR(signed char, bool, bool, true);
-	TEST_TTR(signed char, char, bool, true);
-	TEST_TTR(signed char, signed char, bool, true);
-	TEST_TTR(signed char, short int, bool, true);
-	TEST_TTR(signed char, int, bool, true);
-	TEST_TTR(signed char, long int, bool, true);
-	TEST_TTR(signed char, unsigned char, bool, true);
-	TEST_TTR(signed char, unsigned short int, bool, true);
-	TEST_TTR(signed char, unsigned int, bool, true);
-	TEST_TTR(signed char, unsigned long int, bool, true);
-	TEST_TTR(signed char, wchar_t, bool, true);
-	TEST_TTR(signed char, float, bool, true);
-	TEST_TTR(signed char, double, bool, true);
-	TEST_TTR(signed char, long double, bool, true);
-	TEST_TTR(short int, bool, bool, true);
-	TEST_TTR(short int, char, bool, true);
-	TEST_TTR(short int, signed char, bool, true);
-	TEST_TTR(short int, short int, bool, true);
-	TEST_TTR(short int, int, bool, true);
-	TEST_TTR(short int, long int, bool, true);
-	TEST_TTR(short int, unsigned char, bool, true);
-	TEST_TTR(short int, unsigned short int, bool, true);
-	TEST_TTR(short int, unsigned int, bool, true);
-	TEST_TTR(short int, unsigned long int, bool, true);
-	TEST_TTR(short int, wchar_t, bool, true);
-	TEST_TTR(short int, float, bool, true);
-	TEST_TTR(short int, double, bool, true);
-	TEST_TTR(short int, long double, bool, true);
-	TEST_TTR(int, bool, bool, true);
-	TEST_TTR(int, char, bool, true);
-	TEST_TTR(int, signed char, bool, true);
-	TEST_TTR(int, short int, bool, true);
-	TEST_TTR(int, int, bool, true);
-	TEST_TTR(int, long int, bool, true);
-	TEST_TTR(int, unsigned char, bool, true);
-	TEST_TTR(int, unsigned short int, bool, true);
-	TEST_TTR(int, unsigned int, bool, true);
-	TEST_TTR(int, unsigned long int, bool, true);
-	TEST_TTR(int, wchar_t, bool, true);
-	TEST_TTR(int, float, bool, true);
-	TEST_TTR(int, double, bool, true);
-	TEST_TTR(int, long double, bool, true);
-	TEST_TTR(long int, bool, bool, true);
-	TEST_TTR(long int, char, bool, true);
-	TEST_TTR(long int, signed char, bool, true);
-	TEST_TTR(long int, short int, bool, true);
-	TEST_TTR(long int, int, bool, true);
-	TEST_TTR(long int, long int, bool, true);
-	TEST_TTR(long int, unsigned char, bool, true);
-	TEST_TTR(long int, unsigned short int, bool, true);
-	TEST_TTR(long int, unsigned int, bool, true);
-	TEST_TTR(long int, unsigned long int, bool, true);
-	TEST_TTR(long int, wchar_t, bool, true);
-	TEST_TTR(long int, float, bool, true);
-	TEST_TTR(long int, double, bool, true);
-	TEST_TTR(long int, long double, bool, true);
-	TEST_TTR(unsigned char, bool, bool, true);
-	TEST_TTR(unsigned char, char, bool, true);
-	TEST_TTR(unsigned char, signed char, bool, true);
-	TEST_TTR(unsigned char, short int, bool, true);
-	TEST_TTR(unsigned char, int, bool, true);
-	TEST_TTR(unsigned char, long int, bool, true);
-	TEST_TTR(unsigned char, unsigned char, bool, true);
-	TEST_TTR(unsigned char, unsigned short int, bool, true);
-	TEST_TTR(unsigned char, unsigned int, bool, true);
-	TEST_TTR(unsigned char, unsigned long int, bool, true);
-	TEST_TTR(unsigned char, wchar_t, bool, true);
-	TEST_TTR(unsigned char, float, bool, true);
-	TEST_TTR(unsigned char, double, bool, true);
-	TEST_TTR(unsigned char, long double, bool, true);
-	TEST_TTR(unsigned short int, bool, bool, true);
-	TEST_TTR(unsigned short int, char, bool, true);
-	TEST_TTR(unsigned short int, signed char, bool, true);
-	TEST_TTR(unsigned short int, short int, bool, true);
-	TEST_TTR(unsigned short int, int, bool, true);
-	TEST_TTR(unsigned short int, long int, bool, true);
-	TEST_TTR(unsigned short int, unsigned char, bool, true);
-	TEST_TTR(unsigned short int, unsigned short int, bool, true);
-	TEST_TTR(unsigned short int, unsigned int, bool, true);
-	TEST_TTR(unsigned short int, unsigned long int, bool, true);
-	TEST_TTR(unsigned short int, wchar_t, bool, true);
-	TEST_TTR(unsigned short int, float, bool, true);
-	TEST_TTR(unsigned short int, double, bool, true);
-	TEST_TTR(unsigned short int, long double, bool, true);
-	TEST_TTR(unsigned int, bool, bool, true);
-	TEST_TTR(unsigned int, char, bool, true);
-	TEST_TTR(unsigned int, signed char, bool, true);
-	TEST_TTR(unsigned int, short int, bool, true);
-	TEST_TTR(unsigned int, int, bool, true);
-	TEST_TTR(unsigned int, long int, bool, true);
-	TEST_TTR(unsigned int, unsigned char, bool, true);
-	TEST_TTR(unsigned int, unsigned short int, bool, true);
-	TEST_TTR(unsigned int, unsigned int, bool, true);
-	TEST_TTR(unsigned int, unsigned long int, bool, true);
-	TEST_TTR(unsigned int, wchar_t, bool, true);
-	TEST_TTR(unsigned int, float, bool, true);
-	TEST_TTR(unsigned int, double, bool, true);
-	TEST_TTR(unsigned int, long double, bool, true);
-	TEST_TTR(unsigned long int, bool, bool, true);
-	TEST_TTR(unsigned long int, char, bool, true);
-	TEST_TTR(unsigned long int, signed char, bool, true);
-	TEST_TTR(unsigned long int, short int, bool, true);
-	TEST_TTR(unsigned long int, int, bool, true);
-	TEST_TTR(unsigned long int, long int, bool, true);
-	TEST_TTR(unsigned long int, unsigned char, bool, true);
-	TEST_TTR(unsigned long int, unsigned short int, bool, true);
-	TEST_TTR(unsigned long int, unsigned int, bool, true);
-	TEST_TTR(unsigned long int, unsigned long int, bool, true);
-	TEST_TTR(unsigned long int, wchar_t, bool, true);
-	TEST_TTR(unsigned long int, float, bool, true);
-	TEST_TTR(unsigned long int, double, bool, true);
-	TEST_TTR(unsigned long int, long double, bool, true);
-	TEST_TTR(wchar_t, bool, bool, true);
-	TEST_TTR(wchar_t, char, bool, true);
-	TEST_TTR(wchar_t, signed char, bool, true);
-	TEST_TTR(wchar_t, short int, bool, true);
-	TEST_TTR(wchar_t, int, bool, true);
-	TEST_TTR(wchar_t, long int, bool, true);
-	TEST_TTR(wchar_t, unsigned char, bool, true);
-	TEST_TTR(wchar_t, unsigned short int, bool, true);
-	TEST_TTR(wchar_t, unsigned int, bool, true);
-	TEST_TTR(wchar_t, unsigned long int, bool, true);
-	TEST_TTR(wchar_t, wchar_t, bool, true);
-	TEST_TTR(wchar_t, float, bool, true);
-	TEST_TTR(wchar_t, double, bool, true);
-	TEST_TTR(wchar_t, long double, bool, true);
-	TEST_TTR(float, bool, bool, true);
-	TEST_TTR(float, char, bool, true);
-	TEST_TTR(float, signed char, bool, true);
-	TEST_TTR(float, short int, bool, true);
-	TEST_TTR(float, int, bool, true);
-	TEST_TTR(float, long int, bool, true);
-	TEST_TTR(float, unsigned char, bool, true);
-	TEST_TTR(float, unsigned short int, bool, true);
-	TEST_TTR(float, unsigned int, bool, true);
-	TEST_TTR(float, unsigned long int, bool, true);
-	TEST_TTR(float, wchar_t, bool, true);
-	TEST_TTR(float, float, bool, true);
-	TEST_TTR(float, double, bool, true);
-	TEST_TTR(float, long double, bool, true);
-	TEST_TTR(double, bool, bool, true);
-	TEST_TTR(double, char, bool, true);
-	TEST_TTR(double, signed char, bool, true);
-	TEST_TTR(double, short int, bool, true);
-	TEST_TTR(double, int, bool, true);
-	TEST_TTR(double, long int, bool, true);
-	TEST_TTR(double, unsigned char, bool, true);
-	TEST_TTR(double, unsigned short int, bool, true);
-	TEST_TTR(double, unsigned int, bool, true);
-	TEST_TTR(double, unsigned long int, bool, true);
-	TEST_TTR(double, wchar_t, bool, true);
-	TEST_TTR(double, float, bool, true);
-	TEST_TTR(double, double, bool, true);
-	TEST_TTR(double, long double, bool, true);
-	TEST_TTR(long double, bool, bool, true);
-	TEST_TTR(long double, char, bool, true);
-	TEST_TTR(long double, signed char, bool, true);
-	TEST_TTR(long double, short int, bool, true);
-	TEST_TTR(long double, int, bool, true);
-	TEST_TTR(long double, long int, bool, true);
-	TEST_TTR(long double, unsigned char, bool, true);
-	TEST_TTR(long double, unsigned short int, bool, true);
-	TEST_TTR(long double, unsigned int, bool, true);
-	TEST_TTR(long double, unsigned long int, bool, true);
-	TEST_TTR(long double, wchar_t, bool, true);
-	TEST_TTR(long double, float, bool, true);
-	TEST_TTR(long double, double, bool, true);
-	TEST_TTR(long double, long double, bool, true);
-	TEST_TTR(bool, bool, tag, false);
-	TEST_TTR(bool, char, tag, false);
-	TEST_TTR(bool, signed char, tag, false);
-	TEST_TTR(bool, short int, tag, false);
-	TEST_TTR(bool, int, tag, false);
-	TEST_TTR(bool, long int, tag, false);
-	TEST_TTR(bool, unsigned char, tag, false);
-	TEST_TTR(bool, unsigned short int, tag, false);
-	TEST_TTR(bool, unsigned int, tag, false);
-	TEST_TTR(bool, unsigned long int, tag, false);
-	TEST_TTR(bool, wchar_t, tag, false);
-	TEST_TTR(bool, float, tag, false);
-	TEST_TTR(bool, double, tag, false);
-	TEST_TTR(bool, long double, tag, false);
-	TEST_TTR(char, bool, tag, false);
-	TEST_TTR(char, char, tag, false);
-	TEST_TTR(char, signed char, tag, false);
-	TEST_TTR(char, short int, tag, false);
-	TEST_TTR(char, int, tag, false);
-	TEST_TTR(char, long int, tag, false);
-	TEST_TTR(char, unsigned char, tag, false);
-	TEST_TTR(char, unsigned short int, tag, false);
-	TEST_TTR(char, unsigned int, tag, false);
-	TEST_TTR(char, unsigned long int, tag, false);
-	TEST_TTR(char, wchar_t, tag, false);
-	TEST_TTR(char, float, tag, false);
-	TEST_TTR(char, double, tag, false);
-	TEST_TTR(char, long double, tag, false);
-	TEST_TTR(signed char, bool, tag, false);
-	TEST_TTR(signed char, char, tag, false);
-	TEST_TTR(signed char, signed char, tag, false);
-	TEST_TTR(signed char, short int, tag, false);
-	TEST_TTR(signed char, int, tag, false);
-	TEST_TTR(signed char, long int, tag, false);
-	TEST_TTR(signed char, unsigned char, tag, false);
-	TEST_TTR(signed char, unsigned short int, tag, false);
-	TEST_TTR(signed char, unsigned int, tag, false);
-	TEST_TTR(signed char, unsigned long int, tag, false);
-	TEST_TTR(signed char, wchar_t, tag, false);
-	TEST_TTR(signed char, float, tag, false);
-	TEST_TTR(signed char, double, tag, false);
-	TEST_TTR(signed char, long double, tag, false);
-	TEST_TTR(short int, bool, tag, false);
-	TEST_TTR(short int, char, tag, false);
-	TEST_TTR(short int, signed char, tag, false);
-	TEST_TTR(short int, short int, tag, false);
-	TEST_TTR(short int, int, tag, false);
-	TEST_TTR(short int, long int, tag, false);
-	TEST_TTR(short int, unsigned char, tag, false);
-	TEST_TTR(short int, unsigned short int, tag, false);
-	TEST_TTR(short int, unsigned int, tag, false);
-	TEST_TTR(short int, unsigned long int, tag, false);
-	TEST_TTR(short int, wchar_t, tag, false);
-	TEST_TTR(short int, float, tag, false);
-	TEST_TTR(short int, double, tag, false);
-	TEST_TTR(short int, long double, tag, false);
-	TEST_TTR(int, bool, tag, false);
-	TEST_TTR(int, char, tag, false);
-	TEST_TTR(int, signed char, tag, false);
-	TEST_TTR(int, short int, tag, false);
-	TEST_TTR(int, int, tag, false);
-	TEST_TTR(int, long int, tag, false);
-	TEST_TTR(int, unsigned char, tag, false);
-	TEST_TTR(int, unsigned short int, tag, false);
-	TEST_TTR(int, unsigned int, tag, false);
-	TEST_TTR(int, unsigned long int, tag, false);
-	TEST_TTR(int, wchar_t, tag, false);
-	TEST_TTR(int, float, tag, false);
-	TEST_TTR(int, double, tag, false);
-	TEST_TTR(int, long double, tag, false);
-	TEST_TTR(long int, bool, tag, false);
-	TEST_TTR(long int, char, tag, false);
-	TEST_TTR(long int, signed char, tag, false);
-	TEST_TTR(long int, short int, tag, false);
-	TEST_TTR(long int, int, tag, false);
-	TEST_TTR(long int, long int, tag, false);
-	TEST_TTR(long int, unsigned char, tag, false);
-	TEST_TTR(long int, unsigned short int, tag, false);
-	TEST_TTR(long int, unsigned int, tag, false);
-	TEST_TTR(long int, unsigned long int, tag, false);
-	TEST_TTR(long int, wchar_t, tag, false);
-	TEST_TTR(long int, float, tag, false);
-	TEST_TTR(long int, double, tag, false);
-	TEST_TTR(long int, long double, tag, false);
-	TEST_TTR(unsigned char, bool, tag, false);
-	TEST_TTR(unsigned char, char, tag, false);
-	TEST_TTR(unsigned char, signed char, tag, false);
-	TEST_TTR(unsigned char, short int, tag, false);
-	TEST_TTR(unsigned char, int, tag, false);
-	TEST_TTR(unsigned char, long int, tag, false);
-	TEST_TTR(unsigned char, unsigned char, tag, false);
-	TEST_TTR(unsigned char, unsigned short int, tag, false);
-	TEST_TTR(unsigned char, unsigned int, tag, false);
-	TEST_TTR(unsigned char, unsigned long int, tag, false);
-	TEST_TTR(unsigned char, wchar_t, tag, false);
-	TEST_TTR(unsigned char, float, tag, false);
-	TEST_TTR(unsigned char, double, tag, false);
-	TEST_TTR(unsigned char, long double, tag, false);
-	TEST_TTR(unsigned short int, bool, tag, false);
-	TEST_TTR(unsigned short int, char, tag, false);
-	TEST_TTR(unsigned short int, signed char, tag, false);
-	TEST_TTR(unsigned short int, short int, tag, false);
-	TEST_TTR(unsigned short int, int, tag, false);
-	TEST_TTR(unsigned short int, long int, tag, false);
-	TEST_TTR(unsigned short int, unsigned char, tag, false);
-	TEST_TTR(unsigned short int, unsigned short int, tag, false);
-	TEST_TTR(unsigned short int, unsigned int, tag, false);
-	TEST_TTR(unsigned short int, unsigned long int, tag, false);
-	TEST_TTR(unsigned short int, wchar_t, tag, false);
-	TEST_TTR(unsigned short int, float, tag, false);
-	TEST_TTR(unsigned short int, double, tag, false);
-	TEST_TTR(unsigned short int, long double, tag, false);
-	TEST_TTR(unsigned int, bool, tag, false);
-	TEST_TTR(unsigned int, char, tag, false);
-	TEST_TTR(unsigned int, signed char, tag, false);
-	TEST_TTR(unsigned int, short int, tag, false);
-	TEST_TTR(unsigned int, int, tag, false);
-	TEST_TTR(unsigned int, long int, tag, false);
-	TEST_TTR(unsigned int, unsigned char, tag, false);
-	TEST_TTR(unsigned int, unsigned short int, tag, false);
-	TEST_TTR(unsigned int, unsigned int, tag, false);
-	TEST_TTR(unsigned int, unsigned long int, tag, false);
-	TEST_TTR(unsigned int, wchar_t, tag, false);
-	TEST_TTR(unsigned int, float, tag, false);
-	TEST_TTR(unsigned int, double, tag, false);
-	TEST_TTR(unsigned int, long double, tag, false);
-	TEST_TTR(unsigned long int, bool, tag, false);
-	TEST_TTR(unsigned long int, char, tag, false);
-	TEST_TTR(unsigned long int, signed char, tag, false);
-	TEST_TTR(unsigned long int, short int, tag, false);
-	TEST_TTR(unsigned long int, int, tag, false);
-	TEST_TTR(unsigned long int, long int, tag, false);
-	TEST_TTR(unsigned long int, unsigned char, tag, false);
-	TEST_TTR(unsigned long int, unsigned short int, tag, false);
-	TEST_TTR(unsigned long int, unsigned int, tag, false);
-	TEST_TTR(unsigned long int, unsigned long int, tag, false);
-	TEST_TTR(unsigned long int, wchar_t, tag, false);
-	TEST_TTR(unsigned long int, float, tag, false);
-	TEST_TTR(unsigned long int, double, tag, false);
-	TEST_TTR(unsigned long int, long double, tag, false);
-	TEST_TTR(wchar_t, bool, tag, false);
-	TEST_TTR(wchar_t, char, tag, false);
-	TEST_TTR(wchar_t, signed char, tag, false);
-	TEST_TTR(wchar_t, short int, tag, false);
-	TEST_TTR(wchar_t, int, tag, false);
-	TEST_TTR(wchar_t, long int, tag, false);
-	TEST_TTR(wchar_t, unsigned char, tag, false);
-	TEST_TTR(wchar_t, unsigned short int, tag, false);
-	TEST_TTR(wchar_t, unsigned int, tag, false);
-	TEST_TTR(wchar_t, unsigned long int, tag, false);
-	TEST_TTR(wchar_t, wchar_t, tag, false);
-	TEST_TTR(wchar_t, float, tag, false);
-	TEST_TTR(wchar_t, double, tag, false);
-	TEST_TTR(wchar_t, long double, tag, false);
-	TEST_TTR(float, bool, tag, false);
-	TEST_TTR(float, char, tag, false);
-	TEST_TTR(float, signed char, tag, false);
-	TEST_TTR(float, short int, tag, false);
-	TEST_TTR(float, int, tag, false);
-	TEST_TTR(float, long int, tag, false);
-	TEST_TTR(float, unsigned char, tag, false);
-	TEST_TTR(float, unsigned short int, tag, false);
-	TEST_TTR(float, unsigned int, tag, false);
-	TEST_TTR(float, unsigned long int, tag, false);
-	TEST_TTR(float, wchar_t, tag, false);
-	TEST_TTR(float, float, tag, false);
-	TEST_TTR(float, double, tag, false);
-	TEST_TTR(float, long double, tag, false);
-	TEST_TTR(double, bool, tag, false);
-	TEST_TTR(double, char, tag, false);
-	TEST_TTR(double, signed char, tag, false);
-	TEST_TTR(double, short int, tag, false);
-	TEST_TTR(double, int, tag, false);
-	TEST_TTR(double, long int, tag, false);
-	TEST_TTR(double, unsigned char, tag, false);
-	TEST_TTR(double, unsigned short int, tag, false);
-	TEST_TTR(double, unsigned int, tag, false);
-	TEST_TTR(double, unsigned long int, tag, false);
-	TEST_TTR(double, wchar_t, tag, false);
-	TEST_TTR(double, float, tag, false);
-	TEST_TTR(double, double, tag, false);
-	TEST_TTR(double, long double, tag, false);
-	TEST_TTR(long double, bool, tag, false);
-	TEST_TTR(long double, char, tag, false);
-	TEST_TTR(long double, signed char, tag, false);
-	TEST_TTR(long double, short int, tag, false);
-	TEST_TTR(long double, int, tag, false);
-	TEST_TTR(long double, long int, tag, false);
-	TEST_TTR(long double, unsigned char, tag, false);
-	TEST_TTR(long double, unsigned short int, tag, false);
-	TEST_TTR(long double, unsigned int, tag, false);
-	TEST_TTR(long double, unsigned long int, tag, false);
-	TEST_TTR(long double, wchar_t, tag, false);
-	TEST_TTR(long double, float, tag, false);
-	TEST_TTR(long double, double, tag, false);
-	TEST_TTR(long double, long double, tag, false);
+   TEST_TTR(bool, bool, bool, true);
+   TEST_TTR(bool, char, bool, true);
+   TEST_TTR(bool, signed char, bool, true);
+   TEST_TTR(bool, short int, bool, true);
+   TEST_TTR(bool, int, bool, true);
+   TEST_TTR(bool, long int, bool, true);
+   TEST_TTR(bool, unsigned char, bool, true);
+   TEST_TTR(bool, unsigned short int, bool, true);
+   TEST_TTR(bool, unsigned int, bool, true);
+   TEST_TTR(bool, unsigned long int, bool, true);
+   TEST_TTR(bool, wchar_t, bool, true);
+   TEST_TTR(bool, float, bool, true);
+   TEST_TTR(bool, double, bool, true);
+   TEST_TTR(bool, long double, bool, true);
+   TEST_TTR(char, bool, bool, true);
+   TEST_TTR(char, char, bool, true);
+   TEST_TTR(char, signed char, bool, true);
+   TEST_TTR(char, short int, bool, true);
+   TEST_TTR(char, int, bool, true);
+   TEST_TTR(char, long int, bool, true);
+   TEST_TTR(char, unsigned char, bool, true);
+   TEST_TTR(char, unsigned short int, bool, true);
+   TEST_TTR(char, unsigned int, bool, true);
+   TEST_TTR(char, unsigned long int, bool, true);
+   TEST_TTR(char, wchar_t, bool, true);
+   TEST_TTR(char, float, bool, true);
+   TEST_TTR(char, double, bool, true);
+   TEST_TTR(char, long double, bool, true);
+   TEST_TTR(signed char, bool, bool, true);
+   TEST_TTR(signed char, char, bool, true);
+   TEST_TTR(signed char, signed char, bool, true);
+   TEST_TTR(signed char, short int, bool, true);
+   TEST_TTR(signed char, int, bool, true);
+   TEST_TTR(signed char, long int, bool, true);
+   TEST_TTR(signed char, unsigned char, bool, true);
+   TEST_TTR(signed char, unsigned short int, bool, true);
+   TEST_TTR(signed char, unsigned int, bool, true);
+   TEST_TTR(signed char, unsigned long int, bool, true);
+   TEST_TTR(signed char, wchar_t, bool, true);
+   TEST_TTR(signed char, float, bool, true);
+   TEST_TTR(signed char, double, bool, true);
+   TEST_TTR(signed char, long double, bool, true);
+   TEST_TTR(short int, bool, bool, true);
+   TEST_TTR(short int, char, bool, true);
+   TEST_TTR(short int, signed char, bool, true);
+   TEST_TTR(short int, short int, bool, true);
+   TEST_TTR(short int, int, bool, true);
+   TEST_TTR(short int, long int, bool, true);
+   TEST_TTR(short int, unsigned char, bool, true);
+   TEST_TTR(short int, unsigned short int, bool, true);
+   TEST_TTR(short int, unsigned int, bool, true);
+   TEST_TTR(short int, unsigned long int, bool, true);
+   TEST_TTR(short int, wchar_t, bool, true);
+   TEST_TTR(short int, float, bool, true);
+   TEST_TTR(short int, double, bool, true);
+   TEST_TTR(short int, long double, bool, true);
+   TEST_TTR(int, bool, bool, true);
+   TEST_TTR(int, char, bool, true);
+   TEST_TTR(int, signed char, bool, true);
+   TEST_TTR(int, short int, bool, true);
+   TEST_TTR(int, int, bool, true);
+   TEST_TTR(int, long int, bool, true);
+   TEST_TTR(int, unsigned char, bool, true);
+   TEST_TTR(int, unsigned short int, bool, true);
+   TEST_TTR(int, unsigned int, bool, true);
+   TEST_TTR(int, unsigned long int, bool, true);
+   TEST_TTR(int, wchar_t, bool, true);
+   TEST_TTR(int, float, bool, true);
+   TEST_TTR(int, double, bool, true);
+   TEST_TTR(int, long double, bool, true);
+   TEST_TTR(long int, bool, bool, true);
+   TEST_TTR(long int, char, bool, true);
+   TEST_TTR(long int, signed char, bool, true);
+   TEST_TTR(long int, short int, bool, true);
+   TEST_TTR(long int, int, bool, true);
+   TEST_TTR(long int, long int, bool, true);
+   TEST_TTR(long int, unsigned char, bool, true);
+   TEST_TTR(long int, unsigned short int, bool, true);
+   TEST_TTR(long int, unsigned int, bool, true);
+   TEST_TTR(long int, unsigned long int, bool, true);
+   TEST_TTR(long int, wchar_t, bool, true);
+   TEST_TTR(long int, float, bool, true);
+   TEST_TTR(long int, double, bool, true);
+   TEST_TTR(long int, long double, bool, true);
+   TEST_TTR(unsigned char, bool, bool, true);
+   TEST_TTR(unsigned char, char, bool, true);
+   TEST_TTR(unsigned char, signed char, bool, true);
+   TEST_TTR(unsigned char, short int, bool, true);
+   TEST_TTR(unsigned char, int, bool, true);
+   TEST_TTR(unsigned char, long int, bool, true);
+   TEST_TTR(unsigned char, unsigned char, bool, true);
+   TEST_TTR(unsigned char, unsigned short int, bool, true);
+   TEST_TTR(unsigned char, unsigned int, bool, true);
+   TEST_TTR(unsigned char, unsigned long int, bool, true);
+   TEST_TTR(unsigned char, wchar_t, bool, true);
+   TEST_TTR(unsigned char, float, bool, true);
+   TEST_TTR(unsigned char, double, bool, true);
+   TEST_TTR(unsigned char, long double, bool, true);
+   TEST_TTR(unsigned short int, bool, bool, true);
+   TEST_TTR(unsigned short int, char, bool, true);
+   TEST_TTR(unsigned short int, signed char, bool, true);
+   TEST_TTR(unsigned short int, short int, bool, true);
+   TEST_TTR(unsigned short int, int, bool, true);
+   TEST_TTR(unsigned short int, long int, bool, true);
+   TEST_TTR(unsigned short int, unsigned char, bool, true);
+   TEST_TTR(unsigned short int, unsigned short int, bool, true);
+   TEST_TTR(unsigned short int, unsigned int, bool, true);
+   TEST_TTR(unsigned short int, unsigned long int, bool, true);
+   TEST_TTR(unsigned short int, wchar_t, bool, true);
+   TEST_TTR(unsigned short int, float, bool, true);
+   TEST_TTR(unsigned short int, double, bool, true);
+   TEST_TTR(unsigned short int, long double, bool, true);
+   TEST_TTR(unsigned int, bool, bool, true);
+   TEST_TTR(unsigned int, char, bool, true);
+   TEST_TTR(unsigned int, signed char, bool, true);
+   TEST_TTR(unsigned int, short int, bool, true);
+   TEST_TTR(unsigned int, int, bool, true);
+   TEST_TTR(unsigned int, long int, bool, true);
+   TEST_TTR(unsigned int, unsigned char, bool, true);
+   TEST_TTR(unsigned int, unsigned short int, bool, true);
+   TEST_TTR(unsigned int, unsigned int, bool, true);
+   TEST_TTR(unsigned int, unsigned long int, bool, true);
+   TEST_TTR(unsigned int, wchar_t, bool, true);
+   TEST_TTR(unsigned int, float, bool, true);
+   TEST_TTR(unsigned int, double, bool, true);
+   TEST_TTR(unsigned int, long double, bool, true);
+   TEST_TTR(unsigned long int, bool, bool, true);
+   TEST_TTR(unsigned long int, char, bool, true);
+   TEST_TTR(unsigned long int, signed char, bool, true);
+   TEST_TTR(unsigned long int, short int, bool, true);
+   TEST_TTR(unsigned long int, int, bool, true);
+   TEST_TTR(unsigned long int, long int, bool, true);
+   TEST_TTR(unsigned long int, unsigned char, bool, true);
+   TEST_TTR(unsigned long int, unsigned short int, bool, true);
+   TEST_TTR(unsigned long int, unsigned int, bool, true);
+   TEST_TTR(unsigned long int, unsigned long int, bool, true);
+   TEST_TTR(unsigned long int, wchar_t, bool, true);
+   TEST_TTR(unsigned long int, float, bool, true);
+   TEST_TTR(unsigned long int, double, bool, true);
+   TEST_TTR(unsigned long int, long double, bool, true);
+   TEST_TTR(wchar_t, bool, bool, true);
+   TEST_TTR(wchar_t, char, bool, true);
+   TEST_TTR(wchar_t, signed char, bool, true);
+   TEST_TTR(wchar_t, short int, bool, true);
+   TEST_TTR(wchar_t, int, bool, true);
+   TEST_TTR(wchar_t, long int, bool, true);
+   TEST_TTR(wchar_t, unsigned char, bool, true);
+   TEST_TTR(wchar_t, unsigned short int, bool, true);
+   TEST_TTR(wchar_t, unsigned int, bool, true);
+   TEST_TTR(wchar_t, unsigned long int, bool, true);
+   TEST_TTR(wchar_t, wchar_t, bool, true);
+   TEST_TTR(wchar_t, float, bool, true);
+   TEST_TTR(wchar_t, double, bool, true);
+   TEST_TTR(wchar_t, long double, bool, true);
+   TEST_TTR(float, bool, bool, true);
+   TEST_TTR(float, char, bool, true);
+   TEST_TTR(float, signed char, bool, true);
+   TEST_TTR(float, short int, bool, true);
+   TEST_TTR(float, int, bool, true);
+   TEST_TTR(float, long int, bool, true);
+   TEST_TTR(float, unsigned char, bool, true);
+   TEST_TTR(float, unsigned short int, bool, true);
+   TEST_TTR(float, unsigned int, bool, true);
+   TEST_TTR(float, unsigned long int, bool, true);
+   TEST_TTR(float, wchar_t, bool, true);
+   TEST_TTR(float, float, bool, true);
+   TEST_TTR(float, double, bool, true);
+   TEST_TTR(float, long double, bool, true);
+   TEST_TTR(double, bool, bool, true);
+   TEST_TTR(double, char, bool, true);
+   TEST_TTR(double, signed char, bool, true);
+   TEST_TTR(double, short int, bool, true);
+   TEST_TTR(double, int, bool, true);
+   TEST_TTR(double, long int, bool, true);
+   TEST_TTR(double, unsigned char, bool, true);
+   TEST_TTR(double, unsigned short int, bool, true);
+   TEST_TTR(double, unsigned int, bool, true);
+   TEST_TTR(double, unsigned long int, bool, true);
+   TEST_TTR(double, wchar_t, bool, true);
+   TEST_TTR(double, float, bool, true);
+   TEST_TTR(double, double, bool, true);
+   TEST_TTR(double, long double, bool, true);
+   TEST_TTR(long double, bool, bool, true);
+   TEST_TTR(long double, char, bool, true);
+   TEST_TTR(long double, signed char, bool, true);
+   TEST_TTR(long double, short int, bool, true);
+   TEST_TTR(long double, int, bool, true);
+   TEST_TTR(long double, long int, bool, true);
+   TEST_TTR(long double, unsigned char, bool, true);
+   TEST_TTR(long double, unsigned short int, bool, true);
+   TEST_TTR(long double, unsigned int, bool, true);
+   TEST_TTR(long double, unsigned long int, bool, true);
+   TEST_TTR(long double, wchar_t, bool, true);
+   TEST_TTR(long double, float, bool, true);
+   TEST_TTR(long double, double, bool, true);
+   TEST_TTR(long double, long double, bool, true);
+   TEST_TTR(bool, bool, tag, false);
+   TEST_TTR(bool, char, tag, false);
+   TEST_TTR(bool, signed char, tag, false);
+   TEST_TTR(bool, short int, tag, false);
+   TEST_TTR(bool, int, tag, false);
+   TEST_TTR(bool, long int, tag, false);
+   TEST_TTR(bool, unsigned char, tag, false);
+   TEST_TTR(bool, unsigned short int, tag, false);
+   TEST_TTR(bool, unsigned int, tag, false);
+   TEST_TTR(bool, unsigned long int, tag, false);
+   TEST_TTR(bool, wchar_t, tag, false);
+   TEST_TTR(bool, float, tag, false);
+   TEST_TTR(bool, double, tag, false);
+   TEST_TTR(bool, long double, tag, false);
+   TEST_TTR(char, bool, tag, false);
+   TEST_TTR(char, char, tag, false);
+   TEST_TTR(char, signed char, tag, false);
+   TEST_TTR(char, short int, tag, false);
+   TEST_TTR(char, int, tag, false);
+   TEST_TTR(char, long int, tag, false);
+   TEST_TTR(char, unsigned char, tag, false);
+   TEST_TTR(char, unsigned short int, tag, false);
+   TEST_TTR(char, unsigned int, tag, false);
+   TEST_TTR(char, unsigned long int, tag, false);
+   TEST_TTR(char, wchar_t, tag, false);
+   TEST_TTR(char, float, tag, false);
+   TEST_TTR(char, double, tag, false);
+   TEST_TTR(char, long double, tag, false);
+   TEST_TTR(signed char, bool, tag, false);
+   TEST_TTR(signed char, char, tag, false);
+   TEST_TTR(signed char, signed char, tag, false);
+   TEST_TTR(signed char, short int, tag, false);
+   TEST_TTR(signed char, int, tag, false);
+   TEST_TTR(signed char, long int, tag, false);
+   TEST_TTR(signed char, unsigned char, tag, false);
+   TEST_TTR(signed char, unsigned short int, tag, false);
+   TEST_TTR(signed char, unsigned int, tag, false);
+   TEST_TTR(signed char, unsigned long int, tag, false);
+   TEST_TTR(signed char, wchar_t, tag, false);
+   TEST_TTR(signed char, float, tag, false);
+   TEST_TTR(signed char, double, tag, false);
+   TEST_TTR(signed char, long double, tag, false);
+   TEST_TTR(short int, bool, tag, false);
+   TEST_TTR(short int, char, tag, false);
+   TEST_TTR(short int, signed char, tag, false);
+   TEST_TTR(short int, short int, tag, false);
+   TEST_TTR(short int, int, tag, false);
+   TEST_TTR(short int, long int, tag, false);
+   TEST_TTR(short int, unsigned char, tag, false);
+   TEST_TTR(short int, unsigned short int, tag, false);
+   TEST_TTR(short int, unsigned int, tag, false);
+   TEST_TTR(short int, unsigned long int, tag, false);
+   TEST_TTR(short int, wchar_t, tag, false);
+   TEST_TTR(short int, float, tag, false);
+   TEST_TTR(short int, double, tag, false);
+   TEST_TTR(short int, long double, tag, false);
+   TEST_TTR(int, bool, tag, false);
+   TEST_TTR(int, char, tag, false);
+   TEST_TTR(int, signed char, tag, false);
+   TEST_TTR(int, short int, tag, false);
+   TEST_TTR(int, int, tag, false);
+   TEST_TTR(int, long int, tag, false);
+   TEST_TTR(int, unsigned char, tag, false);
+   TEST_TTR(int, unsigned short int, tag, false);
+   TEST_TTR(int, unsigned int, tag, false);
+   TEST_TTR(int, unsigned long int, tag, false);
+   TEST_TTR(int, wchar_t, tag, false);
+   TEST_TTR(int, float, tag, false);
+   TEST_TTR(int, double, tag, false);
+   TEST_TTR(int, long double, tag, false);
+   TEST_TTR(long int, bool, tag, false);
+   TEST_TTR(long int, char, tag, false);
+   TEST_TTR(long int, signed char, tag, false);
+   TEST_TTR(long int, short int, tag, false);
+   TEST_TTR(long int, int, tag, false);
+   TEST_TTR(long int, long int, tag, false);
+   TEST_TTR(long int, unsigned char, tag, false);
+   TEST_TTR(long int, unsigned short int, tag, false);
+   TEST_TTR(long int, unsigned int, tag, false);
+   TEST_TTR(long int, unsigned long int, tag, false);
+   TEST_TTR(long int, wchar_t, tag, false);
+   TEST_TTR(long int, float, tag, false);
+   TEST_TTR(long int, double, tag, false);
+   TEST_TTR(long int, long double, tag, false);
+   TEST_TTR(unsigned char, bool, tag, false);
+   TEST_TTR(unsigned char, char, tag, false);
+   TEST_TTR(unsigned char, signed char, tag, false);
+   TEST_TTR(unsigned char, short int, tag, false);
+   TEST_TTR(unsigned char, int, tag, false);
+   TEST_TTR(unsigned char, long int, tag, false);
+   TEST_TTR(unsigned char, unsigned char, tag, false);
+   TEST_TTR(unsigned char, unsigned short int, tag, false);
+   TEST_TTR(unsigned char, unsigned int, tag, false);
+   TEST_TTR(unsigned char, unsigned long int, tag, false);
+   TEST_TTR(unsigned char, wchar_t, tag, false);
+   TEST_TTR(unsigned char, float, tag, false);
+   TEST_TTR(unsigned char, double, tag, false);
+   TEST_TTR(unsigned char, long double, tag, false);
+   TEST_TTR(unsigned short int, bool, tag, false);
+   TEST_TTR(unsigned short int, char, tag, false);
+   TEST_TTR(unsigned short int, signed char, tag, false);
+   TEST_TTR(unsigned short int, short int, tag, false);
+   TEST_TTR(unsigned short int, int, tag, false);
+   TEST_TTR(unsigned short int, long int, tag, false);
+   TEST_TTR(unsigned short int, unsigned char, tag, false);
+   TEST_TTR(unsigned short int, unsigned short int, tag, false);
+   TEST_TTR(unsigned short int, unsigned int, tag, false);
+   TEST_TTR(unsigned short int, unsigned long int, tag, false);
+   TEST_TTR(unsigned short int, wchar_t, tag, false);
+   TEST_TTR(unsigned short int, float, tag, false);
+   TEST_TTR(unsigned short int, double, tag, false);
+   TEST_TTR(unsigned short int, long double, tag, false);
+   TEST_TTR(unsigned int, bool, tag, false);
+   TEST_TTR(unsigned int, char, tag, false);
+   TEST_TTR(unsigned int, signed char, tag, false);
+   TEST_TTR(unsigned int, short int, tag, false);
+   TEST_TTR(unsigned int, int, tag, false);
+   TEST_TTR(unsigned int, long int, tag, false);
+   TEST_TTR(unsigned int, unsigned char, tag, false);
+   TEST_TTR(unsigned int, unsigned short int, tag, false);
+   TEST_TTR(unsigned int, unsigned int, tag, false);
+   TEST_TTR(unsigned int, unsigned long int, tag, false);
+   TEST_TTR(unsigned int, wchar_t, tag, false);
+   TEST_TTR(unsigned int, float, tag, false);
+   TEST_TTR(unsigned int, double, tag, false);
+   TEST_TTR(unsigned int, long double, tag, false);
+   TEST_TTR(unsigned long int, bool, tag, false);
+   TEST_TTR(unsigned long int, char, tag, false);
+   TEST_TTR(unsigned long int, signed char, tag, false);
+   TEST_TTR(unsigned long int, short int, tag, false);
+   TEST_TTR(unsigned long int, int, tag, false);
+   TEST_TTR(unsigned long int, long int, tag, false);
+   TEST_TTR(unsigned long int, unsigned char, tag, false);
+   TEST_TTR(unsigned long int, unsigned short int, tag, false);
+   TEST_TTR(unsigned long int, unsigned int, tag, false);
+   TEST_TTR(unsigned long int, unsigned long int, tag, false);
+   TEST_TTR(unsigned long int, wchar_t, tag, false);
+   TEST_TTR(unsigned long int, float, tag, false);
+   TEST_TTR(unsigned long int, double, tag, false);
+   TEST_TTR(unsigned long int, long double, tag, false);
+   TEST_TTR(wchar_t, bool, tag, false);
+   TEST_TTR(wchar_t, char, tag, false);
+   TEST_TTR(wchar_t, signed char, tag, false);
+   TEST_TTR(wchar_t, short int, tag, false);
+   TEST_TTR(wchar_t, int, tag, false);
+   TEST_TTR(wchar_t, long int, tag, false);
+   TEST_TTR(wchar_t, unsigned char, tag, false);
+   TEST_TTR(wchar_t, unsigned short int, tag, false);
+   TEST_TTR(wchar_t, unsigned int, tag, false);
+   TEST_TTR(wchar_t, unsigned long int, tag, false);
+   TEST_TTR(wchar_t, wchar_t, tag, false);
+   TEST_TTR(wchar_t, float, tag, false);
+   TEST_TTR(wchar_t, double, tag, false);
+   TEST_TTR(wchar_t, long double, tag, false);
+   TEST_TTR(float, bool, tag, false);
+   TEST_TTR(float, char, tag, false);
+   TEST_TTR(float, signed char, tag, false);
+   TEST_TTR(float, short int, tag, false);
+   TEST_TTR(float, int, tag, false);
+   TEST_TTR(float, long int, tag, false);
+   TEST_TTR(float, unsigned char, tag, false);
+   TEST_TTR(float, unsigned short int, tag, false);
+   TEST_TTR(float, unsigned int, tag, false);
+   TEST_TTR(float, unsigned long int, tag, false);
+   TEST_TTR(float, wchar_t, tag, false);
+   TEST_TTR(float, float, tag, false);
+   TEST_TTR(float, double, tag, false);
+   TEST_TTR(float, long double, tag, false);
+   TEST_TTR(double, bool, tag, false);
+   TEST_TTR(double, char, tag, false);
+   TEST_TTR(double, signed char, tag, false);
+   TEST_TTR(double, short int, tag, false);
+   TEST_TTR(double, int, tag, false);
+   TEST_TTR(double, long int, tag, false);
+   TEST_TTR(double, unsigned char, tag, false);
+   TEST_TTR(double, unsigned short int, tag, false);
+   TEST_TTR(double, unsigned int, tag, false);
+   TEST_TTR(double, unsigned long int, tag, false);
+   TEST_TTR(double, wchar_t, tag, false);
+   TEST_TTR(double, float, tag, false);
+   TEST_TTR(double, double, tag, false);
+   TEST_TTR(double, long double, tag, false);
+   TEST_TTR(long double, bool, tag, false);
+   TEST_TTR(long double, char, tag, false);
+   TEST_TTR(long double, signed char, tag, false);
+   TEST_TTR(long double, short int, tag, false);
+   TEST_TTR(long double, int, tag, false);
+   TEST_TTR(long double, long int, tag, false);
+   TEST_TTR(long double, unsigned char, tag, false);
+   TEST_TTR(long double, unsigned short int, tag, false);
+   TEST_TTR(long double, unsigned int, tag, false);
+   TEST_TTR(long double, unsigned long int, tag, false);
+   TEST_TTR(long double, wchar_t, tag, false);
+   TEST_TTR(long double, float, tag, false);
+   TEST_TTR(long double, double, tag, false);
+   TEST_TTR(long double, long double, tag, false);
 
-	TEST_T(without, false);
-	TEST_T(internal, true);
-	TEST_T(external, true);
-//	compile time error
-//	TEST_T(internal_private, false);
-	TEST_T(returns_int, true);
-	TEST_T(returns_void, true);
-	TEST_T(returns_void_star, true);
-	TEST_T(returns_double, true);
-	TEST_T(returns_string, true);
-//	TEST_T(convertible_to_bool, true);
-	TEST_T(Base1, true);
-	TEST_T(Derived1, true);
-	TEST_T(Base2, false);
-	TEST_T(Derived2, true);
+   TEST_T(without, false);
+   TEST_T(internal, true);
+   TEST_T(external, true);
+// compile time error
+// TEST_T(internal_private, false);
+   TEST_T(returns_int, true);
+   TEST_T(returns_void, true);
+   TEST_T(returns_void_star, true);
+   TEST_T(returns_double, true);
+   TEST_T(returns_string, true);
+// TEST_T(convertible_to_bool, true);
+   TEST_T(Base1, true);
+   TEST_T(Derived1, true);
+   TEST_T(Base2, false);
+   TEST_T(Derived2, true);
 
-	TEST_TR(without, bool, false);
-	TEST_TR(internal, bool, false);
-	TEST_TR(internal, ret, true);
-	TEST_TR(external, bool, false);
-	TEST_TR(external, ret, true);
-	TEST_TR(returns_int, bool, true);
-	TEST_TR(returns_int, int, true);
-	TEST_TR(returns_void, void, true);
-	TEST_TR(returns_void, bool, false);
-	TEST_TR(returns_void_star, bool, true);
-	TEST_TR(returns_double, bool, true);
-	TEST_TR(returns_double, double, true);
-	TEST_TR(returns_string, bool, false);
-	TEST_TR(returns_string, std::string, true);
-//	TEST_TR(convertible_to_bool, bool, true);
-	TEST_TR(Base1, bool, true);
-	TEST_TR(Derived1, bool, true);
-	TEST_TR(Base2, bool, false);
-	TEST_TR(Derived2, bool, true);
-	// pointers
-	TEST_TT(void*, bool, false);
-	TEST_TT(void*, int, false);
-	TEST_TT(void*, double, false);
-	TEST_TT(void*, A, false);
-	TEST_TT(void*, B, false);
-	TEST_TT(bool*, bool, true);
-	TEST_TT(bool*, int, true);
-	TEST_TT(bool*, double, false);
-	TEST_TT(bool*, A, false);
-	TEST_TT(bool*, B, false);
-	TEST_TT(int*, bool, true);
-	TEST_TT(int*, int, true);
-	TEST_TT(int*, double, false);
-	TEST_TT(int*, A, false);
-	TEST_TT(int*, B, false);
-	TEST_TT(double*, bool, true);
-	TEST_TT(double*, int, true);
-	TEST_TT(double*, double, false);
-	TEST_TT(double*, A, false);
-	TEST_TT(double*, B, false);
-	TEST_TT(A*, bool, true);
-	TEST_TT(A*, int, true);
-	TEST_TT(A*, double, false);
-	TEST_TT(A*, A, false);
-	TEST_TT(A*, B, false);
-	TEST_TT(B*, bool, true);
-	TEST_TT(B*, int, true);
-	TEST_TT(B*, double, false);
-	TEST_TT(B*, A, false);
-	TEST_TT(B*, B, false);
-	TEST_TT(bool, void*, false);
-	TEST_TT(bool, bool*, false);
-	TEST_TT(bool, int*, false);
-	TEST_TT(bool, double*, false);
-	TEST_TT(bool, A*, false);
-	TEST_TT(bool, B*, false);
-	TEST_TT(int, void*, false);
-	TEST_TT(int, bool*, false);
-	TEST_TT(int, int*, false);
-	TEST_TT(int, double*, false);
-	TEST_TT(int, A*, false);
-	TEST_TT(int, B*, false);
-	TEST_TT(double, void*, false);
-	TEST_TT(double, bool*, false);
-	TEST_TT(double, int*, false);
-	TEST_TT(double, double*, false);
-	TEST_TT(double, A*, false);
-	TEST_TT(double, B*, false);
-	TEST_TT(A, void*, false);
-	TEST_TT(A, bool*, false);
-	TEST_TT(A, int*, false);
-	TEST_TT(A, double*, false);
-	TEST_TT(A, A*, false);
-	TEST_TT(A, B*, false);
-	TEST_TT(B, void*, false);
-	TEST_TT(B, bool*, false);
-	TEST_TT(B, int*, false);
-	TEST_TT(B, double*, false);
-	TEST_TT(B, A*, false);
-	TEST_TT(B, B*, false);
-	TEST_TT(void*, void*, false);
-	TEST_TT(void*, bool*, false);
-	TEST_TT(void*, int*, false);
-	TEST_TT(void*, double*, false);
-	TEST_TT(void*, A*, false);
-	TEST_TT(void*, B*, false);
-	TEST_TT(bool*, void*, false);
-	TEST_TT(bool*, bool*, true);
-	TEST_TT(bool*, int*, false);
-	TEST_TT(bool*, double*, false);
-	TEST_TT(bool*, A*, false);
-	TEST_TT(bool*, B*, false);
-	TEST_TT(int*, void*, false);
-	TEST_TT(int*, bool*, false);
-	TEST_TT(int*, int*, true);
-	TEST_TT(int*, double*, false);
-	TEST_TT(int*, A*, false);
-	TEST_TT(int*, B*, false);
-	TEST_TT(double*, void*, false);
-	TEST_TT(double*, bool*, false);
-	TEST_TT(double*, int*, false);
-	TEST_TT(double*, double*, true);
-	TEST_TT(double*, A*, false);
-	TEST_TT(double*, B*, false);
-	TEST_TT(A*, void*, false);
-	TEST_TT(A*, bool*, false);
-	TEST_TT(A*, int*, false);
-	TEST_TT(A*, double*, false);
-	TEST_TT(A*, A*, true);
-	TEST_TT(A*, B*, false);
-	TEST_TT(B*, void*, false);
-	TEST_TT(B*, bool*, false);
-	TEST_TT(B*, int*, false);
-	TEST_TT(B*, double*, false);
-	TEST_TT(B*, A*, false);
-	TEST_TT(B*, B*, true);
+   TEST_TR(without, bool, false);
+   TEST_TR(internal, bool, false);
+   TEST_TR(internal, ret, true);
+   TEST_TR(external, bool, false);
+   TEST_TR(external, ret, true);
+   TEST_TR(returns_int, bool, true);
+   TEST_TR(returns_int, int, true);
+   TEST_TR(returns_void, void, true);
+   TEST_TR(returns_void, bool, false);
+   TEST_TR(returns_void_star, bool, true);
+   TEST_TR(returns_double, bool, true);
+   TEST_TR(returns_double, double, true);
+   TEST_TR(returns_string, bool, false);
+   TEST_TR(returns_string, std::string, true);
+// TEST_TR(convertible_to_bool, bool, true);
+   TEST_TR(Base1, bool, true);
+   TEST_TR(Derived1, bool, true);
+   TEST_TR(Base2, bool, false);
+   TEST_TR(Derived2, bool, true);
+   // pointers
+   TEST_TT(void*, bool, false);
+   TEST_TT(void*, int, false);
+   TEST_TT(void*, double, false);
+   TEST_TT(void*, A, false);
+   TEST_TT(void*, B, false);
+   TEST_TT(bool*, bool, true);
+   TEST_TT(bool*, int, true);
+   TEST_TT(bool*, double, false);
+   TEST_TT(bool*, A, false);
+   TEST_TT(bool*, B, false);
+   TEST_TT(int*, bool, true);
+   TEST_TT(int*, int, true);
+   TEST_TT(int*, double, false);
+   TEST_TT(int*, A, false);
+   TEST_TT(int*, B, false);
+   TEST_TT(double*, bool, true);
+   TEST_TT(double*, int, true);
+   TEST_TT(double*, double, false);
+   TEST_TT(double*, A, false);
+   TEST_TT(double*, B, false);
+   TEST_TT(A*, bool, true);
+   TEST_TT(A*, int, true);
+   TEST_TT(A*, double, false);
+   TEST_TT(A*, A, false);
+   TEST_TT(A*, B, false);
+   TEST_TT(B*, bool, true);
+   TEST_TT(B*, int, true);
+   TEST_TT(B*, double, false);
+   TEST_TT(B*, A, false);
+   TEST_TT(B*, B, false);
+   TEST_TT(bool, void*, false);
+   TEST_TT(bool, bool*, false);
+   TEST_TT(bool, int*, false);
+   TEST_TT(bool, double*, false);
+   TEST_TT(bool, A*, false);
+   TEST_TT(bool, B*, false);
+   TEST_TT(int, void*, false);
+   TEST_TT(int, bool*, false);
+   TEST_TT(int, int*, false);
+   TEST_TT(int, double*, false);
+   TEST_TT(int, A*, false);
+   TEST_TT(int, B*, false);
+   TEST_TT(double, void*, false);
+   TEST_TT(double, bool*, false);
+   TEST_TT(double, int*, false);
+   TEST_TT(double, double*, false);
+   TEST_TT(double, A*, false);
+   TEST_TT(double, B*, false);
+   TEST_TT(A, void*, false);
+   TEST_TT(A, bool*, false);
+   TEST_TT(A, int*, false);
+   TEST_TT(A, double*, false);
+   TEST_TT(A, A*, false);
+   TEST_TT(A, B*, false);
+   TEST_TT(B, void*, false);
+   TEST_TT(B, bool*, false);
+   TEST_TT(B, int*, false);
+   TEST_TT(B, double*, false);
+   TEST_TT(B, A*, false);
+   TEST_TT(B, B*, false);
+   TEST_TT(void*, void*, false);
+   TEST_TT(void*, bool*, false);
+   TEST_TT(void*, int*, false);
+   TEST_TT(void*, double*, false);
+   TEST_TT(void*, A*, false);
+   TEST_TT(void*, B*, false);
+   TEST_TT(bool*, void*, false);
+   TEST_TT(bool*, bool*, true);
+   TEST_TT(bool*, int*, false);
+   TEST_TT(bool*, double*, false);
+   TEST_TT(bool*, A*, false);
+   TEST_TT(bool*, B*, false);
+   TEST_TT(int*, void*, false);
+   TEST_TT(int*, bool*, false);
+   TEST_TT(int*, int*, true);
+   TEST_TT(int*, double*, false);
+   TEST_TT(int*, A*, false);
+   TEST_TT(int*, B*, false);
+   TEST_TT(double*, void*, false);
+   TEST_TT(double*, bool*, false);
+   TEST_TT(double*, int*, false);
+   TEST_TT(double*, double*, true);
+   TEST_TT(double*, A*, false);
+   TEST_TT(double*, B*, false);
+   TEST_TT(A*, void*, false);
+   TEST_TT(A*, bool*, false);
+   TEST_TT(A*, int*, false);
+   TEST_TT(A*, double*, false);
+   TEST_TT(A*, A*, true);
+   TEST_TT(A*, B*, false);
+   TEST_TT(B*, void*, false);
+   TEST_TT(B*, bool*, false);
+   TEST_TT(B*, int*, false);
+   TEST_TT(B*, double*, false);
+   TEST_TT(B*, A*, false);
+   TEST_TT(B*, B*, true);
 }
 }
 
 TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-	run();
+   run();
 TT_TEST_END
Modified: sandbox/type_traits/libs/type_traits/test/has_binary_plus_operator_test.hpp
==============================================================================
--- sandbox/type_traits/libs/type_traits/test/has_binary_plus_operator_test.hpp	(original)
+++ sandbox/type_traits/libs/type_traits/test/has_binary_plus_operator_test.hpp	2011-02-03 17:09:55 EST (Thu, 03 Feb 2011)
@@ -49,7 +49,7 @@
 
 class Base2 { };
 struct Derived2 : public Base2 {
-	Derived2(int); // to check if it works with a class that is not default constructible
+   Derived2(int); // to check if it works with a class that is not default constructible
 };
 
 bool operator BOOST_TT_TRAIT_OP (const Derived2&, const Derived2&) { return true; }
@@ -60,777 +60,777 @@
 struct B : public A { };
 
 void run() {
-	// test with only one template parameter
-	TEST_T(bool, true);
-	TEST_T(char, true);
-	TEST_T(signed char, true);
-	TEST_T(short int, true);
-	TEST_T(int, true);
-	TEST_T(long int, true);
-	TEST_T(unsigned char, true);
-	TEST_T(unsigned short int, true);
-	TEST_T(unsigned int, true);
-	TEST_T(unsigned long int, true);
-	TEST_T(wchar_t, true);
-	TEST_T(float, true);
-	TEST_T(double, true);
-	TEST_T(long double, true);
-	TEST_T(void, false);
-	// test with only two template parameters
-	TEST_TT(bool, bool, true);
-	TEST_TT(bool, char, true);
-	TEST_TT(bool, signed char, true);
-	TEST_TT(bool, short int, true);
-	TEST_TT(bool, int, true);
-	TEST_TT(bool, long int, true);
-	TEST_TT(bool, unsigned char, true);
-	TEST_TT(bool, unsigned short int, true);
-	TEST_TT(bool, unsigned int, true);
-	TEST_TT(bool, unsigned long int, true);
-	TEST_TT(bool, wchar_t, true);
-	TEST_TT(bool, float, true);
-	TEST_TT(bool, double, true);
-	TEST_TT(bool, long double, true);
-	TEST_TT(char, bool, true);
-	TEST_TT(char, char, true);
-	TEST_TT(char, signed char, true);
-	TEST_TT(char, short int, true);
-	TEST_TT(char, int, true);
-	TEST_TT(char, long int, true);
-	TEST_TT(char, unsigned char, true);
-	TEST_TT(char, unsigned short int, true);
-	TEST_TT(char, unsigned int, true);
-	TEST_TT(char, unsigned long int, true);
-	TEST_TT(char, wchar_t, true);
-	TEST_TT(char, float, true);
-	TEST_TT(char, double, true);
-	TEST_TT(char, long double, true);
-	TEST_TT(signed char, bool, true);
-	TEST_TT(signed char, char, true);
-	TEST_TT(signed char, signed char, true);
-	TEST_TT(signed char, short int, true);
-	TEST_TT(signed char, int, true);
-	TEST_TT(signed char, long int, true);
-	TEST_TT(signed char, unsigned char, true);
-	TEST_TT(signed char, unsigned short int, true);
-	TEST_TT(signed char, unsigned int, true);
-	TEST_TT(signed char, unsigned long int, true);
-	TEST_TT(signed char, wchar_t, true);
-	TEST_TT(signed char, float, true);
-	TEST_TT(signed char, double, true);
-	TEST_TT(signed char, long double, true);
-	TEST_TT(short int, bool, true);
-	TEST_TT(short int, char, true);
-	TEST_TT(short int, signed char, true);
-	TEST_TT(short int, short int, true);
-	TEST_TT(short int, int, true);
-	TEST_TT(short int, long int, true);
-	TEST_TT(short int, unsigned char, true);
-	TEST_TT(short int, unsigned short int, true);
-	TEST_TT(short int, unsigned int, true);
-	TEST_TT(short int, unsigned long int, true);
-	TEST_TT(short int, wchar_t, true);
-	TEST_TT(short int, float, true);
-	TEST_TT(short int, double, true);
-	TEST_TT(short int, long double, true);
-	TEST_TT(int, bool, true);
-	TEST_TT(int, char, true);
-	TEST_TT(int, signed char, true);
-	TEST_TT(int, short int, true);
-	TEST_TT(int, int, true);
-	TEST_TT(int, long int, true);
-	TEST_TT(int, unsigned char, true);
-	TEST_TT(int, unsigned short int, true);
-	TEST_TT(int, unsigned int, true);
-	TEST_TT(int, unsigned long int, true);
-	TEST_TT(int, wchar_t, true);
-	TEST_TT(int, float, true);
-	TEST_TT(int, double, true);
-	TEST_TT(int, long double, true);
-	TEST_TT(long int, bool, true);
-	TEST_TT(long int, char, true);
-	TEST_TT(long int, signed char, true);
-	TEST_TT(long int, short int, true);
-	TEST_TT(long int, int, true);
-	TEST_TT(long int, long int, true);
-	TEST_TT(long int, unsigned char, true);
-	TEST_TT(long int, unsigned short int, true);
-	TEST_TT(long int, unsigned int, true);
-	TEST_TT(long int, unsigned long int, true);
-	TEST_TT(long int, wchar_t, true);
-	TEST_TT(long int, float, true);
-	TEST_TT(long int, double, true);
-	TEST_TT(long int, long double, true);
-	TEST_TT(unsigned char, bool, true);
-	TEST_TT(unsigned char, char, true);
-	TEST_TT(unsigned char, signed char, true);
-	TEST_TT(unsigned char, short int, true);
-	TEST_TT(unsigned char, int, true);
-	TEST_TT(unsigned char, long int, true);
-	TEST_TT(unsigned char, unsigned char, true);
-	TEST_TT(unsigned char, unsigned short int, true);
-	TEST_TT(unsigned char, unsigned int, true);
-	TEST_TT(unsigned char, unsigned long int, true);
-	TEST_TT(unsigned char, wchar_t, true);
-	TEST_TT(unsigned char, float, true);
-	TEST_TT(unsigned char, double, true);
-	TEST_TT(unsigned char, long double, true);
-	TEST_TT(unsigned short int, bool, true);
-	TEST_TT(unsigned short int, char, true);
-	TEST_TT(unsigned short int, signed char, true);
-	TEST_TT(unsigned short int, short int, true);
-	TEST_TT(unsigned short int, int, true);
-	TEST_TT(unsigned short int, long int, true);
-	TEST_TT(unsigned short int, unsigned char, true);
-	TEST_TT(unsigned short int, unsigned short int, true);
-	TEST_TT(unsigned short int, unsigned int, true);
-	TEST_TT(unsigned short int, unsigned long int, true);
-	TEST_TT(unsigned short int, wchar_t, true);
-	TEST_TT(unsigned short int, float, true);
-	TEST_TT(unsigned short int, double, true);
-	TEST_TT(unsigned short int, long double, true);
-	TEST_TT(unsigned int, bool, true);
-	TEST_TT(unsigned int, char, true);
-	TEST_TT(unsigned int, signed char, true);
-	TEST_TT(unsigned int, short int, true);
-	TEST_TT(unsigned int, int, true);
-	TEST_TT(unsigned int, long int, true);
-	TEST_TT(unsigned int, unsigned char, true);
-	TEST_TT(unsigned int, unsigned short int, true);
-	TEST_TT(unsigned int, unsigned int, true);
-	TEST_TT(unsigned int, unsigned long int, true);
-	TEST_TT(unsigned int, wchar_t, true);
-	TEST_TT(unsigned int, float, true);
-	TEST_TT(unsigned int, double, true);
-	TEST_TT(unsigned int, long double, true);
-	TEST_TT(unsigned long int, bool, true);
-	TEST_TT(unsigned long int, char, true);
-	TEST_TT(unsigned long int, signed char, true);
-	TEST_TT(unsigned long int, short int, true);
-	TEST_TT(unsigned long int, int, true);
-	TEST_TT(unsigned long int, long int, true);
-	TEST_TT(unsigned long int, unsigned char, true);
-	TEST_TT(unsigned long int, unsigned short int, true);
-	TEST_TT(unsigned long int, unsigned int, true);
-	TEST_TT(unsigned long int, unsigned long int, true);
-	TEST_TT(unsigned long int, wchar_t, true);
-	TEST_TT(unsigned long int, float, true);
-	TEST_TT(unsigned long int, double, true);
-	TEST_TT(unsigned long int, long double, true);
-	TEST_TT(wchar_t, bool, true);
-	TEST_TT(wchar_t, char, true);
-	TEST_TT(wchar_t, signed char, true);
-	TEST_TT(wchar_t, short int, true);
-	TEST_TT(wchar_t, int, true);
-	TEST_TT(wchar_t, long int, true);
-	TEST_TT(wchar_t, unsigned char, true);
-	TEST_TT(wchar_t, unsigned short int, true);
-	TEST_TT(wchar_t, unsigned int, true);
-	TEST_TT(wchar_t, unsigned long int, true);
-	TEST_TT(wchar_t, wchar_t, true);
-	TEST_TT(wchar_t, float, true);
-	TEST_TT(wchar_t, double, true);
-	TEST_TT(wchar_t, long double, true);
-	TEST_TT(float, bool, true);
-	TEST_TT(float, char, true);
-	TEST_TT(float, signed char, true);
-	TEST_TT(float, short int, true);
-	TEST_TT(float, int, true);
-	TEST_TT(float, long int, true);
-	TEST_TT(float, unsigned char, true);
-	TEST_TT(float, unsigned short int, true);
-	TEST_TT(float, unsigned int, true);
-	TEST_TT(float, unsigned long int, true);
-	TEST_TT(float, wchar_t, true);
-	TEST_TT(float, float, true);
-	TEST_TT(float, double, true);
-	TEST_TT(float, long double, true);
-	TEST_TT(double, bool, true);
-	TEST_TT(double, char, true);
-	TEST_TT(double, signed char, true);
-	TEST_TT(double, short int, true);
-	TEST_TT(double, int, true);
-	TEST_TT(double, long int, true);
-	TEST_TT(double, unsigned char, true);
-	TEST_TT(double, unsigned short int, true);
-	TEST_TT(double, unsigned int, true);
-	TEST_TT(double, unsigned long int, true);
-	TEST_TT(double, wchar_t, true);
-	TEST_TT(double, float, true);
-	TEST_TT(double, double, true);
-	TEST_TT(double, long double, true);
-	TEST_TT(long double, bool, true);
-	TEST_TT(long double, char, true);
-	TEST_TT(long double, signed char, true);
-	TEST_TT(long double, short int, true);
-	TEST_TT(long double, int, true);
-	TEST_TT(long double, long int, true);
-	TEST_TT(long double, unsigned char, true);
-	TEST_TT(long double, unsigned short int, true);
-	TEST_TT(long double, unsigned int, true);
-	TEST_TT(long double, unsigned long int, true);
-	TEST_TT(long double, wchar_t, true);
-	TEST_TT(long double, float, true);
-	TEST_TT(long double, double, true);
-	TEST_TT(long double, long double, true);
-	TEST_TT(bool, void, false);
-	TEST_TT(void, bool, false);
-	TEST_TT(char, void, false);
-	TEST_TT(void, char, false);
-	TEST_TT(signed char, void, false);
-	TEST_TT(void, signed char, false);
-	TEST_TT(short int, void, false);
-	TEST_TT(void, short int, false);
-	TEST_TT(int, void, false);
-	TEST_TT(void, int, false);
-	TEST_TT(long int, void, false);
-	TEST_TT(void, long int, false);
-	TEST_TT(unsigned char, void, false);
-	TEST_TT(void, unsigned char, false);
-	TEST_TT(unsigned short int, void, false);
-	TEST_TT(void, unsigned short int, false);
-	TEST_TT(unsigned int, void, false);
-	TEST_TT(void, unsigned int, false);
-	TEST_TT(unsigned long int, void, false);
-	TEST_TT(void, unsigned long int, false);
-	TEST_TT(wchar_t, void, false);
-	TEST_TT(void, wchar_t, false);
-	TEST_TT(float, void, false);
-	TEST_TT(void, float, false);
-	TEST_TT(double, void, false);
-	TEST_TT(void, double, false);
-	TEST_TT(long double, void, false);
-	TEST_TT(void, long double, false);
+   // test with only one template parameter
+   TEST_T(bool, true);
+   TEST_T(char, true);
+   TEST_T(signed char, true);
+   TEST_T(short int, true);
+   TEST_T(int, true);
+   TEST_T(long int, true);
+   TEST_T(unsigned char, true);
+   TEST_T(unsigned short int, true);
+   TEST_T(unsigned int, true);
+   TEST_T(unsigned long int, true);
+   TEST_T(wchar_t, true);
+   TEST_T(float, true);
+   TEST_T(double, true);
+   TEST_T(long double, true);
+   TEST_T(void, false);
+   // test with only two template parameters
+   TEST_TT(bool, bool, true);
+   TEST_TT(bool, char, true);
+   TEST_TT(bool, signed char, true);
+   TEST_TT(bool, short int, true);
+   TEST_TT(bool, int, true);
+   TEST_TT(bool, long int, true);
+   TEST_TT(bool, unsigned char, true);
+   TEST_TT(bool, unsigned short int, true);
+   TEST_TT(bool, unsigned int, true);
+   TEST_TT(bool, unsigned long int, true);
+   TEST_TT(bool, wchar_t, true);
+   TEST_TT(bool, float, true);
+   TEST_TT(bool, double, true);
+   TEST_TT(bool, long double, true);
+   TEST_TT(char, bool, true);
+   TEST_TT(char, char, true);
+   TEST_TT(char, signed char, true);
+   TEST_TT(char, short int, true);
+   TEST_TT(char, int, true);
+   TEST_TT(char, long int, true);
+   TEST_TT(char, unsigned char, true);
+   TEST_TT(char, unsigned short int, true);
+   TEST_TT(char, unsigned int, true);
+   TEST_TT(char, unsigned long int, true);
+   TEST_TT(char, wchar_t, true);
+   TEST_TT(char, float, true);
+   TEST_TT(char, double, true);
+   TEST_TT(char, long double, true);
+   TEST_TT(signed char, bool, true);
+   TEST_TT(signed char, char, true);
+   TEST_TT(signed char, signed char, true);
+   TEST_TT(signed char, short int, true);
+   TEST_TT(signed char, int, true);
+   TEST_TT(signed char, long int, true);
+   TEST_TT(signed char, unsigned char, true);
+   TEST_TT(signed char, unsigned short int, true);
+   TEST_TT(signed char, unsigned int, true);
+   TEST_TT(signed char, unsigned long int, true);
+   TEST_TT(signed char, wchar_t, true);
+   TEST_TT(signed char, float, true);
+   TEST_TT(signed char, double, true);
+   TEST_TT(signed char, long double, true);
+   TEST_TT(short int, bool, true);
+   TEST_TT(short int, char, true);
+   TEST_TT(short int, signed char, true);
+   TEST_TT(short int, short int, true);
+   TEST_TT(short int, int, true);
+   TEST_TT(short int, long int, true);
+   TEST_TT(short int, unsigned char, true);
+   TEST_TT(short int, unsigned short int, true);
+   TEST_TT(short int, unsigned int, true);
+   TEST_TT(short int, unsigned long int, true);
+   TEST_TT(short int, wchar_t, true);
+   TEST_TT(short int, float, true);
+   TEST_TT(short int, double, true);
+   TEST_TT(short int, long double, true);
+   TEST_TT(int, bool, true);
+   TEST_TT(int, char, true);
+   TEST_TT(int, signed char, true);
+   TEST_TT(int, short int, true);
+   TEST_TT(int, int, true);
+   TEST_TT(int, long int, true);
+   TEST_TT(int, unsigned char, true);
+   TEST_TT(int, unsigned short int, true);
+   TEST_TT(int, unsigned int, true);
+   TEST_TT(int, unsigned long int, true);
+   TEST_TT(int, wchar_t, true);
+   TEST_TT(int, float, true);
+   TEST_TT(int, double, true);
+   TEST_TT(int, long double, true);
+   TEST_TT(long int, bool, true);
+   TEST_TT(long int, char, true);
+   TEST_TT(long int, signed char, true);
+   TEST_TT(long int, short int, true);
+   TEST_TT(long int, int, true);
+   TEST_TT(long int, long int, true);
+   TEST_TT(long int, unsigned char, true);
+   TEST_TT(long int, unsigned short int, true);
+   TEST_TT(long int, unsigned int, true);
+   TEST_TT(long int, unsigned long int, true);
+   TEST_TT(long int, wchar_t, true);
+   TEST_TT(long int, float, true);
+   TEST_TT(long int, double, true);
+   TEST_TT(long int, long double, true);
+   TEST_TT(unsigned char, bool, true);
+   TEST_TT(unsigned char, char, true);
+   TEST_TT(unsigned char, signed char, true);
+   TEST_TT(unsigned char, short int, true);
+   TEST_TT(unsigned char, int, true);
+   TEST_TT(unsigned char, long int, true);
+   TEST_TT(unsigned char, unsigned char, true);
+   TEST_TT(unsigned char, unsigned short int, true);
+   TEST_TT(unsigned char, unsigned int, true);
+   TEST_TT(unsigned char, unsigned long int, true);
+   TEST_TT(unsigned char, wchar_t, true);
+   TEST_TT(unsigned char, float, true);
+   TEST_TT(unsigned char, double, true);
+   TEST_TT(unsigned char, long double, true);
+   TEST_TT(unsigned short int, bool, true);
+   TEST_TT(unsigned short int, char, true);
+   TEST_TT(unsigned short int, signed char, true);
+   TEST_TT(unsigned short int, short int, true);
+   TEST_TT(unsigned short int, int, true);
+   TEST_TT(unsigned short int, long int, true);
+   TEST_TT(unsigned short int, unsigned char, true);
+   TEST_TT(unsigned short int, unsigned short int, true);
+   TEST_TT(unsigned short int, unsigned int, true);
+   TEST_TT(unsigned short int, unsigned long int, true);
+   TEST_TT(unsigned short int, wchar_t, true);
+   TEST_TT(unsigned short int, float, true);
+   TEST_TT(unsigned short int, double, true);
+   TEST_TT(unsigned short int, long double, true);
+   TEST_TT(unsigned int, bool, true);
+   TEST_TT(unsigned int, char, true);
+   TEST_TT(unsigned int, signed char, true);
+   TEST_TT(unsigned int, short int, true);
+   TEST_TT(unsigned int, int, true);
+   TEST_TT(unsigned int, long int, true);
+   TEST_TT(unsigned int, unsigned char, true);
+   TEST_TT(unsigned int, unsigned short int, true);
+   TEST_TT(unsigned int, unsigned int, true);
+   TEST_TT(unsigned int, unsigned long int, true);
+   TEST_TT(unsigned int, wchar_t, true);
+   TEST_TT(unsigned int, float, true);
+   TEST_TT(unsigned int, double, true);
+   TEST_TT(unsigned int, long double, true);
+   TEST_TT(unsigned long int, bool, true);
+   TEST_TT(unsigned long int, char, true);
+   TEST_TT(unsigned long int, signed char, true);
+   TEST_TT(unsigned long int, short int, true);
+   TEST_TT(unsigned long int, int, true);
+   TEST_TT(unsigned long int, long int, true);
+   TEST_TT(unsigned long int, unsigned char, true);
+   TEST_TT(unsigned long int, unsigned short int, true);
+   TEST_TT(unsigned long int, unsigned int, true);
+   TEST_TT(unsigned long int, unsigned long int, true);
+   TEST_TT(unsigned long int, wchar_t, true);
+   TEST_TT(unsigned long int, float, true);
+   TEST_TT(unsigned long int, double, true);
+   TEST_TT(unsigned long int, long double, true);
+   TEST_TT(wchar_t, bool, true);
+   TEST_TT(wchar_t, char, true);
+   TEST_TT(wchar_t, signed char, true);
+   TEST_TT(wchar_t, short int, true);
+   TEST_TT(wchar_t, int, true);
+   TEST_TT(wchar_t, long int, true);
+   TEST_TT(wchar_t, unsigned char, true);
+   TEST_TT(wchar_t, unsigned short int, true);
+   TEST_TT(wchar_t, unsigned int, true);
+   TEST_TT(wchar_t, unsigned long int, true);
+   TEST_TT(wchar_t, wchar_t, true);
+   TEST_TT(wchar_t, float, true);
+   TEST_TT(wchar_t, double, true);
+   TEST_TT(wchar_t, long double, true);
+   TEST_TT(float, bool, true);
+   TEST_TT(float, char, true);
+   TEST_TT(float, signed char, true);
+   TEST_TT(float, short int, true);
+   TEST_TT(float, int, true);
+   TEST_TT(float, long int, true);
+   TEST_TT(float, unsigned char, true);
+   TEST_TT(float, unsigned short int, true);
+   TEST_TT(float, unsigned int, true);
+   TEST_TT(float, unsigned long int, true);
+   TEST_TT(float, wchar_t, true);
+   TEST_TT(float, float, true);
+   TEST_TT(float, double, true);
+   TEST_TT(float, long double, true);
+   TEST_TT(double, bool, true);
+   TEST_TT(double, char, true);
+   TEST_TT(double, signed char, true);
+   TEST_TT(double, short int, true);
+   TEST_TT(double, int, true);
+   TEST_TT(double, long int, true);
+   TEST_TT(double, unsigned char, true);
+   TEST_TT(double, unsigned short int, true);
+   TEST_TT(double, unsigned int, true);
+   TEST_TT(double, unsigned long int, true);
+   TEST_TT(double, wchar_t, true);
+   TEST_TT(double, float, true);
+   TEST_TT(double, double, true);
+   TEST_TT(double, long double, true);
+   TEST_TT(long double, bool, true);
+   TEST_TT(long double, char, true);
+   TEST_TT(long double, signed char, true);
+   TEST_TT(long double, short int, true);
+   TEST_TT(long double, int, true);
+   TEST_TT(long double, long int, true);
+   TEST_TT(long double, unsigned char, true);
+   TEST_TT(long double, unsigned short int, true);
+   TEST_TT(long double, unsigned int, true);
+   TEST_TT(long double, unsigned long int, true);
+   TEST_TT(long double, wchar_t, true);
+   TEST_TT(long double, float, true);
+   TEST_TT(long double, double, true);
+   TEST_TT(long double, long double, true);
+   TEST_TT(bool, void, false);
+   TEST_TT(void, bool, false);
+   TEST_TT(char, void, false);
+   TEST_TT(void, char, false);
+   TEST_TT(signed char, void, false);
+   TEST_TT(void, signed char, false);
+   TEST_TT(short int, void, false);
+   TEST_TT(void, short int, false);
+   TEST_TT(int, void, false);
+   TEST_TT(void, int, false);
+   TEST_TT(long int, void, false);
+   TEST_TT(void, long int, false);
+   TEST_TT(unsigned char, void, false);
+   TEST_TT(void, unsigned char, false);
+   TEST_TT(unsigned short int, void, false);
+   TEST_TT(void, unsigned short int, false);
+   TEST_TT(unsigned int, void, false);
+   TEST_TT(void, unsigned int, false);
+   TEST_TT(unsigned long int, void, false);
+   TEST_TT(void, unsigned long int, false);
+   TEST_TT(wchar_t, void, false);
+   TEST_TT(void, wchar_t, false);
+   TEST_TT(float, void, false);
+   TEST_TT(void, float, false);
+   TEST_TT(double, void, false);
+   TEST_TT(void, double, false);
+   TEST_TT(long double, void, false);
+   TEST_TT(void, long double, false);
 
 // test with three template parameters
-	TEST_TTR(bool, bool, bool, true);
-	TEST_TTR(bool, char, bool, true);
-	TEST_TTR(bool, signed char, bool, true);
-	TEST_TTR(bool, short int, bool, true);
-	TEST_TTR(bool, int, bool, true);
-	TEST_TTR(bool, long int, bool, true);
-	TEST_TTR(bool, unsigned char, bool, true);
-	TEST_TTR(bool, unsigned short int, bool, true);
-	TEST_TTR(bool, unsigned int, bool, true);
-	TEST_TTR(bool, unsigned long int, bool, true);
-	TEST_TTR(bool, wchar_t, bool, true);
-	TEST_TTR(bool, float, bool, true);
-	TEST_TTR(bool, double, bool, true);
-	TEST_TTR(bool, long double, bool, true);
-	TEST_TTR(char, bool, bool, true);
-	TEST_TTR(char, char, bool, true);
-	TEST_TTR(char, signed char, bool, true);
-	TEST_TTR(char, short int, bool, true);
-	TEST_TTR(char, int, bool, true);
-	TEST_TTR(char, long int, bool, true);
-	TEST_TTR(char, unsigned char, bool, true);
-	TEST_TTR(char, unsigned short int, bool, true);
-	TEST_TTR(char, unsigned int, bool, true);
-	TEST_TTR(char, unsigned long int, bool, true);
-	TEST_TTR(char, wchar_t, bool, true);
-	TEST_TTR(char, float, bool, true);
-	TEST_TTR(char, double, bool, true);
-	TEST_TTR(char, long double, bool, true);
-	TEST_TTR(signed char, bool, bool, true);
-	TEST_TTR(signed char, char, bool, true);
-	TEST_TTR(signed char, signed char, bool, true);
-	TEST_TTR(signed char, short int, bool, true);
-	TEST_TTR(signed char, int, bool, true);
-	TEST_TTR(signed char, long int, bool, true);
-	TEST_TTR(signed char, unsigned char, bool, true);
-	TEST_TTR(signed char, unsigned short int, bool, true);
-	TEST_TTR(signed char, unsigned int, bool, true);
-	TEST_TTR(signed char, unsigned long int, bool, true);
-	TEST_TTR(signed char, wchar_t, bool, true);
-	TEST_TTR(signed char, float, bool, true);
-	TEST_TTR(signed char, double, bool, true);
-	TEST_TTR(signed char, long double, bool, true);
-	TEST_TTR(short int, bool, bool, true);
-	TEST_TTR(short int, char, bool, true);
-	TEST_TTR(short int, signed char, bool, true);
-	TEST_TTR(short int, short int, bool, true);
-	TEST_TTR(short int, int, bool, true);
-	TEST_TTR(short int, long int, bool, true);
-	TEST_TTR(short int, unsigned char, bool, true);
-	TEST_TTR(short int, unsigned short int, bool, true);
-	TEST_TTR(short int, unsigned int, bool, true);
-	TEST_TTR(short int, unsigned long int, bool, true);
-	TEST_TTR(short int, wchar_t, bool, true);
-	TEST_TTR(short int, float, bool, true);
-	TEST_TTR(short int, double, bool, true);
-	TEST_TTR(short int, long double, bool, true);
-	TEST_TTR(int, bool, bool, true);
-	TEST_TTR(int, char, bool, true);
-	TEST_TTR(int, signed char, bool, true);
-	TEST_TTR(int, short int, bool, true);
-	TEST_TTR(int, int, bool, true);
-	TEST_TTR(int, long int, bool, true);
-	TEST_TTR(int, unsigned char, bool, true);
-	TEST_TTR(int, unsigned short int, bool, true);
-	TEST_TTR(int, unsigned int, bool, true);
-	TEST_TTR(int, unsigned long int, bool, true);
-	TEST_TTR(int, wchar_t, bool, true);
-	TEST_TTR(int, float, bool, true);
-	TEST_TTR(int, double, bool, true);
-	TEST_TTR(int, long double, bool, true);
-	TEST_TTR(long int, bool, bool, true);
-	TEST_TTR(long int, char, bool, true);
-	TEST_TTR(long int, signed char, bool, true);
-	TEST_TTR(long int, short int, bool, true);
-	TEST_TTR(long int, int, bool, true);
-	TEST_TTR(long int, long int, bool, true);
-	TEST_TTR(long int, unsigned char, bool, true);
-	TEST_TTR(long int, unsigned short int, bool, true);
-	TEST_TTR(long int, unsigned int, bool, true);
-	TEST_TTR(long int, unsigned long int, bool, true);
-	TEST_TTR(long int, wchar_t, bool, true);
-	TEST_TTR(long int, float, bool, true);
-	TEST_TTR(long int, double, bool, true);
-	TEST_TTR(long int, long double, bool, true);
-	TEST_TTR(unsigned char, bool, bool, true);
-	TEST_TTR(unsigned char, char, bool, true);
-	TEST_TTR(unsigned char, signed char, bool, true);
-	TEST_TTR(unsigned char, short int, bool, true);
-	TEST_TTR(unsigned char, int, bool, true);
-	TEST_TTR(unsigned char, long int, bool, true);
-	TEST_TTR(unsigned char, unsigned char, bool, true);
-	TEST_TTR(unsigned char, unsigned short int, bool, true);
-	TEST_TTR(unsigned char, unsigned int, bool, true);
-	TEST_TTR(unsigned char, unsigned long int, bool, true);
-	TEST_TTR(unsigned char, wchar_t, bool, true);
-	TEST_TTR(unsigned char, float, bool, true);
-	TEST_TTR(unsigned char, double, bool, true);
-	TEST_TTR(unsigned char, long double, bool, true);
-	TEST_TTR(unsigned short int, bool, bool, true);
-	TEST_TTR(unsigned short int, char, bool, true);
-	TEST_TTR(unsigned short int, signed char, bool, true);
-	TEST_TTR(unsigned short int, short int, bool, true);
-	TEST_TTR(unsigned short int, int, bool, true);
-	TEST_TTR(unsigned short int, long int, bool, true);
-	TEST_TTR(unsigned short int, unsigned char, bool, true);
-	TEST_TTR(unsigned short int, unsigned short int, bool, true);
-	TEST_TTR(unsigned short int, unsigned int, bool, true);
-	TEST_TTR(unsigned short int, unsigned long int, bool, true);
-	TEST_TTR(unsigned short int, wchar_t, bool, true);
-	TEST_TTR(unsigned short int, float, bool, true);
-	TEST_TTR(unsigned short int, double, bool, true);
-	TEST_TTR(unsigned short int, long double, bool, true);
-	TEST_TTR(unsigned int, bool, bool, true);
-	TEST_TTR(unsigned int, char, bool, true);
-	TEST_TTR(unsigned int, signed char, bool, true);
-	TEST_TTR(unsigned int, short int, bool, true);
-	TEST_TTR(unsigned int, int, bool, true);
-	TEST_TTR(unsigned int, long int, bool, true);
-	TEST_TTR(unsigned int, unsigned char, bool, true);
-	TEST_TTR(unsigned int, unsigned short int, bool, true);
-	TEST_TTR(unsigned int, unsigned int, bool, true);
-	TEST_TTR(unsigned int, unsigned long int, bool, true);
-	TEST_TTR(unsigned int, wchar_t, bool, true);
-	TEST_TTR(unsigned int, float, bool, true);
-	TEST_TTR(unsigned int, double, bool, true);
-	TEST_TTR(unsigned int, long double, bool, true);
-	TEST_TTR(unsigned long int, bool, bool, true);
-	TEST_TTR(unsigned long int, char, bool, true);
-	TEST_TTR(unsigned long int, signed char, bool, true);
-	TEST_TTR(unsigned long int, short int, bool, true);
-	TEST_TTR(unsigned long int, int, bool, true);
-	TEST_TTR(unsigned long int, long int, bool, true);
-	TEST_TTR(unsigned long int, unsigned char, bool, true);
-	TEST_TTR(unsigned long int, unsigned short int, bool, true);
-	TEST_TTR(unsigned long int, unsigned int, bool, true);
-	TEST_TTR(unsigned long int, unsigned long int, bool, true);
-	TEST_TTR(unsigned long int, wchar_t, bool, true);
-	TEST_TTR(unsigned long int, float, bool, true);
-	TEST_TTR(unsigned long int, double, bool, true);
-	TEST_TTR(unsigned long int, long double, bool, true);
-	TEST_TTR(wchar_t, bool, bool, true);
-	TEST_TTR(wchar_t, char, bool, true);
-	TEST_TTR(wchar_t, signed char, bool, true);
-	TEST_TTR(wchar_t, short int, bool, true);
-	TEST_TTR(wchar_t, int, bool, true);
-	TEST_TTR(wchar_t, long int, bool, true);
-	TEST_TTR(wchar_t, unsigned char, bool, true);
-	TEST_TTR(wchar_t, unsigned short int, bool, true);
-	TEST_TTR(wchar_t, unsigned int, bool, true);
-	TEST_TTR(wchar_t, unsigned long int, bool, true);
-	TEST_TTR(wchar_t, wchar_t, bool, true);
-	TEST_TTR(wchar_t, float, bool, true);
-	TEST_TTR(wchar_t, double, bool, true);
-	TEST_TTR(wchar_t, long double, bool, true);
-	TEST_TTR(float, bool, bool, true);
-	TEST_TTR(float, char, bool, true);
-	TEST_TTR(float, signed char, bool, true);
-	TEST_TTR(float, short int, bool, true);
-	TEST_TTR(float, int, bool, true);
-	TEST_TTR(float, long int, bool, true);
-	TEST_TTR(float, unsigned char, bool, true);
-	TEST_TTR(float, unsigned short int, bool, true);
-	TEST_TTR(float, unsigned int, bool, true);
-	TEST_TTR(float, unsigned long int, bool, true);
-	TEST_TTR(float, wchar_t, bool, true);
-	TEST_TTR(float, float, bool, true);
-	TEST_TTR(float, double, bool, true);
-	TEST_TTR(float, long double, bool, true);
-	TEST_TTR(double, bool, bool, true);
-	TEST_TTR(double, char, bool, true);
-	TEST_TTR(double, signed char, bool, true);
-	TEST_TTR(double, short int, bool, true);
-	TEST_TTR(double, int, bool, true);
-	TEST_TTR(double, long int, bool, true);
-	TEST_TTR(double, unsigned char, bool, true);
-	TEST_TTR(double, unsigned short int, bool, true);
-	TEST_TTR(double, unsigned int, bool, true);
-	TEST_TTR(double, unsigned long int, bool, true);
-	TEST_TTR(double, wchar_t, bool, true);
-	TEST_TTR(double, float, bool, true);
-	TEST_TTR(double, double, bool, true);
-	TEST_TTR(double, long double, bool, true);
-	TEST_TTR(long double, bool, bool, true);
-	TEST_TTR(long double, char, bool, true);
-	TEST_TTR(long double, signed char, bool, true);
-	TEST_TTR(long double, short int, bool, true);
-	TEST_TTR(long double, int, bool, true);
-	TEST_TTR(long double, long int, bool, true);
-	TEST_TTR(long double, unsigned char, bool, true);
-	TEST_TTR(long double, unsigned short int, bool, true);
-	TEST_TTR(long double, unsigned int, bool, true);
-	TEST_TTR(long double, unsigned long int, bool, true);
-	TEST_TTR(long double, wchar_t, bool, true);
-	TEST_TTR(long double, float, bool, true);
-	TEST_TTR(long double, double, bool, true);
-	TEST_TTR(long double, long double, bool, true);
-	TEST_TTR(bool, bool, tag, false);
-	TEST_TTR(bool, char, tag, false);
-	TEST_TTR(bool, signed char, tag, false);
-	TEST_TTR(bool, short int, tag, false);
-	TEST_TTR(bool, int, tag, false);
-	TEST_TTR(bool, long int, tag, false);
-	TEST_TTR(bool, unsigned char, tag, false);
-	TEST_TTR(bool, unsigned short int, tag, false);
-	TEST_TTR(bool, unsigned int, tag, false);
-	TEST_TTR(bool, unsigned long int, tag, false);
-	TEST_TTR(bool, wchar_t, tag, false);
-	TEST_TTR(bool, float, tag, false);
-	TEST_TTR(bool, double, tag, false);
-	TEST_TTR(bool, long double, tag, false);
-	TEST_TTR(char, bool, tag, false);
-	TEST_TTR(char, char, tag, false);
-	TEST_TTR(char, signed char, tag, false);
-	TEST_TTR(char, short int, tag, false);
-	TEST_TTR(char, int, tag, false);
-	TEST_TTR(char, long int, tag, false);
-	TEST_TTR(char, unsigned char, tag, false);
-	TEST_TTR(char, unsigned short int, tag, false);
-	TEST_TTR(char, unsigned int, tag, false);
-	TEST_TTR(char, unsigned long int, tag, false);
-	TEST_TTR(char, wchar_t, tag, false);
-	TEST_TTR(char, float, tag, false);
-	TEST_TTR(char, double, tag, false);
-	TEST_TTR(char, long double, tag, false);
-	TEST_TTR(signed char, bool, tag, false);
-	TEST_TTR(signed char, char, tag, false);
-	TEST_TTR(signed char, signed char, tag, false);
-	TEST_TTR(signed char, short int, tag, false);
-	TEST_TTR(signed char, int, tag, false);
-	TEST_TTR(signed char, long int, tag, false);
-	TEST_TTR(signed char, unsigned char, tag, false);
-	TEST_TTR(signed char, unsigned short int, tag, false);
-	TEST_TTR(signed char, unsigned int, tag, false);
-	TEST_TTR(signed char, unsigned long int, tag, false);
-	TEST_TTR(signed char, wchar_t, tag, false);
-	TEST_TTR(signed char, float, tag, false);
-	TEST_TTR(signed char, double, tag, false);
-	TEST_TTR(signed char, long double, tag, false);
-	TEST_TTR(short int, bool, tag, false);
-	TEST_TTR(short int, char, tag, false);
-	TEST_TTR(short int, signed char, tag, false);
-	TEST_TTR(short int, short int, tag, false);
-	TEST_TTR(short int, int, tag, false);
-	TEST_TTR(short int, long int, tag, false);
-	TEST_TTR(short int, unsigned char, tag, false);
-	TEST_TTR(short int, unsigned short int, tag, false);
-	TEST_TTR(short int, unsigned int, tag, false);
-	TEST_TTR(short int, unsigned long int, tag, false);
-	TEST_TTR(short int, wchar_t, tag, false);
-	TEST_TTR(short int, float, tag, false);
-	TEST_TTR(short int, double, tag, false);
-	TEST_TTR(short int, long double, tag, false);
-	TEST_TTR(int, bool, tag, false);
-	TEST_TTR(int, char, tag, false);
-	TEST_TTR(int, signed char, tag, false);
-	TEST_TTR(int, short int, tag, false);
-	TEST_TTR(int, int, tag, false);
-	TEST_TTR(int, long int, tag, false);
-	TEST_TTR(int, unsigned char, tag, false);
-	TEST_TTR(int, unsigned short int, tag, false);
-	TEST_TTR(int, unsigned int, tag, false);
-	TEST_TTR(int, unsigned long int, tag, false);
-	TEST_TTR(int, wchar_t, tag, false);
-	TEST_TTR(int, float, tag, false);
-	TEST_TTR(int, double, tag, false);
-	TEST_TTR(int, long double, tag, false);
-	TEST_TTR(long int, bool, tag, false);
-	TEST_TTR(long int, char, tag, false);
-	TEST_TTR(long int, signed char, tag, false);
-	TEST_TTR(long int, short int, tag, false);
-	TEST_TTR(long int, int, tag, false);
-	TEST_TTR(long int, long int, tag, false);
-	TEST_TTR(long int, unsigned char, tag, false);
-	TEST_TTR(long int, unsigned short int, tag, false);
-	TEST_TTR(long int, unsigned int, tag, false);
-	TEST_TTR(long int, unsigned long int, tag, false);
-	TEST_TTR(long int, wchar_t, tag, false);
-	TEST_TTR(long int, float, tag, false);
-	TEST_TTR(long int, double, tag, false);
-	TEST_TTR(long int, long double, tag, false);
-	TEST_TTR(unsigned char, bool, tag, false);
-	TEST_TTR(unsigned char, char, tag, false);
-	TEST_TTR(unsigned char, signed char, tag, false);
-	TEST_TTR(unsigned char, short int, tag, false);
-	TEST_TTR(unsigned char, int, tag, false);
-	TEST_TTR(unsigned char, long int, tag, false);
-	TEST_TTR(unsigned char, unsigned char, tag, false);
-	TEST_TTR(unsigned char, unsigned short int, tag, false);
-	TEST_TTR(unsigned char, unsigned int, tag, false);
-	TEST_TTR(unsigned char, unsigned long int, tag, false);
-	TEST_TTR(unsigned char, wchar_t, tag, false);
-	TEST_TTR(unsigned char, float, tag, false);
-	TEST_TTR(unsigned char, double, tag, false);
-	TEST_TTR(unsigned char, long double, tag, false);
-	TEST_TTR(unsigned short int, bool, tag, false);
-	TEST_TTR(unsigned short int, char, tag, false);
-	TEST_TTR(unsigned short int, signed char, tag, false);
-	TEST_TTR(unsigned short int, short int, tag, false);
-	TEST_TTR(unsigned short int, int, tag, false);
-	TEST_TTR(unsigned short int, long int, tag, false);
-	TEST_TTR(unsigned short int, unsigned char, tag, false);
-	TEST_TTR(unsigned short int, unsigned short int, tag, false);
-	TEST_TTR(unsigned short int, unsigned int, tag, false);
-	TEST_TTR(unsigned short int, unsigned long int, tag, false);
-	TEST_TTR(unsigned short int, wchar_t, tag, false);
-	TEST_TTR(unsigned short int, float, tag, false);
-	TEST_TTR(unsigned short int, double, tag, false);
-	TEST_TTR(unsigned short int, long double, tag, false);
-	TEST_TTR(unsigned int, bool, tag, false);
-	TEST_TTR(unsigned int, char, tag, false);
-	TEST_TTR(unsigned int, signed char, tag, false);
-	TEST_TTR(unsigned int, short int, tag, false);
-	TEST_TTR(unsigned int, int, tag, false);
-	TEST_TTR(unsigned int, long int, tag, false);
-	TEST_TTR(unsigned int, unsigned char, tag, false);
-	TEST_TTR(unsigned int, unsigned short int, tag, false);
-	TEST_TTR(unsigned int, unsigned int, tag, false);
-	TEST_TTR(unsigned int, unsigned long int, tag, false);
-	TEST_TTR(unsigned int, wchar_t, tag, false);
-	TEST_TTR(unsigned int, float, tag, false);
-	TEST_TTR(unsigned int, double, tag, false);
-	TEST_TTR(unsigned int, long double, tag, false);
-	TEST_TTR(unsigned long int, bool, tag, false);
-	TEST_TTR(unsigned long int, char, tag, false);
-	TEST_TTR(unsigned long int, signed char, tag, false);
-	TEST_TTR(unsigned long int, short int, tag, false);
-	TEST_TTR(unsigned long int, int, tag, false);
-	TEST_TTR(unsigned long int, long int, tag, false);
-	TEST_TTR(unsigned long int, unsigned char, tag, false);
-	TEST_TTR(unsigned long int, unsigned short int, tag, false);
-	TEST_TTR(unsigned long int, unsigned int, tag, false);
-	TEST_TTR(unsigned long int, unsigned long int, tag, false);
-	TEST_TTR(unsigned long int, wchar_t, tag, false);
-	TEST_TTR(unsigned long int, float, tag, false);
-	TEST_TTR(unsigned long int, double, tag, false);
-	TEST_TTR(unsigned long int, long double, tag, false);
-	TEST_TTR(wchar_t, bool, tag, false);
-	TEST_TTR(wchar_t, char, tag, false);
-	TEST_TTR(wchar_t, signed char, tag, false);
-	TEST_TTR(wchar_t, short int, tag, false);
-	TEST_TTR(wchar_t, int, tag, false);
-	TEST_TTR(wchar_t, long int, tag, false);
-	TEST_TTR(wchar_t, unsigned char, tag, false);
-	TEST_TTR(wchar_t, unsigned short int, tag, false);
-	TEST_TTR(wchar_t, unsigned int, tag, false);
-	TEST_TTR(wchar_t, unsigned long int, tag, false);
-	TEST_TTR(wchar_t, wchar_t, tag, false);
-	TEST_TTR(wchar_t, float, tag, false);
-	TEST_TTR(wchar_t, double, tag, false);
-	TEST_TTR(wchar_t, long double, tag, false);
-	TEST_TTR(float, bool, tag, false);
-	TEST_TTR(float, char, tag, false);
-	TEST_TTR(float, signed char, tag, false);
-	TEST_TTR(float, short int, tag, false);
-	TEST_TTR(float, int, tag, false);
-	TEST_TTR(float, long int, tag, false);
-	TEST_TTR(float, unsigned char, tag, false);
-	TEST_TTR(float, unsigned short int, tag, false);
-	TEST_TTR(float, unsigned int, tag, false);
-	TEST_TTR(float, unsigned long int, tag, false);
-	TEST_TTR(float, wchar_t, tag, false);
-	TEST_TTR(float, float, tag, false);
-	TEST_TTR(float, double, tag, false);
-	TEST_TTR(float, long double, tag, false);
-	TEST_TTR(double, bool, tag, false);
-	TEST_TTR(double, char, tag, false);
-	TEST_TTR(double, signed char, tag, false);
-	TEST_TTR(double, short int, tag, false);
-	TEST_TTR(double, int, tag, false);
-	TEST_TTR(double, long int, tag, false);
-	TEST_TTR(double, unsigned char, tag, false);
-	TEST_TTR(double, unsigned short int, tag, false);
-	TEST_TTR(double, unsigned int, tag, false);
-	TEST_TTR(double, unsigned long int, tag, false);
-	TEST_TTR(double, wchar_t, tag, false);
-	TEST_TTR(double, float, tag, false);
-	TEST_TTR(double, double, tag, false);
-	TEST_TTR(double, long double, tag, false);
-	TEST_TTR(long double, bool, tag, false);
-	TEST_TTR(long double, char, tag, false);
-	TEST_TTR(long double, signed char, tag, false);
-	TEST_TTR(long double, short int, tag, false);
-	TEST_TTR(long double, int, tag, false);
-	TEST_TTR(long double, long int, tag, false);
-	TEST_TTR(long double, unsigned char, tag, false);
-	TEST_TTR(long double, unsigned short int, tag, false);
-	TEST_TTR(long double, unsigned int, tag, false);
-	TEST_TTR(long double, unsigned long int, tag, false);
-	TEST_TTR(long double, wchar_t, tag, false);
-	TEST_TTR(long double, float, tag, false);
-	TEST_TTR(long double, double, tag, false);
-	TEST_TTR(long double, long double, tag, false);
+   TEST_TTR(bool, bool, bool, true);
+   TEST_TTR(bool, char, bool, true);
+   TEST_TTR(bool, signed char, bool, true);
+   TEST_TTR(bool, short int, bool, true);
+   TEST_TTR(bool, int, bool, true);
+   TEST_TTR(bool, long int, bool, true);
+   TEST_TTR(bool, unsigned char, bool, true);
+   TEST_TTR(bool, unsigned short int, bool, true);
+   TEST_TTR(bool, unsigned int, bool, true);
+   TEST_TTR(bool, unsigned long int, bool, true);
+   TEST_TTR(bool, wchar_t, bool, true);
+   TEST_TTR(bool, float, bool, true);
+   TEST_TTR(bool, double, bool, true);
+   TEST_TTR(bool, long double, bool, true);
+   TEST_TTR(char, bool, bool, true);
+   TEST_TTR(char, char, bool, true);
+   TEST_TTR(char, signed char, bool, true);
+   TEST_TTR(char, short int, bool, true);
+   TEST_TTR(char, int, bool, true);
+   TEST_TTR(char, long int, bool, true);
+   TEST_TTR(char, unsigned char, bool, true);
+   TEST_TTR(char, unsigned short int, bool, true);
+   TEST_TTR(char, unsigned int, bool, true);
+   TEST_TTR(char, unsigned long int, bool, true);
+   TEST_TTR(char, wchar_t, bool, true);
+   TEST_TTR(char, float, bool, true);
+   TEST_TTR(char, double, bool, true);
+   TEST_TTR(char, long double, bool, true);
+   TEST_TTR(signed char, bool, bool, true);
+   TEST_TTR(signed char, char, bool, true);
+   TEST_TTR(signed char, signed char, bool, true);
+   TEST_TTR(signed char, short int, bool, true);
+   TEST_TTR(signed char, int, bool, true);
+   TEST_TTR(signed char, long int, bool, true);
+   TEST_TTR(signed char, unsigned char, bool, true);
+   TEST_TTR(signed char, unsigned short int, bool, true);
+   TEST_TTR(signed char, unsigned int, bool, true);
+   TEST_TTR(signed char, unsigned long int, bool, true);
+   TEST_TTR(signed char, wchar_t, bool, true);
+   TEST_TTR(signed char, float, bool, true);
+   TEST_TTR(signed char, double, bool, true);
+   TEST_TTR(signed char, long double, bool, true);
+   TEST_TTR(short int, bool, bool, true);
+   TEST_TTR(short int, char, bool, true);
+   TEST_TTR(short int, signed char, bool, true);
+   TEST_TTR(short int, short int, bool, true);
+   TEST_TTR(short int, int, bool, true);
+   TEST_TTR(short int, long int, bool, true);
+   TEST_TTR(short int, unsigned char, bool, true);
+   TEST_TTR(short int, unsigned short int, bool, true);
+   TEST_TTR(short int, unsigned int, bool, true);
+   TEST_TTR(short int, unsigned long int, bool, true);
+   TEST_TTR(short int, wchar_t, bool, true);
+   TEST_TTR(short int, float, bool, true);
+   TEST_TTR(short int, double, bool, true);
+   TEST_TTR(short int, long double, bool, true);
+   TEST_TTR(int, bool, bool, true);
+   TEST_TTR(int, char, bool, true);
+   TEST_TTR(int, signed char, bool, true);
+   TEST_TTR(int, short int, bool, true);
+   TEST_TTR(int, int, bool, true);
+   TEST_TTR(int, long int, bool, true);
+   TEST_TTR(int, unsigned char, bool, true);
+   TEST_TTR(int, unsigned short int, bool, true);
+   TEST_TTR(int, unsigned int, bool, true);
+   TEST_TTR(int, unsigned long int, bool, true);
+   TEST_TTR(int, wchar_t, bool, true);
+   TEST_TTR(int, float, bool, true);
+   TEST_TTR(int, double, bool, true);
+   TEST_TTR(int, long double, bool, true);
+   TEST_TTR(long int, bool, bool, true);
+   TEST_TTR(long int, char, bool, true);
+   TEST_TTR(long int, signed char, bool, true);
+   TEST_TTR(long int, short int, bool, true);
+   TEST_TTR(long int, int, bool, true);
+   TEST_TTR(long int, long int, bool, true);
+   TEST_TTR(long int, unsigned char, bool, true);
+   TEST_TTR(long int, unsigned short int, bool, true);
+   TEST_TTR(long int, unsigned int, bool, true);
+   TEST_TTR(long int, unsigned long int, bool, true);
+   TEST_TTR(long int, wchar_t, bool, true);
+   TEST_TTR(long int, float, bool, true);
+   TEST_TTR(long int, double, bool, true);
+   TEST_TTR(long int, long double, bool, true);
+   TEST_TTR(unsigned char, bool, bool, true);
+   TEST_TTR(unsigned char, char, bool, true);
+   TEST_TTR(unsigned char, signed char, bool, true);
+   TEST_TTR(unsigned char, short int, bool, true);
+   TEST_TTR(unsigned char, int, bool, true);
+   TEST_TTR(unsigned char, long int, bool, true);
+   TEST_TTR(unsigned char, unsigned char, bool, true);
+   TEST_TTR(unsigned char, unsigned short int, bool, true);
+   TEST_TTR(unsigned char, unsigned int, bool, true);
+   TEST_TTR(unsigned char, unsigned long int, bool, true);
+   TEST_TTR(unsigned char, wchar_t, bool, true);
+   TEST_TTR(unsigned char, float, bool, true);
+   TEST_TTR(unsigned char, double, bool, true);
+   TEST_TTR(unsigned char, long double, bool, true);
+   TEST_TTR(unsigned short int, bool, bool, true);
+   TEST_TTR(unsigned short int, char, bool, true);
+   TEST_TTR(unsigned short int, signed char, bool, true);
+   TEST_TTR(unsigned short int, short int, bool, true);
+   TEST_TTR(unsigned short int, int, bool, true);
+   TEST_TTR(unsigned short int, long int, bool, true);
+   TEST_TTR(unsigned short int, unsigned char, bool, true);
+   TEST_TTR(unsigned short int, unsigned short int, bool, true);
+   TEST_TTR(unsigned short int, unsigned int, bool, true);
+   TEST_TTR(unsigned short int, unsigned long int, bool, true);
+   TEST_TTR(unsigned short int, wchar_t, bool, true);
+   TEST_TTR(unsigned short int, float, bool, true);
+   TEST_TTR(unsigned short int, double, bool, true);
+   TEST_TTR(unsigned short int, long double, bool, true);
+   TEST_TTR(unsigned int, bool, bool, true);
+   TEST_TTR(unsigned int, char, bool, true);
+   TEST_TTR(unsigned int, signed char, bool, true);
+   TEST_TTR(unsigned int, short int, bool, true);
+   TEST_TTR(unsigned int, int, bool, true);
+   TEST_TTR(unsigned int, long int, bool, true);
+   TEST_TTR(unsigned int, unsigned char, bool, true);
+   TEST_TTR(unsigned int, unsigned short int, bool, true);
+   TEST_TTR(unsigned int, unsigned int, bool, true);
+   TEST_TTR(unsigned int, unsigned long int, bool, true);
+   TEST_TTR(unsigned int, wchar_t, bool, true);
+   TEST_TTR(unsigned int, float, bool, true);
+   TEST_TTR(unsigned int, double, bool, true);
+   TEST_TTR(unsigned int, long double, bool, true);
+   TEST_TTR(unsigned long int, bool, bool, true);
+   TEST_TTR(unsigned long int, char, bool, true);
+   TEST_TTR(unsigned long int, signed char, bool, true);
+   TEST_TTR(unsigned long int, short int, bool, true);
+   TEST_TTR(unsigned long int, int, bool, true);
+   TEST_TTR(unsigned long int, long int, bool, true);
+   TEST_TTR(unsigned long int, unsigned char, bool, true);
+   TEST_TTR(unsigned long int, unsigned short int, bool, true);
+   TEST_TTR(unsigned long int, unsigned int, bool, true);
+   TEST_TTR(unsigned long int, unsigned long int, bool, true);
+   TEST_TTR(unsigned long int, wchar_t, bool, true);
+   TEST_TTR(unsigned long int, float, bool, true);
+   TEST_TTR(unsigned long int, double, bool, true);
+   TEST_TTR(unsigned long int, long double, bool, true);
+   TEST_TTR(wchar_t, bool, bool, true);
+   TEST_TTR(wchar_t, char, bool, true);
+   TEST_TTR(wchar_t, signed char, bool, true);
+   TEST_TTR(wchar_t, short int, bool, true);
+   TEST_TTR(wchar_t, int, bool, true);
+   TEST_TTR(wchar_t, long int, bool, true);
+   TEST_TTR(wchar_t, unsigned char, bool, true);
+   TEST_TTR(wchar_t, unsigned short int, bool, true);
+   TEST_TTR(wchar_t, unsigned int, bool, true);
+   TEST_TTR(wchar_t, unsigned long int, bool, true);
+   TEST_TTR(wchar_t, wchar_t, bool, true);
+   TEST_TTR(wchar_t, float, bool, true);
+   TEST_TTR(wchar_t, double, bool, true);
+   TEST_TTR(wchar_t, long double, bool, true);
+   TEST_TTR(float, bool, bool, true);
+   TEST_TTR(float, char, bool, true);
+   TEST_TTR(float, signed char, bool, true);
+   TEST_TTR(float, short int, bool, true);
+   TEST_TTR(float, int, bool, true);
+   TEST_TTR(float, long int, bool, true);
+   TEST_TTR(float, unsigned char, bool, true);
+   TEST_TTR(float, unsigned short int, bool, true);
+   TEST_TTR(float, unsigned int, bool, true);
+   TEST_TTR(float, unsigned long int, bool, true);
+   TEST_TTR(float, wchar_t, bool, true);
+   TEST_TTR(float, float, bool, true);
+   TEST_TTR(float, double, bool, true);
+   TEST_TTR(float, long double, bool, true);
+   TEST_TTR(double, bool, bool, true);
+   TEST_TTR(double, char, bool, true);
+   TEST_TTR(double, signed char, bool, true);
+   TEST_TTR(double, short int, bool, true);
+   TEST_TTR(double, int, bool, true);
+   TEST_TTR(double, long int, bool, true);
+   TEST_TTR(double, unsigned char, bool, true);
+   TEST_TTR(double, unsigned short int, bool, true);
+   TEST_TTR(double, unsigned int, bool, true);
+   TEST_TTR(double, unsigned long int, bool, true);
+   TEST_TTR(double, wchar_t, bool, true);
+   TEST_TTR(double, float, bool, true);
+   TEST_TTR(double, double, bool, true);
+   TEST_TTR(double, long double, bool, true);
+   TEST_TTR(long double, bool, bool, true);
+   TEST_TTR(long double, char, bool, true);
+   TEST_TTR(long double, signed char, bool, true);
+   TEST_TTR(long double, short int, bool, true);
+   TEST_TTR(long double, int, bool, true);
+   TEST_TTR(long double, long int, bool, true);
+   TEST_TTR(long double, unsigned char, bool, true);
+   TEST_TTR(long double, unsigned short int, bool, true);
+   TEST_TTR(long double, unsigned int, bool, true);
+   TEST_TTR(long double, unsigned long int, bool, true);
+   TEST_TTR(long double, wchar_t, bool, true);
+   TEST_TTR(long double, float, bool, true);
+   TEST_TTR(long double, double, bool, true);
+   TEST_TTR(long double, long double, bool, true);
+   TEST_TTR(bool, bool, tag, false);
+   TEST_TTR(bool, char, tag, false);
+   TEST_TTR(bool, signed char, tag, false);
+   TEST_TTR(bool, short int, tag, false);
+   TEST_TTR(bool, int, tag, false);
+   TEST_TTR(bool, long int, tag, false);
+   TEST_TTR(bool, unsigned char, tag, false);
+   TEST_TTR(bool, unsigned short int, tag, false);
+   TEST_TTR(bool, unsigned int, tag, false);
+   TEST_TTR(bool, unsigned long int, tag, false);
+   TEST_TTR(bool, wchar_t, tag, false);
+   TEST_TTR(bool, float, tag, false);
+   TEST_TTR(bool, double, tag, false);
+   TEST_TTR(bool, long double, tag, false);
+   TEST_TTR(char, bool, tag, false);
+   TEST_TTR(char, char, tag, false);
+   TEST_TTR(char, signed char, tag, false);
+   TEST_TTR(char, short int, tag, false);
+   TEST_TTR(char, int, tag, false);
+   TEST_TTR(char, long int, tag, false);
+   TEST_TTR(char, unsigned char, tag, false);
+   TEST_TTR(char, unsigned short int, tag, false);
+   TEST_TTR(char, unsigned int, tag, false);
+   TEST_TTR(char, unsigned long int, tag, false);
+   TEST_TTR(char, wchar_t, tag, false);
+   TEST_TTR(char, float, tag, false);
+   TEST_TTR(char, double, tag, false);
+   TEST_TTR(char, long double, tag, false);
+   TEST_TTR(signed char, bool, tag, false);
+   TEST_TTR(signed char, char, tag, false);
+   TEST_TTR(signed char, signed char, tag, false);
+   TEST_TTR(signed char, short int, tag, false);
+   TEST_TTR(signed char, int, tag, false);
+   TEST_TTR(signed char, long int, tag, false);
+   TEST_TTR(signed char, unsigned char, tag, false);
+   TEST_TTR(signed char, unsigned short int, tag, false);
+   TEST_TTR(signed char, unsigned int, tag, false);
+   TEST_TTR(signed char, unsigned long int, tag, false);
+   TEST_TTR(signed char, wchar_t, tag, false);
+   TEST_TTR(signed char, float, tag, false);
+   TEST_TTR(signed char, double, tag, false);
+   TEST_TTR(signed char, long double, tag, false);
+   TEST_TTR(short int, bool, tag, false);
+   TEST_TTR(short int, char, tag, false);
+   TEST_TTR(short int, signed char, tag, false);
+   TEST_TTR(short int, short int, tag, false);
+   TEST_TTR(short int, int, tag, false);
+   TEST_TTR(short int, long int, tag, false);
+   TEST_TTR(short int, unsigned char, tag, false);
+   TEST_TTR(short int, unsigned short int, tag, false);
+   TEST_TTR(short int, unsigned int, tag, false);
+   TEST_TTR(short int, unsigned long int, tag, false);
+   TEST_TTR(short int, wchar_t, tag, false);
+   TEST_TTR(short int, float, tag, false);
+   TEST_TTR(short int, double, tag, false);
+   TEST_TTR(short int, long double, tag, false);
+   TEST_TTR(int, bool, tag, false);
+   TEST_TTR(int, char, tag, false);
+   TEST_TTR(int, signed char, tag, false);
+   TEST_TTR(int, short int, tag, false);
+   TEST_TTR(int, int, tag, false);
+   TEST_TTR(int, long int, tag, false);
+   TEST_TTR(int, unsigned char, tag, false);
+   TEST_TTR(int, unsigned short int, tag, false);
+   TEST_TTR(int, unsigned int, tag, false);
+   TEST_TTR(int, unsigned long int, tag, false);
+   TEST_TTR(int, wchar_t, tag, false);
+   TEST_TTR(int, float, tag, false);
+   TEST_TTR(int, double, tag, false);
+   TEST_TTR(int, long double, tag, false);
+   TEST_TTR(long int, bool, tag, false);
+   TEST_TTR(long int, char, tag, false);
+   TEST_TTR(long int, signed char, tag, false);
+   TEST_TTR(long int, short int, tag, false);
+   TEST_TTR(long int, int, tag, false);
+   TEST_TTR(long int, long int, tag, false);
+   TEST_TTR(long int, unsigned char, tag, false);
+   TEST_TTR(long int, unsigned short int, tag, false);
+   TEST_TTR(long int, unsigned int, tag, false);
+   TEST_TTR(long int, unsigned long int, tag, false);
+   TEST_TTR(long int, wchar_t, tag, false);
+   TEST_TTR(long int, float, tag, false);
+   TEST_TTR(long int, double, tag, false);
+   TEST_TTR(long int, long double, tag, false);
+   TEST_TTR(unsigned char, bool, tag, false);
+   TEST_TTR(unsigned char, char, tag, false);
+   TEST_TTR(unsigned char, signed char, tag, false);
+   TEST_TTR(unsigned char, short int, tag, false);
+   TEST_TTR(unsigned char, int, tag, false);
+   TEST_TTR(unsigned char, long int, tag, false);
+   TEST_TTR(unsigned char, unsigned char, tag, false);
+   TEST_TTR(unsigned char, unsigned short int, tag, false);
+   TEST_TTR(unsigned char, unsigned int, tag, false);
+   TEST_TTR(unsigned char, unsigned long int, tag, false);
+   TEST_TTR(unsigned char, wchar_t, tag, false);
+   TEST_TTR(unsigned char, float, tag, false);
+   TEST_TTR(unsigned char, double, tag, false);
+   TEST_TTR(unsigned char, long double, tag, false);
+   TEST_TTR(unsigned short int, bool, tag, false);
+   TEST_TTR(unsigned short int, char, tag, false);
+   TEST_TTR(unsigned short int, signed char, tag, false);
+   TEST_TTR(unsigned short int, short int, tag, false);
+   TEST_TTR(unsigned short int, int, tag, false);
+   TEST_TTR(unsigned short int, long int, tag, false);
+   TEST_TTR(unsigned short int, unsigned char, tag, false);
+   TEST_TTR(unsigned short int, unsigned short int, tag, false);
+   TEST_TTR(unsigned short int, unsigned int, tag, false);
+   TEST_TTR(unsigned short int, unsigned long int, tag, false);
+   TEST_TTR(unsigned short int, wchar_t, tag, false);
+   TEST_TTR(unsigned short int, float, tag, false);
+   TEST_TTR(unsigned short int, double, tag, false);
+   TEST_TTR(unsigned short int, long double, tag, false);
+   TEST_TTR(unsigned int, bool, tag, false);
+   TEST_TTR(unsigned int, char, tag, false);
+   TEST_TTR(unsigned int, signed char, tag, false);
+   TEST_TTR(unsigned int, short int, tag, false);
+   TEST_TTR(unsigned int, int, tag, false);
+   TEST_TTR(unsigned int, long int, tag, false);
+   TEST_TTR(unsigned int, unsigned char, tag, false);
+   TEST_TTR(unsigned int, unsigned short int, tag, false);
+   TEST_TTR(unsigned int, unsigned int, tag, false);
+   TEST_TTR(unsigned int, unsigned long int, tag, false);
+   TEST_TTR(unsigned int, wchar_t, tag, false);
+   TEST_TTR(unsigned int, float, tag, false);
+   TEST_TTR(unsigned int, double, tag, false);
+   TEST_TTR(unsigned int, long double, tag, false);
+   TEST_TTR(unsigned long int, bool, tag, false);
+   TEST_TTR(unsigned long int, char, tag, false);
+   TEST_TTR(unsigned long int, signed char, tag, false);
+   TEST_TTR(unsigned long int, short int, tag, false);
+   TEST_TTR(unsigned long int, int, tag, false);
+   TEST_TTR(unsigned long int, long int, tag, false);
+   TEST_TTR(unsigned long int, unsigned char, tag, false);
+   TEST_TTR(unsigned long int, unsigned short int, tag, false);
+   TEST_TTR(unsigned long int, unsigned int, tag, false);
+   TEST_TTR(unsigned long int, unsigned long int, tag, false);
+   TEST_TTR(unsigned long int, wchar_t, tag, false);
+   TEST_TTR(unsigned long int, float, tag, false);
+   TEST_TTR(unsigned long int, double, tag, false);
+   TEST_TTR(unsigned long int, long double, tag, false);
+   TEST_TTR(wchar_t, bool, tag, false);
+   TEST_TTR(wchar_t, char, tag, false);
+   TEST_TTR(wchar_t, signed char, tag, false);
+   TEST_TTR(wchar_t, short int, tag, false);
+   TEST_TTR(wchar_t, int, tag, false);
+   TEST_TTR(wchar_t, long int, tag, false);
+   TEST_TTR(wchar_t, unsigned char, tag, false);
+   TEST_TTR(wchar_t, unsigned short int, tag, false);
+   TEST_TTR(wchar_t, unsigned int, tag, false);
+   TEST_TTR(wchar_t, unsigned long int, tag, false);
+   TEST_TTR(wchar_t, wchar_t, tag, false);
+   TEST_TTR(wchar_t, float, tag, false);
+   TEST_TTR(wchar_t, double, tag, false);
+   TEST_TTR(wchar_t, long double, tag, false);
+   TEST_TTR(float, bool, tag, false);
+   TEST_TTR(float, char, tag, false);
+   TEST_TTR(float, signed char, tag, false);
+   TEST_TTR(float, short int, tag, false);
+   TEST_TTR(float, int, tag, false);
+   TEST_TTR(float, long int, tag, false);
+   TEST_TTR(float, unsigned char, tag, false);
+   TEST_TTR(float, unsigned short int, tag, false);
+   TEST_TTR(float, unsigned int, tag, false);
+   TEST_TTR(float, unsigned long int, tag, false);
+   TEST_TTR(float, wchar_t, tag, false);
+   TEST_TTR(float, float, tag, false);
+   TEST_TTR(float, double, tag, false);
+   TEST_TTR(float, long double, tag, false);
+   TEST_TTR(double, bool, tag, false);
+   TEST_TTR(double, char, tag, false);
+   TEST_TTR(double, signed char, tag, false);
+   TEST_TTR(double, short int, tag, false);
+   TEST_TTR(double, int, tag, false);
+   TEST_TTR(double, long int, tag, false);
+   TEST_TTR(double, unsigned char, tag, false);
+   TEST_TTR(double, unsigned short int, tag, false);
+   TEST_TTR(double, unsigned int, tag, false);
+   TEST_TTR(double, unsigned long int, tag, false);
+   TEST_TTR(double, wchar_t, tag, false);
+   TEST_TTR(double, float, tag, false);
+   TEST_TTR(double, double, tag, false);
+   TEST_TTR(double, long double, tag, false);
+   TEST_TTR(long double, bool, tag, false);
+   TEST_TTR(long double, char, tag, false);
+   TEST_TTR(long double, signed char, tag, false);
+   TEST_TTR(long double, short int, tag, false);
+   TEST_TTR(long double, int, tag, false);
+   TEST_TTR(long double, long int, tag, false);
+   TEST_TTR(long double, unsigned char, tag, false);
+   TEST_TTR(long double, unsigned short int, tag, false);
+   TEST_TTR(long double, unsigned int, tag, false);
+   TEST_TTR(long double, unsigned long int, tag, false);
+   TEST_TTR(long double, wchar_t, tag, false);
+   TEST_TTR(long double, float, tag, false);
+   TEST_TTR(long double, double, tag, false);
+   TEST_TTR(long double, long double, tag, false);
 
-	TEST_T(without, false);
-	TEST_T(internal, true);
-	TEST_T(external, true);
-//	compile time error
-//	TEST_T(internal_private, false);
-	TEST_T(returns_int, true);
-	TEST_T(returns_void, true);
-	TEST_T(returns_void_star, true);
-	TEST_T(returns_double, true);
-	TEST_T(returns_string, true);
-//	TEST_T(convertible_to_bool, true);
-	TEST_T(Base1, true);
-	TEST_T(Derived1, true);
-	TEST_T(Base2, false);
-	TEST_T(Derived2, true);
+   TEST_T(without, false);
+   TEST_T(internal, true);
+   TEST_T(external, true);
+// compile time error
+// TEST_T(internal_private, false);
+   TEST_T(returns_int, true);
+   TEST_T(returns_void, true);
+   TEST_T(returns_void_star, true);
+   TEST_T(returns_double, true);
+   TEST_T(returns_string, true);
+// TEST_T(convertible_to_bool, true);
+   TEST_T(Base1, true);
+   TEST_T(Derived1, true);
+   TEST_T(Base2, false);
+   TEST_T(Derived2, true);
 
-	TEST_TR(without, bool, false);
-	TEST_TR(internal, bool, false);
-	TEST_TR(internal, ret, true);
-	TEST_TR(external, bool, false);
-	TEST_TR(external, ret, true);
-	TEST_TR(returns_int, bool, true);
-	TEST_TR(returns_int, int, true);
-	TEST_TR(returns_void, void, true);
-	TEST_TR(returns_void, bool, false);
-	TEST_TR(returns_void_star, bool, true);
-	TEST_TR(returns_double, bool, true);
-	TEST_TR(returns_double, double, true);
-	TEST_TR(returns_string, bool, false);
-	TEST_TR(returns_string, std::string, true);
-//	TEST_TR(convertible_to_bool, bool, true);
-	TEST_TR(Base1, bool, true);
-	TEST_TR(Derived1, bool, true);
-	TEST_TR(Base2, bool, false);
-	TEST_TR(Derived2, bool, true);
-	// pointers
-	TEST_TT(void*, bool, false);
-	TEST_TT(void*, int, false);
-	TEST_TT(void*, double, false);
-	TEST_TT(void*, A, false);
-	TEST_TT(void*, B, false);
-	TEST_TT(bool*, bool, true);
-	TEST_TT(bool*, int, true);
-	TEST_TT(bool*, double, false);
-	TEST_TT(bool*, A, false);
-	TEST_TT(bool*, B, false);
-	TEST_TT(int*, bool, true);
-	TEST_TT(int*, int, true);
-	TEST_TT(int*, double, false);
-	TEST_TT(int*, A, false);
-	TEST_TT(int*, B, false);
-	TEST_TT(double*, bool, true);
-	TEST_TT(double*, int, true);
-	TEST_TT(double*, double, false);
-	TEST_TT(double*, A, false);
-	TEST_TT(double*, B, false);
-	TEST_TT(A*, bool, true);
-	TEST_TT(A*, int, true);
-	TEST_TT(A*, double, false);
-	TEST_TT(A*, A, false);
-	TEST_TT(A*, B, false);
-	TEST_TT(B*, bool, true);
-	TEST_TT(B*, int, true);
-	TEST_TT(B*, double, false);
-	TEST_TT(B*, A, false);
-	TEST_TT(B*, B, false);
-	TEST_TT(bool, void*, false);
-	TEST_TT(bool, bool*, true);
-	TEST_TT(bool, int*, true);
-	TEST_TT(bool, double*, true);
-	TEST_TT(bool, A*, true);
-	TEST_TT(bool, B*, true);
-	TEST_TT(int, void*, false);
-	TEST_TT(int, bool*, true);
-	TEST_TT(int, int*, true);
-	TEST_TT(int, double*, true);
-	TEST_TT(int, A*, true);
-	TEST_TT(int, B*, true);
-	TEST_TT(double, void*, false);
-	TEST_TT(double, bool*, false);
-	TEST_TT(double, int*, false);
-	TEST_TT(double, double*, false);
-	TEST_TT(double, A*, false);
-	TEST_TT(double, B*, false);
-	TEST_TT(A, void*, false);
-	TEST_TT(A, bool*, false);
-	TEST_TT(A, int*, false);
-	TEST_TT(A, double*, false);
-	TEST_TT(A, A*, false);
-	TEST_TT(A, B*, false);
-	TEST_TT(B, void*, false);
-	TEST_TT(B, bool*, false);
-	TEST_TT(B, int*, false);
-	TEST_TT(B, double*, false);
-	TEST_TT(B, A*, false);
-	TEST_TT(B, B*, false);
-	TEST_TT(void*, void*, false);
-	TEST_TT(void*, bool*, false);
-	TEST_TT(void*, int*, false);
-	TEST_TT(void*, double*, false);
-	TEST_TT(void*, A*, false);
-	TEST_TT(void*, B*, false);
-	TEST_TT(bool*, void*, false);
-	TEST_TT(bool*, bool*, false);
-	TEST_TT(bool*, int*, false);
-	TEST_TT(bool*, double*, false);
-	TEST_TT(bool*, A*, false);
-	TEST_TT(bool*, B*, false);
-	TEST_TT(int*, void*, false);
-	TEST_TT(int*, bool*, false);
-	TEST_TT(int*, int*, false);
-	TEST_TT(int*, double*, false);
-	TEST_TT(int*, A*, false);
-	TEST_TT(int*, B*, false);
-	TEST_TT(double*, void*, false);
-	TEST_TT(double*, bool*, false);
-	TEST_TT(double*, int*, false);
-	TEST_TT(double*, double*, false);
-	TEST_TT(double*, A*, false);
-	TEST_TT(double*, B*, false);
-	TEST_TT(A*, void*, false);
-	TEST_TT(A*, bool*, false);
-	TEST_TT(A*, int*, false);
-	TEST_TT(A*, double*, false);
-	TEST_TT(A*, A*, false);
-	TEST_TT(A*, B*, false);
-	TEST_TT(B*, void*, false);
-	TEST_TT(B*, bool*, false);
-	TEST_TT(B*, int*, false);
-	TEST_TT(B*, double*, false);
-	TEST_TT(B*, A*, false);
-	TEST_TT(B*, B*, false);
+   TEST_TR(without, bool, false);
+   TEST_TR(internal, bool, false);
+   TEST_TR(internal, ret, true);
+   TEST_TR(external, bool, false);
+   TEST_TR(external, ret, true);
+   TEST_TR(returns_int, bool, true);
+   TEST_TR(returns_int, int, true);
+   TEST_TR(returns_void, void, true);
+   TEST_TR(returns_void, bool, false);
+   TEST_TR(returns_void_star, bool, true);
+   TEST_TR(returns_double, bool, true);
+   TEST_TR(returns_double, double, true);
+   TEST_TR(returns_string, bool, false);
+   TEST_TR(returns_string, std::string, true);
+// TEST_TR(convertible_to_bool, bool, true);
+   TEST_TR(Base1, bool, true);
+   TEST_TR(Derived1, bool, true);
+   TEST_TR(Base2, bool, false);
+   TEST_TR(Derived2, bool, true);
+   // pointers
+   TEST_TT(void*, bool, false);
+   TEST_TT(void*, int, false);
+   TEST_TT(void*, double, false);
+   TEST_TT(void*, A, false);
+   TEST_TT(void*, B, false);
+   TEST_TT(bool*, bool, true);
+   TEST_TT(bool*, int, true);
+   TEST_TT(bool*, double, false);
+   TEST_TT(bool*, A, false);
+   TEST_TT(bool*, B, false);
+   TEST_TT(int*, bool, true);
+   TEST_TT(int*, int, true);
+   TEST_TT(int*, double, false);
+   TEST_TT(int*, A, false);
+   TEST_TT(int*, B, false);
+   TEST_TT(double*, bool, true);
+   TEST_TT(double*, int, true);
+   TEST_TT(double*, double, false);
+   TEST_TT(double*, A, false);
+   TEST_TT(double*, B, false);
+   TEST_TT(A*, bool, true);
+   TEST_TT(A*, int, true);
+   TEST_TT(A*, double, false);
+   TEST_TT(A*, A, false);
+   TEST_TT(A*, B, false);
+   TEST_TT(B*, bool, true);
+   TEST_TT(B*, int, true);
+   TEST_TT(B*, double, false);
+   TEST_TT(B*, A, false);
+   TEST_TT(B*, B, false);
+   TEST_TT(bool, void*, false);
+   TEST_TT(bool, bool*, true);
+   TEST_TT(bool, int*, true);
+   TEST_TT(bool, double*, true);
+   TEST_TT(bool, A*, true);
+   TEST_TT(bool, B*, true);
+   TEST_TT(int, void*, false);
+   TEST_TT(int, bool*, true);
+   TEST_TT(int, int*, true);
+   TEST_TT(int, double*, true);
+   TEST_TT(int, A*, true);
+   TEST_TT(int, B*, true);
+   TEST_TT(double, void*, false);
+   TEST_TT(double, bool*, false);
+   TEST_TT(double, int*, false);
+   TEST_TT(double, double*, false);
+   TEST_TT(double, A*, false);
+   TEST_TT(double, B*, false);
+   TEST_TT(A, void*, false);
+   TEST_TT(A, bool*, false);
+   TEST_TT(A, int*, false);
+   TEST_TT(A, double*, false);
+   TEST_TT(A, A*, false);
+   TEST_TT(A, B*, false);
+   TEST_TT(B, void*, false);
+   TEST_TT(B, bool*, false);
+   TEST_TT(B, int*, false);
+   TEST_TT(B, double*, false);
+   TEST_TT(B, A*, false);
+   TEST_TT(B, B*, false);
+   TEST_TT(void*, void*, false);
+   TEST_TT(void*, bool*, false);
+   TEST_TT(void*, int*, false);
+   TEST_TT(void*, double*, false);
+   TEST_TT(void*, A*, false);
+   TEST_TT(void*, B*, false);
+   TEST_TT(bool*, void*, false);
+   TEST_TT(bool*, bool*, false);
+   TEST_TT(bool*, int*, false);
+   TEST_TT(bool*, double*, false);
+   TEST_TT(bool*, A*, false);
+   TEST_TT(bool*, B*, false);
+   TEST_TT(int*, void*, false);
+   TEST_TT(int*, bool*, false);
+   TEST_TT(int*, int*, false);
+   TEST_TT(int*, double*, false);
+   TEST_TT(int*, A*, false);
+   TEST_TT(int*, B*, false);
+   TEST_TT(double*, void*, false);
+   TEST_TT(double*, bool*, false);
+   TEST_TT(double*, int*, false);
+   TEST_TT(double*, double*, false);
+   TEST_TT(double*, A*, false);
+   TEST_TT(double*, B*, false);
+   TEST_TT(A*, void*, false);
+   TEST_TT(A*, bool*, false);
+   TEST_TT(A*, int*, false);
+   TEST_TT(A*, double*, false);
+   TEST_TT(A*, A*, false);
+   TEST_TT(A*, B*, false);
+   TEST_TT(B*, void*, false);
+   TEST_TT(B*, bool*, false);
+   TEST_TT(B*, int*, false);
+   TEST_TT(B*, double*, false);
+   TEST_TT(B*, A*, false);
+   TEST_TT(B*, B*, false);
 }
 }
 
 TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-	run();
+   run();
 TT_TEST_END
Modified: sandbox/type_traits/libs/type_traits/test/has_comparison_operator_test.hpp
==============================================================================
--- sandbox/type_traits/libs/type_traits/test/has_comparison_operator_test.hpp	(original)
+++ sandbox/type_traits/libs/type_traits/test/has_comparison_operator_test.hpp	2011-02-03 17:09:55 EST (Thu, 03 Feb 2011)
@@ -49,7 +49,7 @@
 
 class Base2 { };
 struct Derived2 : public Base2 {
-	Derived2(int); // to check if it works with a class that is not default constructible
+   Derived2(int); // to check if it works with a class that is not default constructible
 };
 
 bool operator BOOST_TT_TRAIT_OP (const Derived2&, const Derived2&) { return true; }
@@ -60,777 +60,777 @@
 struct B : public A { };
 
 void run() {
-	// test with only one template parameter
-	TEST_T(bool, true);
-	TEST_T(char, true);
-	TEST_T(signed char, true);
-	TEST_T(short int, true);
-	TEST_T(int, true);
-	TEST_T(long int, true);
-	TEST_T(unsigned char, true);
-	TEST_T(unsigned short int, true);
-	TEST_T(unsigned int, true);
-	TEST_T(unsigned long int, true);
-	TEST_T(wchar_t, true);
-	TEST_T(float, true);
-	TEST_T(double, true);
-	TEST_T(long double, true);
-	TEST_T(void, false);
-	// test with only two template parameters
-	TEST_TT(bool, bool, true);
-	TEST_TT(bool, char, true);
-	TEST_TT(bool, signed char, true);
-	TEST_TT(bool, short int, true);
-	TEST_TT(bool, int, true);
-	TEST_TT(bool, long int, true);
-	TEST_TT(bool, unsigned char, true);
-	TEST_TT(bool, unsigned short int, true);
-	TEST_TT(bool, unsigned int, true);
-	TEST_TT(bool, unsigned long int, true);
-	TEST_TT(bool, wchar_t, true);
-	TEST_TT(bool, float, true);
-	TEST_TT(bool, double, true);
-	TEST_TT(bool, long double, true);
-	TEST_TT(char, bool, true);
-	TEST_TT(char, char, true);
-	TEST_TT(char, signed char, true);
-	TEST_TT(char, short int, true);
-	TEST_TT(char, int, true);
-	TEST_TT(char, long int, true);
-	TEST_TT(char, unsigned char, true);
-	TEST_TT(char, unsigned short int, true);
-	TEST_TT(char, unsigned int, true);
-	TEST_TT(char, unsigned long int, true);
-	TEST_TT(char, wchar_t, true);
-	TEST_TT(char, float, true);
-	TEST_TT(char, double, true);
-	TEST_TT(char, long double, true);
-	TEST_TT(signed char, bool, true);
-	TEST_TT(signed char, char, true);
-	TEST_TT(signed char, signed char, true);
-	TEST_TT(signed char, short int, true);
-	TEST_TT(signed char, int, true);
-	TEST_TT(signed char, long int, true);
-	TEST_TT(signed char, unsigned char, true);
-	TEST_TT(signed char, unsigned short int, true);
-	TEST_TT(signed char, unsigned int, true);
-	TEST_TT(signed char, unsigned long int, true);
-	TEST_TT(signed char, wchar_t, true);
-	TEST_TT(signed char, float, true);
-	TEST_TT(signed char, double, true);
-	TEST_TT(signed char, long double, true);
-	TEST_TT(short int, bool, true);
-	TEST_TT(short int, char, true);
-	TEST_TT(short int, signed char, true);
-	TEST_TT(short int, short int, true);
-	TEST_TT(short int, int, true);
-	TEST_TT(short int, long int, true);
-	TEST_TT(short int, unsigned char, true);
-	TEST_TT(short int, unsigned short int, true);
-	TEST_TT(short int, unsigned int, true);
-	TEST_TT(short int, unsigned long int, true);
-	TEST_TT(short int, wchar_t, true);
-	TEST_TT(short int, float, true);
-	TEST_TT(short int, double, true);
-	TEST_TT(short int, long double, true);
-	TEST_TT(int, bool, true);
-	TEST_TT(int, char, true);
-	TEST_TT(int, signed char, true);
-	TEST_TT(int, short int, true);
-	TEST_TT(int, int, true);
-	TEST_TT(int, long int, true);
-	TEST_TT(int, unsigned char, true);
-	TEST_TT(int, unsigned short int, true);
-	TEST_TT(int, unsigned int, true);
-	TEST_TT(int, unsigned long int, true);
-	TEST_TT(int, wchar_t, true);
-	TEST_TT(int, float, true);
-	TEST_TT(int, double, true);
-	TEST_TT(int, long double, true);
-	TEST_TT(long int, bool, true);
-	TEST_TT(long int, char, true);
-	TEST_TT(long int, signed char, true);
-	TEST_TT(long int, short int, true);
-	TEST_TT(long int, int, true);
-	TEST_TT(long int, long int, true);
-	TEST_TT(long int, unsigned char, true);
-	TEST_TT(long int, unsigned short int, true);
-	TEST_TT(long int, unsigned int, true);
-	TEST_TT(long int, unsigned long int, true);
-	TEST_TT(long int, wchar_t, true);
-	TEST_TT(long int, float, true);
-	TEST_TT(long int, double, true);
-	TEST_TT(long int, long double, true);
-	TEST_TT(unsigned char, bool, true);
-	TEST_TT(unsigned char, char, true);
-	TEST_TT(unsigned char, signed char, true);
-	TEST_TT(unsigned char, short int, true);
-	TEST_TT(unsigned char, int, true);
-	TEST_TT(unsigned char, long int, true);
-	TEST_TT(unsigned char, unsigned char, true);
-	TEST_TT(unsigned char, unsigned short int, true);
-	TEST_TT(unsigned char, unsigned int, true);
-	TEST_TT(unsigned char, unsigned long int, true);
-	TEST_TT(unsigned char, wchar_t, true);
-	TEST_TT(unsigned char, float, true);
-	TEST_TT(unsigned char, double, true);
-	TEST_TT(unsigned char, long double, true);
-	TEST_TT(unsigned short int, bool, true);
-	TEST_TT(unsigned short int, char, true);
-	TEST_TT(unsigned short int, signed char, true);
-	TEST_TT(unsigned short int, short int, true);
-	TEST_TT(unsigned short int, int, true);
-	TEST_TT(unsigned short int, long int, true);
-	TEST_TT(unsigned short int, unsigned char, true);
-	TEST_TT(unsigned short int, unsigned short int, true);
-	TEST_TT(unsigned short int, unsigned int, true);
-	TEST_TT(unsigned short int, unsigned long int, true);
-	TEST_TT(unsigned short int, wchar_t, true);
-	TEST_TT(unsigned short int, float, true);
-	TEST_TT(unsigned short int, double, true);
-	TEST_TT(unsigned short int, long double, true);
-	TEST_TT(unsigned int, bool, true);
-	TEST_TT(unsigned int, char, true);
-	TEST_TT(unsigned int, signed char, true);
-	TEST_TT(unsigned int, short int, true);
-	TEST_TT(unsigned int, int, true);
-	TEST_TT(unsigned int, long int, true);
-	TEST_TT(unsigned int, unsigned char, true);
-	TEST_TT(unsigned int, unsigned short int, true);
-	TEST_TT(unsigned int, unsigned int, true);
-	TEST_TT(unsigned int, unsigned long int, true);
-	TEST_TT(unsigned int, wchar_t, true);
-	TEST_TT(unsigned int, float, true);
-	TEST_TT(unsigned int, double, true);
-	TEST_TT(unsigned int, long double, true);
-	TEST_TT(unsigned long int, bool, true);
-	TEST_TT(unsigned long int, char, true);
-	TEST_TT(unsigned long int, signed char, true);
-	TEST_TT(unsigned long int, short int, true);
-	TEST_TT(unsigned long int, int, true);
-	TEST_TT(unsigned long int, long int, true);
-	TEST_TT(unsigned long int, unsigned char, true);
-	TEST_TT(unsigned long int, unsigned short int, true);
-	TEST_TT(unsigned long int, unsigned int, true);
-	TEST_TT(unsigned long int, unsigned long int, true);
-	TEST_TT(unsigned long int, wchar_t, true);
-	TEST_TT(unsigned long int, float, true);
-	TEST_TT(unsigned long int, double, true);
-	TEST_TT(unsigned long int, long double, true);
-	TEST_TT(wchar_t, bool, true);
-	TEST_TT(wchar_t, char, true);
-	TEST_TT(wchar_t, signed char, true);
-	TEST_TT(wchar_t, short int, true);
-	TEST_TT(wchar_t, int, true);
-	TEST_TT(wchar_t, long int, true);
-	TEST_TT(wchar_t, unsigned char, true);
-	TEST_TT(wchar_t, unsigned short int, true);
-	TEST_TT(wchar_t, unsigned int, true);
-	TEST_TT(wchar_t, unsigned long int, true);
-	TEST_TT(wchar_t, wchar_t, true);
-	TEST_TT(wchar_t, float, true);
-	TEST_TT(wchar_t, double, true);
-	TEST_TT(wchar_t, long double, true);
-	TEST_TT(float, bool, true);
-	TEST_TT(float, char, true);
-	TEST_TT(float, signed char, true);
-	TEST_TT(float, short int, true);
-	TEST_TT(float, int, true);
-	TEST_TT(float, long int, true);
-	TEST_TT(float, unsigned char, true);
-	TEST_TT(float, unsigned short int, true);
-	TEST_TT(float, unsigned int, true);
-	TEST_TT(float, unsigned long int, true);
-	TEST_TT(float, wchar_t, true);
-	TEST_TT(float, float, true);
-	TEST_TT(float, double, true);
-	TEST_TT(float, long double, true);
-	TEST_TT(double, bool, true);
-	TEST_TT(double, char, true);
-	TEST_TT(double, signed char, true);
-	TEST_TT(double, short int, true);
-	TEST_TT(double, int, true);
-	TEST_TT(double, long int, true);
-	TEST_TT(double, unsigned char, true);
-	TEST_TT(double, unsigned short int, true);
-	TEST_TT(double, unsigned int, true);
-	TEST_TT(double, unsigned long int, true);
-	TEST_TT(double, wchar_t, true);
-	TEST_TT(double, float, true);
-	TEST_TT(double, double, true);
-	TEST_TT(double, long double, true);
-	TEST_TT(long double, bool, true);
-	TEST_TT(long double, char, true);
-	TEST_TT(long double, signed char, true);
-	TEST_TT(long double, short int, true);
-	TEST_TT(long double, int, true);
-	TEST_TT(long double, long int, true);
-	TEST_TT(long double, unsigned char, true);
-	TEST_TT(long double, unsigned short int, true);
-	TEST_TT(long double, unsigned int, true);
-	TEST_TT(long double, unsigned long int, true);
-	TEST_TT(long double, wchar_t, true);
-	TEST_TT(long double, float, true);
-	TEST_TT(long double, double, true);
-	TEST_TT(long double, long double, true);
-	TEST_TT(bool, void, false);
-	TEST_TT(void, bool, false);
-	TEST_TT(char, void, false);
-	TEST_TT(void, char, false);
-	TEST_TT(signed char, void, false);
-	TEST_TT(void, signed char, false);
-	TEST_TT(short int, void, false);
-	TEST_TT(void, short int, false);
-	TEST_TT(int, void, false);
-	TEST_TT(void, int, false);
-	TEST_TT(long int, void, false);
-	TEST_TT(void, long int, false);
-	TEST_TT(unsigned char, void, false);
-	TEST_TT(void, unsigned char, false);
-	TEST_TT(unsigned short int, void, false);
-	TEST_TT(void, unsigned short int, false);
-	TEST_TT(unsigned int, void, false);
-	TEST_TT(void, unsigned int, false);
-	TEST_TT(unsigned long int, void, false);
-	TEST_TT(void, unsigned long int, false);
-	TEST_TT(wchar_t, void, false);
-	TEST_TT(void, wchar_t, false);
-	TEST_TT(float, void, false);
-	TEST_TT(void, float, false);
-	TEST_TT(double, void, false);
-	TEST_TT(void, double, false);
-	TEST_TT(long double, void, false);
-	TEST_TT(void, long double, false);
+   // test with only one template parameter
+   TEST_T(bool, true);
+   TEST_T(char, true);
+   TEST_T(signed char, true);
+   TEST_T(short int, true);
+   TEST_T(int, true);
+   TEST_T(long int, true);
+   TEST_T(unsigned char, true);
+   TEST_T(unsigned short int, true);
+   TEST_T(unsigned int, true);
+   TEST_T(unsigned long int, true);
+   TEST_T(wchar_t, true);
+   TEST_T(float, true);
+   TEST_T(double, true);
+   TEST_T(long double, true);
+   TEST_T(void, false);
+   // test with only two template parameters
+   TEST_TT(bool, bool, true);
+   TEST_TT(bool, char, true);
+   TEST_TT(bool, signed char, true);
+   TEST_TT(bool, short int, true);
+   TEST_TT(bool, int, true);
+   TEST_TT(bool, long int, true);
+   TEST_TT(bool, unsigned char, true);
+   TEST_TT(bool, unsigned short int, true);
+   TEST_TT(bool, unsigned int, true);
+   TEST_TT(bool, unsigned long int, true);
+   TEST_TT(bool, wchar_t, true);
+   TEST_TT(bool, float, true);
+   TEST_TT(bool, double, true);
+   TEST_TT(bool, long double, true);
+   TEST_TT(char, bool, true);
+   TEST_TT(char, char, true);
+   TEST_TT(char, signed char, true);
+   TEST_TT(char, short int, true);
+   TEST_TT(char, int, true);
+   TEST_TT(char, long int, true);
+   TEST_TT(char, unsigned char, true);
+   TEST_TT(char, unsigned short int, true);
+   TEST_TT(char, unsigned int, true);
+   TEST_TT(char, unsigned long int, true);
+   TEST_TT(char, wchar_t, true);
+   TEST_TT(char, float, true);
+   TEST_TT(char, double, true);
+   TEST_TT(char, long double, true);
+   TEST_TT(signed char, bool, true);
+   TEST_TT(signed char, char, true);
+   TEST_TT(signed char, signed char, true);
+   TEST_TT(signed char, short int, true);
+   TEST_TT(signed char, int, true);
+   TEST_TT(signed char, long int, true);
+   TEST_TT(signed char, unsigned char, true);
+   TEST_TT(signed char, unsigned short int, true);
+   TEST_TT(signed char, unsigned int, true);
+   TEST_TT(signed char, unsigned long int, true);
+   TEST_TT(signed char, wchar_t, true);
+   TEST_TT(signed char, float, true);
+   TEST_TT(signed char, double, true);
+   TEST_TT(signed char, long double, true);
+   TEST_TT(short int, bool, true);
+   TEST_TT(short int, char, true);
+   TEST_TT(short int, signed char, true);
+   TEST_TT(short int, short int, true);
+   TEST_TT(short int, int, true);
+   TEST_TT(short int, long int, true);
+   TEST_TT(short int, unsigned char, true);
+   TEST_TT(short int, unsigned short int, true);
+   TEST_TT(short int, unsigned int, true);
+   TEST_TT(short int, unsigned long int, true);
+   TEST_TT(short int, wchar_t, true);
+   TEST_TT(short int, float, true);
+   TEST_TT(short int, double, true);
+   TEST_TT(short int, long double, true);
+   TEST_TT(int, bool, true);
+   TEST_TT(int, char, true);
+   TEST_TT(int, signed char, true);
+   TEST_TT(int, short int, true);
+   TEST_TT(int, int, true);
+   TEST_TT(int, long int, true);
+   TEST_TT(int, unsigned char, true);
+   TEST_TT(int, unsigned short int, true);
+   TEST_TT(int, unsigned int, true);
+   TEST_TT(int, unsigned long int, true);
+   TEST_TT(int, wchar_t, true);
+   TEST_TT(int, float, true);
+   TEST_TT(int, double, true);
+   TEST_TT(int, long double, true);
+   TEST_TT(long int, bool, true);
+   TEST_TT(long int, char, true);
+   TEST_TT(long int, signed char, true);
+   TEST_TT(long int, short int, true);
+   TEST_TT(long int, int, true);
+   TEST_TT(long int, long int, true);
+   TEST_TT(long int, unsigned char, true);
+   TEST_TT(long int, unsigned short int, true);
+   TEST_TT(long int, unsigned int, true);
+   TEST_TT(long int, unsigned long int, true);
+   TEST_TT(long int, wchar_t, true);
+   TEST_TT(long int, float, true);
+   TEST_TT(long int, double, true);
+   TEST_TT(long int, long double, true);
+   TEST_TT(unsigned char, bool, true);
+   TEST_TT(unsigned char, char, true);
+   TEST_TT(unsigned char, signed char, true);
+   TEST_TT(unsigned char, short int, true);
+   TEST_TT(unsigned char, int, true);
+   TEST_TT(unsigned char, long int, true);
+   TEST_TT(unsigned char, unsigned char, true);
+   TEST_TT(unsigned char, unsigned short int, true);
+   TEST_TT(unsigned char, unsigned int, true);
+   TEST_TT(unsigned char, unsigned long int, true);
+   TEST_TT(unsigned char, wchar_t, true);
+   TEST_TT(unsigned char, float, true);
+   TEST_TT(unsigned char, double, true);
+   TEST_TT(unsigned char, long double, true);
+   TEST_TT(unsigned short int, bool, true);
+   TEST_TT(unsigned short int, char, true);
+   TEST_TT(unsigned short int, signed char, true);
+   TEST_TT(unsigned short int, short int, true);
+   TEST_TT(unsigned short int, int, true);
+   TEST_TT(unsigned short int, long int, true);
+   TEST_TT(unsigned short int, unsigned char, true);
+   TEST_TT(unsigned short int, unsigned short int, true);
+   TEST_TT(unsigned short int, unsigned int, true);
+   TEST_TT(unsigned short int, unsigned long int, true);
+   TEST_TT(unsigned short int, wchar_t, true);
+   TEST_TT(unsigned short int, float, true);
+   TEST_TT(unsigned short int, double, true);
+   TEST_TT(unsigned short int, long double, true);
+   TEST_TT(unsigned int, bool, true);
+   TEST_TT(unsigned int, char, true);
+   TEST_TT(unsigned int, signed char, true);
+   TEST_TT(unsigned int, short int, true);
+   TEST_TT(unsigned int, int, true);
+   TEST_TT(unsigned int, long int, true);
+   TEST_TT(unsigned int, unsigned char, true);
+   TEST_TT(unsigned int, unsigned short int, true);
+   TEST_TT(unsigned int, unsigned int, true);
+   TEST_TT(unsigned int, unsigned long int, true);
+   TEST_TT(unsigned int, wchar_t, true);
+   TEST_TT(unsigned int, float, true);
+   TEST_TT(unsigned int, double, true);
+   TEST_TT(unsigned int, long double, true);
+   TEST_TT(unsigned long int, bool, true);
+   TEST_TT(unsigned long int, char, true);
+   TEST_TT(unsigned long int, signed char, true);
+   TEST_TT(unsigned long int, short int, true);
+   TEST_TT(unsigned long int, int, true);
+   TEST_TT(unsigned long int, long int, true);
+   TEST_TT(unsigned long int, unsigned char, true);
+   TEST_TT(unsigned long int, unsigned short int, true);
+   TEST_TT(unsigned long int, unsigned int, true);
+   TEST_TT(unsigned long int, unsigned long int, true);
+   TEST_TT(unsigned long int, wchar_t, true);
+   TEST_TT(unsigned long int, float, true);
+   TEST_TT(unsigned long int, double, true);
+   TEST_TT(unsigned long int, long double, true);
+   TEST_TT(wchar_t, bool, true);
+   TEST_TT(wchar_t, char, true);
+   TEST_TT(wchar_t, signed char, true);
+   TEST_TT(wchar_t, short int, true);
+   TEST_TT(wchar_t, int, true);
+   TEST_TT(wchar_t, long int, true);
+   TEST_TT(wchar_t, unsigned char, true);
+   TEST_TT(wchar_t, unsigned short int, true);
+   TEST_TT(wchar_t, unsigned int, true);
+   TEST_TT(wchar_t, unsigned long int, true);
+   TEST_TT(wchar_t, wchar_t, true);
+   TEST_TT(wchar_t, float, true);
+   TEST_TT(wchar_t, double, true);
+   TEST_TT(wchar_t, long double, true);
+   TEST_TT(float, bool, true);
+   TEST_TT(float, char, true);
+   TEST_TT(float, signed char, true);
+   TEST_TT(float, short int, true);
+   TEST_TT(float, int, true);
+   TEST_TT(float, long int, true);
+   TEST_TT(float, unsigned char, true);
+   TEST_TT(float, unsigned short int, true);
+   TEST_TT(float, unsigned int, true);
+   TEST_TT(float, unsigned long int, true);
+   TEST_TT(float, wchar_t, true);
+   TEST_TT(float, float, true);
+   TEST_TT(float, double, true);
+   TEST_TT(float, long double, true);
+   TEST_TT(double, bool, true);
+   TEST_TT(double, char, true);
+   TEST_TT(double, signed char, true);
+   TEST_TT(double, short int, true);
+   TEST_TT(double, int, true);
+   TEST_TT(double, long int, true);
+   TEST_TT(double, unsigned char, true);
+   TEST_TT(double, unsigned short int, true);
+   TEST_TT(double, unsigned int, true);
+   TEST_TT(double, unsigned long int, true);
+   TEST_TT(double, wchar_t, true);
+   TEST_TT(double, float, true);
+   TEST_TT(double, double, true);
+   TEST_TT(double, long double, true);
+   TEST_TT(long double, bool, true);
+   TEST_TT(long double, char, true);
+   TEST_TT(long double, signed char, true);
+   TEST_TT(long double, short int, true);
+   TEST_TT(long double, int, true);
+   TEST_TT(long double, long int, true);
+   TEST_TT(long double, unsigned char, true);
+   TEST_TT(long double, unsigned short int, true);
+   TEST_TT(long double, unsigned int, true);
+   TEST_TT(long double, unsigned long int, true);
+   TEST_TT(long double, wchar_t, true);
+   TEST_TT(long double, float, true);
+   TEST_TT(long double, double, true);
+   TEST_TT(long double, long double, true);
+   TEST_TT(bool, void, false);
+   TEST_TT(void, bool, false);
+   TEST_TT(char, void, false);
+   TEST_TT(void, char, false);
+   TEST_TT(signed char, void, false);
+   TEST_TT(void, signed char, false);
+   TEST_TT(short int, void, false);
+   TEST_TT(void, short int, false);
+   TEST_TT(int, void, false);
+   TEST_TT(void, int, false);
+   TEST_TT(long int, void, false);
+   TEST_TT(void, long int, false);
+   TEST_TT(unsigned char, void, false);
+   TEST_TT(void, unsigned char, false);
+   TEST_TT(unsigned short int, void, false);
+   TEST_TT(void, unsigned short int, false);
+   TEST_TT(unsigned int, void, false);
+   TEST_TT(void, unsigned int, false);
+   TEST_TT(unsigned long int, void, false);
+   TEST_TT(void, unsigned long int, false);
+   TEST_TT(wchar_t, void, false);
+   TEST_TT(void, wchar_t, false);
+   TEST_TT(float, void, false);
+   TEST_TT(void, float, false);
+   TEST_TT(double, void, false);
+   TEST_TT(void, double, false);
+   TEST_TT(long double, void, false);
+   TEST_TT(void, long double, false);
 
 // test with three template parameters
-	TEST_TTR(bool, bool, bool, true);
-	TEST_TTR(bool, char, bool, true);
-	TEST_TTR(bool, signed char, bool, true);
-	TEST_TTR(bool, short int, bool, true);
-	TEST_TTR(bool, int, bool, true);
-	TEST_TTR(bool, long int, bool, true);
-	TEST_TTR(bool, unsigned char, bool, true);
-	TEST_TTR(bool, unsigned short int, bool, true);
-	TEST_TTR(bool, unsigned int, bool, true);
-	TEST_TTR(bool, unsigned long int, bool, true);
-	TEST_TTR(bool, wchar_t, bool, true);
-	TEST_TTR(bool, float, bool, true);
-	TEST_TTR(bool, double, bool, true);
-	TEST_TTR(bool, long double, bool, true);
-	TEST_TTR(char, bool, bool, true);
-	TEST_TTR(char, char, bool, true);
-	TEST_TTR(char, signed char, bool, true);
-	TEST_TTR(char, short int, bool, true);
-	TEST_TTR(char, int, bool, true);
-	TEST_TTR(char, long int, bool, true);
-	TEST_TTR(char, unsigned char, bool, true);
-	TEST_TTR(char, unsigned short int, bool, true);
-	TEST_TTR(char, unsigned int, bool, true);
-	TEST_TTR(char, unsigned long int, bool, true);
-	TEST_TTR(char, wchar_t, bool, true);
-	TEST_TTR(char, float, bool, true);
-	TEST_TTR(char, double, bool, true);
-	TEST_TTR(char, long double, bool, true);
-	TEST_TTR(signed char, bool, bool, true);
-	TEST_TTR(signed char, char, bool, true);
-	TEST_TTR(signed char, signed char, bool, true);
-	TEST_TTR(signed char, short int, bool, true);
-	TEST_TTR(signed char, int, bool, true);
-	TEST_TTR(signed char, long int, bool, true);
-	TEST_TTR(signed char, unsigned char, bool, true);
-	TEST_TTR(signed char, unsigned short int, bool, true);
-	TEST_TTR(signed char, unsigned int, bool, true);
-	TEST_TTR(signed char, unsigned long int, bool, true);
-	TEST_TTR(signed char, wchar_t, bool, true);
-	TEST_TTR(signed char, float, bool, true);
-	TEST_TTR(signed char, double, bool, true);
-	TEST_TTR(signed char, long double, bool, true);
-	TEST_TTR(short int, bool, bool, true);
-	TEST_TTR(short int, char, bool, true);
-	TEST_TTR(short int, signed char, bool, true);
-	TEST_TTR(short int, short int, bool, true);
-	TEST_TTR(short int, int, bool, true);
-	TEST_TTR(short int, long int, bool, true);
-	TEST_TTR(short int, unsigned char, bool, true);
-	TEST_TTR(short int, unsigned short int, bool, true);
-	TEST_TTR(short int, unsigned int, bool, true);
-	TEST_TTR(short int, unsigned long int, bool, true);
-	TEST_TTR(short int, wchar_t, bool, true);
-	TEST_TTR(short int, float, bool, true);
-	TEST_TTR(short int, double, bool, true);
-	TEST_TTR(short int, long double, bool, true);
-	TEST_TTR(int, bool, bool, true);
-	TEST_TTR(int, char, bool, true);
-	TEST_TTR(int, signed char, bool, true);
-	TEST_TTR(int, short int, bool, true);
-	TEST_TTR(int, int, bool, true);
-	TEST_TTR(int, long int, bool, true);
-	TEST_TTR(int, unsigned char, bool, true);
-	TEST_TTR(int, unsigned short int, bool, true);
-	TEST_TTR(int, unsigned int, bool, true);
-	TEST_TTR(int, unsigned long int, bool, true);
-	TEST_TTR(int, wchar_t, bool, true);
-	TEST_TTR(int, float, bool, true);
-	TEST_TTR(int, double, bool, true);
-	TEST_TTR(int, long double, bool, true);
-	TEST_TTR(long int, bool, bool, true);
-	TEST_TTR(long int, char, bool, true);
-	TEST_TTR(long int, signed char, bool, true);
-	TEST_TTR(long int, short int, bool, true);
-	TEST_TTR(long int, int, bool, true);
-	TEST_TTR(long int, long int, bool, true);
-	TEST_TTR(long int, unsigned char, bool, true);
-	TEST_TTR(long int, unsigned short int, bool, true);
-	TEST_TTR(long int, unsigned int, bool, true);
-	TEST_TTR(long int, unsigned long int, bool, true);
-	TEST_TTR(long int, wchar_t, bool, true);
-	TEST_TTR(long int, float, bool, true);
-	TEST_TTR(long int, double, bool, true);
-	TEST_TTR(long int, long double, bool, true);
-	TEST_TTR(unsigned char, bool, bool, true);
-	TEST_TTR(unsigned char, char, bool, true);
-	TEST_TTR(unsigned char, signed char, bool, true);
-	TEST_TTR(unsigned char, short int, bool, true);
-	TEST_TTR(unsigned char, int, bool, true);
-	TEST_TTR(unsigned char, long int, bool, true);
-	TEST_TTR(unsigned char, unsigned char, bool, true);
-	TEST_TTR(unsigned char, unsigned short int, bool, true);
-	TEST_TTR(unsigned char, unsigned int, bool, true);
-	TEST_TTR(unsigned char, unsigned long int, bool, true);
-	TEST_TTR(unsigned char, wchar_t, bool, true);
-	TEST_TTR(unsigned char, float, bool, true);
-	TEST_TTR(unsigned char, double, bool, true);
-	TEST_TTR(unsigned char, long double, bool, true);
-	TEST_TTR(unsigned short int, bool, bool, true);
-	TEST_TTR(unsigned short int, char, bool, true);
-	TEST_TTR(unsigned short int, signed char, bool, true);
-	TEST_TTR(unsigned short int, short int, bool, true);
-	TEST_TTR(unsigned short int, int, bool, true);
-	TEST_TTR(unsigned short int, long int, bool, true);
-	TEST_TTR(unsigned short int, unsigned char, bool, true);
-	TEST_TTR(unsigned short int, unsigned short int, bool, true);
-	TEST_TTR(unsigned short int, unsigned int, bool, true);
-	TEST_TTR(unsigned short int, unsigned long int, bool, true);
-	TEST_TTR(unsigned short int, wchar_t, bool, true);
-	TEST_TTR(unsigned short int, float, bool, true);
-	TEST_TTR(unsigned short int, double, bool, true);
-	TEST_TTR(unsigned short int, long double, bool, true);
-	TEST_TTR(unsigned int, bool, bool, true);
-	TEST_TTR(unsigned int, char, bool, true);
-	TEST_TTR(unsigned int, signed char, bool, true);
-	TEST_TTR(unsigned int, short int, bool, true);
-	TEST_TTR(unsigned int, int, bool, true);
-	TEST_TTR(unsigned int, long int, bool, true);
-	TEST_TTR(unsigned int, unsigned char, bool, true);
-	TEST_TTR(unsigned int, unsigned short int, bool, true);
-	TEST_TTR(unsigned int, unsigned int, bool, true);
-	TEST_TTR(unsigned int, unsigned long int, bool, true);
-	TEST_TTR(unsigned int, wchar_t, bool, true);
-	TEST_TTR(unsigned int, float, bool, true);
-	TEST_TTR(unsigned int, double, bool, true);
-	TEST_TTR(unsigned int, long double, bool, true);
-	TEST_TTR(unsigned long int, bool, bool, true);
-	TEST_TTR(unsigned long int, char, bool, true);
-	TEST_TTR(unsigned long int, signed char, bool, true);
-	TEST_TTR(unsigned long int, short int, bool, true);
-	TEST_TTR(unsigned long int, int, bool, true);
-	TEST_TTR(unsigned long int, long int, bool, true);
-	TEST_TTR(unsigned long int, unsigned char, bool, true);
-	TEST_TTR(unsigned long int, unsigned short int, bool, true);
-	TEST_TTR(unsigned long int, unsigned int, bool, true);
-	TEST_TTR(unsigned long int, unsigned long int, bool, true);
-	TEST_TTR(unsigned long int, wchar_t, bool, true);
-	TEST_TTR(unsigned long int, float, bool, true);
-	TEST_TTR(unsigned long int, double, bool, true);
-	TEST_TTR(unsigned long int, long double, bool, true);
-	TEST_TTR(wchar_t, bool, bool, true);
-	TEST_TTR(wchar_t, char, bool, true);
-	TEST_TTR(wchar_t, signed char, bool, true);
-	TEST_TTR(wchar_t, short int, bool, true);
-	TEST_TTR(wchar_t, int, bool, true);
-	TEST_TTR(wchar_t, long int, bool, true);
-	TEST_TTR(wchar_t, unsigned char, bool, true);
-	TEST_TTR(wchar_t, unsigned short int, bool, true);
-	TEST_TTR(wchar_t, unsigned int, bool, true);
-	TEST_TTR(wchar_t, unsigned long int, bool, true);
-	TEST_TTR(wchar_t, wchar_t, bool, true);
-	TEST_TTR(wchar_t, float, bool, true);
-	TEST_TTR(wchar_t, double, bool, true);
-	TEST_TTR(wchar_t, long double, bool, true);
-	TEST_TTR(float, bool, bool, true);
-	TEST_TTR(float, char, bool, true);
-	TEST_TTR(float, signed char, bool, true);
-	TEST_TTR(float, short int, bool, true);
-	TEST_TTR(float, int, bool, true);
-	TEST_TTR(float, long int, bool, true);
-	TEST_TTR(float, unsigned char, bool, true);
-	TEST_TTR(float, unsigned short int, bool, true);
-	TEST_TTR(float, unsigned int, bool, true);
-	TEST_TTR(float, unsigned long int, bool, true);
-	TEST_TTR(float, wchar_t, bool, true);
-	TEST_TTR(float, float, bool, true);
-	TEST_TTR(float, double, bool, true);
-	TEST_TTR(float, long double, bool, true);
-	TEST_TTR(double, bool, bool, true);
-	TEST_TTR(double, char, bool, true);
-	TEST_TTR(double, signed char, bool, true);
-	TEST_TTR(double, short int, bool, true);
-	TEST_TTR(double, int, bool, true);
-	TEST_TTR(double, long int, bool, true);
-	TEST_TTR(double, unsigned char, bool, true);
-	TEST_TTR(double, unsigned short int, bool, true);
-	TEST_TTR(double, unsigned int, bool, true);
-	TEST_TTR(double, unsigned long int, bool, true);
-	TEST_TTR(double, wchar_t, bool, true);
-	TEST_TTR(double, float, bool, true);
-	TEST_TTR(double, double, bool, true);
-	TEST_TTR(double, long double, bool, true);
-	TEST_TTR(long double, bool, bool, true);
-	TEST_TTR(long double, char, bool, true);
-	TEST_TTR(long double, signed char, bool, true);
-	TEST_TTR(long double, short int, bool, true);
-	TEST_TTR(long double, int, bool, true);
-	TEST_TTR(long double, long int, bool, true);
-	TEST_TTR(long double, unsigned char, bool, true);
-	TEST_TTR(long double, unsigned short int, bool, true);
-	TEST_TTR(long double, unsigned int, bool, true);
-	TEST_TTR(long double, unsigned long int, bool, true);
-	TEST_TTR(long double, wchar_t, bool, true);
-	TEST_TTR(long double, float, bool, true);
-	TEST_TTR(long double, double, bool, true);
-	TEST_TTR(long double, long double, bool, true);
-	TEST_TTR(bool, bool, tag, false);
-	TEST_TTR(bool, char, tag, false);
-	TEST_TTR(bool, signed char, tag, false);
-	TEST_TTR(bool, short int, tag, false);
-	TEST_TTR(bool, int, tag, false);
-	TEST_TTR(bool, long int, tag, false);
-	TEST_TTR(bool, unsigned char, tag, false);
-	TEST_TTR(bool, unsigned short int, tag, false);
-	TEST_TTR(bool, unsigned int, tag, false);
-	TEST_TTR(bool, unsigned long int, tag, false);
-	TEST_TTR(bool, wchar_t, tag, false);
-	TEST_TTR(bool, float, tag, false);
-	TEST_TTR(bool, double, tag, false);
-	TEST_TTR(bool, long double, tag, false);
-	TEST_TTR(char, bool, tag, false);
-	TEST_TTR(char, char, tag, false);
-	TEST_TTR(char, signed char, tag, false);
-	TEST_TTR(char, short int, tag, false);
-	TEST_TTR(char, int, tag, false);
-	TEST_TTR(char, long int, tag, false);
-	TEST_TTR(char, unsigned char, tag, false);
-	TEST_TTR(char, unsigned short int, tag, false);
-	TEST_TTR(char, unsigned int, tag, false);
-	TEST_TTR(char, unsigned long int, tag, false);
-	TEST_TTR(char, wchar_t, tag, false);
-	TEST_TTR(char, float, tag, false);
-	TEST_TTR(char, double, tag, false);
-	TEST_TTR(char, long double, tag, false);
-	TEST_TTR(signed char, bool, tag, false);
-	TEST_TTR(signed char, char, tag, false);
-	TEST_TTR(signed char, signed char, tag, false);
-	TEST_TTR(signed char, short int, tag, false);
-	TEST_TTR(signed char, int, tag, false);
-	TEST_TTR(signed char, long int, tag, false);
-	TEST_TTR(signed char, unsigned char, tag, false);
-	TEST_TTR(signed char, unsigned short int, tag, false);
-	TEST_TTR(signed char, unsigned int, tag, false);
-	TEST_TTR(signed char, unsigned long int, tag, false);
-	TEST_TTR(signed char, wchar_t, tag, false);
-	TEST_TTR(signed char, float, tag, false);
-	TEST_TTR(signed char, double, tag, false);
-	TEST_TTR(signed char, long double, tag, false);
-	TEST_TTR(short int, bool, tag, false);
-	TEST_TTR(short int, char, tag, false);
-	TEST_TTR(short int, signed char, tag, false);
-	TEST_TTR(short int, short int, tag, false);
-	TEST_TTR(short int, int, tag, false);
-	TEST_TTR(short int, long int, tag, false);
-	TEST_TTR(short int, unsigned char, tag, false);
-	TEST_TTR(short int, unsigned short int, tag, false);
-	TEST_TTR(short int, unsigned int, tag, false);
-	TEST_TTR(short int, unsigned long int, tag, false);
-	TEST_TTR(short int, wchar_t, tag, false);
-	TEST_TTR(short int, float, tag, false);
-	TEST_TTR(short int, double, tag, false);
-	TEST_TTR(short int, long double, tag, false);
-	TEST_TTR(int, bool, tag, false);
-	TEST_TTR(int, char, tag, false);
-	TEST_TTR(int, signed char, tag, false);
-	TEST_TTR(int, short int, tag, false);
-	TEST_TTR(int, int, tag, false);
-	TEST_TTR(int, long int, tag, false);
-	TEST_TTR(int, unsigned char, tag, false);
-	TEST_TTR(int, unsigned short int, tag, false);
-	TEST_TTR(int, unsigned int, tag, false);
-	TEST_TTR(int, unsigned long int, tag, false);
-	TEST_TTR(int, wchar_t, tag, false);
-	TEST_TTR(int, float, tag, false);
-	TEST_TTR(int, double, tag, false);
-	TEST_TTR(int, long double, tag, false);
-	TEST_TTR(long int, bool, tag, false);
-	TEST_TTR(long int, char, tag, false);
-	TEST_TTR(long int, signed char, tag, false);
-	TEST_TTR(long int, short int, tag, false);
-	TEST_TTR(long int, int, tag, false);
-	TEST_TTR(long int, long int, tag, false);
-	TEST_TTR(long int, unsigned char, tag, false);
-	TEST_TTR(long int, unsigned short int, tag, false);
-	TEST_TTR(long int, unsigned int, tag, false);
-	TEST_TTR(long int, unsigned long int, tag, false);
-	TEST_TTR(long int, wchar_t, tag, false);
-	TEST_TTR(long int, float, tag, false);
-	TEST_TTR(long int, double, tag, false);
-	TEST_TTR(long int, long double, tag, false);
-	TEST_TTR(unsigned char, bool, tag, false);
-	TEST_TTR(unsigned char, char, tag, false);
-	TEST_TTR(unsigned char, signed char, tag, false);
-	TEST_TTR(unsigned char, short int, tag, false);
-	TEST_TTR(unsigned char, int, tag, false);
-	TEST_TTR(unsigned char, long int, tag, false);
-	TEST_TTR(unsigned char, unsigned char, tag, false);
-	TEST_TTR(unsigned char, unsigned short int, tag, false);
-	TEST_TTR(unsigned char, unsigned int, tag, false);
-	TEST_TTR(unsigned char, unsigned long int, tag, false);
-	TEST_TTR(unsigned char, wchar_t, tag, false);
-	TEST_TTR(unsigned char, float, tag, false);
-	TEST_TTR(unsigned char, double, tag, false);
-	TEST_TTR(unsigned char, long double, tag, false);
-	TEST_TTR(unsigned short int, bool, tag, false);
-	TEST_TTR(unsigned short int, char, tag, false);
-	TEST_TTR(unsigned short int, signed char, tag, false);
-	TEST_TTR(unsigned short int, short int, tag, false);
-	TEST_TTR(unsigned short int, int, tag, false);
-	TEST_TTR(unsigned short int, long int, tag, false);
-	TEST_TTR(unsigned short int, unsigned char, tag, false);
-	TEST_TTR(unsigned short int, unsigned short int, tag, false);
-	TEST_TTR(unsigned short int, unsigned int, tag, false);
-	TEST_TTR(unsigned short int, unsigned long int, tag, false);
-	TEST_TTR(unsigned short int, wchar_t, tag, false);
-	TEST_TTR(unsigned short int, float, tag, false);
-	TEST_TTR(unsigned short int, double, tag, false);
-	TEST_TTR(unsigned short int, long double, tag, false);
-	TEST_TTR(unsigned int, bool, tag, false);
-	TEST_TTR(unsigned int, char, tag, false);
-	TEST_TTR(unsigned int, signed char, tag, false);
-	TEST_TTR(unsigned int, short int, tag, false);
-	TEST_TTR(unsigned int, int, tag, false);
-	TEST_TTR(unsigned int, long int, tag, false);
-	TEST_TTR(unsigned int, unsigned char, tag, false);
-	TEST_TTR(unsigned int, unsigned short int, tag, false);
-	TEST_TTR(unsigned int, unsigned int, tag, false);
-	TEST_TTR(unsigned int, unsigned long int, tag, false);
-	TEST_TTR(unsigned int, wchar_t, tag, false);
-	TEST_TTR(unsigned int, float, tag, false);
-	TEST_TTR(unsigned int, double, tag, false);
-	TEST_TTR(unsigned int, long double, tag, false);
-	TEST_TTR(unsigned long int, bool, tag, false);
-	TEST_TTR(unsigned long int, char, tag, false);
-	TEST_TTR(unsigned long int, signed char, tag, false);
-	TEST_TTR(unsigned long int, short int, tag, false);
-	TEST_TTR(unsigned long int, int, tag, false);
-	TEST_TTR(unsigned long int, long int, tag, false);
-	TEST_TTR(unsigned long int, unsigned char, tag, false);
-	TEST_TTR(unsigned long int, unsigned short int, tag, false);
-	TEST_TTR(unsigned long int, unsigned int, tag, false);
-	TEST_TTR(unsigned long int, unsigned long int, tag, false);
-	TEST_TTR(unsigned long int, wchar_t, tag, false);
-	TEST_TTR(unsigned long int, float, tag, false);
-	TEST_TTR(unsigned long int, double, tag, false);
-	TEST_TTR(unsigned long int, long double, tag, false);
-	TEST_TTR(wchar_t, bool, tag, false);
-	TEST_TTR(wchar_t, char, tag, false);
-	TEST_TTR(wchar_t, signed char, tag, false);
-	TEST_TTR(wchar_t, short int, tag, false);
-	TEST_TTR(wchar_t, int, tag, false);
-	TEST_TTR(wchar_t, long int, tag, false);
-	TEST_TTR(wchar_t, unsigned char, tag, false);
-	TEST_TTR(wchar_t, unsigned short int, tag, false);
-	TEST_TTR(wchar_t, unsigned int, tag, false);
-	TEST_TTR(wchar_t, unsigned long int, tag, false);
-	TEST_TTR(wchar_t, wchar_t, tag, false);
-	TEST_TTR(wchar_t, float, tag, false);
-	TEST_TTR(wchar_t, double, tag, false);
-	TEST_TTR(wchar_t, long double, tag, false);
-	TEST_TTR(float, bool, tag, false);
-	TEST_TTR(float, char, tag, false);
-	TEST_TTR(float, signed char, tag, false);
-	TEST_TTR(float, short int, tag, false);
-	TEST_TTR(float, int, tag, false);
-	TEST_TTR(float, long int, tag, false);
-	TEST_TTR(float, unsigned char, tag, false);
-	TEST_TTR(float, unsigned short int, tag, false);
-	TEST_TTR(float, unsigned int, tag, false);
-	TEST_TTR(float, unsigned long int, tag, false);
-	TEST_TTR(float, wchar_t, tag, false);
-	TEST_TTR(float, float, tag, false);
-	TEST_TTR(float, double, tag, false);
-	TEST_TTR(float, long double, tag, false);
-	TEST_TTR(double, bool, tag, false);
-	TEST_TTR(double, char, tag, false);
-	TEST_TTR(double, signed char, tag, false);
-	TEST_TTR(double, short int, tag, false);
-	TEST_TTR(double, int, tag, false);
-	TEST_TTR(double, long int, tag, false);
-	TEST_TTR(double, unsigned char, tag, false);
-	TEST_TTR(double, unsigned short int, tag, false);
-	TEST_TTR(double, unsigned int, tag, false);
-	TEST_TTR(double, unsigned long int, tag, false);
-	TEST_TTR(double, wchar_t, tag, false);
-	TEST_TTR(double, float, tag, false);
-	TEST_TTR(double, double, tag, false);
-	TEST_TTR(double, long double, tag, false);
-	TEST_TTR(long double, bool, tag, false);
-	TEST_TTR(long double, char, tag, false);
-	TEST_TTR(long double, signed char, tag, false);
-	TEST_TTR(long double, short int, tag, false);
-	TEST_TTR(long double, int, tag, false);
-	TEST_TTR(long double, long int, tag, false);
-	TEST_TTR(long double, unsigned char, tag, false);
-	TEST_TTR(long double, unsigned short int, tag, false);
-	TEST_TTR(long double, unsigned int, tag, false);
-	TEST_TTR(long double, unsigned long int, tag, false);
-	TEST_TTR(long double, wchar_t, tag, false);
-	TEST_TTR(long double, float, tag, false);
-	TEST_TTR(long double, double, tag, false);
-	TEST_TTR(long double, long double, tag, false);
+   TEST_TTR(bool, bool, bool, true);
+   TEST_TTR(bool, char, bool, true);
+   TEST_TTR(bool, signed char, bool, true);
+   TEST_TTR(bool, short int, bool, true);
+   TEST_TTR(bool, int, bool, true);
+   TEST_TTR(bool, long int, bool, true);
+   TEST_TTR(bool, unsigned char, bool, true);
+   TEST_TTR(bool, unsigned short int, bool, true);
+   TEST_TTR(bool, unsigned int, bool, true);
+   TEST_TTR(bool, unsigned long int, bool, true);
+   TEST_TTR(bool, wchar_t, bool, true);
+   TEST_TTR(bool, float, bool, true);
+   TEST_TTR(bool, double, bool, true);
+   TEST_TTR(bool, long double, bool, true);
+   TEST_TTR(char, bool, bool, true);
+   TEST_TTR(char, char, bool, true);
+   TEST_TTR(char, signed char, bool, true);
+   TEST_TTR(char, short int, bool, true);
+   TEST_TTR(char, int, bool, true);
+   TEST_TTR(char, long int, bool, true);
+   TEST_TTR(char, unsigned char, bool, true);
+   TEST_TTR(char, unsigned short int, bool, true);
+   TEST_TTR(char, unsigned int, bool, true);
+   TEST_TTR(char, unsigned long int, bool, true);
+   TEST_TTR(char, wchar_t, bool, true);
+   TEST_TTR(char, float, bool, true);
+   TEST_TTR(char, double, bool, true);
+   TEST_TTR(char, long double, bool, true);
+   TEST_TTR(signed char, bool, bool, true);
+   TEST_TTR(signed char, char, bool, true);
+   TEST_TTR(signed char, signed char, bool, true);
+   TEST_TTR(signed char, short int, bool, true);
+   TEST_TTR(signed char, int, bool, true);
+   TEST_TTR(signed char, long int, bool, true);
+   TEST_TTR(signed char, unsigned char, bool, true);
+   TEST_TTR(signed char, unsigned short int, bool, true);
+   TEST_TTR(signed char, unsigned int, bool, true);
+   TEST_TTR(signed char, unsigned long int, bool, true);
+   TEST_TTR(signed char, wchar_t, bool, true);
+   TEST_TTR(signed char, float, bool, true);
+   TEST_TTR(signed char, double, bool, true);
+   TEST_TTR(signed char, long double, bool, true);
+   TEST_TTR(short int, bool, bool, true);
+   TEST_TTR(short int, char, bool, true);
+   TEST_TTR(short int, signed char, bool, true);
+   TEST_TTR(short int, short int, bool, true);
+   TEST_TTR(short int, int, bool, true);
+   TEST_TTR(short int, long int, bool, true);
+   TEST_TTR(short int, unsigned char, bool, true);
+   TEST_TTR(short int, unsigned short int, bool, true);
+   TEST_TTR(short int, unsigned int, bool, true);
+   TEST_TTR(short int, unsigned long int, bool, true);
+   TEST_TTR(short int, wchar_t, bool, true);
+   TEST_TTR(short int, float, bool, true);
+   TEST_TTR(short int, double, bool, true);
+   TEST_TTR(short int, long double, bool, true);
+   TEST_TTR(int, bool, bool, true);
+   TEST_TTR(int, char, bool, true);
+   TEST_TTR(int, signed char, bool, true);
+   TEST_TTR(int, short int, bool, true);
+   TEST_TTR(int, int, bool, true);
+   TEST_TTR(int, long int, bool, true);
+   TEST_TTR(int, unsigned char, bool, true);
+   TEST_TTR(int, unsigned short int, bool, true);
+   TEST_TTR(int, unsigned int, bool, true);
+   TEST_TTR(int, unsigned long int, bool, true);
+   TEST_TTR(int, wchar_t, bool, true);
+   TEST_TTR(int, float, bool, true);
+   TEST_TTR(int, double, bool, true);
+   TEST_TTR(int, long double, bool, true);
+   TEST_TTR(long int, bool, bool, true);
+   TEST_TTR(long int, char, bool, true);
+   TEST_TTR(long int, signed char, bool, true);
+   TEST_TTR(long int, short int, bool, true);
+   TEST_TTR(long int, int, bool, true);
+   TEST_TTR(long int, long int, bool, true);
+   TEST_TTR(long int, unsigned char, bool, true);
+   TEST_TTR(long int, unsigned short int, bool, true);
+   TEST_TTR(long int, unsigned int, bool, true);
+   TEST_TTR(long int, unsigned long int, bool, true);
+   TEST_TTR(long int, wchar_t, bool, true);
+   TEST_TTR(long int, float, bool, true);
+   TEST_TTR(long int, double, bool, true);
+   TEST_TTR(long int, long double, bool, true);
+   TEST_TTR(unsigned char, bool, bool, true);
+   TEST_TTR(unsigned char, char, bool, true);
+   TEST_TTR(unsigned char, signed char, bool, true);
+   TEST_TTR(unsigned char, short int, bool, true);
+   TEST_TTR(unsigned char, int, bool, true);
+   TEST_TTR(unsigned char, long int, bool, true);
+   TEST_TTR(unsigned char, unsigned char, bool, true);
+   TEST_TTR(unsigned char, unsigned short int, bool, true);
+   TEST_TTR(unsigned char, unsigned int, bool, true);
+   TEST_TTR(unsigned char, unsigned long int, bool, true);
+   TEST_TTR(unsigned char, wchar_t, bool, true);
+   TEST_TTR(unsigned char, float, bool, true);
+   TEST_TTR(unsigned char, double, bool, true);
+   TEST_TTR(unsigned char, long double, bool, true);
+   TEST_TTR(unsigned short int, bool, bool, true);
+   TEST_TTR(unsigned short int, char, bool, true);
+   TEST_TTR(unsigned short int, signed char, bool, true);
+   TEST_TTR(unsigned short int, short int, bool, true);
+   TEST_TTR(unsigned short int, int, bool, true);
+   TEST_TTR(unsigned short int, long int, bool, true);
+   TEST_TTR(unsigned short int, unsigned char, bool, true);
+   TEST_TTR(unsigned short int, unsigned short int, bool, true);
+   TEST_TTR(unsigned short int, unsigned int, bool, true);
+   TEST_TTR(unsigned short int, unsigned long int, bool, true);
+   TEST_TTR(unsigned short int, wchar_t, bool, true);
+   TEST_TTR(unsigned short int, float, bool, true);
+   TEST_TTR(unsigned short int, double, bool, true);
+   TEST_TTR(unsigned short int, long double, bool, true);
+   TEST_TTR(unsigned int, bool, bool, true);
+   TEST_TTR(unsigned int, char, bool, true);
+   TEST_TTR(unsigned int, signed char, bool, true);
+   TEST_TTR(unsigned int, short int, bool, true);
+   TEST_TTR(unsigned int, int, bool, true);
+   TEST_TTR(unsigned int, long int, bool, true);
+   TEST_TTR(unsigned int, unsigned char, bool, true);
+   TEST_TTR(unsigned int, unsigned short int, bool, true);
+   TEST_TTR(unsigned int, unsigned int, bool, true);
+   TEST_TTR(unsigned int, unsigned long int, bool, true);
+   TEST_TTR(unsigned int, wchar_t, bool, true);
+   TEST_TTR(unsigned int, float, bool, true);
+   TEST_TTR(unsigned int, double, bool, true);
+   TEST_TTR(unsigned int, long double, bool, true);
+   TEST_TTR(unsigned long int, bool, bool, true);
+   TEST_TTR(unsigned long int, char, bool, true);
+   TEST_TTR(unsigned long int, signed char, bool, true);
+   TEST_TTR(unsigned long int, short int, bool, true);
+   TEST_TTR(unsigned long int, int, bool, true);
+   TEST_TTR(unsigned long int, long int, bool, true);
+   TEST_TTR(unsigned long int, unsigned char, bool, true);
+   TEST_TTR(unsigned long int, unsigned short int, bool, true);
+   TEST_TTR(unsigned long int, unsigned int, bool, true);
+   TEST_TTR(unsigned long int, unsigned long int, bool, true);
+   TEST_TTR(unsigned long int, wchar_t, bool, true);
+   TEST_TTR(unsigned long int, float, bool, true);
+   TEST_TTR(unsigned long int, double, bool, true);
+   TEST_TTR(unsigned long int, long double, bool, true);
+   TEST_TTR(wchar_t, bool, bool, true);
+   TEST_TTR(wchar_t, char, bool, true);
+   TEST_TTR(wchar_t, signed char, bool, true);
+   TEST_TTR(wchar_t, short int, bool, true);
+   TEST_TTR(wchar_t, int, bool, true);
+   TEST_TTR(wchar_t, long int, bool, true);
+   TEST_TTR(wchar_t, unsigned char, bool, true);
+   TEST_TTR(wchar_t, unsigned short int, bool, true);
+   TEST_TTR(wchar_t, unsigned int, bool, true);
+   TEST_TTR(wchar_t, unsigned long int, bool, true);
+   TEST_TTR(wchar_t, wchar_t, bool, true);
+   TEST_TTR(wchar_t, float, bool, true);
+   TEST_TTR(wchar_t, double, bool, true);
+   TEST_TTR(wchar_t, long double, bool, true);
+   TEST_TTR(float, bool, bool, true);
+   TEST_TTR(float, char, bool, true);
+   TEST_TTR(float, signed char, bool, true);
+   TEST_TTR(float, short int, bool, true);
+   TEST_TTR(float, int, bool, true);
+   TEST_TTR(float, long int, bool, true);
+   TEST_TTR(float, unsigned char, bool, true);
+   TEST_TTR(float, unsigned short int, bool, true);
+   TEST_TTR(float, unsigned int, bool, true);
+   TEST_TTR(float, unsigned long int, bool, true);
+   TEST_TTR(float, wchar_t, bool, true);
+   TEST_TTR(float, float, bool, true);
+   TEST_TTR(float, double, bool, true);
+   TEST_TTR(float, long double, bool, true);
+   TEST_TTR(double, bool, bool, true);
+   TEST_TTR(double, char, bool, true);
+   TEST_TTR(double, signed char, bool, true);
+   TEST_TTR(double, short int, bool, true);
+   TEST_TTR(double, int, bool, true);
+   TEST_TTR(double, long int, bool, true);
+   TEST_TTR(double, unsigned char, bool, true);
+   TEST_TTR(double, unsigned short int, bool, true);
+   TEST_TTR(double, unsigned int, bool, true);
+   TEST_TTR(double, unsigned long int, bool, true);
+   TEST_TTR(double, wchar_t, bool, true);
+   TEST_TTR(double, float, bool, true);
+   TEST_TTR(double, double, bool, true);
+   TEST_TTR(double, long double, bool, true);
+   TEST_TTR(long double, bool, bool, true);
+   TEST_TTR(long double, char, bool, true);
+   TEST_TTR(long double, signed char, bool, true);
+   TEST_TTR(long double, short int, bool, true);
+   TEST_TTR(long double, int, bool, true);
+   TEST_TTR(long double, long int, bool, true);
+   TEST_TTR(long double, unsigned char, bool, true);
+   TEST_TTR(long double, unsigned short int, bool, true);
+   TEST_TTR(long double, unsigned int, bool, true);
+   TEST_TTR(long double, unsigned long int, bool, true);
+   TEST_TTR(long double, wchar_t, bool, true);
+   TEST_TTR(long double, float, bool, true);
+   TEST_TTR(long double, double, bool, true);
+   TEST_TTR(long double, long double, bool, true);
+   TEST_TTR(bool, bool, tag, false);
+   TEST_TTR(bool, char, tag, false);
+   TEST_TTR(bool, signed char, tag, false);
+   TEST_TTR(bool, short int, tag, false);
+   TEST_TTR(bool, int, tag, false);
+   TEST_TTR(bool, long int, tag, false);
+   TEST_TTR(bool, unsigned char, tag, false);
+   TEST_TTR(bool, unsigned short int, tag, false);
+   TEST_TTR(bool, unsigned int, tag, false);
+   TEST_TTR(bool, unsigned long int, tag, false);
+   TEST_TTR(bool, wchar_t, tag, false);
+   TEST_TTR(bool, float, tag, false);
+   TEST_TTR(bool, double, tag, false);
+   TEST_TTR(bool, long double, tag, false);
+   TEST_TTR(char, bool, tag, false);
+   TEST_TTR(char, char, tag, false);
+   TEST_TTR(char, signed char, tag, false);
+   TEST_TTR(char, short int, tag, false);
+   TEST_TTR(char, int, tag, false);
+   TEST_TTR(char, long int, tag, false);
+   TEST_TTR(char, unsigned char, tag, false);
+   TEST_TTR(char, unsigned short int, tag, false);
+   TEST_TTR(char, unsigned int, tag, false);
+   TEST_TTR(char, unsigned long int, tag, false);
+   TEST_TTR(char, wchar_t, tag, false);
+   TEST_TTR(char, float, tag, false);
+   TEST_TTR(char, double, tag, false);
+   TEST_TTR(char, long double, tag, false);
+   TEST_TTR(signed char, bool, tag, false);
+   TEST_TTR(signed char, char, tag, false);
+   TEST_TTR(signed char, signed char, tag, false);
+   TEST_TTR(signed char, short int, tag, false);
+   TEST_TTR(signed char, int, tag, false);
+   TEST_TTR(signed char, long int, tag, false);
+   TEST_TTR(signed char, unsigned char, tag, false);
+   TEST_TTR(signed char, unsigned short int, tag, false);
+   TEST_TTR(signed char, unsigned int, tag, false);
+   TEST_TTR(signed char, unsigned long int, tag, false);
+   TEST_TTR(signed char, wchar_t, tag, false);
+   TEST_TTR(signed char, float, tag, false);
+   TEST_TTR(signed char, double, tag, false);
+   TEST_TTR(signed char, long double, tag, false);
+   TEST_TTR(short int, bool, tag, false);
+   TEST_TTR(short int, char, tag, false);
+   TEST_TTR(short int, signed char, tag, false);
+   TEST_TTR(short int, short int, tag, false);
+   TEST_TTR(short int, int, tag, false);
+   TEST_TTR(short int, long int, tag, false);
+   TEST_TTR(short int, unsigned char, tag, false);
+   TEST_TTR(short int, unsigned short int, tag, false);
+   TEST_TTR(short int, unsigned int, tag, false);
+   TEST_TTR(short int, unsigned long int, tag, false);
+   TEST_TTR(short int, wchar_t, tag, false);
+   TEST_TTR(short int, float, tag, false);
+   TEST_TTR(short int, double, tag, false);
+   TEST_TTR(short int, long double, tag, false);
+   TEST_TTR(int, bool, tag, false);
+   TEST_TTR(int, char, tag, false);
+   TEST_TTR(int, signed char, tag, false);
+   TEST_TTR(int, short int, tag, false);
+   TEST_TTR(int, int, tag, false);
+   TEST_TTR(int, long int, tag, false);
+   TEST_TTR(int, unsigned char, tag, false);
+   TEST_TTR(int, unsigned short int, tag, false);
+   TEST_TTR(int, unsigned int, tag, false);
+   TEST_TTR(int, unsigned long int, tag, false);
+   TEST_TTR(int, wchar_t, tag, false);
+   TEST_TTR(int, float, tag, false);
+   TEST_TTR(int, double, tag, false);
+   TEST_TTR(int, long double, tag, false);
+   TEST_TTR(long int, bool, tag, false);
+   TEST_TTR(long int, char, tag, false);
+   TEST_TTR(long int, signed char, tag, false);
+   TEST_TTR(long int, short int, tag, false);
+   TEST_TTR(long int, int, tag, false);
+   TEST_TTR(long int, long int, tag, false);
+   TEST_TTR(long int, unsigned char, tag, false);
+   TEST_TTR(long int, unsigned short int, tag, false);
+   TEST_TTR(long int, unsigned int, tag, false);
+   TEST_TTR(long int, unsigned long int, tag, false);
+   TEST_TTR(long int, wchar_t, tag, false);
+   TEST_TTR(long int, float, tag, false);
+   TEST_TTR(long int, double, tag, false);
+   TEST_TTR(long int, long double, tag, false);
+   TEST_TTR(unsigned char, bool, tag, false);
+   TEST_TTR(unsigned char, char, tag, false);
+   TEST_TTR(unsigned char, signed char, tag, false);
+   TEST_TTR(unsigned char, short int, tag, false);
+   TEST_TTR(unsigned char, int, tag, false);
+   TEST_TTR(unsigned char, long int, tag, false);
+   TEST_TTR(unsigned char, unsigned char, tag, false);
+   TEST_TTR(unsigned char, unsigned short int, tag, false);
+   TEST_TTR(unsigned char, unsigned int, tag, false);
+   TEST_TTR(unsigned char, unsigned long int, tag, false);
+   TEST_TTR(unsigned char, wchar_t, tag, false);
+   TEST_TTR(unsigned char, float, tag, false);
+   TEST_TTR(unsigned char, double, tag, false);
+   TEST_TTR(unsigned char, long double, tag, false);
+   TEST_TTR(unsigned short int, bool, tag, false);
+   TEST_TTR(unsigned short int, char, tag, false);
+   TEST_TTR(unsigned short int, signed char, tag, false);
+   TEST_TTR(unsigned short int, short int, tag, false);
+   TEST_TTR(unsigned short int, int, tag, false);
+   TEST_TTR(unsigned short int, long int, tag, false);
+   TEST_TTR(unsigned short int, unsigned char, tag, false);
+   TEST_TTR(unsigned short int, unsigned short int, tag, false);
+   TEST_TTR(unsigned short int, unsigned int, tag, false);
+   TEST_TTR(unsigned short int, unsigned long int, tag, false);
+   TEST_TTR(unsigned short int, wchar_t, tag, false);
+   TEST_TTR(unsigned short int, float, tag, false);
+   TEST_TTR(unsigned short int, double, tag, false);
+   TEST_TTR(unsigned short int, long double, tag, false);
+   TEST_TTR(unsigned int, bool, tag, false);
+   TEST_TTR(unsigned int, char, tag, false);
+   TEST_TTR(unsigned int, signed char, tag, false);
+   TEST_TTR(unsigned int, short int, tag, false);
+   TEST_TTR(unsigned int, int, tag, false);
+   TEST_TTR(unsigned int, long int, tag, false);
+   TEST_TTR(unsigned int, unsigned char, tag, false);
+   TEST_TTR(unsigned int, unsigned short int, tag, false);
+   TEST_TTR(unsigned int, unsigned int, tag, false);
+   TEST_TTR(unsigned int, unsigned long int, tag, false);
+   TEST_TTR(unsigned int, wchar_t, tag, false);
+   TEST_TTR(unsigned int, float, tag, false);
+   TEST_TTR(unsigned int, double, tag, false);
+   TEST_TTR(unsigned int, long double, tag, false);
+   TEST_TTR(unsigned long int, bool, tag, false);
+   TEST_TTR(unsigned long int, char, tag, false);
+   TEST_TTR(unsigned long int, signed char, tag, false);
+   TEST_TTR(unsigned long int, short int, tag, false);
+   TEST_TTR(unsigned long int, int, tag, false);
+   TEST_TTR(unsigned long int, long int, tag, false);
+   TEST_TTR(unsigned long int, unsigned char, tag, false);
+   TEST_TTR(unsigned long int, unsigned short int, tag, false);
+   TEST_TTR(unsigned long int, unsigned int, tag, false);
+   TEST_TTR(unsigned long int, unsigned long int, tag, false);
+   TEST_TTR(unsigned long int, wchar_t, tag, false);
+   TEST_TTR(unsigned long int, float, tag, false);
+   TEST_TTR(unsigned long int, double, tag, false);
+   TEST_TTR(unsigned long int, long double, tag, false);
+   TEST_TTR(wchar_t, bool, tag, false);
+   TEST_TTR(wchar_t, char, tag, false);
+   TEST_TTR(wchar_t, signed char, tag, false);
+   TEST_TTR(wchar_t, short int, tag, false);
+   TEST_TTR(wchar_t, int, tag, false);
+   TEST_TTR(wchar_t, long int, tag, false);
+   TEST_TTR(wchar_t, unsigned char, tag, false);
+   TEST_TTR(wchar_t, unsigned short int, tag, false);
+   TEST_TTR(wchar_t, unsigned int, tag, false);
+   TEST_TTR(wchar_t, unsigned long int, tag, false);
+   TEST_TTR(wchar_t, wchar_t, tag, false);
+   TEST_TTR(wchar_t, float, tag, false);
+   TEST_TTR(wchar_t, double, tag, false);
+   TEST_TTR(wchar_t, long double, tag, false);
+   TEST_TTR(float, bool, tag, false);
+   TEST_TTR(float, char, tag, false);
+   TEST_TTR(float, signed char, tag, false);
+   TEST_TTR(float, short int, tag, false);
+   TEST_TTR(float, int, tag, false);
+   TEST_TTR(float, long int, tag, false);
+   TEST_TTR(float, unsigned char, tag, false);
+   TEST_TTR(float, unsigned short int, tag, false);
+   TEST_TTR(float, unsigned int, tag, false);
+   TEST_TTR(float, unsigned long int, tag, false);
+   TEST_TTR(float, wchar_t, tag, false);
+   TEST_TTR(float, float, tag, false);
+   TEST_TTR(float, double, tag, false);
+   TEST_TTR(float, long double, tag, false);
+   TEST_TTR(double, bool, tag, false);
+   TEST_TTR(double, char, tag, false);
+   TEST_TTR(double, signed char, tag, false);
+   TEST_TTR(double, short int, tag, false);
+   TEST_TTR(double, int, tag, false);
+   TEST_TTR(double, long int, tag, false);
+   TEST_TTR(double, unsigned char, tag, false);
+   TEST_TTR(double, unsigned short int, tag, false);
+   TEST_TTR(double, unsigned int, tag, false);
+   TEST_TTR(double, unsigned long int, tag, false);
+   TEST_TTR(double, wchar_t, tag, false);
+   TEST_TTR(double, float, tag, false);
+   TEST_TTR(double, double, tag, false);
+   TEST_TTR(double, long double, tag, false);
+   TEST_TTR(long double, bool, tag, false);
+   TEST_TTR(long double, char, tag, false);
+   TEST_TTR(long double, signed char, tag, false);
+   TEST_TTR(long double, short int, tag, false);
+   TEST_TTR(long double, int, tag, false);
+   TEST_TTR(long double, long int, tag, false);
+   TEST_TTR(long double, unsigned char, tag, false);
+   TEST_TTR(long double, unsigned short int, tag, false);
+   TEST_TTR(long double, unsigned int, tag, false);
+   TEST_TTR(long double, unsigned long int, tag, false);
+   TEST_TTR(long double, wchar_t, tag, false);
+   TEST_TTR(long double, float, tag, false);
+   TEST_TTR(long double, double, tag, false);
+   TEST_TTR(long double, long double, tag, false);
 
-	TEST_T(without, false);
-	TEST_T(internal, true);
-	TEST_T(external, true);
-//	compile time error
-//	TEST_T(internal_private, false);
-	TEST_T(returns_int, true);
-	TEST_T(returns_void, true);
-	TEST_T(returns_void_star, true);
-	TEST_T(returns_double, true);
-	TEST_T(returns_string, true);
-//	TEST_T(convertible_to_bool, true);
-	TEST_T(Base1, true);
-	TEST_T(Derived1, true);
-	TEST_T(Base2, false);
-	TEST_T(Derived2, true);
+   TEST_T(without, false);
+   TEST_T(internal, true);
+   TEST_T(external, true);
+// compile time error
+// TEST_T(internal_private, false);
+   TEST_T(returns_int, true);
+   TEST_T(returns_void, true);
+   TEST_T(returns_void_star, true);
+   TEST_T(returns_double, true);
+   TEST_T(returns_string, true);
+// TEST_T(convertible_to_bool, true);
+   TEST_T(Base1, true);
+   TEST_T(Derived1, true);
+   TEST_T(Base2, false);
+   TEST_T(Derived2, true);
 
-	TEST_TR(without, bool, false);
-	TEST_TR(internal, bool, false);
-	TEST_TR(internal, ret, true);
-	TEST_TR(external, bool, false);
-	TEST_TR(external, ret, true);
-	TEST_TR(returns_int, bool, true);
-	TEST_TR(returns_int, int, true);
-	TEST_TR(returns_void, void, true);
-	TEST_TR(returns_void, bool, false);
-	TEST_TR(returns_void_star, bool, true);
-	TEST_TR(returns_double, bool, true);
-	TEST_TR(returns_double, double, true);
-	TEST_TR(returns_string, bool, false);
-	TEST_TR(returns_string, std::string, true);
-//	TEST_TR(convertible_to_bool, bool, true);
-	TEST_TR(Base1, bool, true);
-	TEST_TR(Derived1, bool, true);
-	TEST_TR(Base2, bool, false);
-	TEST_TR(Derived2, bool, true);
-	// pointers
-	TEST_TT(void*, bool, false);
-	TEST_TT(void*, int, false);
-	TEST_TT(void*, double, false);
-	TEST_TT(void*, A, false);
-	TEST_TT(void*, B, false);
-	TEST_TT(bool*, bool, false);
-	TEST_TT(bool*, int, false);
-	TEST_TT(bool*, double, false);
-	TEST_TT(bool*, A, false);
-	TEST_TT(bool*, B, false);
-	TEST_TT(int*, bool, false);
-	TEST_TT(int*, int, false);
-	TEST_TT(int*, double, false);
-	TEST_TT(int*, A, false);
-	TEST_TT(int*, B, false);
-	TEST_TT(double*, bool, false);
-	TEST_TT(double*, int, false);
-	TEST_TT(double*, double, false);
-	TEST_TT(double*, A, false);
-	TEST_TT(double*, B, false);
-	TEST_TT(A*, bool, false);
-	TEST_TT(A*, int, false);
-	TEST_TT(A*, double, false);
-	TEST_TT(A*, A, false);
-	TEST_TT(A*, B, false);
-	TEST_TT(B*, bool, false);
-	TEST_TT(B*, int, false);
-	TEST_TT(B*, double, false);
-	TEST_TT(B*, A, false);
-	TEST_TT(B*, B, false);
-	TEST_TT(bool, void*, false);
-	TEST_TT(bool, bool*, false);
-	TEST_TT(bool, int*, false);
-	TEST_TT(bool, double*, false);
-	TEST_TT(bool, A*, false);
-	TEST_TT(bool, B*, false);
-	TEST_TT(int, void*, false);
-	TEST_TT(int, bool*, false);
-	TEST_TT(int, int*, false);
-	TEST_TT(int, double*, false);
-	TEST_TT(int, A*, false);
-	TEST_TT(int, B*, false);
-	TEST_TT(double, void*, false);
-	TEST_TT(double, bool*, false);
-	TEST_TT(double, int*, false);
-	TEST_TT(double, double*, false);
-	TEST_TT(double, A*, false);
-	TEST_TT(double, B*, false);
-	TEST_TT(A, void*, false);
-	TEST_TT(A, bool*, false);
-	TEST_TT(A, int*, false);
-	TEST_TT(A, double*, false);
-	TEST_TT(A, A*, false);
-	TEST_TT(A, B*, false);
-	TEST_TT(B, void*, false);
-	TEST_TT(B, bool*, false);
-	TEST_TT(B, int*, false);
-	TEST_TT(B, double*, false);
-	TEST_TT(B, A*, false);
-	TEST_TT(B, B*, false);
-	TEST_TT(void*, void*, true);
-	TEST_TT(void*, bool*, true);
-	TEST_TT(void*, int*, true);
-	TEST_TT(void*, double*, true);
-	TEST_TT(void*, A*, true);
-	TEST_TT(void*, B*, true);
-	TEST_TT(bool*, void*, true);
-	TEST_TT(bool*, bool*, true);
-	TEST_TT(bool*, int*, false);
-	TEST_TT(bool*, double*, false);
-	TEST_TT(bool*, A*, false);
-	TEST_TT(bool*, B*, false);
-	TEST_TT(int*, void*, true);
-	TEST_TT(int*, bool*, false);
-	TEST_TT(int*, int*, true);
-	TEST_TT(int*, double*, false);
-	TEST_TT(int*, A*, false);
-	TEST_TT(int*, B*, false);
-	TEST_TT(double*, void*, true);
-	TEST_TT(double*, bool*, false);
-	TEST_TT(double*, int*, false);
-	TEST_TT(double*, double*, true);
-	TEST_TT(double*, A*, false);
-	TEST_TT(double*, B*, false);
-	TEST_TT(A*, void*, true);
-	TEST_TT(A*, bool*, false);
-	TEST_TT(A*, int*, false);
-	TEST_TT(A*, double*, false);
-	TEST_TT(A*, A*, true);
-	TEST_TT(A*, B*, true);
-	TEST_TT(B*, void*, true);
-	TEST_TT(B*, bool*, false);
-	TEST_TT(B*, int*, false);
-	TEST_TT(B*, double*, false);
-	TEST_TT(B*, A*, true);
-	TEST_TT(B*, B*, true);
+   TEST_TR(without, bool, false);
+   TEST_TR(internal, bool, false);
+   TEST_TR(internal, ret, true);
+   TEST_TR(external, bool, false);
+   TEST_TR(external, ret, true);
+   TEST_TR(returns_int, bool, true);
+   TEST_TR(returns_int, int, true);
+   TEST_TR(returns_void, void, true);
+   TEST_TR(returns_void, bool, false);
+   TEST_TR(returns_void_star, bool, true);
+   TEST_TR(returns_double, bool, true);
+   TEST_TR(returns_double, double, true);
+   TEST_TR(returns_string, bool, false);
+   TEST_TR(returns_string, std::string, true);
+// TEST_TR(convertible_to_bool, bool, true);
+   TEST_TR(Base1, bool, true);
+   TEST_TR(Derived1, bool, true);
+   TEST_TR(Base2, bool, false);
+   TEST_TR(Derived2, bool, true);
+   // pointers
+   TEST_TT(void*, bool, false);
+   TEST_TT(void*, int, false);
+   TEST_TT(void*, double, false);
+   TEST_TT(void*, A, false);
+   TEST_TT(void*, B, false);
+   TEST_TT(bool*, bool, false);
+   TEST_TT(bool*, int, false);
+   TEST_TT(bool*, double, false);
+   TEST_TT(bool*, A, false);
+   TEST_TT(bool*, B, false);
+   TEST_TT(int*, bool, false);
+   TEST_TT(int*, int, false);
+   TEST_TT(int*, double, false);
+   TEST_TT(int*, A, false);
+   TEST_TT(int*, B, false);
+   TEST_TT(double*, bool, false);
+   TEST_TT(double*, int, false);
+   TEST_TT(double*, double, false);
+   TEST_TT(double*, A, false);
+   TEST_TT(double*, B, false);
+   TEST_TT(A*, bool, false);
+   TEST_TT(A*, int, false);
+   TEST_TT(A*, double, false);
+   TEST_TT(A*, A, false);
+   TEST_TT(A*, B, false);
+   TEST_TT(B*, bool, false);
+   TEST_TT(B*, int, false);
+   TEST_TT(B*, double, false);
+   TEST_TT(B*, A, false);
+   TEST_TT(B*, B, false);
+   TEST_TT(bool, void*, false);
+   TEST_TT(bool, bool*, false);
+   TEST_TT(bool, int*, false);
+   TEST_TT(bool, double*, false);
+   TEST_TT(bool, A*, false);
+   TEST_TT(bool, B*, false);
+   TEST_TT(int, void*, false);
+   TEST_TT(int, bool*, false);
+   TEST_TT(int, int*, false);
+   TEST_TT(int, double*, false);
+   TEST_TT(int, A*, false);
+   TEST_TT(int, B*, false);
+   TEST_TT(double, void*, false);
+   TEST_TT(double, bool*, false);
+   TEST_TT(double, int*, false);
+   TEST_TT(double, double*, false);
+   TEST_TT(double, A*, false);
+   TEST_TT(double, B*, false);
+   TEST_TT(A, void*, false);
+   TEST_TT(A, bool*, false);
+   TEST_TT(A, int*, false);
+   TEST_TT(A, double*, false);
+   TEST_TT(A, A*, false);
+   TEST_TT(A, B*, false);
+   TEST_TT(B, void*, false);
+   TEST_TT(B, bool*, false);
+   TEST_TT(B, int*, false);
+   TEST_TT(B, double*, false);
+   TEST_TT(B, A*, false);
+   TEST_TT(B, B*, false);
+   TEST_TT(void*, void*, true);
+   TEST_TT(void*, bool*, true);
+   TEST_TT(void*, int*, true);
+   TEST_TT(void*, double*, true);
+   TEST_TT(void*, A*, true);
+   TEST_TT(void*, B*, true);
+   TEST_TT(bool*, void*, true);
+   TEST_TT(bool*, bool*, true);
+   TEST_TT(bool*, int*, false);
+   TEST_TT(bool*, double*, false);
+   TEST_TT(bool*, A*, false);
+   TEST_TT(bool*, B*, false);
+   TEST_TT(int*, void*, true);
+   TEST_TT(int*, bool*, false);
+   TEST_TT(int*, int*, true);
+   TEST_TT(int*, double*, false);
+   TEST_TT(int*, A*, false);
+   TEST_TT(int*, B*, false);
+   TEST_TT(double*, void*, true);
+   TEST_TT(double*, bool*, false);
+   TEST_TT(double*, int*, false);
+   TEST_TT(double*, double*, true);
+   TEST_TT(double*, A*, false);
+   TEST_TT(double*, B*, false);
+   TEST_TT(A*, void*, true);
+   TEST_TT(A*, bool*, false);
+   TEST_TT(A*, int*, false);
+   TEST_TT(A*, double*, false);
+   TEST_TT(A*, A*, true);
+   TEST_TT(A*, B*, true);
+   TEST_TT(B*, void*, true);
+   TEST_TT(B*, bool*, false);
+   TEST_TT(B*, int*, false);
+   TEST_TT(B*, double*, false);
+   TEST_TT(B*, A*, true);
+   TEST_TT(B*, B*, true);
 }
 }
 
 TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-	run();
+   run();
 TT_TEST_END
Modified: sandbox/type_traits/libs/type_traits/test/has_integral_operator_test.hpp
==============================================================================
--- sandbox/type_traits/libs/type_traits/test/has_integral_operator_test.hpp	(original)
+++ sandbox/type_traits/libs/type_traits/test/has_integral_operator_test.hpp	2011-02-03 17:09:55 EST (Thu, 03 Feb 2011)
@@ -49,7 +49,7 @@
 
 class Base2 { };
 struct Derived2 : public Base2 {
-	Derived2(int); // to check if it works with a class that is not default constructible
+   Derived2(int); // to check if it works with a class that is not default constructible
 };
 
 bool operator BOOST_TT_TRAIT_OP (const Derived2&, const Derived2&) { return true; }
@@ -60,777 +60,777 @@
 struct B : public A { };
 
 void run() {
-	// test with only one template parameter
-	TEST_T(bool, true);
-	TEST_T(char, true);
-	TEST_T(signed char, true);
-	TEST_T(short int, true);
-	TEST_T(int, true);
-	TEST_T(long int, true);
-	TEST_T(unsigned char, true);
-	TEST_T(unsigned short int, true);
-	TEST_T(unsigned int, true);
-	TEST_T(unsigned long int, true);
-	TEST_T(wchar_t, true);
-	TEST_T(float, false);
-	TEST_T(double, false);
-	TEST_T(long double, false);
-	TEST_T(void, false);
-	// test with only two template parameters
-	TEST_TT(bool, bool, true);
-	TEST_TT(bool, char, true);
-	TEST_TT(bool, signed char, true);
-	TEST_TT(bool, short int, true);
-	TEST_TT(bool, int, true);
-	TEST_TT(bool, long int, true);
-	TEST_TT(bool, unsigned char, true);
-	TEST_TT(bool, unsigned short int, true);
-	TEST_TT(bool, unsigned int, true);
-	TEST_TT(bool, unsigned long int, true);
-	TEST_TT(bool, wchar_t, true);
-	TEST_TT(bool, float, false);
-	TEST_TT(bool, double, false);
-	TEST_TT(bool, long double, false);
-	TEST_TT(char, bool, true);
-	TEST_TT(char, char, true);
-	TEST_TT(char, signed char, true);
-	TEST_TT(char, short int, true);
-	TEST_TT(char, int, true);
-	TEST_TT(char, long int, true);
-	TEST_TT(char, unsigned char, true);
-	TEST_TT(char, unsigned short int, true);
-	TEST_TT(char, unsigned int, true);
-	TEST_TT(char, unsigned long int, true);
-	TEST_TT(char, wchar_t, true);
-	TEST_TT(char, float, false);
-	TEST_TT(char, double, false);
-	TEST_TT(char, long double, false);
-	TEST_TT(signed char, bool, true);
-	TEST_TT(signed char, char, true);
-	TEST_TT(signed char, signed char, true);
-	TEST_TT(signed char, short int, true);
-	TEST_TT(signed char, int, true);
-	TEST_TT(signed char, long int, true);
-	TEST_TT(signed char, unsigned char, true);
-	TEST_TT(signed char, unsigned short int, true);
-	TEST_TT(signed char, unsigned int, true);
-	TEST_TT(signed char, unsigned long int, true);
-	TEST_TT(signed char, wchar_t, true);
-	TEST_TT(signed char, float, false);
-	TEST_TT(signed char, double, false);
-	TEST_TT(signed char, long double, false);
-	TEST_TT(short int, bool, true);
-	TEST_TT(short int, char, true);
-	TEST_TT(short int, signed char, true);
-	TEST_TT(short int, short int, true);
-	TEST_TT(short int, int, true);
-	TEST_TT(short int, long int, true);
-	TEST_TT(short int, unsigned char, true);
-	TEST_TT(short int, unsigned short int, true);
-	TEST_TT(short int, unsigned int, true);
-	TEST_TT(short int, unsigned long int, true);
-	TEST_TT(short int, wchar_t, true);
-	TEST_TT(short int, float, false);
-	TEST_TT(short int, double, false);
-	TEST_TT(short int, long double, false);
-	TEST_TT(int, bool, true);
-	TEST_TT(int, char, true);
-	TEST_TT(int, signed char, true);
-	TEST_TT(int, short int, true);
-	TEST_TT(int, int, true);
-	TEST_TT(int, long int, true);
-	TEST_TT(int, unsigned char, true);
-	TEST_TT(int, unsigned short int, true);
-	TEST_TT(int, unsigned int, true);
-	TEST_TT(int, unsigned long int, true);
-	TEST_TT(int, wchar_t, true);
-	TEST_TT(int, float, false);
-	TEST_TT(int, double, false);
-	TEST_TT(int, long double, false);
-	TEST_TT(long int, bool, true);
-	TEST_TT(long int, char, true);
-	TEST_TT(long int, signed char, true);
-	TEST_TT(long int, short int, true);
-	TEST_TT(long int, int, true);
-	TEST_TT(long int, long int, true);
-	TEST_TT(long int, unsigned char, true);
-	TEST_TT(long int, unsigned short int, true);
-	TEST_TT(long int, unsigned int, true);
-	TEST_TT(long int, unsigned long int, true);
-	TEST_TT(long int, wchar_t, true);
-	TEST_TT(long int, float, false);
-	TEST_TT(long int, double, false);
-	TEST_TT(long int, long double, false);
-	TEST_TT(unsigned char, bool, true);
-	TEST_TT(unsigned char, char, true);
-	TEST_TT(unsigned char, signed char, true);
-	TEST_TT(unsigned char, short int, true);
-	TEST_TT(unsigned char, int, true);
-	TEST_TT(unsigned char, long int, true);
-	TEST_TT(unsigned char, unsigned char, true);
-	TEST_TT(unsigned char, unsigned short int, true);
-	TEST_TT(unsigned char, unsigned int, true);
-	TEST_TT(unsigned char, unsigned long int, true);
-	TEST_TT(unsigned char, wchar_t, true);
-	TEST_TT(unsigned char, float, false);
-	TEST_TT(unsigned char, double, false);
-	TEST_TT(unsigned char, long double, false);
-	TEST_TT(unsigned short int, bool, true);
-	TEST_TT(unsigned short int, char, true);
-	TEST_TT(unsigned short int, signed char, true);
-	TEST_TT(unsigned short int, short int, true);
-	TEST_TT(unsigned short int, int, true);
-	TEST_TT(unsigned short int, long int, true);
-	TEST_TT(unsigned short int, unsigned char, true);
-	TEST_TT(unsigned short int, unsigned short int, true);
-	TEST_TT(unsigned short int, unsigned int, true);
-	TEST_TT(unsigned short int, unsigned long int, true);
-	TEST_TT(unsigned short int, wchar_t, true);
-	TEST_TT(unsigned short int, float, false);
-	TEST_TT(unsigned short int, double, false);
-	TEST_TT(unsigned short int, long double, false);
-	TEST_TT(unsigned int, bool, true);
-	TEST_TT(unsigned int, char, true);
-	TEST_TT(unsigned int, signed char, true);
-	TEST_TT(unsigned int, short int, true);
-	TEST_TT(unsigned int, int, true);
-	TEST_TT(unsigned int, long int, true);
-	TEST_TT(unsigned int, unsigned char, true);
-	TEST_TT(unsigned int, unsigned short int, true);
-	TEST_TT(unsigned int, unsigned int, true);
-	TEST_TT(unsigned int, unsigned long int, true);
-	TEST_TT(unsigned int, wchar_t, true);
-	TEST_TT(unsigned int, float, false);
-	TEST_TT(unsigned int, double, false);
-	TEST_TT(unsigned int, long double, false);
-	TEST_TT(unsigned long int, bool, true);
-	TEST_TT(unsigned long int, char, true);
-	TEST_TT(unsigned long int, signed char, true);
-	TEST_TT(unsigned long int, short int, true);
-	TEST_TT(unsigned long int, int, true);
-	TEST_TT(unsigned long int, long int, true);
-	TEST_TT(unsigned long int, unsigned char, true);
-	TEST_TT(unsigned long int, unsigned short int, true);
-	TEST_TT(unsigned long int, unsigned int, true);
-	TEST_TT(unsigned long int, unsigned long int, true);
-	TEST_TT(unsigned long int, wchar_t, true);
-	TEST_TT(unsigned long int, float, false);
-	TEST_TT(unsigned long int, double, false);
-	TEST_TT(unsigned long int, long double, false);
-	TEST_TT(wchar_t, bool, true);
-	TEST_TT(wchar_t, char, true);
-	TEST_TT(wchar_t, signed char, true);
-	TEST_TT(wchar_t, short int, true);
-	TEST_TT(wchar_t, int, true);
-	TEST_TT(wchar_t, long int, true);
-	TEST_TT(wchar_t, unsigned char, true);
-	TEST_TT(wchar_t, unsigned short int, true);
-	TEST_TT(wchar_t, unsigned int, true);
-	TEST_TT(wchar_t, unsigned long int, true);
-	TEST_TT(wchar_t, wchar_t, true);
-	TEST_TT(wchar_t, float, false);
-	TEST_TT(wchar_t, double, false);
-	TEST_TT(wchar_t, long double, false);
-	TEST_TT(float, bool, false);
-	TEST_TT(float, char, false);
-	TEST_TT(float, signed char, false);
-	TEST_TT(float, short int, false);
-	TEST_TT(float, int, false);
-	TEST_TT(float, long int, false);
-	TEST_TT(float, unsigned char, false);
-	TEST_TT(float, unsigned short int, false);
-	TEST_TT(float, unsigned int, false);
-	TEST_TT(float, unsigned long int, false);
-	TEST_TT(float, wchar_t, false);
-	TEST_TT(float, float, false);
-	TEST_TT(float, double, false);
-	TEST_TT(float, long double, false);
-	TEST_TT(double, bool, false);
-	TEST_TT(double, char, false);
-	TEST_TT(double, signed char, false);
-	TEST_TT(double, short int, false);
-	TEST_TT(double, int, false);
-	TEST_TT(double, long int, false);
-	TEST_TT(double, unsigned char, false);
-	TEST_TT(double, unsigned short int, false);
-	TEST_TT(double, unsigned int, false);
-	TEST_TT(double, unsigned long int, false);
-	TEST_TT(double, wchar_t, false);
-	TEST_TT(double, float, false);
-	TEST_TT(double, double, false);
-	TEST_TT(double, long double, false);
-	TEST_TT(long double, bool, false);
-	TEST_TT(long double, char, false);
-	TEST_TT(long double, signed char, false);
-	TEST_TT(long double, short int, false);
-	TEST_TT(long double, int, false);
-	TEST_TT(long double, long int, false);
-	TEST_TT(long double, unsigned char, false);
-	TEST_TT(long double, unsigned short int, false);
-	TEST_TT(long double, unsigned int, false);
-	TEST_TT(long double, unsigned long int, false);
-	TEST_TT(long double, wchar_t, false);
-	TEST_TT(long double, float, false);
-	TEST_TT(long double, double, false);
-	TEST_TT(long double, long double, false);
-	TEST_TT(bool, void, false);
-	TEST_TT(void, bool, false);
-	TEST_TT(char, void, false);
-	TEST_TT(void, char, false);
-	TEST_TT(signed char, void, false);
-	TEST_TT(void, signed char, false);
-	TEST_TT(short int, void, false);
-	TEST_TT(void, short int, false);
-	TEST_TT(int, void, false);
-	TEST_TT(void, int, false);
-	TEST_TT(long int, void, false);
-	TEST_TT(void, long int, false);
-	TEST_TT(unsigned char, void, false);
-	TEST_TT(void, unsigned char, false);
-	TEST_TT(unsigned short int, void, false);
-	TEST_TT(void, unsigned short int, false);
-	TEST_TT(unsigned int, void, false);
-	TEST_TT(void, unsigned int, false);
-	TEST_TT(unsigned long int, void, false);
-	TEST_TT(void, unsigned long int, false);
-	TEST_TT(wchar_t, void, false);
-	TEST_TT(void, wchar_t, false);
-	TEST_TT(float, void, false);
-	TEST_TT(void, float, false);
-	TEST_TT(double, void, false);
-	TEST_TT(void, double, false);
-	TEST_TT(long double, void, false);
-	TEST_TT(void, long double, false);
+   // test with only one template parameter
+   TEST_T(bool, true);
+   TEST_T(char, true);
+   TEST_T(signed char, true);
+   TEST_T(short int, true);
+   TEST_T(int, true);
+   TEST_T(long int, true);
+   TEST_T(unsigned char, true);
+   TEST_T(unsigned short int, true);
+   TEST_T(unsigned int, true);
+   TEST_T(unsigned long int, true);
+   TEST_T(wchar_t, true);
+   TEST_T(float, false);
+   TEST_T(double, false);
+   TEST_T(long double, false);
+   TEST_T(void, false);
+   // test with only two template parameters
+   TEST_TT(bool, bool, true);
+   TEST_TT(bool, char, true);
+   TEST_TT(bool, signed char, true);
+   TEST_TT(bool, short int, true);
+   TEST_TT(bool, int, true);
+   TEST_TT(bool, long int, true);
+   TEST_TT(bool, unsigned char, true);
+   TEST_TT(bool, unsigned short int, true);
+   TEST_TT(bool, unsigned int, true);
+   TEST_TT(bool, unsigned long int, true);
+   TEST_TT(bool, wchar_t, true);
+   TEST_TT(bool, float, false);
+   TEST_TT(bool, double, false);
+   TEST_TT(bool, long double, false);
+   TEST_TT(char, bool, true);
+   TEST_TT(char, char, true);
+   TEST_TT(char, signed char, true);
+   TEST_TT(char, short int, true);
+   TEST_TT(char, int, true);
+   TEST_TT(char, long int, true);
+   TEST_TT(char, unsigned char, true);
+   TEST_TT(char, unsigned short int, true);
+   TEST_TT(char, unsigned int, true);
+   TEST_TT(char, unsigned long int, true);
+   TEST_TT(char, wchar_t, true);
+   TEST_TT(char, float, false);
+   TEST_TT(char, double, false);
+   TEST_TT(char, long double, false);
+   TEST_TT(signed char, bool, true);
+   TEST_TT(signed char, char, true);
+   TEST_TT(signed char, signed char, true);
+   TEST_TT(signed char, short int, true);
+   TEST_TT(signed char, int, true);
+   TEST_TT(signed char, long int, true);
+   TEST_TT(signed char, unsigned char, true);
+   TEST_TT(signed char, unsigned short int, true);
+   TEST_TT(signed char, unsigned int, true);
+   TEST_TT(signed char, unsigned long int, true);
+   TEST_TT(signed char, wchar_t, true);
+   TEST_TT(signed char, float, false);
+   TEST_TT(signed char, double, false);
+   TEST_TT(signed char, long double, false);
+   TEST_TT(short int, bool, true);
+   TEST_TT(short int, char, true);
+   TEST_TT(short int, signed char, true);
+   TEST_TT(short int, short int, true);
+   TEST_TT(short int, int, true);
+   TEST_TT(short int, long int, true);
+   TEST_TT(short int, unsigned char, true);
+   TEST_TT(short int, unsigned short int, true);
+   TEST_TT(short int, unsigned int, true);
+   TEST_TT(short int, unsigned long int, true);
+   TEST_TT(short int, wchar_t, true);
+   TEST_TT(short int, float, false);
+   TEST_TT(short int, double, false);
+   TEST_TT(short int, long double, false);
+   TEST_TT(int, bool, true);
+   TEST_TT(int, char, true);
+   TEST_TT(int, signed char, true);
+   TEST_TT(int, short int, true);
+   TEST_TT(int, int, true);
+   TEST_TT(int, long int, true);
+   TEST_TT(int, unsigned char, true);
+   TEST_TT(int, unsigned short int, true);
+   TEST_TT(int, unsigned int, true);
+   TEST_TT(int, unsigned long int, true);
+   TEST_TT(int, wchar_t, true);
+   TEST_TT(int, float, false);
+   TEST_TT(int, double, false);
+   TEST_TT(int, long double, false);
+   TEST_TT(long int, bool, true);
+   TEST_TT(long int, char, true);
+   TEST_TT(long int, signed char, true);
+   TEST_TT(long int, short int, true);
+   TEST_TT(long int, int, true);
+   TEST_TT(long int, long int, true);
+   TEST_TT(long int, unsigned char, true);
+   TEST_TT(long int, unsigned short int, true);
+   TEST_TT(long int, unsigned int, true);
+   TEST_TT(long int, unsigned long int, true);
+   TEST_TT(long int, wchar_t, true);
+   TEST_TT(long int, float, false);
+   TEST_TT(long int, double, false);
+   TEST_TT(long int, long double, false);
+   TEST_TT(unsigned char, bool, true);
+   TEST_TT(unsigned char, char, true);
+   TEST_TT(unsigned char, signed char, true);
+   TEST_TT(unsigned char, short int, true);
+   TEST_TT(unsigned char, int, true);
+   TEST_TT(unsigned char, long int, true);
+   TEST_TT(unsigned char, unsigned char, true);
+   TEST_TT(unsigned char, unsigned short int, true);
+   TEST_TT(unsigned char, unsigned int, true);
+   TEST_TT(unsigned char, unsigned long int, true);
+   TEST_TT(unsigned char, wchar_t, true);
+   TEST_TT(unsigned char, float, false);
+   TEST_TT(unsigned char, double, false);
+   TEST_TT(unsigned char, long double, false);
+   TEST_TT(unsigned short int, bool, true);
+   TEST_TT(unsigned short int, char, true);
+   TEST_TT(unsigned short int, signed char, true);
+   TEST_TT(unsigned short int, short int, true);
+   TEST_TT(unsigned short int, int, true);
+   TEST_TT(unsigned short int, long int, true);
+   TEST_TT(unsigned short int, unsigned char, true);
+   TEST_TT(unsigned short int, unsigned short int, true);
+   TEST_TT(unsigned short int, unsigned int, true);
+   TEST_TT(unsigned short int, unsigned long int, true);
+   TEST_TT(unsigned short int, wchar_t, true);
+   TEST_TT(unsigned short int, float, false);
+   TEST_TT(unsigned short int, double, false);
+   TEST_TT(unsigned short int, long double, false);
+   TEST_TT(unsigned int, bool, true);
+   TEST_TT(unsigned int, char, true);
+   TEST_TT(unsigned int, signed char, true);
+   TEST_TT(unsigned int, short int, true);
+   TEST_TT(unsigned int, int, true);
+   TEST_TT(unsigned int, long int, true);
+   TEST_TT(unsigned int, unsigned char, true);
+   TEST_TT(unsigned int, unsigned short int, true);
+   TEST_TT(unsigned int, unsigned int, true);
+   TEST_TT(unsigned int, unsigned long int, true);
+   TEST_TT(unsigned int, wchar_t, true);
+   TEST_TT(unsigned int, float, false);
+   TEST_TT(unsigned int, double, false);
+   TEST_TT(unsigned int, long double, false);
+   TEST_TT(unsigned long int, bool, true);
+   TEST_TT(unsigned long int, char, true);
+   TEST_TT(unsigned long int, signed char, true);
+   TEST_TT(unsigned long int, short int, true);
+   TEST_TT(unsigned long int, int, true);
+   TEST_TT(unsigned long int, long int, true);
+   TEST_TT(unsigned long int, unsigned char, true);
+   TEST_TT(unsigned long int, unsigned short int, true);
+   TEST_TT(unsigned long int, unsigned int, true);
+   TEST_TT(unsigned long int, unsigned long int, true);
+   TEST_TT(unsigned long int, wchar_t, true);
+   TEST_TT(unsigned long int, float, false);
+   TEST_TT(unsigned long int, double, false);
+   TEST_TT(unsigned long int, long double, false);
+   TEST_TT(wchar_t, bool, true);
+   TEST_TT(wchar_t, char, true);
+   TEST_TT(wchar_t, signed char, true);
+   TEST_TT(wchar_t, short int, true);
+   TEST_TT(wchar_t, int, true);
+   TEST_TT(wchar_t, long int, true);
+   TEST_TT(wchar_t, unsigned char, true);
+   TEST_TT(wchar_t, unsigned short int, true);
+   TEST_TT(wchar_t, unsigned int, true);
+   TEST_TT(wchar_t, unsigned long int, true);
+   TEST_TT(wchar_t, wchar_t, true);
+   TEST_TT(wchar_t, float, false);
+   TEST_TT(wchar_t, double, false);
+   TEST_TT(wchar_t, long double, false);
+   TEST_TT(float, bool, false);
+   TEST_TT(float, char, false);
+   TEST_TT(float, signed char, false);
+   TEST_TT(float, short int, false);
+   TEST_TT(float, int, false);
+   TEST_TT(float, long int, false);
+   TEST_TT(float, unsigned char, false);
+   TEST_TT(float, unsigned short int, false);
+   TEST_TT(float, unsigned int, false);
+   TEST_TT(float, unsigned long int, false);
+   TEST_TT(float, wchar_t, false);
+   TEST_TT(float, float, false);
+   TEST_TT(float, double, false);
+   TEST_TT(float, long double, false);
+   TEST_TT(double, bool, false);
+   TEST_TT(double, char, false);
+   TEST_TT(double, signed char, false);
+   TEST_TT(double, short int, false);
+   TEST_TT(double, int, false);
+   TEST_TT(double, long int, false);
+   TEST_TT(double, unsigned char, false);
+   TEST_TT(double, unsigned short int, false);
+   TEST_TT(double, unsigned int, false);
+   TEST_TT(double, unsigned long int, false);
+   TEST_TT(double, wchar_t, false);
+   TEST_TT(double, float, false);
+   TEST_TT(double, double, false);
+   TEST_TT(double, long double, false);
+   TEST_TT(long double, bool, false);
+   TEST_TT(long double, char, false);
+   TEST_TT(long double, signed char, false);
+   TEST_TT(long double, short int, false);
+   TEST_TT(long double, int, false);
+   TEST_TT(long double, long int, false);
+   TEST_TT(long double, unsigned char, false);
+   TEST_TT(long double, unsigned short int, false);
+   TEST_TT(long double, unsigned int, false);
+   TEST_TT(long double, unsigned long int, false);
+   TEST_TT(long double, wchar_t, false);
+   TEST_TT(long double, float, false);
+   TEST_TT(long double, double, false);
+   TEST_TT(long double, long double, false);
+   TEST_TT(bool, void, false);
+   TEST_TT(void, bool, false);
+   TEST_TT(char, void, false);
+   TEST_TT(void, char, false);
+   TEST_TT(signed char, void, false);
+   TEST_TT(void, signed char, false);
+   TEST_TT(short int, void, false);
+   TEST_TT(void, short int, false);
+   TEST_TT(int, void, false);
+   TEST_TT(void, int, false);
+   TEST_TT(long int, void, false);
+   TEST_TT(void, long int, false);
+   TEST_TT(unsigned char, void, false);
+   TEST_TT(void, unsigned char, false);
+   TEST_TT(unsigned short int, void, false);
+   TEST_TT(void, unsigned short int, false);
+   TEST_TT(unsigned int, void, false);
+   TEST_TT(void, unsigned int, false);
+   TEST_TT(unsigned long int, void, false);
+   TEST_TT(void, unsigned long int, false);
+   TEST_TT(wchar_t, void, false);
+   TEST_TT(void, wchar_t, false);
+   TEST_TT(float, void, false);
+   TEST_TT(void, float, false);
+   TEST_TT(double, void, false);
+   TEST_TT(void, double, false);
+   TEST_TT(long double, void, false);
+   TEST_TT(void, long double, false);
 
 // test with three template parameters
-	TEST_TTR(bool, bool, bool, true);
-	TEST_TTR(bool, char, bool, true);
-	TEST_TTR(bool, signed char, bool, true);
-	TEST_TTR(bool, short int, bool, true);
-	TEST_TTR(bool, int, bool, true);
-	TEST_TTR(bool, long int, bool, true);
-	TEST_TTR(bool, unsigned char, bool, true);
-	TEST_TTR(bool, unsigned short int, bool, true);
-	TEST_TTR(bool, unsigned int, bool, true);
-	TEST_TTR(bool, unsigned long int, bool, true);
-	TEST_TTR(bool, wchar_t, bool, true);
-	TEST_TTR(bool, float, bool, false);
-	TEST_TTR(bool, double, bool, false);
-	TEST_TTR(bool, long double, bool, false);
-	TEST_TTR(char, bool, bool, true);
-	TEST_TTR(char, char, bool, true);
-	TEST_TTR(char, signed char, bool, true);
-	TEST_TTR(char, short int, bool, true);
-	TEST_TTR(char, int, bool, true);
-	TEST_TTR(char, long int, bool, true);
-	TEST_TTR(char, unsigned char, bool, true);
-	TEST_TTR(char, unsigned short int, bool, true);
-	TEST_TTR(char, unsigned int, bool, true);
-	TEST_TTR(char, unsigned long int, bool, true);
-	TEST_TTR(char, wchar_t, bool, true);
-	TEST_TTR(char, float, bool, false);
-	TEST_TTR(char, double, bool, false);
-	TEST_TTR(char, long double, bool, false);
-	TEST_TTR(signed char, bool, bool, true);
-	TEST_TTR(signed char, char, bool, true);
-	TEST_TTR(signed char, signed char, bool, true);
-	TEST_TTR(signed char, short int, bool, true);
-	TEST_TTR(signed char, int, bool, true);
-	TEST_TTR(signed char, long int, bool, true);
-	TEST_TTR(signed char, unsigned char, bool, true);
-	TEST_TTR(signed char, unsigned short int, bool, true);
-	TEST_TTR(signed char, unsigned int, bool, true);
-	TEST_TTR(signed char, unsigned long int, bool, true);
-	TEST_TTR(signed char, wchar_t, bool, true);
-	TEST_TTR(signed char, float, bool, false);
-	TEST_TTR(signed char, double, bool, false);
-	TEST_TTR(signed char, long double, bool, false);
-	TEST_TTR(short int, bool, bool, true);
-	TEST_TTR(short int, char, bool, true);
-	TEST_TTR(short int, signed char, bool, true);
-	TEST_TTR(short int, short int, bool, true);
-	TEST_TTR(short int, int, bool, true);
-	TEST_TTR(short int, long int, bool, true);
-	TEST_TTR(short int, unsigned char, bool, true);
-	TEST_TTR(short int, unsigned short int, bool, true);
-	TEST_TTR(short int, unsigned int, bool, true);
-	TEST_TTR(short int, unsigned long int, bool, true);
-	TEST_TTR(short int, wchar_t, bool, true);
-	TEST_TTR(short int, float, bool, false);
-	TEST_TTR(short int, double, bool, false);
-	TEST_TTR(short int, long double, bool, false);
-	TEST_TTR(int, bool, bool, true);
-	TEST_TTR(int, char, bool, true);
-	TEST_TTR(int, signed char, bool, true);
-	TEST_TTR(int, short int, bool, true);
-	TEST_TTR(int, int, bool, true);
-	TEST_TTR(int, long int, bool, true);
-	TEST_TTR(int, unsigned char, bool, true);
-	TEST_TTR(int, unsigned short int, bool, true);
-	TEST_TTR(int, unsigned int, bool, true);
-	TEST_TTR(int, unsigned long int, bool, true);
-	TEST_TTR(int, wchar_t, bool, true);
-	TEST_TTR(int, float, bool, false);
-	TEST_TTR(int, double, bool, false);
-	TEST_TTR(int, long double, bool, false);
-	TEST_TTR(long int, bool, bool, true);
-	TEST_TTR(long int, char, bool, true);
-	TEST_TTR(long int, signed char, bool, true);
-	TEST_TTR(long int, short int, bool, true);
-	TEST_TTR(long int, int, bool, true);
-	TEST_TTR(long int, long int, bool, true);
-	TEST_TTR(long int, unsigned char, bool, true);
-	TEST_TTR(long int, unsigned short int, bool, true);
-	TEST_TTR(long int, unsigned int, bool, true);
-	TEST_TTR(long int, unsigned long int, bool, true);
-	TEST_TTR(long int, wchar_t, bool, true);
-	TEST_TTR(long int, float, bool, false);
-	TEST_TTR(long int, double, bool, false);
-	TEST_TTR(long int, long double, bool, false);
-	TEST_TTR(unsigned char, bool, bool, true);
-	TEST_TTR(unsigned char, char, bool, true);
-	TEST_TTR(unsigned char, signed char, bool, true);
-	TEST_TTR(unsigned char, short int, bool, true);
-	TEST_TTR(unsigned char, int, bool, true);
-	TEST_TTR(unsigned char, long int, bool, true);
-	TEST_TTR(unsigned char, unsigned char, bool, true);
-	TEST_TTR(unsigned char, unsigned short int, bool, true);
-	TEST_TTR(unsigned char, unsigned int, bool, true);
-	TEST_TTR(unsigned char, unsigned long int, bool, true);
-	TEST_TTR(unsigned char, wchar_t, bool, true);
-	TEST_TTR(unsigned char, float, bool, false);
-	TEST_TTR(unsigned char, double, bool, false);
-	TEST_TTR(unsigned char, long double, bool, false);
-	TEST_TTR(unsigned short int, bool, bool, true);
-	TEST_TTR(unsigned short int, char, bool, true);
-	TEST_TTR(unsigned short int, signed char, bool, true);
-	TEST_TTR(unsigned short int, short int, bool, true);
-	TEST_TTR(unsigned short int, int, bool, true);
-	TEST_TTR(unsigned short int, long int, bool, true);
-	TEST_TTR(unsigned short int, unsigned char, bool, true);
-	TEST_TTR(unsigned short int, unsigned short int, bool, true);
-	TEST_TTR(unsigned short int, unsigned int, bool, true);
-	TEST_TTR(unsigned short int, unsigned long int, bool, true);
-	TEST_TTR(unsigned short int, wchar_t, bool, true);
-	TEST_TTR(unsigned short int, float, bool, false);
-	TEST_TTR(unsigned short int, double, bool, false);
-	TEST_TTR(unsigned short int, long double, bool, false);
-	TEST_TTR(unsigned int, bool, bool, true);
-	TEST_TTR(unsigned int, char, bool, true);
-	TEST_TTR(unsigned int, signed char, bool, true);
-	TEST_TTR(unsigned int, short int, bool, true);
-	TEST_TTR(unsigned int, int, bool, true);
-	TEST_TTR(unsigned int, long int, bool, true);
-	TEST_TTR(unsigned int, unsigned char, bool, true);
-	TEST_TTR(unsigned int, unsigned short int, bool, true);
-	TEST_TTR(unsigned int, unsigned int, bool, true);
-	TEST_TTR(unsigned int, unsigned long int, bool, true);
-	TEST_TTR(unsigned int, wchar_t, bool, true);
-	TEST_TTR(unsigned int, float, bool, false);
-	TEST_TTR(unsigned int, double, bool, false);
-	TEST_TTR(unsigned int, long double, bool, false);
-	TEST_TTR(unsigned long int, bool, bool, true);
-	TEST_TTR(unsigned long int, char, bool, true);
-	TEST_TTR(unsigned long int, signed char, bool, true);
-	TEST_TTR(unsigned long int, short int, bool, true);
-	TEST_TTR(unsigned long int, int, bool, true);
-	TEST_TTR(unsigned long int, long int, bool, true);
-	TEST_TTR(unsigned long int, unsigned char, bool, true);
-	TEST_TTR(unsigned long int, unsigned short int, bool, true);
-	TEST_TTR(unsigned long int, unsigned int, bool, true);
-	TEST_TTR(unsigned long int, unsigned long int, bool, true);
-	TEST_TTR(unsigned long int, wchar_t, bool, true);
-	TEST_TTR(unsigned long int, float, bool, false);
-	TEST_TTR(unsigned long int, double, bool, false);
-	TEST_TTR(unsigned long int, long double, bool, false);
-	TEST_TTR(wchar_t, bool, bool, true);
-	TEST_TTR(wchar_t, char, bool, true);
-	TEST_TTR(wchar_t, signed char, bool, true);
-	TEST_TTR(wchar_t, short int, bool, true);
-	TEST_TTR(wchar_t, int, bool, true);
-	TEST_TTR(wchar_t, long int, bool, true);
-	TEST_TTR(wchar_t, unsigned char, bool, true);
-	TEST_TTR(wchar_t, unsigned short int, bool, true);
-	TEST_TTR(wchar_t, unsigned int, bool, true);
-	TEST_TTR(wchar_t, unsigned long int, bool, true);
-	TEST_TTR(wchar_t, wchar_t, bool, true);
-	TEST_TTR(wchar_t, float, bool, false);
-	TEST_TTR(wchar_t, double, bool, false);
-	TEST_TTR(wchar_t, long double, bool, false);
-	TEST_TTR(float, bool, bool, false);
-	TEST_TTR(float, char, bool, false);
-	TEST_TTR(float, signed char, bool, false);
-	TEST_TTR(float, short int, bool, false);
-	TEST_TTR(float, int, bool, false);
-	TEST_TTR(float, long int, bool, false);
-	TEST_TTR(float, unsigned char, bool, false);
-	TEST_TTR(float, unsigned short int, bool, false);
-	TEST_TTR(float, unsigned int, bool, false);
-	TEST_TTR(float, unsigned long int, bool, false);
-	TEST_TTR(float, wchar_t, bool, false);
-	TEST_TTR(float, float, bool, false);
-	TEST_TTR(float, double, bool, false);
-	TEST_TTR(float, long double, bool, false);
-	TEST_TTR(double, bool, bool, false);
-	TEST_TTR(double, char, bool, false);
-	TEST_TTR(double, signed char, bool, false);
-	TEST_TTR(double, short int, bool, false);
-	TEST_TTR(double, int, bool, false);
-	TEST_TTR(double, long int, bool, false);
-	TEST_TTR(double, unsigned char, bool, false);
-	TEST_TTR(double, unsigned short int, bool, false);
-	TEST_TTR(double, unsigned int, bool, false);
-	TEST_TTR(double, unsigned long int, bool, false);
-	TEST_TTR(double, wchar_t, bool, false);
-	TEST_TTR(double, float, bool, false);
-	TEST_TTR(double, double, bool, false);
-	TEST_TTR(double, long double, bool, false);
-	TEST_TTR(long double, bool, bool, false);
-	TEST_TTR(long double, char, bool, false);
-	TEST_TTR(long double, signed char, bool, false);
-	TEST_TTR(long double, short int, bool, false);
-	TEST_TTR(long double, int, bool, false);
-	TEST_TTR(long double, long int, bool, false);
-	TEST_TTR(long double, unsigned char, bool, false);
-	TEST_TTR(long double, unsigned short int, bool, false);
-	TEST_TTR(long double, unsigned int, bool, false);
-	TEST_TTR(long double, unsigned long int, bool, false);
-	TEST_TTR(long double, wchar_t, bool, false);
-	TEST_TTR(long double, float, bool, false);
-	TEST_TTR(long double, double, bool, false);
-	TEST_TTR(long double, long double, bool, false);
-	TEST_TTR(bool, bool, tag, false);
-	TEST_TTR(bool, char, tag, false);
-	TEST_TTR(bool, signed char, tag, false);
-	TEST_TTR(bool, short int, tag, false);
-	TEST_TTR(bool, int, tag, false);
-	TEST_TTR(bool, long int, tag, false);
-	TEST_TTR(bool, unsigned char, tag, false);
-	TEST_TTR(bool, unsigned short int, tag, false);
-	TEST_TTR(bool, unsigned int, tag, false);
-	TEST_TTR(bool, unsigned long int, tag, false);
-	TEST_TTR(bool, wchar_t, tag, false);
-	TEST_TTR(bool, float, tag, false);
-	TEST_TTR(bool, double, tag, false);
-	TEST_TTR(bool, long double, tag, false);
-	TEST_TTR(char, bool, tag, false);
-	TEST_TTR(char, char, tag, false);
-	TEST_TTR(char, signed char, tag, false);
-	TEST_TTR(char, short int, tag, false);
-	TEST_TTR(char, int, tag, false);
-	TEST_TTR(char, long int, tag, false);
-	TEST_TTR(char, unsigned char, tag, false);
-	TEST_TTR(char, unsigned short int, tag, false);
-	TEST_TTR(char, unsigned int, tag, false);
-	TEST_TTR(char, unsigned long int, tag, false);
-	TEST_TTR(char, wchar_t, tag, false);
-	TEST_TTR(char, float, tag, false);
-	TEST_TTR(char, double, tag, false);
-	TEST_TTR(char, long double, tag, false);
-	TEST_TTR(signed char, bool, tag, false);
-	TEST_TTR(signed char, char, tag, false);
-	TEST_TTR(signed char, signed char, tag, false);
-	TEST_TTR(signed char, short int, tag, false);
-	TEST_TTR(signed char, int, tag, false);
-	TEST_TTR(signed char, long int, tag, false);
-	TEST_TTR(signed char, unsigned char, tag, false);
-	TEST_TTR(signed char, unsigned short int, tag, false);
-	TEST_TTR(signed char, unsigned int, tag, false);
-	TEST_TTR(signed char, unsigned long int, tag, false);
-	TEST_TTR(signed char, wchar_t, tag, false);
-	TEST_TTR(signed char, float, tag, false);
-	TEST_TTR(signed char, double, tag, false);
-	TEST_TTR(signed char, long double, tag, false);
-	TEST_TTR(short int, bool, tag, false);
-	TEST_TTR(short int, char, tag, false);
-	TEST_TTR(short int, signed char, tag, false);
-	TEST_TTR(short int, short int, tag, false);
-	TEST_TTR(short int, int, tag, false);
-	TEST_TTR(short int, long int, tag, false);
-	TEST_TTR(short int, unsigned char, tag, false);
-	TEST_TTR(short int, unsigned short int, tag, false);
-	TEST_TTR(short int, unsigned int, tag, false);
-	TEST_TTR(short int, unsigned long int, tag, false);
-	TEST_TTR(short int, wchar_t, tag, false);
-	TEST_TTR(short int, float, tag, false);
-	TEST_TTR(short int, double, tag, false);
-	TEST_TTR(short int, long double, tag, false);
-	TEST_TTR(int, bool, tag, false);
-	TEST_TTR(int, char, tag, false);
-	TEST_TTR(int, signed char, tag, false);
-	TEST_TTR(int, short int, tag, false);
-	TEST_TTR(int, int, tag, false);
-	TEST_TTR(int, long int, tag, false);
-	TEST_TTR(int, unsigned char, tag, false);
-	TEST_TTR(int, unsigned short int, tag, false);
-	TEST_TTR(int, unsigned int, tag, false);
-	TEST_TTR(int, unsigned long int, tag, false);
-	TEST_TTR(int, wchar_t, tag, false);
-	TEST_TTR(int, float, tag, false);
-	TEST_TTR(int, double, tag, false);
-	TEST_TTR(int, long double, tag, false);
-	TEST_TTR(long int, bool, tag, false);
-	TEST_TTR(long int, char, tag, false);
-	TEST_TTR(long int, signed char, tag, false);
-	TEST_TTR(long int, short int, tag, false);
-	TEST_TTR(long int, int, tag, false);
-	TEST_TTR(long int, long int, tag, false);
-	TEST_TTR(long int, unsigned char, tag, false);
-	TEST_TTR(long int, unsigned short int, tag, false);
-	TEST_TTR(long int, unsigned int, tag, false);
-	TEST_TTR(long int, unsigned long int, tag, false);
-	TEST_TTR(long int, wchar_t, tag, false);
-	TEST_TTR(long int, float, tag, false);
-	TEST_TTR(long int, double, tag, false);
-	TEST_TTR(long int, long double, tag, false);
-	TEST_TTR(unsigned char, bool, tag, false);
-	TEST_TTR(unsigned char, char, tag, false);
-	TEST_TTR(unsigned char, signed char, tag, false);
-	TEST_TTR(unsigned char, short int, tag, false);
-	TEST_TTR(unsigned char, int, tag, false);
-	TEST_TTR(unsigned char, long int, tag, false);
-	TEST_TTR(unsigned char, unsigned char, tag, false);
-	TEST_TTR(unsigned char, unsigned short int, tag, false);
-	TEST_TTR(unsigned char, unsigned int, tag, false);
-	TEST_TTR(unsigned char, unsigned long int, tag, false);
-	TEST_TTR(unsigned char, wchar_t, tag, false);
-	TEST_TTR(unsigned char, float, tag, false);
-	TEST_TTR(unsigned char, double, tag, false);
-	TEST_TTR(unsigned char, long double, tag, false);
-	TEST_TTR(unsigned short int, bool, tag, false);
-	TEST_TTR(unsigned short int, char, tag, false);
-	TEST_TTR(unsigned short int, signed char, tag, false);
-	TEST_TTR(unsigned short int, short int, tag, false);
-	TEST_TTR(unsigned short int, int, tag, false);
-	TEST_TTR(unsigned short int, long int, tag, false);
-	TEST_TTR(unsigned short int, unsigned char, tag, false);
-	TEST_TTR(unsigned short int, unsigned short int, tag, false);
-	TEST_TTR(unsigned short int, unsigned int, tag, false);
-	TEST_TTR(unsigned short int, unsigned long int, tag, false);
-	TEST_TTR(unsigned short int, wchar_t, tag, false);
-	TEST_TTR(unsigned short int, float, tag, false);
-	TEST_TTR(unsigned short int, double, tag, false);
-	TEST_TTR(unsigned short int, long double, tag, false);
-	TEST_TTR(unsigned int, bool, tag, false);
-	TEST_TTR(unsigned int, char, tag, false);
-	TEST_TTR(unsigned int, signed char, tag, false);
-	TEST_TTR(unsigned int, short int, tag, false);
-	TEST_TTR(unsigned int, int, tag, false);
-	TEST_TTR(unsigned int, long int, tag, false);
-	TEST_TTR(unsigned int, unsigned char, tag, false);
-	TEST_TTR(unsigned int, unsigned short int, tag, false);
-	TEST_TTR(unsigned int, unsigned int, tag, false);
-	TEST_TTR(unsigned int, unsigned long int, tag, false);
-	TEST_TTR(unsigned int, wchar_t, tag, false);
-	TEST_TTR(unsigned int, float, tag, false);
-	TEST_TTR(unsigned int, double, tag, false);
-	TEST_TTR(unsigned int, long double, tag, false);
-	TEST_TTR(unsigned long int, bool, tag, false);
-	TEST_TTR(unsigned long int, char, tag, false);
-	TEST_TTR(unsigned long int, signed char, tag, false);
-	TEST_TTR(unsigned long int, short int, tag, false);
-	TEST_TTR(unsigned long int, int, tag, false);
-	TEST_TTR(unsigned long int, long int, tag, false);
-	TEST_TTR(unsigned long int, unsigned char, tag, false);
-	TEST_TTR(unsigned long int, unsigned short int, tag, false);
-	TEST_TTR(unsigned long int, unsigned int, tag, false);
-	TEST_TTR(unsigned long int, unsigned long int, tag, false);
-	TEST_TTR(unsigned long int, wchar_t, tag, false);
-	TEST_TTR(unsigned long int, float, tag, false);
-	TEST_TTR(unsigned long int, double, tag, false);
-	TEST_TTR(unsigned long int, long double, tag, false);
-	TEST_TTR(wchar_t, bool, tag, false);
-	TEST_TTR(wchar_t, char, tag, false);
-	TEST_TTR(wchar_t, signed char, tag, false);
-	TEST_TTR(wchar_t, short int, tag, false);
-	TEST_TTR(wchar_t, int, tag, false);
-	TEST_TTR(wchar_t, long int, tag, false);
-	TEST_TTR(wchar_t, unsigned char, tag, false);
-	TEST_TTR(wchar_t, unsigned short int, tag, false);
-	TEST_TTR(wchar_t, unsigned int, tag, false);
-	TEST_TTR(wchar_t, unsigned long int, tag, false);
-	TEST_TTR(wchar_t, wchar_t, tag, false);
-	TEST_TTR(wchar_t, float, tag, false);
-	TEST_TTR(wchar_t, double, tag, false);
-	TEST_TTR(wchar_t, long double, tag, false);
-	TEST_TTR(float, bool, tag, false);
-	TEST_TTR(float, char, tag, false);
-	TEST_TTR(float, signed char, tag, false);
-	TEST_TTR(float, short int, tag, false);
-	TEST_TTR(float, int, tag, false);
-	TEST_TTR(float, long int, tag, false);
-	TEST_TTR(float, unsigned char, tag, false);
-	TEST_TTR(float, unsigned short int, tag, false);
-	TEST_TTR(float, unsigned int, tag, false);
-	TEST_TTR(float, unsigned long int, tag, false);
-	TEST_TTR(float, wchar_t, tag, false);
-	TEST_TTR(float, float, tag, false);
-	TEST_TTR(float, double, tag, false);
-	TEST_TTR(float, long double, tag, false);
-	TEST_TTR(double, bool, tag, false);
-	TEST_TTR(double, char, tag, false);
-	TEST_TTR(double, signed char, tag, false);
-	TEST_TTR(double, short int, tag, false);
-	TEST_TTR(double, int, tag, false);
-	TEST_TTR(double, long int, tag, false);
-	TEST_TTR(double, unsigned char, tag, false);
-	TEST_TTR(double, unsigned short int, tag, false);
-	TEST_TTR(double, unsigned int, tag, false);
-	TEST_TTR(double, unsigned long int, tag, false);
-	TEST_TTR(double, wchar_t, tag, false);
-	TEST_TTR(double, float, tag, false);
-	TEST_TTR(double, double, tag, false);
-	TEST_TTR(double, long double, tag, false);
-	TEST_TTR(long double, bool, tag, false);
-	TEST_TTR(long double, char, tag, false);
-	TEST_TTR(long double, signed char, tag, false);
-	TEST_TTR(long double, short int, tag, false);
-	TEST_TTR(long double, int, tag, false);
-	TEST_TTR(long double, long int, tag, false);
-	TEST_TTR(long double, unsigned char, tag, false);
-	TEST_TTR(long double, unsigned short int, tag, false);
-	TEST_TTR(long double, unsigned int, tag, false);
-	TEST_TTR(long double, unsigned long int, tag, false);
-	TEST_TTR(long double, wchar_t, tag, false);
-	TEST_TTR(long double, float, tag, false);
-	TEST_TTR(long double, double, tag, false);
-	TEST_TTR(long double, long double, tag, false);
+   TEST_TTR(bool, bool, bool, true);
+   TEST_TTR(bool, char, bool, true);
+   TEST_TTR(bool, signed char, bool, true);
+   TEST_TTR(bool, short int, bool, true);
+   TEST_TTR(bool, int, bool, true);
+   TEST_TTR(bool, long int, bool, true);
+   TEST_TTR(bool, unsigned char, bool, true);
+   TEST_TTR(bool, unsigned short int, bool, true);
+   TEST_TTR(bool, unsigned int, bool, true);
+   TEST_TTR(bool, unsigned long int, bool, true);
+   TEST_TTR(bool, wchar_t, bool, true);
+   TEST_TTR(bool, float, bool, false);
+   TEST_TTR(bool, double, bool, false);
+   TEST_TTR(bool, long double, bool, false);
+   TEST_TTR(char, bool, bool, true);
+   TEST_TTR(char, char, bool, true);
+   TEST_TTR(char, signed char, bool, true);
+   TEST_TTR(char, short int, bool, true);
+   TEST_TTR(char, int, bool, true);
+   TEST_TTR(char, long int, bool, true);
+   TEST_TTR(char, unsigned char, bool, true);
+   TEST_TTR(char, unsigned short int, bool, true);
+   TEST_TTR(char, unsigned int, bool, true);
+   TEST_TTR(char, unsigned long int, bool, true);
+   TEST_TTR(char, wchar_t, bool, true);
+   TEST_TTR(char, float, bool, false);
+   TEST_TTR(char, double, bool, false);
+   TEST_TTR(char, long double, bool, false);
+   TEST_TTR(signed char, bool, bool, true);
+   TEST_TTR(signed char, char, bool, true);
+   TEST_TTR(signed char, signed char, bool, true);
+   TEST_TTR(signed char, short int, bool, true);
+   TEST_TTR(signed char, int, bool, true);
+   TEST_TTR(signed char, long int, bool, true);
+   TEST_TTR(signed char, unsigned char, bool, true);
+   TEST_TTR(signed char, unsigned short int, bool, true);
+   TEST_TTR(signed char, unsigned int, bool, true);
+   TEST_TTR(signed char, unsigned long int, bool, true);
+   TEST_TTR(signed char, wchar_t, bool, true);
+   TEST_TTR(signed char, float, bool, false);
+   TEST_TTR(signed char, double, bool, false);
+   TEST_TTR(signed char, long double, bool, false);
+   TEST_TTR(short int, bool, bool, true);
+   TEST_TTR(short int, char, bool, true);
+   TEST_TTR(short int, signed char, bool, true);
+   TEST_TTR(short int, short int, bool, true);
+   TEST_TTR(short int, int, bool, true);
+   TEST_TTR(short int, long int, bool, true);
+   TEST_TTR(short int, unsigned char, bool, true);
+   TEST_TTR(short int, unsigned short int, bool, true);
+   TEST_TTR(short int, unsigned int, bool, true);
+   TEST_TTR(short int, unsigned long int, bool, true);
+   TEST_TTR(short int, wchar_t, bool, true);
+   TEST_TTR(short int, float, bool, false);
+   TEST_TTR(short int, double, bool, false);
+   TEST_TTR(short int, long double, bool, false);
+   TEST_TTR(int, bool, bool, true);
+   TEST_TTR(int, char, bool, true);
+   TEST_TTR(int, signed char, bool, true);
+   TEST_TTR(int, short int, bool, true);
+   TEST_TTR(int, int, bool, true);
+   TEST_TTR(int, long int, bool, true);
+   TEST_TTR(int, unsigned char, bool, true);
+   TEST_TTR(int, unsigned short int, bool, true);
+   TEST_TTR(int, unsigned int, bool, true);
+   TEST_TTR(int, unsigned long int, bool, true);
+   TEST_TTR(int, wchar_t, bool, true);
+   TEST_TTR(int, float, bool, false);
+   TEST_TTR(int, double, bool, false);
+   TEST_TTR(int, long double, bool, false);
+   TEST_TTR(long int, bool, bool, true);
+   TEST_TTR(long int, char, bool, true);
+   TEST_TTR(long int, signed char, bool, true);
+   TEST_TTR(long int, short int, bool, true);
+   TEST_TTR(long int, int, bool, true);
+   TEST_TTR(long int, long int, bool, true);
+   TEST_TTR(long int, unsigned char, bool, true);
+   TEST_TTR(long int, unsigned short int, bool, true);
+   TEST_TTR(long int, unsigned int, bool, true);
+   TEST_TTR(long int, unsigned long int, bool, true);
+   TEST_TTR(long int, wchar_t, bool, true);
+   TEST_TTR(long int, float, bool, false);
+   TEST_TTR(long int, double, bool, false);
+   TEST_TTR(long int, long double, bool, false);
+   TEST_TTR(unsigned char, bool, bool, true);
+   TEST_TTR(unsigned char, char, bool, true);
+   TEST_TTR(unsigned char, signed char, bool, true);
+   TEST_TTR(unsigned char, short int, bool, true);
+   TEST_TTR(unsigned char, int, bool, true);
+   TEST_TTR(unsigned char, long int, bool, true);
+   TEST_TTR(unsigned char, unsigned char, bool, true);
+   TEST_TTR(unsigned char, unsigned short int, bool, true);
+   TEST_TTR(unsigned char, unsigned int, bool, true);
+   TEST_TTR(unsigned char, unsigned long int, bool, true);
+   TEST_TTR(unsigned char, wchar_t, bool, true);
+   TEST_TTR(unsigned char, float, bool, false);
+   TEST_TTR(unsigned char, double, bool, false);
+   TEST_TTR(unsigned char, long double, bool, false);
+   TEST_TTR(unsigned short int, bool, bool, true);
+   TEST_TTR(unsigned short int, char, bool, true);
+   TEST_TTR(unsigned short int, signed char, bool, true);
+   TEST_TTR(unsigned short int, short int, bool, true);
+   TEST_TTR(unsigned short int, int, bool, true);
+   TEST_TTR(unsigned short int, long int, bool, true);
+   TEST_TTR(unsigned short int, unsigned char, bool, true);
+   TEST_TTR(unsigned short int, unsigned short int, bool, true);
+   TEST_TTR(unsigned short int, unsigned int, bool, true);
+   TEST_TTR(unsigned short int, unsigned long int, bool, true);
+   TEST_TTR(unsigned short int, wchar_t, bool, true);
+   TEST_TTR(unsigned short int, float, bool, false);
+   TEST_TTR(unsigned short int, double, bool, false);
+   TEST_TTR(unsigned short int, long double, bool, false);
+   TEST_TTR(unsigned int, bool, bool, true);
+   TEST_TTR(unsigned int, char, bool, true);
+   TEST_TTR(unsigned int, signed char, bool, true);
+   TEST_TTR(unsigned int, short int, bool, true);
+   TEST_TTR(unsigned int, int, bool, true);
+   TEST_TTR(unsigned int, long int, bool, true);
+   TEST_TTR(unsigned int, unsigned char, bool, true);
+   TEST_TTR(unsigned int, unsigned short int, bool, true);
+   TEST_TTR(unsigned int, unsigned int, bool, true);
+   TEST_TTR(unsigned int, unsigned long int, bool, true);
+   TEST_TTR(unsigned int, wchar_t, bool, true);
+   TEST_TTR(unsigned int, float, bool, false);
+   TEST_TTR(unsigned int, double, bool, false);
+   TEST_TTR(unsigned int, long double, bool, false);
+   TEST_TTR(unsigned long int, bool, bool, true);
+   TEST_TTR(unsigned long int, char, bool, true);
+   TEST_TTR(unsigned long int, signed char, bool, true);
+   TEST_TTR(unsigned long int, short int, bool, true);
+   TEST_TTR(unsigned long int, int, bool, true);
+   TEST_TTR(unsigned long int, long int, bool, true);
+   TEST_TTR(unsigned long int, unsigned char, bool, true);
+   TEST_TTR(unsigned long int, unsigned short int, bool, true);
+   TEST_TTR(unsigned long int, unsigned int, bool, true);
+   TEST_TTR(unsigned long int, unsigned long int, bool, true);
+   TEST_TTR(unsigned long int, wchar_t, bool, true);
+   TEST_TTR(unsigned long int, float, bool, false);
+   TEST_TTR(unsigned long int, double, bool, false);
+   TEST_TTR(unsigned long int, long double, bool, false);
+   TEST_TTR(wchar_t, bool, bool, true);
+   TEST_TTR(wchar_t, char, bool, true);
+   TEST_TTR(wchar_t, signed char, bool, true);
+   TEST_TTR(wchar_t, short int, bool, true);
+   TEST_TTR(wchar_t, int, bool, true);
+   TEST_TTR(wchar_t, long int, bool, true);
+   TEST_TTR(wchar_t, unsigned char, bool, true);
+   TEST_TTR(wchar_t, unsigned short int, bool, true);
+   TEST_TTR(wchar_t, unsigned int, bool, true);
+   TEST_TTR(wchar_t, unsigned long int, bool, true);
+   TEST_TTR(wchar_t, wchar_t, bool, true);
+   TEST_TTR(wchar_t, float, bool, false);
+   TEST_TTR(wchar_t, double, bool, false);
+   TEST_TTR(wchar_t, long double, bool, false);
+   TEST_TTR(float, bool, bool, false);
+   TEST_TTR(float, char, bool, false);
+   TEST_TTR(float, signed char, bool, false);
+   TEST_TTR(float, short int, bool, false);
+   TEST_TTR(float, int, bool, false);
+   TEST_TTR(float, long int, bool, false);
+   TEST_TTR(float, unsigned char, bool, false);
+   TEST_TTR(float, unsigned short int, bool, false);
+   TEST_TTR(float, unsigned int, bool, false);
+   TEST_TTR(float, unsigned long int, bool, false);
+   TEST_TTR(float, wchar_t, bool, false);
+   TEST_TTR(float, float, bool, false);
+   TEST_TTR(float, double, bool, false);
+   TEST_TTR(float, long double, bool, false);
+   TEST_TTR(double, bool, bool, false);
+   TEST_TTR(double, char, bool, false);
+   TEST_TTR(double, signed char, bool, false);
+   TEST_TTR(double, short int, bool, false);
+   TEST_TTR(double, int, bool, false);
+   TEST_TTR(double, long int, bool, false);
+   TEST_TTR(double, unsigned char, bool, false);
+   TEST_TTR(double, unsigned short int, bool, false);
+   TEST_TTR(double, unsigned int, bool, false);
+   TEST_TTR(double, unsigned long int, bool, false);
+   TEST_TTR(double, wchar_t, bool, false);
+   TEST_TTR(double, float, bool, false);
+   TEST_TTR(double, double, bool, false);
+   TEST_TTR(double, long double, bool, false);
+   TEST_TTR(long double, bool, bool, false);
+   TEST_TTR(long double, char, bool, false);
+   TEST_TTR(long double, signed char, bool, false);
+   TEST_TTR(long double, short int, bool, false);
+   TEST_TTR(long double, int, bool, false);
+   TEST_TTR(long double, long int, bool, false);
+   TEST_TTR(long double, unsigned char, bool, false);
+   TEST_TTR(long double, unsigned short int, bool, false);
+   TEST_TTR(long double, unsigned int, bool, false);
+   TEST_TTR(long double, unsigned long int, bool, false);
+   TEST_TTR(long double, wchar_t, bool, false);
+   TEST_TTR(long double, float, bool, false);
+   TEST_TTR(long double, double, bool, false);
+   TEST_TTR(long double, long double, bool, false);
+   TEST_TTR(bool, bool, tag, false);
+   TEST_TTR(bool, char, tag, false);
+   TEST_TTR(bool, signed char, tag, false);
+   TEST_TTR(bool, short int, tag, false);
+   TEST_TTR(bool, int, tag, false);
+   TEST_TTR(bool, long int, tag, false);
+   TEST_TTR(bool, unsigned char, tag, false);
+   TEST_TTR(bool, unsigned short int, tag, false);
+   TEST_TTR(bool, unsigned int, tag, false);
+   TEST_TTR(bool, unsigned long int, tag, false);
+   TEST_TTR(bool, wchar_t, tag, false);
+   TEST_TTR(bool, float, tag, false);
+   TEST_TTR(bool, double, tag, false);
+   TEST_TTR(bool, long double, tag, false);
+   TEST_TTR(char, bool, tag, false);
+   TEST_TTR(char, char, tag, false);
+   TEST_TTR(char, signed char, tag, false);
+   TEST_TTR(char, short int, tag, false);
+   TEST_TTR(char, int, tag, false);
+   TEST_TTR(char, long int, tag, false);
+   TEST_TTR(char, unsigned char, tag, false);
+   TEST_TTR(char, unsigned short int, tag, false);
+   TEST_TTR(char, unsigned int, tag, false);
+   TEST_TTR(char, unsigned long int, tag, false);
+   TEST_TTR(char, wchar_t, tag, false);
+   TEST_TTR(char, float, tag, false);
+   TEST_TTR(char, double, tag, false);
+   TEST_TTR(char, long double, tag, false);
+   TEST_TTR(signed char, bool, tag, false);
+   TEST_TTR(signed char, char, tag, false);
+   TEST_TTR(signed char, signed char, tag, false);
+   TEST_TTR(signed char, short int, tag, false);
+   TEST_TTR(signed char, int, tag, false);
+   TEST_TTR(signed char, long int, tag, false);
+   TEST_TTR(signed char, unsigned char, tag, false);
+   TEST_TTR(signed char, unsigned short int, tag, false);
+   TEST_TTR(signed char, unsigned int, tag, false);
+   TEST_TTR(signed char, unsigned long int, tag, false);
+   TEST_TTR(signed char, wchar_t, tag, false);
+   TEST_TTR(signed char, float, tag, false);
+   TEST_TTR(signed char, double, tag, false);
+   TEST_TTR(signed char, long double, tag, false);
+   TEST_TTR(short int, bool, tag, false);
+   TEST_TTR(short int, char, tag, false);
+   TEST_TTR(short int, signed char, tag, false);
+   TEST_TTR(short int, short int, tag, false);
+   TEST_TTR(short int, int, tag, false);
+   TEST_TTR(short int, long int, tag, false);
+   TEST_TTR(short int, unsigned char, tag, false);
+   TEST_TTR(short int, unsigned short int, tag, false);
+   TEST_TTR(short int, unsigned int, tag, false);
+   TEST_TTR(short int, unsigned long int, tag, false);
+   TEST_TTR(short int, wchar_t, tag, false);
+   TEST_TTR(short int, float, tag, false);
+   TEST_TTR(short int, double, tag, false);
+   TEST_TTR(short int, long double, tag, false);
+   TEST_TTR(int, bool, tag, false);
+   TEST_TTR(int, char, tag, false);
+   TEST_TTR(int, signed char, tag, false);
+   TEST_TTR(int, short int, tag, false);
+   TEST_TTR(int, int, tag, false);
+   TEST_TTR(int, long int, tag, false);
+   TEST_TTR(int, unsigned char, tag, false);
+   TEST_TTR(int, unsigned short int, tag, false);
+   TEST_TTR(int, unsigned int, tag, false);
+   TEST_TTR(int, unsigned long int, tag, false);
+   TEST_TTR(int, wchar_t, tag, false);
+   TEST_TTR(int, float, tag, false);
+   TEST_TTR(int, double, tag, false);
+   TEST_TTR(int, long double, tag, false);
+   TEST_TTR(long int, bool, tag, false);
+   TEST_TTR(long int, char, tag, false);
+   TEST_TTR(long int, signed char, tag, false);
+   TEST_TTR(long int, short int, tag, false);
+   TEST_TTR(long int, int, tag, false);
+   TEST_TTR(long int, long int, tag, false);
+   TEST_TTR(long int, unsigned char, tag, false);
+   TEST_TTR(long int, unsigned short int, tag, false);
+   TEST_TTR(long int, unsigned int, tag, false);
+   TEST_TTR(long int, unsigned long int, tag, false);
+   TEST_TTR(long int, wchar_t, tag, false);
+   TEST_TTR(long int, float, tag, false);
+   TEST_TTR(long int, double, tag, false);
+   TEST_TTR(long int, long double, tag, false);
+   TEST_TTR(unsigned char, bool, tag, false);
+   TEST_TTR(unsigned char, char, tag, false);
+   TEST_TTR(unsigned char, signed char, tag, false);
+   TEST_TTR(unsigned char, short int, tag, false);
+   TEST_TTR(unsigned char, int, tag, false);
+   TEST_TTR(unsigned char, long int, tag, false);
+   TEST_TTR(unsigned char, unsigned char, tag, false);
+   TEST_TTR(unsigned char, unsigned short int, tag, false);
+   TEST_TTR(unsigned char, unsigned int, tag, false);
+   TEST_TTR(unsigned char, unsigned long int, tag, false);
+   TEST_TTR(unsigned char, wchar_t, tag, false);
+   TEST_TTR(unsigned char, float, tag, false);
+   TEST_TTR(unsigned char, double, tag, false);
+   TEST_TTR(unsigned char, long double, tag, false);
+   TEST_TTR(unsigned short int, bool, tag, false);
+   TEST_TTR(unsigned short int, char, tag, false);
+   TEST_TTR(unsigned short int, signed char, tag, false);
+   TEST_TTR(unsigned short int, short int, tag, false);
+   TEST_TTR(unsigned short int, int, tag, false);
+   TEST_TTR(unsigned short int, long int, tag, false);
+   TEST_TTR(unsigned short int, unsigned char, tag, false);
+   TEST_TTR(unsigned short int, unsigned short int, tag, false);
+   TEST_TTR(unsigned short int, unsigned int, tag, false);
+   TEST_TTR(unsigned short int, unsigned long int, tag, false);
+   TEST_TTR(unsigned short int, wchar_t, tag, false);
+   TEST_TTR(unsigned short int, float, tag, false);
+   TEST_TTR(unsigned short int, double, tag, false);
+   TEST_TTR(unsigned short int, long double, tag, false);
+   TEST_TTR(unsigned int, bool, tag, false);
+   TEST_TTR(unsigned int, char, tag, false);
+   TEST_TTR(unsigned int, signed char, tag, false);
+   TEST_TTR(unsigned int, short int, tag, false);
+   TEST_TTR(unsigned int, int, tag, false);
+   TEST_TTR(unsigned int, long int, tag, false);
+   TEST_TTR(unsigned int, unsigned char, tag, false);
+   TEST_TTR(unsigned int, unsigned short int, tag, false);
+   TEST_TTR(unsigned int, unsigned int, tag, false);
+   TEST_TTR(unsigned int, unsigned long int, tag, false);
+   TEST_TTR(unsigned int, wchar_t, tag, false);
+   TEST_TTR(unsigned int, float, tag, false);
+   TEST_TTR(unsigned int, double, tag, false);
+   TEST_TTR(unsigned int, long double, tag, false);
+   TEST_TTR(unsigned long int, bool, tag, false);
+   TEST_TTR(unsigned long int, char, tag, false);
+   TEST_TTR(unsigned long int, signed char, tag, false);
+   TEST_TTR(unsigned long int, short int, tag, false);
+   TEST_TTR(unsigned long int, int, tag, false);
+   TEST_TTR(unsigned long int, long int, tag, false);
+   TEST_TTR(unsigned long int, unsigned char, tag, false);
+   TEST_TTR(unsigned long int, unsigned short int, tag, false);
+   TEST_TTR(unsigned long int, unsigned int, tag, false);
+   TEST_TTR(unsigned long int, unsigned long int, tag, false);
+   TEST_TTR(unsigned long int, wchar_t, tag, false);
+   TEST_TTR(unsigned long int, float, tag, false);
+   TEST_TTR(unsigned long int, double, tag, false);
+   TEST_TTR(unsigned long int, long double, tag, false);
+   TEST_TTR(wchar_t, bool, tag, false);
+   TEST_TTR(wchar_t, char, tag, false);
+   TEST_TTR(wchar_t, signed char, tag, false);
+   TEST_TTR(wchar_t, short int, tag, false);
+   TEST_TTR(wchar_t, int, tag, false);
+   TEST_TTR(wchar_t, long int, tag, false);
+   TEST_TTR(wchar_t, unsigned char, tag, false);
+   TEST_TTR(wchar_t, unsigned short int, tag, false);
+   TEST_TTR(wchar_t, unsigned int, tag, false);
+   TEST_TTR(wchar_t, unsigned long int, tag, false);
+   TEST_TTR(wchar_t, wchar_t, tag, false);
+   TEST_TTR(wchar_t, float, tag, false);
+   TEST_TTR(wchar_t, double, tag, false);
+   TEST_TTR(wchar_t, long double, tag, false);
+   TEST_TTR(float, bool, tag, false);
+   TEST_TTR(float, char, tag, false);
+   TEST_TTR(float, signed char, tag, false);
+   TEST_TTR(float, short int, tag, false);
+   TEST_TTR(float, int, tag, false);
+   TEST_TTR(float, long int, tag, false);
+   TEST_TTR(float, unsigned char, tag, false);
+   TEST_TTR(float, unsigned short int, tag, false);
+   TEST_TTR(float, unsigned int, tag, false);
+   TEST_TTR(float, unsigned long int, tag, false);
+   TEST_TTR(float, wchar_t, tag, false);
+   TEST_TTR(float, float, tag, false);
+   TEST_TTR(float, double, tag, false);
+   TEST_TTR(float, long double, tag, false);
+   TEST_TTR(double, bool, tag, false);
+   TEST_TTR(double, char, tag, false);
+   TEST_TTR(double, signed char, tag, false);
+   TEST_TTR(double, short int, tag, false);
+   TEST_TTR(double, int, tag, false);
+   TEST_TTR(double, long int, tag, false);
+   TEST_TTR(double, unsigned char, tag, false);
+   TEST_TTR(double, unsigned short int, tag, false);
+   TEST_TTR(double, unsigned int, tag, false);
+   TEST_TTR(double, unsigned long int, tag, false);
+   TEST_TTR(double, wchar_t, tag, false);
+   TEST_TTR(double, float, tag, false);
+   TEST_TTR(double, double, tag, false);
+   TEST_TTR(double, long double, tag, false);
+   TEST_TTR(long double, bool, tag, false);
+   TEST_TTR(long double, char, tag, false);
+   TEST_TTR(long double, signed char, tag, false);
+   TEST_TTR(long double, short int, tag, false);
+   TEST_TTR(long double, int, tag, false);
+   TEST_TTR(long double, long int, tag, false);
+   TEST_TTR(long double, unsigned char, tag, false);
+   TEST_TTR(long double, unsigned short int, tag, false);
+   TEST_TTR(long double, unsigned int, tag, false);
+   TEST_TTR(long double, unsigned long int, tag, false);
+   TEST_TTR(long double, wchar_t, tag, false);
+   TEST_TTR(long double, float, tag, false);
+   TEST_TTR(long double, double, tag, false);
+   TEST_TTR(long double, long double, tag, false);
 
-	TEST_T(without, false);
-	TEST_T(internal, true);
-	TEST_T(external, true);
-//	compile time error
-//	TEST_T(internal_private, false);
-	TEST_T(returns_int, true);
-	TEST_T(returns_void, true);
-	TEST_T(returns_void_star, true);
-	TEST_T(returns_double, true);
-	TEST_T(returns_string, true);
-//	TEST_T(convertible_to_bool, true);
-	TEST_T(Base1, true);
-	TEST_T(Derived1, true);
-	TEST_T(Base2, false);
-	TEST_T(Derived2, true);
+   TEST_T(without, false);
+   TEST_T(internal, true);
+   TEST_T(external, true);
+// compile time error
+// TEST_T(internal_private, false);
+   TEST_T(returns_int, true);
+   TEST_T(returns_void, true);
+   TEST_T(returns_void_star, true);
+   TEST_T(returns_double, true);
+   TEST_T(returns_string, true);
+// TEST_T(convertible_to_bool, true);
+   TEST_T(Base1, true);
+   TEST_T(Derived1, true);
+   TEST_T(Base2, false);
+   TEST_T(Derived2, true);
 
-	TEST_TR(without, bool, false);
-	TEST_TR(internal, bool, false);
-	TEST_TR(internal, ret, true);
-	TEST_TR(external, bool, false);
-	TEST_TR(external, ret, true);
-	TEST_TR(returns_int, bool, true);
-	TEST_TR(returns_int, int, true);
-	TEST_TR(returns_void, void, true);
-	TEST_TR(returns_void, bool, false);
-	TEST_TR(returns_void_star, bool, true);
-	TEST_TR(returns_double, bool, true);
-	TEST_TR(returns_double, double, true);
-	TEST_TR(returns_string, bool, false);
-	TEST_TR(returns_string, std::string, true);
-//	TEST_TR(convertible_to_bool, bool, true);
-	TEST_TR(Base1, bool, true);
-	TEST_TR(Derived1, bool, true);
-	TEST_TR(Base2, bool, false);
-	TEST_TR(Derived2, bool, true);
-	// pointers
-	TEST_TT(void*, bool, false);
-	TEST_TT(void*, int, false);
-	TEST_TT(void*, double, false);
-	TEST_TT(void*, A, false);
-	TEST_TT(void*, B, false);
-	TEST_TT(bool*, bool, false);
-	TEST_TT(bool*, int, false);
-	TEST_TT(bool*, double, false);
-	TEST_TT(bool*, A, false);
-	TEST_TT(bool*, B, false);
-	TEST_TT(int*, bool, false);
-	TEST_TT(int*, int, false);
-	TEST_TT(int*, double, false);
-	TEST_TT(int*, A, false);
-	TEST_TT(int*, B, false);
-	TEST_TT(double*, bool, false);
-	TEST_TT(double*, int, false);
-	TEST_TT(double*, double, false);
-	TEST_TT(double*, A, false);
-	TEST_TT(double*, B, false);
-	TEST_TT(A*, bool, false);
-	TEST_TT(A*, int, false);
-	TEST_TT(A*, double, false);
-	TEST_TT(A*, A, false);
-	TEST_TT(A*, B, false);
-	TEST_TT(B*, bool, false);
-	TEST_TT(B*, int, false);
-	TEST_TT(B*, double, false);
-	TEST_TT(B*, A, false);
-	TEST_TT(B*, B, false);
-	TEST_TT(bool, void*, false);
-	TEST_TT(bool, bool*, false);
-	TEST_TT(bool, int*, false);
-	TEST_TT(bool, double*, false);
-	TEST_TT(bool, A*, false);
-	TEST_TT(bool, B*, false);
-	TEST_TT(int, void*, false);
-	TEST_TT(int, bool*, false);
-	TEST_TT(int, int*, false);
-	TEST_TT(int, double*, false);
-	TEST_TT(int, A*, false);
-	TEST_TT(int, B*, false);
-	TEST_TT(double, void*, false);
-	TEST_TT(double, bool*, false);
-	TEST_TT(double, int*, false);
-	TEST_TT(double, double*, false);
-	TEST_TT(double, A*, false);
-	TEST_TT(double, B*, false);
-	TEST_TT(A, void*, false);
-	TEST_TT(A, bool*, false);
-	TEST_TT(A, int*, false);
-	TEST_TT(A, double*, false);
-	TEST_TT(A, A*, false);
-	TEST_TT(A, B*, false);
-	TEST_TT(B, void*, false);
-	TEST_TT(B, bool*, false);
-	TEST_TT(B, int*, false);
-	TEST_TT(B, double*, false);
-	TEST_TT(B, A*, false);
-	TEST_TT(B, B*, false);
-	TEST_TT(void*, void*, false);
-	TEST_TT(void*, bool*, false);
-	TEST_TT(void*, int*, false);
-	TEST_TT(void*, double*, false);
-	TEST_TT(void*, A*, false);
-	TEST_TT(void*, B*, false);
-	TEST_TT(bool*, void*, false);
-	TEST_TT(bool*, bool*, false);
-	TEST_TT(bool*, int*, false);
-	TEST_TT(bool*, double*, false);
-	TEST_TT(bool*, A*, false);
-	TEST_TT(bool*, B*, false);
-	TEST_TT(int*, void*, false);
-	TEST_TT(int*, bool*, false);
-	TEST_TT(int*, int*, false);
-	TEST_TT(int*, double*, false);
-	TEST_TT(int*, A*, false);
-	TEST_TT(int*, B*, false);
-	TEST_TT(double*, void*, false);
-	TEST_TT(double*, bool*, false);
-	TEST_TT(double*, int*, false);
-	TEST_TT(double*, double*, false);
-	TEST_TT(double*, A*, false);
-	TEST_TT(double*, B*, false);
-	TEST_TT(A*, void*, false);
-	TEST_TT(A*, bool*, false);
-	TEST_TT(A*, int*, false);
-	TEST_TT(A*, double*, false);
-	TEST_TT(A*, A*, false);
-	TEST_TT(A*, B*, false);
-	TEST_TT(B*, void*, false);
-	TEST_TT(B*, bool*, false);
-	TEST_TT(B*, int*, false);
-	TEST_TT(B*, double*, false);
-	TEST_TT(B*, A*, false);
-	TEST_TT(B*, B*, false);
+   TEST_TR(without, bool, false);
+   TEST_TR(internal, bool, false);
+   TEST_TR(internal, ret, true);
+   TEST_TR(external, bool, false);
+   TEST_TR(external, ret, true);
+   TEST_TR(returns_int, bool, true);
+   TEST_TR(returns_int, int, true);
+   TEST_TR(returns_void, void, true);
+   TEST_TR(returns_void, bool, false);
+   TEST_TR(returns_void_star, bool, true);
+   TEST_TR(returns_double, bool, true);
+   TEST_TR(returns_double, double, true);
+   TEST_TR(returns_string, bool, false);
+   TEST_TR(returns_string, std::string, true);
+// TEST_TR(convertible_to_bool, bool, true);
+   TEST_TR(Base1, bool, true);
+   TEST_TR(Derived1, bool, true);
+   TEST_TR(Base2, bool, false);
+   TEST_TR(Derived2, bool, true);
+   // pointers
+   TEST_TT(void*, bool, false);
+   TEST_TT(void*, int, false);
+   TEST_TT(void*, double, false);
+   TEST_TT(void*, A, false);
+   TEST_TT(void*, B, false);
+   TEST_TT(bool*, bool, false);
+   TEST_TT(bool*, int, false);
+   TEST_TT(bool*, double, false);
+   TEST_TT(bool*, A, false);
+   TEST_TT(bool*, B, false);
+   TEST_TT(int*, bool, false);
+   TEST_TT(int*, int, false);
+   TEST_TT(int*, double, false);
+   TEST_TT(int*, A, false);
+   TEST_TT(int*, B, false);
+   TEST_TT(double*, bool, false);
+   TEST_TT(double*, int, false);
+   TEST_TT(double*, double, false);
+   TEST_TT(double*, A, false);
+   TEST_TT(double*, B, false);
+   TEST_TT(A*, bool, false);
+   TEST_TT(A*, int, false);
+   TEST_TT(A*, double, false);
+   TEST_TT(A*, A, false);
+   TEST_TT(A*, B, false);
+   TEST_TT(B*, bool, false);
+   TEST_TT(B*, int, false);
+   TEST_TT(B*, double, false);
+   TEST_TT(B*, A, false);
+   TEST_TT(B*, B, false);
+   TEST_TT(bool, void*, false);
+   TEST_TT(bool, bool*, false);
+   TEST_TT(bool, int*, false);
+   TEST_TT(bool, double*, false);
+   TEST_TT(bool, A*, false);
+   TEST_TT(bool, B*, false);
+   TEST_TT(int, void*, false);
+   TEST_TT(int, bool*, false);
+   TEST_TT(int, int*, false);
+   TEST_TT(int, double*, false);
+   TEST_TT(int, A*, false);
+   TEST_TT(int, B*, false);
+   TEST_TT(double, void*, false);
+   TEST_TT(double, bool*, false);
+   TEST_TT(double, int*, false);
+   TEST_TT(double, double*, false);
+   TEST_TT(double, A*, false);
+   TEST_TT(double, B*, false);
+   TEST_TT(A, void*, false);
+   TEST_TT(A, bool*, false);
+   TEST_TT(A, int*, false);
+   TEST_TT(A, double*, false);
+   TEST_TT(A, A*, false);
+   TEST_TT(A, B*, false);
+   TEST_TT(B, void*, false);
+   TEST_TT(B, bool*, false);
+   TEST_TT(B, int*, false);
+   TEST_TT(B, double*, false);
+   TEST_TT(B, A*, false);
+   TEST_TT(B, B*, false);
+   TEST_TT(void*, void*, false);
+   TEST_TT(void*, bool*, false);
+   TEST_TT(void*, int*, false);
+   TEST_TT(void*, double*, false);
+   TEST_TT(void*, A*, false);
+   TEST_TT(void*, B*, false);
+   TEST_TT(bool*, void*, false);
+   TEST_TT(bool*, bool*, false);
+   TEST_TT(bool*, int*, false);
+   TEST_TT(bool*, double*, false);
+   TEST_TT(bool*, A*, false);
+   TEST_TT(bool*, B*, false);
+   TEST_TT(int*, void*, false);
+   TEST_TT(int*, bool*, false);
+   TEST_TT(int*, int*, false);
+   TEST_TT(int*, double*, false);
+   TEST_TT(int*, A*, false);
+   TEST_TT(int*, B*, false);
+   TEST_TT(double*, void*, false);
+   TEST_TT(double*, bool*, false);
+   TEST_TT(double*, int*, false);
+   TEST_TT(double*, double*, false);
+   TEST_TT(double*, A*, false);
+   TEST_TT(double*, B*, false);
+   TEST_TT(A*, void*, false);
+   TEST_TT(A*, bool*, false);
+   TEST_TT(A*, int*, false);
+   TEST_TT(A*, double*, false);
+   TEST_TT(A*, A*, false);
+   TEST_TT(A*, B*, false);
+   TEST_TT(B*, void*, false);
+   TEST_TT(B*, bool*, false);
+   TEST_TT(B*, int*, false);
+   TEST_TT(B*, double*, false);
+   TEST_TT(B*, A*, false);
+   TEST_TT(B*, B*, false);
 }
 }
 
 TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-	run();
+   run();
 TT_TEST_END
Modified: sandbox/type_traits/libs/type_traits/test/has_minus_equal_operator_test.hpp
==============================================================================
--- sandbox/type_traits/libs/type_traits/test/has_minus_equal_operator_test.hpp	(original)
+++ sandbox/type_traits/libs/type_traits/test/has_minus_equal_operator_test.hpp	2011-02-03 17:09:55 EST (Thu, 03 Feb 2011)
@@ -49,7 +49,7 @@
 
 class Base2 { };
 struct Derived2 : public Base2 {
-	Derived2(int); // to check if it works with a class that is not default constructible
+   Derived2(int); // to check if it works with a class that is not default constructible
 };
 
 bool operator BOOST_TT_TRAIT_OP (const Derived2&, const Derived2&) { return true; }
@@ -60,777 +60,777 @@
 struct B : public A { };
 
 void run() {
-	// test with only one template parameter
-	TEST_T(bool, true);
-	TEST_T(char, true);
-	TEST_T(signed char, true);
-	TEST_T(short int, true);
-	TEST_T(int, true);
-	TEST_T(long int, true);
-	TEST_T(unsigned char, true);
-	TEST_T(unsigned short int, true);
-	TEST_T(unsigned int, true);
-	TEST_T(unsigned long int, true);
-	TEST_T(wchar_t, true);
-	TEST_T(float, true);
-	TEST_T(double, true);
-	TEST_T(long double, true);
-	TEST_T(void, false);
-	// test with only two template parameters
-	TEST_TT(bool, bool, true);
-	TEST_TT(bool, char, true);
-	TEST_TT(bool, signed char, true);
-	TEST_TT(bool, short int, true);
-	TEST_TT(bool, int, true);
-	TEST_TT(bool, long int, true);
-	TEST_TT(bool, unsigned char, true);
-	TEST_TT(bool, unsigned short int, true);
-	TEST_TT(bool, unsigned int, true);
-	TEST_TT(bool, unsigned long int, true);
-	TEST_TT(bool, wchar_t, true);
-	TEST_TT(bool, float, true);
-	TEST_TT(bool, double, true);
-	TEST_TT(bool, long double, true);
-	TEST_TT(char, bool, true);
-	TEST_TT(char, char, true);
-	TEST_TT(char, signed char, true);
-	TEST_TT(char, short int, true);
-	TEST_TT(char, int, true);
-	TEST_TT(char, long int, true);
-	TEST_TT(char, unsigned char, true);
-	TEST_TT(char, unsigned short int, true);
-	TEST_TT(char, unsigned int, true);
-	TEST_TT(char, unsigned long int, true);
-	TEST_TT(char, wchar_t, true);
-	TEST_TT(char, float, true);
-	TEST_TT(char, double, true);
-	TEST_TT(char, long double, true);
-	TEST_TT(signed char, bool, true);
-	TEST_TT(signed char, char, true);
-	TEST_TT(signed char, signed char, true);
-	TEST_TT(signed char, short int, true);
-	TEST_TT(signed char, int, true);
-	TEST_TT(signed char, long int, true);
-	TEST_TT(signed char, unsigned char, true);
-	TEST_TT(signed char, unsigned short int, true);
-	TEST_TT(signed char, unsigned int, true);
-	TEST_TT(signed char, unsigned long int, true);
-	TEST_TT(signed char, wchar_t, true);
-	TEST_TT(signed char, float, true);
-	TEST_TT(signed char, double, true);
-	TEST_TT(signed char, long double, true);
-	TEST_TT(short int, bool, true);
-	TEST_TT(short int, char, true);
-	TEST_TT(short int, signed char, true);
-	TEST_TT(short int, short int, true);
-	TEST_TT(short int, int, true);
-	TEST_TT(short int, long int, true);
-	TEST_TT(short int, unsigned char, true);
-	TEST_TT(short int, unsigned short int, true);
-	TEST_TT(short int, unsigned int, true);
-	TEST_TT(short int, unsigned long int, true);
-	TEST_TT(short int, wchar_t, true);
-	TEST_TT(short int, float, true);
-	TEST_TT(short int, double, true);
-	TEST_TT(short int, long double, true);
-	TEST_TT(int, bool, true);
-	TEST_TT(int, char, true);
-	TEST_TT(int, signed char, true);
-	TEST_TT(int, short int, true);
-	TEST_TT(int, int, true);
-	TEST_TT(int, long int, true);
-	TEST_TT(int, unsigned char, true);
-	TEST_TT(int, unsigned short int, true);
-	TEST_TT(int, unsigned int, true);
-	TEST_TT(int, unsigned long int, true);
-	TEST_TT(int, wchar_t, true);
-	TEST_TT(int, float, true);
-	TEST_TT(int, double, true);
-	TEST_TT(int, long double, true);
-	TEST_TT(long int, bool, true);
-	TEST_TT(long int, char, true);
-	TEST_TT(long int, signed char, true);
-	TEST_TT(long int, short int, true);
-	TEST_TT(long int, int, true);
-	TEST_TT(long int, long int, true);
-	TEST_TT(long int, unsigned char, true);
-	TEST_TT(long int, unsigned short int, true);
-	TEST_TT(long int, unsigned int, true);
-	TEST_TT(long int, unsigned long int, true);
-	TEST_TT(long int, wchar_t, true);
-	TEST_TT(long int, float, true);
-	TEST_TT(long int, double, true);
-	TEST_TT(long int, long double, true);
-	TEST_TT(unsigned char, bool, true);
-	TEST_TT(unsigned char, char, true);
-	TEST_TT(unsigned char, signed char, true);
-	TEST_TT(unsigned char, short int, true);
-	TEST_TT(unsigned char, int, true);
-	TEST_TT(unsigned char, long int, true);
-	TEST_TT(unsigned char, unsigned char, true);
-	TEST_TT(unsigned char, unsigned short int, true);
-	TEST_TT(unsigned char, unsigned int, true);
-	TEST_TT(unsigned char, unsigned long int, true);
-	TEST_TT(unsigned char, wchar_t, true);
-	TEST_TT(unsigned char, float, true);
-	TEST_TT(unsigned char, double, true);
-	TEST_TT(unsigned char, long double, true);
-	TEST_TT(unsigned short int, bool, true);
-	TEST_TT(unsigned short int, char, true);
-	TEST_TT(unsigned short int, signed char, true);
-	TEST_TT(unsigned short int, short int, true);
-	TEST_TT(unsigned short int, int, true);
-	TEST_TT(unsigned short int, long int, true);
-	TEST_TT(unsigned short int, unsigned char, true);
-	TEST_TT(unsigned short int, unsigned short int, true);
-	TEST_TT(unsigned short int, unsigned int, true);
-	TEST_TT(unsigned short int, unsigned long int, true);
-	TEST_TT(unsigned short int, wchar_t, true);
-	TEST_TT(unsigned short int, float, true);
-	TEST_TT(unsigned short int, double, true);
-	TEST_TT(unsigned short int, long double, true);
-	TEST_TT(unsigned int, bool, true);
-	TEST_TT(unsigned int, char, true);
-	TEST_TT(unsigned int, signed char, true);
-	TEST_TT(unsigned int, short int, true);
-	TEST_TT(unsigned int, int, true);
-	TEST_TT(unsigned int, long int, true);
-	TEST_TT(unsigned int, unsigned char, true);
-	TEST_TT(unsigned int, unsigned short int, true);
-	TEST_TT(unsigned int, unsigned int, true);
-	TEST_TT(unsigned int, unsigned long int, true);
-	TEST_TT(unsigned int, wchar_t, true);
-	TEST_TT(unsigned int, float, true);
-	TEST_TT(unsigned int, double, true);
-	TEST_TT(unsigned int, long double, true);
-	TEST_TT(unsigned long int, bool, true);
-	TEST_TT(unsigned long int, char, true);
-	TEST_TT(unsigned long int, signed char, true);
-	TEST_TT(unsigned long int, short int, true);
-	TEST_TT(unsigned long int, int, true);
-	TEST_TT(unsigned long int, long int, true);
-	TEST_TT(unsigned long int, unsigned char, true);
-	TEST_TT(unsigned long int, unsigned short int, true);
-	TEST_TT(unsigned long int, unsigned int, true);
-	TEST_TT(unsigned long int, unsigned long int, true);
-	TEST_TT(unsigned long int, wchar_t, true);
-	TEST_TT(unsigned long int, float, true);
-	TEST_TT(unsigned long int, double, true);
-	TEST_TT(unsigned long int, long double, true);
-	TEST_TT(wchar_t, bool, true);
-	TEST_TT(wchar_t, char, true);
-	TEST_TT(wchar_t, signed char, true);
-	TEST_TT(wchar_t, short int, true);
-	TEST_TT(wchar_t, int, true);
-	TEST_TT(wchar_t, long int, true);
-	TEST_TT(wchar_t, unsigned char, true);
-	TEST_TT(wchar_t, unsigned short int, true);
-	TEST_TT(wchar_t, unsigned int, true);
-	TEST_TT(wchar_t, unsigned long int, true);
-	TEST_TT(wchar_t, wchar_t, true);
-	TEST_TT(wchar_t, float, true);
-	TEST_TT(wchar_t, double, true);
-	TEST_TT(wchar_t, long double, true);
-	TEST_TT(float, bool, true);
-	TEST_TT(float, char, true);
-	TEST_TT(float, signed char, true);
-	TEST_TT(float, short int, true);
-	TEST_TT(float, int, true);
-	TEST_TT(float, long int, true);
-	TEST_TT(float, unsigned char, true);
-	TEST_TT(float, unsigned short int, true);
-	TEST_TT(float, unsigned int, true);
-	TEST_TT(float, unsigned long int, true);
-	TEST_TT(float, wchar_t, true);
-	TEST_TT(float, float, true);
-	TEST_TT(float, double, true);
-	TEST_TT(float, long double, true);
-	TEST_TT(double, bool, true);
-	TEST_TT(double, char, true);
-	TEST_TT(double, signed char, true);
-	TEST_TT(double, short int, true);
-	TEST_TT(double, int, true);
-	TEST_TT(double, long int, true);
-	TEST_TT(double, unsigned char, true);
-	TEST_TT(double, unsigned short int, true);
-	TEST_TT(double, unsigned int, true);
-	TEST_TT(double, unsigned long int, true);
-	TEST_TT(double, wchar_t, true);
-	TEST_TT(double, float, true);
-	TEST_TT(double, double, true);
-	TEST_TT(double, long double, true);
-	TEST_TT(long double, bool, true);
-	TEST_TT(long double, char, true);
-	TEST_TT(long double, signed char, true);
-	TEST_TT(long double, short int, true);
-	TEST_TT(long double, int, true);
-	TEST_TT(long double, long int, true);
-	TEST_TT(long double, unsigned char, true);
-	TEST_TT(long double, unsigned short int, true);
-	TEST_TT(long double, unsigned int, true);
-	TEST_TT(long double, unsigned long int, true);
-	TEST_TT(long double, wchar_t, true);
-	TEST_TT(long double, float, true);
-	TEST_TT(long double, double, true);
-	TEST_TT(long double, long double, true);
-	TEST_TT(bool, void, false);
-	TEST_TT(void, bool, false);
-	TEST_TT(char, void, false);
-	TEST_TT(void, char, false);
-	TEST_TT(signed char, void, false);
-	TEST_TT(void, signed char, false);
-	TEST_TT(short int, void, false);
-	TEST_TT(void, short int, false);
-	TEST_TT(int, void, false);
-	TEST_TT(void, int, false);
-	TEST_TT(long int, void, false);
-	TEST_TT(void, long int, false);
-	TEST_TT(unsigned char, void, false);
-	TEST_TT(void, unsigned char, false);
-	TEST_TT(unsigned short int, void, false);
-	TEST_TT(void, unsigned short int, false);
-	TEST_TT(unsigned int, void, false);
-	TEST_TT(void, unsigned int, false);
-	TEST_TT(unsigned long int, void, false);
-	TEST_TT(void, unsigned long int, false);
-	TEST_TT(wchar_t, void, false);
-	TEST_TT(void, wchar_t, false);
-	TEST_TT(float, void, false);
-	TEST_TT(void, float, false);
-	TEST_TT(double, void, false);
-	TEST_TT(void, double, false);
-	TEST_TT(long double, void, false);
-	TEST_TT(void, long double, false);
+   // test with only one template parameter
+   TEST_T(bool, true);
+   TEST_T(char, true);
+   TEST_T(signed char, true);
+   TEST_T(short int, true);
+   TEST_T(int, true);
+   TEST_T(long int, true);
+   TEST_T(unsigned char, true);
+   TEST_T(unsigned short int, true);
+   TEST_T(unsigned int, true);
+   TEST_T(unsigned long int, true);
+   TEST_T(wchar_t, true);
+   TEST_T(float, true);
+   TEST_T(double, true);
+   TEST_T(long double, true);
+   TEST_T(void, false);
+   // test with only two template parameters
+   TEST_TT(bool, bool, true);
+   TEST_TT(bool, char, true);
+   TEST_TT(bool, signed char, true);
+   TEST_TT(bool, short int, true);
+   TEST_TT(bool, int, true);
+   TEST_TT(bool, long int, true);
+   TEST_TT(bool, unsigned char, true);
+   TEST_TT(bool, unsigned short int, true);
+   TEST_TT(bool, unsigned int, true);
+   TEST_TT(bool, unsigned long int, true);
+   TEST_TT(bool, wchar_t, true);
+   TEST_TT(bool, float, true);
+   TEST_TT(bool, double, true);
+   TEST_TT(bool, long double, true);
+   TEST_TT(char, bool, true);
+   TEST_TT(char, char, true);
+   TEST_TT(char, signed char, true);
+   TEST_TT(char, short int, true);
+   TEST_TT(char, int, true);
+   TEST_TT(char, long int, true);
+   TEST_TT(char, unsigned char, true);
+   TEST_TT(char, unsigned short int, true);
+   TEST_TT(char, unsigned int, true);
+   TEST_TT(char, unsigned long int, true);
+   TEST_TT(char, wchar_t, true);
+   TEST_TT(char, float, true);
+   TEST_TT(char, double, true);
+   TEST_TT(char, long double, true);
+   TEST_TT(signed char, bool, true);
+   TEST_TT(signed char, char, true);
+   TEST_TT(signed char, signed char, true);
+   TEST_TT(signed char, short int, true);
+   TEST_TT(signed char, int, true);
+   TEST_TT(signed char, long int, true);
+   TEST_TT(signed char, unsigned char, true);
+   TEST_TT(signed char, unsigned short int, true);
+   TEST_TT(signed char, unsigned int, true);
+   TEST_TT(signed char, unsigned long int, true);
+   TEST_TT(signed char, wchar_t, true);
+   TEST_TT(signed char, float, true);
+   TEST_TT(signed char, double, true);
+   TEST_TT(signed char, long double, true);
+   TEST_TT(short int, bool, true);
+   TEST_TT(short int, char, true);
+   TEST_TT(short int, signed char, true);
+   TEST_TT(short int, short int, true);
+   TEST_TT(short int, int, true);
+   TEST_TT(short int, long int, true);
+   TEST_TT(short int, unsigned char, true);
+   TEST_TT(short int, unsigned short int, true);
+   TEST_TT(short int, unsigned int, true);
+   TEST_TT(short int, unsigned long int, true);
+   TEST_TT(short int, wchar_t, true);
+   TEST_TT(short int, float, true);
+   TEST_TT(short int, double, true);
+   TEST_TT(short int, long double, true);
+   TEST_TT(int, bool, true);
+   TEST_TT(int, char, true);
+   TEST_TT(int, signed char, true);
+   TEST_TT(int, short int, true);
+   TEST_TT(int, int, true);
+   TEST_TT(int, long int, true);
+   TEST_TT(int, unsigned char, true);
+   TEST_TT(int, unsigned short int, true);
+   TEST_TT(int, unsigned int, true);
+   TEST_TT(int, unsigned long int, true);
+   TEST_TT(int, wchar_t, true);
+   TEST_TT(int, float, true);
+   TEST_TT(int, double, true);
+   TEST_TT(int, long double, true);
+   TEST_TT(long int, bool, true);
+   TEST_TT(long int, char, true);
+   TEST_TT(long int, signed char, true);
+   TEST_TT(long int, short int, true);
+   TEST_TT(long int, int, true);
+   TEST_TT(long int, long int, true);
+   TEST_TT(long int, unsigned char, true);
+   TEST_TT(long int, unsigned short int, true);
+   TEST_TT(long int, unsigned int, true);
+   TEST_TT(long int, unsigned long int, true);
+   TEST_TT(long int, wchar_t, true);
+   TEST_TT(long int, float, true);
+   TEST_TT(long int, double, true);
+   TEST_TT(long int, long double, true);
+   TEST_TT(unsigned char, bool, true);
+   TEST_TT(unsigned char, char, true);
+   TEST_TT(unsigned char, signed char, true);
+   TEST_TT(unsigned char, short int, true);
+   TEST_TT(unsigned char, int, true);
+   TEST_TT(unsigned char, long int, true);
+   TEST_TT(unsigned char, unsigned char, true);
+   TEST_TT(unsigned char, unsigned short int, true);
+   TEST_TT(unsigned char, unsigned int, true);
+   TEST_TT(unsigned char, unsigned long int, true);
+   TEST_TT(unsigned char, wchar_t, true);
+   TEST_TT(unsigned char, float, true);
+   TEST_TT(unsigned char, double, true);
+   TEST_TT(unsigned char, long double, true);
+   TEST_TT(unsigned short int, bool, true);
+   TEST_TT(unsigned short int, char, true);
+   TEST_TT(unsigned short int, signed char, true);
+   TEST_TT(unsigned short int, short int, true);
+   TEST_TT(unsigned short int, int, true);
+   TEST_TT(unsigned short int, long int, true);
+   TEST_TT(unsigned short int, unsigned char, true);
+   TEST_TT(unsigned short int, unsigned short int, true);
+   TEST_TT(unsigned short int, unsigned int, true);
+   TEST_TT(unsigned short int, unsigned long int, true);
+   TEST_TT(unsigned short int, wchar_t, true);
+   TEST_TT(unsigned short int, float, true);
+   TEST_TT(unsigned short int, double, true);
+   TEST_TT(unsigned short int, long double, true);
+   TEST_TT(unsigned int, bool, true);
+   TEST_TT(unsigned int, char, true);
+   TEST_TT(unsigned int, signed char, true);
+   TEST_TT(unsigned int, short int, true);
+   TEST_TT(unsigned int, int, true);
+   TEST_TT(unsigned int, long int, true);
+   TEST_TT(unsigned int, unsigned char, true);
+   TEST_TT(unsigned int, unsigned short int, true);
+   TEST_TT(unsigned int, unsigned int, true);
+   TEST_TT(unsigned int, unsigned long int, true);
+   TEST_TT(unsigned int, wchar_t, true);
+   TEST_TT(unsigned int, float, true);
+   TEST_TT(unsigned int, double, true);
+   TEST_TT(unsigned int, long double, true);
+   TEST_TT(unsigned long int, bool, true);
+   TEST_TT(unsigned long int, char, true);
+   TEST_TT(unsigned long int, signed char, true);
+   TEST_TT(unsigned long int, short int, true);
+   TEST_TT(unsigned long int, int, true);
+   TEST_TT(unsigned long int, long int, true);
+   TEST_TT(unsigned long int, unsigned char, true);
+   TEST_TT(unsigned long int, unsigned short int, true);
+   TEST_TT(unsigned long int, unsigned int, true);
+   TEST_TT(unsigned long int, unsigned long int, true);
+   TEST_TT(unsigned long int, wchar_t, true);
+   TEST_TT(unsigned long int, float, true);
+   TEST_TT(unsigned long int, double, true);
+   TEST_TT(unsigned long int, long double, true);
+   TEST_TT(wchar_t, bool, true);
+   TEST_TT(wchar_t, char, true);
+   TEST_TT(wchar_t, signed char, true);
+   TEST_TT(wchar_t, short int, true);
+   TEST_TT(wchar_t, int, true);
+   TEST_TT(wchar_t, long int, true);
+   TEST_TT(wchar_t, unsigned char, true);
+   TEST_TT(wchar_t, unsigned short int, true);
+   TEST_TT(wchar_t, unsigned int, true);
+   TEST_TT(wchar_t, unsigned long int, true);
+   TEST_TT(wchar_t, wchar_t, true);
+   TEST_TT(wchar_t, float, true);
+   TEST_TT(wchar_t, double, true);
+   TEST_TT(wchar_t, long double, true);
+   TEST_TT(float, bool, true);
+   TEST_TT(float, char, true);
+   TEST_TT(float, signed char, true);
+   TEST_TT(float, short int, true);
+   TEST_TT(float, int, true);
+   TEST_TT(float, long int, true);
+   TEST_TT(float, unsigned char, true);
+   TEST_TT(float, unsigned short int, true);
+   TEST_TT(float, unsigned int, true);
+   TEST_TT(float, unsigned long int, true);
+   TEST_TT(float, wchar_t, true);
+   TEST_TT(float, float, true);
+   TEST_TT(float, double, true);
+   TEST_TT(float, long double, true);
+   TEST_TT(double, bool, true);
+   TEST_TT(double, char, true);
+   TEST_TT(double, signed char, true);
+   TEST_TT(double, short int, true);
+   TEST_TT(double, int, true);
+   TEST_TT(double, long int, true);
+   TEST_TT(double, unsigned char, true);
+   TEST_TT(double, unsigned short int, true);
+   TEST_TT(double, unsigned int, true);
+   TEST_TT(double, unsigned long int, true);
+   TEST_TT(double, wchar_t, true);
+   TEST_TT(double, float, true);
+   TEST_TT(double, double, true);
+   TEST_TT(double, long double, true);
+   TEST_TT(long double, bool, true);
+   TEST_TT(long double, char, true);
+   TEST_TT(long double, signed char, true);
+   TEST_TT(long double, short int, true);
+   TEST_TT(long double, int, true);
+   TEST_TT(long double, long int, true);
+   TEST_TT(long double, unsigned char, true);
+   TEST_TT(long double, unsigned short int, true);
+   TEST_TT(long double, unsigned int, true);
+   TEST_TT(long double, unsigned long int, true);
+   TEST_TT(long double, wchar_t, true);
+   TEST_TT(long double, float, true);
+   TEST_TT(long double, double, true);
+   TEST_TT(long double, long double, true);
+   TEST_TT(bool, void, false);
+   TEST_TT(void, bool, false);
+   TEST_TT(char, void, false);
+   TEST_TT(void, char, false);
+   TEST_TT(signed char, void, false);
+   TEST_TT(void, signed char, false);
+   TEST_TT(short int, void, false);
+   TEST_TT(void, short int, false);
+   TEST_TT(int, void, false);
+   TEST_TT(void, int, false);
+   TEST_TT(long int, void, false);
+   TEST_TT(void, long int, false);
+   TEST_TT(unsigned char, void, false);
+   TEST_TT(void, unsigned char, false);
+   TEST_TT(unsigned short int, void, false);
+   TEST_TT(void, unsigned short int, false);
+   TEST_TT(unsigned int, void, false);
+   TEST_TT(void, unsigned int, false);
+   TEST_TT(unsigned long int, void, false);
+   TEST_TT(void, unsigned long int, false);
+   TEST_TT(wchar_t, void, false);
+   TEST_TT(void, wchar_t, false);
+   TEST_TT(float, void, false);
+   TEST_TT(void, float, false);
+   TEST_TT(double, void, false);
+   TEST_TT(void, double, false);
+   TEST_TT(long double, void, false);
+   TEST_TT(void, long double, false);
 
 // test with three template parameters
-	TEST_TTR(bool, bool, bool, true);
-	TEST_TTR(bool, char, bool, true);
-	TEST_TTR(bool, signed char, bool, true);
-	TEST_TTR(bool, short int, bool, true);
-	TEST_TTR(bool, int, bool, true);
-	TEST_TTR(bool, long int, bool, true);
-	TEST_TTR(bool, unsigned char, bool, true);
-	TEST_TTR(bool, unsigned short int, bool, true);
-	TEST_TTR(bool, unsigned int, bool, true);
-	TEST_TTR(bool, unsigned long int, bool, true);
-	TEST_TTR(bool, wchar_t, bool, true);
-	TEST_TTR(bool, float, bool, true);
-	TEST_TTR(bool, double, bool, true);
-	TEST_TTR(bool, long double, bool, true);
-	TEST_TTR(char, bool, bool, true);
-	TEST_TTR(char, char, bool, true);
-	TEST_TTR(char, signed char, bool, true);
-	TEST_TTR(char, short int, bool, true);
-	TEST_TTR(char, int, bool, true);
-	TEST_TTR(char, long int, bool, true);
-	TEST_TTR(char, unsigned char, bool, true);
-	TEST_TTR(char, unsigned short int, bool, true);
-	TEST_TTR(char, unsigned int, bool, true);
-	TEST_TTR(char, unsigned long int, bool, true);
-	TEST_TTR(char, wchar_t, bool, true);
-	TEST_TTR(char, float, bool, true);
-	TEST_TTR(char, double, bool, true);
-	TEST_TTR(char, long double, bool, true);
-	TEST_TTR(signed char, bool, bool, true);
-	TEST_TTR(signed char, char, bool, true);
-	TEST_TTR(signed char, signed char, bool, true);
-	TEST_TTR(signed char, short int, bool, true);
-	TEST_TTR(signed char, int, bool, true);
-	TEST_TTR(signed char, long int, bool, true);
-	TEST_TTR(signed char, unsigned char, bool, true);
-	TEST_TTR(signed char, unsigned short int, bool, true);
-	TEST_TTR(signed char, unsigned int, bool, true);
-	TEST_TTR(signed char, unsigned long int, bool, true);
-	TEST_TTR(signed char, wchar_t, bool, true);
-	TEST_TTR(signed char, float, bool, true);
-	TEST_TTR(signed char, double, bool, true);
-	TEST_TTR(signed char, long double, bool, true);
-	TEST_TTR(short int, bool, bool, true);
-	TEST_TTR(short int, char, bool, true);
-	TEST_TTR(short int, signed char, bool, true);
-	TEST_TTR(short int, short int, bool, true);
-	TEST_TTR(short int, int, bool, true);
-	TEST_TTR(short int, long int, bool, true);
-	TEST_TTR(short int, unsigned char, bool, true);
-	TEST_TTR(short int, unsigned short int, bool, true);
-	TEST_TTR(short int, unsigned int, bool, true);
-	TEST_TTR(short int, unsigned long int, bool, true);
-	TEST_TTR(short int, wchar_t, bool, true);
-	TEST_TTR(short int, float, bool, true);
-	TEST_TTR(short int, double, bool, true);
-	TEST_TTR(short int, long double, bool, true);
-	TEST_TTR(int, bool, bool, true);
-	TEST_TTR(int, char, bool, true);
-	TEST_TTR(int, signed char, bool, true);
-	TEST_TTR(int, short int, bool, true);
-	TEST_TTR(int, int, bool, true);
-	TEST_TTR(int, long int, bool, true);
-	TEST_TTR(int, unsigned char, bool, true);
-	TEST_TTR(int, unsigned short int, bool, true);
-	TEST_TTR(int, unsigned int, bool, true);
-	TEST_TTR(int, unsigned long int, bool, true);
-	TEST_TTR(int, wchar_t, bool, true);
-	TEST_TTR(int, float, bool, true);
-	TEST_TTR(int, double, bool, true);
-	TEST_TTR(int, long double, bool, true);
-	TEST_TTR(long int, bool, bool, true);
-	TEST_TTR(long int, char, bool, true);
-	TEST_TTR(long int, signed char, bool, true);
-	TEST_TTR(long int, short int, bool, true);
-	TEST_TTR(long int, int, bool, true);
-	TEST_TTR(long int, long int, bool, true);
-	TEST_TTR(long int, unsigned char, bool, true);
-	TEST_TTR(long int, unsigned short int, bool, true);
-	TEST_TTR(long int, unsigned int, bool, true);
-	TEST_TTR(long int, unsigned long int, bool, true);
-	TEST_TTR(long int, wchar_t, bool, true);
-	TEST_TTR(long int, float, bool, true);
-	TEST_TTR(long int, double, bool, true);
-	TEST_TTR(long int, long double, bool, true);
-	TEST_TTR(unsigned char, bool, bool, true);
-	TEST_TTR(unsigned char, char, bool, true);
-	TEST_TTR(unsigned char, signed char, bool, true);
-	TEST_TTR(unsigned char, short int, bool, true);
-	TEST_TTR(unsigned char, int, bool, true);
-	TEST_TTR(unsigned char, long int, bool, true);
-	TEST_TTR(unsigned char, unsigned char, bool, true);
-	TEST_TTR(unsigned char, unsigned short int, bool, true);
-	TEST_TTR(unsigned char, unsigned int, bool, true);
-	TEST_TTR(unsigned char, unsigned long int, bool, true);
-	TEST_TTR(unsigned char, wchar_t, bool, true);
-	TEST_TTR(unsigned char, float, bool, true);
-	TEST_TTR(unsigned char, double, bool, true);
-	TEST_TTR(unsigned char, long double, bool, true);
-	TEST_TTR(unsigned short int, bool, bool, true);
-	TEST_TTR(unsigned short int, char, bool, true);
-	TEST_TTR(unsigned short int, signed char, bool, true);
-	TEST_TTR(unsigned short int, short int, bool, true);
-	TEST_TTR(unsigned short int, int, bool, true);
-	TEST_TTR(unsigned short int, long int, bool, true);
-	TEST_TTR(unsigned short int, unsigned char, bool, true);
-	TEST_TTR(unsigned short int, unsigned short int, bool, true);
-	TEST_TTR(unsigned short int, unsigned int, bool, true);
-	TEST_TTR(unsigned short int, unsigned long int, bool, true);
-	TEST_TTR(unsigned short int, wchar_t, bool, true);
-	TEST_TTR(unsigned short int, float, bool, true);
-	TEST_TTR(unsigned short int, double, bool, true);
-	TEST_TTR(unsigned short int, long double, bool, true);
-	TEST_TTR(unsigned int, bool, bool, true);
-	TEST_TTR(unsigned int, char, bool, true);
-	TEST_TTR(unsigned int, signed char, bool, true);
-	TEST_TTR(unsigned int, short int, bool, true);
-	TEST_TTR(unsigned int, int, bool, true);
-	TEST_TTR(unsigned int, long int, bool, true);
-	TEST_TTR(unsigned int, unsigned char, bool, true);
-	TEST_TTR(unsigned int, unsigned short int, bool, true);
-	TEST_TTR(unsigned int, unsigned int, bool, true);
-	TEST_TTR(unsigned int, unsigned long int, bool, true);
-	TEST_TTR(unsigned int, wchar_t, bool, true);
-	TEST_TTR(unsigned int, float, bool, true);
-	TEST_TTR(unsigned int, double, bool, true);
-	TEST_TTR(unsigned int, long double, bool, true);
-	TEST_TTR(unsigned long int, bool, bool, true);
-	TEST_TTR(unsigned long int, char, bool, true);
-	TEST_TTR(unsigned long int, signed char, bool, true);
-	TEST_TTR(unsigned long int, short int, bool, true);
-	TEST_TTR(unsigned long int, int, bool, true);
-	TEST_TTR(unsigned long int, long int, bool, true);
-	TEST_TTR(unsigned long int, unsigned char, bool, true);
-	TEST_TTR(unsigned long int, unsigned short int, bool, true);
-	TEST_TTR(unsigned long int, unsigned int, bool, true);
-	TEST_TTR(unsigned long int, unsigned long int, bool, true);
-	TEST_TTR(unsigned long int, wchar_t, bool, true);
-	TEST_TTR(unsigned long int, float, bool, true);
-	TEST_TTR(unsigned long int, double, bool, true);
-	TEST_TTR(unsigned long int, long double, bool, true);
-	TEST_TTR(wchar_t, bool, bool, true);
-	TEST_TTR(wchar_t, char, bool, true);
-	TEST_TTR(wchar_t, signed char, bool, true);
-	TEST_TTR(wchar_t, short int, bool, true);
-	TEST_TTR(wchar_t, int, bool, true);
-	TEST_TTR(wchar_t, long int, bool, true);
-	TEST_TTR(wchar_t, unsigned char, bool, true);
-	TEST_TTR(wchar_t, unsigned short int, bool, true);
-	TEST_TTR(wchar_t, unsigned int, bool, true);
-	TEST_TTR(wchar_t, unsigned long int, bool, true);
-	TEST_TTR(wchar_t, wchar_t, bool, true);
-	TEST_TTR(wchar_t, float, bool, true);
-	TEST_TTR(wchar_t, double, bool, true);
-	TEST_TTR(wchar_t, long double, bool, true);
-	TEST_TTR(float, bool, bool, true);
-	TEST_TTR(float, char, bool, true);
-	TEST_TTR(float, signed char, bool, true);
-	TEST_TTR(float, short int, bool, true);
-	TEST_TTR(float, int, bool, true);
-	TEST_TTR(float, long int, bool, true);
-	TEST_TTR(float, unsigned char, bool, true);
-	TEST_TTR(float, unsigned short int, bool, true);
-	TEST_TTR(float, unsigned int, bool, true);
-	TEST_TTR(float, unsigned long int, bool, true);
-	TEST_TTR(float, wchar_t, bool, true);
-	TEST_TTR(float, float, bool, true);
-	TEST_TTR(float, double, bool, true);
-	TEST_TTR(float, long double, bool, true);
-	TEST_TTR(double, bool, bool, true);
-	TEST_TTR(double, char, bool, true);
-	TEST_TTR(double, signed char, bool, true);
-	TEST_TTR(double, short int, bool, true);
-	TEST_TTR(double, int, bool, true);
-	TEST_TTR(double, long int, bool, true);
-	TEST_TTR(double, unsigned char, bool, true);
-	TEST_TTR(double, unsigned short int, bool, true);
-	TEST_TTR(double, unsigned int, bool, true);
-	TEST_TTR(double, unsigned long int, bool, true);
-	TEST_TTR(double, wchar_t, bool, true);
-	TEST_TTR(double, float, bool, true);
-	TEST_TTR(double, double, bool, true);
-	TEST_TTR(double, long double, bool, true);
-	TEST_TTR(long double, bool, bool, true);
-	TEST_TTR(long double, char, bool, true);
-	TEST_TTR(long double, signed char, bool, true);
-	TEST_TTR(long double, short int, bool, true);
-	TEST_TTR(long double, int, bool, true);
-	TEST_TTR(long double, long int, bool, true);
-	TEST_TTR(long double, unsigned char, bool, true);
-	TEST_TTR(long double, unsigned short int, bool, true);
-	TEST_TTR(long double, unsigned int, bool, true);
-	TEST_TTR(long double, unsigned long int, bool, true);
-	TEST_TTR(long double, wchar_t, bool, true);
-	TEST_TTR(long double, float, bool, true);
-	TEST_TTR(long double, double, bool, true);
-	TEST_TTR(long double, long double, bool, true);
-	TEST_TTR(bool, bool, tag, false);
-	TEST_TTR(bool, char, tag, false);
-	TEST_TTR(bool, signed char, tag, false);
-	TEST_TTR(bool, short int, tag, false);
-	TEST_TTR(bool, int, tag, false);
-	TEST_TTR(bool, long int, tag, false);
-	TEST_TTR(bool, unsigned char, tag, false);
-	TEST_TTR(bool, unsigned short int, tag, false);
-	TEST_TTR(bool, unsigned int, tag, false);
-	TEST_TTR(bool, unsigned long int, tag, false);
-	TEST_TTR(bool, wchar_t, tag, false);
-	TEST_TTR(bool, float, tag, false);
-	TEST_TTR(bool, double, tag, false);
-	TEST_TTR(bool, long double, tag, false);
-	TEST_TTR(char, bool, tag, false);
-	TEST_TTR(char, char, tag, false);
-	TEST_TTR(char, signed char, tag, false);
-	TEST_TTR(char, short int, tag, false);
-	TEST_TTR(char, int, tag, false);
-	TEST_TTR(char, long int, tag, false);
-	TEST_TTR(char, unsigned char, tag, false);
-	TEST_TTR(char, unsigned short int, tag, false);
-	TEST_TTR(char, unsigned int, tag, false);
-	TEST_TTR(char, unsigned long int, tag, false);
-	TEST_TTR(char, wchar_t, tag, false);
-	TEST_TTR(char, float, tag, false);
-	TEST_TTR(char, double, tag, false);
-	TEST_TTR(char, long double, tag, false);
-	TEST_TTR(signed char, bool, tag, false);
-	TEST_TTR(signed char, char, tag, false);
-	TEST_TTR(signed char, signed char, tag, false);
-	TEST_TTR(signed char, short int, tag, false);
-	TEST_TTR(signed char, int, tag, false);
-	TEST_TTR(signed char, long int, tag, false);
-	TEST_TTR(signed char, unsigned char, tag, false);
-	TEST_TTR(signed char, unsigned short int, tag, false);
-	TEST_TTR(signed char, unsigned int, tag, false);
-	TEST_TTR(signed char, unsigned long int, tag, false);
-	TEST_TTR(signed char, wchar_t, tag, false);
-	TEST_TTR(signed char, float, tag, false);
-	TEST_TTR(signed char, double, tag, false);
-	TEST_TTR(signed char, long double, tag, false);
-	TEST_TTR(short int, bool, tag, false);
-	TEST_TTR(short int, char, tag, false);
-	TEST_TTR(short int, signed char, tag, false);
-	TEST_TTR(short int, short int, tag, false);
-	TEST_TTR(short int, int, tag, false);
-	TEST_TTR(short int, long int, tag, false);
-	TEST_TTR(short int, unsigned char, tag, false);
-	TEST_TTR(short int, unsigned short int, tag, false);
-	TEST_TTR(short int, unsigned int, tag, false);
-	TEST_TTR(short int, unsigned long int, tag, false);
-	TEST_TTR(short int, wchar_t, tag, false);
-	TEST_TTR(short int, float, tag, false);
-	TEST_TTR(short int, double, tag, false);
-	TEST_TTR(short int, long double, tag, false);
-	TEST_TTR(int, bool, tag, false);
-	TEST_TTR(int, char, tag, false);
-	TEST_TTR(int, signed char, tag, false);
-	TEST_TTR(int, short int, tag, false);
-	TEST_TTR(int, int, tag, false);
-	TEST_TTR(int, long int, tag, false);
-	TEST_TTR(int, unsigned char, tag, false);
-	TEST_TTR(int, unsigned short int, tag, false);
-	TEST_TTR(int, unsigned int, tag, false);
-	TEST_TTR(int, unsigned long int, tag, false);
-	TEST_TTR(int, wchar_t, tag, false);
-	TEST_TTR(int, float, tag, false);
-	TEST_TTR(int, double, tag, false);
-	TEST_TTR(int, long double, tag, false);
-	TEST_TTR(long int, bool, tag, false);
-	TEST_TTR(long int, char, tag, false);
-	TEST_TTR(long int, signed char, tag, false);
-	TEST_TTR(long int, short int, tag, false);
-	TEST_TTR(long int, int, tag, false);
-	TEST_TTR(long int, long int, tag, false);
-	TEST_TTR(long int, unsigned char, tag, false);
-	TEST_TTR(long int, unsigned short int, tag, false);
-	TEST_TTR(long int, unsigned int, tag, false);
-	TEST_TTR(long int, unsigned long int, tag, false);
-	TEST_TTR(long int, wchar_t, tag, false);
-	TEST_TTR(long int, float, tag, false);
-	TEST_TTR(long int, double, tag, false);
-	TEST_TTR(long int, long double, tag, false);
-	TEST_TTR(unsigned char, bool, tag, false);
-	TEST_TTR(unsigned char, char, tag, false);
-	TEST_TTR(unsigned char, signed char, tag, false);
-	TEST_TTR(unsigned char, short int, tag, false);
-	TEST_TTR(unsigned char, int, tag, false);
-	TEST_TTR(unsigned char, long int, tag, false);
-	TEST_TTR(unsigned char, unsigned char, tag, false);
-	TEST_TTR(unsigned char, unsigned short int, tag, false);
-	TEST_TTR(unsigned char, unsigned int, tag, false);
-	TEST_TTR(unsigned char, unsigned long int, tag, false);
-	TEST_TTR(unsigned char, wchar_t, tag, false);
-	TEST_TTR(unsigned char, float, tag, false);
-	TEST_TTR(unsigned char, double, tag, false);
-	TEST_TTR(unsigned char, long double, tag, false);
-	TEST_TTR(unsigned short int, bool, tag, false);
-	TEST_TTR(unsigned short int, char, tag, false);
-	TEST_TTR(unsigned short int, signed char, tag, false);
-	TEST_TTR(unsigned short int, short int, tag, false);
-	TEST_TTR(unsigned short int, int, tag, false);
-	TEST_TTR(unsigned short int, long int, tag, false);
-	TEST_TTR(unsigned short int, unsigned char, tag, false);
-	TEST_TTR(unsigned short int, unsigned short int, tag, false);
-	TEST_TTR(unsigned short int, unsigned int, tag, false);
-	TEST_TTR(unsigned short int, unsigned long int, tag, false);
-	TEST_TTR(unsigned short int, wchar_t, tag, false);
-	TEST_TTR(unsigned short int, float, tag, false);
-	TEST_TTR(unsigned short int, double, tag, false);
-	TEST_TTR(unsigned short int, long double, tag, false);
-	TEST_TTR(unsigned int, bool, tag, false);
-	TEST_TTR(unsigned int, char, tag, false);
-	TEST_TTR(unsigned int, signed char, tag, false);
-	TEST_TTR(unsigned int, short int, tag, false);
-	TEST_TTR(unsigned int, int, tag, false);
-	TEST_TTR(unsigned int, long int, tag, false);
-	TEST_TTR(unsigned int, unsigned char, tag, false);
-	TEST_TTR(unsigned int, unsigned short int, tag, false);
-	TEST_TTR(unsigned int, unsigned int, tag, false);
-	TEST_TTR(unsigned int, unsigned long int, tag, false);
-	TEST_TTR(unsigned int, wchar_t, tag, false);
-	TEST_TTR(unsigned int, float, tag, false);
-	TEST_TTR(unsigned int, double, tag, false);
-	TEST_TTR(unsigned int, long double, tag, false);
-	TEST_TTR(unsigned long int, bool, tag, false);
-	TEST_TTR(unsigned long int, char, tag, false);
-	TEST_TTR(unsigned long int, signed char, tag, false);
-	TEST_TTR(unsigned long int, short int, tag, false);
-	TEST_TTR(unsigned long int, int, tag, false);
-	TEST_TTR(unsigned long int, long int, tag, false);
-	TEST_TTR(unsigned long int, unsigned char, tag, false);
-	TEST_TTR(unsigned long int, unsigned short int, tag, false);
-	TEST_TTR(unsigned long int, unsigned int, tag, false);
-	TEST_TTR(unsigned long int, unsigned long int, tag, false);
-	TEST_TTR(unsigned long int, wchar_t, tag, false);
-	TEST_TTR(unsigned long int, float, tag, false);
-	TEST_TTR(unsigned long int, double, tag, false);
-	TEST_TTR(unsigned long int, long double, tag, false);
-	TEST_TTR(wchar_t, bool, tag, false);
-	TEST_TTR(wchar_t, char, tag, false);
-	TEST_TTR(wchar_t, signed char, tag, false);
-	TEST_TTR(wchar_t, short int, tag, false);
-	TEST_TTR(wchar_t, int, tag, false);
-	TEST_TTR(wchar_t, long int, tag, false);
-	TEST_TTR(wchar_t, unsigned char, tag, false);
-	TEST_TTR(wchar_t, unsigned short int, tag, false);
-	TEST_TTR(wchar_t, unsigned int, tag, false);
-	TEST_TTR(wchar_t, unsigned long int, tag, false);
-	TEST_TTR(wchar_t, wchar_t, tag, false);
-	TEST_TTR(wchar_t, float, tag, false);
-	TEST_TTR(wchar_t, double, tag, false);
-	TEST_TTR(wchar_t, long double, tag, false);
-	TEST_TTR(float, bool, tag, false);
-	TEST_TTR(float, char, tag, false);
-	TEST_TTR(float, signed char, tag, false);
-	TEST_TTR(float, short int, tag, false);
-	TEST_TTR(float, int, tag, false);
-	TEST_TTR(float, long int, tag, false);
-	TEST_TTR(float, unsigned char, tag, false);
-	TEST_TTR(float, unsigned short int, tag, false);
-	TEST_TTR(float, unsigned int, tag, false);
-	TEST_TTR(float, unsigned long int, tag, false);
-	TEST_TTR(float, wchar_t, tag, false);
-	TEST_TTR(float, float, tag, false);
-	TEST_TTR(float, double, tag, false);
-	TEST_TTR(float, long double, tag, false);
-	TEST_TTR(double, bool, tag, false);
-	TEST_TTR(double, char, tag, false);
-	TEST_TTR(double, signed char, tag, false);
-	TEST_TTR(double, short int, tag, false);
-	TEST_TTR(double, int, tag, false);
-	TEST_TTR(double, long int, tag, false);
-	TEST_TTR(double, unsigned char, tag, false);
-	TEST_TTR(double, unsigned short int, tag, false);
-	TEST_TTR(double, unsigned int, tag, false);
-	TEST_TTR(double, unsigned long int, tag, false);
-	TEST_TTR(double, wchar_t, tag, false);
-	TEST_TTR(double, float, tag, false);
-	TEST_TTR(double, double, tag, false);
-	TEST_TTR(double, long double, tag, false);
-	TEST_TTR(long double, bool, tag, false);
-	TEST_TTR(long double, char, tag, false);
-	TEST_TTR(long double, signed char, tag, false);
-	TEST_TTR(long double, short int, tag, false);
-	TEST_TTR(long double, int, tag, false);
-	TEST_TTR(long double, long int, tag, false);
-	TEST_TTR(long double, unsigned char, tag, false);
-	TEST_TTR(long double, unsigned short int, tag, false);
-	TEST_TTR(long double, unsigned int, tag, false);
-	TEST_TTR(long double, unsigned long int, tag, false);
-	TEST_TTR(long double, wchar_t, tag, false);
-	TEST_TTR(long double, float, tag, false);
-	TEST_TTR(long double, double, tag, false);
-	TEST_TTR(long double, long double, tag, false);
+   TEST_TTR(bool, bool, bool, true);
+   TEST_TTR(bool, char, bool, true);
+   TEST_TTR(bool, signed char, bool, true);
+   TEST_TTR(bool, short int, bool, true);
+   TEST_TTR(bool, int, bool, true);
+   TEST_TTR(bool, long int, bool, true);
+   TEST_TTR(bool, unsigned char, bool, true);
+   TEST_TTR(bool, unsigned short int, bool, true);
+   TEST_TTR(bool, unsigned int, bool, true);
+   TEST_TTR(bool, unsigned long int, bool, true);
+   TEST_TTR(bool, wchar_t, bool, true);
+   TEST_TTR(bool, float, bool, true);
+   TEST_TTR(bool, double, bool, true);
+   TEST_TTR(bool, long double, bool, true);
+   TEST_TTR(char, bool, bool, true);
+   TEST_TTR(char, char, bool, true);
+   TEST_TTR(char, signed char, bool, true);
+   TEST_TTR(char, short int, bool, true);
+   TEST_TTR(char, int, bool, true);
+   TEST_TTR(char, long int, bool, true);
+   TEST_TTR(char, unsigned char, bool, true);
+   TEST_TTR(char, unsigned short int, bool, true);
+   TEST_TTR(char, unsigned int, bool, true);
+   TEST_TTR(char, unsigned long int, bool, true);
+   TEST_TTR(char, wchar_t, bool, true);
+   TEST_TTR(char, float, bool, true);
+   TEST_TTR(char, double, bool, true);
+   TEST_TTR(char, long double, bool, true);
+   TEST_TTR(signed char, bool, bool, true);
+   TEST_TTR(signed char, char, bool, true);
+   TEST_TTR(signed char, signed char, bool, true);
+   TEST_TTR(signed char, short int, bool, true);
+   TEST_TTR(signed char, int, bool, true);
+   TEST_TTR(signed char, long int, bool, true);
+   TEST_TTR(signed char, unsigned char, bool, true);
+   TEST_TTR(signed char, unsigned short int, bool, true);
+   TEST_TTR(signed char, unsigned int, bool, true);
+   TEST_TTR(signed char, unsigned long int, bool, true);
+   TEST_TTR(signed char, wchar_t, bool, true);
+   TEST_TTR(signed char, float, bool, true);
+   TEST_TTR(signed char, double, bool, true);
+   TEST_TTR(signed char, long double, bool, true);
+   TEST_TTR(short int, bool, bool, true);
+   TEST_TTR(short int, char, bool, true);
+   TEST_TTR(short int, signed char, bool, true);
+   TEST_TTR(short int, short int, bool, true);
+   TEST_TTR(short int, int, bool, true);
+   TEST_TTR(short int, long int, bool, true);
+   TEST_TTR(short int, unsigned char, bool, true);
+   TEST_TTR(short int, unsigned short int, bool, true);
+   TEST_TTR(short int, unsigned int, bool, true);
+   TEST_TTR(short int, unsigned long int, bool, true);
+   TEST_TTR(short int, wchar_t, bool, true);
+   TEST_TTR(short int, float, bool, true);
+   TEST_TTR(short int, double, bool, true);
+   TEST_TTR(short int, long double, bool, true);
+   TEST_TTR(int, bool, bool, true);
+   TEST_TTR(int, char, bool, true);
+   TEST_TTR(int, signed char, bool, true);
+   TEST_TTR(int, short int, bool, true);
+   TEST_TTR(int, int, bool, true);
+   TEST_TTR(int, long int, bool, true);
+   TEST_TTR(int, unsigned char, bool, true);
+   TEST_TTR(int, unsigned short int, bool, true);
+   TEST_TTR(int, unsigned int, bool, true);
+   TEST_TTR(int, unsigned long int, bool, true);
+   TEST_TTR(int, wchar_t, bool, true);
+   TEST_TTR(int, float, bool, true);
+   TEST_TTR(int, double, bool, true);
+   TEST_TTR(int, long double, bool, true);
+   TEST_TTR(long int, bool, bool, true);
+   TEST_TTR(long int, char, bool, true);
+   TEST_TTR(long int, signed char, bool, true);
+   TEST_TTR(long int, short int, bool, true);
+   TEST_TTR(long int, int, bool, true);
+   TEST_TTR(long int, long int, bool, true);
+   TEST_TTR(long int, unsigned char, bool, true);
+   TEST_TTR(long int, unsigned short int, bool, true);
+   TEST_TTR(long int, unsigned int, bool, true);
+   TEST_TTR(long int, unsigned long int, bool, true);
+   TEST_TTR(long int, wchar_t, bool, true);
+   TEST_TTR(long int, float, bool, true);
+   TEST_TTR(long int, double, bool, true);
+   TEST_TTR(long int, long double, bool, true);
+   TEST_TTR(unsigned char, bool, bool, true);
+   TEST_TTR(unsigned char, char, bool, true);
+   TEST_TTR(unsigned char, signed char, bool, true);
+   TEST_TTR(unsigned char, short int, bool, true);
+   TEST_TTR(unsigned char, int, bool, true);
+   TEST_TTR(unsigned char, long int, bool, true);
+   TEST_TTR(unsigned char, unsigned char, bool, true);
+   TEST_TTR(unsigned char, unsigned short int, bool, true);
+   TEST_TTR(unsigned char, unsigned int, bool, true);
+   TEST_TTR(unsigned char, unsigned long int, bool, true);
+   TEST_TTR(unsigned char, wchar_t, bool, true);
+   TEST_TTR(unsigned char, float, bool, true);
+   TEST_TTR(unsigned char, double, bool, true);
+   TEST_TTR(unsigned char, long double, bool, true);
+   TEST_TTR(unsigned short int, bool, bool, true);
+   TEST_TTR(unsigned short int, char, bool, true);
+   TEST_TTR(unsigned short int, signed char, bool, true);
+   TEST_TTR(unsigned short int, short int, bool, true);
+   TEST_TTR(unsigned short int, int, bool, true);
+   TEST_TTR(unsigned short int, long int, bool, true);
+   TEST_TTR(unsigned short int, unsigned char, bool, true);
+   TEST_TTR(unsigned short int, unsigned short int, bool, true);
+   TEST_TTR(unsigned short int, unsigned int, bool, true);
+   TEST_TTR(unsigned short int, unsigned long int, bool, true);
+   TEST_TTR(unsigned short int, wchar_t, bool, true);
+   TEST_TTR(unsigned short int, float, bool, true);
+   TEST_TTR(unsigned short int, double, bool, true);
+   TEST_TTR(unsigned short int, long double, bool, true);
+   TEST_TTR(unsigned int, bool, bool, true);
+   TEST_TTR(unsigned int, char, bool, true);
+   TEST_TTR(unsigned int, signed char, bool, true);
+   TEST_TTR(unsigned int, short int, bool, true);
+   TEST_TTR(unsigned int, int, bool, true);
+   TEST_TTR(unsigned int, long int, bool, true);
+   TEST_TTR(unsigned int, unsigned char, bool, true);
+   TEST_TTR(unsigned int, unsigned short int, bool, true);
+   TEST_TTR(unsigned int, unsigned int, bool, true);
+   TEST_TTR(unsigned int, unsigned long int, bool, true);
+   TEST_TTR(unsigned int, wchar_t, bool, true);
+   TEST_TTR(unsigned int, float, bool, true);
+   TEST_TTR(unsigned int, double, bool, true);
+   TEST_TTR(unsigned int, long double, bool, true);
+   TEST_TTR(unsigned long int, bool, bool, true);
+   TEST_TTR(unsigned long int, char, bool, true);
+   TEST_TTR(unsigned long int, signed char, bool, true);
+   TEST_TTR(unsigned long int, short int, bool, true);
+   TEST_TTR(unsigned long int, int, bool, true);
+   TEST_TTR(unsigned long int, long int, bool, true);
+   TEST_TTR(unsigned long int, unsigned char, bool, true);
+   TEST_TTR(unsigned long int, unsigned short int, bool, true);
+   TEST_TTR(unsigned long int, unsigned int, bool, true);
+   TEST_TTR(unsigned long int, unsigned long int, bool, true);
+   TEST_TTR(unsigned long int, wchar_t, bool, true);
+   TEST_TTR(unsigned long int, float, bool, true);
+   TEST_TTR(unsigned long int, double, bool, true);
+   TEST_TTR(unsigned long int, long double, bool, true);
+   TEST_TTR(wchar_t, bool, bool, true);
+   TEST_TTR(wchar_t, char, bool, true);
+   TEST_TTR(wchar_t, signed char, bool, true);
+   TEST_TTR(wchar_t, short int, bool, true);
+   TEST_TTR(wchar_t, int, bool, true);
+   TEST_TTR(wchar_t, long int, bool, true);
+   TEST_TTR(wchar_t, unsigned char, bool, true);
+   TEST_TTR(wchar_t, unsigned short int, bool, true);
+   TEST_TTR(wchar_t, unsigned int, bool, true);
+   TEST_TTR(wchar_t, unsigned long int, bool, true);
+   TEST_TTR(wchar_t, wchar_t, bool, true);
+   TEST_TTR(wchar_t, float, bool, true);
+   TEST_TTR(wchar_t, double, bool, true);
+   TEST_TTR(wchar_t, long double, bool, true);
+   TEST_TTR(float, bool, bool, true);
+   TEST_TTR(float, char, bool, true);
+   TEST_TTR(float, signed char, bool, true);
+   TEST_TTR(float, short int, bool, true);
+   TEST_TTR(float, int, bool, true);
+   TEST_TTR(float, long int, bool, true);
+   TEST_TTR(float, unsigned char, bool, true);
+   TEST_TTR(float, unsigned short int, bool, true);
+   TEST_TTR(float, unsigned int, bool, true);
+   TEST_TTR(float, unsigned long int, bool, true);
+   TEST_TTR(float, wchar_t, bool, true);
+   TEST_TTR(float, float, bool, true);
+   TEST_TTR(float, double, bool, true);
+   TEST_TTR(float, long double, bool, true);
+   TEST_TTR(double, bool, bool, true);
+   TEST_TTR(double, char, bool, true);
+   TEST_TTR(double, signed char, bool, true);
+   TEST_TTR(double, short int, bool, true);
+   TEST_TTR(double, int, bool, true);
+   TEST_TTR(double, long int, bool, true);
+   TEST_TTR(double, unsigned char, bool, true);
+   TEST_TTR(double, unsigned short int, bool, true);
+   TEST_TTR(double, unsigned int, bool, true);
+   TEST_TTR(double, unsigned long int, bool, true);
+   TEST_TTR(double, wchar_t, bool, true);
+   TEST_TTR(double, float, bool, true);
+   TEST_TTR(double, double, bool, true);
+   TEST_TTR(double, long double, bool, true);
+   TEST_TTR(long double, bool, bool, true);
+   TEST_TTR(long double, char, bool, true);
+   TEST_TTR(long double, signed char, bool, true);
+   TEST_TTR(long double, short int, bool, true);
+   TEST_TTR(long double, int, bool, true);
+   TEST_TTR(long double, long int, bool, true);
+   TEST_TTR(long double, unsigned char, bool, true);
+   TEST_TTR(long double, unsigned short int, bool, true);
+   TEST_TTR(long double, unsigned int, bool, true);
+   TEST_TTR(long double, unsigned long int, bool, true);
+   TEST_TTR(long double, wchar_t, bool, true);
+   TEST_TTR(long double, float, bool, true);
+   TEST_TTR(long double, double, bool, true);
+   TEST_TTR(long double, long double, bool, true);
+   TEST_TTR(bool, bool, tag, false);
+   TEST_TTR(bool, char, tag, false);
+   TEST_TTR(bool, signed char, tag, false);
+   TEST_TTR(bool, short int, tag, false);
+   TEST_TTR(bool, int, tag, false);
+   TEST_TTR(bool, long int, tag, false);
+   TEST_TTR(bool, unsigned char, tag, false);
+   TEST_TTR(bool, unsigned short int, tag, false);
+   TEST_TTR(bool, unsigned int, tag, false);
+   TEST_TTR(bool, unsigned long int, tag, false);
+   TEST_TTR(bool, wchar_t, tag, false);
+   TEST_TTR(bool, float, tag, false);
+   TEST_TTR(bool, double, tag, false);
+   TEST_TTR(bool, long double, tag, false);
+   TEST_TTR(char, bool, tag, false);
+   TEST_TTR(char, char, tag, false);
+   TEST_TTR(char, signed char, tag, false);
+   TEST_TTR(char, short int, tag, false);
+   TEST_TTR(char, int, tag, false);
+   TEST_TTR(char, long int, tag, false);
+   TEST_TTR(char, unsigned char, tag, false);
+   TEST_TTR(char, unsigned short int, tag, false);
+   TEST_TTR(char, unsigned int, tag, false);
+   TEST_TTR(char, unsigned long int, tag, false);
+   TEST_TTR(char, wchar_t, tag, false);
+   TEST_TTR(char, float, tag, false);
+   TEST_TTR(char, double, tag, false);
+   TEST_TTR(char, long double, tag, false);
+   TEST_TTR(signed char, bool, tag, false);
+   TEST_TTR(signed char, char, tag, false);
+   TEST_TTR(signed char, signed char, tag, false);
+   TEST_TTR(signed char, short int, tag, false);
+   TEST_TTR(signed char, int, tag, false);
+   TEST_TTR(signed char, long int, tag, false);
+   TEST_TTR(signed char, unsigned char, tag, false);
+   TEST_TTR(signed char, unsigned short int, tag, false);
+   TEST_TTR(signed char, unsigned int, tag, false);
+   TEST_TTR(signed char, unsigned long int, tag, false);
+   TEST_TTR(signed char, wchar_t, tag, false);
+   TEST_TTR(signed char, float, tag, false);
+   TEST_TTR(signed char, double, tag, false);
+   TEST_TTR(signed char, long double, tag, false);
+   TEST_TTR(short int, bool, tag, false);
+   TEST_TTR(short int, char, tag, false);
+   TEST_TTR(short int, signed char, tag, false);
+   TEST_TTR(short int, short int, tag, false);
+   TEST_TTR(short int, int, tag, false);
+   TEST_TTR(short int, long int, tag, false);
+   TEST_TTR(short int, unsigned char, tag, false);
+   TEST_TTR(short int, unsigned short int, tag, false);
+   TEST_TTR(short int, unsigned int, tag, false);
+   TEST_TTR(short int, unsigned long int, tag, false);
+   TEST_TTR(short int, wchar_t, tag, false);
+   TEST_TTR(short int, float, tag, false);
+   TEST_TTR(short int, double, tag, false);
+   TEST_TTR(short int, long double, tag, false);
+   TEST_TTR(int, bool, tag, false);
+   TEST_TTR(int, char, tag, false);
+   TEST_TTR(int, signed char, tag, false);
+   TEST_TTR(int, short int, tag, false);
+   TEST_TTR(int, int, tag, false);
+   TEST_TTR(int, long int, tag, false);
+   TEST_TTR(int, unsigned char, tag, false);
+   TEST_TTR(int, unsigned short int, tag, false);
+   TEST_TTR(int, unsigned int, tag, false);
+   TEST_TTR(int, unsigned long int, tag, false);
+   TEST_TTR(int, wchar_t, tag, false);
+   TEST_TTR(int, float, tag, false);
+   TEST_TTR(int, double, tag, false);
+   TEST_TTR(int, long double, tag, false);
+   TEST_TTR(long int, bool, tag, false);
+   TEST_TTR(long int, char, tag, false);
+   TEST_TTR(long int, signed char, tag, false);
+   TEST_TTR(long int, short int, tag, false);
+   TEST_TTR(long int, int, tag, false);
+   TEST_TTR(long int, long int, tag, false);
+   TEST_TTR(long int, unsigned char, tag, false);
+   TEST_TTR(long int, unsigned short int, tag, false);
+   TEST_TTR(long int, unsigned int, tag, false);
+   TEST_TTR(long int, unsigned long int, tag, false);
+   TEST_TTR(long int, wchar_t, tag, false);
+   TEST_TTR(long int, float, tag, false);
+   TEST_TTR(long int, double, tag, false);
+   TEST_TTR(long int, long double, tag, false);
+   TEST_TTR(unsigned char, bool, tag, false);
+   TEST_TTR(unsigned char, char, tag, false);
+   TEST_TTR(unsigned char, signed char, tag, false);
+   TEST_TTR(unsigned char, short int, tag, false);
+   TEST_TTR(unsigned char, int, tag, false);
+   TEST_TTR(unsigned char, long int, tag, false);
+   TEST_TTR(unsigned char, unsigned char, tag, false);
+   TEST_TTR(unsigned char, unsigned short int, tag, false);
+   TEST_TTR(unsigned char, unsigned int, tag, false);
+   TEST_TTR(unsigned char, unsigned long int, tag, false);
+   TEST_TTR(unsigned char, wchar_t, tag, false);
+   TEST_TTR(unsigned char, float, tag, false);
+   TEST_TTR(unsigned char, double, tag, false);
+   TEST_TTR(unsigned char, long double, tag, false);
+   TEST_TTR(unsigned short int, bool, tag, false);
+   TEST_TTR(unsigned short int, char, tag, false);
+   TEST_TTR(unsigned short int, signed char, tag, false);
+   TEST_TTR(unsigned short int, short int, tag, false);
+   TEST_TTR(unsigned short int, int, tag, false);
+   TEST_TTR(unsigned short int, long int, tag, false);
+   TEST_TTR(unsigned short int, unsigned char, tag, false);
+   TEST_TTR(unsigned short int, unsigned short int, tag, false);
+   TEST_TTR(unsigned short int, unsigned int, tag, false);
+   TEST_TTR(unsigned short int, unsigned long int, tag, false);
+   TEST_TTR(unsigned short int, wchar_t, tag, false);
+   TEST_TTR(unsigned short int, float, tag, false);
+   TEST_TTR(unsigned short int, double, tag, false);
+   TEST_TTR(unsigned short int, long double, tag, false);
+   TEST_TTR(unsigned int, bool, tag, false);
+   TEST_TTR(unsigned int, char, tag, false);
+   TEST_TTR(unsigned int, signed char, tag, false);
+   TEST_TTR(unsigned int, short int, tag, false);
+   TEST_TTR(unsigned int, int, tag, false);
+   TEST_TTR(unsigned int, long int, tag, false);
+   TEST_TTR(unsigned int, unsigned char, tag, false);
+   TEST_TTR(unsigned int, unsigned short int, tag, false);
+   TEST_TTR(unsigned int, unsigned int, tag, false);
+   TEST_TTR(unsigned int, unsigned long int, tag, false);
+   TEST_TTR(unsigned int, wchar_t, tag, false);
+   TEST_TTR(unsigned int, float, tag, false);
+   TEST_TTR(unsigned int, double, tag, false);
+   TEST_TTR(unsigned int, long double, tag, false);
+   TEST_TTR(unsigned long int, bool, tag, false);
+   TEST_TTR(unsigned long int, char, tag, false);
+   TEST_TTR(unsigned long int, signed char, tag, false);
+   TEST_TTR(unsigned long int, short int, tag, false);
+   TEST_TTR(unsigned long int, int, tag, false);
+   TEST_TTR(unsigned long int, long int, tag, false);
+   TEST_TTR(unsigned long int, unsigned char, tag, false);
+   TEST_TTR(unsigned long int, unsigned short int, tag, false);
+   TEST_TTR(unsigned long int, unsigned int, tag, false);
+   TEST_TTR(unsigned long int, unsigned long int, tag, false);
+   TEST_TTR(unsigned long int, wchar_t, tag, false);
+   TEST_TTR(unsigned long int, float, tag, false);
+   TEST_TTR(unsigned long int, double, tag, false);
+   TEST_TTR(unsigned long int, long double, tag, false);
+   TEST_TTR(wchar_t, bool, tag, false);
+   TEST_TTR(wchar_t, char, tag, false);
+   TEST_TTR(wchar_t, signed char, tag, false);
+   TEST_TTR(wchar_t, short int, tag, false);
+   TEST_TTR(wchar_t, int, tag, false);
+   TEST_TTR(wchar_t, long int, tag, false);
+   TEST_TTR(wchar_t, unsigned char, tag, false);
+   TEST_TTR(wchar_t, unsigned short int, tag, false);
+   TEST_TTR(wchar_t, unsigned int, tag, false);
+   TEST_TTR(wchar_t, unsigned long int, tag, false);
+   TEST_TTR(wchar_t, wchar_t, tag, false);
+   TEST_TTR(wchar_t, float, tag, false);
+   TEST_TTR(wchar_t, double, tag, false);
+   TEST_TTR(wchar_t, long double, tag, false);
+   TEST_TTR(float, bool, tag, false);
+   TEST_TTR(float, char, tag, false);
+   TEST_TTR(float, signed char, tag, false);
+   TEST_TTR(float, short int, tag, false);
+   TEST_TTR(float, int, tag, false);
+   TEST_TTR(float, long int, tag, false);
+   TEST_TTR(float, unsigned char, tag, false);
+   TEST_TTR(float, unsigned short int, tag, false);
+   TEST_TTR(float, unsigned int, tag, false);
+   TEST_TTR(float, unsigned long int, tag, false);
+   TEST_TTR(float, wchar_t, tag, false);
+   TEST_TTR(float, float, tag, false);
+   TEST_TTR(float, double, tag, false);
+   TEST_TTR(float, long double, tag, false);
+   TEST_TTR(double, bool, tag, false);
+   TEST_TTR(double, char, tag, false);
+   TEST_TTR(double, signed char, tag, false);
+   TEST_TTR(double, short int, tag, false);
+   TEST_TTR(double, int, tag, false);
+   TEST_TTR(double, long int, tag, false);
+   TEST_TTR(double, unsigned char, tag, false);
+   TEST_TTR(double, unsigned short int, tag, false);
+   TEST_TTR(double, unsigned int, tag, false);
+   TEST_TTR(double, unsigned long int, tag, false);
+   TEST_TTR(double, wchar_t, tag, false);
+   TEST_TTR(double, float, tag, false);
+   TEST_TTR(double, double, tag, false);
+   TEST_TTR(double, long double, tag, false);
+   TEST_TTR(long double, bool, tag, false);
+   TEST_TTR(long double, char, tag, false);
+   TEST_TTR(long double, signed char, tag, false);
+   TEST_TTR(long double, short int, tag, false);
+   TEST_TTR(long double, int, tag, false);
+   TEST_TTR(long double, long int, tag, false);
+   TEST_TTR(long double, unsigned char, tag, false);
+   TEST_TTR(long double, unsigned short int, tag, false);
+   TEST_TTR(long double, unsigned int, tag, false);
+   TEST_TTR(long double, unsigned long int, tag, false);
+   TEST_TTR(long double, wchar_t, tag, false);
+   TEST_TTR(long double, float, tag, false);
+   TEST_TTR(long double, double, tag, false);
+   TEST_TTR(long double, long double, tag, false);
 
-	TEST_T(without, false);
-	TEST_T(internal, true);
-	TEST_T(external, true);
-//	compile time error
-//	TEST_T(internal_private, false);
-	TEST_T(returns_int, true);
-	TEST_T(returns_void, true);
-	TEST_T(returns_void_star, true);
-	TEST_T(returns_double, true);
-	TEST_T(returns_string, true);
-//	TEST_T(convertible_to_bool, true);
-	TEST_T(Base1, true);
-	TEST_T(Derived1, true);
-	TEST_T(Base2, false);
-	TEST_T(Derived2, true);
+   TEST_T(without, false);
+   TEST_T(internal, true);
+   TEST_T(external, true);
+// compile time error
+// TEST_T(internal_private, false);
+   TEST_T(returns_int, true);
+   TEST_T(returns_void, true);
+   TEST_T(returns_void_star, true);
+   TEST_T(returns_double, true);
+   TEST_T(returns_string, true);
+// TEST_T(convertible_to_bool, true);
+   TEST_T(Base1, true);
+   TEST_T(Derived1, true);
+   TEST_T(Base2, false);
+   TEST_T(Derived2, true);
 
-	TEST_TR(without, bool, false);
-	TEST_TR(internal, bool, false);
-	TEST_TR(internal, ret, true);
-	TEST_TR(external, bool, false);
-	TEST_TR(external, ret, true);
-	TEST_TR(returns_int, bool, true);
-	TEST_TR(returns_int, int, true);
-	TEST_TR(returns_void, void, true);
-	TEST_TR(returns_void, bool, false);
-	TEST_TR(returns_void_star, bool, true);
-	TEST_TR(returns_double, bool, true);
-	TEST_TR(returns_double, double, true);
-	TEST_TR(returns_string, bool, false);
-	TEST_TR(returns_string, std::string, true);
-//	TEST_TR(convertible_to_bool, bool, true);
-	TEST_TR(Base1, bool, true);
-	TEST_TR(Derived1, bool, true);
-	TEST_TR(Base2, bool, false);
-	TEST_TR(Derived2, bool, true);
-	// pointers
-	TEST_TT(void*, bool, false);
-	TEST_TT(void*, int, false);
-	TEST_TT(void*, double, false);
-	TEST_TT(void*, A, false);
-	TEST_TT(void*, B, false);
-	TEST_TT(bool*, bool, true);
-	TEST_TT(bool*, int, true);
-	TEST_TT(bool*, double, false);
-	TEST_TT(bool*, A, false);
-	TEST_TT(bool*, B, false);
-	TEST_TT(int*, bool, true);
-	TEST_TT(int*, int, true);
-	TEST_TT(int*, double, false);
-	TEST_TT(int*, A, false);
-	TEST_TT(int*, B, false);
-	TEST_TT(double*, bool, true);
-	TEST_TT(double*, int, true);
-	TEST_TT(double*, double, false);
-	TEST_TT(double*, A, false);
-	TEST_TT(double*, B, false);
-	TEST_TT(A*, bool, true);
-	TEST_TT(A*, int, true);
-	TEST_TT(A*, double, false);
-	TEST_TT(A*, A, false);
-	TEST_TT(A*, B, false);
-	TEST_TT(B*, bool, true);
-	TEST_TT(B*, int, true);
-	TEST_TT(B*, double, false);
-	TEST_TT(B*, A, false);
-	TEST_TT(B*, B, false);
-	TEST_TT(bool, void*, false);
-	TEST_TT(bool, bool*, false);
-	TEST_TT(bool, int*, false);
-	TEST_TT(bool, double*, false);
-	TEST_TT(bool, A*, false);
-	TEST_TT(bool, B*, false);
-	TEST_TT(int, void*, false);
-	TEST_TT(int, bool*, false);
-	TEST_TT(int, int*, false);
-	TEST_TT(int, double*, false);
-	TEST_TT(int, A*, false);
-	TEST_TT(int, B*, false);
-	TEST_TT(double, void*, false);
-	TEST_TT(double, bool*, false);
-	TEST_TT(double, int*, false);
-	TEST_TT(double, double*, false);
-	TEST_TT(double, A*, false);
-	TEST_TT(double, B*, false);
-	TEST_TT(A, void*, false);
-	TEST_TT(A, bool*, false);
-	TEST_TT(A, int*, false);
-	TEST_TT(A, double*, false);
-	TEST_TT(A, A*, false);
-	TEST_TT(A, B*, false);
-	TEST_TT(B, void*, false);
-	TEST_TT(B, bool*, false);
-	TEST_TT(B, int*, false);
-	TEST_TT(B, double*, false);
-	TEST_TT(B, A*, false);
-	TEST_TT(B, B*, false);
-	TEST_TT(void*, void*, false);
-	TEST_TT(void*, bool*, false);
-	TEST_TT(void*, int*, false);
-	TEST_TT(void*, double*, false);
-	TEST_TT(void*, A*, false);
-	TEST_TT(void*, B*, false);
-	TEST_TT(bool*, void*, false);
-	TEST_TT(bool*, bool*, false);
-	TEST_TT(bool*, int*, false);
-	TEST_TT(bool*, double*, false);
-	TEST_TT(bool*, A*, false);
-	TEST_TT(bool*, B*, false);
-	TEST_TT(int*, void*, false);
-	TEST_TT(int*, bool*, false);
-	TEST_TT(int*, int*, false);
-	TEST_TT(int*, double*, false);
-	TEST_TT(int*, A*, false);
-	TEST_TT(int*, B*, false);
-	TEST_TT(double*, void*, false);
-	TEST_TT(double*, bool*, false);
-	TEST_TT(double*, int*, false);
-	TEST_TT(double*, double*, false);
-	TEST_TT(double*, A*, false);
-	TEST_TT(double*, B*, false);
-	TEST_TT(A*, void*, false);
-	TEST_TT(A*, bool*, false);
-	TEST_TT(A*, int*, false);
-	TEST_TT(A*, double*, false);
-	TEST_TT(A*, A*, false);
-	TEST_TT(A*, B*, false);
-	TEST_TT(B*, void*, false);
-	TEST_TT(B*, bool*, false);
-	TEST_TT(B*, int*, false);
-	TEST_TT(B*, double*, false);
-	TEST_TT(B*, A*, false);
-	TEST_TT(B*, B*, false);
+   TEST_TR(without, bool, false);
+   TEST_TR(internal, bool, false);
+   TEST_TR(internal, ret, true);
+   TEST_TR(external, bool, false);
+   TEST_TR(external, ret, true);
+   TEST_TR(returns_int, bool, true);
+   TEST_TR(returns_int, int, true);
+   TEST_TR(returns_void, void, true);
+   TEST_TR(returns_void, bool, false);
+   TEST_TR(returns_void_star, bool, true);
+   TEST_TR(returns_double, bool, true);
+   TEST_TR(returns_double, double, true);
+   TEST_TR(returns_string, bool, false);
+   TEST_TR(returns_string, std::string, true);
+// TEST_TR(convertible_to_bool, bool, true);
+   TEST_TR(Base1, bool, true);
+   TEST_TR(Derived1, bool, true);
+   TEST_TR(Base2, bool, false);
+   TEST_TR(Derived2, bool, true);
+   // pointers
+   TEST_TT(void*, bool, false);
+   TEST_TT(void*, int, false);
+   TEST_TT(void*, double, false);
+   TEST_TT(void*, A, false);
+   TEST_TT(void*, B, false);
+   TEST_TT(bool*, bool, true);
+   TEST_TT(bool*, int, true);
+   TEST_TT(bool*, double, false);
+   TEST_TT(bool*, A, false);
+   TEST_TT(bool*, B, false);
+   TEST_TT(int*, bool, true);
+   TEST_TT(int*, int, true);
+   TEST_TT(int*, double, false);
+   TEST_TT(int*, A, false);
+   TEST_TT(int*, B, false);
+   TEST_TT(double*, bool, true);
+   TEST_TT(double*, int, true);
+   TEST_TT(double*, double, false);
+   TEST_TT(double*, A, false);
+   TEST_TT(double*, B, false);
+   TEST_TT(A*, bool, true);
+   TEST_TT(A*, int, true);
+   TEST_TT(A*, double, false);
+   TEST_TT(A*, A, false);
+   TEST_TT(A*, B, false);
+   TEST_TT(B*, bool, true);
+   TEST_TT(B*, int, true);
+   TEST_TT(B*, double, false);
+   TEST_TT(B*, A, false);
+   TEST_TT(B*, B, false);
+   TEST_TT(bool, void*, false);
+   TEST_TT(bool, bool*, false);
+   TEST_TT(bool, int*, false);
+   TEST_TT(bool, double*, false);
+   TEST_TT(bool, A*, false);
+   TEST_TT(bool, B*, false);
+   TEST_TT(int, void*, false);
+   TEST_TT(int, bool*, false);
+   TEST_TT(int, int*, false);
+   TEST_TT(int, double*, false);
+   TEST_TT(int, A*, false);
+   TEST_TT(int, B*, false);
+   TEST_TT(double, void*, false);
+   TEST_TT(double, bool*, false);
+   TEST_TT(double, int*, false);
+   TEST_TT(double, double*, false);
+   TEST_TT(double, A*, false);
+   TEST_TT(double, B*, false);
+   TEST_TT(A, void*, false);
+   TEST_TT(A, bool*, false);
+   TEST_TT(A, int*, false);
+   TEST_TT(A, double*, false);
+   TEST_TT(A, A*, false);
+   TEST_TT(A, B*, false);
+   TEST_TT(B, void*, false);
+   TEST_TT(B, bool*, false);
+   TEST_TT(B, int*, false);
+   TEST_TT(B, double*, false);
+   TEST_TT(B, A*, false);
+   TEST_TT(B, B*, false);
+   TEST_TT(void*, void*, false);
+   TEST_TT(void*, bool*, false);
+   TEST_TT(void*, int*, false);
+   TEST_TT(void*, double*, false);
+   TEST_TT(void*, A*, false);
+   TEST_TT(void*, B*, false);
+   TEST_TT(bool*, void*, false);
+   TEST_TT(bool*, bool*, false);
+   TEST_TT(bool*, int*, false);
+   TEST_TT(bool*, double*, false);
+   TEST_TT(bool*, A*, false);
+   TEST_TT(bool*, B*, false);
+   TEST_TT(int*, void*, false);
+   TEST_TT(int*, bool*, false);
+   TEST_TT(int*, int*, false);
+   TEST_TT(int*, double*, false);
+   TEST_TT(int*, A*, false);
+   TEST_TT(int*, B*, false);
+   TEST_TT(double*, void*, false);
+   TEST_TT(double*, bool*, false);
+   TEST_TT(double*, int*, false);
+   TEST_TT(double*, double*, false);
+   TEST_TT(double*, A*, false);
+   TEST_TT(double*, B*, false);
+   TEST_TT(A*, void*, false);
+   TEST_TT(A*, bool*, false);
+   TEST_TT(A*, int*, false);
+   TEST_TT(A*, double*, false);
+   TEST_TT(A*, A*, false);
+   TEST_TT(A*, B*, false);
+   TEST_TT(B*, void*, false);
+   TEST_TT(B*, bool*, false);
+   TEST_TT(B*, int*, false);
+   TEST_TT(B*, double*, false);
+   TEST_TT(B*, A*, false);
+   TEST_TT(B*, B*, false);
 }
 }
 
 TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-	run();
+   run();
 TT_TEST_END
Modified: sandbox/type_traits/libs/type_traits/test/has_no_pointer_operator_test.hpp
==============================================================================
--- sandbox/type_traits/libs/type_traits/test/has_no_pointer_operator_test.hpp	(original)
+++ sandbox/type_traits/libs/type_traits/test/has_no_pointer_operator_test.hpp	2011-02-03 17:09:55 EST (Thu, 03 Feb 2011)
@@ -49,7 +49,7 @@
 
 class Base2 { };
 struct Derived2 : public Base2 {
-	Derived2(int); // to check if it works with a class that is not default constructible
+   Derived2(int); // to check if it works with a class that is not default constructible
 };
 
 bool operator BOOST_TT_TRAIT_OP (const Derived2&, const Derived2&) { return true; }
@@ -60,777 +60,777 @@
 struct B : public A { };
 
 void run() {
-	// test with only one template parameter
-	TEST_T(bool, true);
-	TEST_T(char, true);
-	TEST_T(signed char, true);
-	TEST_T(short int, true);
-	TEST_T(int, true);
-	TEST_T(long int, true);
-	TEST_T(unsigned char, true);
-	TEST_T(unsigned short int, true);
-	TEST_T(unsigned int, true);
-	TEST_T(unsigned long int, true);
-	TEST_T(wchar_t, true);
-	TEST_T(float, true);
-	TEST_T(double, true);
-	TEST_T(long double, true);
-	TEST_T(void, false);
-	// test with only two template parameters
-	TEST_TT(bool, bool, true);
-	TEST_TT(bool, char, true);
-	TEST_TT(bool, signed char, true);
-	TEST_TT(bool, short int, true);
-	TEST_TT(bool, int, true);
-	TEST_TT(bool, long int, true);
-	TEST_TT(bool, unsigned char, true);
-	TEST_TT(bool, unsigned short int, true);
-	TEST_TT(bool, unsigned int, true);
-	TEST_TT(bool, unsigned long int, true);
-	TEST_TT(bool, wchar_t, true);
-	TEST_TT(bool, float, true);
-	TEST_TT(bool, double, true);
-	TEST_TT(bool, long double, true);
-	TEST_TT(char, bool, true);
-	TEST_TT(char, char, true);
-	TEST_TT(char, signed char, true);
-	TEST_TT(char, short int, true);
-	TEST_TT(char, int, true);
-	TEST_TT(char, long int, true);
-	TEST_TT(char, unsigned char, true);
-	TEST_TT(char, unsigned short int, true);
-	TEST_TT(char, unsigned int, true);
-	TEST_TT(char, unsigned long int, true);
-	TEST_TT(char, wchar_t, true);
-	TEST_TT(char, float, true);
-	TEST_TT(char, double, true);
-	TEST_TT(char, long double, true);
-	TEST_TT(signed char, bool, true);
-	TEST_TT(signed char, char, true);
-	TEST_TT(signed char, signed char, true);
-	TEST_TT(signed char, short int, true);
-	TEST_TT(signed char, int, true);
-	TEST_TT(signed char, long int, true);
-	TEST_TT(signed char, unsigned char, true);
-	TEST_TT(signed char, unsigned short int, true);
-	TEST_TT(signed char, unsigned int, true);
-	TEST_TT(signed char, unsigned long int, true);
-	TEST_TT(signed char, wchar_t, true);
-	TEST_TT(signed char, float, true);
-	TEST_TT(signed char, double, true);
-	TEST_TT(signed char, long double, true);
-	TEST_TT(short int, bool, true);
-	TEST_TT(short int, char, true);
-	TEST_TT(short int, signed char, true);
-	TEST_TT(short int, short int, true);
-	TEST_TT(short int, int, true);
-	TEST_TT(short int, long int, true);
-	TEST_TT(short int, unsigned char, true);
-	TEST_TT(short int, unsigned short int, true);
-	TEST_TT(short int, unsigned int, true);
-	TEST_TT(short int, unsigned long int, true);
-	TEST_TT(short int, wchar_t, true);
-	TEST_TT(short int, float, true);
-	TEST_TT(short int, double, true);
-	TEST_TT(short int, long double, true);
-	TEST_TT(int, bool, true);
-	TEST_TT(int, char, true);
-	TEST_TT(int, signed char, true);
-	TEST_TT(int, short int, true);
-	TEST_TT(int, int, true);
-	TEST_TT(int, long int, true);
-	TEST_TT(int, unsigned char, true);
-	TEST_TT(int, unsigned short int, true);
-	TEST_TT(int, unsigned int, true);
-	TEST_TT(int, unsigned long int, true);
-	TEST_TT(int, wchar_t, true);
-	TEST_TT(int, float, true);
-	TEST_TT(int, double, true);
-	TEST_TT(int, long double, true);
-	TEST_TT(long int, bool, true);
-	TEST_TT(long int, char, true);
-	TEST_TT(long int, signed char, true);
-	TEST_TT(long int, short int, true);
-	TEST_TT(long int, int, true);
-	TEST_TT(long int, long int, true);
-	TEST_TT(long int, unsigned char, true);
-	TEST_TT(long int, unsigned short int, true);
-	TEST_TT(long int, unsigned int, true);
-	TEST_TT(long int, unsigned long int, true);
-	TEST_TT(long int, wchar_t, true);
-	TEST_TT(long int, float, true);
-	TEST_TT(long int, double, true);
-	TEST_TT(long int, long double, true);
-	TEST_TT(unsigned char, bool, true);
-	TEST_TT(unsigned char, char, true);
-	TEST_TT(unsigned char, signed char, true);
-	TEST_TT(unsigned char, short int, true);
-	TEST_TT(unsigned char, int, true);
-	TEST_TT(unsigned char, long int, true);
-	TEST_TT(unsigned char, unsigned char, true);
-	TEST_TT(unsigned char, unsigned short int, true);
-	TEST_TT(unsigned char, unsigned int, true);
-	TEST_TT(unsigned char, unsigned long int, true);
-	TEST_TT(unsigned char, wchar_t, true);
-	TEST_TT(unsigned char, float, true);
-	TEST_TT(unsigned char, double, true);
-	TEST_TT(unsigned char, long double, true);
-	TEST_TT(unsigned short int, bool, true);
-	TEST_TT(unsigned short int, char, true);
-	TEST_TT(unsigned short int, signed char, true);
-	TEST_TT(unsigned short int, short int, true);
-	TEST_TT(unsigned short int, int, true);
-	TEST_TT(unsigned short int, long int, true);
-	TEST_TT(unsigned short int, unsigned char, true);
-	TEST_TT(unsigned short int, unsigned short int, true);
-	TEST_TT(unsigned short int, unsigned int, true);
-	TEST_TT(unsigned short int, unsigned long int, true);
-	TEST_TT(unsigned short int, wchar_t, true);
-	TEST_TT(unsigned short int, float, true);
-	TEST_TT(unsigned short int, double, true);
-	TEST_TT(unsigned short int, long double, true);
-	TEST_TT(unsigned int, bool, true);
-	TEST_TT(unsigned int, char, true);
-	TEST_TT(unsigned int, signed char, true);
-	TEST_TT(unsigned int, short int, true);
-	TEST_TT(unsigned int, int, true);
-	TEST_TT(unsigned int, long int, true);
-	TEST_TT(unsigned int, unsigned char, true);
-	TEST_TT(unsigned int, unsigned short int, true);
-	TEST_TT(unsigned int, unsigned int, true);
-	TEST_TT(unsigned int, unsigned long int, true);
-	TEST_TT(unsigned int, wchar_t, true);
-	TEST_TT(unsigned int, float, true);
-	TEST_TT(unsigned int, double, true);
-	TEST_TT(unsigned int, long double, true);
-	TEST_TT(unsigned long int, bool, true);
-	TEST_TT(unsigned long int, char, true);
-	TEST_TT(unsigned long int, signed char, true);
-	TEST_TT(unsigned long int, short int, true);
-	TEST_TT(unsigned long int, int, true);
-	TEST_TT(unsigned long int, long int, true);
-	TEST_TT(unsigned long int, unsigned char, true);
-	TEST_TT(unsigned long int, unsigned short int, true);
-	TEST_TT(unsigned long int, unsigned int, true);
-	TEST_TT(unsigned long int, unsigned long int, true);
-	TEST_TT(unsigned long int, wchar_t, true);
-	TEST_TT(unsigned long int, float, true);
-	TEST_TT(unsigned long int, double, true);
-	TEST_TT(unsigned long int, long double, true);
-	TEST_TT(wchar_t, bool, true);
-	TEST_TT(wchar_t, char, true);
-	TEST_TT(wchar_t, signed char, true);
-	TEST_TT(wchar_t, short int, true);
-	TEST_TT(wchar_t, int, true);
-	TEST_TT(wchar_t, long int, true);
-	TEST_TT(wchar_t, unsigned char, true);
-	TEST_TT(wchar_t, unsigned short int, true);
-	TEST_TT(wchar_t, unsigned int, true);
-	TEST_TT(wchar_t, unsigned long int, true);
-	TEST_TT(wchar_t, wchar_t, true);
-	TEST_TT(wchar_t, float, true);
-	TEST_TT(wchar_t, double, true);
-	TEST_TT(wchar_t, long double, true);
-	TEST_TT(float, bool, true);
-	TEST_TT(float, char, true);
-	TEST_TT(float, signed char, true);
-	TEST_TT(float, short int, true);
-	TEST_TT(float, int, true);
-	TEST_TT(float, long int, true);
-	TEST_TT(float, unsigned char, true);
-	TEST_TT(float, unsigned short int, true);
-	TEST_TT(float, unsigned int, true);
-	TEST_TT(float, unsigned long int, true);
-	TEST_TT(float, wchar_t, true);
-	TEST_TT(float, float, true);
-	TEST_TT(float, double, true);
-	TEST_TT(float, long double, true);
-	TEST_TT(double, bool, true);
-	TEST_TT(double, char, true);
-	TEST_TT(double, signed char, true);
-	TEST_TT(double, short int, true);
-	TEST_TT(double, int, true);
-	TEST_TT(double, long int, true);
-	TEST_TT(double, unsigned char, true);
-	TEST_TT(double, unsigned short int, true);
-	TEST_TT(double, unsigned int, true);
-	TEST_TT(double, unsigned long int, true);
-	TEST_TT(double, wchar_t, true);
-	TEST_TT(double, float, true);
-	TEST_TT(double, double, true);
-	TEST_TT(double, long double, true);
-	TEST_TT(long double, bool, true);
-	TEST_TT(long double, char, true);
-	TEST_TT(long double, signed char, true);
-	TEST_TT(long double, short int, true);
-	TEST_TT(long double, int, true);
-	TEST_TT(long double, long int, true);
-	TEST_TT(long double, unsigned char, true);
-	TEST_TT(long double, unsigned short int, true);
-	TEST_TT(long double, unsigned int, true);
-	TEST_TT(long double, unsigned long int, true);
-	TEST_TT(long double, wchar_t, true);
-	TEST_TT(long double, float, true);
-	TEST_TT(long double, double, true);
-	TEST_TT(long double, long double, true);
-	TEST_TT(bool, void, false);
-	TEST_TT(void, bool, false);
-	TEST_TT(char, void, false);
-	TEST_TT(void, char, false);
-	TEST_TT(signed char, void, false);
-	TEST_TT(void, signed char, false);
-	TEST_TT(short int, void, false);
-	TEST_TT(void, short int, false);
-	TEST_TT(int, void, false);
-	TEST_TT(void, int, false);
-	TEST_TT(long int, void, false);
-	TEST_TT(void, long int, false);
-	TEST_TT(unsigned char, void, false);
-	TEST_TT(void, unsigned char, false);
-	TEST_TT(unsigned short int, void, false);
-	TEST_TT(void, unsigned short int, false);
-	TEST_TT(unsigned int, void, false);
-	TEST_TT(void, unsigned int, false);
-	TEST_TT(unsigned long int, void, false);
-	TEST_TT(void, unsigned long int, false);
-	TEST_TT(wchar_t, void, false);
-	TEST_TT(void, wchar_t, false);
-	TEST_TT(float, void, false);
-	TEST_TT(void, float, false);
-	TEST_TT(double, void, false);
-	TEST_TT(void, double, false);
-	TEST_TT(long double, void, false);
-	TEST_TT(void, long double, false);
+   // test with only one template parameter
+   TEST_T(bool, true);
+   TEST_T(char, true);
+   TEST_T(signed char, true);
+   TEST_T(short int, true);
+   TEST_T(int, true);
+   TEST_T(long int, true);
+   TEST_T(unsigned char, true);
+   TEST_T(unsigned short int, true);
+   TEST_T(unsigned int, true);
+   TEST_T(unsigned long int, true);
+   TEST_T(wchar_t, true);
+   TEST_T(float, true);
+   TEST_T(double, true);
+   TEST_T(long double, true);
+   TEST_T(void, false);
+   // test with only two template parameters
+   TEST_TT(bool, bool, true);
+   TEST_TT(bool, char, true);
+   TEST_TT(bool, signed char, true);
+   TEST_TT(bool, short int, true);
+   TEST_TT(bool, int, true);
+   TEST_TT(bool, long int, true);
+   TEST_TT(bool, unsigned char, true);
+   TEST_TT(bool, unsigned short int, true);
+   TEST_TT(bool, unsigned int, true);
+   TEST_TT(bool, unsigned long int, true);
+   TEST_TT(bool, wchar_t, true);
+   TEST_TT(bool, float, true);
+   TEST_TT(bool, double, true);
+   TEST_TT(bool, long double, true);
+   TEST_TT(char, bool, true);
+   TEST_TT(char, char, true);
+   TEST_TT(char, signed char, true);
+   TEST_TT(char, short int, true);
+   TEST_TT(char, int, true);
+   TEST_TT(char, long int, true);
+   TEST_TT(char, unsigned char, true);
+   TEST_TT(char, unsigned short int, true);
+   TEST_TT(char, unsigned int, true);
+   TEST_TT(char, unsigned long int, true);
+   TEST_TT(char, wchar_t, true);
+   TEST_TT(char, float, true);
+   TEST_TT(char, double, true);
+   TEST_TT(char, long double, true);
+   TEST_TT(signed char, bool, true);
+   TEST_TT(signed char, char, true);
+   TEST_TT(signed char, signed char, true);
+   TEST_TT(signed char, short int, true);
+   TEST_TT(signed char, int, true);
+   TEST_TT(signed char, long int, true);
+   TEST_TT(signed char, unsigned char, true);
+   TEST_TT(signed char, unsigned short int, true);
+   TEST_TT(signed char, unsigned int, true);
+   TEST_TT(signed char, unsigned long int, true);
+   TEST_TT(signed char, wchar_t, true);
+   TEST_TT(signed char, float, true);
+   TEST_TT(signed char, double, true);
+   TEST_TT(signed char, long double, true);
+   TEST_TT(short int, bool, true);
+   TEST_TT(short int, char, true);
+   TEST_TT(short int, signed char, true);
+   TEST_TT(short int, short int, true);
+   TEST_TT(short int, int, true);
+   TEST_TT(short int, long int, true);
+   TEST_TT(short int, unsigned char, true);
+   TEST_TT(short int, unsigned short int, true);
+   TEST_TT(short int, unsigned int, true);
+   TEST_TT(short int, unsigned long int, true);
+   TEST_TT(short int, wchar_t, true);
+   TEST_TT(short int, float, true);
+   TEST_TT(short int, double, true);
+   TEST_TT(short int, long double, true);
+   TEST_TT(int, bool, true);
+   TEST_TT(int, char, true);
+   TEST_TT(int, signed char, true);
+   TEST_TT(int, short int, true);
+   TEST_TT(int, int, true);
+   TEST_TT(int, long int, true);
+   TEST_TT(int, unsigned char, true);
+   TEST_TT(int, unsigned short int, true);
+   TEST_TT(int, unsigned int, true);
+   TEST_TT(int, unsigned long int, true);
+   TEST_TT(int, wchar_t, true);
+   TEST_TT(int, float, true);
+   TEST_TT(int, double, true);
+   TEST_TT(int, long double, true);
+   TEST_TT(long int, bool, true);
+   TEST_TT(long int, char, true);
+   TEST_TT(long int, signed char, true);
+   TEST_TT(long int, short int, true);
+   TEST_TT(long int, int, true);
+   TEST_TT(long int, long int, true);
+   TEST_TT(long int, unsigned char, true);
+   TEST_TT(long int, unsigned short int, true);
+   TEST_TT(long int, unsigned int, true);
+   TEST_TT(long int, unsigned long int, true);
+   TEST_TT(long int, wchar_t, true);
+   TEST_TT(long int, float, true);
+   TEST_TT(long int, double, true);
+   TEST_TT(long int, long double, true);
+   TEST_TT(unsigned char, bool, true);
+   TEST_TT(unsigned char, char, true);
+   TEST_TT(unsigned char, signed char, true);
+   TEST_TT(unsigned char, short int, true);
+   TEST_TT(unsigned char, int, true);
+   TEST_TT(unsigned char, long int, true);
+   TEST_TT(unsigned char, unsigned char, true);
+   TEST_TT(unsigned char, unsigned short int, true);
+   TEST_TT(unsigned char, unsigned int, true);
+   TEST_TT(unsigned char, unsigned long int, true);
+   TEST_TT(unsigned char, wchar_t, true);
+   TEST_TT(unsigned char, float, true);
+   TEST_TT(unsigned char, double, true);
+   TEST_TT(unsigned char, long double, true);
+   TEST_TT(unsigned short int, bool, true);
+   TEST_TT(unsigned short int, char, true);
+   TEST_TT(unsigned short int, signed char, true);
+   TEST_TT(unsigned short int, short int, true);
+   TEST_TT(unsigned short int, int, true);
+   TEST_TT(unsigned short int, long int, true);
+   TEST_TT(unsigned short int, unsigned char, true);
+   TEST_TT(unsigned short int, unsigned short int, true);
+   TEST_TT(unsigned short int, unsigned int, true);
+   TEST_TT(unsigned short int, unsigned long int, true);
+   TEST_TT(unsigned short int, wchar_t, true);
+   TEST_TT(unsigned short int, float, true);
+   TEST_TT(unsigned short int, double, true);
+   TEST_TT(unsigned short int, long double, true);
+   TEST_TT(unsigned int, bool, true);
+   TEST_TT(unsigned int, char, true);
+   TEST_TT(unsigned int, signed char, true);
+   TEST_TT(unsigned int, short int, true);
+   TEST_TT(unsigned int, int, true);
+   TEST_TT(unsigned int, long int, true);
+   TEST_TT(unsigned int, unsigned char, true);
+   TEST_TT(unsigned int, unsigned short int, true);
+   TEST_TT(unsigned int, unsigned int, true);
+   TEST_TT(unsigned int, unsigned long int, true);
+   TEST_TT(unsigned int, wchar_t, true);
+   TEST_TT(unsigned int, float, true);
+   TEST_TT(unsigned int, double, true);
+   TEST_TT(unsigned int, long double, true);
+   TEST_TT(unsigned long int, bool, true);
+   TEST_TT(unsigned long int, char, true);
+   TEST_TT(unsigned long int, signed char, true);
+   TEST_TT(unsigned long int, short int, true);
+   TEST_TT(unsigned long int, int, true);
+   TEST_TT(unsigned long int, long int, true);
+   TEST_TT(unsigned long int, unsigned char, true);
+   TEST_TT(unsigned long int, unsigned short int, true);
+   TEST_TT(unsigned long int, unsigned int, true);
+   TEST_TT(unsigned long int, unsigned long int, true);
+   TEST_TT(unsigned long int, wchar_t, true);
+   TEST_TT(unsigned long int, float, true);
+   TEST_TT(unsigned long int, double, true);
+   TEST_TT(unsigned long int, long double, true);
+   TEST_TT(wchar_t, bool, true);
+   TEST_TT(wchar_t, char, true);
+   TEST_TT(wchar_t, signed char, true);
+   TEST_TT(wchar_t, short int, true);
+   TEST_TT(wchar_t, int, true);
+   TEST_TT(wchar_t, long int, true);
+   TEST_TT(wchar_t, unsigned char, true);
+   TEST_TT(wchar_t, unsigned short int, true);
+   TEST_TT(wchar_t, unsigned int, true);
+   TEST_TT(wchar_t, unsigned long int, true);
+   TEST_TT(wchar_t, wchar_t, true);
+   TEST_TT(wchar_t, float, true);
+   TEST_TT(wchar_t, double, true);
+   TEST_TT(wchar_t, long double, true);
+   TEST_TT(float, bool, true);
+   TEST_TT(float, char, true);
+   TEST_TT(float, signed char, true);
+   TEST_TT(float, short int, true);
+   TEST_TT(float, int, true);
+   TEST_TT(float, long int, true);
+   TEST_TT(float, unsigned char, true);
+   TEST_TT(float, unsigned short int, true);
+   TEST_TT(float, unsigned int, true);
+   TEST_TT(float, unsigned long int, true);
+   TEST_TT(float, wchar_t, true);
+   TEST_TT(float, float, true);
+   TEST_TT(float, double, true);
+   TEST_TT(float, long double, true);
+   TEST_TT(double, bool, true);
+   TEST_TT(double, char, true);
+   TEST_TT(double, signed char, true);
+   TEST_TT(double, short int, true);
+   TEST_TT(double, int, true);
+   TEST_TT(double, long int, true);
+   TEST_TT(double, unsigned char, true);
+   TEST_TT(double, unsigned short int, true);
+   TEST_TT(double, unsigned int, true);
+   TEST_TT(double, unsigned long int, true);
+   TEST_TT(double, wchar_t, true);
+   TEST_TT(double, float, true);
+   TEST_TT(double, double, true);
+   TEST_TT(double, long double, true);
+   TEST_TT(long double, bool, true);
+   TEST_TT(long double, char, true);
+   TEST_TT(long double, signed char, true);
+   TEST_TT(long double, short int, true);
+   TEST_TT(long double, int, true);
+   TEST_TT(long double, long int, true);
+   TEST_TT(long double, unsigned char, true);
+   TEST_TT(long double, unsigned short int, true);
+   TEST_TT(long double, unsigned int, true);
+   TEST_TT(long double, unsigned long int, true);
+   TEST_TT(long double, wchar_t, true);
+   TEST_TT(long double, float, true);
+   TEST_TT(long double, double, true);
+   TEST_TT(long double, long double, true);
+   TEST_TT(bool, void, false);
+   TEST_TT(void, bool, false);
+   TEST_TT(char, void, false);
+   TEST_TT(void, char, false);
+   TEST_TT(signed char, void, false);
+   TEST_TT(void, signed char, false);
+   TEST_TT(short int, void, false);
+   TEST_TT(void, short int, false);
+   TEST_TT(int, void, false);
+   TEST_TT(void, int, false);
+   TEST_TT(long int, void, false);
+   TEST_TT(void, long int, false);
+   TEST_TT(unsigned char, void, false);
+   TEST_TT(void, unsigned char, false);
+   TEST_TT(unsigned short int, void, false);
+   TEST_TT(void, unsigned short int, false);
+   TEST_TT(unsigned int, void, false);
+   TEST_TT(void, unsigned int, false);
+   TEST_TT(unsigned long int, void, false);
+   TEST_TT(void, unsigned long int, false);
+   TEST_TT(wchar_t, void, false);
+   TEST_TT(void, wchar_t, false);
+   TEST_TT(float, void, false);
+   TEST_TT(void, float, false);
+   TEST_TT(double, void, false);
+   TEST_TT(void, double, false);
+   TEST_TT(long double, void, false);
+   TEST_TT(void, long double, false);
 
 // test with three template parameters
-	TEST_TTR(bool, bool, bool, true);
-	TEST_TTR(bool, char, bool, true);
-	TEST_TTR(bool, signed char, bool, true);
-	TEST_TTR(bool, short int, bool, true);
-	TEST_TTR(bool, int, bool, true);
-	TEST_TTR(bool, long int, bool, true);
-	TEST_TTR(bool, unsigned char, bool, true);
-	TEST_TTR(bool, unsigned short int, bool, true);
-	TEST_TTR(bool, unsigned int, bool, true);
-	TEST_TTR(bool, unsigned long int, bool, true);
-	TEST_TTR(bool, wchar_t, bool, true);
-	TEST_TTR(bool, float, bool, true);
-	TEST_TTR(bool, double, bool, true);
-	TEST_TTR(bool, long double, bool, true);
-	TEST_TTR(char, bool, bool, true);
-	TEST_TTR(char, char, bool, true);
-	TEST_TTR(char, signed char, bool, true);
-	TEST_TTR(char, short int, bool, true);
-	TEST_TTR(char, int, bool, true);
-	TEST_TTR(char, long int, bool, true);
-	TEST_TTR(char, unsigned char, bool, true);
-	TEST_TTR(char, unsigned short int, bool, true);
-	TEST_TTR(char, unsigned int, bool, true);
-	TEST_TTR(char, unsigned long int, bool, true);
-	TEST_TTR(char, wchar_t, bool, true);
-	TEST_TTR(char, float, bool, true);
-	TEST_TTR(char, double, bool, true);
-	TEST_TTR(char, long double, bool, true);
-	TEST_TTR(signed char, bool, bool, true);
-	TEST_TTR(signed char, char, bool, true);
-	TEST_TTR(signed char, signed char, bool, true);
-	TEST_TTR(signed char, short int, bool, true);
-	TEST_TTR(signed char, int, bool, true);
-	TEST_TTR(signed char, long int, bool, true);
-	TEST_TTR(signed char, unsigned char, bool, true);
-	TEST_TTR(signed char, unsigned short int, bool, true);
-	TEST_TTR(signed char, unsigned int, bool, true);
-	TEST_TTR(signed char, unsigned long int, bool, true);
-	TEST_TTR(signed char, wchar_t, bool, true);
-	TEST_TTR(signed char, float, bool, true);
-	TEST_TTR(signed char, double, bool, true);
-	TEST_TTR(signed char, long double, bool, true);
-	TEST_TTR(short int, bool, bool, true);
-	TEST_TTR(short int, char, bool, true);
-	TEST_TTR(short int, signed char, bool, true);
-	TEST_TTR(short int, short int, bool, true);
-	TEST_TTR(short int, int, bool, true);
-	TEST_TTR(short int, long int, bool, true);
-	TEST_TTR(short int, unsigned char, bool, true);
-	TEST_TTR(short int, unsigned short int, bool, true);
-	TEST_TTR(short int, unsigned int, bool, true);
-	TEST_TTR(short int, unsigned long int, bool, true);
-	TEST_TTR(short int, wchar_t, bool, true);
-	TEST_TTR(short int, float, bool, true);
-	TEST_TTR(short int, double, bool, true);
-	TEST_TTR(short int, long double, bool, true);
-	TEST_TTR(int, bool, bool, true);
-	TEST_TTR(int, char, bool, true);
-	TEST_TTR(int, signed char, bool, true);
-	TEST_TTR(int, short int, bool, true);
-	TEST_TTR(int, int, bool, true);
-	TEST_TTR(int, long int, bool, true);
-	TEST_TTR(int, unsigned char, bool, true);
-	TEST_TTR(int, unsigned short int, bool, true);
-	TEST_TTR(int, unsigned int, bool, true);
-	TEST_TTR(int, unsigned long int, bool, true);
-	TEST_TTR(int, wchar_t, bool, true);
-	TEST_TTR(int, float, bool, true);
-	TEST_TTR(int, double, bool, true);
-	TEST_TTR(int, long double, bool, true);
-	TEST_TTR(long int, bool, bool, true);
-	TEST_TTR(long int, char, bool, true);
-	TEST_TTR(long int, signed char, bool, true);
-	TEST_TTR(long int, short int, bool, true);
-	TEST_TTR(long int, int, bool, true);
-	TEST_TTR(long int, long int, bool, true);
-	TEST_TTR(long int, unsigned char, bool, true);
-	TEST_TTR(long int, unsigned short int, bool, true);
-	TEST_TTR(long int, unsigned int, bool, true);
-	TEST_TTR(long int, unsigned long int, bool, true);
-	TEST_TTR(long int, wchar_t, bool, true);
-	TEST_TTR(long int, float, bool, true);
-	TEST_TTR(long int, double, bool, true);
-	TEST_TTR(long int, long double, bool, true);
-	TEST_TTR(unsigned char, bool, bool, true);
-	TEST_TTR(unsigned char, char, bool, true);
-	TEST_TTR(unsigned char, signed char, bool, true);
-	TEST_TTR(unsigned char, short int, bool, true);
-	TEST_TTR(unsigned char, int, bool, true);
-	TEST_TTR(unsigned char, long int, bool, true);
-	TEST_TTR(unsigned char, unsigned char, bool, true);
-	TEST_TTR(unsigned char, unsigned short int, bool, true);
-	TEST_TTR(unsigned char, unsigned int, bool, true);
-	TEST_TTR(unsigned char, unsigned long int, bool, true);
-	TEST_TTR(unsigned char, wchar_t, bool, true);
-	TEST_TTR(unsigned char, float, bool, true);
-	TEST_TTR(unsigned char, double, bool, true);
-	TEST_TTR(unsigned char, long double, bool, true);
-	TEST_TTR(unsigned short int, bool, bool, true);
-	TEST_TTR(unsigned short int, char, bool, true);
-	TEST_TTR(unsigned short int, signed char, bool, true);
-	TEST_TTR(unsigned short int, short int, bool, true);
-	TEST_TTR(unsigned short int, int, bool, true);
-	TEST_TTR(unsigned short int, long int, bool, true);
-	TEST_TTR(unsigned short int, unsigned char, bool, true);
-	TEST_TTR(unsigned short int, unsigned short int, bool, true);
-	TEST_TTR(unsigned short int, unsigned int, bool, true);
-	TEST_TTR(unsigned short int, unsigned long int, bool, true);
-	TEST_TTR(unsigned short int, wchar_t, bool, true);
-	TEST_TTR(unsigned short int, float, bool, true);
-	TEST_TTR(unsigned short int, double, bool, true);
-	TEST_TTR(unsigned short int, long double, bool, true);
-	TEST_TTR(unsigned int, bool, bool, true);
-	TEST_TTR(unsigned int, char, bool, true);
-	TEST_TTR(unsigned int, signed char, bool, true);
-	TEST_TTR(unsigned int, short int, bool, true);
-	TEST_TTR(unsigned int, int, bool, true);
-	TEST_TTR(unsigned int, long int, bool, true);
-	TEST_TTR(unsigned int, unsigned char, bool, true);
-	TEST_TTR(unsigned int, unsigned short int, bool, true);
-	TEST_TTR(unsigned int, unsigned int, bool, true);
-	TEST_TTR(unsigned int, unsigned long int, bool, true);
-	TEST_TTR(unsigned int, wchar_t, bool, true);
-	TEST_TTR(unsigned int, float, bool, true);
-	TEST_TTR(unsigned int, double, bool, true);
-	TEST_TTR(unsigned int, long double, bool, true);
-	TEST_TTR(unsigned long int, bool, bool, true);
-	TEST_TTR(unsigned long int, char, bool, true);
-	TEST_TTR(unsigned long int, signed char, bool, true);
-	TEST_TTR(unsigned long int, short int, bool, true);
-	TEST_TTR(unsigned long int, int, bool, true);
-	TEST_TTR(unsigned long int, long int, bool, true);
-	TEST_TTR(unsigned long int, unsigned char, bool, true);
-	TEST_TTR(unsigned long int, unsigned short int, bool, true);
-	TEST_TTR(unsigned long int, unsigned int, bool, true);
-	TEST_TTR(unsigned long int, unsigned long int, bool, true);
-	TEST_TTR(unsigned long int, wchar_t, bool, true);
-	TEST_TTR(unsigned long int, float, bool, true);
-	TEST_TTR(unsigned long int, double, bool, true);
-	TEST_TTR(unsigned long int, long double, bool, true);
-	TEST_TTR(wchar_t, bool, bool, true);
-	TEST_TTR(wchar_t, char, bool, true);
-	TEST_TTR(wchar_t, signed char, bool, true);
-	TEST_TTR(wchar_t, short int, bool, true);
-	TEST_TTR(wchar_t, int, bool, true);
-	TEST_TTR(wchar_t, long int, bool, true);
-	TEST_TTR(wchar_t, unsigned char, bool, true);
-	TEST_TTR(wchar_t, unsigned short int, bool, true);
-	TEST_TTR(wchar_t, unsigned int, bool, true);
-	TEST_TTR(wchar_t, unsigned long int, bool, true);
-	TEST_TTR(wchar_t, wchar_t, bool, true);
-	TEST_TTR(wchar_t, float, bool, true);
-	TEST_TTR(wchar_t, double, bool, true);
-	TEST_TTR(wchar_t, long double, bool, true);
-	TEST_TTR(float, bool, bool, true);
-	TEST_TTR(float, char, bool, true);
-	TEST_TTR(float, signed char, bool, true);
-	TEST_TTR(float, short int, bool, true);
-	TEST_TTR(float, int, bool, true);
-	TEST_TTR(float, long int, bool, true);
-	TEST_TTR(float, unsigned char, bool, true);
-	TEST_TTR(float, unsigned short int, bool, true);
-	TEST_TTR(float, unsigned int, bool, true);
-	TEST_TTR(float, unsigned long int, bool, true);
-	TEST_TTR(float, wchar_t, bool, true);
-	TEST_TTR(float, float, bool, true);
-	TEST_TTR(float, double, bool, true);
-	TEST_TTR(float, long double, bool, true);
-	TEST_TTR(double, bool, bool, true);
-	TEST_TTR(double, char, bool, true);
-	TEST_TTR(double, signed char, bool, true);
-	TEST_TTR(double, short int, bool, true);
-	TEST_TTR(double, int, bool, true);
-	TEST_TTR(double, long int, bool, true);
-	TEST_TTR(double, unsigned char, bool, true);
-	TEST_TTR(double, unsigned short int, bool, true);
-	TEST_TTR(double, unsigned int, bool, true);
-	TEST_TTR(double, unsigned long int, bool, true);
-	TEST_TTR(double, wchar_t, bool, true);
-	TEST_TTR(double, float, bool, true);
-	TEST_TTR(double, double, bool, true);
-	TEST_TTR(double, long double, bool, true);
-	TEST_TTR(long double, bool, bool, true);
-	TEST_TTR(long double, char, bool, true);
-	TEST_TTR(long double, signed char, bool, true);
-	TEST_TTR(long double, short int, bool, true);
-	TEST_TTR(long double, int, bool, true);
-	TEST_TTR(long double, long int, bool, true);
-	TEST_TTR(long double, unsigned char, bool, true);
-	TEST_TTR(long double, unsigned short int, bool, true);
-	TEST_TTR(long double, unsigned int, bool, true);
-	TEST_TTR(long double, unsigned long int, bool, true);
-	TEST_TTR(long double, wchar_t, bool, true);
-	TEST_TTR(long double, float, bool, true);
-	TEST_TTR(long double, double, bool, true);
-	TEST_TTR(long double, long double, bool, true);
-	TEST_TTR(bool, bool, tag, false);
-	TEST_TTR(bool, char, tag, false);
-	TEST_TTR(bool, signed char, tag, false);
-	TEST_TTR(bool, short int, tag, false);
-	TEST_TTR(bool, int, tag, false);
-	TEST_TTR(bool, long int, tag, false);
-	TEST_TTR(bool, unsigned char, tag, false);
-	TEST_TTR(bool, unsigned short int, tag, false);
-	TEST_TTR(bool, unsigned int, tag, false);
-	TEST_TTR(bool, unsigned long int, tag, false);
-	TEST_TTR(bool, wchar_t, tag, false);
-	TEST_TTR(bool, float, tag, false);
-	TEST_TTR(bool, double, tag, false);
-	TEST_TTR(bool, long double, tag, false);
-	TEST_TTR(char, bool, tag, false);
-	TEST_TTR(char, char, tag, false);
-	TEST_TTR(char, signed char, tag, false);
-	TEST_TTR(char, short int, tag, false);
-	TEST_TTR(char, int, tag, false);
-	TEST_TTR(char, long int, tag, false);
-	TEST_TTR(char, unsigned char, tag, false);
-	TEST_TTR(char, unsigned short int, tag, false);
-	TEST_TTR(char, unsigned int, tag, false);
-	TEST_TTR(char, unsigned long int, tag, false);
-	TEST_TTR(char, wchar_t, tag, false);
-	TEST_TTR(char, float, tag, false);
-	TEST_TTR(char, double, tag, false);
-	TEST_TTR(char, long double, tag, false);
-	TEST_TTR(signed char, bool, tag, false);
-	TEST_TTR(signed char, char, tag, false);
-	TEST_TTR(signed char, signed char, tag, false);
-	TEST_TTR(signed char, short int, tag, false);
-	TEST_TTR(signed char, int, tag, false);
-	TEST_TTR(signed char, long int, tag, false);
-	TEST_TTR(signed char, unsigned char, tag, false);
-	TEST_TTR(signed char, unsigned short int, tag, false);
-	TEST_TTR(signed char, unsigned int, tag, false);
-	TEST_TTR(signed char, unsigned long int, tag, false);
-	TEST_TTR(signed char, wchar_t, tag, false);
-	TEST_TTR(signed char, float, tag, false);
-	TEST_TTR(signed char, double, tag, false);
-	TEST_TTR(signed char, long double, tag, false);
-	TEST_TTR(short int, bool, tag, false);
-	TEST_TTR(short int, char, tag, false);
-	TEST_TTR(short int, signed char, tag, false);
-	TEST_TTR(short int, short int, tag, false);
-	TEST_TTR(short int, int, tag, false);
-	TEST_TTR(short int, long int, tag, false);
-	TEST_TTR(short int, unsigned char, tag, false);
-	TEST_TTR(short int, unsigned short int, tag, false);
-	TEST_TTR(short int, unsigned int, tag, false);
-	TEST_TTR(short int, unsigned long int, tag, false);
-	TEST_TTR(short int, wchar_t, tag, false);
-	TEST_TTR(short int, float, tag, false);
-	TEST_TTR(short int, double, tag, false);
-	TEST_TTR(short int, long double, tag, false);
-	TEST_TTR(int, bool, tag, false);
-	TEST_TTR(int, char, tag, false);
-	TEST_TTR(int, signed char, tag, false);
-	TEST_TTR(int, short int, tag, false);
-	TEST_TTR(int, int, tag, false);
-	TEST_TTR(int, long int, tag, false);
-	TEST_TTR(int, unsigned char, tag, false);
-	TEST_TTR(int, unsigned short int, tag, false);
-	TEST_TTR(int, unsigned int, tag, false);
-	TEST_TTR(int, unsigned long int, tag, false);
-	TEST_TTR(int, wchar_t, tag, false);
-	TEST_TTR(int, float, tag, false);
-	TEST_TTR(int, double, tag, false);
-	TEST_TTR(int, long double, tag, false);
-	TEST_TTR(long int, bool, tag, false);
-	TEST_TTR(long int, char, tag, false);
-	TEST_TTR(long int, signed char, tag, false);
-	TEST_TTR(long int, short int, tag, false);
-	TEST_TTR(long int, int, tag, false);
-	TEST_TTR(long int, long int, tag, false);
-	TEST_TTR(long int, unsigned char, tag, false);
-	TEST_TTR(long int, unsigned short int, tag, false);
-	TEST_TTR(long int, unsigned int, tag, false);
-	TEST_TTR(long int, unsigned long int, tag, false);
-	TEST_TTR(long int, wchar_t, tag, false);
-	TEST_TTR(long int, float, tag, false);
-	TEST_TTR(long int, double, tag, false);
-	TEST_TTR(long int, long double, tag, false);
-	TEST_TTR(unsigned char, bool, tag, false);
-	TEST_TTR(unsigned char, char, tag, false);
-	TEST_TTR(unsigned char, signed char, tag, false);
-	TEST_TTR(unsigned char, short int, tag, false);
-	TEST_TTR(unsigned char, int, tag, false);
-	TEST_TTR(unsigned char, long int, tag, false);
-	TEST_TTR(unsigned char, unsigned char, tag, false);
-	TEST_TTR(unsigned char, unsigned short int, tag, false);
-	TEST_TTR(unsigned char, unsigned int, tag, false);
-	TEST_TTR(unsigned char, unsigned long int, tag, false);
-	TEST_TTR(unsigned char, wchar_t, tag, false);
-	TEST_TTR(unsigned char, float, tag, false);
-	TEST_TTR(unsigned char, double, tag, false);
-	TEST_TTR(unsigned char, long double, tag, false);
-	TEST_TTR(unsigned short int, bool, tag, false);
-	TEST_TTR(unsigned short int, char, tag, false);
-	TEST_TTR(unsigned short int, signed char, tag, false);
-	TEST_TTR(unsigned short int, short int, tag, false);
-	TEST_TTR(unsigned short int, int, tag, false);
-	TEST_TTR(unsigned short int, long int, tag, false);
-	TEST_TTR(unsigned short int, unsigned char, tag, false);
-	TEST_TTR(unsigned short int, unsigned short int, tag, false);
-	TEST_TTR(unsigned short int, unsigned int, tag, false);
-	TEST_TTR(unsigned short int, unsigned long int, tag, false);
-	TEST_TTR(unsigned short int, wchar_t, tag, false);
-	TEST_TTR(unsigned short int, float, tag, false);
-	TEST_TTR(unsigned short int, double, tag, false);
-	TEST_TTR(unsigned short int, long double, tag, false);
-	TEST_TTR(unsigned int, bool, tag, false);
-	TEST_TTR(unsigned int, char, tag, false);
-	TEST_TTR(unsigned int, signed char, tag, false);
-	TEST_TTR(unsigned int, short int, tag, false);
-	TEST_TTR(unsigned int, int, tag, false);
-	TEST_TTR(unsigned int, long int, tag, false);
-	TEST_TTR(unsigned int, unsigned char, tag, false);
-	TEST_TTR(unsigned int, unsigned short int, tag, false);
-	TEST_TTR(unsigned int, unsigned int, tag, false);
-	TEST_TTR(unsigned int, unsigned long int, tag, false);
-	TEST_TTR(unsigned int, wchar_t, tag, false);
-	TEST_TTR(unsigned int, float, tag, false);
-	TEST_TTR(unsigned int, double, tag, false);
-	TEST_TTR(unsigned int, long double, tag, false);
-	TEST_TTR(unsigned long int, bool, tag, false);
-	TEST_TTR(unsigned long int, char, tag, false);
-	TEST_TTR(unsigned long int, signed char, tag, false);
-	TEST_TTR(unsigned long int, short int, tag, false);
-	TEST_TTR(unsigned long int, int, tag, false);
-	TEST_TTR(unsigned long int, long int, tag, false);
-	TEST_TTR(unsigned long int, unsigned char, tag, false);
-	TEST_TTR(unsigned long int, unsigned short int, tag, false);
-	TEST_TTR(unsigned long int, unsigned int, tag, false);
-	TEST_TTR(unsigned long int, unsigned long int, tag, false);
-	TEST_TTR(unsigned long int, wchar_t, tag, false);
-	TEST_TTR(unsigned long int, float, tag, false);
-	TEST_TTR(unsigned long int, double, tag, false);
-	TEST_TTR(unsigned long int, long double, tag, false);
-	TEST_TTR(wchar_t, bool, tag, false);
-	TEST_TTR(wchar_t, char, tag, false);
-	TEST_TTR(wchar_t, signed char, tag, false);
-	TEST_TTR(wchar_t, short int, tag, false);
-	TEST_TTR(wchar_t, int, tag, false);
-	TEST_TTR(wchar_t, long int, tag, false);
-	TEST_TTR(wchar_t, unsigned char, tag, false);
-	TEST_TTR(wchar_t, unsigned short int, tag, false);
-	TEST_TTR(wchar_t, unsigned int, tag, false);
-	TEST_TTR(wchar_t, unsigned long int, tag, false);
-	TEST_TTR(wchar_t, wchar_t, tag, false);
-	TEST_TTR(wchar_t, float, tag, false);
-	TEST_TTR(wchar_t, double, tag, false);
-	TEST_TTR(wchar_t, long double, tag, false);
-	TEST_TTR(float, bool, tag, false);
-	TEST_TTR(float, char, tag, false);
-	TEST_TTR(float, signed char, tag, false);
-	TEST_TTR(float, short int, tag, false);
-	TEST_TTR(float, int, tag, false);
-	TEST_TTR(float, long int, tag, false);
-	TEST_TTR(float, unsigned char, tag, false);
-	TEST_TTR(float, unsigned short int, tag, false);
-	TEST_TTR(float, unsigned int, tag, false);
-	TEST_TTR(float, unsigned long int, tag, false);
-	TEST_TTR(float, wchar_t, tag, false);
-	TEST_TTR(float, float, tag, false);
-	TEST_TTR(float, double, tag, false);
-	TEST_TTR(float, long double, tag, false);
-	TEST_TTR(double, bool, tag, false);
-	TEST_TTR(double, char, tag, false);
-	TEST_TTR(double, signed char, tag, false);
-	TEST_TTR(double, short int, tag, false);
-	TEST_TTR(double, int, tag, false);
-	TEST_TTR(double, long int, tag, false);
-	TEST_TTR(double, unsigned char, tag, false);
-	TEST_TTR(double, unsigned short int, tag, false);
-	TEST_TTR(double, unsigned int, tag, false);
-	TEST_TTR(double, unsigned long int, tag, false);
-	TEST_TTR(double, wchar_t, tag, false);
-	TEST_TTR(double, float, tag, false);
-	TEST_TTR(double, double, tag, false);
-	TEST_TTR(double, long double, tag, false);
-	TEST_TTR(long double, bool, tag, false);
-	TEST_TTR(long double, char, tag, false);
-	TEST_TTR(long double, signed char, tag, false);
-	TEST_TTR(long double, short int, tag, false);
-	TEST_TTR(long double, int, tag, false);
-	TEST_TTR(long double, long int, tag, false);
-	TEST_TTR(long double, unsigned char, tag, false);
-	TEST_TTR(long double, unsigned short int, tag, false);
-	TEST_TTR(long double, unsigned int, tag, false);
-	TEST_TTR(long double, unsigned long int, tag, false);
-	TEST_TTR(long double, wchar_t, tag, false);
-	TEST_TTR(long double, float, tag, false);
-	TEST_TTR(long double, double, tag, false);
-	TEST_TTR(long double, long double, tag, false);
+   TEST_TTR(bool, bool, bool, true);
+   TEST_TTR(bool, char, bool, true);
+   TEST_TTR(bool, signed char, bool, true);
+   TEST_TTR(bool, short int, bool, true);
+   TEST_TTR(bool, int, bool, true);
+   TEST_TTR(bool, long int, bool, true);
+   TEST_TTR(bool, unsigned char, bool, true);
+   TEST_TTR(bool, unsigned short int, bool, true);
+   TEST_TTR(bool, unsigned int, bool, true);
+   TEST_TTR(bool, unsigned long int, bool, true);
+   TEST_TTR(bool, wchar_t, bool, true);
+   TEST_TTR(bool, float, bool, true);
+   TEST_TTR(bool, double, bool, true);
+   TEST_TTR(bool, long double, bool, true);
+   TEST_TTR(char, bool, bool, true);
+   TEST_TTR(char, char, bool, true);
+   TEST_TTR(char, signed char, bool, true);
+   TEST_TTR(char, short int, bool, true);
+   TEST_TTR(char, int, bool, true);
+   TEST_TTR(char, long int, bool, true);
+   TEST_TTR(char, unsigned char, bool, true);
+   TEST_TTR(char, unsigned short int, bool, true);
+   TEST_TTR(char, unsigned int, bool, true);
+   TEST_TTR(char, unsigned long int, bool, true);
+   TEST_TTR(char, wchar_t, bool, true);
+   TEST_TTR(char, float, bool, true);
+   TEST_TTR(char, double, bool, true);
+   TEST_TTR(char, long double, bool, true);
+   TEST_TTR(signed char, bool, bool, true);
+   TEST_TTR(signed char, char, bool, true);
+   TEST_TTR(signed char, signed char, bool, true);
+   TEST_TTR(signed char, short int, bool, true);
+   TEST_TTR(signed char, int, bool, true);
+   TEST_TTR(signed char, long int, bool, true);
+   TEST_TTR(signed char, unsigned char, bool, true);
+   TEST_TTR(signed char, unsigned short int, bool, true);
+   TEST_TTR(signed char, unsigned int, bool, true);
+   TEST_TTR(signed char, unsigned long int, bool, true);
+   TEST_TTR(signed char, wchar_t, bool, true);
+   TEST_TTR(signed char, float, bool, true);
+   TEST_TTR(signed char, double, bool, true);
+   TEST_TTR(signed char, long double, bool, true);
+   TEST_TTR(short int, bool, bool, true);
+   TEST_TTR(short int, char, bool, true);
+   TEST_TTR(short int, signed char, bool, true);
+   TEST_TTR(short int, short int, bool, true);
+   TEST_TTR(short int, int, bool, true);
+   TEST_TTR(short int, long int, bool, true);
+   TEST_TTR(short int, unsigned char, bool, true);
+   TEST_TTR(short int, unsigned short int, bool, true);
+   TEST_TTR(short int, unsigned int, bool, true);
+   TEST_TTR(short int, unsigned long int, bool, true);
+   TEST_TTR(short int, wchar_t, bool, true);
+   TEST_TTR(short int, float, bool, true);
+   TEST_TTR(short int, double, bool, true);
+   TEST_TTR(short int, long double, bool, true);
+   TEST_TTR(int, bool, bool, true);
+   TEST_TTR(int, char, bool, true);
+   TEST_TTR(int, signed char, bool, true);
+   TEST_TTR(int, short int, bool, true);
+   TEST_TTR(int, int, bool, true);
+   TEST_TTR(int, long int, bool, true);
+   TEST_TTR(int, unsigned char, bool, true);
+   TEST_TTR(int, unsigned short int, bool, true);
+   TEST_TTR(int, unsigned int, bool, true);
+   TEST_TTR(int, unsigned long int, bool, true);
+   TEST_TTR(int, wchar_t, bool, true);
+   TEST_TTR(int, float, bool, true);
+   TEST_TTR(int, double, bool, true);
+   TEST_TTR(int, long double, bool, true);
+   TEST_TTR(long int, bool, bool, true);
+   TEST_TTR(long int, char, bool, true);
+   TEST_TTR(long int, signed char, bool, true);
+   TEST_TTR(long int, short int, bool, true);
+   TEST_TTR(long int, int, bool, true);
+   TEST_TTR(long int, long int, bool, true);
+   TEST_TTR(long int, unsigned char, bool, true);
+   TEST_TTR(long int, unsigned short int, bool, true);
+   TEST_TTR(long int, unsigned int, bool, true);
+   TEST_TTR(long int, unsigned long int, bool, true);
+   TEST_TTR(long int, wchar_t, bool, true);
+   TEST_TTR(long int, float, bool, true);
+   TEST_TTR(long int, double, bool, true);
+   TEST_TTR(long int, long double, bool, true);
+   TEST_TTR(unsigned char, bool, bool, true);
+   TEST_TTR(unsigned char, char, bool, true);
+   TEST_TTR(unsigned char, signed char, bool, true);
+   TEST_TTR(unsigned char, short int, bool, true);
+   TEST_TTR(unsigned char, int, bool, true);
+   TEST_TTR(unsigned char, long int, bool, true);
+   TEST_TTR(unsigned char, unsigned char, bool, true);
+   TEST_TTR(unsigned char, unsigned short int, bool, true);
+   TEST_TTR(unsigned char, unsigned int, bool, true);
+   TEST_TTR(unsigned char, unsigned long int, bool, true);
+   TEST_TTR(unsigned char, wchar_t, bool, true);
+   TEST_TTR(unsigned char, float, bool, true);
+   TEST_TTR(unsigned char, double, bool, true);
+   TEST_TTR(unsigned char, long double, bool, true);
+   TEST_TTR(unsigned short int, bool, bool, true);
+   TEST_TTR(unsigned short int, char, bool, true);
+   TEST_TTR(unsigned short int, signed char, bool, true);
+   TEST_TTR(unsigned short int, short int, bool, true);
+   TEST_TTR(unsigned short int, int, bool, true);
+   TEST_TTR(unsigned short int, long int, bool, true);
+   TEST_TTR(unsigned short int, unsigned char, bool, true);
+   TEST_TTR(unsigned short int, unsigned short int, bool, true);
+   TEST_TTR(unsigned short int, unsigned int, bool, true);
+   TEST_TTR(unsigned short int, unsigned long int, bool, true);
+   TEST_TTR(unsigned short int, wchar_t, bool, true);
+   TEST_TTR(unsigned short int, float, bool, true);
+   TEST_TTR(unsigned short int, double, bool, true);
+   TEST_TTR(unsigned short int, long double, bool, true);
+   TEST_TTR(unsigned int, bool, bool, true);
+   TEST_TTR(unsigned int, char, bool, true);
+   TEST_TTR(unsigned int, signed char, bool, true);
+   TEST_TTR(unsigned int, short int, bool, true);
+   TEST_TTR(unsigned int, int, bool, true);
+   TEST_TTR(unsigned int, long int, bool, true);
+   TEST_TTR(unsigned int, unsigned char, bool, true);
+   TEST_TTR(unsigned int, unsigned short int, bool, true);
+   TEST_TTR(unsigned int, unsigned int, bool, true);
+   TEST_TTR(unsigned int, unsigned long int, bool, true);
+   TEST_TTR(unsigned int, wchar_t, bool, true);
+   TEST_TTR(unsigned int, float, bool, true);
+   TEST_TTR(unsigned int, double, bool, true);
+   TEST_TTR(unsigned int, long double, bool, true);
+   TEST_TTR(unsigned long int, bool, bool, true);
+   TEST_TTR(unsigned long int, char, bool, true);
+   TEST_TTR(unsigned long int, signed char, bool, true);
+   TEST_TTR(unsigned long int, short int, bool, true);
+   TEST_TTR(unsigned long int, int, bool, true);
+   TEST_TTR(unsigned long int, long int, bool, true);
+   TEST_TTR(unsigned long int, unsigned char, bool, true);
+   TEST_TTR(unsigned long int, unsigned short int, bool, true);
+   TEST_TTR(unsigned long int, unsigned int, bool, true);
+   TEST_TTR(unsigned long int, unsigned long int, bool, true);
+   TEST_TTR(unsigned long int, wchar_t, bool, true);
+   TEST_TTR(unsigned long int, float, bool, true);
+   TEST_TTR(unsigned long int, double, bool, true);
+   TEST_TTR(unsigned long int, long double, bool, true);
+   TEST_TTR(wchar_t, bool, bool, true);
+   TEST_TTR(wchar_t, char, bool, true);
+   TEST_TTR(wchar_t, signed char, bool, true);
+   TEST_TTR(wchar_t, short int, bool, true);
+   TEST_TTR(wchar_t, int, bool, true);
+   TEST_TTR(wchar_t, long int, bool, true);
+   TEST_TTR(wchar_t, unsigned char, bool, true);
+   TEST_TTR(wchar_t, unsigned short int, bool, true);
+   TEST_TTR(wchar_t, unsigned int, bool, true);
+   TEST_TTR(wchar_t, unsigned long int, bool, true);
+   TEST_TTR(wchar_t, wchar_t, bool, true);
+   TEST_TTR(wchar_t, float, bool, true);
+   TEST_TTR(wchar_t, double, bool, true);
+   TEST_TTR(wchar_t, long double, bool, true);
+   TEST_TTR(float, bool, bool, true);
+   TEST_TTR(float, char, bool, true);
+   TEST_TTR(float, signed char, bool, true);
+   TEST_TTR(float, short int, bool, true);
+   TEST_TTR(float, int, bool, true);
+   TEST_TTR(float, long int, bool, true);
+   TEST_TTR(float, unsigned char, bool, true);
+   TEST_TTR(float, unsigned short int, bool, true);
+   TEST_TTR(float, unsigned int, bool, true);
+   TEST_TTR(float, unsigned long int, bool, true);
+   TEST_TTR(float, wchar_t, bool, true);
+   TEST_TTR(float, float, bool, true);
+   TEST_TTR(float, double, bool, true);
+   TEST_TTR(float, long double, bool, true);
+   TEST_TTR(double, bool, bool, true);
+   TEST_TTR(double, char, bool, true);
+   TEST_TTR(double, signed char, bool, true);
+   TEST_TTR(double, short int, bool, true);
+   TEST_TTR(double, int, bool, true);
+   TEST_TTR(double, long int, bool, true);
+   TEST_TTR(double, unsigned char, bool, true);
+   TEST_TTR(double, unsigned short int, bool, true);
+   TEST_TTR(double, unsigned int, bool, true);
+   TEST_TTR(double, unsigned long int, bool, true);
+   TEST_TTR(double, wchar_t, bool, true);
+   TEST_TTR(double, float, bool, true);
+   TEST_TTR(double, double, bool, true);
+   TEST_TTR(double, long double, bool, true);
+   TEST_TTR(long double, bool, bool, true);
+   TEST_TTR(long double, char, bool, true);
+   TEST_TTR(long double, signed char, bool, true);
+   TEST_TTR(long double, short int, bool, true);
+   TEST_TTR(long double, int, bool, true);
+   TEST_TTR(long double, long int, bool, true);
+   TEST_TTR(long double, unsigned char, bool, true);
+   TEST_TTR(long double, unsigned short int, bool, true);
+   TEST_TTR(long double, unsigned int, bool, true);
+   TEST_TTR(long double, unsigned long int, bool, true);
+   TEST_TTR(long double, wchar_t, bool, true);
+   TEST_TTR(long double, float, bool, true);
+   TEST_TTR(long double, double, bool, true);
+   TEST_TTR(long double, long double, bool, true);
+   TEST_TTR(bool, bool, tag, false);
+   TEST_TTR(bool, char, tag, false);
+   TEST_TTR(bool, signed char, tag, false);
+   TEST_TTR(bool, short int, tag, false);
+   TEST_TTR(bool, int, tag, false);
+   TEST_TTR(bool, long int, tag, false);
+   TEST_TTR(bool, unsigned char, tag, false);
+   TEST_TTR(bool, unsigned short int, tag, false);
+   TEST_TTR(bool, unsigned int, tag, false);
+   TEST_TTR(bool, unsigned long int, tag, false);
+   TEST_TTR(bool, wchar_t, tag, false);
+   TEST_TTR(bool, float, tag, false);
+   TEST_TTR(bool, double, tag, false);
+   TEST_TTR(bool, long double, tag, false);
+   TEST_TTR(char, bool, tag, false);
+   TEST_TTR(char, char, tag, false);
+   TEST_TTR(char, signed char, tag, false);
+   TEST_TTR(char, short int, tag, false);
+   TEST_TTR(char, int, tag, false);
+   TEST_TTR(char, long int, tag, false);
+   TEST_TTR(char, unsigned char, tag, false);
+   TEST_TTR(char, unsigned short int, tag, false);
+   TEST_TTR(char, unsigned int, tag, false);
+   TEST_TTR(char, unsigned long int, tag, false);
+   TEST_TTR(char, wchar_t, tag, false);
+   TEST_TTR(char, float, tag, false);
+   TEST_TTR(char, double, tag, false);
+   TEST_TTR(char, long double, tag, false);
+   TEST_TTR(signed char, bool, tag, false);
+   TEST_TTR(signed char, char, tag, false);
+   TEST_TTR(signed char, signed char, tag, false);
+   TEST_TTR(signed char, short int, tag, false);
+   TEST_TTR(signed char, int, tag, false);
+   TEST_TTR(signed char, long int, tag, false);
+   TEST_TTR(signed char, unsigned char, tag, false);
+   TEST_TTR(signed char, unsigned short int, tag, false);
+   TEST_TTR(signed char, unsigned int, tag, false);
+   TEST_TTR(signed char, unsigned long int, tag, false);
+   TEST_TTR(signed char, wchar_t, tag, false);
+   TEST_TTR(signed char, float, tag, false);
+   TEST_TTR(signed char, double, tag, false);
+   TEST_TTR(signed char, long double, tag, false);
+   TEST_TTR(short int, bool, tag, false);
+   TEST_TTR(short int, char, tag, false);
+   TEST_TTR(short int, signed char, tag, false);
+   TEST_TTR(short int, short int, tag, false);
+   TEST_TTR(short int, int, tag, false);
+   TEST_TTR(short int, long int, tag, false);
+   TEST_TTR(short int, unsigned char, tag, false);
+   TEST_TTR(short int, unsigned short int, tag, false);
+   TEST_TTR(short int, unsigned int, tag, false);
+   TEST_TTR(short int, unsigned long int, tag, false);
+   TEST_TTR(short int, wchar_t, tag, false);
+   TEST_TTR(short int, float, tag, false);
+   TEST_TTR(short int, double, tag, false);
+   TEST_TTR(short int, long double, tag, false);
+   TEST_TTR(int, bool, tag, false);
+   TEST_TTR(int, char, tag, false);
+   TEST_TTR(int, signed char, tag, false);
+   TEST_TTR(int, short int, tag, false);
+   TEST_TTR(int, int, tag, false);
+   TEST_TTR(int, long int, tag, false);
+   TEST_TTR(int, unsigned char, tag, false);
+   TEST_TTR(int, unsigned short int, tag, false);
+   TEST_TTR(int, unsigned int, tag, false);
+   TEST_TTR(int, unsigned long int, tag, false);
+   TEST_TTR(int, wchar_t, tag, false);
+   TEST_TTR(int, float, tag, false);
+   TEST_TTR(int, double, tag, false);
+   TEST_TTR(int, long double, tag, false);
+   TEST_TTR(long int, bool, tag, false);
+   TEST_TTR(long int, char, tag, false);
+   TEST_TTR(long int, signed char, tag, false);
+   TEST_TTR(long int, short int, tag, false);
+   TEST_TTR(long int, int, tag, false);
+   TEST_TTR(long int, long int, tag, false);
+   TEST_TTR(long int, unsigned char, tag, false);
+   TEST_TTR(long int, unsigned short int, tag, false);
+   TEST_TTR(long int, unsigned int, tag, false);
+   TEST_TTR(long int, unsigned long int, tag, false);
+   TEST_TTR(long int, wchar_t, tag, false);
+   TEST_TTR(long int, float, tag, false);
+   TEST_TTR(long int, double, tag, false);
+   TEST_TTR(long int, long double, tag, false);
+   TEST_TTR(unsigned char, bool, tag, false);
+   TEST_TTR(unsigned char, char, tag, false);
+   TEST_TTR(unsigned char, signed char, tag, false);
+   TEST_TTR(unsigned char, short int, tag, false);
+   TEST_TTR(unsigned char, int, tag, false);
+   TEST_TTR(unsigned char, long int, tag, false);
+   TEST_TTR(unsigned char, unsigned char, tag, false);
+   TEST_TTR(unsigned char, unsigned short int, tag, false);
+   TEST_TTR(unsigned char, unsigned int, tag, false);
+   TEST_TTR(unsigned char, unsigned long int, tag, false);
+   TEST_TTR(unsigned char, wchar_t, tag, false);
+   TEST_TTR(unsigned char, float, tag, false);
+   TEST_TTR(unsigned char, double, tag, false);
+   TEST_TTR(unsigned char, long double, tag, false);
+   TEST_TTR(unsigned short int, bool, tag, false);
+   TEST_TTR(unsigned short int, char, tag, false);
+   TEST_TTR(unsigned short int, signed char, tag, false);
+   TEST_TTR(unsigned short int, short int, tag, false);
+   TEST_TTR(unsigned short int, int, tag, false);
+   TEST_TTR(unsigned short int, long int, tag, false);
+   TEST_TTR(unsigned short int, unsigned char, tag, false);
+   TEST_TTR(unsigned short int, unsigned short int, tag, false);
+   TEST_TTR(unsigned short int, unsigned int, tag, false);
+   TEST_TTR(unsigned short int, unsigned long int, tag, false);
+   TEST_TTR(unsigned short int, wchar_t, tag, false);
+   TEST_TTR(unsigned short int, float, tag, false);
+   TEST_TTR(unsigned short int, double, tag, false);
+   TEST_TTR(unsigned short int, long double, tag, false);
+   TEST_TTR(unsigned int, bool, tag, false);
+   TEST_TTR(unsigned int, char, tag, false);
+   TEST_TTR(unsigned int, signed char, tag, false);
+   TEST_TTR(unsigned int, short int, tag, false);
+   TEST_TTR(unsigned int, int, tag, false);
+   TEST_TTR(unsigned int, long int, tag, false);
+   TEST_TTR(unsigned int, unsigned char, tag, false);
+   TEST_TTR(unsigned int, unsigned short int, tag, false);
+   TEST_TTR(unsigned int, unsigned int, tag, false);
+   TEST_TTR(unsigned int, unsigned long int, tag, false);
+   TEST_TTR(unsigned int, wchar_t, tag, false);
+   TEST_TTR(unsigned int, float, tag, false);
+   TEST_TTR(unsigned int, double, tag, false);
+   TEST_TTR(unsigned int, long double, tag, false);
+   TEST_TTR(unsigned long int, bool, tag, false);
+   TEST_TTR(unsigned long int, char, tag, false);
+   TEST_TTR(unsigned long int, signed char, tag, false);
+   TEST_TTR(unsigned long int, short int, tag, false);
+   TEST_TTR(unsigned long int, int, tag, false);
+   TEST_TTR(unsigned long int, long int, tag, false);
+   TEST_TTR(unsigned long int, unsigned char, tag, false);
+   TEST_TTR(unsigned long int, unsigned short int, tag, false);
+   TEST_TTR(unsigned long int, unsigned int, tag, false);
+   TEST_TTR(unsigned long int, unsigned long int, tag, false);
+   TEST_TTR(unsigned long int, wchar_t, tag, false);
+   TEST_TTR(unsigned long int, float, tag, false);
+   TEST_TTR(unsigned long int, double, tag, false);
+   TEST_TTR(unsigned long int, long double, tag, false);
+   TEST_TTR(wchar_t, bool, tag, false);
+   TEST_TTR(wchar_t, char, tag, false);
+   TEST_TTR(wchar_t, signed char, tag, false);
+   TEST_TTR(wchar_t, short int, tag, false);
+   TEST_TTR(wchar_t, int, tag, false);
+   TEST_TTR(wchar_t, long int, tag, false);
+   TEST_TTR(wchar_t, unsigned char, tag, false);
+   TEST_TTR(wchar_t, unsigned short int, tag, false);
+   TEST_TTR(wchar_t, unsigned int, tag, false);
+   TEST_TTR(wchar_t, unsigned long int, tag, false);
+   TEST_TTR(wchar_t, wchar_t, tag, false);
+   TEST_TTR(wchar_t, float, tag, false);
+   TEST_TTR(wchar_t, double, tag, false);
+   TEST_TTR(wchar_t, long double, tag, false);
+   TEST_TTR(float, bool, tag, false);
+   TEST_TTR(float, char, tag, false);
+   TEST_TTR(float, signed char, tag, false);
+   TEST_TTR(float, short int, tag, false);
+   TEST_TTR(float, int, tag, false);
+   TEST_TTR(float, long int, tag, false);
+   TEST_TTR(float, unsigned char, tag, false);
+   TEST_TTR(float, unsigned short int, tag, false);
+   TEST_TTR(float, unsigned int, tag, false);
+   TEST_TTR(float, unsigned long int, tag, false);
+   TEST_TTR(float, wchar_t, tag, false);
+   TEST_TTR(float, float, tag, false);
+   TEST_TTR(float, double, tag, false);
+   TEST_TTR(float, long double, tag, false);
+   TEST_TTR(double, bool, tag, false);
+   TEST_TTR(double, char, tag, false);
+   TEST_TTR(double, signed char, tag, false);
+   TEST_TTR(double, short int, tag, false);
+   TEST_TTR(double, int, tag, false);
+   TEST_TTR(double, long int, tag, false);
+   TEST_TTR(double, unsigned char, tag, false);
+   TEST_TTR(double, unsigned short int, tag, false);
+   TEST_TTR(double, unsigned int, tag, false);
+   TEST_TTR(double, unsigned long int, tag, false);
+   TEST_TTR(double, wchar_t, tag, false);
+   TEST_TTR(double, float, tag, false);
+   TEST_TTR(double, double, tag, false);
+   TEST_TTR(double, long double, tag, false);
+   TEST_TTR(long double, bool, tag, false);
+   TEST_TTR(long double, char, tag, false);
+   TEST_TTR(long double, signed char, tag, false);
+   TEST_TTR(long double, short int, tag, false);
+   TEST_TTR(long double, int, tag, false);
+   TEST_TTR(long double, long int, tag, false);
+   TEST_TTR(long double, unsigned char, tag, false);
+   TEST_TTR(long double, unsigned short int, tag, false);
+   TEST_TTR(long double, unsigned int, tag, false);
+   TEST_TTR(long double, unsigned long int, tag, false);
+   TEST_TTR(long double, wchar_t, tag, false);
+   TEST_TTR(long double, float, tag, false);
+   TEST_TTR(long double, double, tag, false);
+   TEST_TTR(long double, long double, tag, false);
 
-	TEST_T(without, false);
-	TEST_T(internal, true);
-	TEST_T(external, true);
-//	compile time error
-//	TEST_T(internal_private, false);
-	TEST_T(returns_int, true);
-	TEST_T(returns_void, true);
-	TEST_T(returns_void_star, true);
-	TEST_T(returns_double, true);
-	TEST_T(returns_string, true);
-//	TEST_T(convertible_to_bool, true);
-	TEST_T(Base1, true);
-	TEST_T(Derived1, true);
-	TEST_T(Base2, false);
-	TEST_T(Derived2, true);
+   TEST_T(without, false);
+   TEST_T(internal, true);
+   TEST_T(external, true);
+// compile time error
+// TEST_T(internal_private, false);
+   TEST_T(returns_int, true);
+   TEST_T(returns_void, true);
+   TEST_T(returns_void_star, true);
+   TEST_T(returns_double, true);
+   TEST_T(returns_string, true);
+// TEST_T(convertible_to_bool, true);
+   TEST_T(Base1, true);
+   TEST_T(Derived1, true);
+   TEST_T(Base2, false);
+   TEST_T(Derived2, true);
 
-	TEST_TR(without, bool, false);
-	TEST_TR(internal, bool, false);
-	TEST_TR(internal, ret, true);
-	TEST_TR(external, bool, false);
-	TEST_TR(external, ret, true);
-	TEST_TR(returns_int, bool, true);
-	TEST_TR(returns_int, int, true);
-	TEST_TR(returns_void, void, true);
-	TEST_TR(returns_void, bool, false);
-	TEST_TR(returns_void_star, bool, true);
-	TEST_TR(returns_double, bool, true);
-	TEST_TR(returns_double, double, true);
-	TEST_TR(returns_string, bool, false);
-	TEST_TR(returns_string, std::string, true);
-//	TEST_TR(convertible_to_bool, bool, true);
-	TEST_TR(Base1, bool, true);
-	TEST_TR(Derived1, bool, true);
-	TEST_TR(Base2, bool, false);
-	TEST_TR(Derived2, bool, true);
-	// pointers
-	TEST_TT(void*, bool, false);
-	TEST_TT(void*, int, false);
-	TEST_TT(void*, double, false);
-	TEST_TT(void*, A, false);
-	TEST_TT(void*, B, false);
-	TEST_TT(bool*, bool, false);
-	TEST_TT(bool*, int, false);
-	TEST_TT(bool*, double, false);
-	TEST_TT(bool*, A, false);
-	TEST_TT(bool*, B, false);
-	TEST_TT(int*, bool, false);
-	TEST_TT(int*, int, false);
-	TEST_TT(int*, double, false);
-	TEST_TT(int*, A, false);
-	TEST_TT(int*, B, false);
-	TEST_TT(double*, bool, false);
-	TEST_TT(double*, int, false);
-	TEST_TT(double*, double, false);
-	TEST_TT(double*, A, false);
-	TEST_TT(double*, B, false);
-	TEST_TT(A*, bool, false);
-	TEST_TT(A*, int, false);
-	TEST_TT(A*, double, false);
-	TEST_TT(A*, A, false);
-	TEST_TT(A*, B, false);
-	TEST_TT(B*, bool, false);
-	TEST_TT(B*, int, false);
-	TEST_TT(B*, double, false);
-	TEST_TT(B*, A, false);
-	TEST_TT(B*, B, false);
-	TEST_TT(bool, void*, false);
-	TEST_TT(bool, bool*, false);
-	TEST_TT(bool, int*, false);
-	TEST_TT(bool, double*, false);
-	TEST_TT(bool, A*, false);
-	TEST_TT(bool, B*, false);
-	TEST_TT(int, void*, false);
-	TEST_TT(int, bool*, false);
-	TEST_TT(int, int*, false);
-	TEST_TT(int, double*, false);
-	TEST_TT(int, A*, false);
-	TEST_TT(int, B*, false);
-	TEST_TT(double, void*, false);
-	TEST_TT(double, bool*, false);
-	TEST_TT(double, int*, false);
-	TEST_TT(double, double*, false);
-	TEST_TT(double, A*, false);
-	TEST_TT(double, B*, false);
-	TEST_TT(A, void*, false);
-	TEST_TT(A, bool*, false);
-	TEST_TT(A, int*, false);
-	TEST_TT(A, double*, false);
-	TEST_TT(A, A*, false);
-	TEST_TT(A, B*, false);
-	TEST_TT(B, void*, false);
-	TEST_TT(B, bool*, false);
-	TEST_TT(B, int*, false);
-	TEST_TT(B, double*, false);
-	TEST_TT(B, A*, false);
-	TEST_TT(B, B*, false);
-	TEST_TT(void*, void*, false);
-	TEST_TT(void*, bool*, false);
-	TEST_TT(void*, int*, false);
-	TEST_TT(void*, double*, false);
-	TEST_TT(void*, A*, false);
-	TEST_TT(void*, B*, false);
-	TEST_TT(bool*, void*, false);
-	TEST_TT(bool*, bool*, false);
-	TEST_TT(bool*, int*, false);
-	TEST_TT(bool*, double*, false);
-	TEST_TT(bool*, A*, false);
-	TEST_TT(bool*, B*, false);
-	TEST_TT(int*, void*, false);
-	TEST_TT(int*, bool*, false);
-	TEST_TT(int*, int*, false);
-	TEST_TT(int*, double*, false);
-	TEST_TT(int*, A*, false);
-	TEST_TT(int*, B*, false);
-	TEST_TT(double*, void*, false);
-	TEST_TT(double*, bool*, false);
-	TEST_TT(double*, int*, false);
-	TEST_TT(double*, double*, false);
-	TEST_TT(double*, A*, false);
-	TEST_TT(double*, B*, false);
-	TEST_TT(A*, void*, false);
-	TEST_TT(A*, bool*, false);
-	TEST_TT(A*, int*, false);
-	TEST_TT(A*, double*, false);
-	TEST_TT(A*, A*, false);
-	TEST_TT(A*, B*, false);
-	TEST_TT(B*, void*, false);
-	TEST_TT(B*, bool*, false);
-	TEST_TT(B*, int*, false);
-	TEST_TT(B*, double*, false);
-	TEST_TT(B*, A*, false);
-	TEST_TT(B*, B*, false);
+   TEST_TR(without, bool, false);
+   TEST_TR(internal, bool, false);
+   TEST_TR(internal, ret, true);
+   TEST_TR(external, bool, false);
+   TEST_TR(external, ret, true);
+   TEST_TR(returns_int, bool, true);
+   TEST_TR(returns_int, int, true);
+   TEST_TR(returns_void, void, true);
+   TEST_TR(returns_void, bool, false);
+   TEST_TR(returns_void_star, bool, true);
+   TEST_TR(returns_double, bool, true);
+   TEST_TR(returns_double, double, true);
+   TEST_TR(returns_string, bool, false);
+   TEST_TR(returns_string, std::string, true);
+// TEST_TR(convertible_to_bool, bool, true);
+   TEST_TR(Base1, bool, true);
+   TEST_TR(Derived1, bool, true);
+   TEST_TR(Base2, bool, false);
+   TEST_TR(Derived2, bool, true);
+   // pointers
+   TEST_TT(void*, bool, false);
+   TEST_TT(void*, int, false);
+   TEST_TT(void*, double, false);
+   TEST_TT(void*, A, false);
+   TEST_TT(void*, B, false);
+   TEST_TT(bool*, bool, false);
+   TEST_TT(bool*, int, false);
+   TEST_TT(bool*, double, false);
+   TEST_TT(bool*, A, false);
+   TEST_TT(bool*, B, false);
+   TEST_TT(int*, bool, false);
+   TEST_TT(int*, int, false);
+   TEST_TT(int*, double, false);
+   TEST_TT(int*, A, false);
+   TEST_TT(int*, B, false);
+   TEST_TT(double*, bool, false);
+   TEST_TT(double*, int, false);
+   TEST_TT(double*, double, false);
+   TEST_TT(double*, A, false);
+   TEST_TT(double*, B, false);
+   TEST_TT(A*, bool, false);
+   TEST_TT(A*, int, false);
+   TEST_TT(A*, double, false);
+   TEST_TT(A*, A, false);
+   TEST_TT(A*, B, false);
+   TEST_TT(B*, bool, false);
+   TEST_TT(B*, int, false);
+   TEST_TT(B*, double, false);
+   TEST_TT(B*, A, false);
+   TEST_TT(B*, B, false);
+   TEST_TT(bool, void*, false);
+   TEST_TT(bool, bool*, false);
+   TEST_TT(bool, int*, false);
+   TEST_TT(bool, double*, false);
+   TEST_TT(bool, A*, false);
+   TEST_TT(bool, B*, false);
+   TEST_TT(int, void*, false);
+   TEST_TT(int, bool*, false);
+   TEST_TT(int, int*, false);
+   TEST_TT(int, double*, false);
+   TEST_TT(int, A*, false);
+   TEST_TT(int, B*, false);
+   TEST_TT(double, void*, false);
+   TEST_TT(double, bool*, false);
+   TEST_TT(double, int*, false);
+   TEST_TT(double, double*, false);
+   TEST_TT(double, A*, false);
+   TEST_TT(double, B*, false);
+   TEST_TT(A, void*, false);
+   TEST_TT(A, bool*, false);
+   TEST_TT(A, int*, false);
+   TEST_TT(A, double*, false);
+   TEST_TT(A, A*, false);
+   TEST_TT(A, B*, false);
+   TEST_TT(B, void*, false);
+   TEST_TT(B, bool*, false);
+   TEST_TT(B, int*, false);
+   TEST_TT(B, double*, false);
+   TEST_TT(B, A*, false);
+   TEST_TT(B, B*, false);
+   TEST_TT(void*, void*, false);
+   TEST_TT(void*, bool*, false);
+   TEST_TT(void*, int*, false);
+   TEST_TT(void*, double*, false);
+   TEST_TT(void*, A*, false);
+   TEST_TT(void*, B*, false);
+   TEST_TT(bool*, void*, false);
+   TEST_TT(bool*, bool*, false);
+   TEST_TT(bool*, int*, false);
+   TEST_TT(bool*, double*, false);
+   TEST_TT(bool*, A*, false);
+   TEST_TT(bool*, B*, false);
+   TEST_TT(int*, void*, false);
+   TEST_TT(int*, bool*, false);
+   TEST_TT(int*, int*, false);
+   TEST_TT(int*, double*, false);
+   TEST_TT(int*, A*, false);
+   TEST_TT(int*, B*, false);
+   TEST_TT(double*, void*, false);
+   TEST_TT(double*, bool*, false);
+   TEST_TT(double*, int*, false);
+   TEST_TT(double*, double*, false);
+   TEST_TT(double*, A*, false);
+   TEST_TT(double*, B*, false);
+   TEST_TT(A*, void*, false);
+   TEST_TT(A*, bool*, false);
+   TEST_TT(A*, int*, false);
+   TEST_TT(A*, double*, false);
+   TEST_TT(A*, A*, false);
+   TEST_TT(A*, B*, false);
+   TEST_TT(B*, void*, false);
+   TEST_TT(B*, bool*, false);
+   TEST_TT(B*, int*, false);
+   TEST_TT(B*, double*, false);
+   TEST_TT(B*, A*, false);
+   TEST_TT(B*, B*, false);
 }
 }
 
 TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-	run();
+   run();
 TT_TEST_END
Modified: sandbox/type_traits/libs/type_traits/test/has_plus_equal_operator_test.hpp
==============================================================================
--- sandbox/type_traits/libs/type_traits/test/has_plus_equal_operator_test.hpp	(original)
+++ sandbox/type_traits/libs/type_traits/test/has_plus_equal_operator_test.hpp	2011-02-03 17:09:55 EST (Thu, 03 Feb 2011)
@@ -49,7 +49,7 @@
 
 class Base2 { };
 struct Derived2 : public Base2 {
-	Derived2(int); // to check if it works with a class that is not default constructible
+   Derived2(int); // to check if it works with a class that is not default constructible
 };
 
 bool operator BOOST_TT_TRAIT_OP (const Derived2&, const Derived2&) { return true; }
@@ -60,777 +60,777 @@
 struct B : public A { };
 
 void run() {
-	// test with only one template parameter
-	TEST_T(bool, true);
-	TEST_T(char, true);
-	TEST_T(signed char, true);
-	TEST_T(short int, true);
-	TEST_T(int, true);
-	TEST_T(long int, true);
-	TEST_T(unsigned char, true);
-	TEST_T(unsigned short int, true);
-	TEST_T(unsigned int, true);
-	TEST_T(unsigned long int, true);
-	TEST_T(wchar_t, true);
-	TEST_T(float, true);
-	TEST_T(double, true);
-	TEST_T(long double, true);
-	TEST_T(void, false);
-	// test with only two template parameters
-	TEST_TT(bool, bool, true);
-	TEST_TT(bool, char, true);
-	TEST_TT(bool, signed char, true);
-	TEST_TT(bool, short int, true);
-	TEST_TT(bool, int, true);
-	TEST_TT(bool, long int, true);
-	TEST_TT(bool, unsigned char, true);
-	TEST_TT(bool, unsigned short int, true);
-	TEST_TT(bool, unsigned int, true);
-	TEST_TT(bool, unsigned long int, true);
-	TEST_TT(bool, wchar_t, true);
-	TEST_TT(bool, float, true);
-	TEST_TT(bool, double, true);
-	TEST_TT(bool, long double, true);
-	TEST_TT(char, bool, true);
-	TEST_TT(char, char, true);
-	TEST_TT(char, signed char, true);
-	TEST_TT(char, short int, true);
-	TEST_TT(char, int, true);
-	TEST_TT(char, long int, true);
-	TEST_TT(char, unsigned char, true);
-	TEST_TT(char, unsigned short int, true);
-	TEST_TT(char, unsigned int, true);
-	TEST_TT(char, unsigned long int, true);
-	TEST_TT(char, wchar_t, true);
-	TEST_TT(char, float, true);
-	TEST_TT(char, double, true);
-	TEST_TT(char, long double, true);
-	TEST_TT(signed char, bool, true);
-	TEST_TT(signed char, char, true);
-	TEST_TT(signed char, signed char, true);
-	TEST_TT(signed char, short int, true);
-	TEST_TT(signed char, int, true);
-	TEST_TT(signed char, long int, true);
-	TEST_TT(signed char, unsigned char, true);
-	TEST_TT(signed char, unsigned short int, true);
-	TEST_TT(signed char, unsigned int, true);
-	TEST_TT(signed char, unsigned long int, true);
-	TEST_TT(signed char, wchar_t, true);
-	TEST_TT(signed char, float, true);
-	TEST_TT(signed char, double, true);
-	TEST_TT(signed char, long double, true);
-	TEST_TT(short int, bool, true);
-	TEST_TT(short int, char, true);
-	TEST_TT(short int, signed char, true);
-	TEST_TT(short int, short int, true);
-	TEST_TT(short int, int, true);
-	TEST_TT(short int, long int, true);
-	TEST_TT(short int, unsigned char, true);
-	TEST_TT(short int, unsigned short int, true);
-	TEST_TT(short int, unsigned int, true);
-	TEST_TT(short int, unsigned long int, true);
-	TEST_TT(short int, wchar_t, true);
-	TEST_TT(short int, float, true);
-	TEST_TT(short int, double, true);
-	TEST_TT(short int, long double, true);
-	TEST_TT(int, bool, true);
-	TEST_TT(int, char, true);
-	TEST_TT(int, signed char, true);
-	TEST_TT(int, short int, true);
-	TEST_TT(int, int, true);
-	TEST_TT(int, long int, true);
-	TEST_TT(int, unsigned char, true);
-	TEST_TT(int, unsigned short int, true);
-	TEST_TT(int, unsigned int, true);
-	TEST_TT(int, unsigned long int, true);
-	TEST_TT(int, wchar_t, true);
-	TEST_TT(int, float, true);
-	TEST_TT(int, double, true);
-	TEST_TT(int, long double, true);
-	TEST_TT(long int, bool, true);
-	TEST_TT(long int, char, true);
-	TEST_TT(long int, signed char, true);
-	TEST_TT(long int, short int, true);
-	TEST_TT(long int, int, true);
-	TEST_TT(long int, long int, true);
-	TEST_TT(long int, unsigned char, true);
-	TEST_TT(long int, unsigned short int, true);
-	TEST_TT(long int, unsigned int, true);
-	TEST_TT(long int, unsigned long int, true);
-	TEST_TT(long int, wchar_t, true);
-	TEST_TT(long int, float, true);
-	TEST_TT(long int, double, true);
-	TEST_TT(long int, long double, true);
-	TEST_TT(unsigned char, bool, true);
-	TEST_TT(unsigned char, char, true);
-	TEST_TT(unsigned char, signed char, true);
-	TEST_TT(unsigned char, short int, true);
-	TEST_TT(unsigned char, int, true);
-	TEST_TT(unsigned char, long int, true);
-	TEST_TT(unsigned char, unsigned char, true);
-	TEST_TT(unsigned char, unsigned short int, true);
-	TEST_TT(unsigned char, unsigned int, true);
-	TEST_TT(unsigned char, unsigned long int, true);
-	TEST_TT(unsigned char, wchar_t, true);
-	TEST_TT(unsigned char, float, true);
-	TEST_TT(unsigned char, double, true);
-	TEST_TT(unsigned char, long double, true);
-	TEST_TT(unsigned short int, bool, true);
-	TEST_TT(unsigned short int, char, true);
-	TEST_TT(unsigned short int, signed char, true);
-	TEST_TT(unsigned short int, short int, true);
-	TEST_TT(unsigned short int, int, true);
-	TEST_TT(unsigned short int, long int, true);
-	TEST_TT(unsigned short int, unsigned char, true);
-	TEST_TT(unsigned short int, unsigned short int, true);
-	TEST_TT(unsigned short int, unsigned int, true);
-	TEST_TT(unsigned short int, unsigned long int, true);
-	TEST_TT(unsigned short int, wchar_t, true);
-	TEST_TT(unsigned short int, float, true);
-	TEST_TT(unsigned short int, double, true);
-	TEST_TT(unsigned short int, long double, true);
-	TEST_TT(unsigned int, bool, true);
-	TEST_TT(unsigned int, char, true);
-	TEST_TT(unsigned int, signed char, true);
-	TEST_TT(unsigned int, short int, true);
-	TEST_TT(unsigned int, int, true);
-	TEST_TT(unsigned int, long int, true);
-	TEST_TT(unsigned int, unsigned char, true);
-	TEST_TT(unsigned int, unsigned short int, true);
-	TEST_TT(unsigned int, unsigned int, true);
-	TEST_TT(unsigned int, unsigned long int, true);
-	TEST_TT(unsigned int, wchar_t, true);
-	TEST_TT(unsigned int, float, true);
-	TEST_TT(unsigned int, double, true);
-	TEST_TT(unsigned int, long double, true);
-	TEST_TT(unsigned long int, bool, true);
-	TEST_TT(unsigned long int, char, true);
-	TEST_TT(unsigned long int, signed char, true);
-	TEST_TT(unsigned long int, short int, true);
-	TEST_TT(unsigned long int, int, true);
-	TEST_TT(unsigned long int, long int, true);
-	TEST_TT(unsigned long int, unsigned char, true);
-	TEST_TT(unsigned long int, unsigned short int, true);
-	TEST_TT(unsigned long int, unsigned int, true);
-	TEST_TT(unsigned long int, unsigned long int, true);
-	TEST_TT(unsigned long int, wchar_t, true);
-	TEST_TT(unsigned long int, float, true);
-	TEST_TT(unsigned long int, double, true);
-	TEST_TT(unsigned long int, long double, true);
-	TEST_TT(wchar_t, bool, true);
-	TEST_TT(wchar_t, char, true);
-	TEST_TT(wchar_t, signed char, true);
-	TEST_TT(wchar_t, short int, true);
-	TEST_TT(wchar_t, int, true);
-	TEST_TT(wchar_t, long int, true);
-	TEST_TT(wchar_t, unsigned char, true);
-	TEST_TT(wchar_t, unsigned short int, true);
-	TEST_TT(wchar_t, unsigned int, true);
-	TEST_TT(wchar_t, unsigned long int, true);
-	TEST_TT(wchar_t, wchar_t, true);
-	TEST_TT(wchar_t, float, true);
-	TEST_TT(wchar_t, double, true);
-	TEST_TT(wchar_t, long double, true);
-	TEST_TT(float, bool, true);
-	TEST_TT(float, char, true);
-	TEST_TT(float, signed char, true);
-	TEST_TT(float, short int, true);
-	TEST_TT(float, int, true);
-	TEST_TT(float, long int, true);
-	TEST_TT(float, unsigned char, true);
-	TEST_TT(float, unsigned short int, true);
-	TEST_TT(float, unsigned int, true);
-	TEST_TT(float, unsigned long int, true);
-	TEST_TT(float, wchar_t, true);
-	TEST_TT(float, float, true);
-	TEST_TT(float, double, true);
-	TEST_TT(float, long double, true);
-	TEST_TT(double, bool, true);
-	TEST_TT(double, char, true);
-	TEST_TT(double, signed char, true);
-	TEST_TT(double, short int, true);
-	TEST_TT(double, int, true);
-	TEST_TT(double, long int, true);
-	TEST_TT(double, unsigned char, true);
-	TEST_TT(double, unsigned short int, true);
-	TEST_TT(double, unsigned int, true);
-	TEST_TT(double, unsigned long int, true);
-	TEST_TT(double, wchar_t, true);
-	TEST_TT(double, float, true);
-	TEST_TT(double, double, true);
-	TEST_TT(double, long double, true);
-	TEST_TT(long double, bool, true);
-	TEST_TT(long double, char, true);
-	TEST_TT(long double, signed char, true);
-	TEST_TT(long double, short int, true);
-	TEST_TT(long double, int, true);
-	TEST_TT(long double, long int, true);
-	TEST_TT(long double, unsigned char, true);
-	TEST_TT(long double, unsigned short int, true);
-	TEST_TT(long double, unsigned int, true);
-	TEST_TT(long double, unsigned long int, true);
-	TEST_TT(long double, wchar_t, true);
-	TEST_TT(long double, float, true);
-	TEST_TT(long double, double, true);
-	TEST_TT(long double, long double, true);
-	TEST_TT(bool, void, false);
-	TEST_TT(void, bool, false);
-	TEST_TT(char, void, false);
-	TEST_TT(void, char, false);
-	TEST_TT(signed char, void, false);
-	TEST_TT(void, signed char, false);
-	TEST_TT(short int, void, false);
-	TEST_TT(void, short int, false);
-	TEST_TT(int, void, false);
-	TEST_TT(void, int, false);
-	TEST_TT(long int, void, false);
-	TEST_TT(void, long int, false);
-	TEST_TT(unsigned char, void, false);
-	TEST_TT(void, unsigned char, false);
-	TEST_TT(unsigned short int, void, false);
-	TEST_TT(void, unsigned short int, false);
-	TEST_TT(unsigned int, void, false);
-	TEST_TT(void, unsigned int, false);
-	TEST_TT(unsigned long int, void, false);
-	TEST_TT(void, unsigned long int, false);
-	TEST_TT(wchar_t, void, false);
-	TEST_TT(void, wchar_t, false);
-	TEST_TT(float, void, false);
-	TEST_TT(void, float, false);
-	TEST_TT(double, void, false);
-	TEST_TT(void, double, false);
-	TEST_TT(long double, void, false);
-	TEST_TT(void, long double, false);
+   // test with only one template parameter
+   TEST_T(bool, true);
+   TEST_T(char, true);
+   TEST_T(signed char, true);
+   TEST_T(short int, true);
+   TEST_T(int, true);
+   TEST_T(long int, true);
+   TEST_T(unsigned char, true);
+   TEST_T(unsigned short int, true);
+   TEST_T(unsigned int, true);
+   TEST_T(unsigned long int, true);
+   TEST_T(wchar_t, true);
+   TEST_T(float, true);
+   TEST_T(double, true);
+   TEST_T(long double, true);
+   TEST_T(void, false);
+   // test with only two template parameters
+   TEST_TT(bool, bool, true);
+   TEST_TT(bool, char, true);
+   TEST_TT(bool, signed char, true);
+   TEST_TT(bool, short int, true);
+   TEST_TT(bool, int, true);
+   TEST_TT(bool, long int, true);
+   TEST_TT(bool, unsigned char, true);
+   TEST_TT(bool, unsigned short int, true);
+   TEST_TT(bool, unsigned int, true);
+   TEST_TT(bool, unsigned long int, true);
+   TEST_TT(bool, wchar_t, true);
+   TEST_TT(bool, float, true);
+   TEST_TT(bool, double, true);
+   TEST_TT(bool, long double, true);
+   TEST_TT(char, bool, true);
+   TEST_TT(char, char, true);
+   TEST_TT(char, signed char, true);
+   TEST_TT(char, short int, true);
+   TEST_TT(char, int, true);
+   TEST_TT(char, long int, true);
+   TEST_TT(char, unsigned char, true);
+   TEST_TT(char, unsigned short int, true);
+   TEST_TT(char, unsigned int, true);
+   TEST_TT(char, unsigned long int, true);
+   TEST_TT(char, wchar_t, true);
+   TEST_TT(char, float, true);
+   TEST_TT(char, double, true);
+   TEST_TT(char, long double, true);
+   TEST_TT(signed char, bool, true);
+   TEST_TT(signed char, char, true);
+   TEST_TT(signed char, signed char, true);
+   TEST_TT(signed char, short int, true);
+   TEST_TT(signed char, int, true);
+   TEST_TT(signed char, long int, true);
+   TEST_TT(signed char, unsigned char, true);
+   TEST_TT(signed char, unsigned short int, true);
+   TEST_TT(signed char, unsigned int, true);
+   TEST_TT(signed char, unsigned long int, true);
+   TEST_TT(signed char, wchar_t, true);
+   TEST_TT(signed char, float, true);
+   TEST_TT(signed char, double, true);
+   TEST_TT(signed char, long double, true);
+   TEST_TT(short int, bool, true);
+   TEST_TT(short int, char, true);
+   TEST_TT(short int, signed char, true);
+   TEST_TT(short int, short int, true);
+   TEST_TT(short int, int, true);
+   TEST_TT(short int, long int, true);
+   TEST_TT(short int, unsigned char, true);
+   TEST_TT(short int, unsigned short int, true);
+   TEST_TT(short int, unsigned int, true);
+   TEST_TT(short int, unsigned long int, true);
+   TEST_TT(short int, wchar_t, true);
+   TEST_TT(short int, float, true);
+   TEST_TT(short int, double, true);
+   TEST_TT(short int, long double, true);
+   TEST_TT(int, bool, true);
+   TEST_TT(int, char, true);
+   TEST_TT(int, signed char, true);
+   TEST_TT(int, short int, true);
+   TEST_TT(int, int, true);
+   TEST_TT(int, long int, true);
+   TEST_TT(int, unsigned char, true);
+   TEST_TT(int, unsigned short int, true);
+   TEST_TT(int, unsigned int, true);
+   TEST_TT(int, unsigned long int, true);
+   TEST_TT(int, wchar_t, true);
+   TEST_TT(int, float, true);
+   TEST_TT(int, double, true);
+   TEST_TT(int, long double, true);
+   TEST_TT(long int, bool, true);
+   TEST_TT(long int, char, true);
+   TEST_TT(long int, signed char, true);
+   TEST_TT(long int, short int, true);
+   TEST_TT(long int, int, true);
+   TEST_TT(long int, long int, true);
+   TEST_TT(long int, unsigned char, true);
+   TEST_TT(long int, unsigned short int, true);
+   TEST_TT(long int, unsigned int, true);
+   TEST_TT(long int, unsigned long int, true);
+   TEST_TT(long int, wchar_t, true);
+   TEST_TT(long int, float, true);
+   TEST_TT(long int, double, true);
+   TEST_TT(long int, long double, true);
+   TEST_TT(unsigned char, bool, true);
+   TEST_TT(unsigned char, char, true);
+   TEST_TT(unsigned char, signed char, true);
+   TEST_TT(unsigned char, short int, true);
+   TEST_TT(unsigned char, int, true);
+   TEST_TT(unsigned char, long int, true);
+   TEST_TT(unsigned char, unsigned char, true);
+   TEST_TT(unsigned char, unsigned short int, true);
+   TEST_TT(unsigned char, unsigned int, true);
+   TEST_TT(unsigned char, unsigned long int, true);
+   TEST_TT(unsigned char, wchar_t, true);
+   TEST_TT(unsigned char, float, true);
+   TEST_TT(unsigned char, double, true);
+   TEST_TT(unsigned char, long double, true);
+   TEST_TT(unsigned short int, bool, true);
+   TEST_TT(unsigned short int, char, true);
+   TEST_TT(unsigned short int, signed char, true);
+   TEST_TT(unsigned short int, short int, true);
+   TEST_TT(unsigned short int, int, true);
+   TEST_TT(unsigned short int, long int, true);
+   TEST_TT(unsigned short int, unsigned char, true);
+   TEST_TT(unsigned short int, unsigned short int, true);
+   TEST_TT(unsigned short int, unsigned int, true);
+   TEST_TT(unsigned short int, unsigned long int, true);
+   TEST_TT(unsigned short int, wchar_t, true);
+   TEST_TT(unsigned short int, float, true);
+   TEST_TT(unsigned short int, double, true);
+   TEST_TT(unsigned short int, long double, true);
+   TEST_TT(unsigned int, bool, true);
+   TEST_TT(unsigned int, char, true);
+   TEST_TT(unsigned int, signed char, true);
+   TEST_TT(unsigned int, short int, true);
+   TEST_TT(unsigned int, int, true);
+   TEST_TT(unsigned int, long int, true);
+   TEST_TT(unsigned int, unsigned char, true);
+   TEST_TT(unsigned int, unsigned short int, true);
+   TEST_TT(unsigned int, unsigned int, true);
+   TEST_TT(unsigned int, unsigned long int, true);
+   TEST_TT(unsigned int, wchar_t, true);
+   TEST_TT(unsigned int, float, true);
+   TEST_TT(unsigned int, double, true);
+   TEST_TT(unsigned int, long double, true);
+   TEST_TT(unsigned long int, bool, true);
+   TEST_TT(unsigned long int, char, true);
+   TEST_TT(unsigned long int, signed char, true);
+   TEST_TT(unsigned long int, short int, true);
+   TEST_TT(unsigned long int, int, true);
+   TEST_TT(unsigned long int, long int, true);
+   TEST_TT(unsigned long int, unsigned char, true);
+   TEST_TT(unsigned long int, unsigned short int, true);
+   TEST_TT(unsigned long int, unsigned int, true);
+   TEST_TT(unsigned long int, unsigned long int, true);
+   TEST_TT(unsigned long int, wchar_t, true);
+   TEST_TT(unsigned long int, float, true);
+   TEST_TT(unsigned long int, double, true);
+   TEST_TT(unsigned long int, long double, true);
+   TEST_TT(wchar_t, bool, true);
+   TEST_TT(wchar_t, char, true);
+   TEST_TT(wchar_t, signed char, true);
+   TEST_TT(wchar_t, short int, true);
+   TEST_TT(wchar_t, int, true);
+   TEST_TT(wchar_t, long int, true);
+   TEST_TT(wchar_t, unsigned char, true);
+   TEST_TT(wchar_t, unsigned short int, true);
+   TEST_TT(wchar_t, unsigned int, true);
+   TEST_TT(wchar_t, unsigned long int, true);
+   TEST_TT(wchar_t, wchar_t, true);
+   TEST_TT(wchar_t, float, true);
+   TEST_TT(wchar_t, double, true);
+   TEST_TT(wchar_t, long double, true);
+   TEST_TT(float, bool, true);
+   TEST_TT(float, char, true);
+   TEST_TT(float, signed char, true);
+   TEST_TT(float, short int, true);
+   TEST_TT(float, int, true);
+   TEST_TT(float, long int, true);
+   TEST_TT(float, unsigned char, true);
+   TEST_TT(float, unsigned short int, true);
+   TEST_TT(float, unsigned int, true);
+   TEST_TT(float, unsigned long int, true);
+   TEST_TT(float, wchar_t, true);
+   TEST_TT(float, float, true);
+   TEST_TT(float, double, true);
+   TEST_TT(float, long double, true);
+   TEST_TT(double, bool, true);
+   TEST_TT(double, char, true);
+   TEST_TT(double, signed char, true);
+   TEST_TT(double, short int, true);
+   TEST_TT(double, int, true);
+   TEST_TT(double, long int, true);
+   TEST_TT(double, unsigned char, true);
+   TEST_TT(double, unsigned short int, true);
+   TEST_TT(double, unsigned int, true);
+   TEST_TT(double, unsigned long int, true);
+   TEST_TT(double, wchar_t, true);
+   TEST_TT(double, float, true);
+   TEST_TT(double, double, true);
+   TEST_TT(double, long double, true);
+   TEST_TT(long double, bool, true);
+   TEST_TT(long double, char, true);
+   TEST_TT(long double, signed char, true);
+   TEST_TT(long double, short int, true);
+   TEST_TT(long double, int, true);
+   TEST_TT(long double, long int, true);
+   TEST_TT(long double, unsigned char, true);
+   TEST_TT(long double, unsigned short int, true);
+   TEST_TT(long double, unsigned int, true);
+   TEST_TT(long double, unsigned long int, true);
+   TEST_TT(long double, wchar_t, true);
+   TEST_TT(long double, float, true);
+   TEST_TT(long double, double, true);
+   TEST_TT(long double, long double, true);
+   TEST_TT(bool, void, false);
+   TEST_TT(void, bool, false);
+   TEST_TT(char, void, false);
+   TEST_TT(void, char, false);
+   TEST_TT(signed char, void, false);
+   TEST_TT(void, signed char, false);
+   TEST_TT(short int, void, false);
+   TEST_TT(void, short int, false);
+   TEST_TT(int, void, false);
+   TEST_TT(void, int, false);
+   TEST_TT(long int, void, false);
+   TEST_TT(void, long int, false);
+   TEST_TT(unsigned char, void, false);
+   TEST_TT(void, unsigned char, false);
+   TEST_TT(unsigned short int, void, false);
+   TEST_TT(void, unsigned short int, false);
+   TEST_TT(unsigned int, void, false);
+   TEST_TT(void, unsigned int, false);
+   TEST_TT(unsigned long int, void, false);
+   TEST_TT(void, unsigned long int, false);
+   TEST_TT(wchar_t, void, false);
+   TEST_TT(void, wchar_t, false);
+   TEST_TT(float, void, false);
+   TEST_TT(void, float, false);
+   TEST_TT(double, void, false);
+   TEST_TT(void, double, false);
+   TEST_TT(long double, void, false);
+   TEST_TT(void, long double, false);
 
 // test with three template parameters
-	TEST_TTR(bool, bool, bool, true);
-	TEST_TTR(bool, char, bool, true);
-	TEST_TTR(bool, signed char, bool, true);
-	TEST_TTR(bool, short int, bool, true);
-	TEST_TTR(bool, int, bool, true);
-	TEST_TTR(bool, long int, bool, true);
-	TEST_TTR(bool, unsigned char, bool, true);
-	TEST_TTR(bool, unsigned short int, bool, true);
-	TEST_TTR(bool, unsigned int, bool, true);
-	TEST_TTR(bool, unsigned long int, bool, true);
-	TEST_TTR(bool, wchar_t, bool, true);
-	TEST_TTR(bool, float, bool, true);
-	TEST_TTR(bool, double, bool, true);
-	TEST_TTR(bool, long double, bool, true);
-	TEST_TTR(char, bool, bool, true);
-	TEST_TTR(char, char, bool, true);
-	TEST_TTR(char, signed char, bool, true);
-	TEST_TTR(char, short int, bool, true);
-	TEST_TTR(char, int, bool, true);
-	TEST_TTR(char, long int, bool, true);
-	TEST_TTR(char, unsigned char, bool, true);
-	TEST_TTR(char, unsigned short int, bool, true);
-	TEST_TTR(char, unsigned int, bool, true);
-	TEST_TTR(char, unsigned long int, bool, true);
-	TEST_TTR(char, wchar_t, bool, true);
-	TEST_TTR(char, float, bool, true);
-	TEST_TTR(char, double, bool, true);
-	TEST_TTR(char, long double, bool, true);
-	TEST_TTR(signed char, bool, bool, true);
-	TEST_TTR(signed char, char, bool, true);
-	TEST_TTR(signed char, signed char, bool, true);
-	TEST_TTR(signed char, short int, bool, true);
-	TEST_TTR(signed char, int, bool, true);
-	TEST_TTR(signed char, long int, bool, true);
-	TEST_TTR(signed char, unsigned char, bool, true);
-	TEST_TTR(signed char, unsigned short int, bool, true);
-	TEST_TTR(signed char, unsigned int, bool, true);
-	TEST_TTR(signed char, unsigned long int, bool, true);
-	TEST_TTR(signed char, wchar_t, bool, true);
-	TEST_TTR(signed char, float, bool, true);
-	TEST_TTR(signed char, double, bool, true);
-	TEST_TTR(signed char, long double, bool, true);
-	TEST_TTR(short int, bool, bool, true);
-	TEST_TTR(short int, char, bool, true);
-	TEST_TTR(short int, signed char, bool, true);
-	TEST_TTR(short int, short int, bool, true);
-	TEST_TTR(short int, int, bool, true);
-	TEST_TTR(short int, long int, bool, true);
-	TEST_TTR(short int, unsigned char, bool, true);
-	TEST_TTR(short int, unsigned short int, bool, true);
-	TEST_TTR(short int, unsigned int, bool, true);
-	TEST_TTR(short int, unsigned long int, bool, true);
-	TEST_TTR(short int, wchar_t, bool, true);
-	TEST_TTR(short int, float, bool, true);
-	TEST_TTR(short int, double, bool, true);
-	TEST_TTR(short int, long double, bool, true);
-	TEST_TTR(int, bool, bool, true);
-	TEST_TTR(int, char, bool, true);
-	TEST_TTR(int, signed char, bool, true);
-	TEST_TTR(int, short int, bool, true);
-	TEST_TTR(int, int, bool, true);
-	TEST_TTR(int, long int, bool, true);
-	TEST_TTR(int, unsigned char, bool, true);
-	TEST_TTR(int, unsigned short int, bool, true);
-	TEST_TTR(int, unsigned int, bool, true);
-	TEST_TTR(int, unsigned long int, bool, true);
-	TEST_TTR(int, wchar_t, bool, true);
-	TEST_TTR(int, float, bool, true);
-	TEST_TTR(int, double, bool, true);
-	TEST_TTR(int, long double, bool, true);
-	TEST_TTR(long int, bool, bool, true);
-	TEST_TTR(long int, char, bool, true);
-	TEST_TTR(long int, signed char, bool, true);
-	TEST_TTR(long int, short int, bool, true);
-	TEST_TTR(long int, int, bool, true);
-	TEST_TTR(long int, long int, bool, true);
-	TEST_TTR(long int, unsigned char, bool, true);
-	TEST_TTR(long int, unsigned short int, bool, true);
-	TEST_TTR(long int, unsigned int, bool, true);
-	TEST_TTR(long int, unsigned long int, bool, true);
-	TEST_TTR(long int, wchar_t, bool, true);
-	TEST_TTR(long int, float, bool, true);
-	TEST_TTR(long int, double, bool, true);
-	TEST_TTR(long int, long double, bool, true);
-	TEST_TTR(unsigned char, bool, bool, true);
-	TEST_TTR(unsigned char, char, bool, true);
-	TEST_TTR(unsigned char, signed char, bool, true);
-	TEST_TTR(unsigned char, short int, bool, true);
-	TEST_TTR(unsigned char, int, bool, true);
-	TEST_TTR(unsigned char, long int, bool, true);
-	TEST_TTR(unsigned char, unsigned char, bool, true);
-	TEST_TTR(unsigned char, unsigned short int, bool, true);
-	TEST_TTR(unsigned char, unsigned int, bool, true);
-	TEST_TTR(unsigned char, unsigned long int, bool, true);
-	TEST_TTR(unsigned char, wchar_t, bool, true);
-	TEST_TTR(unsigned char, float, bool, true);
-	TEST_TTR(unsigned char, double, bool, true);
-	TEST_TTR(unsigned char, long double, bool, true);
-	TEST_TTR(unsigned short int, bool, bool, true);
-	TEST_TTR(unsigned short int, char, bool, true);
-	TEST_TTR(unsigned short int, signed char, bool, true);
-	TEST_TTR(unsigned short int, short int, bool, true);
-	TEST_TTR(unsigned short int, int, bool, true);
-	TEST_TTR(unsigned short int, long int, bool, true);
-	TEST_TTR(unsigned short int, unsigned char, bool, true);
-	TEST_TTR(unsigned short int, unsigned short int, bool, true);
-	TEST_TTR(unsigned short int, unsigned int, bool, true);
-	TEST_TTR(unsigned short int, unsigned long int, bool, true);
-	TEST_TTR(unsigned short int, wchar_t, bool, true);
-	TEST_TTR(unsigned short int, float, bool, true);
-	TEST_TTR(unsigned short int, double, bool, true);
-	TEST_TTR(unsigned short int, long double, bool, true);
-	TEST_TTR(unsigned int, bool, bool, true);
-	TEST_TTR(unsigned int, char, bool, true);
-	TEST_TTR(unsigned int, signed char, bool, true);
-	TEST_TTR(unsigned int, short int, bool, true);
-	TEST_TTR(unsigned int, int, bool, true);
-	TEST_TTR(unsigned int, long int, bool, true);
-	TEST_TTR(unsigned int, unsigned char, bool, true);
-	TEST_TTR(unsigned int, unsigned short int, bool, true);
-	TEST_TTR(unsigned int, unsigned int, bool, true);
-	TEST_TTR(unsigned int, unsigned long int, bool, true);
-	TEST_TTR(unsigned int, wchar_t, bool, true);
-	TEST_TTR(unsigned int, float, bool, true);
-	TEST_TTR(unsigned int, double, bool, true);
-	TEST_TTR(unsigned int, long double, bool, true);
-	TEST_TTR(unsigned long int, bool, bool, true);
-	TEST_TTR(unsigned long int, char, bool, true);
-	TEST_TTR(unsigned long int, signed char, bool, true);
-	TEST_TTR(unsigned long int, short int, bool, true);
-	TEST_TTR(unsigned long int, int, bool, true);
-	TEST_TTR(unsigned long int, long int, bool, true);
-	TEST_TTR(unsigned long int, unsigned char, bool, true);
-	TEST_TTR(unsigned long int, unsigned short int, bool, true);
-	TEST_TTR(unsigned long int, unsigned int, bool, true);
-	TEST_TTR(unsigned long int, unsigned long int, bool, true);
-	TEST_TTR(unsigned long int, wchar_t, bool, true);
-	TEST_TTR(unsigned long int, float, bool, true);
-	TEST_TTR(unsigned long int, double, bool, true);
-	TEST_TTR(unsigned long int, long double, bool, true);
-	TEST_TTR(wchar_t, bool, bool, true);
-	TEST_TTR(wchar_t, char, bool, true);
-	TEST_TTR(wchar_t, signed char, bool, true);
-	TEST_TTR(wchar_t, short int, bool, true);
-	TEST_TTR(wchar_t, int, bool, true);
-	TEST_TTR(wchar_t, long int, bool, true);
-	TEST_TTR(wchar_t, unsigned char, bool, true);
-	TEST_TTR(wchar_t, unsigned short int, bool, true);
-	TEST_TTR(wchar_t, unsigned int, bool, true);
-	TEST_TTR(wchar_t, unsigned long int, bool, true);
-	TEST_TTR(wchar_t, wchar_t, bool, true);
-	TEST_TTR(wchar_t, float, bool, true);
-	TEST_TTR(wchar_t, double, bool, true);
-	TEST_TTR(wchar_t, long double, bool, true);
-	TEST_TTR(float, bool, bool, true);
-	TEST_TTR(float, char, bool, true);
-	TEST_TTR(float, signed char, bool, true);
-	TEST_TTR(float, short int, bool, true);
-	TEST_TTR(float, int, bool, true);
-	TEST_TTR(float, long int, bool, true);
-	TEST_TTR(float, unsigned char, bool, true);
-	TEST_TTR(float, unsigned short int, bool, true);
-	TEST_TTR(float, unsigned int, bool, true);
-	TEST_TTR(float, unsigned long int, bool, true);
-	TEST_TTR(float, wchar_t, bool, true);
-	TEST_TTR(float, float, bool, true);
-	TEST_TTR(float, double, bool, true);
-	TEST_TTR(float, long double, bool, true);
-	TEST_TTR(double, bool, bool, true);
-	TEST_TTR(double, char, bool, true);
-	TEST_TTR(double, signed char, bool, true);
-	TEST_TTR(double, short int, bool, true);
-	TEST_TTR(double, int, bool, true);
-	TEST_TTR(double, long int, bool, true);
-	TEST_TTR(double, unsigned char, bool, true);
-	TEST_TTR(double, unsigned short int, bool, true);
-	TEST_TTR(double, unsigned int, bool, true);
-	TEST_TTR(double, unsigned long int, bool, true);
-	TEST_TTR(double, wchar_t, bool, true);
-	TEST_TTR(double, float, bool, true);
-	TEST_TTR(double, double, bool, true);
-	TEST_TTR(double, long double, bool, true);
-	TEST_TTR(long double, bool, bool, true);
-	TEST_TTR(long double, char, bool, true);
-	TEST_TTR(long double, signed char, bool, true);
-	TEST_TTR(long double, short int, bool, true);
-	TEST_TTR(long double, int, bool, true);
-	TEST_TTR(long double, long int, bool, true);
-	TEST_TTR(long double, unsigned char, bool, true);
-	TEST_TTR(long double, unsigned short int, bool, true);
-	TEST_TTR(long double, unsigned int, bool, true);
-	TEST_TTR(long double, unsigned long int, bool, true);
-	TEST_TTR(long double, wchar_t, bool, true);
-	TEST_TTR(long double, float, bool, true);
-	TEST_TTR(long double, double, bool, true);
-	TEST_TTR(long double, long double, bool, true);
-	TEST_TTR(bool, bool, tag, false);
-	TEST_TTR(bool, char, tag, false);
-	TEST_TTR(bool, signed char, tag, false);
-	TEST_TTR(bool, short int, tag, false);
-	TEST_TTR(bool, int, tag, false);
-	TEST_TTR(bool, long int, tag, false);
-	TEST_TTR(bool, unsigned char, tag, false);
-	TEST_TTR(bool, unsigned short int, tag, false);
-	TEST_TTR(bool, unsigned int, tag, false);
-	TEST_TTR(bool, unsigned long int, tag, false);
-	TEST_TTR(bool, wchar_t, tag, false);
-	TEST_TTR(bool, float, tag, false);
-	TEST_TTR(bool, double, tag, false);
-	TEST_TTR(bool, long double, tag, false);
-	TEST_TTR(char, bool, tag, false);
-	TEST_TTR(char, char, tag, false);
-	TEST_TTR(char, signed char, tag, false);
-	TEST_TTR(char, short int, tag, false);
-	TEST_TTR(char, int, tag, false);
-	TEST_TTR(char, long int, tag, false);
-	TEST_TTR(char, unsigned char, tag, false);
-	TEST_TTR(char, unsigned short int, tag, false);
-	TEST_TTR(char, unsigned int, tag, false);
-	TEST_TTR(char, unsigned long int, tag, false);
-	TEST_TTR(char, wchar_t, tag, false);
-	TEST_TTR(char, float, tag, false);
-	TEST_TTR(char, double, tag, false);
-	TEST_TTR(char, long double, tag, false);
-	TEST_TTR(signed char, bool, tag, false);
-	TEST_TTR(signed char, char, tag, false);
-	TEST_TTR(signed char, signed char, tag, false);
-	TEST_TTR(signed char, short int, tag, false);
-	TEST_TTR(signed char, int, tag, false);
-	TEST_TTR(signed char, long int, tag, false);
-	TEST_TTR(signed char, unsigned char, tag, false);
-	TEST_TTR(signed char, unsigned short int, tag, false);
-	TEST_TTR(signed char, unsigned int, tag, false);
-	TEST_TTR(signed char, unsigned long int, tag, false);
-	TEST_TTR(signed char, wchar_t, tag, false);
-	TEST_TTR(signed char, float, tag, false);
-	TEST_TTR(signed char, double, tag, false);
-	TEST_TTR(signed char, long double, tag, false);
-	TEST_TTR(short int, bool, tag, false);
-	TEST_TTR(short int, char, tag, false);
-	TEST_TTR(short int, signed char, tag, false);
-	TEST_TTR(short int, short int, tag, false);
-	TEST_TTR(short int, int, tag, false);
-	TEST_TTR(short int, long int, tag, false);
-	TEST_TTR(short int, unsigned char, tag, false);
-	TEST_TTR(short int, unsigned short int, tag, false);
-	TEST_TTR(short int, unsigned int, tag, false);
-	TEST_TTR(short int, unsigned long int, tag, false);
-	TEST_TTR(short int, wchar_t, tag, false);
-	TEST_TTR(short int, float, tag, false);
-	TEST_TTR(short int, double, tag, false);
-	TEST_TTR(short int, long double, tag, false);
-	TEST_TTR(int, bool, tag, false);
-	TEST_TTR(int, char, tag, false);
-	TEST_TTR(int, signed char, tag, false);
-	TEST_TTR(int, short int, tag, false);
-	TEST_TTR(int, int, tag, false);
-	TEST_TTR(int, long int, tag, false);
-	TEST_TTR(int, unsigned char, tag, false);
-	TEST_TTR(int, unsigned short int, tag, false);
-	TEST_TTR(int, unsigned int, tag, false);
-	TEST_TTR(int, unsigned long int, tag, false);
-	TEST_TTR(int, wchar_t, tag, false);
-	TEST_TTR(int, float, tag, false);
-	TEST_TTR(int, double, tag, false);
-	TEST_TTR(int, long double, tag, false);
-	TEST_TTR(long int, bool, tag, false);
-	TEST_TTR(long int, char, tag, false);
-	TEST_TTR(long int, signed char, tag, false);
-	TEST_TTR(long int, short int, tag, false);
-	TEST_TTR(long int, int, tag, false);
-	TEST_TTR(long int, long int, tag, false);
-	TEST_TTR(long int, unsigned char, tag, false);
-	TEST_TTR(long int, unsigned short int, tag, false);
-	TEST_TTR(long int, unsigned int, tag, false);
-	TEST_TTR(long int, unsigned long int, tag, false);
-	TEST_TTR(long int, wchar_t, tag, false);
-	TEST_TTR(long int, float, tag, false);
-	TEST_TTR(long int, double, tag, false);
-	TEST_TTR(long int, long double, tag, false);
-	TEST_TTR(unsigned char, bool, tag, false);
-	TEST_TTR(unsigned char, char, tag, false);
-	TEST_TTR(unsigned char, signed char, tag, false);
-	TEST_TTR(unsigned char, short int, tag, false);
-	TEST_TTR(unsigned char, int, tag, false);
-	TEST_TTR(unsigned char, long int, tag, false);
-	TEST_TTR(unsigned char, unsigned char, tag, false);
-	TEST_TTR(unsigned char, unsigned short int, tag, false);
-	TEST_TTR(unsigned char, unsigned int, tag, false);
-	TEST_TTR(unsigned char, unsigned long int, tag, false);
-	TEST_TTR(unsigned char, wchar_t, tag, false);
-	TEST_TTR(unsigned char, float, tag, false);
-	TEST_TTR(unsigned char, double, tag, false);
-	TEST_TTR(unsigned char, long double, tag, false);
-	TEST_TTR(unsigned short int, bool, tag, false);
-	TEST_TTR(unsigned short int, char, tag, false);
-	TEST_TTR(unsigned short int, signed char, tag, false);
-	TEST_TTR(unsigned short int, short int, tag, false);
-	TEST_TTR(unsigned short int, int, tag, false);
-	TEST_TTR(unsigned short int, long int, tag, false);
-	TEST_TTR(unsigned short int, unsigned char, tag, false);
-	TEST_TTR(unsigned short int, unsigned short int, tag, false);
-	TEST_TTR(unsigned short int, unsigned int, tag, false);
-	TEST_TTR(unsigned short int, unsigned long int, tag, false);
-	TEST_TTR(unsigned short int, wchar_t, tag, false);
-	TEST_TTR(unsigned short int, float, tag, false);
-	TEST_TTR(unsigned short int, double, tag, false);
-	TEST_TTR(unsigned short int, long double, tag, false);
-	TEST_TTR(unsigned int, bool, tag, false);
-	TEST_TTR(unsigned int, char, tag, false);
-	TEST_TTR(unsigned int, signed char, tag, false);
-	TEST_TTR(unsigned int, short int, tag, false);
-	TEST_TTR(unsigned int, int, tag, false);
-	TEST_TTR(unsigned int, long int, tag, false);
-	TEST_TTR(unsigned int, unsigned char, tag, false);
-	TEST_TTR(unsigned int, unsigned short int, tag, false);
-	TEST_TTR(unsigned int, unsigned int, tag, false);
-	TEST_TTR(unsigned int, unsigned long int, tag, false);
-	TEST_TTR(unsigned int, wchar_t, tag, false);
-	TEST_TTR(unsigned int, float, tag, false);
-	TEST_TTR(unsigned int, double, tag, false);
-	TEST_TTR(unsigned int, long double, tag, false);
-	TEST_TTR(unsigned long int, bool, tag, false);
-	TEST_TTR(unsigned long int, char, tag, false);
-	TEST_TTR(unsigned long int, signed char, tag, false);
-	TEST_TTR(unsigned long int, short int, tag, false);
-	TEST_TTR(unsigned long int, int, tag, false);
-	TEST_TTR(unsigned long int, long int, tag, false);
-	TEST_TTR(unsigned long int, unsigned char, tag, false);
-	TEST_TTR(unsigned long int, unsigned short int, tag, false);
-	TEST_TTR(unsigned long int, unsigned int, tag, false);
-	TEST_TTR(unsigned long int, unsigned long int, tag, false);
-	TEST_TTR(unsigned long int, wchar_t, tag, false);
-	TEST_TTR(unsigned long int, float, tag, false);
-	TEST_TTR(unsigned long int, double, tag, false);
-	TEST_TTR(unsigned long int, long double, tag, false);
-	TEST_TTR(wchar_t, bool, tag, false);
-	TEST_TTR(wchar_t, char, tag, false);
-	TEST_TTR(wchar_t, signed char, tag, false);
-	TEST_TTR(wchar_t, short int, tag, false);
-	TEST_TTR(wchar_t, int, tag, false);
-	TEST_TTR(wchar_t, long int, tag, false);
-	TEST_TTR(wchar_t, unsigned char, tag, false);
-	TEST_TTR(wchar_t, unsigned short int, tag, false);
-	TEST_TTR(wchar_t, unsigned int, tag, false);
-	TEST_TTR(wchar_t, unsigned long int, tag, false);
-	TEST_TTR(wchar_t, wchar_t, tag, false);
-	TEST_TTR(wchar_t, float, tag, false);
-	TEST_TTR(wchar_t, double, tag, false);
-	TEST_TTR(wchar_t, long double, tag, false);
-	TEST_TTR(float, bool, tag, false);
-	TEST_TTR(float, char, tag, false);
-	TEST_TTR(float, signed char, tag, false);
-	TEST_TTR(float, short int, tag, false);
-	TEST_TTR(float, int, tag, false);
-	TEST_TTR(float, long int, tag, false);
-	TEST_TTR(float, unsigned char, tag, false);
-	TEST_TTR(float, unsigned short int, tag, false);
-	TEST_TTR(float, unsigned int, tag, false);
-	TEST_TTR(float, unsigned long int, tag, false);
-	TEST_TTR(float, wchar_t, tag, false);
-	TEST_TTR(float, float, tag, false);
-	TEST_TTR(float, double, tag, false);
-	TEST_TTR(float, long double, tag, false);
-	TEST_TTR(double, bool, tag, false);
-	TEST_TTR(double, char, tag, false);
-	TEST_TTR(double, signed char, tag, false);
-	TEST_TTR(double, short int, tag, false);
-	TEST_TTR(double, int, tag, false);
-	TEST_TTR(double, long int, tag, false);
-	TEST_TTR(double, unsigned char, tag, false);
-	TEST_TTR(double, unsigned short int, tag, false);
-	TEST_TTR(double, unsigned int, tag, false);
-	TEST_TTR(double, unsigned long int, tag, false);
-	TEST_TTR(double, wchar_t, tag, false);
-	TEST_TTR(double, float, tag, false);
-	TEST_TTR(double, double, tag, false);
-	TEST_TTR(double, long double, tag, false);
-	TEST_TTR(long double, bool, tag, false);
-	TEST_TTR(long double, char, tag, false);
-	TEST_TTR(long double, signed char, tag, false);
-	TEST_TTR(long double, short int, tag, false);
-	TEST_TTR(long double, int, tag, false);
-	TEST_TTR(long double, long int, tag, false);
-	TEST_TTR(long double, unsigned char, tag, false);
-	TEST_TTR(long double, unsigned short int, tag, false);
-	TEST_TTR(long double, unsigned int, tag, false);
-	TEST_TTR(long double, unsigned long int, tag, false);
-	TEST_TTR(long double, wchar_t, tag, false);
-	TEST_TTR(long double, float, tag, false);
-	TEST_TTR(long double, double, tag, false);
-	TEST_TTR(long double, long double, tag, false);
+   TEST_TTR(bool, bool, bool, true);
+   TEST_TTR(bool, char, bool, true);
+   TEST_TTR(bool, signed char, bool, true);
+   TEST_TTR(bool, short int, bool, true);
+   TEST_TTR(bool, int, bool, true);
+   TEST_TTR(bool, long int, bool, true);
+   TEST_TTR(bool, unsigned char, bool, true);
+   TEST_TTR(bool, unsigned short int, bool, true);
+   TEST_TTR(bool, unsigned int, bool, true);
+   TEST_TTR(bool, unsigned long int, bool, true);
+   TEST_TTR(bool, wchar_t, bool, true);
+   TEST_TTR(bool, float, bool, true);
+   TEST_TTR(bool, double, bool, true);
+   TEST_TTR(bool, long double, bool, true);
+   TEST_TTR(char, bool, bool, true);
+   TEST_TTR(char, char, bool, true);
+   TEST_TTR(char, signed char, bool, true);
+   TEST_TTR(char, short int, bool, true);
+   TEST_TTR(char, int, bool, true);
+   TEST_TTR(char, long int, bool, true);
+   TEST_TTR(char, unsigned char, bool, true);
+   TEST_TTR(char, unsigned short int, bool, true);
+   TEST_TTR(char, unsigned int, bool, true);
+   TEST_TTR(char, unsigned long int, bool, true);
+   TEST_TTR(char, wchar_t, bool, true);
+   TEST_TTR(char, float, bool, true);
+   TEST_TTR(char, double, bool, true);
+   TEST_TTR(char, long double, bool, true);
+   TEST_TTR(signed char, bool, bool, true);
+   TEST_TTR(signed char, char, bool, true);
+   TEST_TTR(signed char, signed char, bool, true);
+   TEST_TTR(signed char, short int, bool, true);
+   TEST_TTR(signed char, int, bool, true);
+   TEST_TTR(signed char, long int, bool, true);
+   TEST_TTR(signed char, unsigned char, bool, true);
+   TEST_TTR(signed char, unsigned short int, bool, true);
+   TEST_TTR(signed char, unsigned int, bool, true);
+   TEST_TTR(signed char, unsigned long int, bool, true);
+   TEST_TTR(signed char, wchar_t, bool, true);
+   TEST_TTR(signed char, float, bool, true);
+   TEST_TTR(signed char, double, bool, true);
+   TEST_TTR(signed char, long double, bool, true);
+   TEST_TTR(short int, bool, bool, true);
+   TEST_TTR(short int, char, bool, true);
+   TEST_TTR(short int, signed char, bool, true);
+   TEST_TTR(short int, short int, bool, true);
+   TEST_TTR(short int, int, bool, true);
+   TEST_TTR(short int, long int, bool, true);
+   TEST_TTR(short int, unsigned char, bool, true);
+   TEST_TTR(short int, unsigned short int, bool, true);
+   TEST_TTR(short int, unsigned int, bool, true);
+   TEST_TTR(short int, unsigned long int, bool, true);
+   TEST_TTR(short int, wchar_t, bool, true);
+   TEST_TTR(short int, float, bool, true);
+   TEST_TTR(short int, double, bool, true);
+   TEST_TTR(short int, long double, bool, true);
+   TEST_TTR(int, bool, bool, true);
+   TEST_TTR(int, char, bool, true);
+   TEST_TTR(int, signed char, bool, true);
+   TEST_TTR(int, short int, bool, true);
+   TEST_TTR(int, int, bool, true);
+   TEST_TTR(int, long int, bool, true);
+   TEST_TTR(int, unsigned char, bool, true);
+   TEST_TTR(int, unsigned short int, bool, true);
+   TEST_TTR(int, unsigned int, bool, true);
+   TEST_TTR(int, unsigned long int, bool, true);
+   TEST_TTR(int, wchar_t, bool, true);
+   TEST_TTR(int, float, bool, true);
+   TEST_TTR(int, double, bool, true);
+   TEST_TTR(int, long double, bool, true);
+   TEST_TTR(long int, bool, bool, true);
+   TEST_TTR(long int, char, bool, true);
+   TEST_TTR(long int, signed char, bool, true);
+   TEST_TTR(long int, short int, bool, true);
+   TEST_TTR(long int, int, bool, true);
+   TEST_TTR(long int, long int, bool, true);
+   TEST_TTR(long int, unsigned char, bool, true);
+   TEST_TTR(long int, unsigned short int, bool, true);
+   TEST_TTR(long int, unsigned int, bool, true);
+   TEST_TTR(long int, unsigned long int, bool, true);
+   TEST_TTR(long int, wchar_t, bool, true);
+   TEST_TTR(long int, float, bool, true);
+   TEST_TTR(long int, double, bool, true);
+   TEST_TTR(long int, long double, bool, true);
+   TEST_TTR(unsigned char, bool, bool, true);
+   TEST_TTR(unsigned char, char, bool, true);
+   TEST_TTR(unsigned char, signed char, bool, true);
+   TEST_TTR(unsigned char, short int, bool, true);
+   TEST_TTR(unsigned char, int, bool, true);
+   TEST_TTR(unsigned char, long int, bool, true);
+   TEST_TTR(unsigned char, unsigned char, bool, true);
+   TEST_TTR(unsigned char, unsigned short int, bool, true);
+   TEST_TTR(unsigned char, unsigned int, bool, true);
+   TEST_TTR(unsigned char, unsigned long int, bool, true);
+   TEST_TTR(unsigned char, wchar_t, bool, true);
+   TEST_TTR(unsigned char, float, bool, true);
+   TEST_TTR(unsigned char, double, bool, true);
+   TEST_TTR(unsigned char, long double, bool, true);
+   TEST_TTR(unsigned short int, bool, bool, true);
+   TEST_TTR(unsigned short int, char, bool, true);
+   TEST_TTR(unsigned short int, signed char, bool, true);
+   TEST_TTR(unsigned short int, short int, bool, true);
+   TEST_TTR(unsigned short int, int, bool, true);
+   TEST_TTR(unsigned short int, long int, bool, true);
+   TEST_TTR(unsigned short int, unsigned char, bool, true);
+   TEST_TTR(unsigned short int, unsigned short int, bool, true);
+   TEST_TTR(unsigned short int, unsigned int, bool, true);
+   TEST_TTR(unsigned short int, unsigned long int, bool, true);
+   TEST_TTR(unsigned short int, wchar_t, bool, true);
+   TEST_TTR(unsigned short int, float, bool, true);
+   TEST_TTR(unsigned short int, double, bool, true);
+   TEST_TTR(unsigned short int, long double, bool, true);
+   TEST_TTR(unsigned int, bool, bool, true);
+   TEST_TTR(unsigned int, char, bool, true);
+   TEST_TTR(unsigned int, signed char, bool, true);
+   TEST_TTR(unsigned int, short int, bool, true);
+   TEST_TTR(unsigned int, int, bool, true);
+   TEST_TTR(unsigned int, long int, bool, true);
+   TEST_TTR(unsigned int, unsigned char, bool, true);
+   TEST_TTR(unsigned int, unsigned short int, bool, true);
+   TEST_TTR(unsigned int, unsigned int, bool, true);
+   TEST_TTR(unsigned int, unsigned long int, bool, true);
+   TEST_TTR(unsigned int, wchar_t, bool, true);
+   TEST_TTR(unsigned int, float, bool, true);
+   TEST_TTR(unsigned int, double, bool, true);
+   TEST_TTR(unsigned int, long double, bool, true);
+   TEST_TTR(unsigned long int, bool, bool, true);
+   TEST_TTR(unsigned long int, char, bool, true);
+   TEST_TTR(unsigned long int, signed char, bool, true);
+   TEST_TTR(unsigned long int, short int, bool, true);
+   TEST_TTR(unsigned long int, int, bool, true);
+   TEST_TTR(unsigned long int, long int, bool, true);
+   TEST_TTR(unsigned long int, unsigned char, bool, true);
+   TEST_TTR(unsigned long int, unsigned short int, bool, true);
+   TEST_TTR(unsigned long int, unsigned int, bool, true);
+   TEST_TTR(unsigned long int, unsigned long int, bool, true);
+   TEST_TTR(unsigned long int, wchar_t, bool, true);
+   TEST_TTR(unsigned long int, float, bool, true);
+   TEST_TTR(unsigned long int, double, bool, true);
+   TEST_TTR(unsigned long int, long double, bool, true);
+   TEST_TTR(wchar_t, bool, bool, true);
+   TEST_TTR(wchar_t, char, bool, true);
+   TEST_TTR(wchar_t, signed char, bool, true);
+   TEST_TTR(wchar_t, short int, bool, true);
+   TEST_TTR(wchar_t, int, bool, true);
+   TEST_TTR(wchar_t, long int, bool, true);
+   TEST_TTR(wchar_t, unsigned char, bool, true);
+   TEST_TTR(wchar_t, unsigned short int, bool, true);
+   TEST_TTR(wchar_t, unsigned int, bool, true);
+   TEST_TTR(wchar_t, unsigned long int, bool, true);
+   TEST_TTR(wchar_t, wchar_t, bool, true);
+   TEST_TTR(wchar_t, float, bool, true);
+   TEST_TTR(wchar_t, double, bool, true);
+   TEST_TTR(wchar_t, long double, bool, true);
+   TEST_TTR(float, bool, bool, true);
+   TEST_TTR(float, char, bool, true);
+   TEST_TTR(float, signed char, bool, true);
+   TEST_TTR(float, short int, bool, true);
+   TEST_TTR(float, int, bool, true);
+   TEST_TTR(float, long int, bool, true);
+   TEST_TTR(float, unsigned char, bool, true);
+   TEST_TTR(float, unsigned short int, bool, true);
+   TEST_TTR(float, unsigned int, bool, true);
+   TEST_TTR(float, unsigned long int, bool, true);
+   TEST_TTR(float, wchar_t, bool, true);
+   TEST_TTR(float, float, bool, true);
+   TEST_TTR(float, double, bool, true);
+   TEST_TTR(float, long double, bool, true);
+   TEST_TTR(double, bool, bool, true);
+   TEST_TTR(double, char, bool, true);
+   TEST_TTR(double, signed char, bool, true);
+   TEST_TTR(double, short int, bool, true);
+   TEST_TTR(double, int, bool, true);
+   TEST_TTR(double, long int, bool, true);
+   TEST_TTR(double, unsigned char, bool, true);
+   TEST_TTR(double, unsigned short int, bool, true);
+   TEST_TTR(double, unsigned int, bool, true);
+   TEST_TTR(double, unsigned long int, bool, true);
+   TEST_TTR(double, wchar_t, bool, true);
+   TEST_TTR(double, float, bool, true);
+   TEST_TTR(double, double, bool, true);
+   TEST_TTR(double, long double, bool, true);
+   TEST_TTR(long double, bool, bool, true);
+   TEST_TTR(long double, char, bool, true);
+   TEST_TTR(long double, signed char, bool, true);
+   TEST_TTR(long double, short int, bool, true);
+   TEST_TTR(long double, int, bool, true);
+   TEST_TTR(long double, long int, bool, true);
+   TEST_TTR(long double, unsigned char, bool, true);
+   TEST_TTR(long double, unsigned short int, bool, true);
+   TEST_TTR(long double, unsigned int, bool, true);
+   TEST_TTR(long double, unsigned long int, bool, true);
+   TEST_TTR(long double, wchar_t, bool, true);
+   TEST_TTR(long double, float, bool, true);
+   TEST_TTR(long double, double, bool, true);
+   TEST_TTR(long double, long double, bool, true);
+   TEST_TTR(bool, bool, tag, false);
+   TEST_TTR(bool, char, tag, false);
+   TEST_TTR(bool, signed char, tag, false);
+   TEST_TTR(bool, short int, tag, false);
+   TEST_TTR(bool, int, tag, false);
+   TEST_TTR(bool, long int, tag, false);
+   TEST_TTR(bool, unsigned char, tag, false);
+   TEST_TTR(bool, unsigned short int, tag, false);
+   TEST_TTR(bool, unsigned int, tag, false);
+   TEST_TTR(bool, unsigned long int, tag, false);
+   TEST_TTR(bool, wchar_t, tag, false);
+   TEST_TTR(bool, float, tag, false);
+   TEST_TTR(bool, double, tag, false);
+   TEST_TTR(bool, long double, tag, false);
+   TEST_TTR(char, bool, tag, false);
+   TEST_TTR(char, char, tag, false);
+   TEST_TTR(char, signed char, tag, false);
+   TEST_TTR(char, short int, tag, false);
+   TEST_TTR(char, int, tag, false);
+   TEST_TTR(char, long int, tag, false);
+   TEST_TTR(char, unsigned char, tag, false);
+   TEST_TTR(char, unsigned short int, tag, false);
+   TEST_TTR(char, unsigned int, tag, false);
+   TEST_TTR(char, unsigned long int, tag, false);
+   TEST_TTR(char, wchar_t, tag, false);
+   TEST_TTR(char, float, tag, false);
+   TEST_TTR(char, double, tag, false);
+   TEST_TTR(char, long double, tag, false);
+   TEST_TTR(signed char, bool, tag, false);
+   TEST_TTR(signed char, char, tag, false);
+   TEST_TTR(signed char, signed char, tag, false);
+   TEST_TTR(signed char, short int, tag, false);
+   TEST_TTR(signed char, int, tag, false);
+   TEST_TTR(signed char, long int, tag, false);
+   TEST_TTR(signed char, unsigned char, tag, false);
+   TEST_TTR(signed char, unsigned short int, tag, false);
+   TEST_TTR(signed char, unsigned int, tag, false);
+   TEST_TTR(signed char, unsigned long int, tag, false);
+   TEST_TTR(signed char, wchar_t, tag, false);
+   TEST_TTR(signed char, float, tag, false);
+   TEST_TTR(signed char, double, tag, false);
+   TEST_TTR(signed char, long double, tag, false);
+   TEST_TTR(short int, bool, tag, false);
+   TEST_TTR(short int, char, tag, false);
+   TEST_TTR(short int, signed char, tag, false);
+   TEST_TTR(short int, short int, tag, false);
+   TEST_TTR(short int, int, tag, false);
+   TEST_TTR(short int, long int, tag, false);
+   TEST_TTR(short int, unsigned char, tag, false);
+   TEST_TTR(short int, unsigned short int, tag, false);
+   TEST_TTR(short int, unsigned int, tag, false);
+   TEST_TTR(short int, unsigned long int, tag, false);
+   TEST_TTR(short int, wchar_t, tag, false);
+   TEST_TTR(short int, float, tag, false);
+   TEST_TTR(short int, double, tag, false);
+   TEST_TTR(short int, long double, tag, false);
+   TEST_TTR(int, bool, tag, false);
+   TEST_TTR(int, char, tag, false);
+   TEST_TTR(int, signed char, tag, false);
+   TEST_TTR(int, short int, tag, false);
+   TEST_TTR(int, int, tag, false);
+   TEST_TTR(int, long int, tag, false);
+   TEST_TTR(int, unsigned char, tag, false);
+   TEST_TTR(int, unsigned short int, tag, false);
+   TEST_TTR(int, unsigned int, tag, false);
+   TEST_TTR(int, unsigned long int, tag, false);
+   TEST_TTR(int, wchar_t, tag, false);
+   TEST_TTR(int, float, tag, false);
+   TEST_TTR(int, double, tag, false);
+   TEST_TTR(int, long double, tag, false);
+   TEST_TTR(long int, bool, tag, false);
+   TEST_TTR(long int, char, tag, false);
+   TEST_TTR(long int, signed char, tag, false);
+   TEST_TTR(long int, short int, tag, false);
+   TEST_TTR(long int, int, tag, false);
+   TEST_TTR(long int, long int, tag, false);
+   TEST_TTR(long int, unsigned char, tag, false);
+   TEST_TTR(long int, unsigned short int, tag, false);
+   TEST_TTR(long int, unsigned int, tag, false);
+   TEST_TTR(long int, unsigned long int, tag, false);
+   TEST_TTR(long int, wchar_t, tag, false);
+   TEST_TTR(long int, float, tag, false);
+   TEST_TTR(long int, double, tag, false);
+   TEST_TTR(long int, long double, tag, false);
+   TEST_TTR(unsigned char, bool, tag, false);
+   TEST_TTR(unsigned char, char, tag, false);
+   TEST_TTR(unsigned char, signed char, tag, false);
+   TEST_TTR(unsigned char, short int, tag, false);
+   TEST_TTR(unsigned char, int, tag, false);
+   TEST_TTR(unsigned char, long int, tag, false);
+   TEST_TTR(unsigned char, unsigned char, tag, false);
+   TEST_TTR(unsigned char, unsigned short int, tag, false);
+   TEST_TTR(unsigned char, unsigned int, tag, false);
+   TEST_TTR(unsigned char, unsigned long int, tag, false);
+   TEST_TTR(unsigned char, wchar_t, tag, false);
+   TEST_TTR(unsigned char, float, tag, false);
+   TEST_TTR(unsigned char, double, tag, false);
+   TEST_TTR(unsigned char, long double, tag, false);
+   TEST_TTR(unsigned short int, bool, tag, false);
+   TEST_TTR(unsigned short int, char, tag, false);
+   TEST_TTR(unsigned short int, signed char, tag, false);
+   TEST_TTR(unsigned short int, short int, tag, false);
+   TEST_TTR(unsigned short int, int, tag, false);
+   TEST_TTR(unsigned short int, long int, tag, false);
+   TEST_TTR(unsigned short int, unsigned char, tag, false);
+   TEST_TTR(unsigned short int, unsigned short int, tag, false);
+   TEST_TTR(unsigned short int, unsigned int, tag, false);
+   TEST_TTR(unsigned short int, unsigned long int, tag, false);
+   TEST_TTR(unsigned short int, wchar_t, tag, false);
+   TEST_TTR(unsigned short int, float, tag, false);
+   TEST_TTR(unsigned short int, double, tag, false);
+   TEST_TTR(unsigned short int, long double, tag, false);
+   TEST_TTR(unsigned int, bool, tag, false);
+   TEST_TTR(unsigned int, char, tag, false);
+   TEST_TTR(unsigned int, signed char, tag, false);
+   TEST_TTR(unsigned int, short int, tag, false);
+   TEST_TTR(unsigned int, int, tag, false);
+   TEST_TTR(unsigned int, long int, tag, false);
+   TEST_TTR(unsigned int, unsigned char, tag, false);
+   TEST_TTR(unsigned int, unsigned short int, tag, false);
+   TEST_TTR(unsigned int, unsigned int, tag, false);
+   TEST_TTR(unsigned int, unsigned long int, tag, false);
+   TEST_TTR(unsigned int, wchar_t, tag, false);
+   TEST_TTR(unsigned int, float, tag, false);
+   TEST_TTR(unsigned int, double, tag, false);
+   TEST_TTR(unsigned int, long double, tag, false);
+   TEST_TTR(unsigned long int, bool, tag, false);
+   TEST_TTR(unsigned long int, char, tag, false);
+   TEST_TTR(unsigned long int, signed char, tag, false);
+   TEST_TTR(unsigned long int, short int, tag, false);
+   TEST_TTR(unsigned long int, int, tag, false);
+   TEST_TTR(unsigned long int, long int, tag, false);
+   TEST_TTR(unsigned long int, unsigned char, tag, false);
+   TEST_TTR(unsigned long int, unsigned short int, tag, false);
+   TEST_TTR(unsigned long int, unsigned int, tag, false);
+   TEST_TTR(unsigned long int, unsigned long int, tag, false);
+   TEST_TTR(unsigned long int, wchar_t, tag, false);
+   TEST_TTR(unsigned long int, float, tag, false);
+   TEST_TTR(unsigned long int, double, tag, false);
+   TEST_TTR(unsigned long int, long double, tag, false);
+   TEST_TTR(wchar_t, bool, tag, false);
+   TEST_TTR(wchar_t, char, tag, false);
+   TEST_TTR(wchar_t, signed char, tag, false);
+   TEST_TTR(wchar_t, short int, tag, false);
+   TEST_TTR(wchar_t, int, tag, false);
+   TEST_TTR(wchar_t, long int, tag, false);
+   TEST_TTR(wchar_t, unsigned char, tag, false);
+   TEST_TTR(wchar_t, unsigned short int, tag, false);
+   TEST_TTR(wchar_t, unsigned int, tag, false);
+   TEST_TTR(wchar_t, unsigned long int, tag, false);
+   TEST_TTR(wchar_t, wchar_t, tag, false);
+   TEST_TTR(wchar_t, float, tag, false);
+   TEST_TTR(wchar_t, double, tag, false);
+   TEST_TTR(wchar_t, long double, tag, false);
+   TEST_TTR(float, bool, tag, false);
+   TEST_TTR(float, char, tag, false);
+   TEST_TTR(float, signed char, tag, false);
+   TEST_TTR(float, short int, tag, false);
+   TEST_TTR(float, int, tag, false);
+   TEST_TTR(float, long int, tag, false);
+   TEST_TTR(float, unsigned char, tag, false);
+   TEST_TTR(float, unsigned short int, tag, false);
+   TEST_TTR(float, unsigned int, tag, false);
+   TEST_TTR(float, unsigned long int, tag, false);
+   TEST_TTR(float, wchar_t, tag, false);
+   TEST_TTR(float, float, tag, false);
+   TEST_TTR(float, double, tag, false);
+   TEST_TTR(float, long double, tag, false);
+   TEST_TTR(double, bool, tag, false);
+   TEST_TTR(double, char, tag, false);
+   TEST_TTR(double, signed char, tag, false);
+   TEST_TTR(double, short int, tag, false);
+   TEST_TTR(double, int, tag, false);
+   TEST_TTR(double, long int, tag, false);
+   TEST_TTR(double, unsigned char, tag, false);
+   TEST_TTR(double, unsigned short int, tag, false);
+   TEST_TTR(double, unsigned int, tag, false);
+   TEST_TTR(double, unsigned long int, tag, false);
+   TEST_TTR(double, wchar_t, tag, false);
+   TEST_TTR(double, float, tag, false);
+   TEST_TTR(double, double, tag, false);
+   TEST_TTR(double, long double, tag, false);
+   TEST_TTR(long double, bool, tag, false);
+   TEST_TTR(long double, char, tag, false);
+   TEST_TTR(long double, signed char, tag, false);
+   TEST_TTR(long double, short int, tag, false);
+   TEST_TTR(long double, int, tag, false);
+   TEST_TTR(long double, long int, tag, false);
+   TEST_TTR(long double, unsigned char, tag, false);
+   TEST_TTR(long double, unsigned short int, tag, false);
+   TEST_TTR(long double, unsigned int, tag, false);
+   TEST_TTR(long double, unsigned long int, tag, false);
+   TEST_TTR(long double, wchar_t, tag, false);
+   TEST_TTR(long double, float, tag, false);
+   TEST_TTR(long double, double, tag, false);
+   TEST_TTR(long double, long double, tag, false);
 
-	TEST_T(without, false);
-	TEST_T(internal, true);
-	TEST_T(external, true);
-//	compile time error
-//	TEST_T(internal_private, false);
-	TEST_T(returns_int, true);
-	TEST_T(returns_void, true);
-	TEST_T(returns_void_star, true);
-	TEST_T(returns_double, true);
-	TEST_T(returns_string, true);
-//	TEST_T(convertible_to_bool, true);
-	TEST_T(Base1, true);
-	TEST_T(Derived1, true);
-	TEST_T(Base2, false);
-	TEST_T(Derived2, true);
+   TEST_T(without, false);
+   TEST_T(internal, true);
+   TEST_T(external, true);
+// compile time error
+// TEST_T(internal_private, false);
+   TEST_T(returns_int, true);
+   TEST_T(returns_void, true);
+   TEST_T(returns_void_star, true);
+   TEST_T(returns_double, true);
+   TEST_T(returns_string, true);
+// TEST_T(convertible_to_bool, true);
+   TEST_T(Base1, true);
+   TEST_T(Derived1, true);
+   TEST_T(Base2, false);
+   TEST_T(Derived2, true);
 
-	TEST_TR(without, bool, false);
-	TEST_TR(internal, bool, false);
-	TEST_TR(internal, ret, true);
-	TEST_TR(external, bool, false);
-	TEST_TR(external, ret, true);
-	TEST_TR(returns_int, bool, true);
-	TEST_TR(returns_int, int, true);
-	TEST_TR(returns_void, void, true);
-	TEST_TR(returns_void, bool, false);
-	TEST_TR(returns_void_star, bool, true);
-	TEST_TR(returns_double, bool, true);
-	TEST_TR(returns_double, double, true);
-	TEST_TR(returns_string, bool, false);
-	TEST_TR(returns_string, std::string, true);
-//	TEST_TR(convertible_to_bool, bool, true);
-	TEST_TR(Base1, bool, true);
-	TEST_TR(Derived1, bool, true);
-	TEST_TR(Base2, bool, false);
-	TEST_TR(Derived2, bool, true);
-	// pointers
-	TEST_TT(void*, bool, false);
-	TEST_TT(void*, int, false);
-	TEST_TT(void*, double, false);
-	TEST_TT(void*, A, false);
-	TEST_TT(void*, B, false);
-	TEST_TT(bool*, bool, true);
-	TEST_TT(bool*, int, true);
-	TEST_TT(bool*, double, false);
-	TEST_TT(bool*, A, false);
-	TEST_TT(bool*, B, false);
-	TEST_TT(int*, bool, true);
-	TEST_TT(int*, int, true);
-	TEST_TT(int*, double, false);
-	TEST_TT(int*, A, false);
-	TEST_TT(int*, B, false);
-	TEST_TT(double*, bool, true);
-	TEST_TT(double*, int, true);
-	TEST_TT(double*, double, false);
-	TEST_TT(double*, A, false);
-	TEST_TT(double*, B, false);
-	TEST_TT(A*, bool, true);
-	TEST_TT(A*, int, true);
-	TEST_TT(A*, double, false);
-	TEST_TT(A*, A, false);
-	TEST_TT(A*, B, false);
-	TEST_TT(B*, bool, true);
-	TEST_TT(B*, int, true);
-	TEST_TT(B*, double, false);
-	TEST_TT(B*, A, false);
-	TEST_TT(B*, B, false);
-	TEST_TT(bool, void*, false);
-	TEST_TT(bool, bool*, true);
-	TEST_TT(bool, int*, true);
-	TEST_TT(bool, double*, true);
-	TEST_TT(bool, A*, true);
-	TEST_TT(bool, B*, true);
-	TEST_TT(int, void*, false);
-	TEST_TT(int, bool*, false);
-	TEST_TT(int, int*, false);
-	TEST_TT(int, double*, false);
-	TEST_TT(int, A*, false);
-	TEST_TT(int, B*, false);
-	TEST_TT(double, void*, false);
-	TEST_TT(double, bool*, false);
-	TEST_TT(double, int*, false);
-	TEST_TT(double, double*, false);
-	TEST_TT(double, A*, false);
-	TEST_TT(double, B*, false);
-	TEST_TT(A, void*, false);
-	TEST_TT(A, bool*, false);
-	TEST_TT(A, int*, false);
-	TEST_TT(A, double*, false);
-	TEST_TT(A, A*, false);
-	TEST_TT(A, B*, false);
-	TEST_TT(B, void*, false);
-	TEST_TT(B, bool*, false);
-	TEST_TT(B, int*, false);
-	TEST_TT(B, double*, false);
-	TEST_TT(B, A*, false);
-	TEST_TT(B, B*, false);
-	TEST_TT(void*, void*, false);
-	TEST_TT(void*, bool*, false);
-	TEST_TT(void*, int*, false);
-	TEST_TT(void*, double*, false);
-	TEST_TT(void*, A*, false);
-	TEST_TT(void*, B*, false);
-	TEST_TT(bool*, void*, false);
-	TEST_TT(bool*, bool*, false);
-	TEST_TT(bool*, int*, false);
-	TEST_TT(bool*, double*, false);
-	TEST_TT(bool*, A*, false);
-	TEST_TT(bool*, B*, false);
-	TEST_TT(int*, void*, false);
-	TEST_TT(int*, bool*, false);
-	TEST_TT(int*, int*, false);
-	TEST_TT(int*, double*, false);
-	TEST_TT(int*, A*, false);
-	TEST_TT(int*, B*, false);
-	TEST_TT(double*, void*, false);
-	TEST_TT(double*, bool*, false);
-	TEST_TT(double*, int*, false);
-	TEST_TT(double*, double*, false);
-	TEST_TT(double*, A*, false);
-	TEST_TT(double*, B*, false);
-	TEST_TT(A*, void*, false);
-	TEST_TT(A*, bool*, false);
-	TEST_TT(A*, int*, false);
-	TEST_TT(A*, double*, false);
-	TEST_TT(A*, A*, false);
-	TEST_TT(A*, B*, false);
-	TEST_TT(B*, void*, false);
-	TEST_TT(B*, bool*, false);
-	TEST_TT(B*, int*, false);
-	TEST_TT(B*, double*, false);
-	TEST_TT(B*, A*, false);
-	TEST_TT(B*, B*, false);
+   TEST_TR(without, bool, false);
+   TEST_TR(internal, bool, false);
+   TEST_TR(internal, ret, true);
+   TEST_TR(external, bool, false);
+   TEST_TR(external, ret, true);
+   TEST_TR(returns_int, bool, true);
+   TEST_TR(returns_int, int, true);
+   TEST_TR(returns_void, void, true);
+   TEST_TR(returns_void, bool, false);
+   TEST_TR(returns_void_star, bool, true);
+   TEST_TR(returns_double, bool, true);
+   TEST_TR(returns_double, double, true);
+   TEST_TR(returns_string, bool, false);
+   TEST_TR(returns_string, std::string, true);
+// TEST_TR(convertible_to_bool, bool, true);
+   TEST_TR(Base1, bool, true);
+   TEST_TR(Derived1, bool, true);
+   TEST_TR(Base2, bool, false);
+   TEST_TR(Derived2, bool, true);
+   // pointers
+   TEST_TT(void*, bool, false);
+   TEST_TT(void*, int, false);
+   TEST_TT(void*, double, false);
+   TEST_TT(void*, A, false);
+   TEST_TT(void*, B, false);
+   TEST_TT(bool*, bool, true);
+   TEST_TT(bool*, int, true);
+   TEST_TT(bool*, double, false);
+   TEST_TT(bool*, A, false);
+   TEST_TT(bool*, B, false);
+   TEST_TT(int*, bool, true);
+   TEST_TT(int*, int, true);
+   TEST_TT(int*, double, false);
+   TEST_TT(int*, A, false);
+   TEST_TT(int*, B, false);
+   TEST_TT(double*, bool, true);
+   TEST_TT(double*, int, true);
+   TEST_TT(double*, double, false);
+   TEST_TT(double*, A, false);
+   TEST_TT(double*, B, false);
+   TEST_TT(A*, bool, true);
+   TEST_TT(A*, int, true);
+   TEST_TT(A*, double, false);
+   TEST_TT(A*, A, false);
+   TEST_TT(A*, B, false);
+   TEST_TT(B*, bool, true);
+   TEST_TT(B*, int, true);
+   TEST_TT(B*, double, false);
+   TEST_TT(B*, A, false);
+   TEST_TT(B*, B, false);
+   TEST_TT(bool, void*, false);
+   TEST_TT(bool, bool*, true);
+   TEST_TT(bool, int*, true);
+   TEST_TT(bool, double*, true);
+   TEST_TT(bool, A*, true);
+   TEST_TT(bool, B*, true);
+   TEST_TT(int, void*, false);
+   TEST_TT(int, bool*, false);
+   TEST_TT(int, int*, false);
+   TEST_TT(int, double*, false);
+   TEST_TT(int, A*, false);
+   TEST_TT(int, B*, false);
+   TEST_TT(double, void*, false);
+   TEST_TT(double, bool*, false);
+   TEST_TT(double, int*, false);
+   TEST_TT(double, double*, false);
+   TEST_TT(double, A*, false);
+   TEST_TT(double, B*, false);
+   TEST_TT(A, void*, false);
+   TEST_TT(A, bool*, false);
+   TEST_TT(A, int*, false);
+   TEST_TT(A, double*, false);
+   TEST_TT(A, A*, false);
+   TEST_TT(A, B*, false);
+   TEST_TT(B, void*, false);
+   TEST_TT(B, bool*, false);
+   TEST_TT(B, int*, false);
+   TEST_TT(B, double*, false);
+   TEST_TT(B, A*, false);
+   TEST_TT(B, B*, false);
+   TEST_TT(void*, void*, false);
+   TEST_TT(void*, bool*, false);
+   TEST_TT(void*, int*, false);
+   TEST_TT(void*, double*, false);
+   TEST_TT(void*, A*, false);
+   TEST_TT(void*, B*, false);
+   TEST_TT(bool*, void*, false);
+   TEST_TT(bool*, bool*, false);
+   TEST_TT(bool*, int*, false);
+   TEST_TT(bool*, double*, false);
+   TEST_TT(bool*, A*, false);
+   TEST_TT(bool*, B*, false);
+   TEST_TT(int*, void*, false);
+   TEST_TT(int*, bool*, false);
+   TEST_TT(int*, int*, false);
+   TEST_TT(int*, double*, false);
+   TEST_TT(int*, A*, false);
+   TEST_TT(int*, B*, false);
+   TEST_TT(double*, void*, false);
+   TEST_TT(double*, bool*, false);
+   TEST_TT(double*, int*, false);
+   TEST_TT(double*, double*, false);
+   TEST_TT(double*, A*, false);
+   TEST_TT(double*, B*, false);
+   TEST_TT(A*, void*, false);
+   TEST_TT(A*, bool*, false);
+   TEST_TT(A*, int*, false);
+   TEST_TT(A*, double*, false);
+   TEST_TT(A*, A*, false);
+   TEST_TT(A*, B*, false);
+   TEST_TT(B*, void*, false);
+   TEST_TT(B*, bool*, false);
+   TEST_TT(B*, int*, false);
+   TEST_TT(B*, double*, false);
+   TEST_TT(B*, A*, false);
+   TEST_TT(B*, B*, false);
 }
 }
 
 TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-	run();
+   run();
 TT_TEST_END
Modified: sandbox/type_traits/libs/type_traits/test/has_postfix_decrement_operator_test.hpp
==============================================================================
--- sandbox/type_traits/libs/type_traits/test/has_postfix_decrement_operator_test.hpp	(original)
+++ sandbox/type_traits/libs/type_traits/test/has_postfix_decrement_operator_test.hpp	2011-02-03 17:09:55 EST (Thu, 03 Feb 2011)
@@ -45,7 +45,7 @@
 
 class Base2 { };
 struct Derived2 : public Base2 {
-	Derived2(int); // to check if it works with a class that is not default constructible
+   Derived2(int); // to check if it works with a class that is not default constructible
 };
 
 bool operator BOOST_TT_TRAIT_OP (const Derived2&, int) { return true; }
@@ -53,100 +53,100 @@
 struct tag { };
 
 void run() {
-	// test with only one template parameter
-	TEST_T(bool, false);
-	TEST_T(char, true);
-	TEST_T(signed char, true);
-	TEST_T(short int, true);
-	TEST_T(int, true);
-	TEST_T(long int, true);
-	TEST_T(unsigned char, true);
-	TEST_T(unsigned short int, true);
-	TEST_T(unsigned int, true);
-	TEST_T(unsigned long int, true);
-	TEST_T(wchar_t, true);
-	TEST_T(float, true);
-	TEST_T(double, true);
-	TEST_T(long double, true);
-	TEST_T(void, false);
+   // test with only one template parameter
+   TEST_T(bool, false);
+   TEST_T(char, true);
+   TEST_T(signed char, true);
+   TEST_T(short int, true);
+   TEST_T(int, true);
+   TEST_T(long int, true);
+   TEST_T(unsigned char, true);
+   TEST_T(unsigned short int, true);
+   TEST_T(unsigned int, true);
+   TEST_T(unsigned long int, true);
+   TEST_T(wchar_t, true);
+   TEST_T(float, true);
+   TEST_T(double, true);
+   TEST_T(long double, true);
+   TEST_T(void, false);
 
 // test with three template parameters
-	TEST_TR(bool, bool, false);
-	TEST_TR(char, bool, true);
-	TEST_TR(signed char, bool, true);
-	TEST_TR(short int, bool, true);
-	TEST_TR(int, bool, true);
-	TEST_TR(long int, bool, true);
-	TEST_TR(unsigned char, bool, true);
-	TEST_TR(unsigned short int, bool, true);
-	TEST_TR(unsigned int, bool, true);
-	TEST_TR(unsigned long int, bool, true);
-	TEST_TR(wchar_t, bool, true);
-	TEST_TR(float, bool, true);
-	TEST_TR(double, bool, true);
-	TEST_TR(long double, bool, true);
-	TEST_TR(bool, tag, false);
-	TEST_TR(char, tag, false);
-	TEST_TR(signed char, tag, false);
-	TEST_TR(short int, tag, false);
-	TEST_TR(int, tag, false);
-	TEST_TR(long int, tag, false);
-	TEST_TR(unsigned char, tag, false);
-	TEST_TR(unsigned short int, tag, false);
-	TEST_TR(unsigned int, tag, false);
-	TEST_TR(unsigned long int, tag, false);
-	TEST_TR(wchar_t, tag, false);
-	TEST_TR(float, tag, false);
-	TEST_TR(double, tag, false);
-	TEST_TR(long double, tag, false);
-
-	TEST_T(without, false);
-	TEST_T(internal, true);
-	TEST_T(external, true);
-//	compile time error
-//	TEST_T(internal_private, false);
-	TEST_T(returns_int, true);
-	TEST_T(returns_void, true);
-	TEST_T(returns_void_star, true);
-	TEST_T(returns_double, true);
-	TEST_T(returns_string, true);
-//	TEST_T(convertible_to_bool, true);
-	TEST_T(Base1, true);
-	TEST_T(Derived1, true);
-	TEST_T(Base2, false);
-	TEST_T(Derived2, true);
-
-	TEST_TR(without, bool, false);
-	TEST_TR(internal, bool, false);
-	TEST_TR(internal, ret, true);
-	TEST_TR(external, bool, false);
-	TEST_TR(external, ret, true);
-	TEST_TR(returns_int, bool, true);
-	TEST_TR(returns_int, int, true);
-	TEST_TR(returns_void, void, true);
-	TEST_TR(returns_void, bool, false);
-	TEST_TR(returns_void_star, bool, true);
-	TEST_TR(returns_double, bool, true);
-	TEST_TR(returns_double, double, true);
-	TEST_TR(returns_string, bool, false);
-	TEST_TR(returns_string, std::string, true);
-//	TEST_TR(convertible_to_bool, bool, true);
-	TEST_TR(Base1, bool, true);
-	TEST_TR(Derived1, bool, true);
-	TEST_TR(Base2, bool, false);
-	TEST_TR(Derived2, bool, true);
-	// pointers
-	TEST_T(void*, false);
-	TEST_T(bool*, true);
-	TEST_T(char*, true);
-	TEST_T(int*, true);
-	TEST_T(long*, true);
-	TEST_T(wchar_t*, true);
-	TEST_T(double*, true);
-	TEST_T(without*, true);
+   TEST_TR(bool, bool, false);
+   TEST_TR(char, bool, true);
+   TEST_TR(signed char, bool, true);
+   TEST_TR(short int, bool, true);
+   TEST_TR(int, bool, true);
+   TEST_TR(long int, bool, true);
+   TEST_TR(unsigned char, bool, true);
+   TEST_TR(unsigned short int, bool, true);
+   TEST_TR(unsigned int, bool, true);
+   TEST_TR(unsigned long int, bool, true);
+   TEST_TR(wchar_t, bool, true);
+   TEST_TR(float, bool, true);
+   TEST_TR(double, bool, true);
+   TEST_TR(long double, bool, true);
+   TEST_TR(bool, tag, false);
+   TEST_TR(char, tag, false);
+   TEST_TR(signed char, tag, false);
+   TEST_TR(short int, tag, false);
+   TEST_TR(int, tag, false);
+   TEST_TR(long int, tag, false);
+   TEST_TR(unsigned char, tag, false);
+   TEST_TR(unsigned short int, tag, false);
+   TEST_TR(unsigned int, tag, false);
+   TEST_TR(unsigned long int, tag, false);
+   TEST_TR(wchar_t, tag, false);
+   TEST_TR(float, tag, false);
+   TEST_TR(double, tag, false);
+   TEST_TR(long double, tag, false);
+
+   TEST_T(without, false);
+   TEST_T(internal, true);
+   TEST_T(external, true);
+// compile time error
+// TEST_T(internal_private, false);
+   TEST_T(returns_int, true);
+   TEST_T(returns_void, true);
+   TEST_T(returns_void_star, true);
+   TEST_T(returns_double, true);
+   TEST_T(returns_string, true);
+// TEST_T(convertible_to_bool, true);
+   TEST_T(Base1, true);
+   TEST_T(Derived1, true);
+   TEST_T(Base2, false);
+   TEST_T(Derived2, true);
+
+   TEST_TR(without, bool, false);
+   TEST_TR(internal, bool, false);
+   TEST_TR(internal, ret, true);
+   TEST_TR(external, bool, false);
+   TEST_TR(external, ret, true);
+   TEST_TR(returns_int, bool, true);
+   TEST_TR(returns_int, int, true);
+   TEST_TR(returns_void, void, true);
+   TEST_TR(returns_void, bool, false);
+   TEST_TR(returns_void_star, bool, true);
+   TEST_TR(returns_double, bool, true);
+   TEST_TR(returns_double, double, true);
+   TEST_TR(returns_string, bool, false);
+   TEST_TR(returns_string, std::string, true);
+// TEST_TR(convertible_to_bool, bool, true);
+   TEST_TR(Base1, bool, true);
+   TEST_TR(Derived1, bool, true);
+   TEST_TR(Base2, bool, false);
+   TEST_TR(Derived2, bool, true);
+   // pointers
+   TEST_T(void*, false);
+   TEST_T(bool*, true);
+   TEST_T(char*, true);
+   TEST_T(int*, true);
+   TEST_T(long*, true);
+   TEST_T(wchar_t*, true);
+   TEST_T(double*, true);
+   TEST_T(without*, true);
 }
 }
 
 TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-	run();
+   run();
 TT_TEST_END
Modified: sandbox/type_traits/libs/type_traits/test/has_postfix_increment_operator_test.hpp
==============================================================================
--- sandbox/type_traits/libs/type_traits/test/has_postfix_increment_operator_test.hpp	(original)
+++ sandbox/type_traits/libs/type_traits/test/has_postfix_increment_operator_test.hpp	2011-02-03 17:09:55 EST (Thu, 03 Feb 2011)
@@ -45,7 +45,7 @@
 
 class Base2 { };
 struct Derived2 : public Base2 {
-	Derived2(int); // to check if it works with a class that is not default constructible
+   Derived2(int); // to check if it works with a class that is not default constructible
 };
 
 bool operator BOOST_TT_TRAIT_OP (const Derived2&, int) { return true; }
@@ -53,100 +53,100 @@
 struct tag { };
 
 void run() {
-	// test with only one template parameter
-	TEST_T(bool, true);
-	TEST_T(char, true);
-	TEST_T(signed char, true);
-	TEST_T(short int, true);
-	TEST_T(int, true);
-	TEST_T(long int, true);
-	TEST_T(unsigned char, true);
-	TEST_T(unsigned short int, true);
-	TEST_T(unsigned int, true);
-	TEST_T(unsigned long int, true);
-	TEST_T(wchar_t, true);
-	TEST_T(float, true);
-	TEST_T(double, true);
-	TEST_T(long double, true);
-	TEST_T(void, false);
+   // test with only one template parameter
+   TEST_T(bool, true);
+   TEST_T(char, true);
+   TEST_T(signed char, true);
+   TEST_T(short int, true);
+   TEST_T(int, true);
+   TEST_T(long int, true);
+   TEST_T(unsigned char, true);
+   TEST_T(unsigned short int, true);
+   TEST_T(unsigned int, true);
+   TEST_T(unsigned long int, true);
+   TEST_T(wchar_t, true);
+   TEST_T(float, true);
+   TEST_T(double, true);
+   TEST_T(long double, true);
+   TEST_T(void, false);
 
 // test with three template parameters
-	TEST_TR(bool, bool, true);
-	TEST_TR(char, bool, true);
-	TEST_TR(signed char, bool, true);
-	TEST_TR(short int, bool, true);
-	TEST_TR(int, bool, true);
-	TEST_TR(long int, bool, true);
-	TEST_TR(unsigned char, bool, true);
-	TEST_TR(unsigned short int, bool, true);
-	TEST_TR(unsigned int, bool, true);
-	TEST_TR(unsigned long int, bool, true);
-	TEST_TR(wchar_t, bool, true);
-	TEST_TR(float, bool, true);
-	TEST_TR(double, bool, true);
-	TEST_TR(long double, bool, true);
-	TEST_TR(bool, tag, false);
-	TEST_TR(char, tag, false);
-	TEST_TR(signed char, tag, false);
-	TEST_TR(short int, tag, false);
-	TEST_TR(int, tag, false);
-	TEST_TR(long int, tag, false);
-	TEST_TR(unsigned char, tag, false);
-	TEST_TR(unsigned short int, tag, false);
-	TEST_TR(unsigned int, tag, false);
-	TEST_TR(unsigned long int, tag, false);
-	TEST_TR(wchar_t, tag, false);
-	TEST_TR(float, tag, false);
-	TEST_TR(double, tag, false);
-	TEST_TR(long double, tag, false);
-
-	TEST_T(without, false);
-	TEST_T(internal, true);
-	TEST_T(external, true);
-//	compile time error
-//	TEST_T(internal_private, false);
-	TEST_T(returns_int, true);
-	TEST_T(returns_void, true);
-	TEST_T(returns_void_star, true);
-	TEST_T(returns_double, true);
-	TEST_T(returns_string, true);
-//	TEST_T(convertible_to_bool, true);
-	TEST_T(Base1, true);
-	TEST_T(Derived1, true);
-	TEST_T(Base2, false);
-	TEST_T(Derived2, true);
-
-	TEST_TR(without, bool, false);
-	TEST_TR(internal, bool, false);
-	TEST_TR(internal, ret, true);
-	TEST_TR(external, bool, false);
-	TEST_TR(external, ret, true);
-	TEST_TR(returns_int, bool, true);
-	TEST_TR(returns_int, int, true);
-	TEST_TR(returns_void, void, true);
-	TEST_TR(returns_void, bool, false);
-	TEST_TR(returns_void_star, bool, true);
-	TEST_TR(returns_double, bool, true);
-	TEST_TR(returns_double, double, true);
-	TEST_TR(returns_string, bool, false);
-	TEST_TR(returns_string, std::string, true);
-//	TEST_TR(convertible_to_bool, bool, true);
-	TEST_TR(Base1, bool, true);
-	TEST_TR(Derived1, bool, true);
-	TEST_TR(Base2, bool, false);
-	TEST_TR(Derived2, bool, true);
-	// pointers
-	TEST_T(void*, false);
-	TEST_T(bool*, true);
-	TEST_T(char*, true);
-	TEST_T(int*, true);
-	TEST_T(long*, true);
-	TEST_T(wchar_t*, true);
-	TEST_T(double*, true);
-	TEST_T(without*, true);
+   TEST_TR(bool, bool, true);
+   TEST_TR(char, bool, true);
+   TEST_TR(signed char, bool, true);
+   TEST_TR(short int, bool, true);
+   TEST_TR(int, bool, true);
+   TEST_TR(long int, bool, true);
+   TEST_TR(unsigned char, bool, true);
+   TEST_TR(unsigned short int, bool, true);
+   TEST_TR(unsigned int, bool, true);
+   TEST_TR(unsigned long int, bool, true);
+   TEST_TR(wchar_t, bool, true);
+   TEST_TR(float, bool, true);
+   TEST_TR(double, bool, true);
+   TEST_TR(long double, bool, true);
+   TEST_TR(bool, tag, false);
+   TEST_TR(char, tag, false);
+   TEST_TR(signed char, tag, false);
+   TEST_TR(short int, tag, false);
+   TEST_TR(int, tag, false);
+   TEST_TR(long int, tag, false);
+   TEST_TR(unsigned char, tag, false);
+   TEST_TR(unsigned short int, tag, false);
+   TEST_TR(unsigned int, tag, false);
+   TEST_TR(unsigned long int, tag, false);
+   TEST_TR(wchar_t, tag, false);
+   TEST_TR(float, tag, false);
+   TEST_TR(double, tag, false);
+   TEST_TR(long double, tag, false);
+
+   TEST_T(without, false);
+   TEST_T(internal, true);
+   TEST_T(external, true);
+// compile time error
+// TEST_T(internal_private, false);
+   TEST_T(returns_int, true);
+   TEST_T(returns_void, true);
+   TEST_T(returns_void_star, true);
+   TEST_T(returns_double, true);
+   TEST_T(returns_string, true);
+// TEST_T(convertible_to_bool, true);
+   TEST_T(Base1, true);
+   TEST_T(Derived1, true);
+   TEST_T(Base2, false);
+   TEST_T(Derived2, true);
+
+   TEST_TR(without, bool, false);
+   TEST_TR(internal, bool, false);
+   TEST_TR(internal, ret, true);
+   TEST_TR(external, bool, false);
+   TEST_TR(external, ret, true);
+   TEST_TR(returns_int, bool, true);
+   TEST_TR(returns_int, int, true);
+   TEST_TR(returns_void, void, true);
+   TEST_TR(returns_void, bool, false);
+   TEST_TR(returns_void_star, bool, true);
+   TEST_TR(returns_double, bool, true);
+   TEST_TR(returns_double, double, true);
+   TEST_TR(returns_string, bool, false);
+   TEST_TR(returns_string, std::string, true);
+// TEST_TR(convertible_to_bool, bool, true);
+   TEST_TR(Base1, bool, true);
+   TEST_TR(Derived1, bool, true);
+   TEST_TR(Base2, bool, false);
+   TEST_TR(Derived2, bool, true);
+   // pointers
+   TEST_T(void*, false);
+   TEST_T(bool*, true);
+   TEST_T(char*, true);
+   TEST_T(int*, true);
+   TEST_T(long*, true);
+   TEST_T(wchar_t*, true);
+   TEST_T(double*, true);
+   TEST_T(without*, true);
 }
 }
 
 TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-	run();
+   run();
 TT_TEST_END
Modified: sandbox/type_traits/libs/type_traits/test/has_prefix_complement_operator_test.hpp
==============================================================================
--- sandbox/type_traits/libs/type_traits/test/has_prefix_complement_operator_test.hpp	(original)
+++ sandbox/type_traits/libs/type_traits/test/has_prefix_complement_operator_test.hpp	2011-02-03 17:09:55 EST (Thu, 03 Feb 2011)
@@ -45,7 +45,7 @@
 
 class Base2 { };
 struct Derived2 : public Base2 {
-	Derived2(int); // to check if it works with a class that is not default constructible
+   Derived2(int); // to check if it works with a class that is not default constructible
 };
 
 bool operator BOOST_TT_TRAIT_OP (const Derived2&) { return true; }
@@ -53,100 +53,100 @@
 struct tag { };
 
 void run() {
-	// test with only one template parameter
-	TEST_T(bool, true);
-	TEST_T(char, true);
-	TEST_T(signed char, true);
-	TEST_T(short int, true);
-	TEST_T(int, true);
-	TEST_T(long int, true);
-	TEST_T(unsigned char, true);
-	TEST_T(unsigned short int, true);
-	TEST_T(unsigned int, true);
-	TEST_T(unsigned long int, true);
-	TEST_T(wchar_t, true);
-	TEST_T(float, false);
-	TEST_T(double, false);
-	TEST_T(long double, false);
-	TEST_T(void, false);
+   // test with only one template parameter
+   TEST_T(bool, true);
+   TEST_T(char, true);
+   TEST_T(signed char, true);
+   TEST_T(short int, true);
+   TEST_T(int, true);
+   TEST_T(long int, true);
+   TEST_T(unsigned char, true);
+   TEST_T(unsigned short int, true);
+   TEST_T(unsigned int, true);
+   TEST_T(unsigned long int, true);
+   TEST_T(wchar_t, true);
+   TEST_T(float, false);
+   TEST_T(double, false);
+   TEST_T(long double, false);
+   TEST_T(void, false);
 
 // test with three template parameters
-	TEST_TR(bool, bool, true);
-	TEST_TR(char, bool, true);
-	TEST_TR(signed char, bool, true);
-	TEST_TR(short int, bool, true);
-	TEST_TR(int, bool, true);
-	TEST_TR(long int, bool, true);
-	TEST_TR(unsigned char, bool, true);
-	TEST_TR(unsigned short int, bool, true);
-	TEST_TR(unsigned int, bool, true);
-	TEST_TR(unsigned long int, bool, true);
-	TEST_TR(wchar_t, bool, true);
-	TEST_TR(float, bool, false);
-	TEST_TR(double, bool, false);
-	TEST_TR(long double, bool, false);
-	TEST_TR(bool, tag, false);
-	TEST_TR(char, tag, false);
-	TEST_TR(signed char, tag, false);
-	TEST_TR(short int, tag, false);
-	TEST_TR(int, tag, false);
-	TEST_TR(long int, tag, false);
-	TEST_TR(unsigned char, tag, false);
-	TEST_TR(unsigned short int, tag, false);
-	TEST_TR(unsigned int, tag, false);
-	TEST_TR(unsigned long int, tag, false);
-	TEST_TR(wchar_t, tag, false);
-	TEST_TR(float, tag, false);
-	TEST_TR(double, tag, false);
-	TEST_TR(long double, tag, false);
-
-	TEST_T(without, false);
-	TEST_T(internal, true);
-	TEST_T(external, true);
-//	compile time error
-//	TEST_T(internal_private, false);
-	TEST_T(returns_int, true);
-	TEST_T(returns_void, true);
-	TEST_T(returns_void_star, true);
-	TEST_T(returns_double, true);
-	TEST_T(returns_string, true);
-//	TEST_T(convertible_to_bool, true);
-	TEST_T(Base1, true);
-	TEST_T(Derived1, true);
-	TEST_T(Base2, false);
-	TEST_T(Derived2, true);
-
-	TEST_TR(without, bool, false);
-	TEST_TR(internal, bool, false);
-	TEST_TR(internal, ret, true);
-	TEST_TR(external, bool, false);
-	TEST_TR(external, ret, true);
-	TEST_TR(returns_int, bool, true);
-	TEST_TR(returns_int, int, true);
-	TEST_TR(returns_void, void, true);
-	TEST_TR(returns_void, bool, false);
-	TEST_TR(returns_void_star, bool, true);
-	TEST_TR(returns_double, bool, true);
-	TEST_TR(returns_double, double, true);
-	TEST_TR(returns_string, bool, false);
-	TEST_TR(returns_string, std::string, true);
-//	TEST_TR(convertible_to_bool, bool, true);
-	TEST_TR(Base1, bool, true);
-	TEST_TR(Derived1, bool, true);
-	TEST_TR(Base2, bool, false);
-	TEST_TR(Derived2, bool, true);
-	// pointers
-	TEST_T(void*, false);
-	TEST_T(bool*, false);
-	TEST_T(char*, false);
-	TEST_T(int*, false);
-	TEST_T(long*, false);
-	TEST_T(wchar_t*, false);
-	TEST_T(double*, false);
-	TEST_T(without*, false);
+   TEST_TR(bool, bool, true);
+   TEST_TR(char, bool, true);
+   TEST_TR(signed char, bool, true);
+   TEST_TR(short int, bool, true);
+   TEST_TR(int, bool, true);
+   TEST_TR(long int, bool, true);
+   TEST_TR(unsigned char, bool, true);
+   TEST_TR(unsigned short int, bool, true);
+   TEST_TR(unsigned int, bool, true);
+   TEST_TR(unsigned long int, bool, true);
+   TEST_TR(wchar_t, bool, true);
+   TEST_TR(float, bool, false);
+   TEST_TR(double, bool, false);
+   TEST_TR(long double, bool, false);
+   TEST_TR(bool, tag, false);
+   TEST_TR(char, tag, false);
+   TEST_TR(signed char, tag, false);
+   TEST_TR(short int, tag, false);
+   TEST_TR(int, tag, false);
+   TEST_TR(long int, tag, false);
+   TEST_TR(unsigned char, tag, false);
+   TEST_TR(unsigned short int, tag, false);
+   TEST_TR(unsigned int, tag, false);
+   TEST_TR(unsigned long int, tag, false);
+   TEST_TR(wchar_t, tag, false);
+   TEST_TR(float, tag, false);
+   TEST_TR(double, tag, false);
+   TEST_TR(long double, tag, false);
+
+   TEST_T(without, false);
+   TEST_T(internal, true);
+   TEST_T(external, true);
+// compile time error
+// TEST_T(internal_private, false);
+   TEST_T(returns_int, true);
+   TEST_T(returns_void, true);
+   TEST_T(returns_void_star, true);
+   TEST_T(returns_double, true);
+   TEST_T(returns_string, true);
+// TEST_T(convertible_to_bool, true);
+   TEST_T(Base1, true);
+   TEST_T(Derived1, true);
+   TEST_T(Base2, false);
+   TEST_T(Derived2, true);
+
+   TEST_TR(without, bool, false);
+   TEST_TR(internal, bool, false);
+   TEST_TR(internal, ret, true);
+   TEST_TR(external, bool, false);
+   TEST_TR(external, ret, true);
+   TEST_TR(returns_int, bool, true);
+   TEST_TR(returns_int, int, true);
+   TEST_TR(returns_void, void, true);
+   TEST_TR(returns_void, bool, false);
+   TEST_TR(returns_void_star, bool, true);
+   TEST_TR(returns_double, bool, true);
+   TEST_TR(returns_double, double, true);
+   TEST_TR(returns_string, bool, false);
+   TEST_TR(returns_string, std::string, true);
+// TEST_TR(convertible_to_bool, bool, true);
+   TEST_TR(Base1, bool, true);
+   TEST_TR(Derived1, bool, true);
+   TEST_TR(Base2, bool, false);
+   TEST_TR(Derived2, bool, true);
+   // pointers
+   TEST_T(void*, false);
+   TEST_T(bool*, false);
+   TEST_T(char*, false);
+   TEST_T(int*, false);
+   TEST_T(long*, false);
+   TEST_T(wchar_t*, false);
+   TEST_T(double*, false);
+   TEST_T(without*, false);
 }
 }
 
 TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-	run();
+   run();
 TT_TEST_END
Modified: sandbox/type_traits/libs/type_traits/test/has_prefix_decrement_operator_test.hpp
==============================================================================
--- sandbox/type_traits/libs/type_traits/test/has_prefix_decrement_operator_test.hpp	(original)
+++ sandbox/type_traits/libs/type_traits/test/has_prefix_decrement_operator_test.hpp	2011-02-03 17:09:55 EST (Thu, 03 Feb 2011)
@@ -45,7 +45,7 @@
 
 class Base2 { };
 struct Derived2 : public Base2 {
-	Derived2(int); // to check if it works with a class that is not default constructible
+   Derived2(int); // to check if it works with a class that is not default constructible
 };
 
 bool operator BOOST_TT_TRAIT_OP (const Derived2&) { return true; }
@@ -53,100 +53,100 @@
 struct tag { };
 
 void run() {
-	// test with only one template parameter
-	TEST_T(bool, false);
-	TEST_T(char, true);
-	TEST_T(signed char, true);
-	TEST_T(short int, true);
-	TEST_T(int, true);
-	TEST_T(long int, true);
-	TEST_T(unsigned char, true);
-	TEST_T(unsigned short int, true);
-	TEST_T(unsigned int, true);
-	TEST_T(unsigned long int, true);
-	TEST_T(wchar_t, true);
-	TEST_T(float, true);
-	TEST_T(double, true);
-	TEST_T(long double, true);
-	TEST_T(void, false);
+   // test with only one template parameter
+   TEST_T(bool, false);
+   TEST_T(char, true);
+   TEST_T(signed char, true);
+   TEST_T(short int, true);
+   TEST_T(int, true);
+   TEST_T(long int, true);
+   TEST_T(unsigned char, true);
+   TEST_T(unsigned short int, true);
+   TEST_T(unsigned int, true);
+   TEST_T(unsigned long int, true);
+   TEST_T(wchar_t, true);
+   TEST_T(float, true);
+   TEST_T(double, true);
+   TEST_T(long double, true);
+   TEST_T(void, false);
 
 // test with three template parameters
-	TEST_TR(bool, bool, false);
-	TEST_TR(char, bool, true);
-	TEST_TR(signed char, bool, true);
-	TEST_TR(short int, bool, true);
-	TEST_TR(int, bool, true);
-	TEST_TR(long int, bool, true);
-	TEST_TR(unsigned char, bool, true);
-	TEST_TR(unsigned short int, bool, true);
-	TEST_TR(unsigned int, bool, true);
-	TEST_TR(unsigned long int, bool, true);
-	TEST_TR(wchar_t, bool, true);
-	TEST_TR(float, bool, true);
-	TEST_TR(double, bool, true);
-	TEST_TR(long double, bool, true);
-	TEST_TR(bool, tag, false);
-	TEST_TR(char, tag, false);
-	TEST_TR(signed char, tag, false);
-	TEST_TR(short int, tag, false);
-	TEST_TR(int, tag, false);
-	TEST_TR(long int, tag, false);
-	TEST_TR(unsigned char, tag, false);
-	TEST_TR(unsigned short int, tag, false);
-	TEST_TR(unsigned int, tag, false);
-	TEST_TR(unsigned long int, tag, false);
-	TEST_TR(wchar_t, tag, false);
-	TEST_TR(float, tag, false);
-	TEST_TR(double, tag, false);
-	TEST_TR(long double, tag, false);
-
-	TEST_T(without, false);
-	TEST_T(internal, true);
-	TEST_T(external, true);
-//	compile time error
-//	TEST_T(internal_private, false);
-	TEST_T(returns_int, true);
-	TEST_T(returns_void, true);
-	TEST_T(returns_void_star, true);
-	TEST_T(returns_double, true);
-	TEST_T(returns_string, true);
-//	TEST_T(convertible_to_bool, true);
-	TEST_T(Base1, true);
-	TEST_T(Derived1, true);
-	TEST_T(Base2, false);
-	TEST_T(Derived2, true);
-
-	TEST_TR(without, bool, false);
-	TEST_TR(internal, bool, false);
-	TEST_TR(internal, ret, true);
-	TEST_TR(external, bool, false);
-	TEST_TR(external, ret, true);
-	TEST_TR(returns_int, bool, true);
-	TEST_TR(returns_int, int, true);
-	TEST_TR(returns_void, void, true);
-	TEST_TR(returns_void, bool, false);
-	TEST_TR(returns_void_star, bool, true);
-	TEST_TR(returns_double, bool, true);
-	TEST_TR(returns_double, double, true);
-	TEST_TR(returns_string, bool, false);
-	TEST_TR(returns_string, std::string, true);
-//	TEST_TR(convertible_to_bool, bool, true);
-	TEST_TR(Base1, bool, true);
-	TEST_TR(Derived1, bool, true);
-	TEST_TR(Base2, bool, false);
-	TEST_TR(Derived2, bool, true);
-	// pointers
-	TEST_T(void*, false);
-	TEST_T(bool*, true);
-	TEST_T(char*, true);
-	TEST_T(int*, true);
-	TEST_T(long*, true);
-	TEST_T(wchar_t*, true);
-	TEST_T(double*, true);
-	TEST_T(without*, true);
+   TEST_TR(bool, bool, false);
+   TEST_TR(char, bool, true);
+   TEST_TR(signed char, bool, true);
+   TEST_TR(short int, bool, true);
+   TEST_TR(int, bool, true);
+   TEST_TR(long int, bool, true);
+   TEST_TR(unsigned char, bool, true);
+   TEST_TR(unsigned short int, bool, true);
+   TEST_TR(unsigned int, bool, true);
+   TEST_TR(unsigned long int, bool, true);
+   TEST_TR(wchar_t, bool, true);
+   TEST_TR(float, bool, true);
+   TEST_TR(double, bool, true);
+   TEST_TR(long double, bool, true);
+   TEST_TR(bool, tag, false);
+   TEST_TR(char, tag, false);
+   TEST_TR(signed char, tag, false);
+   TEST_TR(short int, tag, false);
+   TEST_TR(int, tag, false);
+   TEST_TR(long int, tag, false);
+   TEST_TR(unsigned char, tag, false);
+   TEST_TR(unsigned short int, tag, false);
+   TEST_TR(unsigned int, tag, false);
+   TEST_TR(unsigned long int, tag, false);
+   TEST_TR(wchar_t, tag, false);
+   TEST_TR(float, tag, false);
+   TEST_TR(double, tag, false);
+   TEST_TR(long double, tag, false);
+
+   TEST_T(without, false);
+   TEST_T(internal, true);
+   TEST_T(external, true);
+// compile time error
+// TEST_T(internal_private, false);
+   TEST_T(returns_int, true);
+   TEST_T(returns_void, true);
+   TEST_T(returns_void_star, true);
+   TEST_T(returns_double, true);
+   TEST_T(returns_string, true);
+// TEST_T(convertible_to_bool, true);
+   TEST_T(Base1, true);
+   TEST_T(Derived1, true);
+   TEST_T(Base2, false);
+   TEST_T(Derived2, true);
+
+   TEST_TR(without, bool, false);
+   TEST_TR(internal, bool, false);
+   TEST_TR(internal, ret, true);
+   TEST_TR(external, bool, false);
+   TEST_TR(external, ret, true);
+   TEST_TR(returns_int, bool, true);
+   TEST_TR(returns_int, int, true);
+   TEST_TR(returns_void, void, true);
+   TEST_TR(returns_void, bool, false);
+   TEST_TR(returns_void_star, bool, true);
+   TEST_TR(returns_double, bool, true);
+   TEST_TR(returns_double, double, true);
+   TEST_TR(returns_string, bool, false);
+   TEST_TR(returns_string, std::string, true);
+// TEST_TR(convertible_to_bool, bool, true);
+   TEST_TR(Base1, bool, true);
+   TEST_TR(Derived1, bool, true);
+   TEST_TR(Base2, bool, false);
+   TEST_TR(Derived2, bool, true);
+   // pointers
+   TEST_T(void*, false);
+   TEST_T(bool*, true);
+   TEST_T(char*, true);
+   TEST_T(int*, true);
+   TEST_T(long*, true);
+   TEST_T(wchar_t*, true);
+   TEST_T(double*, true);
+   TEST_T(without*, true);
 }
 }
 
 TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-	run();
+   run();
 TT_TEST_END
Modified: sandbox/type_traits/libs/type_traits/test/has_prefix_increment_operator_test.hpp
==============================================================================
--- sandbox/type_traits/libs/type_traits/test/has_prefix_increment_operator_test.hpp	(original)
+++ sandbox/type_traits/libs/type_traits/test/has_prefix_increment_operator_test.hpp	2011-02-03 17:09:55 EST (Thu, 03 Feb 2011)
@@ -45,7 +45,7 @@
 
 class Base2 { };
 struct Derived2 : public Base2 {
-	Derived2(int); // to check if it works with a class that is not default constructible
+   Derived2(int); // to check if it works with a class that is not default constructible
 };
 
 bool operator BOOST_TT_TRAIT_OP (const Derived2&) { return true; }
@@ -53,100 +53,100 @@
 struct tag { };
 
 void run() {
-	// test with only one template parameter
-	TEST_T(bool, true);
-	TEST_T(char, true);
-	TEST_T(signed char, true);
-	TEST_T(short int, true);
-	TEST_T(int, true);
-	TEST_T(long int, true);
-	TEST_T(unsigned char, true);
-	TEST_T(unsigned short int, true);
-	TEST_T(unsigned int, true);
-	TEST_T(unsigned long int, true);
-	TEST_T(wchar_t, true);
-	TEST_T(float, true);
-	TEST_T(double, true);
-	TEST_T(long double, true);
-	TEST_T(void, false);
+   // test with only one template parameter
+   TEST_T(bool, true);
+   TEST_T(char, true);
+   TEST_T(signed char, true);
+   TEST_T(short int, true);
+   TEST_T(int, true);
+   TEST_T(long int, true);
+   TEST_T(unsigned char, true);
+   TEST_T(unsigned short int, true);
+   TEST_T(unsigned int, true);
+   TEST_T(unsigned long int, true);
+   TEST_T(wchar_t, true);
+   TEST_T(float, true);
+   TEST_T(double, true);
+   TEST_T(long double, true);
+   TEST_T(void, false);
 
 // test with three template parameters
-	TEST_TR(bool, bool, true);
-	TEST_TR(char, bool, true);
-	TEST_TR(signed char, bool, true);
-	TEST_TR(short int, bool, true);
-	TEST_TR(int, bool, true);
-	TEST_TR(long int, bool, true);
-	TEST_TR(unsigned char, bool, true);
-	TEST_TR(unsigned short int, bool, true);
-	TEST_TR(unsigned int, bool, true);
-	TEST_TR(unsigned long int, bool, true);
-	TEST_TR(wchar_t, bool, true);
-	TEST_TR(float, bool, true);
-	TEST_TR(double, bool, true);
-	TEST_TR(long double, bool, true);
-	TEST_TR(bool, tag, false);
-	TEST_TR(char, tag, false);
-	TEST_TR(signed char, tag, false);
-	TEST_TR(short int, tag, false);
-	TEST_TR(int, tag, false);
-	TEST_TR(long int, tag, false);
-	TEST_TR(unsigned char, tag, false);
-	TEST_TR(unsigned short int, tag, false);
-	TEST_TR(unsigned int, tag, false);
-	TEST_TR(unsigned long int, tag, false);
-	TEST_TR(wchar_t, tag, false);
-	TEST_TR(float, tag, false);
-	TEST_TR(double, tag, false);
-	TEST_TR(long double, tag, false);
-
-	TEST_T(without, false);
-	TEST_T(internal, true);
-	TEST_T(external, true);
-//	compile time error
-//	TEST_T(internal_private, false);
-	TEST_T(returns_int, true);
-	TEST_T(returns_void, true);
-	TEST_T(returns_void_star, true);
-	TEST_T(returns_double, true);
-	TEST_T(returns_string, true);
-//	TEST_T(convertible_to_bool, true);
-	TEST_T(Base1, true);
-	TEST_T(Derived1, true);
-	TEST_T(Base2, false);
-	TEST_T(Derived2, true);
-
-	TEST_TR(without, bool, false);
-	TEST_TR(internal, bool, false);
-	TEST_TR(internal, ret, true);
-	TEST_TR(external, bool, false);
-	TEST_TR(external, ret, true);
-	TEST_TR(returns_int, bool, true);
-	TEST_TR(returns_int, int, true);
-	TEST_TR(returns_void, void, true);
-	TEST_TR(returns_void, bool, false);
-	TEST_TR(returns_void_star, bool, true);
-	TEST_TR(returns_double, bool, true);
-	TEST_TR(returns_double, double, true);
-	TEST_TR(returns_string, bool, false);
-	TEST_TR(returns_string, std::string, true);
-//	TEST_TR(convertible_to_bool, bool, true);
-	TEST_TR(Base1, bool, true);
-	TEST_TR(Derived1, bool, true);
-	TEST_TR(Base2, bool, false);
-	TEST_TR(Derived2, bool, true);
-	// pointers
-	TEST_T(void*, false);
-	TEST_T(bool*, true);
-	TEST_T(char*, true);
-	TEST_T(int*, true);
-	TEST_T(long*, true);
-	TEST_T(wchar_t*, true);
-	TEST_T(double*, true);
-	TEST_T(without*, true);
+   TEST_TR(bool, bool, true);
+   TEST_TR(char, bool, true);
+   TEST_TR(signed char, bool, true);
+   TEST_TR(short int, bool, true);
+   TEST_TR(int, bool, true);
+   TEST_TR(long int, bool, true);
+   TEST_TR(unsigned char, bool, true);
+   TEST_TR(unsigned short int, bool, true);
+   TEST_TR(unsigned int, bool, true);
+   TEST_TR(unsigned long int, bool, true);
+   TEST_TR(wchar_t, bool, true);
+   TEST_TR(float, bool, true);
+   TEST_TR(double, bool, true);
+   TEST_TR(long double, bool, true);
+   TEST_TR(bool, tag, false);
+   TEST_TR(char, tag, false);
+   TEST_TR(signed char, tag, false);
+   TEST_TR(short int, tag, false);
+   TEST_TR(int, tag, false);
+   TEST_TR(long int, tag, false);
+   TEST_TR(unsigned char, tag, false);
+   TEST_TR(unsigned short int, tag, false);
+   TEST_TR(unsigned int, tag, false);
+   TEST_TR(unsigned long int, tag, false);
+   TEST_TR(wchar_t, tag, false);
+   TEST_TR(float, tag, false);
+   TEST_TR(double, tag, false);
+   TEST_TR(long double, tag, false);
+
+   TEST_T(without, false);
+   TEST_T(internal, true);
+   TEST_T(external, true);
+// compile time error
+// TEST_T(internal_private, false);
+   TEST_T(returns_int, true);
+   TEST_T(returns_void, true);
+   TEST_T(returns_void_star, true);
+   TEST_T(returns_double, true);
+   TEST_T(returns_string, true);
+// TEST_T(convertible_to_bool, true);
+   TEST_T(Base1, true);
+   TEST_T(Derived1, true);
+   TEST_T(Base2, false);
+   TEST_T(Derived2, true);
+
+   TEST_TR(without, bool, false);
+   TEST_TR(internal, bool, false);
+   TEST_TR(internal, ret, true);
+   TEST_TR(external, bool, false);
+   TEST_TR(external, ret, true);
+   TEST_TR(returns_int, bool, true);
+   TEST_TR(returns_int, int, true);
+   TEST_TR(returns_void, void, true);
+   TEST_TR(returns_void, bool, false);
+   TEST_TR(returns_void_star, bool, true);
+   TEST_TR(returns_double, bool, true);
+   TEST_TR(returns_double, double, true);
+   TEST_TR(returns_string, bool, false);
+   TEST_TR(returns_string, std::string, true);
+// TEST_TR(convertible_to_bool, bool, true);
+   TEST_TR(Base1, bool, true);
+   TEST_TR(Derived1, bool, true);
+   TEST_TR(Base2, bool, false);
+   TEST_TR(Derived2, bool, true);
+   // pointers
+   TEST_T(void*, false);
+   TEST_T(bool*, true);
+   TEST_T(char*, true);
+   TEST_T(int*, true);
+   TEST_T(long*, true);
+   TEST_T(wchar_t*, true);
+   TEST_T(double*, true);
+   TEST_T(without*, true);
 }
 }
 
 TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-	run();
+   run();
 TT_TEST_END
Modified: sandbox/type_traits/libs/type_traits/test/has_prefix_minus_operator_test.hpp
==============================================================================
--- sandbox/type_traits/libs/type_traits/test/has_prefix_minus_operator_test.hpp	(original)
+++ sandbox/type_traits/libs/type_traits/test/has_prefix_minus_operator_test.hpp	2011-02-03 17:09:55 EST (Thu, 03 Feb 2011)
@@ -45,7 +45,7 @@
 
 class Base2 { };
 struct Derived2 : public Base2 {
-	Derived2(int); // to check if it works with a class that is not default constructible
+   Derived2(int); // to check if it works with a class that is not default constructible
 };
 
 bool operator BOOST_TT_TRAIT_OP (const Derived2&) { return true; }
@@ -53,100 +53,100 @@
 struct tag { };
 
 void run() {
-	// test with only one template parameter
-	TEST_T(bool, true);
-	TEST_T(char, true);
-	TEST_T(signed char, true);
-	TEST_T(short int, true);
-	TEST_T(int, true);
-	TEST_T(long int, true);
-	TEST_T(unsigned char, true);
-	TEST_T(unsigned short int, true);
-	TEST_T(unsigned int, true);
-	TEST_T(unsigned long int, true);
-	TEST_T(wchar_t, true);
-	TEST_T(float, true);
-	TEST_T(double, true);
-	TEST_T(long double, true);
-	TEST_T(void, false);
+   // test with only one template parameter
+   TEST_T(bool, true);
+   TEST_T(char, true);
+   TEST_T(signed char, true);
+   TEST_T(short int, true);
+   TEST_T(int, true);
+   TEST_T(long int, true);
+   TEST_T(unsigned char, true);
+   TEST_T(unsigned short int, true);
+   TEST_T(unsigned int, true);
+   TEST_T(unsigned long int, true);
+   TEST_T(wchar_t, true);
+   TEST_T(float, true);
+   TEST_T(double, true);
+   TEST_T(long double, true);
+   TEST_T(void, false);
 
 // test with three template parameters
-	TEST_TR(bool, bool, true);
-	TEST_TR(char, bool, true);
-	TEST_TR(signed char, bool, true);
-	TEST_TR(short int, bool, true);
-	TEST_TR(int, bool, true);
-	TEST_TR(long int, bool, true);
-	TEST_TR(unsigned char, bool, true);
-	TEST_TR(unsigned short int, bool, true);
-	TEST_TR(unsigned int, bool, true);
-	TEST_TR(unsigned long int, bool, true);
-	TEST_TR(wchar_t, bool, true);
-	TEST_TR(float, bool, true);
-	TEST_TR(double, bool, true);
-	TEST_TR(long double, bool, true);
-	TEST_TR(bool, tag, false);
-	TEST_TR(char, tag, false);
-	TEST_TR(signed char, tag, false);
-	TEST_TR(short int, tag, false);
-	TEST_TR(int, tag, false);
-	TEST_TR(long int, tag, false);
-	TEST_TR(unsigned char, tag, false);
-	TEST_TR(unsigned short int, tag, false);
-	TEST_TR(unsigned int, tag, false);
-	TEST_TR(unsigned long int, tag, false);
-	TEST_TR(wchar_t, tag, false);
-	TEST_TR(float, tag, false);
-	TEST_TR(double, tag, false);
-	TEST_TR(long double, tag, false);
-
-	TEST_T(without, false);
-	TEST_T(internal, true);
-	TEST_T(external, true);
-//	compile time error
-//	TEST_T(internal_private, false);
-	TEST_T(returns_int, true);
-	TEST_T(returns_void, true);
-	TEST_T(returns_void_star, true);
-	TEST_T(returns_double, true);
-	TEST_T(returns_string, true);
-//	TEST_T(convertible_to_bool, true);
-	TEST_T(Base1, true);
-	TEST_T(Derived1, true);
-	TEST_T(Base2, false);
-	TEST_T(Derived2, true);
-
-	TEST_TR(without, bool, false);
-	TEST_TR(internal, bool, false);
-	TEST_TR(internal, ret, true);
-	TEST_TR(external, bool, false);
-	TEST_TR(external, ret, true);
-	TEST_TR(returns_int, bool, true);
-	TEST_TR(returns_int, int, true);
-	TEST_TR(returns_void, void, true);
-	TEST_TR(returns_void, bool, false);
-	TEST_TR(returns_void_star, bool, true);
-	TEST_TR(returns_double, bool, true);
-	TEST_TR(returns_double, double, true);
-	TEST_TR(returns_string, bool, false);
-	TEST_TR(returns_string, std::string, true);
-//	TEST_TR(convertible_to_bool, bool, true);
-	TEST_TR(Base1, bool, true);
-	TEST_TR(Derived1, bool, true);
-	TEST_TR(Base2, bool, false);
-	TEST_TR(Derived2, bool, true);
-	// pointers
-	TEST_T(void*, false);
-	TEST_T(bool*, false);
-	TEST_T(char*, false);
-	TEST_T(int*, false);
-	TEST_T(long*, false);
-	TEST_T(wchar_t*, false);
-	TEST_T(double*, false);
-	TEST_T(without*, false);
+   TEST_TR(bool, bool, true);
+   TEST_TR(char, bool, true);
+   TEST_TR(signed char, bool, true);
+   TEST_TR(short int, bool, true);
+   TEST_TR(int, bool, true);
+   TEST_TR(long int, bool, true);
+   TEST_TR(unsigned char, bool, true);
+   TEST_TR(unsigned short int, bool, true);
+   TEST_TR(unsigned int, bool, true);
+   TEST_TR(unsigned long int, bool, true);
+   TEST_TR(wchar_t, bool, true);
+   TEST_TR(float, bool, true);
+   TEST_TR(double, bool, true);
+   TEST_TR(long double, bool, true);
+   TEST_TR(bool, tag, false);
+   TEST_TR(char, tag, false);
+   TEST_TR(signed char, tag, false);
+   TEST_TR(short int, tag, false);
+   TEST_TR(int, tag, false);
+   TEST_TR(long int, tag, false);
+   TEST_TR(unsigned char, tag, false);
+   TEST_TR(unsigned short int, tag, false);
+   TEST_TR(unsigned int, tag, false);
+   TEST_TR(unsigned long int, tag, false);
+   TEST_TR(wchar_t, tag, false);
+   TEST_TR(float, tag, false);
+   TEST_TR(double, tag, false);
+   TEST_TR(long double, tag, false);
+
+   TEST_T(without, false);
+   TEST_T(internal, true);
+   TEST_T(external, true);
+// compile time error
+// TEST_T(internal_private, false);
+   TEST_T(returns_int, true);
+   TEST_T(returns_void, true);
+   TEST_T(returns_void_star, true);
+   TEST_T(returns_double, true);
+   TEST_T(returns_string, true);
+// TEST_T(convertible_to_bool, true);
+   TEST_T(Base1, true);
+   TEST_T(Derived1, true);
+   TEST_T(Base2, false);
+   TEST_T(Derived2, true);
+
+   TEST_TR(without, bool, false);
+   TEST_TR(internal, bool, false);
+   TEST_TR(internal, ret, true);
+   TEST_TR(external, bool, false);
+   TEST_TR(external, ret, true);
+   TEST_TR(returns_int, bool, true);
+   TEST_TR(returns_int, int, true);
+   TEST_TR(returns_void, void, true);
+   TEST_TR(returns_void, bool, false);
+   TEST_TR(returns_void_star, bool, true);
+   TEST_TR(returns_double, bool, true);
+   TEST_TR(returns_double, double, true);
+   TEST_TR(returns_string, bool, false);
+   TEST_TR(returns_string, std::string, true);
+// TEST_TR(convertible_to_bool, bool, true);
+   TEST_TR(Base1, bool, true);
+   TEST_TR(Derived1, bool, true);
+   TEST_TR(Base2, bool, false);
+   TEST_TR(Derived2, bool, true);
+   // pointers
+   TEST_T(void*, false);
+   TEST_T(bool*, false);
+   TEST_T(char*, false);
+   TEST_T(int*, false);
+   TEST_T(long*, false);
+   TEST_T(wchar_t*, false);
+   TEST_T(double*, false);
+   TEST_T(without*, false);
 }
 }
 
 TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-	run();
+   run();
 TT_TEST_END
Modified: sandbox/type_traits/libs/type_traits/test/has_prefix_plus_not_operator_test.hpp
==============================================================================
--- sandbox/type_traits/libs/type_traits/test/has_prefix_plus_not_operator_test.hpp	(original)
+++ sandbox/type_traits/libs/type_traits/test/has_prefix_plus_not_operator_test.hpp	2011-02-03 17:09:55 EST (Thu, 03 Feb 2011)
@@ -45,7 +45,7 @@
 
 class Base2 { };
 struct Derived2 : public Base2 {
-	Derived2(int); // to check if it works with a class that is not default constructible
+   Derived2(int); // to check if it works with a class that is not default constructible
 };
 
 bool operator BOOST_TT_TRAIT_OP (const Derived2&) { return true; }
@@ -53,100 +53,100 @@
 struct tag { };
 
 void run() {
-	// test with only one template parameter
-	TEST_T(bool, true);
-	TEST_T(char, true);
-	TEST_T(signed char, true);
-	TEST_T(short int, true);
-	TEST_T(int, true);
-	TEST_T(long int, true);
-	TEST_T(unsigned char, true);
-	TEST_T(unsigned short int, true);
-	TEST_T(unsigned int, true);
-	TEST_T(unsigned long int, true);
-	TEST_T(wchar_t, true);
-	TEST_T(float, true);
-	TEST_T(double, true);
-	TEST_T(long double, true);
-	TEST_T(void, false);
+   // test with only one template parameter
+   TEST_T(bool, true);
+   TEST_T(char, true);
+   TEST_T(signed char, true);
+   TEST_T(short int, true);
+   TEST_T(int, true);
+   TEST_T(long int, true);
+   TEST_T(unsigned char, true);
+   TEST_T(unsigned short int, true);
+   TEST_T(unsigned int, true);
+   TEST_T(unsigned long int, true);
+   TEST_T(wchar_t, true);
+   TEST_T(float, true);
+   TEST_T(double, true);
+   TEST_T(long double, true);
+   TEST_T(void, false);
 
 // test with three template parameters
-	TEST_TR(bool, bool, true);
-	TEST_TR(char, bool, true);
-	TEST_TR(signed char, bool, true);
-	TEST_TR(short int, bool, true);
-	TEST_TR(int, bool, true);
-	TEST_TR(long int, bool, true);
-	TEST_TR(unsigned char, bool, true);
-	TEST_TR(unsigned short int, bool, true);
-	TEST_TR(unsigned int, bool, true);
-	TEST_TR(unsigned long int, bool, true);
-	TEST_TR(wchar_t, bool, true);
-	TEST_TR(float, bool, true);
-	TEST_TR(double, bool, true);
-	TEST_TR(long double, bool, true);
-	TEST_TR(bool, tag, false);
-	TEST_TR(char, tag, false);
-	TEST_TR(signed char, tag, false);
-	TEST_TR(short int, tag, false);
-	TEST_TR(int, tag, false);
-	TEST_TR(long int, tag, false);
-	TEST_TR(unsigned char, tag, false);
-	TEST_TR(unsigned short int, tag, false);
-	TEST_TR(unsigned int, tag, false);
-	TEST_TR(unsigned long int, tag, false);
-	TEST_TR(wchar_t, tag, false);
-	TEST_TR(float, tag, false);
-	TEST_TR(double, tag, false);
-	TEST_TR(long double, tag, false);
-
-	TEST_T(without, false);
-	TEST_T(internal, true);
-	TEST_T(external, true);
-//	compile time error
-//	TEST_T(internal_private, false);
-	TEST_T(returns_int, true);
-	TEST_T(returns_void, true);
-	TEST_T(returns_void_star, true);
-	TEST_T(returns_double, true);
-	TEST_T(returns_string, true);
-//	TEST_T(convertible_to_bool, true);
-	TEST_T(Base1, true);
-	TEST_T(Derived1, true);
-	TEST_T(Base2, false);
-	TEST_T(Derived2, true);
-
-	TEST_TR(without, bool, false);
-	TEST_TR(internal, bool, false);
-	TEST_TR(internal, ret, true);
-	TEST_TR(external, bool, false);
-	TEST_TR(external, ret, true);
-	TEST_TR(returns_int, bool, true);
-	TEST_TR(returns_int, int, true);
-	TEST_TR(returns_void, void, true);
-	TEST_TR(returns_void, bool, false);
-	TEST_TR(returns_void_star, bool, true);
-	TEST_TR(returns_double, bool, true);
-	TEST_TR(returns_double, double, true);
-	TEST_TR(returns_string, bool, false);
-	TEST_TR(returns_string, std::string, true);
-//	TEST_TR(convertible_to_bool, bool, true);
-	TEST_TR(Base1, bool, true);
-	TEST_TR(Derived1, bool, true);
-	TEST_TR(Base2, bool, false);
-	TEST_TR(Derived2, bool, true);
-	// pointers
-	TEST_T(void*, true);
-	TEST_T(bool*, true);
-	TEST_T(char*, true);
-	TEST_T(int*, true);
-	TEST_T(long*, true);
-	TEST_T(wchar_t*, true);
-	TEST_T(double*, true);
-	TEST_T(without*, true);
+   TEST_TR(bool, bool, true);
+   TEST_TR(char, bool, true);
+   TEST_TR(signed char, bool, true);
+   TEST_TR(short int, bool, true);
+   TEST_TR(int, bool, true);
+   TEST_TR(long int, bool, true);
+   TEST_TR(unsigned char, bool, true);
+   TEST_TR(unsigned short int, bool, true);
+   TEST_TR(unsigned int, bool, true);
+   TEST_TR(unsigned long int, bool, true);
+   TEST_TR(wchar_t, bool, true);
+   TEST_TR(float, bool, true);
+   TEST_TR(double, bool, true);
+   TEST_TR(long double, bool, true);
+   TEST_TR(bool, tag, false);
+   TEST_TR(char, tag, false);
+   TEST_TR(signed char, tag, false);
+   TEST_TR(short int, tag, false);
+   TEST_TR(int, tag, false);
+   TEST_TR(long int, tag, false);
+   TEST_TR(unsigned char, tag, false);
+   TEST_TR(unsigned short int, tag, false);
+   TEST_TR(unsigned int, tag, false);
+   TEST_TR(unsigned long int, tag, false);
+   TEST_TR(wchar_t, tag, false);
+   TEST_TR(float, tag, false);
+   TEST_TR(double, tag, false);
+   TEST_TR(long double, tag, false);
+
+   TEST_T(without, false);
+   TEST_T(internal, true);
+   TEST_T(external, true);
+// compile time error
+// TEST_T(internal_private, false);
+   TEST_T(returns_int, true);
+   TEST_T(returns_void, true);
+   TEST_T(returns_void_star, true);
+   TEST_T(returns_double, true);
+   TEST_T(returns_string, true);
+// TEST_T(convertible_to_bool, true);
+   TEST_T(Base1, true);
+   TEST_T(Derived1, true);
+   TEST_T(Base2, false);
+   TEST_T(Derived2, true);
+
+   TEST_TR(without, bool, false);
+   TEST_TR(internal, bool, false);
+   TEST_TR(internal, ret, true);
+   TEST_TR(external, bool, false);
+   TEST_TR(external, ret, true);
+   TEST_TR(returns_int, bool, true);
+   TEST_TR(returns_int, int, true);
+   TEST_TR(returns_void, void, true);
+   TEST_TR(returns_void, bool, false);
+   TEST_TR(returns_void_star, bool, true);
+   TEST_TR(returns_double, bool, true);
+   TEST_TR(returns_double, double, true);
+   TEST_TR(returns_string, bool, false);
+   TEST_TR(returns_string, std::string, true);
+// TEST_TR(convertible_to_bool, bool, true);
+   TEST_TR(Base1, bool, true);
+   TEST_TR(Derived1, bool, true);
+   TEST_TR(Base2, bool, false);
+   TEST_TR(Derived2, bool, true);
+   // pointers
+   TEST_T(void*, true);
+   TEST_T(bool*, true);
+   TEST_T(char*, true);
+   TEST_T(int*, true);
+   TEST_T(long*, true);
+   TEST_T(wchar_t*, true);
+   TEST_T(double*, true);
+   TEST_T(without*, true);
 }
 }
 
 TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-	run();
+   run();
 TT_TEST_END