diff --git a/include/dynarray b/include/experimental/dynarray similarity index 97% rename from include/dynarray rename to include/experimental/dynarray index b0d04f91..7c5c9b3f 100644 --- a/include/dynarray +++ b/include/experimental/dynarray @@ -17,7 +17,7 @@ /* dynarray synopsis -namespace std { +namespace std { namespace experimental { template< typename T > class dynarray @@ -93,7 +93,7 @@ public: void fill(const T& v); }; -} // std +}} // std::experimental */ @@ -112,7 +112,7 @@ public: #pragma GCC system_header #endif -_LIBCPP_BEGIN_NAMESPACE_STD +namespace std { namespace experimental { inline namespace __array_extensions_v1 { template struct _LIBCPP_TYPE_VIS_ONLY dynarray @@ -302,9 +302,12 @@ dynarray<_Tp>::at(size_type __n) const return data()[__n]; } -template -struct _LIBCPP_TYPE_VIS_ONLY uses_allocator, _Alloc> : true_type {}; +}}} + +_LIBCPP_BEGIN_NAMESPACE_STD +template +struct _LIBCPP_TYPE_VIS_ONLY uses_allocator, _Alloc> : true_type {}; _LIBCPP_END_NAMESPACE_STD #endif // if _LIBCPP_STD_VER > 11 diff --git a/test/containers/sequences/dynarray/dynarray.cons/alloc.pass.cpp b/test/containers/sequences/dynarray/dynarray.cons/alloc.pass.cpp index cf8843d3..d9cedc48 100644 --- a/test/containers/sequences/dynarray/dynarray.cons/alloc.pass.cpp +++ b/test/containers/sequences/dynarray/dynarray.cons/alloc.pass.cpp @@ -25,7 +25,7 @@ #if _LIBCPP_STD_VER > 11 -#include +#include #include #include @@ -33,15 +33,17 @@ #include #include "../../../test_allocator.h" +using std::experimental::dynarray; + template -void check_allocator ( const std::dynarray &dyn, const Allocator &alloc ) { +void check_allocator ( const dynarray &dyn, const Allocator &alloc ) { for ( int i = 0; i < dyn.size (); ++i ) assert ( dyn[i].get_allocator() == alloc ); } template void test ( const std::initializer_list &vals, const Allocator &alloc ) { - typedef std::dynarray dynA; + typedef dynarray dynA; dynA d1 ( vals, alloc ); assert ( d1.size () == vals.size() ); @@ -52,7 +54,7 @@ void test ( const std::initializer_list &vals, const Allocator &alloc ) { template void test ( const T &val, const Allocator &alloc1, const Allocator &alloc2 ) { - typedef std::dynarray dynA; + typedef dynarray dynA; dynA d1 ( 4, alloc1 ); assert ( d1.size () == 4 ); diff --git a/test/containers/sequences/dynarray/dynarray.cons/default.pass.cpp b/test/containers/sequences/dynarray/dynarray.cons/default.pass.cpp index db93f212..0effac2f 100644 --- a/test/containers/sequences/dynarray/dynarray.cons/default.pass.cpp +++ b/test/containers/sequences/dynarray/dynarray.cons/default.pass.cpp @@ -21,16 +21,18 @@ #if _LIBCPP_STD_VER > 11 -#include +#include #include #include #include #include +using std::experimental::dynarray; + template void test ( const std::initializer_list &vals ) { - typedef std::dynarray dynA; + typedef dynarray dynA; dynA d1 ( vals ); assert ( d1.size () == vals.size() ); @@ -40,7 +42,7 @@ void test ( const std::initializer_list &vals ) { template void test ( const T &val ) { - typedef std::dynarray dynA; + typedef dynarray dynA; dynA d1 ( 4 ); assert ( d1.size () == 4 ); @@ -56,13 +58,13 @@ void test ( const T &val ) { } void test_bad_length () { - try { std::dynarray ( std::numeric_limits::max() / sizeof ( int ) + 1 ); } + try { dynarray ( std::numeric_limits::max() / sizeof ( int ) + 1 ); } catch ( std::bad_array_length & ) { return ; } assert ( false ); } void test_bad_alloc () { - try { std::dynarray ( std::numeric_limits::max() / sizeof ( int ) - 1 ); } + try { dynarray ( std::numeric_limits::max() / sizeof ( int ) - 1 ); } catch ( std::bad_alloc & ) { return ; } assert ( false ); } @@ -81,7 +83,7 @@ int main() std::string("5"), std::string("8")} ); // Make sure we don't pick up the Allocator version here - std::dynarray d1 ( 20, 3 ); + dynarray d1 ( 20, 3 ); assert ( d1.size() == 20 ); assert ( std::all_of ( d1.begin (), d1.end (), []( long item ){ return item == 3L; } )); diff --git a/test/containers/sequences/dynarray/dynarray.data/default.pass.cpp b/test/containers/sequences/dynarray/dynarray.data/default.pass.cpp index 66c0fc56..b669f259 100644 --- a/test/containers/sequences/dynarray/dynarray.data/default.pass.cpp +++ b/test/containers/sequences/dynarray/dynarray.data/default.pass.cpp @@ -17,23 +17,24 @@ #if _LIBCPP_STD_VER > 11 -#include +#include #include #include #include #include +using std::experimental::dynarray; template -void dyn_test_const ( const std::dynarray &dyn ) { +void dyn_test_const ( const dynarray &dyn ) { const T *data = dyn.data (); assert ( data != NULL ); assert ( std::equal ( dyn.begin(), dyn.end(), data )); } template -void dyn_test ( std::dynarray &dyn ) { +void dyn_test ( dynarray &dyn ) { T *data = dyn.data (); assert ( data != NULL ); assert ( std::equal ( dyn.begin(), dyn.end(), data )); @@ -43,7 +44,7 @@ void dyn_test ( std::dynarray &dyn ) { template void test ( const T &val ) { - typedef std::dynarray dynA; + typedef dynarray dynA; dynA d1 ( 4 ); dyn_test ( d1 ); diff --git a/test/containers/sequences/dynarray/dynarray.mutate/default.pass.cpp b/test/containers/sequences/dynarray/dynarray.mutate/default.pass.cpp index 57773414..c57887dd 100644 --- a/test/containers/sequences/dynarray/dynarray.mutate/default.pass.cpp +++ b/test/containers/sequences/dynarray/dynarray.mutate/default.pass.cpp @@ -17,17 +17,18 @@ #if _LIBCPP_STD_VER > 11 -#include +#include #include #include #include #include +using std::experimental::dynarray; template void test ( const T &val ) { - typedef std::dynarray dynA; + typedef dynarray dynA; dynA d1 ( 4 ); d1.fill ( val ); diff --git a/test/containers/sequences/dynarray/dynarray.overview/at.pass.cpp b/test/containers/sequences/dynarray/dynarray.overview/at.pass.cpp index dca4ff80..4d77cf73 100644 --- a/test/containers/sequences/dynarray/dynarray.overview/at.pass.cpp +++ b/test/containers/sequences/dynarray/dynarray.overview/at.pass.cpp @@ -16,22 +16,24 @@ #if _LIBCPP_STD_VER > 11 -#include +#include #include #include #include #include +using std::experimental::dynarray; + template -void dyn_at_fail ( std::dynarray &dyn, size_t sz ) { +void dyn_at_fail ( dynarray &dyn, size_t sz ) { try { dyn.at (sz); } catch (const std::out_of_range &) { return; } assert ( false ); } template -void dyn_at_fail_const ( const std::dynarray &dyn, size_t sz ) { +void dyn_at_fail_const ( const dynarray &dyn, size_t sz ) { try { dyn.at (sz); } catch (const std::out_of_range &) { return; } assert ( false ); @@ -39,7 +41,7 @@ void dyn_at_fail_const ( const std::dynarray &dyn, size_t sz ) { template -void dyn_test_const ( const std::dynarray &dyn, const std::initializer_list &vals ) { +void dyn_test_const ( const dynarray &dyn, const std::initializer_list &vals ) { const T *data = dyn.data (); auto it = vals.begin (); for ( size_t i = 0; i < dyn.size(); ++i, ++it ) { @@ -53,7 +55,7 @@ void dyn_test_const ( const std::dynarray &dyn, const std::initializer_list -void dyn_test ( std::dynarray &dyn, const std::initializer_list &vals ) { +void dyn_test ( dynarray &dyn, const std::initializer_list &vals ) { T *data = dyn.data (); auto it = vals.begin (); for ( size_t i = 0; i < dyn.size(); ++i, ++it ) { @@ -69,7 +71,7 @@ void dyn_test ( std::dynarray &dyn, const std::initializer_list &vals ) { template void test ( std::initializer_list vals ) { - typedef std::dynarray dynA; + typedef dynarray dynA; dynA d1 ( vals ); dyn_test ( d1, vals ); diff --git a/test/containers/sequences/dynarray/dynarray.overview/begin_end.pass.cpp b/test/containers/sequences/dynarray/dynarray.overview/begin_end.pass.cpp index 6bca0417..695e1aa9 100644 --- a/test/containers/sequences/dynarray/dynarray.overview/begin_end.pass.cpp +++ b/test/containers/sequences/dynarray/dynarray.overview/begin_end.pass.cpp @@ -29,15 +29,17 @@ #if _LIBCPP_STD_VER > 11 -#include +#include #include #include #include #include +using std::experimental::dynarray; + template -void dyn_test_const ( const std::dynarray &dyn ) { +void dyn_test_const ( const dynarray &dyn ) { const T *data = dyn.data (); assert ( data == &*dyn.begin ()); assert ( data == &*dyn.cbegin ()); @@ -59,7 +61,7 @@ void dyn_test_const ( const std::dynarray &dyn ) { } template -void dyn_test ( std::dynarray &dyn ) { +void dyn_test ( dynarray &dyn ) { T *data = dyn.data (); assert ( data == &*dyn.begin ()); assert ( data == &*dyn.cbegin ()); @@ -83,7 +85,7 @@ void dyn_test ( std::dynarray &dyn ) { template void test ( const T &val ) { - typedef std::dynarray dynA; + typedef dynarray dynA; dynA d1 ( 4 ); dyn_test ( d1 ); diff --git a/test/containers/sequences/dynarray/dynarray.overview/capacity.pass.cpp b/test/containers/sequences/dynarray/dynarray.overview/capacity.pass.cpp index acea76b8..6d28eef1 100644 --- a/test/containers/sequences/dynarray/dynarray.overview/capacity.pass.cpp +++ b/test/containers/sequences/dynarray/dynarray.overview/capacity.pass.cpp @@ -17,15 +17,17 @@ #if _LIBCPP_STD_VER > 11 -#include +#include #include #include #include #include +using std::experimental::dynarray; + template -void dyn_test ( const std::dynarray &dyn, size_t sz ) { +void dyn_test ( const dynarray &dyn, size_t sz ) { assert ( dyn.size () == sz ); assert ( dyn.max_size () == sz ); assert ( dyn.empty () == ( sz == 0 )); @@ -33,7 +35,7 @@ void dyn_test ( const std::dynarray &dyn, size_t sz ) { template void test ( std::initializer_list vals ) { - typedef std::dynarray dynA; + typedef dynarray dynA; dynA d1 ( vals ); dyn_test ( d1, vals.size ()); diff --git a/test/containers/sequences/dynarray/dynarray.overview/front_back.pass.cpp b/test/containers/sequences/dynarray/dynarray.overview/front_back.pass.cpp index 5cf3d20d..e82aa64b 100644 --- a/test/containers/sequences/dynarray/dynarray.overview/front_back.pass.cpp +++ b/test/containers/sequences/dynarray/dynarray.overview/front_back.pass.cpp @@ -19,22 +19,24 @@ #if _LIBCPP_STD_VER > 11 -#include +#include #include #include #include #include +using std::experimental::dynarray; + template -void dyn_test_const ( const std::dynarray &dyn ) { +void dyn_test_const ( const dynarray &dyn ) { const T *data = dyn.data (); assert ( *data == dyn.front ()); assert ( *(data + dyn.size() - 1 ) == dyn.back ()); } template -void dyn_test ( std::dynarray &dyn ) { +void dyn_test ( dynarray &dyn ) { T *data = dyn.data (); assert ( *data == dyn.front ()); assert ( *(data + dyn.size() - 1 ) == dyn.back ()); @@ -43,7 +45,7 @@ void dyn_test ( std::dynarray &dyn ) { template void test ( const T &val ) { - typedef std::dynarray dynA; + typedef dynarray dynA; dynA d1 ( 4 ); dyn_test ( d1 ); diff --git a/test/containers/sequences/dynarray/dynarray.overview/indexing.pass.cpp b/test/containers/sequences/dynarray/dynarray.overview/indexing.pass.cpp index a396fbcd..7317a202 100644 --- a/test/containers/sequences/dynarray/dynarray.overview/indexing.pass.cpp +++ b/test/containers/sequences/dynarray/dynarray.overview/indexing.pass.cpp @@ -16,15 +16,17 @@ #if _LIBCPP_STD_VER > 11 -#include +#include #include #include #include #include +using std::experimental::dynarray; + template -void dyn_test_const ( const std::dynarray &dyn, const std::initializer_list &vals ) { +void dyn_test_const ( const dynarray &dyn, const std::initializer_list &vals ) { const T *data = dyn.data (); auto it = vals.begin (); for ( size_t i = 0; i < dyn.size(); ++i, ++it ) { @@ -34,7 +36,7 @@ void dyn_test_const ( const std::dynarray &dyn, const std::initializer_list -void dyn_test ( std::dynarray &dyn, const std::initializer_list &vals ) { +void dyn_test ( dynarray &dyn, const std::initializer_list &vals ) { T *data = dyn.data (); auto it = vals.begin (); for ( size_t i = 0; i < dyn.size(); ++i, ++it ) { @@ -46,7 +48,7 @@ void dyn_test ( std::dynarray &dyn, const std::initializer_list &vals ) { template void test ( std::initializer_list vals ) { - typedef std::dynarray dynA; + typedef dynarray dynA; dynA d1 ( vals ); dyn_test ( d1, vals ); diff --git a/test/containers/sequences/dynarray/dynarray.traits/default.pass.cpp b/test/containers/sequences/dynarray/dynarray.traits/default.pass.cpp index baf551ee..f0cd7843 100644 --- a/test/containers/sequences/dynarray/dynarray.traits/default.pass.cpp +++ b/test/containers/sequences/dynarray/dynarray.traits/default.pass.cpp @@ -17,12 +17,14 @@ #if _LIBCPP_STD_VER > 11 -#include +#include #include "../../../test_allocator.h" +using std::experimental::dynarray; + int main() { - static_assert ( std::uses_allocator, test_allocator>::value, "" ); + static_assert ( std::uses_allocator, test_allocator>::value, "" ); } #else int main() {} diff --git a/test/containers/sequences/dynarray/dynarray.zero/default.pass.cpp b/test/containers/sequences/dynarray/dynarray.zero/default.pass.cpp index 1d94d487..93f3b18f 100644 --- a/test/containers/sequences/dynarray/dynarray.zero/default.pass.cpp +++ b/test/containers/sequences/dynarray/dynarray.zero/default.pass.cpp @@ -20,17 +20,18 @@ #if _LIBCPP_STD_VER > 11 -#include +#include #include #include #include #include +using std::experimental::dynarray; template void test ( ) { - typedef std::dynarray dynA; + typedef dynarray dynA; dynA d1 ( 0 ); assert ( d1.size() == 0 );