__gnu_cxx::temporary_buffer.3cxx
Contents
Constructor & Destructor Documentation
template<class_ForwardIterator,class_Tp=typenamestd::iterator_traits<_ForwardIterator>::value_type>__gnu_cxx::temporary_buffer<_ForwardIterator,_Tp>::temporary_buffer(_ForwardIterator__first,_ForwardIterator__last)[inline]
Requests storage large enough to hold a copy of [first,last).
template<class_ForwardIterator,class_Tp=typenamestd::iterator_traits<_ForwardIterator>::value_type>__gnu_cxx::temporary_buffer<_ForwardIterator,_Tp>::~temporary_buffer()[inline]
Destroys objects and frees storage.
Detailed Description
template<class_ForwardIterator,class_Tp=typenamestd::iterator_traits<_ForwardIterator>::value_type>
struct __gnu_cxx::temporary_buffer< _ForwardIterator, _Tp >"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.
Member Function Documentation
template<typename_ForwardIterator,typename_Tp>iteratorstd::_Temporary_buffer<_ForwardIterator,_Tp>::begin()[inline],[inherited]
As per Table mumble.
template<typename_ForwardIterator,typename_Tp>iteratorstd::_Temporary_buffer<_ForwardIterator,_Tp>::end()[inline],[inherited]
As per Table mumble.
template<typename_ForwardIterator,typename_Tp>size_typestd::_Temporary_buffer<_ForwardIterator,_Tp>::requested_size()const[inline],[inherited]
Returns the size requested by the constructor; may be >size().
template<typename_ForwardIterator,typename_Tp>size_typestd::_Temporary_buffer<_ForwardIterator,_Tp>::size()const[inline],[inherited]
As per Table mumble.
Name
__gnu_cxx::temporary_buffer< _ForwardIterator, _Tp >
Synopsis
#include <memory>
Inherits std::_Temporary_buffer<_ForwardIterator,_Tp>.
PublicTypes
typedef pointer iterator
typedef value_type * pointer
typedef ptrdiff_t size_type
typedef _Tp value_typePublicMemberFunctionstemporary_buffer (_ForwardIterator __first, _ForwardIterator __last)
Requests storage large enough to hold a copy of [first,last).
~temporary_buffer ()
Destroys objects and frees storage.
iterator begin ()
As per Table mumble.
iterator end ()
As per Table mumble.
size_type requested_size () const
Returns the size requested by the constructor; may be >size().
size_type size () const
As per Table mumble.
ProtectedAttributes
pointer _M_buffer
size_type _M_len
size_type _M_original_len