Commit d87135d4 by Paolo Carlini

stl_tempbuf.h (__get_temporary_buffer): Fold in get_temporary_buffer.

2007-12-01  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_tempbuf.h (__get_temporary_buffer): Fold
	in get_temporary_buffer.

From-SVN: r130557
parent 35330114
2007-12-01 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_tempbuf.h (__get_temporary_buffer): Fold
in get_temporary_buffer.
2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
* src/Makefile.am: Use separate vpath lines for each path.
* src/Makefile.am: Use separate vpath lines for each path.
2007-11-28 Johannes Singler <singler@ira.uka.de>
......
......@@ -69,14 +69,25 @@
_GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @if maint
* This is a helper function. The unused second parameter exists to
* permit the real get_temporary_buffer to use template parameter deduction.
* @endif
* @brief Allocates a temporary buffer.
* @param len The number of objects of type Tp.
* @return See full description.
*
* Reinventing the wheel, but this time with prettier spokes!
*
* This function tries to obtain storage for @c len adjacent Tp
* objects. The objects themselves are not constructed, of course.
* A pair<> is returned containing "the buffer s address and
* capacity (in the units of sizeof(Tp)), or a pair of 0 values if
* no storage can be obtained." Note that the capacity obtained
* may be less than that requested if the memory is unavailable;
* you should compare len with the .second return value.
*
* Provides the nothrow exception guarantee.
*/
template<typename _Tp>
pair<_Tp*, ptrdiff_t>
__get_temporary_buffer(ptrdiff_t __len, _Tp*)
get_temporary_buffer(ptrdiff_t __len)
{
const ptrdiff_t __max =
__gnu_cxx::__numeric_traits<ptrdiff_t>::__max / sizeof(_Tp);
......@@ -95,28 +106,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
/**
* @brief Allocates a temporary buffer.
* @param len The number of objects of type Tp.
* @return See full description.
*
* Reinventing the wheel, but this time with prettier spokes!
*
* This function tries to obtain storage for @c len adjacent Tp
* objects. The objects themselves are not constructed, of course.
* A pair<> is returned containing "the buffer s address and
* capacity (in the units of sizeof(Tp)), or a pair of 0 values if
* no storage can be obtained." Note that the capacity obtained
* may be less than that requested if the memory is unavailable;
* you should compare len with the .second return value.
*
* Provides the nothrow exception guarantee.
*/
template<typename _Tp>
inline pair<_Tp*, ptrdiff_t>
get_temporary_buffer(ptrdiff_t __len)
{ return std::__get_temporary_buffer(__len, static_cast<_Tp*>(0)); }
/**
* @brief The companion to get_temporary_buffer().
* @param p A buffer previously allocated by get_temporary_buffer.
* @return None.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment