Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
class unexpected
{
public:
- unexpected(const E& arg) :
+ explicit unexpected(const E& arg) :
err(arg) {}
const E& error() const
{
public:
expected(const T& arg) :
std::variant<T, E>(arg) {}
+ expected(T&& arg) :
+ std::variant<T, E>(std::forward<T>(arg)) {}
expected(const unexpected<E>& arg) :
std::variant<T, E>(arg.error()) {}
test = pdns::unexpected(3);
BOOST_ASSERT(!test.has_value());
BOOST_CHECK_EQUAL(test.error(), 3);
+
+ std::string str("foo");
+ pdns::expected<std::string, int> test1(str);
+ BOOST_ASSERT(!str.empty());
+
+ pdns::expected<std::string, int> test2("bar");
}
BOOST_AUTO_TEST_SUITE_END()