Paolo Carlini
e7c59a0e02
[multiple changes]
...
2005-12-28 Paolo Carlini <pcarlini@suse.de>
* include/std/std_bitset.h (bitset<>::_M_copy_from_string,
bitset<>::_M_copy_to_string, bitset<>::operator>>): Reverse loop.
* testsuite/25_algorithms/heap/heap.cc (test01): Always enable
complexity checks.
* testsuite/18_support/numeric_limits/specialization.cc: Avoid
unused parameter warning.
* testsuite/18_support/numeric_limits/traps.cc: Acoid unused variable
warning.
* testsuite/ext/malloc_allocator/deallocate_global.cc: Fix format
string.
* testsuite/ext/malloc_allocator/deallocate_local.cc: Likewise.
* testsuite/ext/array_allocator/2.cc: Remove unused variable.
* testsuite/tr1/3_function_objects/mem_fn.cc: Avoid unused variable
warnings.
* testsuite/tr1/6_containers/unordered/instantiate/set.cc: Just
instantiate.
* testsuite/tr1/6_containers/unordered/instantiate/map.cc: Likewise.
* testsuite/tr1/6_containers/unordered/instantiate/hash.cc: Likewise.
* testsuite/tr1/6_containers/unordered/instantiate/multiset.cc:
Likewise.
* testsuite/tr1/6_containers/unordered/instantiate/multimap.cc:
Likewise.
* testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc:
Avoid unused variable warnings.
* testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc:
Likewise.
* testsuite/thread/18185.cc: Likewise.
* testsuite/27_io/ios_base/storage/11584.cc: Likewise; avoid comparison
between signed and unsigned warning.
* testsuite/27_io/types/1.cc: Avoid unused variable warnings.
* testsuite/testsuite_allocator.h (check_new): Likewise.
(check_deallocate_null): Adjust return type.
* testsuite/testsuite_hooks.h (bitmask_operators): Avoid unused
variable warnings.
* testsuite/21_strings/c_strings/wchar_t/24559.cc: Avoid unused
variable warning.
2005-12-28 Chris Jefferson <chris@bubblescope.net>
* include/std/std_bitset.h (bitset<0>::set, bitset<0>::reset,
bitset<0>::flip, bitset<0>::test): Add inline specializations for
bitset<0>.
* testsuite/tr1/6_containers/unordered/insert/multiset_range.cc
(test01): Add static cast.
* testsuite/tr1/6_containers/unordered/insert/set_range.cc
(test01): Likewise.
* testsuite/testsuite_hooks.h (operator==(NonDefaultConstructible,
NonDefaultConstructible), operator<(NonDefaultConstructible,
NonDefaultConstrictible)): Avoid unused parameter warning.
From-SVN: r109103
2005-12-28 09:57:57 +00:00
Chris Jefferson
8b5bc374b1
mt_allocator.h (__mt_alloc::__mt_alloc): Remove name of unused parameter.
...
2005-12-26 Chris Jefferson <chris@bubblescope.net>
* include/ext/mt_allocator.h (__mt_alloc::__mt_alloc): Remove
name of unused parameter.
* include/bits/stream_iterator.h (istream_iterator::istream_iterator):
Construct _M_value.
* include/debug/functions.h (__check_valid_range): Add
__attribute__((unused)).
* include/tr1/hashtable (hashtable::end): Remove name of unused
parameter.
* include/tr1/tuple_iterate.h (tuple::tuple): Likewise.
(tuple::operator=): Add __attribute__((unused)).
* include/tr1/functional (Fnv_hash<4>::hash): Add static_cast.
(Fnv_hash<8>::hash): Likewise.
* testsuite/25_algorithms/iter_swap/20577.cc (swap): Remove name of
unused parameter.
* testsuite/25_algorithms/unique_copy/check_type.cc (S2::S2,X2::X2):
Likewise.
* testsuite/22_locale/ctype/narrow/char/19955.cc (do_narrow): Likewise.
* testsuite/22_locale/ctype/is/char/9858.cc (Derived::do_is,
Derived::do_scan_is, Derived::do_scan_not, Derived2::do_is,
Derived2::do_scan_is, Derived2::do_scan_not): Likewise.
* testsuite/22_locale/time_put/put/wchar_t/12439_1.cc (TP::do_put):
Likewise.
* testsuite/22_locale/time_put/put/wchar_t/12439_3.cc (TP::do_put):
Likewise.
* testsuite/22_locale/time_put/put/char/12439_1.cc (TP::do_put):
Likewise.
* testsuite/22_locale/time_put/put/char/12439_3.cc (TP::do_put):
Likewise.
* testsuite/testsuite_io.h (fail_num_get::do_get, fail_num_put::do_put):
Likewise.
* testsuite/25_algorithms/find/17441.cc (find): Likewise.
* testsuite/23_containers/vector/cons/clear_allocator.cc
(clear_alloc::clear_alloc): Likewise.
* testsuite/23_containers/vector/bool/clear_allocator.cc
(clear_alloc::clear_alloc): Likewise.
* testsuite/23_containers/list/cons/clear_allocator.cc
(clear_alloc::clear_alloc): Likewise.
* testsuite/23_containers/set/modifiers/16728.cc (test_container):
Likewise.
* testsuite/27_io/basic_ios/cons/char/3.cc (char_traits::to_char_type,
to_int_type): Likewise.
* testsuite/27_io/basic_filebuf/imbue/12206.cc (codecvt::do_out, do_in,
do_unshift, do_length): Likewise.
* testsuite/21_strings/basic_string/capacity/1.cc
(operator==(A<T>,A<T>), operator<(A<T>,A<T>),
char_traits::to_char_type, char_traits::to_int_type): Likewise
* testsuite/testsuite_character.h (ctype::do_is, ctype::do_scan_is,
ctype::do_scan_not, do_toupper, do_tolower): Likewise.
* testsuite/25_algorithms/replace_copy/check_type.cc (Z::operator=):
Add missing return statement.
* testsuite/25_algorithms/replace_copy_if/check_type.cc (Z::operator=):
Likewise.
* testsuite/testsuite_iterators.h (output_iterator_wrapper::operator=,
random_access_iterator_wrapper::operator==): Likewise.
* testsuite/20_util/functional/binders/1.cc (s::f_int_int_const,
s::f_int_int, s::f_int_void_const, s::f_int_void): Likewise.
* testsuite/27_io/types/1.cc (test01): Likewise.
* testsuite/27_io/basic_ostream/write/wchar_t/1.cc (test01): Likewise.
* testsuite/27_io/basic_ostream/write/char/1.cc (test01): Likewise.
* testsuite/21_strings/c_strings/wchar_t/24559.cc (main): Likewise.
* testsuite/27_io/basic_istream/ignore/wchar_t/2.cc (check): Add static
cast.
* testsuite/27_io/basic_istream/ignore/char/2.cc (check): Likewise.
* testsuite/27_io/basic_istream/getline/wchar_t/5.cc (check): Likewise.
* testsuite/27_io/basic_istream/getline/char/5.cc (check): Likewise.
* testsuite/testsuite_allocator.h (check_new): Likewise.
(check_deallocate_null): Add missing return value.
* testsuite/ext/pool_allocator/allocate_chunk.cc (test01):
Make variable unsigned.
* testsuite/23_containers/vector/modifiers/erase/1.cc (N,N1,N2,N3,N4,
N5,test01): Likewise.
* testsuite/26_numerics/valarray/valarray_subset_assignment.cc
(check_array): Likewise.
(main): Removed unused variable.
* testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc (test05):
Removed unused variable.
* testsuite/27_io/basic_ostream/flush/wchar_t/1.cc (test01): Likewise.
* testsuite/27_io/basic_ostream/flush/char/1.cc (test01): Likewise.
* testsuite/27_io/basic_ostream/endl/wchar_t/1.cc (test01): Likewise.
* testsuite/27_io/basic_ostream/endl/char/1.cc (test01): Likewise.
* testsuite/27_io/basic_ostream/ends/wchar_t/1.cc (test01): Likewise.
* testsuite/27_io/basic_ostream/ends/char/1.cc (test01): Likewise.
* testsuite/tr1/2_general_utilities/memory/shared_ptr/
assign/shared_ptr.cc (test01): Correct return type.
* testsuite/27_io/basic_filebuf/close/char/2.cc (test_02):
Add default value to close_num.
From-SVN: r109062
2005-12-26 10:53:42 +00:00
Paolo Carlini
b642a22a13
is_empty.cc: Fix class NonEmptyClassTwo.
...
2005-12-16 Paolo Carlini <pcarlini@suse.de>
* testsuite/tr1/4_metaprogramming/type_properties/is_empty/is_empty.cc:
Fix class NonEmptyClassTwo.
From-SVN: r108683
2005-12-16 21:33:32 +00:00
Paolo Carlini
3270a66b55
[multiple changes]
...
2005-11-13 Jonathan Wakely <redi@gcc.gnu.org>
* include/tr1/boost_shared_ptr.h (get_deleter):
Declare before shared_ptr.
(shared_ptr<>): Declare get_deleter as friend.
(shared_ptr<>:_M_get_deleter): Private.
2005-11-13 Douglas Gregor <doug.gregor@gmail.com>
PR libstdc++/24818
* include/tr1/ref_wrap_iterate.h
(reference_wrapper::operator()()): Don't dereferene the result of
get() before calling it; it's already a reference.
* testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
Test nullary calls to reference_wrappers.
From-SVN: r106862
2005-11-13 12:14:15 +00:00
Paolo Carlini
516ebd4486
re PR libstdc++/24808 (is_object fails to compile with incomplete types)
...
2005-11-11 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24808
* include/tr1/type_traits (__is_abstract_helper): Rename to __in_array
(with complemented logic).
(is_function): Use it, don't use __conv_helper.
(is_abstract): Adjust.
(__conv_helper): Rename to __is_convertible_simple.
(is_convertible): Adjust.
* testsuite/testsuite_tr1.h (class IncompleteClass): Add.
* testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/
24808.cc: New.
* testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/
24808.cc: Likewise.
* testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/
24808.cc: Likewise.
From-SVN: r106818
2005-11-12 00:19:24 +00:00
Paolo Carlini
77633f4cd0
re PR libstdc++/24799 (std::tr1::hash missing inheritance)
...
2005-11-11 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24799
* include/tr1/functional (hash): Inherit from std::unary_function.
* testsuite/tr1/6_containers/unordered/hash/24799.cc: New.
PR libstdc++/24805
* include/tr1/boost_shared_ptr.h (swap(shared_ptr<>&, shared_ptr<>&),
swap(weak_ptr<>&, weak_ptr<>&)): Move inside namespace tr1.
* testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/
24805.cc: New.
PR libstdc++/24809
* include/tr1/type_traits (__is_polymorhpic_helper): Adjust destructor.
* testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/
24809.cc: New.
From-SVN: r106796
2005-11-11 20:10:20 +00:00
Paolo Carlini
c579887923
enable_shared_from_this/not_shared.cc: Adjust, remove xfail.
...
2005-11-10 Paolo Carlini <pcarlini@suse.de>
* testsuite/tr1/2_general_utilities/memory/
enable_shared_from_this/not_shared.cc: Adjust, remove xfail.
* testsuite/tr1/2_general_utilities/memory/
enable_shared_from_this/not_shared2.cc: Likewise.
* testsuite/tr1/2_general_utilities/memory/
enable_shared_from_this/not_shared3.cc: Likewise.
From-SVN: r106736
2005-11-10 15:13:15 +00:00
Paolo Carlini
2747345455
re PR libstdc++/24595 (std::tr1::get_deleter not declared)
...
2005-11-01 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24595
* include/tr1/boost_shared_ptr.h (shared_ptr<>::get_deleter):
Move out of shared_ptr.
* testsuite/tr1/2_general_utilities/memory/shared_ptr/misc/24595.cc:
New.
From-SVN: r106321
2005-11-01 11:01:40 +00:00
Paolo Carlini
3c9b5053e0
PR libstdc++/24061 (issue 6.19)
...
2005-10-09 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24061 (issue 6.19)
* include/tr1/hashtable (struct node_const_iterator, struct
hashtable_const_iterator): New, add const variants to enable separate
overloadings for iterator and const_iterator in unordered_set and
unordered_multiset (as required by issue 6.19).
(class hashtable): Change the mutable_iterators template parameter
to constant_iterators and adjust throughout the logic.
(hashtable::insert(iterator, const value_type&), erase(iterator)
erase(iterator, iterator)): New, as per issue 6.19.
(hashtable::m_erase(node*, node**)): New, called by erase(iterator)
and erase(const_iterator).
(hashtable::Insert_Conv_Type): New, used by insert(iterator,
const value_type&) and insert(const_iterator, const value_type&)
to delegate the work to insert(const value_type&).
* include/tr1/unordered_map (class unordered_map, unordered_multimap):
Adjust typedefs.
* include/tr1/unordered_set (class unordered_set, unordered_multiset):
Likewise.
* testsuite/tr1/6_containers/unordered/erase/24061-map.cc: New.
* testsuite/tr1/6_containers/unordered/erase/24061-multimap.cc: New.
* testsuite/tr1/6_containers/unordered/erase/24061-multiset.cc: New.
* testsuite/tr1/6_containers/unordered/erase/24061-set.cc: New.
* testsuite/tr1/6_containers/unordered/insert/24061-map.cc: New.
* testsuite/tr1/6_containers/unordered/insert/24061-multimap.cc: New.
* testsuite/tr1/6_containers/unordered/insert/24061-multiset.cc: New.
* testsuite/tr1/6_containers/unordered/insert/24061-set.cc: New.
From-SVN: r105138
2005-10-09 10:34:47 +00:00
Paolo Carlini
d26e1ec86f
hashtable (node_iterator::node_iterator(const node_iterator<,true,>&)): Fix to take a "false" (i.e., is_const == false) node_iterator.
...
2005-10-03 Paolo Carlini <pcarlini@suse.de>
* include/tr1/hashtable
(node_iterator::node_iterator(const node_iterator<,true,>&)): Fix to
take a "false" (i.e., is_const == false) node_iterator.
(hashtable_iterator::hashtable_iterator(const hashtable_iterator<,
true,>&)): Likewise for hashtable_iterator.
(hashtable::const_local_iterator): Fix typedef (is_const == true).
(hashtable::const_iterator): Likewise.
* testsuite/tr1/6_containers/unordered/types/map_iterator.cc: New.
* testsuite/tr1/6_containers/unordered/types/multimap_iterator.cc: New.
* testsuite/tr1/6_containers/unordered/types/set_iterator.cc: New.
* testsuite/tr1/6_containers/unordered/types/multiset_iterator.cc: New.
From-SVN: r104900
2005-10-03 17:35:55 +00:00
Paolo Carlini
e7dbb3ee6b
re PR libstdc++/24054 (std::tr1::unordered_map's erase does not seem to return a value)
...
2005-10-02 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24054
* include/tr1/hashtable (erase(const key_type&)): Return the
number of elements erased.
* testsuite/tr1/6_containers/unordered/hashtable/24054.cc: New.
From-SVN: r104867
2005-10-02 10:20:16 +00:00
Paolo Carlini
18048e65b0
re PR libstdc++/24064 (tr1::unordered_map seems to seg-fault when caching hash values)
...
2005-09-30 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24064
* include/tr1/hashtable (hash_code_base<>::store_code): Add.
(hashtable<>::insert(const value_type&)): Use it.
* testsuite/tr1/6_containers/unordered/hashtable/24064.cc: New.
From-SVN: r104823
2005-09-30 16:54:54 +00:00
Chris Jefferson
2bd8e92c33
re PR libstdc++/23978 (tr1::tie doesn't work with std::pair)
...
2005-09-29 Chris Jefferson <chris@bubblescope.net>
PR libstdc++/23978
* include/tr1/functional (ref, cref): Make inline.
* include/tr1/tuple_iterate.h (tuple): Add operator=(std::pair).
(tie): Correct formatting.
(make_tuple): Make inline.
* testsuite/tr1/6_containers/tuple/creation_functions/23978.cc: New.
From-SVN: r104784
2005-09-29 17:42:42 +00:00
Paolo Carlini
e182017e46
re PR libstdc++/23781 (Implicit conversion from NULL to list<T>::iterator)
...
2005-09-11 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/23781
* include/bits/stl_list.h (_List_iterator<>::
_List_iterator(_List_node_base*), _List_const_iterator<>::
_List_const_iterator(const _List_node_base*)): Make explicit.
(list<>::begin(), list<>::end(), list<>::pop_back()): Adjust
consistently.
* include/bits/list.tcc (list<>::insert, list<>::erase): Adjust
consistently.
* include/bits/stl_tree.h (_Rb_tree_iterator<>::
_Rb_tree_iterator(_Link_type), _Rb_tree_const_iterator<>::
_Rb_tree_const_iterator(_Link_type)): Make explicit.
(_Rb_tree<>::begin(), _Rb_tree<>::end()): Adjust consistently.
* include/ext/slist (_Slist_iterator<>::_Slist_iterator(_Node*)):
Make explicit.
(slist<>::erase(iterator), slist<>::erase(iterator, iterator)):
Adjust consistently.
* include/tr1/hashtable (hashtable_iterator<>::
hashtable_iterator(hash_node<>**)): Make explicit.
* testsuite/23_containers/list/23781.cc: New.
* testsuite/23_containers/map/23781.cc: Likewise.
* testsuite/23_containers/multimap/23781.cc: Likewise.
* testsuite/23_containers/multiset/23781.cc: Likewise.
* testsuite/23_containers/set/23781.cc: Likewise.
* testsuite/ext/slist/23781.cc: Likewise.
* testsuite/tr1/6_containers/unordered/23781.cc: Likewise.
* testsuite/23_containers/map/operators/1_neg.cc: Adjust dg-error
line numbers.
* testsuite/23_containers/set/operators/1_neg.cc: Likewise.
* include/tr1/array (array<>::begin(), array<>::end()): Adjust
stylistically for consistency with the other containers.
From-SVN: r104139
2005-09-11 09:48:41 +00:00
Paolo Carlini
ab7654d98b
23465.cc: Reduce maximum size and lf.
...
2005-09-02 Paolo Carlini <pcarlini@suse.de>
* testsuite/tr1/6_containers/unordered/hashtable/23465.cc:
Reduce maximum size and lf.
From-SVN: r103783
2005-09-02 16:23:39 +00:00
Paolo Carlini
5a2ab2c36d
re PR libstdc++/23081 (Finish the implementation of tr1::array)
...
2005-08-26 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/23081
* include/tr1/array: Implement members back(), front(), data(),
and the tuple interface; tidy.
* testsuite/tr1/6_containers/array/element_access/back.cc: New.
* testsuite/tr1/6_containers/array/element_access/data.cc: Likewise.
* testsuite/tr1/6_containers/array/element_access/front.cc: Likewise.
* testsuite/tr1/6_containers/array/tuple_interface/get.cc: Likewise.
* testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc:
Likewise.
* testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc:
Likewise.
From-SVN: r103525
2005-08-26 15:52:53 +00:00
Paolo Carlini
bb7d32a918
re PR libstdc++/23465 (Assignment fails on TR1 unordered containers)
...
2005-08-24 Paolo Carlini <pcarlini@suse.de>
Chris Jefferson <chris@bubblescope.net>
PR libstdc++/23465
* include/tr1/hashtable (hash_code_base::m_swap): Use
std::swap.
(hashtable<>::hashtable(const hashtable&)): Use copy_code;
fix m_allocate_node call.
* testsuite/tr1/6_containers/unordered/hashtable/23465.cc: New.
Co-Authored-By: Chris Jefferson <chris@bubblescope.net>
From-SVN: r103441
2005-08-24 15:00:19 +00:00
Kelley Cook
83f517994d
All files: Update FSF address.
...
2005-08-17 Kelley Cook <kcook@gcc.gnu.org>
* All files: Update FSF address.
From-SVN: r103192
2005-08-17 02:28:44 +00:00
Dave Odell
7f50ddeef6
re PR libstdc++/23053 (Const-correctness issue in TR1 hashtable)
...
2005-07-25 Dave Odell <evilalias@hotmail.com>
PR libstdc++/23053
* include/tr1/hashtable (hashtable<>::find_node): Const-ify.
* testsuite/tr1/6_containers/unordered/hashtable/23053.cc: New.
From-SVN: r102372
2005-07-25 22:46:48 +00:00
Paolo Carlini
152d96766a
type_traits (is_convertible): Adjust according to the resolution of TR1 issue 3.20.
...
2005-04-29 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits (is_convertible): Adjust according
to the resolution of TR1 issue 3.20.
* testsuite/tr1/4_metaprogramming/relationships_between_types/
is_convertible/is_convertible.cc: Add tests.
From-SVN: r98944
2005-04-28 22:35:09 +00:00
Paolo Carlini
4e5362a2a3
type_traits (has_trivial_copy, [...]): Adjust according to the resolution of TR1 issue 3.21.
...
2005-04-27 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits (has_trivial_copy, has_trivial_assign,
has_nothrow_copy, has_nothrow_assign): Adjust according to the
resolution of TR1 issue 3.21.
* testsuite/testsuite_tr1.h (test_copy_property,
test_assign_property): Remove.
* testsuite/tr1/4_metaprogramming/type_properties/
has_nothrow_assign/has_nothrow_assign.cc: Adjust.
* 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_copy/has_trivial_copy.cc: Likewise.
From-SVN: r98829
2005-04-27 15:08:57 +00:00
Jonathan Wakely
fcec20a758
memory, [...]: Use mutex to make _Sp_counted_base::add_ref_lock() thread-safe.
...
* include/tr1/memory, include/tr1/boost_shared_ptr.h: Use mutex
to make _Sp_counted_base::add_ref_lock() thread-safe. Check whether
to destroy resources by testing for equality, not inequality. Add
empty critical sections to solve memory visibility issues.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/cons/auto_ptr_neg.cc: Use dg-excess-errors instead of
explicitly listing line numbers which need to be kept in sync.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/assign/auto_ptr_neg.cc: Same.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/assign/auto_ptr_rvalue_neg.cc: Same.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/cons/weak_ptr_expired.cc: Make XFAIL for consistency when
-fno-exceptions.
* testsuite/tr1/2_general_utilities/memory/
enable_shared_from_this/not_shared.cc: Add explanatory comments.
* testsuite/tr1/2_general_utilities/memory/
enable_shared_from_this/not_shared2.cc: Same.
* testsuite/tr1/2_general_utilities/memory/
enable_shared_from_this/not_shared3.cc: Same.
From-SVN: r97620
2005-04-05 12:08:55 +01:00
Doug Gregor
59cffcf69a
[multiple changes]
...
2005-03-31 Chris Jefferson <chris@bubblescope.net>
* include/tr1/tuple: Support iteration via tuple_iterate.h.
* include/tr1/tuple_iterate.h: Iteration file for tuple.
2005-03-31 Douglas Gregor <doug.gregor@gmail.com>
* include/Makefile.am (tr1_headers): Add bind and mu repetition
headers and reference_wrapper<> forwarding header.
* include/Makefile.in: Regenerate.
* include/tr1/bind_iterate.h: Implementation of function call
operators for the function object returned from tr1::bind().
* include/tr1/bind_repeat.h: Bind-specific repetition header,
akin to include/tr1/repeat.h.
* include/tr1/functional (_Mem_fn): Bug fix: declare result
member
template for use with result_of.
(is_bind_expression): New.
(is_placeholder): New.
(_Placeholder): New. Placeholder type for bind.
(_Mu): New. Implementation detail of bind.
(_Bind, _Bind_result): New. Function objects returned by bind.
(_GLIBCXX_JOIN): New. Required to create bind placeholders.
* include/tr1/functional_iterate.h (_Bind, _Bind_result, bind):
New. Implementation of tr1::bind.
* include/tr1/mu_iterate.h (_Mu): result template and operator()
for the _Mu helper to bind.
* include/tr1/ref_fwd.h (reference_wrapper): Forward declaration
used by tuple header.
(ref): Ditto.
(cref): Ditto.
* include/tr1/repeat.h: Add bind-specific repetition macros.
* include/tr1/tuple: Use reference_wrapper forwarding header for
initial definitions, then include <tr1/functional> at the end, to
make the circular dependencies work.
(tie): Support zero-argument tie() function.
* testsuite/tr1/3_function_objects/bind/all_bound.cc: New test of
bind() functionality with parameters bound.
* testsuite/tr1/3_function_objects/bind/nested.cc: New test of
nested bind() expressions.
* testsuite/tr1/3_function_objects/bind/placeholders.cc: New test
of bind() placeholders.
* testsuite/tr1/3_function_objects/bind/ref.cc: New test of bind()
with arguments bound via reference_wrapper<>.
* scripts/gen_includers.pl: Generate the repetitive part of
include/tr1/repeat.h.
* scripts/gen_bind_includers.pl: Generate the repetitive part of
include/tr1/bind_repeat.h.
From-SVN: r97361
2005-04-01 03:35:59 +00:00
Benjamin Kosnik
b758b22ac2
memory: Forward to...
...
2005-03-24 Benjamin Kosnik <bkoz@redhat.com>
* include/tr1/memory: Forward to...
* include/tr1/boost_shared_ptr.h: ...here. Add Boost Software License.
* include/Makefile.am (tr1_headers): Add boost_shared_ptr.h.
* include/Makefile.in: Regenerate.
* testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/
auto_ptr_neg.cc: Adjust line numbers.
From-SVN: r97003
2005-03-24 18:32:18 +00:00
Paolo Carlini
f4e4284dcc
type_traits: Add is_base_of.
...
2005-03-04 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits: Add is_base_of.
* testsuite/tr1/4_metaprogramming/relationships_between_types/
is_base_of/is_base_of.cc: New.
* testsuite/tr1/4_metaprogramming/relationships_between_types/
is_base_of/typedefs.cc: Likewise.
From-SVN: r95911
2005-03-05 00:22:48 +00:00
Paolo Carlini
442dca704c
type_traits: Implemenet is_polymorphic.
...
2005-03-03 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits: Implemenet is_polymorphic.
(is_empty): Minor tweaks.
* testsuite/testsuite_tr1.h: Add test types.
* testsuite/tr1/4_metaprogramming/type_properties/
is_polymorphic/is_polymorphic.cc: New.
* testsuite/tr1/4_metaprogramming/type_properties/
is_polymorphic/typedefs.cc: Likewise.
* testsuite/tr1/4_metaprogramming/composite_type_traits/
is_union_or_class/is_union_or_class.cc: Add tests.
From-SVN: r95829
2005-03-03 13:52:20 +00:00
Douglas Gregor
3c2350009b
functional (_Has_result_type): Cleanup.
...
2005-03-02 Douglas Gregor <doug.gregor@gmail.com>
* include/tr1/functional (_Has_result_type): Cleanup.
(_Result_of_impl): Handle member data pointers correctly.
(reference_wrapper): Support invocation.
Move repetition code into new file include/tr1/repeat.h.
* include/tr1/functional_iterate.h (reference_wrapper): Support
invocation. Cleanup long lines.
* include/tr1/ref_wrap_iterate.h (reference_wrapper): Declare
invocation operators.
* include/tr1/repeat.h: Code repetition header.
* include/Makefile.am: Add ref_wrap_iterate.h, repeat.h
* include/Makefile.in: Add ref_wrap_iterate.h, repeat.h
* testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
New test of reference_wrapper invocation.
* testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc:
New test of reference_wrapper typedefs and base classes.
* testsuite/tr1/3_function_objects/result_of.cc: Trivial cleanup
(e-mail address).
2005-03-02 Douglas Gregor <doug.gregor@gmail.com>
* include/tr1/function (result_of): New class template.
* include/tr1/functional/iterator.h: Implementation of TR1
result_of.
* testsuite/tr1/3_function_objects/result_of.cc: New test
From-SVN: r95778
2005-03-02 12:56:28 +00:00
Benjamin Kosnik
44dd2da22c
cons/auto_ptr_neg.cc: Correct line numbers.
...
2005-02-28 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/tr1/2_general_utilities/memory/shared_ptr/
cons/auto_ptr_neg.cc: Correct line numbers.
* testsuite/testsuite_abi.cc: Add CXXABI_1.3.1.
From-SVN: r95727
2005-03-01 03:52:37 +00:00
Paolo Carlini
9e38f7028f
type_traits: Add the trivial is_union and is_class; add the __is_union_or_class extension.
...
2005-02-25 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits: Add the trivial is_union and is_class;
add the __is_union_or_class extension.
(is_enum, is_empty): Use the latter.
* include/tr1/type_traits_fwd.h: Add __is_union_or_class.
* testsuite/testsuite_tr1.h: Add UnionType; trivial formatting
fixes.
* testsuite/tr1/4_metaprogramming/composite_type_traits/
is_union_or_class/is_union_or_class.cc: New.
* testsuite/tr1/4_metaprogramming/composite_type_traits/
is_union_or_class/typedefs.cc: Likewise.
From-SVN: r95541
2005-02-25 18:17:06 +00:00
Benjamin Kosnik
4b2420b0d3
hash.cc: Guard wchar_t use with _GLIBCXX_USE_WCHAR_T.
...
2005-02-24 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/tr1/6_containers/unordered/instantiate/hash.cc: Guard
wchar_t use with _GLIBCXX_USE_WCHAR_T.
From-SVN: r95514
2005-02-24 21:32:53 +00:00
Douglas Gregor
0179f2c632
TR1 mem_fn and function support
...
From-SVN: r95486
2005-02-24 01:16:08 +00:00
Paolo Carlini
c150a271b1
type_traits: Implement is_convertible.
...
2005-02-23 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits: Implement is_convertible.
* testsuite/tr1/4_metaprogramming/relationships_between_types/
is_convertible/is_convertible.cc: New.
* testsuite/tr1/4_metaprogramming/relationships_between_types/
is_convertible/typedefs.cc: Likewise.
* testsuite/testsuite_tr1.h: Add class DerivedType.
* include/tr1/type_traits (is_function): Don't mistake references
to function types for function types.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_function/is_function.cc: Add testcase.
From-SVN: r95458
2005-02-23 17:23:44 +00:00
Paolo Carlini
44f3667679
auto_ptr_neg.cc: Add missing dg-do compile directive.
...
2005-02-22 Paolo Carlini <pcarlini@suse.de>
* testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/
auto_ptr_neg.cc: Add missing dg-do compile directive.
* testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/
auto_ptr_rvalue_neg.cc: Likewise.
* testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/
shared_ptr_neg.cc: Likewise.
* testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/
auto_ptr_neg.cc: Likewise.
* testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/
reset_neg.cc: Likewise.
* testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/
swap_neg.cc: Likewise.
From-SVN: r95391
2005-02-22 12:50:56 +00:00
Jonathan Wakely
7dfded9114
memory: New file.
...
* include/tr1/memory: New file.
* include/Makefile.am, include/Makefile.in: Add new TR1 header.
* testsuite/tr1/2_general_utilities/memory/
enable_shared_from_this/not_shared.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
enable_shared_from_this/not_shared2.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
enable_shared_from_this/not_shared3.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
enable_shared_from_this/shared.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
enable_shared_from_this/still_shared.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/assign/assign.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/assign/auto_ptr.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/assign/auto_ptr_neg.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/assign/auto_ptr_rvalue_neg.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/assign/shared_ptr.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/assign/shared_ptr_neg.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/comparison/cmp.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/cons/auto_ptr.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/cons/auto_ptr_neg.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/cons/copy.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/cons/default.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/cons/pointer.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/cons/weak_ptr.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/cons/weak_ptr_expired.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/dest/dest.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/misc/io.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/misc/swap.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/modifiers/reset.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/modifiers/reset_neg.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/modifiers/swap.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/modifiers/swap_neg.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/observers/bool_conv.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/observers/get.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/observers/unique.cc: New test.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/observers/use_count.cc: New test.
From-SVN: r95361
2005-02-22 00:10:22 +00:00
Matt Austern
6bbd10c784
functional (tr1_hashtable_define_trivial_hash): Make hash<T>::operator() a const member function for T a fundamental type
...
* include/tr1/functional (tr1_hashtable_define_trivial_hash): Make
hash<T>::operator() a const member function for T a fundamental type
* include/tr1/hashtable (extract1st::operator()): Declare const.
(hash_code_base): Declare all member functions const
(hashtable::find): fix call to this->bucket_count()
(hashtable::count): Likewise.
(hashtable::equal_range): m_incr_bucket applies to iterator, not node.
* testsuite/tr1/6_containers/unordered/find/set1.cc: New test.
* testsuite/tr1/6_containers/unordered/find/map1.cc: New test.
* testsuite/tr1/6_containers/unordered/find/multimap1.cc: New test.
* testsuite/tr1/6_containers/unordered/find/multiset1.cc: New test.
From-SVN: r95293
2005-02-19 23:57:23 +00:00
Matt Austern
52a7e4c62d
array_syntax.cc: Fix test case to use assignment instead of ==
...
* testsuite/tr1/6_containers/unordered/insert/array_syntax.cc: Fix
test case to use assignment instead of ==
* testsuite/tr1/6_containers/unordered/insert/map_range.cc: New test.
* testsuite/tr1/6_containers/unordered/insert/multimap_range.cc: New test.
* testsuite/tr1/6_containers/unordered/insert/multiset_range.cc: New test.
* testsuite/tr1/6_containers/unordered/insert/set_range.cc: New test.
From-SVN: r95240
2005-02-18 23:09:02 +00:00
Matt Austern
180ecd6aa2
functional (hash): New function object.
...
* include/tr1/functional (hash): New function object.
* include/tr1/hashtable: New file.
* include/tr1/unordered_set: New file.
* include/tr1/unordered_map: New file.
* include/Makefile.am: Add three new TR1 headers.
* include/Makefile.in: Likewise.
* testsuite/tr1/6_containers/unordered/insert/array_syntax.cc: New test.
* testsuite/tr1/6_containers/unordered/insert/map_single.cc: New test.
* testsuite/tr1/6_containers/unordered/insert/multimap_single.cc: New test.
* testsuite/tr1/6_containers/unordered/insert/multiset_single.cc: New test.
* testsuite/tr1/6_containers/unordered/insert/set_single.cc: New test.
* testsuite/tr1/6_containers/unordered/instantiate/hash.cc: New test.
* testsuite/tr1/6_containers/unordered/instantiate/map.cc: New test.
* testsuite/tr1/6_containers/unordered/instantiate/multimap.cc: New test.
* testsuite/tr1/6_containers/unordered/instantiate/multiset.cc: New test.
* testsuite/tr1/6_containers/unordered/instantiate/set.cc: New test.
From-SVN: r95219
2005-02-18 07:50:08 +00:00
Paolo Carlini
91e390fe3d
type_traits: Implement is_empty.
...
2005-01-28 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits: Implement is_empty.
* testsuite/tr1/4_metaprogramming/type_properties/is_empty/
is_empty.cc: New.
* testsuite/tr1/4_metaprogramming/type_properties/is_empty/
typedefs.cc: Likewise.
* include/tr1/type_traits (__is_abstract_helper): Simplify a bit.
From-SVN: r94379
2005-01-28 17:20:43 +00:00
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
e930780c1e
type_traits: Implement is_signed and is_unsigned.
...
2005-01-24 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits: Implement is_signed and is_unsigned.
* testsuite/tr1/4_metaprogramming/type_properties/
is_signed/is_signed.cc: New.
* testsuite/tr1/4_metaprogramming/type_properties/
is_signed/typedefs.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
is_unsigned/is_unsigned.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
is_unsigned/typedefs.cc: Likewise.
From-SVN: r94160
2005-01-24 14:06:13 +00:00
Paolo Carlini
9634af0238
re PR libstdc++/19535 (Wrong return types for __pair_get<1>)
...
2005-01-19 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/19535
* include/tr1/utility (struct __pair_get<1>::__get, __const_get):
Fix typo in the return type.
* testsuite/tr1/6_containers/utility/19535.cc: New.
From-SVN: r93940
2005-01-20 02:13:49 +00:00
Paolo Carlini
464b277ba2
type_traits: Implement alignment_of and aligned_storage.
...
2005-01-11 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits: Implement alignment_of and aligned_storage.
* testsuite/tr1/4_metaprogramming/other_transformations/
aligned_storage/aligned_storage.cc: New.
* testsuite/tr1/4_metaprogramming/other_transformations/
aligned_storage/typedefs.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
alignment_of/alignment_of.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
alignment_of/typedefs.cc: Likewise.
From-SVN: r93183
2005-01-11 12:29:31 +00:00
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