Commit Graph

275 Commits

Author SHA1 Message Date
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 821c5063f9 type_traits_fwd.h: New, forward declarations.
2004-12-22  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits_fwd.h: New, forward declarations.
	* include/tr1/type_traits: Clean-up.
	* include/Makefile.am: Add.
	* include/Makefile.in: Regenerate.

From-SVN: r92493
2004-12-22 18:40:52 +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 273dfd213e type_traits (extent): Minor tweak (i.e., public).
2004-12-13  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits (extent): Minor tweak (i.e., public).

From-SVN: r92088
2004-12-13 15:01:02 +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
Paolo Carlini 84477ec3e8 re PR libstdc++/18690 (tr1/utility is broken on darwin)
2004-11-27  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/18690
	* include/tr1/utility (get(pair), get(const pair)): Change
	occurrences of _I to _Int.

From-SVN: r91390
2004-11-27 20:25:11 +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 00aca6e83a locale_facets.h (isspace, [...]): Add doxygen markup.
2004-11-22  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.h (isspace, isprint, isupper,
	islower, isalpha, isdigit, ispunct, isxdigit, isalnum, isgraph,
	toupper, tolower): Add doxygen markup.
	(codecvt_byname, ctype_byname, numpunct_byname, collate_byname,
	time_get_byname, time_put_byname, moneypunct_byname,
	messages_byname): Same.
	* include/std/std_fstream.h: Remove superfluous markup.
	* include/std/std_sstream.h: Same.
	* include/std/std_streambuf.h: Same.
	* include/ext/enc_filebuf.h: Adjust markup.
	* include/ext/stdio_filebuf.h: Same.
	* include/ext/stdio_sync_filebuf.h: Same.
	* include/bits/codecvt.h: Same.
	* config/os/gnu-linux/ctype_base.h: Same.
	* config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same.
	* include/tr1/array: Add markup.
	* include/tr1/tuple: Same.

	* docs/doxygen/run_doxygen: Print arguments.

	* docs/doxygen/user.cfg.in: Tweaks.

From-SVN: r91080
2004-11-23 09:18:41 +00:00
Benjamin Kosnik 6309eefc3d re PR libstdc++/17218 (unknown subjects in generated libstdc++ manpages)
2004-11-05  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/17218
	PR libstdc++/17223
	* docs/doxygen/filter: Remove.
	* docs/doxygen/filter.sed: Remove.
	* docs/doxygen/mainpage.html: Add link to functions.
	* docs/doxygen/run_doxygen: Changes due to new source filtering.
	* docs/doxygen/user.cfg.in: Update to doxygen 1.3.9.1, tweak.
	* include/bits/allocator.h: Tweaks for doxygen.
	* include/bits/char_traits.h: Same.
	* include/bits/codecvt.h: Same.
	* include/bits/concurrence.h: Same.
	* include/bits/locale_facets.h: Same.
	* include/ext/array_allocator.h: Same.
	* include/ext/debug_allocator.h: Same.
	* include/ext/malloc_allocator.h: Same.
	* include/ext/mt_allocator.h: Same.
	* include/ext/new_allocator.h: Same.
	* include/ext/pool_allocator.h: Same.
	* include/ext/stdio_sync_filebuf.h: Same.
	* include/std/std_memory.h: Same.
	* include/tr1/array: Same.
	* include/tr1/tuple: Same.
	* config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same.
	* config/os/gnu-linux/ctype_base.h: Same.

From-SVN: r90137
2004-11-05 19:58:03 +00:00
Chris Jefferson d68e653fae re PR libstdc++/18159 (tr1/tuple is broken on darwin)
2004-11-01  Chris Jefferson  <chris@bubblescope.net>

        PR libstdc++/18159
        * include/tr1/tuple (get(pair)): Change occurrences of _I to _Int.
        (get(const pair)): Likewise.

From-SVN: r89944
2004-11-01 17:53:24 +00:00
Chris Jefferson a30036b2fd re PR libstdc++/18159 (tr1/tuple is broken on darwin)
2004-10-28  Chris Jefferson  <chris@bubblescope.net>

	PR libstdc++/18159
	* include/tr1/tuple: Fix, change formatting.

From-SVN: r89782
2004-10-28 21:18:56 +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
Benjamin Kosnik cd9333a726 [multiple changes]
2004-10-16  Benjamin Kosnik  <bkoz@redhat.com>

	* include/tr1/array: Don't use layout_type.

2004-10-16  Sashan Govender  <sashang@gmail.com>

	* include/tr1/array (array::end const): Fix casting from iterator
	to const_iterator.

From-SVN: r89139
2004-10-16 13:48:34 +00:00
Benjamin Kosnik 3febde356c tr1: New.
2004-10-07  Benjamin Kosnik  <bkoz@redhat.com>

	* include/tr1: New.
	* include/tr1/array: New.
	* include/Makefile.am (tr1_headers): New.
	(stamp-tr1): New.
	(install-headers): New.
	(allstamped): Add stamp-tr1.

	* include/ext/array_allocator.h: New.
	* include/Makefile.am: Add.
	* include/Makefile.in: Regenerate.
	* testsuite/ext/array_allocator/1.cc: New.
	* testsuite/ext/array_allocator/2.cc: New.

From-SVN: r88711
2004-10-07 22:06:23 +00:00