Evaluate an InputIterator sequence and return a boost::optional which contains the last value in the sequence, or an empty boost::optional if the sequence was empty. optional_last_value is the default Combiner template type for signals in the Boost.Signals2 library. The advantage of optional_last_value over signals2::last_value is that optional_last_value can return an empty boost::optional. rather than throwing an exception, when its InputIterator sequence is empty. boost::optional<T> result_type InputIterator InputIterator Attempts to dereference every iterator in the sequence [first, last). The result of the last successful iterator dereference, wrapped in a boost::optional. The returned optional will be empty if no iterators were dereferenced. Does not throw.