diff --git a/doc/reference.qbk b/doc/reference.qbk index 2be97d6..5a7fd71 100644 --- a/doc/reference.qbk +++ b/doc/reference.qbk @@ -500,6 +500,23 @@ assert ( *opt1 == static_cast(v) ) ; __SPACE__ +[#reference_optional_operator_equal_factory] + +[: `template optional& optional::operator=( InPlaceFactory const& f );`] +[: `template optional& optional::operator=( TypedInPlaceFactory const& f );`] + +* [*Effect:] Assigns an `optional` with a value of `T` obtained from the +factory. +* [*Postconditions: ] `*this` is [_initialized] and its value is ['directly given] +from the factory `f` (i.e., the value [_is not copied]). +* [*Throws:] Whatever the `T` constructor called by the factory throws. +* [*Notes:] See [link boost_optional.in_place_factories In-Place Factories] +* [*Exception Safety:] Exceptions can only be thrown during the call to +the `T` constructor used by the factory; in that case, the `optional` object +will be left empty. + +__SPACE__ + [#reference_optional_reset_value] [: `void optional::reset( T const& v ) ;`]