X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/c8b080defffe28f5fc1aa39447a467d8f7b7ee5c..72635da73fc450b040d72fbeca4becd73c99008d:/include/stg/resetable.h?ds=sidebyside diff --git a/include/stg/resetable.h b/include/stg/resetable.h index c78d0247..a451b357 100644 --- a/include/stg/resetable.h +++ b/include/stg/resetable.h @@ -42,6 +42,19 @@ public: const T & data() const throw() { return value; } bool empty() const throw() { return !is_set; } void reset() throw() { is_set = false; } + void splice(const RESETABLE & rhs) + { + if (rhs.is_set) + { + value = rhs.value; + is_set = true; + } + } + void maybeSet(value_type& dest) const + { + if (is_set) + dest = value; + } private: value_type value;