Class template last_value<optional<T>>

boost::last_value<optional<T>> — Evaluate an InputIterator sequence.

Synopsis

template<typename T> 
class last_value<optional<T>> {
public:
  // types
  typedef optional<T> result_type;

  // invocation
  template<typename InputIterator> 
    result_type operator()(InputIterator, InputIterator) const;
};

Description

last_value invocation

  1. template<typename InputIterator> 
      result_type operator()(InputIterator first, InputIterator last) const;
    Effects:

    Attempts to dereference every iterator in the sequence [first, last). Swallows boost::expired_slot exceptions thrown by failed dereference attempts.

    Returns:

    An optional<T> containing the result of the last successful iterator dereference, or an uninitalized optional<T> if no iterators were successfully dereferenced.