## raw_storage_iterator

    Memory Management

- Summary
- Data Type and Member Function Indexes
- Synopsis
- Description
- Constructors
- Member Operators

### Summary

Enables iterator-based algorithms to store results into uninitialized memory.

### Data Type and Member Function Indexes
(exclusive of constructors and destructors)

Member Functions
operator++() operator=()

### Synopsis

    #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);
    };

### Description

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`.

### Constructors

    raw_storage_iterator (OutputIterator x);

Initializes the iterator to point to the same value as `x`.

### Member Operators

    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.

Copyright (c) 1998, Rogue Wave Software, Inc.
Send mail to report errors or comment on the documentation.
OEM Release, June 1998