5 #ifndef ODB_NULLABLE_HXX
6 #define ODB_NULLABLE_HXX
34 const T&
get ()
const;
51 void true_value () {};
72 : value_ (v), null_ (false)
79 : value_ (y.value_), null_ (y.null_)
87 : value_ (y.value_), null_ (y.null_)
100 template <
typename T>
113 template <
typename T>
114 template <
typename Y>
123 template <
typename T>
137 template <
typename T>
144 template <
typename T>
151 template <
typename T>
158 template <
typename T>
162 return null_ ? 0 : &value_;
165 template <
typename T>
169 return null_ ? 0 : &value_;
172 template <
typename T>
179 template <
typename T>
186 template <
typename T>
197 #endif // ODB_NULLABLE_HXX
bool null() const
Definition: nullable.hxx:139
T * operator->()
Definition: nullable.hxx:160
void(nullable::* bool_convertible)()
Definition: nullable.hxx:42
T & operator*()
Definition: nullable.hxx:174
T & get()
Definition: nullable.hxx:146
T value_type
Definition: nullable.hxx:18
void swap(nullable &)
Definition: nullable.hxx:125
Definition: nullable.hxx:15
nullable & operator=(const T &)
Definition: nullable.hxx:93
void reset()
Definition: nullable.hxx:188
nullable()
Definition: nullable.hxx:64