type_traits (_DEFINE_SPEC_BODY): Remove.
2007-11-18 Paolo Carlini <pcarlini@suse.de> * include/tr1/type_traits (_DEFINE_SPEC_BODY): Remove. (_DEFINE_SPEC_0_HELPER): Rename to _DEFINE_SPEC_HELPER. (_DEFINE_SPEC): Simplify; adjust uses. From-SVN: r130273
This commit is contained in:
parent
90b81c3306
commit
3c27955364
|
@ -1,3 +1,9 @@
|
|||
2007-11-18 Paolo Carlini <pcarlini@suse.de>
|
||||
|
||||
* include/tr1/type_traits (_DEFINE_SPEC_BODY): Remove.
|
||||
(_DEFINE_SPEC_0_HELPER): Rename to _DEFINE_SPEC_HELPER.
|
||||
(_DEFINE_SPEC): Simplify; adjust uses.
|
||||
|
||||
2007-11-18 Paolo Carlini <pcarlini@suse.de>
|
||||
|
||||
* include/tr1_impl/type_traits (is_reference, is_function,
|
||||
|
|
|
@ -60,19 +60,16 @@ namespace std
|
|||
{
|
||||
namespace tr1
|
||||
{
|
||||
#define _DEFINE_SPEC_BODY(_Value) \
|
||||
: public integral_constant<bool, _Value> { };
|
||||
#define _DEFINE_SPEC_HELPER(_Spec) \
|
||||
template<> \
|
||||
struct _Spec \
|
||||
: public true_type { };
|
||||
|
||||
#define _DEFINE_SPEC_0_HELPER(_Spec, _Value) \
|
||||
template<> \
|
||||
struct _Spec \
|
||||
_DEFINE_SPEC_BODY(_Value)
|
||||
|
||||
#define _DEFINE_SPEC(_Order, _Trait, _Type, _Value) \
|
||||
_DEFINE_SPEC_##_Order##_HELPER(_Trait<_Type>, _Value) \
|
||||
_DEFINE_SPEC_##_Order##_HELPER(_Trait<_Type const>, _Value) \
|
||||
_DEFINE_SPEC_##_Order##_HELPER(_Trait<_Type volatile>, _Value) \
|
||||
_DEFINE_SPEC_##_Order##_HELPER(_Trait<_Type const volatile>, _Value)
|
||||
#define _DEFINE_SPEC(_Trait, _Type) \
|
||||
_DEFINE_SPEC_HELPER(_Trait<_Type>) \
|
||||
_DEFINE_SPEC_HELPER(_Trait<_Type const>) \
|
||||
_DEFINE_SPEC_HELPER(_Trait<_Type volatile>) \
|
||||
_DEFINE_SPEC_HELPER(_Trait<_Type const volatile>)
|
||||
|
||||
template<typename>
|
||||
struct is_reference
|
||||
|
@ -125,20 +122,20 @@ namespace tr1
|
|||
template<typename>
|
||||
struct is_signed
|
||||
: public false_type { };
|
||||
_DEFINE_SPEC(0, is_signed, signed char, true)
|
||||
_DEFINE_SPEC(0, is_signed, short, true)
|
||||
_DEFINE_SPEC(0, is_signed, int, true)
|
||||
_DEFINE_SPEC(0, is_signed, long, true)
|
||||
_DEFINE_SPEC(0, is_signed, long long, true)
|
||||
_DEFINE_SPEC(is_signed, signed char)
|
||||
_DEFINE_SPEC(is_signed, short)
|
||||
_DEFINE_SPEC(is_signed, int)
|
||||
_DEFINE_SPEC(is_signed, long)
|
||||
_DEFINE_SPEC(is_signed, long long)
|
||||
|
||||
template<typename>
|
||||
struct is_unsigned
|
||||
: public false_type { };
|
||||
_DEFINE_SPEC(0, is_unsigned, unsigned char, true)
|
||||
_DEFINE_SPEC(0, is_unsigned, unsigned short, true)
|
||||
_DEFINE_SPEC(0, is_unsigned, unsigned int, true)
|
||||
_DEFINE_SPEC(0, is_unsigned, unsigned long, true)
|
||||
_DEFINE_SPEC(0, is_unsigned, unsigned long long, true)
|
||||
_DEFINE_SPEC(is_unsigned, unsigned char)
|
||||
_DEFINE_SPEC(is_unsigned, unsigned short)
|
||||
_DEFINE_SPEC(is_unsigned, unsigned int)
|
||||
_DEFINE_SPEC(is_unsigned, unsigned long)
|
||||
_DEFINE_SPEC(is_unsigned, unsigned long long)
|
||||
|
||||
template<typename _Base, typename _Derived>
|
||||
struct __is_base_of_helper
|
||||
|
@ -244,9 +241,8 @@ namespace tr1
|
|||
};
|
||||
};
|
||||
|
||||
#undef _DEFINE_SPEC_0_HELPER
|
||||
#undef _DEFINE_SPEC_HELPER
|
||||
#undef _DEFINE_SPEC
|
||||
#undef _DEFINE_SPEC_BODY
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue