boost::signals2::optional_last_value — 求值一个 InputIterator 序列,并返回一个 boost::optional,其中包含序列中的最后一个值。如果序列为空,则返回一个空的 boost::optional。
// In header: <boost/signals2/optional_last_value.hpp> template<typename T> class optional_last_value { public: // types typedef boost::optional<T> result_type; // invocation template<typename InputIterator> result_type operator()(InputIterator, InputIterator) const; };
optional_last_value
是 Boost.Signals2 库中 signals 的默认 Combiner 模板类型。 optional_last_value
相对于 signals2::last_value 的优势在于,当其 InputIterator
序列为空时,optional_last_value
可以返回一个空的 boost::optional,而不是抛出异常。
optional_last_value
调用template<typename InputIterator> result_type operator()(InputIterator first, InputIterator last) const;
效果 |
尝试解引用序列 |
返回值 |
最后一个成功迭代器解引用的结果,封装在一个 boost::optional 中。 如果没有迭代器被解引用,则返回的 |
抛出 |
不抛出。 |