libcxx initial import

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@103490 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Howard Hinnant
2010-05-11 19:42:16 +00:00
commit bc8d3f97eb
3893 changed files with 1209942 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
//===----------------------------------------------------------------------===//
//
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <iterator>
// reverse_iterator
// template <RandomAccessIterator Iterator>
// reverse_iterator<Iter>
// operator+(Iter::difference_type n, const reverse_iterator<Iter>& x);
#include <iterator>
#include <cassert>
#include "../../../../iterators.h"
template <class It>
void
test(It i, typename std::iterator_traits<It>::difference_type n, It x)
{
const std::reverse_iterator<It> r(i);
std::reverse_iterator<It> rr = n + r;
assert(rr.base() == x);
}
int main()
{
const char* s = "1234567890";
test(random_access_iterator<const char*>(s+5), 5, random_access_iterator<const char*>(s));
test(s+5, 5, s);
}