C++ concepts: OutputIterator
From cppreference.com
                    
                                        
                    
                    
                                                            
                    An OutputIterator is an Iterator that can write to the pointed-to element.
An example of a type that implements OutputIterator is std::ostream_iterator.
[edit] Requirements
In addition to the above requirement, for a type It to be an OutputIterator, instances i and o of It must:
| Expression | Return | Equivalent expression | Notes | 
|---|---|---|---|
| *i = o | it may not be possible to write twice in the same iterator | ||
| ++i | It& | After this, copies of i may be invalidated. Post: &r == &++r | |
| i++ | const It& | It temp = i; ++i; | |
| *i++ = o | *i = o; ++i; | 

