| Index: gcc/libstdc++-v3/include/bits/stl_iterator_base_funcs.h
|
| diff --git a/gcc/libstdc++-v3/include/bits/stl_iterator_base_funcs.h b/gcc/libstdc++-v3/include/bits/stl_iterator_base_funcs.h
|
| deleted file mode 100644
|
| index 0a854faa14cd967b15b11f32f8227bcc8afad68d..0000000000000000000000000000000000000000
|
| --- a/gcc/libstdc++-v3/include/bits/stl_iterator_base_funcs.h
|
| +++ /dev/null
|
| @@ -1,197 +0,0 @@
|
| -// Functions used by iterators -*- C++ -*-
|
| -
|
| -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 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.
|
| -
|
| -// 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/>.
|
| -
|
| -/*
|
| - *
|
| - * Copyright (c) 1994
|
| - * Hewlett-Packard Company
|
| - *
|
| - * Permission to use, copy, modify, distribute and sell this software
|
| - * and its documentation for any purpose is hereby granted without fee,
|
| - * provided that the above copyright notice appear in all copies and
|
| - * that both that copyright notice and this permission notice appear
|
| - * in supporting documentation. Hewlett-Packard Company makes no
|
| - * representations about the suitability of this software for any
|
| - * purpose. It is provided "as is" without express or implied warranty.
|
| - *
|
| - *
|
| - * Copyright (c) 1996-1998
|
| - * Silicon Graphics Computer Systems, Inc.
|
| - *
|
| - * Permission to use, copy, modify, distribute and sell this software
|
| - * and its documentation for any purpose is hereby granted without fee,
|
| - * provided that the above copyright notice appear in all copies and
|
| - * that both that copyright notice and this permission notice appear
|
| - * in supporting documentation. Silicon Graphics makes no
|
| - * representations about the suitability of this software for any
|
| - * purpose. It is provided "as is" without express or implied warranty.
|
| - */
|
| -
|
| -/** @file stl_iterator_base_funcs.h
|
| - * This is an internal header file, included by other library headers.
|
| - * You should not attempt to use it directly.
|
| - *
|
| - * This file contains all of the general iterator-related utility
|
| - * functions, such as distance() and advance().
|
| - */
|
| -
|
| -#ifndef _STL_ITERATOR_BASE_FUNCS_H
|
| -#define _STL_ITERATOR_BASE_FUNCS_H 1
|
| -
|
| -#pragma GCC system_header
|
| -#include <bits/concept_check.h>
|
| -
|
| -_GLIBCXX_BEGIN_NAMESPACE(std)
|
| -
|
| - template<typename _InputIterator>
|
| - inline typename iterator_traits<_InputIterator>::difference_type
|
| - __distance(_InputIterator __first, _InputIterator __last,
|
| - input_iterator_tag)
|
| - {
|
| - // concept requirements
|
| - __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
|
| -
|
| - typename iterator_traits<_InputIterator>::difference_type __n = 0;
|
| - while (__first != __last)
|
| - {
|
| - ++__first;
|
| - ++__n;
|
| - }
|
| - return __n;
|
| - }
|
| -
|
| - template<typename _RandomAccessIterator>
|
| - inline typename iterator_traits<_RandomAccessIterator>::difference_type
|
| - __distance(_RandomAccessIterator __first, _RandomAccessIterator __last,
|
| - random_access_iterator_tag)
|
| - {
|
| - // concept requirements
|
| - __glibcxx_function_requires(_RandomAccessIteratorConcept<
|
| - _RandomAccessIterator>)
|
| - return __last - __first;
|
| - }
|
| -
|
| - /**
|
| - * @brief A generalization of pointer arithmetic.
|
| - * @param first An input iterator.
|
| - * @param last An input iterator.
|
| - * @return The distance between them.
|
| - *
|
| - * Returns @c n such that first + n == last. This requires that @p last
|
| - * must be reachable from @p first. Note that @c n may be negative.
|
| - *
|
| - * For random access iterators, this uses their @c + and @c - operations
|
| - * and are constant time. For other %iterator classes they are linear time.
|
| - */
|
| - template<typename _InputIterator>
|
| - inline typename iterator_traits<_InputIterator>::difference_type
|
| - distance(_InputIterator __first, _InputIterator __last)
|
| - {
|
| - // concept requirements -- taken care of in __distance
|
| - return std::__distance(__first, __last,
|
| - std::__iterator_category(__first));
|
| - }
|
| -
|
| - template<typename _InputIterator, typename _Distance>
|
| - inline void
|
| - __advance(_InputIterator& __i, _Distance __n, input_iterator_tag)
|
| - {
|
| - // concept requirements
|
| - __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
|
| - while (__n--)
|
| - ++__i;
|
| - }
|
| -
|
| - template<typename _BidirectionalIterator, typename _Distance>
|
| - inline void
|
| - __advance(_BidirectionalIterator& __i, _Distance __n,
|
| - bidirectional_iterator_tag)
|
| - {
|
| - // concept requirements
|
| - __glibcxx_function_requires(_BidirectionalIteratorConcept<
|
| - _BidirectionalIterator>)
|
| - if (__n > 0)
|
| - while (__n--)
|
| - ++__i;
|
| - else
|
| - while (__n++)
|
| - --__i;
|
| - }
|
| -
|
| - template<typename _RandomAccessIterator, typename _Distance>
|
| - inline void
|
| - __advance(_RandomAccessIterator& __i, _Distance __n,
|
| - random_access_iterator_tag)
|
| - {
|
| - // concept requirements
|
| - __glibcxx_function_requires(_RandomAccessIteratorConcept<
|
| - _RandomAccessIterator>)
|
| - __i += __n;
|
| - }
|
| -
|
| - /**
|
| - * @brief A generalization of pointer arithmetic.
|
| - * @param i An input iterator.
|
| - * @param n The "delta" by which to change @p i.
|
| - * @return Nothing.
|
| - *
|
| - * This increments @p i by @p n. For bidirectional and random access
|
| - * iterators, @p n may be negative, in which case @p i is decremented.
|
| - *
|
| - * For random access iterators, this uses their @c + and @c - operations
|
| - * and are constant time. For other %iterator classes they are linear time.
|
| - */
|
| - template<typename _InputIterator, typename _Distance>
|
| - inline void
|
| - advance(_InputIterator& __i, _Distance __n)
|
| - {
|
| - // concept requirements -- taken care of in __advance
|
| - typename iterator_traits<_InputIterator>::difference_type __d = __n;
|
| - std::__advance(__i, __d, std::__iterator_category(__i));
|
| - }
|
| -
|
| -#ifdef __GXX_EXPERIMENTAL_CXX0X__
|
| - template<typename _InputIterator>
|
| - inline _InputIterator
|
| - 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
|
| - iterator_traits<_BidirectionalIterator>::difference_type __n = 1)
|
| - {
|
| - std::advance(__x, -__n);
|
| - return __x;
|
| - }
|
| -#endif
|
| -
|
| -_GLIBCXX_END_NAMESPACE
|
| -
|
| -#endif /* _STL_ITERATOR_BASE_FUNCS_H */
|
|
|