- //-------------------------------------------------------------------------
- const value_type& const_data() const throw()
- {
- return value;
- }
- //-------------------------------------------------------------------------
- value_type& data() throw()
- {
- return value;
- }
- //-------------------------------------------------------------------------
- operator const value_type&() const throw()
- {
- return value;
- }
- //-------------------------------------------------------------------------
- bool res_empty() const throw()
- {
- return !is_set;
- }
- //-------------------------------------------------------------------------
- void reset() throw()
- {
- is_set = false;
+
+ const T & const_data() const throw() { return value; }
+ T & data() throw() { return value; }
+ const T & data() const throw() { return value; }
+ bool empty() const throw() { return !is_set; }
+ void reset() throw() { is_set = false; }
+ void splice(const RESETABLE<T> & rhs)
+ {
+ if (rhs.is_set)
+ {
+ value = rhs.value;
+ is_set = true;
+ }