[signals] Minor patch suggestion for last_value.hpp

Hello all, I have the problem that signal's default combiner last_value is OOTB only usable with non-empty signals, unless the return type is void. The attached patch tries to circumvent this by returning an optional<T> instead of a T. cheers, aa -- Andreas Ames | Programmer | Comergo GmbH | Voice: +49 69 7505 3213 | andreas . ames AT comergo . com Index: boost/boost/last_value.hpp =================================================================== RCS file: /cc/CVSGlobal/tools/extern/boost/boost/last_value.hpp,v retrieving revision 1.1.1.1 diff -u -r1.1.1.1 last_value.hpp --- last_value.hpp 2005/08/09 03:52:52 1.1.1.1 +++ last_value.hpp 2005/09/26 17:22:32 @@ -12,16 +12,17 @@ #include <cassert> +#include <boost/optional.hpp> + namespace boost { template<typename T> struct last_value { - typedef T result_type; + typedef optional<T> result_type; template<typename InputIterator> - T operator()(InputIterator first, InputIterator last) const + optional<T> operator()(InputIterator first, InputIterator last) const { - assert(first != last); - T value = *first++; + optional<T> value; while (first != last) value = *first++; return value;
participants (1)
-
Ames Andreas