20 #ifndef OPENLIBRARY_UTILS_OPTIONAL_HPP
21 #define OPENLIBRARY_UTILS_OPTIONAL_HPP
30 Optional(): m_data(), m_present(
false) {}
32 Optional(
const T& data): m_data(data), m_present(
true) {}
33 Optional(
Optional<T>&& other): m_data(std::move(other.m_data)), m_present(other.m_present) {}
37 m_data = other.m_data;
38 m_present = other.m_present;
53 m_data = std::move(data);
59 const T* operator->()
const
69 const T& operator*()
const
79 bool operator!()
const
89 bool is_initialized()
const
101 #endif // OPENLIBRARY_UTILS_OPTIONAL_HPP
Definition: optional.hpp:27