const T& operator* (void) const { return get(); }
const T* operator-> (void) const;
- operator bool (void) const { return m_ptr; }
+ operator bool (void) const { return !!m_ptr; }
private:
T* m_ptr;
deUint8 m_data[sizeof(T)];
deUint64 m_align;
};
-};
+} DE_WARN_UNUSED_TYPE;
template<typename T>
Maybe<T> nothing (void)
}
template<typename T>
+Maybe<T> just (const T& value)
+{
+ return Maybe<T>(value);
+}
+
+template<typename T>
Maybe<T>::Maybe (void)
: m_ptr (DE_NULL)
{