Use implicitly-defined copy operations for test iterators
authorJonathan Wakely <jwakely@redhat.com>
Fri, 25 Oct 2019 17:02:43 +0000 (18:02 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Fri, 25 Oct 2019 17:02:43 +0000 (18:02 +0100)
commit0a70fb8750ecb24f57066a9249acf7cf6bf6958d
treee14ad0de3925717e4b25fa61cbd1ce56271d6c54
parenteadcde8e8f53c950fc17b52fd33adda40d28f7af
Use implicitly-defined copy operations for test iterators

All of these special member functions do exactly what the compiler would
do anyway. By defining them as defaulted for C++11 and later we prevent
move constructors and move assignment operators being defined (which is
consistent with the previous semantics).

Also move default init of the input_iterator_wrapper members from the
derived constructor to the protected base constructor.

* testsuite/util/testsuite_iterators.h (output_iterator_wrapper)
(input_iterator_wrapper, forward_iterator_wrapper)
bidirectional_iterator_wrapper, random_access_iterator_wrapper): Remove
user-provided copy constructors and copy assignment operators so they
are defined implicitly.
(input_iterator_wrapper): Initialize members in default constructor.
(forward_iterator_wrapper): Remove assignments to members of base.

From-SVN: r277459
libstdc++-v3/ChangeLog
libstdc++-v3/testsuite/util/testsuite_iterators.h