diff --git a/bazaar/Functions4U/Functions4U.h b/bazaar/Functions4U/Functions4U.h index 52d32198b..99f8dd58c 100644 --- a/bazaar/Functions4U/Functions4U.h +++ b/bazaar/Functions4U/Functions4U.h @@ -589,7 +589,19 @@ private: } else \ return v - +template +struct TempAssign { + TempAssign(T &_val, T set) { + old = _val; + _val = set; + val = &_val; + } + ~TempAssign() { + *val = old; + } + + T *val, old; +}; template class ThreadSafe {