Paolo Carlini
bdaa445236
type_traits (is_member_function_pointer): Provide a workaround for c++/19076, correct for functions with up to 15 arguments.
...
2004-12-31 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits (is_member_function_pointer): Provide a
workaround for c++/19076, correct for functions with up to 15
arguments.
* testsuite/tr1/4_metaprogramming/composite_type_traits/
is_member_pointer/is_member_pointer.cc: Uncomment "XFAILed" tests;
add a test for variadic functions.
* testsuite/tr1/4_metaprogramming/composite_type_traits/
is_scalar/is_scalar.cc: Uncomment "XFAILed" tests.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_enum/is_enum.cc: Likewise.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_member_function_pointer/is_member_function_pointer.cc: Likewise;
add a test for variadic functions.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_member_object_pointer/is_member_object_pointer.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
has_nothrow_assign/has_nothrow_assign.cc: Uncomment "XFAILed" tests.
* testsuite/tr1/4_metaprogramming/type_properties/
has_nothrow_constructor/has_nothrow_constructor.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
has_nothrow_copy/has_nothrow_copy.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
has_trivial_assign/has_trivial_assign.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
has_trivial_constructor/has_trivial_constructor.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
has_trivial_copy/has_trivial_copy.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
has_trivial_destructor/has_trivial_destructor.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
is_pod/is_pod.cc: Likewise.
From-SVN: r92769
2004-12-31 18:15:22 +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
5249b4b0ce
type_traits: Add has_nothrow_constructor.
...
2004-12-29 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits: Add has_nothrow_constructor.
* testsuite/tr1/4_metaprogramming/type_properties/
has_nothrow_constructor/has_nothrow_constructor.cc: New.
* testsuite/tr1/4_metaprogramming/type_properties/
has_nothrow_constructor/typedefs.cc: Likewise.
From-SVN: r92699
2004-12-29 12:11:27 +00:00
Paolo Carlini
1933b74f78
type_traits: Implement is_pod, has_trivial_constructor, and has_trivial_destructor.
...
2004-12-26 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits: Implement is_pod, has_trivial_constructor,
and has_trivial_destructor.
* testsuite/tr1/4_metaprogramming/type_properties/
has_trivial_constructor/has_trivial_constructor.cc: New.
* testsuite/tr1/4_metaprogramming/type_properties/
has_trivial_constructor/typedefs.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
has_trivial_destructor/has_trivial_destructor.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
has_trivial_destructor/typedefs.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
is_pod/is_pod.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
is_pod/typedefs.cc: Likewise.
From-SVN: r92618
2004-12-26 11:08:47 +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
186e6683b0
type_traits: Implement is_member_object_pointer, is_member_function_pointer.
...
2004-12-24 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits: Implement is_member_object_pointer,
is_member_function_pointer. N.B. Due to c++/19076, the latter
doesn't really work at the moment (a rather ugly work around
will be provided in case the front-end bug doesn't get fixed
soon); generalize and extend the _DEFINE_SPEC macros.
* testsuite/tr1/4_metaprogramming/composite_type_traits/
is_member_pointer/is_member_pointer.cc: New.
* testsuite/tr1/4_metaprogramming/composite_type_traits/
is_member_pointer/typedefs.cc: Likewise.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_member_function_pointer/is_member_function_pointer.cc: Likewise.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_member_function_pointer/typedefs.cc: Likewise.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_member_object_pointer/is_member_object_pointer.cc: Likewise.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_member_object_pointer/typedefs.cc: Likewise.
From-SVN: r92593
2004-12-24 20:33:56 +00:00
Paolo Carlini
a02def09c3
type_traits: Implement add_const, add_volatile, and add_cv.
...
2004-12-16 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits: Implement add_const, add_volatile,
and add_cv.
* testsuite/tr1/4_metaprogramming/const_volatile_modifications/
add_const.cc: New.
* testsuite/tr1/4_metaprogramming/const_volatile_modifications/
add_cv.cc: Likewise.
* testsuite/tr1/4_metaprogramming/const_volatile_modifications/
add_volatile.cc: Likewise.
From-SVN: r92265
2004-12-16 15:00:37 +00:00
Paolo Carlini
cacd0a2ccf
type_traits: Implement is_function.
...
2004-12-16 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits: Implement is_function.
(struct __sfinae_types, struct __is_function_helper): New.
* testsuite/tr1/4_metaprogramming/composite_type_traits/
is_object/is_object.cc: New.
* testsuite/tr1/4_metaprogramming/composite_type_traits/
is_object/typedefs.cc: Likewise.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_function/is_function.cc: Likewise.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_function/typedefs.cc: Likewise.
From-SVN: r92258
2004-12-16 11:35:56 +00:00
Paolo Carlini
0736fd563f
type_traits: Minor tweak.
...
2004-12-12 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits: Minor tweak.
* testsuite/tr1/4_metaprogramming/type_properties/extent/
typedefs.cc: Fix date.
From-SVN: r92062
2004-12-12 21:01:37 +00:00
Paolo Carlini
973cb10b2d
type_traits: Implement extent.
...
2004-12-12 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits: Implement extent.
* testsuite/tr1/4_metaprogramming/type_properties/extent/
extent.cc: New.
* testsuite/tr1/4_metaprogramming/type_properties/extent/
typedefs.cc: Likewise.
From-SVN: r92054
2004-12-12 18:07:41 +00:00
Paolo Carlini
e192ab01d0
type_traits: Implement is_pointer, remove_pointer, and add_pointer; reformat.
...
2004-12-12 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits: Implement is_pointer, remove_pointer,
and add_pointer; reformat.
(_DEFINE_PRIMARY_SPEC_HELPER, _DEFINE_PRIMARY_SPEC): Generalize
and rename to _DEFINE_SPEC_HELPER and _DEFINE_SPEC; update uses.
* testsuite/tr1/4_metaprogramming/pointer_modifications/
add_pointer.cc: New.
* testsuite/tr1/4_metaprogramming/pointer_modifications/
remove_pointer.cc: Likewise.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_pointer/is_pointer.cc: Likewise.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_pointer/typedefs.cc: Likewise.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_reference/is_reference.cc: Slightly tweak consistently.
From-SVN: r92047
2004-12-12 14:31:11 +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
d5f60056f0
type_traits: Implement remove_const, remove_volatile, and remove_cv.
...
2004-12-10 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits: Implement remove_const, remove_volatile,
and remove_cv.
* testsuite/tr1/4_metaprogramming/const_volatile_modifications/
remove_const.cc: New.
* testsuite/tr1/4_metaprogramming/const_volatile_modifications/
remove_cv.cc: Likewise.
* testsuite/tr1/4_metaprogramming/const_volatile_modifications/
remove_volatile.cc: Likewise.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_array/is_array.cc: Slightly tweak consistently, remove typedefs,
add a few tests.
From-SVN: r91990
2004-12-10 11:45:13 +00:00
Paolo Carlini
366e6bd173
type_traits: Implement remove_extent and remove_all_extents.
...
2004-12-09 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits: Implement remove_extent and
remove_all_extents.
* testsuite/tr1/4_metaprogramming/array_modifications/
remove_all_extents.cc: New.
* testsuite/tr1/4_metaprogramming/array_modifications/
remove_extent.cc: Likewise.
From-SVN: r91958
2004-12-09 17:54: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
e21cb773e5
type_traits: Implement is_reference.
...
2004-12-06 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits: Implement is_reference.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_reference/is_reference.cc: New.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_reference/typedefs.cc: Likewise.
From-SVN: r91779
2004-12-06 15:47:05 +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
Benjamin Kosnik
f2ede5d621
[multiple changes]
...
2004-11-24 Benjamin Kosnik <bkoz@redhat.com>
* include/Makefile.am (tr1_headers): Add utility, functional.
* include/Makefile.in: Regenerate.
2004-11-24 Chris Jefferson <chris@bubblescope.net>
* include/tr1/tuple(operator!=): Change operator
definition to match (draft) technical report.
(operator>): Same.
(operator<=): Same.
(operator>=): Same.
(ref): Move to include/tr1/functional.
(cref): Same.
(tuple_size<pair>): Move to include/tr1/utility.
(tuple_element<,pair>): Same.
* include/tr1/functional: New.
* include/tr1/utility: New.
* testsuite/tr1/6_container/utility/pair.cc: New.
From-SVN: r91171
2004-11-24 16:04:47 +00:00
Benjamin Kosnik
a520f0b0ae
[multiple changes]
...
2004-10-25 Benjamin Kosnik <bkoz@redhat.com>
* include/Makefile.am (tr1_headers): Add tuple.
* include/Makefile.in: Regenerate.
2004-10-25 Chris Jefferson <chris@bubblescope.net>
* include/tr1/tuple: Implementation of tuple from library TR.
* testsuite/tr1/6_containers/tuple/tuple_element.cc: New.
* testsuite/tr1/6_containers/tuple/tuple_size.cc: New.
* testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc:
New.
* testsuite/tr1/6_containers/tuple/cons/assignment.cc: New.
* testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: New.
* testsuite/tr1/6_containers/tuple/cons/constructor.cc: New.
* testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc:
New.
* testsuite/tr1/6_containers/tuple/creation_functions/tie.cc: New.
* testsuite/tr1/6_containers/tuple/element_access/get.cc: New.
From-SVN: r89548
2004-10-25 19:05:58 +00:00
Benjamin Kosnik
aed305a929
array (array): Make safe for zero-sized arrays.
...
2004-10-21 Benjamin Kosnik <bkoz@redhat.com>
* include/tr1/array (array): Make safe for zero-sized arrays.
(array::end): Return one past the end.
(array::at): Use __throw_out_of_range, include functexcept.h.
(operator==): Implement.
(operator!=): Same.
(operator<): Same.
(operator>): Same.
(operator>=): Same.
(operator<=): Same.
* testsuite/tr1/6_containers/array/capacity/(empty.cc,
max_size.cc, size.cc): New.
* testsuite/tr1/6_containers/array/comparison_operators/(equal.cc,
greater.cc, greater_or_equal.cc, less.cc, less_or_equal.cc,
not_equal): New.
* testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc:
New.
* testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc:
New.
* testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc: New.
* testsuite/tr1/6_containers/array/requirements/(contiguous.cc,
instantiate, typedefs, zero_size_arrays): New.
From-SVN: r89429
2004-10-22 05:32:16 +00:00