forked from OSchip/llvm-project
parent
66dbf0d311
commit
0022123b95
|
@ -9,15 +9,15 @@
|
|||
|
||||
// <iterator>
|
||||
|
||||
// template<class Category, class T, class Distance = ptrdiff_t,
|
||||
// class Pointer = T*, class Reference = T&>
|
||||
// template<class Category, class T, class Distance = ptrdiff_t,
|
||||
// class Pointer = T*, class Reference = T&>
|
||||
// struct iterator
|
||||
// {
|
||||
// typedef T value_type;
|
||||
// typedef Distance difference_type;
|
||||
// typedef Pointer pointer;
|
||||
// typedef Reference reference;
|
||||
// typedef Category iterator_category;
|
||||
// {
|
||||
// typedef T value_type;
|
||||
// typedef Distance difference_type;
|
||||
// typedef Pointer pointer;
|
||||
// typedef Reference reference;
|
||||
// typedef Category iterator_category;
|
||||
// };
|
||||
|
||||
#include <iterator>
|
||||
|
|
|
@ -9,13 +9,13 @@
|
|||
|
||||
// <iterator>
|
||||
|
||||
// template <InputIterator Iter>
|
||||
// template <InputIterator Iter>
|
||||
// void advance(Iter& i, Iter::difference_type n);
|
||||
//
|
||||
// template <BidirectionalIterator Iter>
|
||||
// void advance(Iter& i, Iter::difference_type n);
|
||||
//
|
||||
// template <RandomAccessIterator Iter>
|
||||
//
|
||||
// template <BidirectionalIterator Iter>
|
||||
// void advance(Iter& i, Iter::difference_type n);
|
||||
//
|
||||
// template <RandomAccessIterator Iter>
|
||||
// void advance(Iter& i, Iter::difference_type n);
|
||||
|
||||
#include <iterator>
|
||||
|
|
|
@ -9,11 +9,11 @@
|
|||
|
||||
// <iterator>
|
||||
|
||||
// template <InputIterator Iter>
|
||||
// Iter::difference_type
|
||||
// distance(Iter first, Iter last);
|
||||
//
|
||||
// template <RandomAccessIterator Iter>
|
||||
// template <InputIterator Iter>
|
||||
// Iter::difference_type
|
||||
// distance(Iter first, Iter last);
|
||||
//
|
||||
// template <RandomAccessIterator Iter>
|
||||
// Iter::difference_type
|
||||
// distance(Iter first, Iter last);
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
// <iterator>
|
||||
|
||||
// template <InputIterator Iter>
|
||||
// template <InputIterator Iter>
|
||||
// Iter next(Iter x, Iter::difference_type n = 1);
|
||||
|
||||
#include <iterator>
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
// <iterator>
|
||||
|
||||
// template <BidirectionalIterator Iter>
|
||||
// template <BidirectionalIterator Iter>
|
||||
// Iter prev(Iter x, Iter::difference_type n = 1);
|
||||
|
||||
#include <iterator>
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
// typedef const T& reference;
|
||||
// typedef random_access_iterator_tag iterator_category;
|
||||
// };
|
||||
|
||||
|
||||
#include <iterator>
|
||||
#include <type_traits>
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
// template<class NotAnIterator>
|
||||
// struct iterator_traits
|
||||
// {
|
||||
// {
|
||||
// };
|
||||
|
||||
#include <iterator>
|
||||
|
|
|
@ -11,12 +11,12 @@
|
|||
|
||||
// template<class Iter>
|
||||
// struct iterator_traits
|
||||
// {
|
||||
// typedef typename Iter::difference_type difference_type;
|
||||
// typedef typename Iter::value_type value_type;
|
||||
// typedef typename Iter::pointer pointer;
|
||||
// typedef typename Iter::reference reference;
|
||||
// typedef typename Iter::iterator_category iterator_category;
|
||||
// {
|
||||
// typedef typename Iter::difference_type difference_type;
|
||||
// typedef typename Iter::value_type value_type;
|
||||
// typedef typename Iter::pointer pointer;
|
||||
// typedef typename Iter::reference reference;
|
||||
// typedef typename Iter::iterator_category iterator_category;
|
||||
// };
|
||||
|
||||
#include <iterator>
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
// typedef T& reference;
|
||||
// typedef random_access_iterator_tag iterator_category;
|
||||
// };
|
||||
|
||||
|
||||
#include <iterator>
|
||||
#include <type_traits>
|
||||
|
||||
|
|
|
@ -248,4 +248,4 @@ operator-(const random_access_iterator<T>& x, const random_access_iterator<U>& y
|
|||
return x.base() - y.base();
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif // ITERATORS_H
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
// back_insert_iterator
|
||||
|
||||
// requires CopyConstructible<Cont::value_type>
|
||||
// back_insert_iterator<Cont>&
|
||||
// back_insert_iterator<Cont>&
|
||||
// operator=(const Cont::value_type& value);
|
||||
|
||||
#include <iterator>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
// back_insert_iterator
|
||||
|
||||
// requires CopyConstructible<Cont::value_type>
|
||||
// back_insert_iterator<Cont>&
|
||||
// back_insert_iterator<Cont>&
|
||||
// operator=(Cont::value_type&& value);
|
||||
|
||||
#include <iterator>
|
||||
|
@ -32,7 +32,7 @@ test(C c)
|
|||
assert(c.back() == typename C::value_type());
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif // _LIBCPP_MOVE
|
||||
|
||||
int main()
|
||||
{
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
// <iterator>
|
||||
|
||||
// template <BackInsertionContainer Cont>
|
||||
// template <BackInsertionContainer Cont>
|
||||
// back_insert_iterator<Cont>
|
||||
// back_inserter(Cont& x);
|
||||
|
||||
|
|
|
@ -13,16 +13,16 @@
|
|||
|
||||
// Test nested types and data member:
|
||||
|
||||
// template <BackInsertionContainer Cont>
|
||||
// class back_insert_iterator {
|
||||
// protected:
|
||||
// Cont* container;
|
||||
// public:
|
||||
// typedef Cont container_type;
|
||||
// typedef void value_type;
|
||||
// typedef void difference_type;
|
||||
// typedef back_insert_iterator<Cont>& reference;
|
||||
// typedef void pointer;
|
||||
// template <BackInsertionContainer Cont>
|
||||
// class back_insert_iterator {
|
||||
// protected:
|
||||
// Cont* container;
|
||||
// public:
|
||||
// typedef Cont container_type;
|
||||
// typedef void value_type;
|
||||
// typedef void difference_type;
|
||||
// typedef back_insert_iterator<Cont>& reference;
|
||||
// typedef void pointer;
|
||||
// };
|
||||
|
||||
#include <iterator>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
// front_insert_iterator
|
||||
|
||||
// front_insert_iterator<Cont>&
|
||||
// front_insert_iterator<Cont>&
|
||||
// operator=(const Cont::value_type& value);
|
||||
|
||||
#include <iterator>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
// front_insert_iterator
|
||||
|
||||
// front_insert_iterator<Cont>&
|
||||
// front_insert_iterator<Cont>&
|
||||
// operator=(Cont::value_type&& value);
|
||||
|
||||
#include <iterator>
|
||||
|
@ -31,7 +31,7 @@ test(C c)
|
|||
assert(c.front() == typename C::value_type());
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif // _LIBCPP_MOVE
|
||||
|
||||
int main()
|
||||
{
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
// <iterator>
|
||||
|
||||
// template <BackInsertionContainer Cont>
|
||||
// template <BackInsertionContainer Cont>
|
||||
// front_insert_iterator<Cont>
|
||||
// front_inserter(Cont& x);
|
||||
|
||||
|
|
|
@ -13,15 +13,15 @@
|
|||
|
||||
// Test nested types and data member:
|
||||
|
||||
// template <class Container>
|
||||
// class front_insert_iterator {
|
||||
// protected:
|
||||
// Container* container;
|
||||
// public:
|
||||
// typedef Container container_type;
|
||||
// typedef void value_type;
|
||||
// typedef void difference_type;
|
||||
// typedef front_insert_iterator<Cont>& reference;
|
||||
// template <class Container>
|
||||
// class front_insert_iterator {
|
||||
// protected:
|
||||
// Container* container;
|
||||
// public:
|
||||
// typedef Container container_type;
|
||||
// typedef void value_type;
|
||||
// typedef void difference_type;
|
||||
// typedef front_insert_iterator<Cont>& reference;
|
||||
// typedef void pointer;
|
||||
// typedef output_iterator_tag iterator_category;
|
||||
// };
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
// insert_iterator
|
||||
|
||||
// requires CopyConstructible<Cont::value_type>
|
||||
// insert_iterator<Cont>&
|
||||
// requires CopyConstructible<Cont::value_type>
|
||||
// insert_iterator<Cont>&
|
||||
// operator=(const Cont::value_type& value);
|
||||
|
||||
#include <iterator>
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
// insert_iterator
|
||||
|
||||
// requires CopyConstructible<Cont::value_type>
|
||||
// insert_iterator<Cont>&
|
||||
// requires CopyConstructible<Cont::value_type>
|
||||
// insert_iterator<Cont>&
|
||||
// operator=(const Cont::value_type& value);
|
||||
|
||||
#include <iterator>
|
||||
|
@ -51,7 +51,7 @@ struct do_nothing
|
|||
void operator()(void*) const {}
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif // _LIBCPP_MOVE
|
||||
|
||||
int main()
|
||||
{
|
||||
|
@ -91,5 +91,5 @@ int main()
|
|||
c2.push_back(Ptr(x+i));
|
||||
insert3at(c2, c2.begin()+3, Ptr(x+3), Ptr(x+4), Ptr(x+5));
|
||||
test(std::move(c1), 3, Ptr(x+3), Ptr(x+4), Ptr(x+5), c2);
|
||||
#endif
|
||||
#endif // _LIBCPP_MOVE
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
// <iterator>
|
||||
|
||||
// template <InsertionContainer Cont>
|
||||
// template <InsertionContainer Cont>
|
||||
// insert_iterator<Cont>
|
||||
// inserter(Cont& x, Cont::iterator i);
|
||||
|
||||
|
|
|
@ -13,17 +13,17 @@
|
|||
|
||||
// Test nested types and data members:
|
||||
|
||||
// template <InsertionContainer Cont>
|
||||
// class insert_iterator {
|
||||
// protected:
|
||||
// Cont* container;
|
||||
// Cont::iterator iter;
|
||||
// public:
|
||||
// typedef Cont container_type;
|
||||
// typedef void value_type;
|
||||
// typedef void difference_type;
|
||||
// typedef insert_iterator<Cont>& reference;
|
||||
// typedef void pointer;
|
||||
// template <InsertionContainer Cont>
|
||||
// class insert_iterator {
|
||||
// protected:
|
||||
// Cont* container;
|
||||
// Cont::iterator iter;
|
||||
// public:
|
||||
// typedef Cont container_type;
|
||||
// typedef void value_type;
|
||||
// typedef void difference_type;
|
||||
// typedef insert_iterator<Cont>& reference;
|
||||
// typedef void pointer;
|
||||
// };
|
||||
|
||||
#include <iterator>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
// move_iterator
|
||||
|
||||
// template <InputIterator Iter>
|
||||
// template <InputIterator Iter>
|
||||
// move_iterator<Iter>
|
||||
// make_move_iterator(const Iter& i);
|
||||
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
// move_iterator
|
||||
|
||||
// template <RandomAccessIterator Iter1, RandomAccessIterator Iter2>
|
||||
// requires HasMinus<Iter1, Iter2>
|
||||
// template <RandomAccessIterator Iter1, RandomAccessIterator Iter2>
|
||||
// requires HasMinus<Iter1, Iter2>
|
||||
// auto
|
||||
// operator-(const move_iterator<Iter1>& x, const move_iterator<Iter2>& y)
|
||||
// -> decltype(x.base() - y.base());
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
// move_iterator
|
||||
|
||||
// template <RandomAccessIterator Iter>
|
||||
// template <RandomAccessIterator Iter>
|
||||
// move_iterator<Iter>
|
||||
// operator+(Iter::difference_type n, const move_iterator<Iter>& x);
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
// move_iterator
|
||||
|
||||
// requires RandomAccessIterator<Iter>
|
||||
// requires RandomAccessIterator<Iter>
|
||||
// move_iterator operator+(difference_type n) const;
|
||||
|
||||
#include <iterator>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
// move_iterator
|
||||
|
||||
// requires RandomAccessIterator<Iter>
|
||||
// requires RandomAccessIterator<Iter>
|
||||
// move_iterator& operator+=(difference_type n);
|
||||
|
||||
#include <iterator>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
// move_iterator
|
||||
|
||||
// requires RandomAccessIterator<Iter>
|
||||
// requires RandomAccessIterator<Iter>
|
||||
// move_iterator operator-(difference_type n) const;
|
||||
|
||||
#include <iterator>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
// move_iterator
|
||||
|
||||
// requires RandomAccessIterator<Iter>
|
||||
// requires RandomAccessIterator<Iter>
|
||||
// move_iterator& operator-=(difference_type n);
|
||||
|
||||
#include <iterator>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
// move_iterator
|
||||
|
||||
// template <InputIterator Iter1, InputIterator Iter2>
|
||||
// requires HasEqualTo<Iter1, Iter2>
|
||||
// requires HasEqualTo<Iter1, Iter2>
|
||||
// bool
|
||||
// operator==(const move_iterator<Iter1>& x, const move_iterator<Iter2>& y);
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
// move_iterator
|
||||
|
||||
// template <InputIterator Iter1, InputIterator Iter2>
|
||||
// requires HasEqualTo<Iter1, Iter2>
|
||||
// requires HasEqualTo<Iter1, Iter2>
|
||||
// bool
|
||||
// operator!=(const move_iterator<Iter1>& x, const move_iterator<Iter2>& y);
|
||||
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
// move_iterator
|
||||
|
||||
// template <class U>
|
||||
// requires HasConstructor<Iter, const U&>
|
||||
// template <class U>
|
||||
// requires HasConstructor<Iter, const U&>
|
||||
// move_iterator(const move_iterator<U> &u);
|
||||
|
||||
// test requires
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
// move_iterator
|
||||
|
||||
// template <class U>
|
||||
// requires HasConstructor<Iter, const U&>
|
||||
// template <class U>
|
||||
// requires HasConstructor<Iter, const U&>
|
||||
// move_iterator(const move_iterator<U> &u);
|
||||
|
||||
#include <iterator>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
// move_iterator
|
||||
|
||||
// requires RandomAccessIterator<Iter>
|
||||
// requires RandomAccessIterator<Iter>
|
||||
// unspecified operator[](difference_type n) const;
|
||||
|
||||
#include <iterator>
|
||||
|
@ -40,7 +40,7 @@ struct do_nothing
|
|||
void operator()(void*) const {}
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif // _LIBCPP_MOVE
|
||||
|
||||
int main()
|
||||
{
|
||||
|
@ -54,5 +54,5 @@ int main()
|
|||
for (unsigned j = 0; j < 5; ++j)
|
||||
p[j].reset(i+j);
|
||||
test(p, 3, Ptr(i+3));
|
||||
#endif
|
||||
#endif // _LIBCPP_MOVE
|
||||
}
|
||||
|
|
|
@ -47,7 +47,7 @@ struct do_nothing
|
|||
void operator()(void*) const {}
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif // _LIBCPP_MOVE
|
||||
|
||||
int main()
|
||||
{
|
||||
|
@ -57,5 +57,5 @@ int main()
|
|||
int i;
|
||||
std::unique_ptr<int, do_nothing> p(&i);
|
||||
test(&p, std::unique_ptr<int, do_nothing>(&i));
|
||||
#endif
|
||||
#endif // _LIBCPP_MOVE
|
||||
}
|
||||
|
|
|
@ -11,9 +11,9 @@
|
|||
|
||||
// move_iterator
|
||||
|
||||
// template <class U>
|
||||
// requires HasAssign<Iter, const U&>
|
||||
// move_iterator&
|
||||
// template <class U>
|
||||
// requires HasAssign<Iter, const U&>
|
||||
// move_iterator&
|
||||
// operator=(const move_iterator<U>& u);
|
||||
|
||||
// test requires
|
||||
|
|
|
@ -11,9 +11,9 @@
|
|||
|
||||
// move_iterator
|
||||
|
||||
// template <class U>
|
||||
// requires HasAssign<Iter, const U&>
|
||||
// move_iterator&
|
||||
// template <class U>
|
||||
// requires HasAssign<Iter, const U&>
|
||||
// move_iterator&
|
||||
// operator=(const move_iterator<U>& u);
|
||||
|
||||
#include <iterator>
|
||||
|
|
|
@ -13,14 +13,14 @@
|
|||
|
||||
// Test nested types:
|
||||
|
||||
// template <InputIterator Iter>
|
||||
// class move_iterator {
|
||||
// public:
|
||||
// typedef Iter iterator_type;
|
||||
// typedef Iter::difference_type difference_type;
|
||||
// typedef Iterator pointer;
|
||||
// typedef Iter::value_type value_type;
|
||||
// typedef value_type&& reference;
|
||||
// template <InputIterator Iter>
|
||||
// class move_iterator {
|
||||
// public:
|
||||
// typedef Iter iterator_type;
|
||||
// typedef Iter::difference_type difference_type;
|
||||
// typedef Iterator pointer;
|
||||
// typedef Iter::value_type value_type;
|
||||
// typedef value_type&& reference;
|
||||
// };
|
||||
|
||||
#include <iterator>
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
// reverse_iterator
|
||||
|
||||
// template <class U>
|
||||
// requires HasConstructor<Iter, const U&>
|
||||
// template <class U>
|
||||
// requires HasConstructor<Iter, const U&>
|
||||
// reverse_iterator(const reverse_iterator<U> &u);
|
||||
|
||||
// test requires
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
// reverse_iterator
|
||||
|
||||
// template <class U>
|
||||
// requires HasConstructor<Iter, const U&>
|
||||
// template <class U>
|
||||
// requires HasConstructor<Iter, const U&>
|
||||
// reverse_iterator(const reverse_iterator<U> &u);
|
||||
|
||||
#include <iterator>
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
// reverse_iterator
|
||||
|
||||
// template <BidirectionalIterator Iter1, BidirectionalIterator Iter2>
|
||||
// requires HasEqualTo<Iter1, Iter2>
|
||||
// template <BidirectionalIterator Iter1, BidirectionalIterator Iter2>
|
||||
// requires HasEqualTo<Iter1, Iter2>
|
||||
// bool
|
||||
// operator!=(const reverse_iterator<Iter1>& x, const reverse_iterator<Iter2>& y);
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
// reverse_iterator
|
||||
|
||||
// requires RandomAccessIterator<Iter>
|
||||
// requires RandomAccessIterator<Iter>
|
||||
// reverse_iterator operator+(difference_type n) const;
|
||||
|
||||
#include <iterator>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
// reverse_iterator
|
||||
|
||||
// requires RandomAccessIterator<Iter>
|
||||
// requires RandomAccessIterator<Iter>
|
||||
// reverse_iterator& operator+=(difference_type n);
|
||||
|
||||
#include <iterator>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
// reverse_iterator
|
||||
|
||||
// requires RandomAccessIterator<Iter>
|
||||
// requires RandomAccessIterator<Iter>
|
||||
// reverse_iterator operator-(difference_type n) const;
|
||||
|
||||
#include <iterator>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
// reverse_iterator
|
||||
|
||||
// requires RandomAccessIterator<Iter>
|
||||
// requires RandomAccessIterator<Iter>
|
||||
// reverse_iterator& operator-=(difference_type n);
|
||||
|
||||
#include <iterator>
|
||||
|
|
|
@ -11,9 +11,9 @@
|
|||
|
||||
// reverse_iterator
|
||||
|
||||
// template <class U>
|
||||
// requires HasAssign<Iter, const U&>
|
||||
// reverse_iterator&
|
||||
// template <class U>
|
||||
// requires HasAssign<Iter, const U&>
|
||||
// reverse_iterator&
|
||||
// operator=(const reverse_iterator<U>& u);
|
||||
|
||||
// test requires
|
||||
|
|
|
@ -11,9 +11,9 @@
|
|||
|
||||
// reverse_iterator
|
||||
|
||||
// template <class U>
|
||||
// requires HasAssign<Iter, const U&>
|
||||
// reverse_iterator&
|
||||
// template <class U>
|
||||
// requires HasAssign<Iter, const U&>
|
||||
// reverse_iterator&
|
||||
// operator=(const reverse_iterator<U>& u);
|
||||
|
||||
#include <iterator>
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
// reverse_iterator
|
||||
|
||||
// template <BidirectionalIterator Iter1, BidirectionalIterator Iter2>
|
||||
// requires HasEqualTo<Iter1, Iter2>
|
||||
// template <BidirectionalIterator Iter1, BidirectionalIterator Iter2>
|
||||
// requires HasEqualTo<Iter1, Iter2>
|
||||
// bool
|
||||
// operator==(const reverse_iterator<Iter1>& x, const reverse_iterator<Iter2>& y);
|
||||
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
// reverse_iterator
|
||||
|
||||
// template <RandomAccessIterator Iter1, RandomAccessIterator Iter2>
|
||||
// requires HasMinus<Iter2, Iter1>
|
||||
// template <RandomAccessIterator Iter1, RandomAccessIterator Iter2>
|
||||
// requires HasMinus<Iter2, Iter1>
|
||||
// auto operator-(const reverse_iterator<Iter1>& x, const reverse_iterator<Iter2>& y)
|
||||
// -> decltype(y.base() - x.base());
|
||||
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
// reverse_iterator
|
||||
|
||||
// template <RandomAccessIterator Iter1, RandomAccessIterator Iter2>
|
||||
// requires HasGreater<Iter1, Iter2>
|
||||
// template <RandomAccessIterator Iter1, RandomAccessIterator Iter2>
|
||||
// requires HasGreater<Iter1, Iter2>
|
||||
// bool
|
||||
// operator>(const reverse_iterator<Iter1>& x, const reverse_iterator<Iter2>& y);
|
||||
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
// reverse_iterator
|
||||
|
||||
// template <RandomAccessIterator Iter1, RandomAccessIterator Iter2>
|
||||
// requires HasGreater<Iter1, Iter2>
|
||||
// template <RandomAccessIterator Iter1, RandomAccessIterator Iter2>
|
||||
// requires HasGreater<Iter1, Iter2>
|
||||
// bool
|
||||
// operator>=(const reverse_iterator<Iter1>& x, const reverse_iterator<Iter2>& y);
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
// reverse_iterator
|
||||
|
||||
// requires RandomAccessIterator<Iter>
|
||||
// requires RandomAccessIterator<Iter>
|
||||
// unspecified operator[](difference_type n) const;
|
||||
|
||||
#include <iterator>
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
// reverse_iterator
|
||||
|
||||
// template <RandomAccessIterator Iter1, RandomAccessIterator Iter2>
|
||||
// requires HasGreater<Iter1, Iter2>
|
||||
// template <RandomAccessIterator Iter1, RandomAccessIterator Iter2>
|
||||
// requires HasGreater<Iter1, Iter2>
|
||||
// bool
|
||||
// operator<(const reverse_iterator<Iter1>& x, const reverse_iterator<Iter2>& y);
|
||||
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
// reverse_iterator
|
||||
|
||||
// template <RandomAccessIterator Iter1, RandomAccessIterator Iter2>
|
||||
// requires HasGreater<Iter1, Iter2>
|
||||
// template <RandomAccessIterator Iter1, RandomAccessIterator Iter2>
|
||||
// requires HasGreater<Iter1, Iter2>
|
||||
// bool
|
||||
// operator<=(const reverse_iterator<Iter1>& x, const reverse_iterator<Iter2>& y);
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
// reverse_iterator
|
||||
|
||||
// template <RandomAccessIterator Iterator>
|
||||
// template <RandomAccessIterator Iterator>
|
||||
// reverse_iterator<Iter>
|
||||
// operator+(Iter::difference_type n, const reverse_iterator<Iter>& x);
|
||||
|
||||
|
|
|
@ -13,11 +13,11 @@
|
|||
|
||||
// Test nested types and data member:
|
||||
|
||||
// template <BidirectionalIterator Iter>
|
||||
// class reverse_iterator {
|
||||
// protected:
|
||||
// Iter current;
|
||||
// public:
|
||||
// template <BidirectionalIterator Iter>
|
||||
// class reverse_iterator {
|
||||
// protected:
|
||||
// Iter current;
|
||||
// public:
|
||||
// iterator<typename iterator_traits<Iterator>::iterator_category,
|
||||
// typename iterator_traits<Iterator>::value_type,
|
||||
// typename iterator_traits<Iterator>::difference_type,
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
// template <class T, class charT, class traits, class Distance>
|
||||
// bool operator==(const istream_iterator<T,charT,traits,Distance> &x,
|
||||
// const istream_iterator<T,charT,traits,Distance> &y);
|
||||
//
|
||||
//
|
||||
// template <class T, class charT, class traits, class Distance>
|
||||
// bool operator!=(const istream_iterator<T,charT,traits,Distance> &x,
|
||||
// const istream_iterator<T,charT,traits,Distance> &y);
|
||||
|
|
|
@ -13,9 +13,9 @@
|
|||
|
||||
// pointer operator->() const;
|
||||
|
||||
#include <iostream>
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
#include <streambuf>
|
||||
#include <streambuf>
|
||||
|
||||
typedef char C;
|
||||
int main ()
|
||||
|
|
Loading…
Reference in New Issue