Implement LWG 2534, Constrain rvalue stream operators.
commit232f2adc26d45f1809aced37153c39605bf4136c
authorville <ville@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 30 Nov 2016 09:59:50 +0000 (30 09:59 +0000)
committerville <ville@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 30 Nov 2016 09:59:50 +0000 (30 09:59 +0000)
treea174bba7556763a15e784ab3eaadd32609000ff2
parent0836a6dd286ed58e730a51eaddc2cf2d5e6b8998
Implement LWG 2534, Constrain rvalue stream operators.
* include/std/istream (__is_convertible_to_basic_istream): New.
(__is_extractable): Likewise.
(operator>>(basic_istream<_CharT, _Traits>&&, _Tp&&)):
Turn the stream parameter into a template parameter
and constrain.
* include/std/ostream (__is_convertible_to_basic_ostream): New.
(__is_insertable): Likewise.
(operator<<(basic_ostream<_CharT, _Traits>&&, const _Tp&)):
Turn the stream parameter into a template parameter
and constrain.
* testsuite/27_io/basic_istream/extractors_other/char/4.cc: New.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/6.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@243006 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/include/std/istream
libstdc++-v3/include/std/ostream
libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/4.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/6.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc [new file with mode: 0644]