Apache C++ Standard Library Reference Guide

## get_temporary_buffer()

Library: General utilities

    Function

- Local Index
- Summary
- Synopsis
- Description
- See Also
- Standards Conformance

### Local Index

No Entries

### Summary

Function template for efficient allocation of temporary storage.

### Synopsis

    #include <memory>

    namespace std {
      template <class T>
      pair<T*, ptrdiff_t> get_temporary_buffer(ptrdiff_t);

    }

### Description

Specializations of the `get_temporary_buffer()` function template attempt to allocate a region of storage sufficiently large to store at least `n` adjacent objects of type`T.`

On success, the function returns a pair containing the beginning address of the allocated but uninitialized region of storage and its size in units of `sizeof(T))`. On failure, the function returns a pair of `0` values.

It is not specified how the storage is allocated, however, it can be assumed that the function is at least as efficient as allocating the storage dynamically, for example, by calling operator `new`.

The function is thread-safe but the allocated storage must be returned by a call to `return_temporary_buffer()` made from the same thread as the one that obtained it.

### See Also

allocator, pair, `return_temporary_buffer()`

### Standards Conformance

ISO/IEC 14882:1998 -- International Standard for Information Systems -- Programming Language C++, Section 20.4.3