
Memory Management
Enables iterator-based algorithms to store results into uninitialized memory.
| Member Functions |
| operator++() operator=() |
#include <memory>
template <class OutputIterator, class T>
class raw_storage_iterator : public
iterator <output_iterator_tag, void,void,void,void> {
public:
explicit raw_storage_iterator (OutputIterator);
raw_storage_iterator<OutputIterator, T>& operator*();
raw_storage_iterator<OutputIterator, T>&
operator= (const T&);
raw_storage_iterator<OutputIterator, T>& operator++();
raw_storage_iterator<OutputIterator, T> operator++ (int);
};
Class raw_storage_iterator enables iterator-based algorithms to store their results in uninitialized memory. The template parameter, OutputIterator is required to have its operator* return an object for which operator& is both defined and returns a pointer to T.
raw_storage_iterator (OutputIterator x);
Initializes the iterator to point to the same value as x.
raw_storage_iterator <OutputIterator, T>& operator=(const T& element);
Constructs an instance of T, initialized to the value element, at the location pointed to by the iterator.
raw_storage_iterator <OutputIterator, T>& operator++();
Pre-increment: advances the iterator and returns a reference to the updated iterator.
raw_storage_iterator<OutputIterator, T> operator++(int);
Post-increment: advances the iterator and returns the old value of the iterator.