Evaluate an InputIterator sequence and return the last value in the sequence.

The `last_value` class was the default `Combiner` template parameter type for signals in the original Signals library. Signals2 uses `optional_last_value` as the default, which does not throw.

T
result_type `InputIterator` `InputIterator`

Attempts to dereference every iterator in the sequence `[first, last)`.

The result of the last successful iterator dereference.

`no_slots_error` if no iterators were successfully dereferenced, unless the template type of `last_value` is `void`.

void
Evaluate an InputIterator sequence.
void
result_type `InputIterator` `InputIterator`

Attempts to dereference every iterator in the sequence `[first, last)`.

Unlike the non-void versions of `last_value`, the void specialization does not throw.

std::exception
Indicates a combiner was unable to synthesize a return value.
The `no_slots_error` exception may be thrown by `signals2::last_value` when it is run but unable to obtain any results from its input iterators.
const char *