template <class CharType, class CharTrait, class T>
std::basic_ostream<CharType, CharTrait>&
operator<<(std::basic_ostream<CharType, CharTrait>& out, optional<T> const& v);
-
Effect: Outputs an implementation-defined
string. The output contains the information about whether the optional
object contains a value or not. If
v
contains a value, the output contains result of calling out <<
*v.
-
Returns:
out.
template <class CharType, class CharTrait, class T>
std::basic_ostream<CharType, CharTrait>&
operator<<(std::basic_ostream<CharType, CharTrait>& out, none_t);
-
Effect: Outputs an implementation-defined
string.
-
Returns:
out.
template <class CharType, class CharTrait, class T>
std::basic_ostream<CharType, CharTrait>&
operator>>(std::basic_istream<CharType, CharTrait>& in, optional<T>& v);
-
Requires:
T
is DefaultConstructible and
MoveConstructible.
-
Effect: Reads the value of optional
object from
in. If
the string representation indicates that the optional object should
contain a value, v
contains a value and its contained value is obtained as if by default-constructing
an object o of type
T and then calling
in >>
o; otherwise v does not contain a value, and the
previously contained value (if any) has been destroyed.
-
Returns:
out.