Add tests to ensure that string/vector/array have contiguous iterators - which they did. Mark N4284 as complete

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@238233 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Marshall Clow
2015-05-26 18:57:27 +00:00
parent ecec10efd9
commit b5b66923e3
4 changed files with 125 additions and 1 deletions

View File

@@ -0,0 +1,31 @@
//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <array>
// An array is a contiguous container
#include <array>
#include <cassert>
template <class C>
void test_contiguous ( const C &c )
{
for ( size_t i = 0; i < c.size(); ++i )
assert ( *(c.begin() + i) == *(std::addressof(*c.begin()) + i));
}
int main()
{
{
typedef double T;
typedef std::array<T, 3> C;
test_contiguous (C());
}
}