forward_list.h (forward_list<>::max_size): Use Node_allocator; minor cosmetic changes.

2008-10-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h (forward_list<>::max_size): Use
	Node_allocator; minor cosmetic changes.
	* testsuite/23_containers/forward_list/capacity/1.cc: Adjust.

From-SVN: r141151
This commit is contained in:
Paolo Carlini 2008-10-15 22:08:09 +00:00 committed by Paolo Carlini
parent bf52069846
commit 8f47a7f6d8
3 changed files with 23 additions and 20 deletions

View File

@ -1,3 +1,9 @@
2008-10-15 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/forward_list.h (forward_list<>::max_size): Use
Node_allocator; minor cosmetic changes.
* testsuite/23_containers/forward_list/capacity/1.cc: Adjust.
2008-10-15 Edward Smith-Rowland <3dw4rd@verizon.net>
* include/std/forward_list: New.

View File

@ -604,9 +604,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* that the resulting %forward_list's size is the same as the number
* of elements assigned. Old data may be lost.
*/
template<typename InputIterator>
template<typename _InputIterator>
void
assign(InputIterator __first, InputIterator __last)
assign(_InputIterator __first, _InputIterator __last)
{
clear();
insert_after(cbefore_begin(), __first, __last);
@ -743,7 +743,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
*/
size_type
max_size() const
{ return _Alloc().max_size(); }
{ return this->_M_get_Node_allocator().max_size(); }
// 23.2.3.3 element access:
@ -783,9 +783,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* and references.
*/
template<typename... _Args>
void
emplace_front(_Args&&... __args)
{ _M_insert_after(cbefore_begin(), std::forward<_Args>(__args)...); }
void
emplace_front(_Args&&... __args)
{ _M_insert_after(cbefore_begin(), std::forward<_Args>(__args)...); }
/**
* @brief Add data to the front of the %forward_list.
@ -838,9 +838,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* and references.
*/
template<typename... _Args>
iterator
emplace_after(const_iterator __pos, _Args&&... __args)
{ _M_insert_after(__pos, std::forward<_Args>(__args)...); }
iterator
emplace_after(const_iterator __pos, _Args&&... __args)
{ _M_insert_after(__pos, std::forward<_Args>(__args)...); }
/**
* @brief Inserts given value into %forward_list after specified
@ -893,8 +893,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* does not invalidate iterators and references.
*/
void
insert_after(const_iterator __pos,
size_type __n, const _Tp& __val);
insert_after(const_iterator __pos, size_type __n,
const _Tp& __val);
/**
* @brief Inserts a range into the %forward_list.
@ -1055,8 +1055,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* Requires this != @a x.
*/
void
splice_after(const_iterator __pos,
forward_list&& __list)
splice_after(const_iterator __pos, forward_list&& __list)
{
if (!__list.empty() && &__list != this)
{
@ -1079,8 +1078,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* inserts it into the current list after @a pos.
*/
void
splice_after(const_iterator __pos,
forward_list&& __list,
splice_after(const_iterator __pos, forward_list&& __list,
const_iterator __it)
{ this->splice_after(__pos, __list, __it, __it._M_next()); }
@ -1098,10 +1096,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* Undefined if @a pos is in (before,last).
*/
void
splice_after(const_iterator __pos,
forward_list&& __list,
const_iterator __before,
const_iterator __last)
splice_after(const_iterator __pos, forward_list&& __list,
const_iterator __before, const_iterator __last)
{
_Fwd_list_node_base* __tmp
= const_cast<_Fwd_list_node_base* const>(__pos._M_node);

View File

@ -39,7 +39,8 @@ test01()
fld.resize(0);
VERIFY(fld.empty() == true);
VERIFY(fld.max_size() == fld.get_allocator().max_size());
VERIFY( fld.max_size()
== std::allocator<std::_Fwd_list_node<double> >().max_size() );
}
int