46 const T& value()
const {
51 const E& error()
const {
56 bool hasError()
const {
60 bool hasValue()
const {
67 Result(
const T& v) : m_Value(v), m_Error(), m_HasError(
false) {}
69 Result(
const E& e,
bool) : m_Value(m_DefaultValue), m_Error(e), m_HasError(
true) {}
75 typedef typename pedigree_std::remove_reference<T>::type BaseValueType;
76 static const BaseValueType m_DefaultValue;