diff --git a/signal.hpp b/signal.hpp index 03a25422..2ef09a53 100644 --- a/signal.hpp +++ b/signal.hpp @@ -64,6 +64,9 @@ namespace util { template class value_signal : public signal { public: + value_signal (T&&); + value_signal () = default; + operator const T&() const; value_signal& operator= (const T&); diff --git a/signal.ipp b/signal.ipp index 01fa15eb..8629ab74 100644 --- a/signal.ipp +++ b/signal.ipp @@ -171,12 +171,20 @@ namespace util { /////////////////////////////////////////////////////////////////////////// template + value_signal::value_signal (T &&t): + m_value (std::forward (t)) + { ; } + + + //------------------------------------------------------------------------- + template value_signal::operator const T&() const { return m_value; } + //------------------------------------------------------------------------- template value_signal& value_signal::operator= (const T &t)