28 Nothing(
const char* reason =
"no specific reason") :
96 m_absence_reason(nothing.m_absence_reason)
104 m_value(other.m_value),
105 m_absence_reason(other.m_absence_reason)
113 inline operator bool()
const
166 Maybe(
const char* reason,
bool) :
168 m_absence_reason(reason)
171 Maybe(
const T& someValue) :
178 template <
typename Q>
183 const char* m_absence_reason;
193 template <
typename T>
static Maybe< T > Just(const T &value)
static const char * NO_REASON_FOR_ABSENCE
Class ShogunException defines an exception which is thrown whenever an error inside of shogun occurs...
Maybe(const Nothing ¬hing)
Maybe(const Maybe< T > &other)
const char * m_absence_reason
friend Maybe< Q > Just(const Q &value)
Nothing(const Nothing &other)
Holder that represents an object that can be either present or absent. Quite simllar to std::optional...
all of classes and functions are contained in the shogun namespace
Nothing(const char *reason="no specific reason")