# __gnu_cxx::temporary_buffer< ForwardIterator, Type > Struct Template Reference
[STL extensions from SGI]

List of all members.

## Public Member Functions

| temporary_buffer (ForwardIterator first, ForwardIterator last)
| Requests storage large enough to hold a copy of [first,last).
| ~temporary_buffer ()
| Destroys objects and frees storage.

## Detailed Description

### template<class ForwardIterator, class Type = typename std::iterator_traits<ForwardIterator>::value_type>
struct __gnu_cxx::temporary_buffer< ForwardIterator, Type >

This class provides similar behavior and semantics of the standard functions get_temporary_buffer() and return_temporary_buffer(), but encapsulated in a type vaguely resembling a standard container.

By default, a temporary_buffer<Iter> stores space for objects of whatever type the Iter iterator points to. It is constructed from a typical [first,last) range, and provides the begin(), end(), size() functions, as well as requested_size(). For non-trivial types, copies of *first will be used to initialize the storage.

`malloc` is used to obtain underlying storage.

Like get_temporary_buffer(), not all the requested memory may be available. Ideally, the created buffer will be large enough to hold a copy of [first,last), but if size() is less than requested_size(), then this didn't happen.

Definition at line 159 of file ext/memory.

## Constructor & Destructor Documentation

template<class ForwardIterator, class Type = typename std::iterator_traits<ForwardIterator>::value_type>
__gnu_cxx::temporary_buffer< ForwardIterator, Type >::temporary_buffer | ( | ForwardIterator | first,
|  | ForwardIterator | last
| ) | `[inline]`

| Requests storage large enough to hold a copy of [first,last). Definition at line 162 of file ext/memory.

template<class ForwardIterator, class Type = typename std::iterator_traits<ForwardIterator>::value_type>
__gnu_cxx::temporary_buffer< ForwardIterator, Type >::~temporary_buffer | ( |  | ) | `[inline]`

| Destroys objects and frees storage. Definition at line 166 of file ext/memory.

The documentation for this struct was generated from the following file:

- ext/memory