]> git.ipfire.org Git - thirdparty/gcc.git/commit - libstdc++-v3/include/bits/streambuf_iterator.h
re PR libstdc++/25482 (Specialize (overload) std::copy/find for streambuf iterators)
authorPaolo Carlini <pcarlini@suse.de>
Tue, 21 Mar 2006 12:25:11 +0000 (12:25 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Tue, 21 Mar 2006 12:25:11 +0000 (12:25 +0000)
commit0002d5d2bc68f9381ec990ea94307bafa700b0ad
tree4a3ec58a3762e176cdaef61efefec7dd003c9fb6
parent69bdb292fd522df3ba1d9e7c52418a8b1d683dc0
re PR libstdc++/25482 (Specialize (overload) std::copy/find for streambuf iterators)

2006-03-21  Paolo Carlini  <pcarlini@suse.de>

PR libstdc++/25482
* include/bits/stl_algobase.h (__copy_aux(_CharT*, _CharT*,
ostreambuf_iterator<_CharT>), __copy_aux(const _CharT*, const _CharT*,
ostreambuf_iterator<_CharT>), __copy_aux(istreambuf_iterator<_CharT>,
istreambuf_iterator<_CharT>, _CharT*), copy(istreambuf_iterator<_CharT>,
istreambuf_iterator<_CharT>, ostreambuf_iterator<_CharT>)): Declare.
* include/bits/stl_algo.h (find(istreambuf_iterator<_CharT>,
istreambuf_iterator<_CharT>, _CharT)): Likewise.
* include/bits/streambuf_iterator.h (copy(istreambuf_iterator<_CharT>,
istreambuf_iterator<_CharT>, ostreambuf_iterator<_CharT>),
__copy_aux(_CharT*, _CharT*, ostreambuf_iterator<_CharT>),
__copy_aux(const _CharT*, const _CharT*, ostreambuf_iterator<_CharT>),
__copy_aux(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>,
_CharT*), find(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>,
_CharT)): Define.
(class istreambuf_iterator<>, class ostreambuf_iterator<>): Declare
friends.
* include/std/std_streambuf.h (class basic_streambuf<>): Likewise.
* include/bits/cpp_type_traits.h (struct __is_char<>): Add.
* testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: New.
* testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: New.
* testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: New.
* testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: New.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc: New.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc: New.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc: New.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc: New.
* testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: New.
* testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: New.
* testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc: New.
* testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc: New.
* testsuite/performance/25_algorithms/copy_streambuf_iterators.cc: New.
* testsuite/performance/25_algorithms/find_istreambuf_iterators.cc: New.

From-SVN: r112247
20 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/cpp_type_traits.h
libstdc++-v3/include/bits/stl_algo.h
libstdc++-v3/include/bits/stl_algobase.h
libstdc++-v3/include/bits/streambuf_iterator.h
libstdc++-v3/include/std/std_streambuf.h
libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc [new file with mode: 0644]
libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc [new file with mode: 0644]
libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc [new file with mode: 0644]
libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc [new file with mode: 0644]
libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/performance/25_algorithms/copy_streambuf_iterators.cc [new file with mode: 0644]
libstdc++-v3/testsuite/performance/25_algorithms/find_istreambuf_iterators.cc [new file with mode: 0644]