rope: Qualify calls to std::copy() by sequence_buffer.

2005-01-16  Jonathan Wakely  <redi@gcc.gnu.org>

	* include/ext/rope: Qualify calls to std::copy() by sequence_buffer.
	* testsuite/ext/rope/4.cc: Add.

From-SVN: r93736
This commit is contained in:
Jonathan Wakely 2005-01-16 19:16:27 +00:00
parent 35e4be358b
commit 412dc870cb
3 changed files with 48 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2005-01-16 Jonathan Wakely <redi@gcc.gnu.org>
* include/ext/rope: Qualify calls to std::copy() by sequence_buffer.
* testsuite/ext/rope/4.cc: Add.
2005-01-16 Lorenz Minder <lminder@gmx.net>
Paolo Carlini <pcarlini@suse.de>

View File

@ -1,6 +1,6 @@
// SGI's rope class -*- C++ -*-
// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@ -185,7 +185,7 @@ namespace __gnu_cxx
{
_M_prefix = __x._M_prefix;
_M_buf_count = __x._M_buf_count;
copy(__x._M_buffer, __x._M_buffer + __x._M_buf_count, _M_buffer);
std::copy(__x._M_buffer, __x._M_buffer + __x._M_buf_count, _M_buffer);
}
sequence_buffer(sequence_buffer& __x)
@ -212,7 +212,7 @@ namespace __gnu_cxx
{
_M_prefix = __x._M_prefix;
_M_buf_count = __x._M_buf_count;
copy(__x._M_buffer, __x._M_buffer + __x._M_buf_count, _M_buffer);
std::copy(__x._M_buffer, __x._M_buffer + __x._M_buf_count, _M_buffer);
return *this;
}

View File

@ -0,0 +1,40 @@
// Copyright (C) 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// sequence_buffer (SGI extension)
#include <ext/rope>
#include <algorithm>
#include <testsuite_hooks.h>
void test01()
{
bool test __attribute__((unused)) = true;
__gnu_cxx::crope r1("wibble");
__gnu_cxx::crope r2;
std::copy( r1.begin(), r1.end(),
__gnu_cxx::sequence_buffer<__gnu_cxx::crope>(r2) );
VERIFY( r1 == r2 );
}
int main()
{
test01();
return 0;
}