2008-10-15 18:48:13 +02:00
|
|
|
// <forward_list> -*- C++ -*-
|
|
|
|
|
2011-01-21 20:41:13 +01:00
|
|
|
// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
|
2008-10-15 18:48:13 +02:00
|
|
|
//
|
|
|
|
// 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
|
2009-04-09 17:00:19 +02:00
|
|
|
// Free Software Foundation; either version 3, or (at your option)
|
2008-10-15 18:48:13 +02:00
|
|
|
// 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.
|
|
|
|
|
2009-04-09 17:00:19 +02:00
|
|
|
// Under Section 7 of GPL version 3, you are granted additional
|
|
|
|
// permissions described in the GCC Runtime Library Exception, version
|
|
|
|
// 3.1, as published by the Free Software Foundation.
|
|
|
|
|
|
|
|
// You should have received a copy of the GNU General Public License and
|
|
|
|
// a copy of the GCC Runtime Library Exception along with this program;
|
|
|
|
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
|
|
|
// <http://www.gnu.org/licenses/>.
|
2008-10-15 18:48:13 +02:00
|
|
|
|
2010-11-09 00:12:24 +01:00
|
|
|
/** @file include/forward_list
|
2008-10-15 18:48:13 +02:00
|
|
|
* This is a Standard C++ Library header.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _GLIBCXX_FORWARD_LIST
|
|
|
|
#define _GLIBCXX_FORWARD_LIST 1
|
|
|
|
|
|
|
|
#pragma GCC system_header
|
|
|
|
|
|
|
|
#ifndef __GXX_EXPERIMENTAL_CXX0X__
|
2010-02-10 20:14:33 +01:00
|
|
|
# include <bits/c++0x_warning.h>
|
2008-10-15 18:48:13 +02:00
|
|
|
#else
|
|
|
|
|
|
|
|
#include <bits/forward_list.h>
|
2010-07-27 19:27:06 +02:00
|
|
|
#include <bits/range_access.h>
|
2011-01-21 20:41:13 +01:00
|
|
|
#include <bits/forward_list.tcc>
|
2008-10-15 18:48:13 +02:00
|
|
|
|
[multiple changes]
2010-09-29 Paolo Carlini <paolo.carlini@oracle.com>
* include/Makefile.am: Add debug/forward_list.
* include/Makefile.in: Regenerate.
* testsuite/util/testsuite_container_traits.h (traits_base):
Add has_erase_after and hash_insert_after typedefs.
(traits<forward_list<>>): Adjust.
* testsuite/util/exception/safety.h (erase_point, erase_range,
insert_point): Deal correctly with forward_list.
* include/Makefile.am: Add.
2010-09-29 François Dumont <francois.cppdevs@free.fr>
* src/debug.cc: Add forward_list specific debug messages.
* include/debug/forward_list: New.
* include/debug/formatter.h: Add debug message ids and before begin
iterator state.
* include/debug/macros.h (__glibcxx_check_insert_after,
__glibcxx_check_insert_range_after, __glibcxx_check_erase_after,
__glibcxx_check_erase_range_after): Add.
* include/debug/safe_iterator.h (_BeforeBeginHelper): Add.
(_Safe_iterator<>::_M_before_dereferenceable,
_Safe_iterator<>::_M_is_before_begin): Add.
(_Safe_iterator<>::_M_dereferenceable, _Safe_iterator<>::_M_is_end,
_Safe_iterator<>::_M_incrementable): Adjust.
* include/std/forward_list: Include debug/forward when _GLIBCXX_DEBUG
defined.
* include/bits/forward_list.h, forward_list.tcc: Put in std::__norm
when debug mode is active.
* testsuite/23_containers/forward_list/capacity/1.cc: Fix to compile
even in debug mode.
* testsuite/23_containers/forward_list/debug/erase_after1.cc,
erase_after2.cc, erase_after3.cc, erase_after4.cc, erase_after5.cc,
insert_after1.cc,erase_after6.cc, erase_after7.cc, insert_after2.cc,
erase_after8.cc, insert_after3.cc, erase_after9.cc: New.
From-SVN: r164717
2010-09-29 13:56:34 +02:00
|
|
|
#ifdef _GLIBCXX_DEBUG
|
|
|
|
# include <debug/forward_list>
|
|
|
|
#endif
|
|
|
|
|
2010-10-17 16:49:11 +02:00
|
|
|
#ifdef _GLIBCXX_PROFILE
|
|
|
|
# include <profile/forward_list>
|
|
|
|
#endif
|
|
|
|
|
2008-10-15 18:48:13 +02:00
|
|
|
#endif // __GXX_EXPERIMENTAL_CXX0X__
|
|
|
|
|
|
|
|
#endif // _GLIBCXX_FORWARD_LIST
|