Commit Graph

7 Commits

Author SHA1 Message Date
Paolo Carlini f8023b7846 type_traits: Implement is_abstract, by exploiting the resolution of DR core/337.
2005-01-28  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement is_abstract, by exploiting the
	resolution of DR core/337.
	* testsuite/testsuite_tr1.h: Add AbstractClass.
	* testsuite/tr1/4_metaprogramming/type_properties/is_abstract/
	is_abstract.cc: New.
	* testsuite/tr1/4_metaprogramming/type_properties/is_abstract/
	typedefs.cc: Likewise.

	* include/tr1/type_traits (is_function): Rewrite, use the conversion
	F& -> F* instead, thus avoiding problems with abstract classes.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_function/is_function.cc: Add a test for tricky AbstractClass.

From-SVN: r94370
2005-01-28 13:29:41 +00:00
Paolo Carlini 36651afeec type_traits: Add has_trivial_copy, has_trivial_assign, has_nothrow_copy, has_nothrow_assign.
2004-12-30  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Add has_trivial_copy, has_trivial_assign,
	has_nothrow_copy, has_nothrow_assign.
	* testsuite/testsuite_tr1.h: Add test_copy_property and
	test_assign_property.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_nothrow_assign/has_nothrow_assign.cc: New.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_nothrow_assign/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_nothrow_copy/has_nothrow_copy.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_nothrow_copy/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_trivial_assign/has_trivial_assign.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_trivial_assign/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_trivial_copy/has_trivial_copy.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_trivial_copy/typedefs.cc: Likewise.

From-SVN: r92745
2004-12-30 23:27:28 +00:00
Paolo Carlini a9e7ba8139 type_traits: Implement is_enum (usual caveats about the nasty consequences of c++/19076...).
2004-12-25  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement is_enum (usual caveats about
	the nasty consequences of c++/19076...).
	* testsuite/testsuite_tr1.h: Add ConvType.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_scalar/is_scalar.cc: New.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_scalar/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_enum/is_enum.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_enum/typedefs.cc: Likewise.

From-SVN: r92604
2004-12-25 15:24:36 +00:00
Paolo Carlini db5ff2363d type_traits: Implement rank.
2004-12-11  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement rank.
	* testsuite/testsuite_tr1.h (test_property): Generalize to any
	value_type.
	(test_category, test_relationship): Slightly tweak consistently.
	* testsuite/tr1/4_metaprogramming/type_properties/rank/
	rank.cc: New.
	* testsuite/tr1/4_metaprogramming/type_properties/rank/
	typedefs.cc: Likewise.

	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_compound/is_compound.cc: New.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_compound/typedefs.cc: Likewise.

	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_arithmetic/is_arithmetic.cc: Tweak consistently with the
	testsuite_tr1.h changes.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_fundamental/is_fundamental.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_array/is_array.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_floating_point/is_floating_point.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_integral/is_integral.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_reference/is_reference.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_void/is_void.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/relationships_between_types/
	is_same/is_same.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/is_const/
	is_const.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/is_volatile/
	is_volatile.cc: Likewise.

From-SVN: r92033
2004-12-11 21:46:27 +00:00
Paolo Carlini d63a0e228c type_traits: Implement is_same, add_reference and remove_reference.
2004-12-08  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement is_same, add_reference and
	remove_reference.
	* testsuite/testsuite_tr1.h (test_relationship): New.
	* testsuite/tr1/4_metaprogramming/reference_modifications/
	add_reference.cc: New.
	* testsuite/tr1/4_metaprogramming/reference_modifications/
	remove_reference.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/relationships_between_types/
	is_same/is_same.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/relationships_between_types/
	is_same/typedefs.cc: Likewise.

	* testsuite/tr1/4_metaprogramming/type_properties/is_const/
	is_const.cc: Minor tweaks.
	* testsuite/tr1/4_metaprogramming/type_properties/is_volatile/
	is_volatile.cc: Likewise.

From-SVN: r91907
2004-12-08 16:33:51 +00:00
Paolo Carlini 0f910b4f4f type_traits: Implement is_const and is_volatile.
2004-12-07  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement is_const and is_volatile.
	* testsuite/testsuite_tr1.h (test_property): New.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_const/is_const.c: New.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_const/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_volatile/is_volatile.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_volatile/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_arithmetic/is_arithmetic.cc: Slightly tweak to use ClassType
	from testsuite_tr1.h.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_fundamental/is_fundamental.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_array/is_array.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_floating_point/is_floating_point.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_integral/is_integral.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_reference/is_reference.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_void/is_void.cc: Likewise.

From-SVN: r91808
2004-12-07 16:40:46 +00:00
Paolo Carlini 493bc46004 type_traits: New.
2004-12-04  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: New.
	* include/Makefile.am: Add.
	* include/Makefile.in: Regenerate.
	* testsuite/testsuite_tr1.h: New.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_arithmetic/is_arithmetic.cc: New.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_arithmetic/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_fundamental/is_fundamental.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_fundamental/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/helper_classes/
	true_false_type.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/helper_classes/
	true_false_type_typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/helper_classes/
	typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_array/is_array.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_array/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_floating_point/is_floating_point.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_floating_point/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_integral/is_integral.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_integral/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_void/is_void.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_void/typedefs.cc: Likewise.

From-SVN: r91723
2004-12-04 09:08:42 +00:00