std::experimental::ranges::OutputIterator
Min standard notice:
Header: <experimental/ranges/iterator>
The OutputIterator concept is a refinement of Iterator, adding the requirement that it can be used to write values of values of type and value category encoded by T (via Writable). EqualityComparable is not required.
# Declarations
template< class I, class T >
concept bool OutputIterator =
Iterator<I> && Writable<I, T> &&
requires(I i, T&& t) {
*i++ = std::forward<T>(t); // not required to be equality preserving
};
(ranges TS)
# Notes
Unlike the output iterator requirements in the C++ standard, OutputIterator in the Ranges TS does not require that the iterator category tag be defined.
Algorithms on output iterators should be single pass.