Add result<>::emplace (refs #85)

This commit is contained in:
Peter Dimov
2022-10-18 00:46:59 +03:00
parent 21115121bb
commit 1e4c050d6c
3 changed files with 192 additions and 0 deletions
+15
View File
@@ -401,6 +401,14 @@ public:
return has_error()? variant2::unsafe_get<1>( v_ ): E();
}
// emplace
template<class... A>
BOOST_CXX14_CONSTEXPR T& emplace( A&&... a )
{
return v_.template emplace<0>( std::forward<A>(a)... );
}
// swap
BOOST_CXX14_CONSTEXPR void swap( result& r )
@@ -573,6 +581,13 @@ public:
return has_error()? variant2::unsafe_get<1>( v_ ): E();
}
// emplace
BOOST_CXX14_CONSTEXPR void emplace()
{
v_.template emplace<0>();
}
// swap
BOOST_CXX14_CONSTEXPR void swap( result& r )