#ifdef __GXX_EXPERIMENTAL_CXX0X__
template<typename _InputIterator>
inline _InputIterator
- next(_InputIterator __x,
- typename _InputIterator::difference_type __n = 1)
+ next(_InputIterator __x, typename
+ iterator_traits<_InputIterator>::difference_type __n = 1)
{
std::advance(__x, __n);
return __x;
template<typename _BidirectionalIterator>
inline _BidirectionalIterator
- prev(_BidirectionalIterator __x,
- typename _BidirectionalIterator::difference_type __n = 1)
+ prev(_BidirectionalIterator __x, typename
+ iterator_traits<_BidirectionalIterator>::difference_type __n = 1)
{
std::advance(__x, -__n);
return __x;
+++ /dev/null
-// { dg-options "-std=gnu++0x" }
-// { dg-do compile }
-
-// Copyright (C) 2009 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 3, 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 COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-namespace X
-{
- class C { };
-
- template<class T> void next(T) { }
- template<class T> void prev(T) { }
-}
-
-using namespace X;
-
-#include <string>
-
-using namespace std;
-
-// libstdc++/40497
-void test01()
-{
- C c;
- next(c);
- prev(c);
-}