|
5548 | 5548 |
|
5549 | 5549 | \indexlibrarymember{operator>>}{basic_istream}%
|
5550 | 5550 | \begin{itemdecl}
|
5551 |
| -template<class charT, class traits, class T> |
5552 |
| - basic_istream<charT, traits>& operator>>(basic_istream<charT, traits>&& is, T&& x); |
| 5551 | +template<class Istream, class T> |
| 5552 | + Istream&& operator>>(Istream&& is, T&& x); |
5553 | 5553 | \end{itemdecl}
|
5554 | 5554 |
|
5555 | 5555 | \begin{itemdescr}
|
5556 | 5556 | \pnum
|
5557 | 5557 | \constraints
|
5558 |
| -The expression \tcode{is >> std::forward<T>(x)} is well-formed when treated as an unevaluated operand. |
| 5558 | +The expression \tcode{is >> std::forward<T>(x)} is well-formed |
| 5559 | +when treated as an unevaluated operand and |
| 5560 | +\tcode{Istream} is publicly and unambiguously derived from \tcode{ios_base}. |
5559 | 5561 |
|
5560 | 5562 | \pnum
|
5561 | 5563 | \effects
|
5562 | 5564 | Equivalent to:
|
5563 | 5565 | \begin{codeblock}
|
5564 | 5566 | is >> std::forward<T>(x);
|
5565 |
| -return is; |
| 5567 | +return std::move(is); |
5566 | 5568 | \end{codeblock}
|
5567 | 5569 | \end{itemdescr}
|
5568 | 5570 |
|
|
6759 | 6761 |
|
6760 | 6762 | \indexlibrarymember{operator<<}{basic_ostream}%
|
6761 | 6763 | \begin{itemdecl}
|
6762 |
| -template<class charT, class traits, class T> |
6763 |
| - basic_ostream<charT, traits>& operator<<(basic_ostream<charT, traits>&& os, const T& x); |
| 6764 | +template<class Ostream, class T> |
| 6765 | + Ostream&& operator<<(Ostream&& os, const T& x); |
6764 | 6766 | \end{itemdecl}
|
6765 | 6767 |
|
6766 | 6768 | \begin{itemdescr}
|
6767 | 6769 | \pnum
|
6768 | 6770 | \constraints
|
6769 |
| -The expression \tcode{os << x} is well-formed when treated as an unevaluated operand. |
| 6771 | +The expression \tcode{os << x} is well-formed |
| 6772 | +when treated as an unevaluated operand and |
| 6773 | +\tcode{Ostream} is publicly and unambiguously derived from \tcode{ios_base}. |
6770 | 6774 |
|
6771 | 6775 | \pnum
|
6772 | 6776 | \effects
|
6773 | 6777 | As if by: \tcode{os << x;}
|
6774 | 6778 |
|
6775 | 6779 | \pnum
|
6776 | 6780 | \returns
|
6777 |
| -\tcode{os}. |
| 6781 | +\tcode{std::move(os)}. |
6778 | 6782 | \end{itemdescr}
|
6779 | 6783 |
|
6780 | 6784 |
|
|
0 commit comments