get_temporary_buffer

template<class T>
    pair<T *, ptrdiff_t> get_temporary_buffer(ptrdiff_t n, T *);

The template function allocates storage for a sequence of at most n elements of type T, from an unspecified source (which may well be the standard heap used by operator new). It returns a value pr, of type pair<T *, ptrdiff_t>. If the function allocates storage, pr.first designates the allocated storage and pr.second is the number of elements in the longest sequence the storage can hold. Otherwise, pr.first is a null pointer.

In this implementation, if a translator does not support member template functions, the template:

template<class T>
    pair<T *, ptrdiff_t> get_temporary_buffer(ptrdiff_t n);

is replaced by:

template<class T>
    pair<T *, ptrdiff_t> get_temporary_buffer(ptrdiff_t n, T *);