diff options
author | ed <ed@FreeBSD.org> | 2009-07-04 13:58:54 +0000 |
---|---|---|
committer | ed <ed@FreeBSD.org> | 2009-07-04 13:58:54 +0000 |
commit | 4981926bf654fe5a2c3893f24ca44106b217e71e (patch) | |
tree | 8ddfe382e1c6d590dc240e76f7cd45cea5c78e24 /test | |
parent | c1ff020ff2d3e7ba86f7ab986ac7569c34f2ab1a (diff) | |
download | FreeBSD-src-4981926bf654fe5a2c3893f24ca44106b217e71e.zip FreeBSD-src-4981926bf654fe5a2c3893f24ca44106b217e71e.tar.gz |
Import Clang r74788.
Diffstat (limited to 'test')
30 files changed, 1442 insertions, 1054 deletions
diff --git a/test/Analysis/array-struct.c b/test/Analysis/array-struct.c index 438e1cc..da7df4b 100644 --- a/test/Analysis/array-struct.c +++ b/test/Analysis/array-struct.c @@ -2,8 +2,8 @@ // RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify %s // RegionStore now has an infinite recursion with this test case. -// NOWORK: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s && -// NOWORK: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify %s +// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s && +// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify %s struct s { int data; @@ -157,3 +157,26 @@ struct s3 p[1]; void f16(struct s3 *p) { struct s3 a = *((struct s3*) ((char*) &p[0])); } + +void inv(struct s1 *); + +// Invalidate the struct field. +void f17() { + struct s1 t; + int x; + inv(&t); + if (t.e.d) + x = 1; +} + +void read(char*); + +void f18() { + char *q; + char *p = (char *) __builtin_alloca(10); + read(p); + q = p; + q++; + if (*q) { // no-warning + } +} diff --git a/test/Analysis/concrete-address.c b/test/Analysis/concrete-address.c new file mode 100644 index 0000000..84ebb21 --- /dev/null +++ b/test/Analysis/concrete-address.c @@ -0,0 +1,7 @@ +// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic --verify %s && +// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region --verify %s + +void foo() { + int *p = (int*) 0x10000; // Should not crash here. + *p = 3; +} diff --git a/test/Analysis/misc-ps.m b/test/Analysis/misc-ps.m index 205bac2..ea41b5b 100644 --- a/test/Analysis/misc-ps.m +++ b/test/Analysis/misc-ps.m @@ -1,8 +1,7 @@ // RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic -analyzer-constraints=basic --verify -fblocks %s && -// RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic -analyzer-constraints=range --verify -fblocks %s - -// NOWORK: clang-cc -analyze -checker-cfref --analyzer-store=region -analyzer-constraints=basic --verify -fblocks %s && -// NOWORK: clang-cc -analyze -checker-cfref --analyzer-store=region -analyzer-constraints=range --verify -fblocks %s +// RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic -analyzer-constraints=range --verify -fblocks %s && +// RUN: clang-cc -analyze -checker-cfref --analyzer-store=region -analyzer-constraints=basic --verify -fblocks %s && +// RUN: clang-cc -analyze -checker-cfref --analyzer-store=region -analyzer-constraints=range --verify -fblocks %s typedef struct objc_selector *SEL; typedef signed char BOOL; @@ -285,3 +284,15 @@ int test_invalidate_by_ref() { return 0; } +// Test for <rdar://problem/7027684>. This just tests that the CFG is +// constructed correctly. Previously, the successor block of the entrance +// was the block containing the merge for '?', which would trigger an +// assertion failure. +int rdar_7027684_aux(); +int rdar_7027684_aux_2() __attribute__((noreturn)); +void rdar_7027684(int x, int y) { + {}; // this empty compound statement is critical. + (rdar_7027684_aux() ? rdar_7027684_aux_2() : (void) 0); +} + + diff --git a/test/Analysis/stack-addr-ps.c b/test/Analysis/stack-addr-ps.c index 2f7a4bd..0d7a703 100644 --- a/test/Analysis/stack-addr-ps.c +++ b/test/Analysis/stack-addr-ps.c @@ -41,3 +41,19 @@ void* alloca_test() { return p; // expected-warning{{Address of stack memory}} } +int array_test(int x[2]) { + return x[0]; // no-warning +} + +struct baz { + int x; + int y[2]; +}; + +int struct_test(struct baz byVal, int flag) { + if (flag) + return byVal.x; // no-warning + else { + return byVal.y[0]; // no-warning + } +} diff --git a/test/Analysis/xfail_regionstore_wine_crash.c b/test/Analysis/xfail_regionstore_wine_crash.c index 2628d0d..af20ca2 100644 --- a/test/Analysis/xfail_regionstore_wine_crash.c +++ b/test/Analysis/xfail_regionstore_wine_crash.c @@ -1,5 +1,4 @@ -// RUN: clang-cc -checker-cfref -analyze -analyzer-store=region -verify %s -// XFAIL +// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -verify %s // When this test passes we should put it in the misc-ps.m test file. // This test fails now because RegionStoreManager::Retrieve() does correctly diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 7521a1d..d5e2327 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -8,6 +8,7 @@ set(CLANG_TEST_DIRECTORIES "Driver" "FixIt" "Frontend" + "Index" "Lexer" "Misc" "PCH" @@ -54,6 +55,6 @@ if(PYTHONINTERP_FOUND) --clang-cc=${LLVM_TOOLS_PATH}/${CMAKE_CFG_INTDIR}/clang-cc ${all_testdirs} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - DEPENDS clang clang-cc + DEPENDS clang clang-cc index-test COMMENT "Running Clang regression tests") endif() diff --git a/test/CXX/basic/basic.def.odr/p2-typeid.cpp b/test/CXX/basic/basic.def.odr/p2-typeid.cpp index 7eb10ef..881212d 100644 --- a/test/CXX/basic/basic.def.odr/p2-typeid.cpp +++ b/test/CXX/basic/basic.def.odr/p2-typeid.cpp @@ -32,5 +32,5 @@ void test(X<Poly> xp, X<Poly, Poly&> xpr, X<NonPoly> xnp, X<NonPoly, NonPoly&> x xnpr.g(NonPoly()); // Triggers an error (as it should); - xpr.g(Poly()); + xpr.g(Poly()); // expected-note{{instantiation of member function}} } diff --git a/test/CXX/temp/temp.fct.spec/temp.arg.explicit/p1.cpp b/test/CXX/temp/temp.fct.spec/temp.arg.explicit/p1.cpp new file mode 100644 index 0000000..088a9e5 --- /dev/null +++ b/test/CXX/temp/temp.fct.spec/temp.arg.explicit/p1.cpp @@ -0,0 +1,12 @@ +// RUN: clang-cc -fsyntax-only %s + +template<typename T> struct A { }; + +template<typename T> T make(); +template<typename T> T make2(const T&); + +void test_make() { + int& ir0 = make<int&>(); + A<int> a0 = make< A<int> >(); + A<int> a1 = make2< A<int> >(A<int>()); +} diff --git a/test/CXX/temp/temp.fct.spec/temp.arg.explicit/p3.cpp b/test/CXX/temp/temp.fct.spec/temp.arg.explicit/p3.cpp new file mode 100644 index 0000000..f4970b8 --- /dev/null +++ b/test/CXX/temp/temp.fct.spec/temp.arg.explicit/p3.cpp @@ -0,0 +1,11 @@ +// RUN: clang-cc -fsyntax-only -verify %s + +template<class X, class Y, class Z> X f(Y,Z); + +void g() { + f<int,char*,double>("aa",3.0); + f<int,char*>("aa",3.0); // Z is deduced to be double + f<int>("aa",3.0); // Y is deduced to be char*, and + // Z is deduced to be double + f("aa",3.0); // expected-error{{no matching}} +}
\ No newline at end of file diff --git a/test/CXX/temp/temp.fct.spec/temp.deduct/sfinae-1.cpp b/test/CXX/temp/temp.fct.spec/temp.deduct/sfinae-1.cpp new file mode 100644 index 0000000..d193fb2 --- /dev/null +++ b/test/CXX/temp/temp.fct.spec/temp.deduct/sfinae-1.cpp @@ -0,0 +1,17 @@ +// RUN: clang-cc %s + +typedef char one_byte; +struct two_bytes { char data[2]; }; + +template<typename T> one_byte __is_class_check(int T::*); +template<typename T> two_bytes __is_class_check(...); + +template<typename T> struct is_class { + static const bool value = sizeof(__is_class_check<T>(0)) == 1; +}; + +struct X { }; + +int array0[is_class<X>::value? 1 : -1]; +int array1[is_class<int>::value? -1 : 1]; +int array2[is_class<char[3]>::value? -1 : 1]; diff --git a/test/CodeGen/attributes.c b/test/CodeGen/attributes.c index a5de4f4..8f157f3 100644 --- a/test/CodeGen/attributes.c +++ b/test/CodeGen/attributes.c @@ -60,7 +60,7 @@ int t17() { extern int t18 __attribute__((weak_import)); int t18 = 1; -// RUN: grep 'define i[0-9]* @t19() nounwind {' %t && +// RUN: grep 'define i[0-9]* @t19()' %t && extern int t19(void) __attribute__((weak_import)); int t19(void) { return 10; diff --git a/test/CodeGen/stack-protector.c b/test/CodeGen/stack-protector.c new file mode 100644 index 0000000..bdac853 --- /dev/null +++ b/test/CodeGen/stack-protector.c @@ -0,0 +1,22 @@ +// RUN: clang-cc -triple i686-unknown-unknown -emit-llvm -o %t %s && +// RUN: not grep 'ssp' %t && +// RUN: clang-cc -triple i686-apple-darwin9 -emit-llvm -o %t %s && +// RUN: not grep 'ssp' %t && +// RUN: clang-cc -triple i686-apple-darwin10 -emit-llvm -o %t %s && +// RUN: grep 'ssp' %t && +// RUN: clang -fstack-protector-all -emit-llvm -S -o %t %s && +// RUN: grep 'sspreq' %t && +// RUN: clang -fstack-protector -emit-llvm -S -o %t %s && +// RUN: grep 'ssp' %t && +// RUN: clang -fno-stack-protector -emit-llvm -S -o %t %s && +// RUN: not grep 'ssp' %t && +// RUN: true + +#include <stdio.h> +#include <string.h> + +void test1(const char *msg) { + char a[strlen(msg) + 1]; + strcpy(a, msg); + printf("%s\n", a); +} diff --git a/test/CodeGen/unwind-attr.c b/test/CodeGen/unwind-attr.c index b2890c4..4954a0b 100644 --- a/test/CodeGen/unwind-attr.c +++ b/test/CodeGen/unwind-attr.c @@ -1,5 +1,5 @@ -// RUN: clang-cc -fexceptions -emit-llvm -o - %s | grep "@foo() {" | count 1 && -// RUN: clang-cc -emit-llvm -o - %s | grep "@foo() nounwind {" | count 1 +// RUN: clang-cc -fexceptions -emit-llvm -o - %s | grep "@foo()" | not grep nounwind && +// RUN: clang-cc -emit-llvm -o - %s | grep "@foo()" | grep nounwind int foo(void) { } diff --git a/test/CodeGenCXX/function-template-specialization.cpp b/test/CodeGenCXX/function-template-specialization.cpp new file mode 100644 index 0000000..bea3af2 --- /dev/null +++ b/test/CodeGenCXX/function-template-specialization.cpp @@ -0,0 +1,27 @@ +// RUN: clang-cc -emit-llvm %s -o %t && +template<typename T, typename U> +T* next(T* ptr, const U& diff); + +template<typename T, typename U> +T* next(T* ptr, const U& diff) { + return ptr + diff; +} + +void test(int *iptr, float *fptr, int diff) { + // FIXME: should be "_Z4nextIiiEPT_S1_RKT0_" + // RUN: grep "_Z4nextIiiEPiPiRKi" %t && + iptr = next(iptr, diff); + // FIXME: should be "_Z4nextIfiEPT_S1_RKT0_" + // RUN: grep "_Z4nextIfiEPfPfRKi" %t && + fptr = next(fptr, diff); +} + +template<typename T, typename U> +T* next(T* ptr, const U& diff); + +void test2(int *iptr, double *dptr, int diff) { + iptr = next(iptr, diff); + // FIXME: should be "_Z4nextIdiEPT_S1_RKT0_" + // RUN: grep "_Z4nextIdiEPdPdRKi" %t + dptr = next(dptr, diff); +}
\ No newline at end of file diff --git a/test/Driver/openbsd.c b/test/Driver/openbsd.c new file mode 100644 index 0000000..fd0d4fa --- /dev/null +++ b/test/Driver/openbsd.c @@ -0,0 +1,6 @@ +// RUN: clang -ccc-clang-archs "" -ccc-host-triple i686-pc-openbsd %s -### 2> %t.log && +// RUN: grep 'clang-cc" "-triple" "i386-pc-openbsd"' %t.log && +// RUN: grep 'as" "-o" ".*\.o" ".*\.s' %t.log && +// RUN: grep 'ld" "--eh-frame-hdr" "-dynamic-linker" ".*ld.so" "-o" "a\.out" ".*crt0.o" ".*crtbegin.o" ".*\.o" "-lc" ".*crtend.o"' %t.log && +// RUN: true + diff --git a/test/Index/comments.c b/test/Index/comments.c new file mode 100644 index 0000000..7ad8fd7 --- /dev/null +++ b/test/Index/comments.c @@ -0,0 +1,30 @@ +// RUN: clang-cc -emit-pch -o %t.ast %s && +// RUN: index-test %t.ast -point-at %s:22:6 | grep "starts here" && +// RUN: index-test %t.ast -point-at %s:22:6 | grep "block comment" && +// RUN: index-test %t.ast -point-at %s:28:6 | grep "BCPL" && +// RUN: index-test %t.ast -point-at %s:28:6 | grep "But" && +// RUN: index-test %t.ast -point-at %s:28:6 | grep "NOT" | count 0 && +// RUN: index-test %t.ast -point-at %s:30:6 | grep "member" + + + + + + +//! It all starts here. +/*! It's a little odd to continue line this, + * + * but we need more multi-line comments. */ +/// This comment comes before my other comments +/** This is a block comment that is associated with the function f. It + * runs for three lines. + */ +void f(int, int); + +// NOT IN THE COMMENT +/// This is a BCPL comment that is associated with the function g. +/// It has only two lines. +/** But there are other blocks that are part of the comment, too. */ +void g(int); + +void h(int); ///< This is a member comment.
\ No newline at end of file diff --git a/test/PCH/pr4489.c b/test/PCH/pr4489.c new file mode 100644 index 0000000..696da5b --- /dev/null +++ b/test/PCH/pr4489.c @@ -0,0 +1,20 @@ +// RUN: clang -x c-header -o %t.pch %s && +// RUN: clang -include %t -x c /dev/null -emit-llvm -S -o - +// PR 4489: Crash with PCH + +typedef struct _IO_FILE FILE; +extern int fprintf (struct _IO_FILE *__restrict __stream, + __const char *__restrict __format, ...); + +int x(void) +{ + switch (1) { + case 2: ; + int y = 0; + } +} + +void y(void) { + extern char z; + fprintf (0, "a"); +}
\ No newline at end of file diff --git a/test/Parser/offsetof.c b/test/Parser/offsetof.c new file mode 100644 index 0000000..6c4e3fe --- /dev/null +++ b/test/Parser/offsetof.c @@ -0,0 +1,7 @@ +// RUN: clang-cc -fsyntax-only -verify %s + +struct a { struct { int b; } x[2]; }; + +int a = __builtin_offsetof(struct a, x; // expected-error{{expected ')'}} expected-note{{to match this '('}} +// FIXME: This actually shouldn't give an error +int b = __builtin_offsetof(struct a, x->b); // expected-error{{expected ')'}} expected-note{{to match this '('}} diff --git a/test/Sema/compare.c b/test/Sema/compare.c index 4b44bf5..51f7731 100644 --- a/test/Sema/compare.c +++ b/test/Sema/compare.c @@ -15,3 +15,17 @@ int arrays(char (*a)[5], char(*b)[10], char(*c)[5]) { int d = (a == c); return a == b; // expected-warning {{comparison of distinct pointer types}} } + +int pointers(int *a) +{ + return a > 0; // expected-warning {{ordered comparison between pointer and integer}} + return a > (void *)0; // expected-warning {{comparison of distinct pointer types}} +} + +int function_pointers(int (*a)(int), int (*b)(int)) +{ + return a > b; // expected-warning {{ordered comparison of function pointers}} + return function_pointers > function_pointers; // expected-warning {{ordered comparison of function pointers}} + return a == (void *) 0; + return a == (void *) 1; // expected-warning {{comparison of distinct pointer types}} +} diff --git a/test/Sema/ext_vector_casts.c b/test/Sema/ext_vector_casts.c index 8aa762e..dbcd1c9 100644 --- a/test/Sema/ext_vector_casts.c +++ b/test/Sema/ext_vector_casts.c @@ -2,6 +2,7 @@ typedef __attribute__(( ext_vector_type(2) )) float float2; typedef __attribute__(( ext_vector_type(4) )) int int4; +typedef __attribute__(( ext_vector_type(8) )) short short8; typedef __attribute__(( ext_vector_type(4) )) float float4; typedef float t3 __attribute__ ((vector_size (16))); @@ -9,8 +10,12 @@ static void test() { float2 vec2; float4 vec4, vec4_2; int4 ivec4; + short8 ish8; t3 vec4_3; + int *ptr; + int i; + vec4 = 5.0f; vec4 = (float4)5.0f; vec4 = (float4)5; vec4 = (float4)vec4_3; @@ -19,5 +24,22 @@ static void test() { ivec4 = (int4)5; ivec4 = (int4)vec4_3; + i = (int)ivec4; // expected-error {{invalid conversion between vector type 'int4' and integer type 'int' of different size}} + i = ivec4; // expected-error {{incompatible type assigning 'int4', expected 'int'}} + + ivec4 = (int4)ptr; // expected-error {{invalid conversion between vector type 'int4' and scalar type 'int *'}} + vec4 = (float4)vec2; // expected-error {{invalid conversion between ext-vector type 'float4' and 'float2'}} + + ish8 += 5; // expected-error {{can't convert between vector values of different size ('short8' and 'int')}} + ish8 += (short)5; + ivec4 *= 5; + vec4 /= 5.2f; + vec4 %= 4; // expected-error {{invalid operands to binary expression ('float4' and 'int')}} + ivec4 %= 4; + ivec4 += vec4; // expected-error {{can't convert between vector values of different size ('float4' and 'int4')}} + ivec4 += (int4)vec4; + ivec4 -= ivec4; + ivec4 |= ivec4; + ivec4 += ptr; // expected-error {{can't convert between vector values of different size ('int4' and 'int *')}} } diff --git a/test/Sema/format-attr-pr4470.c b/test/Sema/format-attr-pr4470.c new file mode 100644 index 0000000..cba3adf --- /dev/null +++ b/test/Sema/format-attr-pr4470.c @@ -0,0 +1,11 @@ +// RUN: clang-cc -fsyntax-only -verify -Wformat=2 %s + +#include <stdio.h> + +const char *foo(const char *format) __attribute__((format_arg(1))); + +void __attribute__((format(printf, 1, 0))) +foo2(const char *fmt, va_list va) +{ + vprintf(foo(fmt), va); +} diff --git a/test/SemaCXX/class-base-member-init.cpp b/test/SemaCXX/class-base-member-init.cpp new file mode 100644 index 0000000..c38c3d3 --- /dev/null +++ b/test/SemaCXX/class-base-member-init.cpp @@ -0,0 +1,19 @@ +// RUN: clang-cc -fsyntax-only -verify %s + +class S { +public: + S (); +}; + +struct D : S { + D() : b1(0), b2(1), b1(0), S(), S() {} // expected-error {{multiple initializations given for non-static member 'b1'}} \ + // expected-note {{previous initialization is here}} \ + // expected-error {{multiple initializations given for base 'class S'}} \ + // expected-note {{previous initialization is here}} + + int b1; + int b2; + +}; + + diff --git a/test/SemaCXX/constructor-initializer.cpp b/test/SemaCXX/constructor-initializer.cpp index d0c978a..a180d90 100644 --- a/test/SemaCXX/constructor-initializer.cpp +++ b/test/SemaCXX/constructor-initializer.cpp @@ -1,6 +1,7 @@ // RUN: clang-cc -fsyntax-only -verify %s class A { int m; + A() : A::m(17) { } // expected-error {{member initializer 'm' does not name a non-static data member or base class}} }; class B : public A { @@ -54,3 +55,41 @@ class H : A { H::H() : A(10) { } + +class X {}; +class Y {}; + +struct S : Y, virtual X { + S (); +}; + +struct Z : S { + Z() : S(), X(), E() {} // expected-error {{type 'class E' is not a direct or virtual base of 'Z'}} +}; + +class U { + union { int a; char* p; }; + union { int b; double d; }; + + U() : a(1), p(0), d(1.0) {} // expected-error {{multiple initializations given for non-static member 'p'}} \ + // expected-note {{previous initialization is here}} +}; + +struct V {}; +struct Base {}; +struct Base1 {}; + +struct Derived : Base, Base1, virtual V { + Derived (); +}; + +struct Current : Derived { + int Derived; + Current() : Derived(1), ::Derived(), + ::Derived::Base(), // expected-error {{type '::Derived::Base' is not a direct or virtual base of 'Current'}} + Derived::Base1(), // expected-error {{type 'Derived::Base1' is not a direct or virtual base of 'Current'}} + Derived::V(), + ::NonExisting(), // expected-error {{member initializer 'NonExisting' does not name a non-static data member or}} + INT::NonExisting() {} // expected-error {{expected a class or namespace}} \ + // expected-error {{member initializer 'NonExisting' does not name a non-static data member or}} +}; diff --git a/test/SemaCXX/decltype-overloaded-functions.cpp b/test/SemaCXX/decltype-overloaded-functions.cpp new file mode 100644 index 0000000..4c5349b --- /dev/null +++ b/test/SemaCXX/decltype-overloaded-functions.cpp @@ -0,0 +1,12 @@ +// RUN: clang-cc -fsyntax-only -verify %s -std=c++0x + +void f(); +void f(int); +decltype(f) a; // expected-error{{can't determine the declared type of an overloaded function}} + +template<typename T> struct S { + decltype(T::f) * f; // expected-error{{can't determine the declared type of an overloaded function}} +}; + +struct K { void f(); void f(int); }; +S<K> b; // expected-note{{in instantiation of template class 'struct S<struct K>' requested here}} diff --git a/test/SemaCXX/exception-spec.cpp b/test/SemaCXX/exception-spec.cpp index ea02aac..5eba26e 100644 --- a/test/SemaCXX/exception-spec.cpp +++ b/test/SemaCXX/exception-spec.cpp @@ -1,4 +1,4 @@ -// RUN: clang-cc -fsyntax-only -verify %s +// RUN: clang-cc -fsyntax-only -verify -fms-extensions %s // Straight from the standard: // Plain function with spec @@ -33,3 +33,31 @@ void ic2() throw(Incomplete); // expected-error {{incomplete type 'struct Incomp void ic3() throw(void*); void ic4() throw(Incomplete*); // expected-error {{pointer to incomplete type 'struct Incomplete' is not allowed in exception specification}} void ic5() throw(Incomplete&); // expected-error {{reference to incomplete type 'struct Incomplete' is not allowed in exception specification}} + +// Redeclarations +typedef int INT; +void r1() throw(int); +void r1() throw(int); + +void r2() throw(int); +void r2() throw(INT); + +// throw-any spec and no spec at all are semantically equivalent +void r3(); +void r3() throw(...); + +void r4() throw(int, float); +void r4() throw(float, int); + +void r5() throw(int); // expected-note {{previous declaration}} +void r5(); // expected-error {{exception specification in declaration does not match}} + +void r6() throw(...); // expected-note {{previous declaration}} +void r6() throw(int); // expected-error {{exception specification in declaration does not match}} + +void r7() throw(int); // expected-note {{previous declaration}} +void r7() throw(float); // expected-error {{exception specification in declaration does not match}} + +// Top-level const doesn't matter. +void r8() throw(int); +void r8() throw(const int); diff --git a/test/SemaCXX/member-pointer.cpp b/test/SemaCXX/member-pointer.cpp index d2df5eb..3b106d5 100644 --- a/test/SemaCXX/member-pointer.cpp +++ b/test/SemaCXX/member-pointer.cpp @@ -16,7 +16,7 @@ int B::*pbi; // expected-error {{expected a class or namespace}} \ // expected-error{{does not point into a class}} int C::*pci; // expected-error {{'pci' does not point into a class}} void A::*pdv; // expected-error {{'pdv' declared as a member pointer to void}} -int& A::*pdr; // expected-error {{'pdr' declared as a pointer to a reference}} +int& A::*pdr; // expected-error {{'pdr' declared as a member pointer to a reference}} void f() { // This requires tentative parsing. diff --git a/test/SemaTemplate/class-template-ctor-initializer.cpp b/test/SemaTemplate/class-template-ctor-initializer.cpp new file mode 100644 index 0000000..d7649f52 --- /dev/null +++ b/test/SemaTemplate/class-template-ctor-initializer.cpp @@ -0,0 +1,33 @@ +// RUN: clang-cc -fsyntax-only -verify %s + +template<class X> struct A {}; + +template<class X> struct B : A<X> { + B() : A<X>() {} +}; +B<int> x; + +template<class X> struct B1 : A<X> { + typedef A<X> Base; + B1() : Base() {} +}; +B1<int> x1; + + +template<typename T> struct Tmpl { }; + +template<typename T> struct TmplB { }; + +struct TmplC : Tmpl<int> { + TmplC() : + Tmpl<int>(), + TmplB<int>() { } // expected-error {{type 'TmplB<int>' is not a direct or virtual base of 'TmplC'}} +}; + + +struct TmplD : Tmpl<char>, TmplB<char> { + TmplD(): + Tmpl<int>(), // expected-error {{type 'Tmpl<int>' is not a direct or virtual base of 'TmplD'}} + TmplB<char>() {} +}; + diff --git a/test/SemaTemplate/operator-template.cpp b/test/SemaTemplate/operator-template.cpp index 3d041ec..7039e0e 100644 --- a/test/SemaTemplate/operator-template.cpp +++ b/test/SemaTemplate/operator-template.cpp @@ -5,10 +5,12 @@ template<class X>struct A{typedef X Y;}; template<class X>bool operator==(A<X>,typename A<X>::Y); int a(A<int> x) { return operator==(x,1); } -// FIXME: The diagnostic here is a bit messed up +int a0(A<int> x) { return x == 1; } + +// FIXME: the location information for the note isn't very good template<class X>struct B{typedef X Y;}; template<class X>bool operator==(B<X>*,typename B<X>::Y); // \ expected-error{{overloaded 'operator==' must have at least one parameter of class or enumeration type}} \ -expected-note{{in instantiation of default argument for 'operator==<int>' required here}} +expected-note{{in instantiation of member function}} int a(B<int> x) { return operator==(&x,1); } diff --git a/test/SemaTemplate/recursive-template-instantiation.cpp b/test/SemaTemplate/recursive-template-instantiation.cpp new file mode 100644 index 0000000..7c88d50 --- /dev/null +++ b/test/SemaTemplate/recursive-template-instantiation.cpp @@ -0,0 +1,10 @@ +// RUN: clang-cc -fsyntax-only -verify %s + +template<typename T> void f(T* t) { + f(*t); // expected-error{{no matching function}}\ + // expected-note 3{{requested here}} +} + +void test_f(int ****p) { + f(p); // expected-note{{requested here}} +} diff --git a/test/cxx-sections.data b/test/cxx-sections.data index b4501ea..0edc5f1 100644 --- a/test/cxx-sections.data +++ b/test/cxx-sections.data @@ -26,40 +26,43 @@ 1.10 [intro.multithread] 1.11 [intro.ack] 2 [lex] - 2.1 [lex.phases] - 2.2 [lex.charset] - 2.3 [lex.trigraph] - 2.4 [lex.pptoken] - 2.5 [lex.digraph] - 2.6 [lex.token] - 2.7 [lex.comment] - 2.8 [lex.header] - 2.9 [lex.ppnumber] - 2.10 [lex.name] - 2.11 [lex.key] - 2.12 [lex.operators] - 2.13 [lex.literal] - 2.13.1 [lex.icon] - 2.13.2 [lex.ccon] - 2.13.3 [lex.fcon] - 2.13.4 [lex.string] - 2.13.5 [lex.bool] - 2.13.6 [lex.nullptr] - 2.13.7 [lex.ext] + 2.1 [lex.separate] + 2.2 [lex.phases] + 2.3 [lex.charset] + 2.4 [lex.trigraph] + 2.5 [lex.pptoken] + 2.6 [lex.digraph] + 2.7 [lex.token] + 2.8 [lex.comment] + 2.9 [lex.header] + 2.10 [lex.ppnumber] + 2.11 [lex.name] + 2.12 [lex.key] + 2.13 [lex.operators] + 2.14 [lex.literal] + 2.14.1 [lex.literal.kinds] + 2.14.2 [lex.icon] + 2.14.3 [lex.ccon] + 2.14.4 [lex.fcon] + 2.14.5 [lex.string] + 2.14.6 [lex.bool] + 2.14.7 [lex.nullptr] + 2.14.8 [lex.ext] 3 [basic] 3.1 [basic.def] 3.2 [basic.def.odr] 3.3 [basic.scope] - 3.3.1 [basic.scope.pdecl] - 3.3.2 [basic.scope.local] - 3.3.3 [basic.scope.proto] - 3.3.4 [basic.funscope] - 3.3.5 [basic.scope.namespace] - 3.3.6 [basic.scope.class] - 3.3.7 [basic.scope.concept] - 3.3.8 [basic.scope.req] - 3.3.9 [basic.scope.enum] - 3.3.10 [basic.scope.hiding] + 3.3.1 [basic.scope.declarative] + 3.3.2 [basic.scope.pdecl] + 3.3.3 [basic.scope.local] + 3.3.4 [basic.scope.proto] + 3.3.5 [basic.funscope] + 3.3.6 [basic.scope.namespace] + 3.3.7 [basic.scope.class] + 3.3.8 [basic.scope.concept] + 3.3.9 [basic.scope.req] + 3.3.10 [basic.scope.enum] + 3.3.11 [basic.scope.hiding] 3.4 [basic.lookup] 3.4.1 [basic.lookup.unqual] 3.4.2 [basic.lookup.argdep] @@ -107,7 +110,8 @@ 4.13 [conv.rank] 5 [expr] 5.1 [expr.prim] - 5.1.1 [expr.prim.lambda] + 5.1.1 [expr.prim.general] + 5.1.2 [expr.prim.lambda] 5.2 [expr.post] 5.2.1 [expr.sub] 5.2.2 [expr.call] @@ -284,76 +288,77 @@ 13.5.8 [over.literal] 13.6 [over.built] 14 [temp] - 14.1 [temp.param] - 14.2 [temp.names] - 14.3 [temp.arg] - 14.3.1 [temp.arg.type] - 14.3.2 [temp.arg.nontype] - 14.3.3 [temp.arg.template] - 14.4 [temp.type] - 14.5 [temp.decls] - 14.5.1 [temp.class] - 14.5.1.1 [temp.mem.func] - 14.5.1.2 [temp.mem.class] - 14.5.1.3 [temp.static] - 14.5.2 [temp.mem] - 14.5.3 [temp.variadic] - 14.5.4 [temp.friend] - 14.5.5 [temp.class.spec] - 14.5.5.1 [temp.class.spec.match] - 14.5.5.2 [temp.class.order] - 14.5.5.3 [temp.class.spec.mfunc] - 14.5.6 [temp.fct] - 14.5.6.1 [temp.over.link] - 14.5.6.2 [temp.func.order] - 14.5.7 [temp.alias] - 14.5.8 [temp.concept.map] - 14.6 [temp.res] - 14.6.1 [temp.local] - 14.6.2 [temp.dep] - 14.6.2.1 [temp.dep.type] - 14.6.2.2 [temp.dep.expr] - 14.6.2.3 [temp.dep.constexpr] - 14.6.2.4 [temp.dep.temp] - 14.6.3 [temp.nondep] - 14.6.4 [temp.dep.res] - 14.6.4.1 [temp.point] - 14.6.4.2 [temp.dep.candidate] - 14.6.5 [temp.inject] - 14.7 [temp.spec] - 14.7.1 [temp.inst] - 14.7.2 [temp.explicit] - 14.7.3 [temp.expl.spec] - 14.8 [temp.fct.spec] - 14.8.1 [temp.arg.explicit] - 14.8.2 [temp.deduct] - 14.8.2.1 [temp.deduct.call] - 14.8.2.2 [temp.deduct.funcaddr] - 14.8.2.3 [temp.deduct.conv] - 14.8.2.4 [temp.deduct.partial] - 14.8.2.5 [temp.deduct.type] - 14.8.3 [temp.over] - 14.9 [concept] - 14.9.1 [concept.def] - 14.9.1.1 [concept.fct] - 14.9.1.2 [concept.assoc] - 14.9.1.3 [concept.req] - 14.9.1.4 [concept.axiom] - 14.9.2 [concept.map] - 14.9.2.1 [concept.map.fct] - 14.9.2.2 [concept.map.assoc] - 14.9.3 [concept.refine] - 14.9.3.1 [concept.member.lookup] - 14.9.3.2 [concept.refine.maps] - 14.9.4 [concept.support] - 14.10 [temp.constrained] - 14.10.1 [temp.req] - 14.10.1.1 [temp.req.sat] - 14.10.1.2 [temp.req.impl] - 14.10.2 [temp.archetype] - 14.10.2.1 [temp.archetype.assemble] - 14.10.3 [temp.constrained.set] - 14.10.4 [temp.constrained.inst] + 14.1 [temp.export] + 14.2 [temp.param] + 14.3 [temp.names] + 14.4 [temp.arg] + 14.4.1 [temp.arg.type] + 14.4.2 [temp.arg.nontype] + 14.4.3 [temp.arg.template] + 14.5 [temp.type] + 14.6 [temp.decls] + 14.6.1 [temp.class] + 14.6.1.1 [temp.mem.func] + 14.6.1.2 [temp.mem.class] + 14.6.1.3 [temp.static] + 14.6.2 [temp.mem] + 14.6.3 [temp.variadic] + 14.6.4 [temp.friend] + 14.6.5 [temp.class.spec] + 14.6.5.1 [temp.class.spec.match] + 14.6.5.2 [temp.class.order] + 14.6.5.3 [temp.class.spec.mfunc] + 14.6.6 [temp.fct] + 14.6.6.1 [temp.over.link] + 14.6.6.2 [temp.func.order] + 14.6.7 [temp.alias] + 14.6.8 [temp.concept.map] + 14.7 [temp.res] + 14.7.1 [temp.local] + 14.7.2 [temp.dep] + 14.7.2.1 [temp.dep.type] + 14.7.2.2 [temp.dep.expr] + 14.7.2.3 [temp.dep.constexpr] + 14.7.2.4 [temp.dep.temp] + 14.7.3 [temp.nondep] + 14.7.4 [temp.dep.res] + 14.7.4.1 [temp.point] + 14.7.4.2 [temp.dep.candidate] + 14.7.5 [temp.inject] + 14.8 [temp.spec] + 14.8.1 [temp.inst] + 14.8.2 [temp.explicit] + 14.8.3 [temp.expl.spec] + 14.9 [temp.fct.spec] + 14.9.1 [temp.arg.explicit] + 14.9.2 [temp.deduct] + 14.9.2.1 [temp.deduct.call] + 14.9.2.2 [temp.deduct.funcaddr] + 14.9.2.3 [temp.deduct.conv] + 14.9.2.4 [temp.deduct.partial] + 14.9.2.5 [temp.deduct.type] + 14.9.3 [temp.over] + 14.10 [concept] + 14.10.1 [concept.def] + 14.10.1.1 [concept.fct] + 14.10.1.2 [concept.assoc] + 14.10.1.3 [concept.req] + 14.10.1.4 [concept.axiom] + 14.10.2 [concept.map] + 14.10.2.1 [concept.map.fct] + 14.10.2.2 [concept.map.assoc] + 14.10.3 [concept.refine] + 14.10.3.1 [concept.member.lookup] + 14.10.3.2 [concept.refine.maps] + 14.10.4 [concept.support] + 14.11 [temp.constrained] + 14.11.1 [temp.req] + 14.11.1.1 [temp.req.sat] + 14.11.1.2 [temp.req.impl] + 14.11.2 [temp.archetype] + 14.11.2.1 [temp.archetype.assemble] + 14.11.3 [temp.constrained.set] + 14.11.4 [temp.constrained.inst] 15 [except] 15.1 [except.throw] 15.2 [except.ctor] @@ -363,7 +368,6 @@ 15.5.1 [except.terminate] 15.5.2 [except.unexpected] 15.5.3 [except.uncaught] - 15.6 [except.access] 16 [cpp] 16.1 [cpp.cond] 16.2 [cpp.include] @@ -381,7 +385,7 @@ 16.9 [cpp.pragma.op] 17 [library] 17.1 [library.general] - 17.2 [library.overview] + 17.2 [library.c] 17.3 [definitions] 17.3.1 [defns.arbitrary.stream] 17.3.2 [defns.blocked] @@ -394,191 +398,187 @@ 17.3.9 [defns.handler] 17.3.10 [defns.iostream.templates] 17.3.11 [defns.modifier] - 17.3.12 [defns.obj.state] - 17.3.13 [defns.ntcts] - 17.3.14 [defns.narrow.iostream] - 17.3.15 [defns.observer] - 17.3.16 [defns.replacement] - 17.3.17 [defns.repositional.stream] - 17.3.18 [defns.required.behavior] - 17.3.19 [defns.reserved.function] - 17.3.20 [defns.stable] - 17.3.21 [defns.traits] - 17.3.22 [defns.wide.iostream] + 17.3.12 [defns.move.assign] + 17.3.13 [defns.move.assign.op] + 17.3.14 [defns.move.ctor] + 17.3.15 [defns.obj.state] + 17.3.16 [defns.ntcts] + 17.3.17 [defns.observer] + 17.3.18 [defns.replacement] + 17.3.19 [defns.repositional.stream] + 17.3.20 [defns.required.behavior] + 17.3.21 [defns.reserved.function] + 17.3.22 [defns.stable] + 17.3.23 [defns.traits] 17.4 [defns.additional] 17.5 [description] - 17.5.1 [description.general] - 17.5.2 [structure] - 17.5.2.1 [structure.elements] - 17.5.2.2 [structure.summary] - 17.5.2.3 [structure.requirements] - 17.5.2.4 [structure.specifications] - 17.5.2.5 [structure.see.also] - 17.5.3 [conventions] - 17.5.3.1 [conventions.general] - 17.5.3.2 [type.descriptions] - 17.5.3.2.1 [type.descriptions.general] - 17.5.3.2.2 [enumerated.types] - 17.5.3.2.3 [bitmask.types] - 17.5.3.2.4 [character.seq] - 17.5.3.2.4.1 [character.seq.general] - 17.5.3.2.4.2 [byte.strings] - 17.5.3.2.4.3 [multibyte.strings] - 17.5.3.2.4.4 [char16_t.seq] - 17.5.3.2.4.5 [char32_t.seq] - 17.5.3.2.4.6 [wide.characters] - 17.5.3.3 [functions.within.classes] - 17.5.3.4 [objects.within.classes] + 17.5.1 [structure] + 17.5.1.1 [structure.elements] + 17.5.1.2 [structure.summary] + 17.5.1.3 [structure.requirements] + 17.5.1.4 [structure.specifications] + 17.5.1.5 [structure.see.also] + 17.5.2 [conventions] + 17.5.2.1 [type.descriptions] + 17.5.2.1.1 [type.descriptions.general] + 17.5.2.1.2 [enumerated.types] + 17.5.2.1.3 [bitmask.types] + 17.5.2.1.4 [character.seq] + 17.5.2.1.4.1 [byte.strings] + 17.5.2.1.4.2 [multibyte.strings] + 17.5.2.1.4.3 [char16_t.seq] + 17.5.2.1.4.4 [char32_t.seq] + 17.5.2.1.4.5 [wide.characters] + 17.5.2.2 [functions.within.classes] + 17.5.2.3 [objects.within.classes] 17.6 [requirements] - 17.6.1 [requirements.general] - 17.6.2 [organization] - 17.6.2.1 [organization.general] - 17.6.2.2 [contents] - 17.6.2.3 [headers] - 17.6.2.4 [compliance] - 17.6.3 [using] - 17.6.3.1 [using.overview] - 17.6.3.2 [using.headers] - 17.6.3.3 [using.linkage] - 17.6.4 [constraints] - 17.6.4.1 [constraints.overview] - 17.6.4.2 [namespace.constraints] - 17.6.4.2.1 [namespace.std] - 17.6.4.2.2 [namespace.posix] - 17.6.4.3 [reserved.names] - 17.6.4.3.1 [reserved.names.general] - 17.6.4.3.2 [macro.names] - 17.6.4.3.3 [global.names] - 17.6.4.3.4 [extern.names] - 17.6.4.3.5 [extern.types] - 17.6.4.3.6 [usrlit.suffix] - 17.6.4.4 [alt.headers] - 17.6.4.5 [derived.classes] - 17.6.4.6 [replacement.functions] - 17.6.4.7 [handler.functions] - 17.6.4.8 [res.on.functions] - 17.6.4.9 [res.on.arguments] - 17.6.4.10 [res.on.objects] - 17.6.4.11 [res.on.required] - 17.6.5 [conforming] - 17.6.5.1 [conforming.overview] - 17.6.5.2 [res.on.headers] - 17.6.5.3 [res.on.macro.definitions] - 17.6.5.4 [global.functions] - 17.6.5.5 [member.functions] - 17.6.5.6 [reentrancy] - 17.6.5.7 [res.on.data.races] - 17.6.5.8 [protection.within.classes] - 17.6.5.9 [derivation] - 17.6.5.10 [res.on.exception.handling] - 17.6.5.11 [res.on.pointer.storage] - 17.6.5.12 [value.error.codes] + 17.6.1 [organization] + 17.6.1.1 [contents] + 17.6.1.2 [headers] + 17.6.1.3 [compliance] + 17.6.2 [using] + 17.6.2.1 [using.overview] + 17.6.2.2 [using.headers] + 17.6.2.3 [using.linkage] + 17.6.3 [constraints] + 17.6.3.1 [constraints.overview] + 17.6.3.2 [namespace.constraints] + 17.6.3.2.1 [namespace.std] + 17.6.3.2.2 [namespace.posix] + 17.6.3.3 [reserved.names] + 17.6.3.3.1 [macro.names] + 17.6.3.3.2 [global.names] + 17.6.3.3.3 [extern.names] + 17.6.3.3.4 [extern.types] + 17.6.3.3.5 [usrlit.suffix] + 17.6.3.4 [alt.headers] + 17.6.3.5 [derived.classes] + 17.6.3.6 [replacement.functions] + 17.6.3.7 [handler.functions] + 17.6.3.8 [res.on.functions] + 17.6.3.9 [res.on.arguments] + 17.6.3.10 [res.on.objects] + 17.6.3.11 [res.on.required] + 17.6.4 [conforming] + 17.6.4.1 [conforming.overview] + 17.6.4.2 [res.on.headers] + 17.6.4.3 [res.on.macro.definitions] + 17.6.4.4 [global.functions] + 17.6.4.5 [member.functions] + 17.6.4.6 [reentrancy] + 17.6.4.7 [res.on.data.races] + 17.6.4.8 [protection.within.classes] + 17.6.4.9 [derivation] + 17.6.4.10 [res.on.exception.handling] + 17.6.4.11 [res.on.pointer.storage] + 17.6.4.12 [value.error.codes] 18 [language.support] - 18.1 [support.types] - 18.2 [support.limits] - 18.2.1 [limits] - 18.2.1.1 [numeric.limits] - 18.2.1.2 [numeric.limits.members] - 18.2.1.3 [round.style] - 18.2.1.4 [denorm.style] - 18.2.1.5 [numeric.special] - 18.2.2 [c.limits] - 18.3 [cstdint] - 18.3.1 [cstdint.syn] - 18.3.2 [stdinth] - 18.4 [support.start.term] - 18.5 [support.dynamic] - 18.5.1 [new.delete] - 18.5.1.1 [new.delete.single] - 18.5.1.2 [new.delete.array] - 18.5.1.3 [new.delete.placement] - 18.5.1.4 [new.delete.dataraces] - 18.5.2 [alloc.errors] - 18.5.2.1 [bad.alloc] - 18.5.2.2 [new.handler] - 18.5.2.3 [set.new.handler] - 18.6 [support.rtti] - 18.6.1 [type.info] - 18.6.2 [type.index] - 18.6.2.1 [type.index.overview] - 18.6.2.2 [type.index.members] - 18.6.2.3 [type.index.templ] - 18.6.3 [bad.cast] - 18.6.4 [bad.typeid] - 18.7 [support.exception] - 18.7.1 [exception] - 18.7.2 [exception.unexpected] - 18.7.2.1 [bad.exception] - 18.7.2.2 [unexpected.handler] - 18.7.2.3 [set.unexpected] - 18.7.2.4 [unexpected] - 18.7.3 [exception.terminate] - 18.7.3.1 [terminate.handler] - 18.7.3.2 [set.terminate] - 18.7.3.3 [terminate] - 18.7.4 [uncaught] - 18.7.5 [propagation] - 18.7.6 [except.nested] - 18.8 [support.initlist] - 18.8.1 [support.initlist.cons] - 18.8.2 [support.initlist.access] - 18.8.3 [support.initlist.concept] - 18.9 [support.runtime] + 18.1 [support.general] + 18.2 [support.types] + 18.3 [support.limits] + 18.3.1 [limits] + 18.3.1.1 [numeric.limits] + 18.3.1.2 [numeric.limits.members] + 18.3.1.3 [round.style] + 18.3.1.4 [denorm.style] + 18.3.1.5 [numeric.special] + 18.3.2 [c.limits] + 18.4 [cstdint] + 18.4.1 [cstdint.syn] + 18.4.2 [stdinth] + 18.5 [support.start.term] + 18.6 [support.dynamic] + 18.6.1 [new.delete] + 18.6.1.1 [new.delete.single] + 18.6.1.2 [new.delete.array] + 18.6.1.3 [new.delete.placement] + 18.6.1.4 [new.delete.dataraces] + 18.6.2 [alloc.errors] + 18.6.2.1 [bad.alloc] + 18.6.2.2 [new.handler] + 18.6.2.3 [set.new.handler] + 18.7 [support.rtti] + 18.7.1 [type.info] + 18.7.2 [type.index] + 18.7.2.1 [type.index.overview] + 18.7.2.2 [type.index.members] + 18.7.2.3 [type.index.templ] + 18.7.3 [bad.cast] + 18.7.4 [bad.typeid] + 18.8 [support.exception] + 18.8.1 [exception] + 18.8.2 [exception.unexpected] + 18.8.2.1 [bad.exception] + 18.8.2.2 [unexpected.handler] + 18.8.2.3 [set.unexpected] + 18.8.2.4 [unexpected] + 18.8.3 [exception.terminate] + 18.8.3.1 [terminate.handler] + 18.8.3.2 [set.terminate] + 18.8.3.3 [terminate] + 18.8.4 [uncaught] + 18.8.5 [propagation] + 18.8.6 [except.nested] + 18.9 [support.initlist] + 18.9.1 [support.initlist.cons] + 18.9.2 [support.initlist.access] + 18.9.3 [support.initlist.concept] + 18.10 [support.runtime] 19 [diagnostics] - 19.1 [std.exceptions] - 19.1.1 [logic.error] - 19.1.2 [domain.error] - 19.1.3 [invalid.argument] - 19.1.4 [length.error] - 19.1.5 [out.of.range] - 19.1.6 [runtime.error] - 19.1.7 [range.error] - 19.1.8 [overflow.error] - 19.1.9 [underflow.error] - 19.2 [assertions] - 19.3 [errno] - 19.4 [syserr] - 19.4.1 [syserr.errcat] - 19.4.1.1 [syserr.errcat.overview] - 19.4.1.2 [syserr.errcat.virtuals] - 19.4.1.3 [syserr.errcat.nonvirtuals] - 19.4.1.4 [syserr.errcat.derived] - 19.4.1.5 [syserr.errcat.objects] - 19.4.2 [syserr.errcode] - 19.4.2.1 [syserr.errcodeenum] - 19.4.2.2 [syserr.errcode.overview] - 19.4.2.3 [syserr.errcode.constructors] - 19.4.2.4 [syserr.errcode.modifiers] - 19.4.2.5 [syserr.errcode.observers] - 19.4.2.6 [syserr.errcode.nonmembers] - 19.4.3 [syserr.errcondition] - 19.4.3.1 [syserr.errcondenum] - 19.4.3.2 [syserr.errcondition.overview] - 19.4.3.3 [syserr.errcondition.constructors] - 19.4.3.4 [syserr.errcondition.modifiers] - 19.4.3.5 [syserr.errcondition.observers] - 19.4.3.6 [syserr.errcondition.nonmembers] - 19.4.4 [syserr.compare] - 19.4.5 [syserr.syserr] - 19.4.5.1 [syserr.syserr.overview] - 19.4.5.2 [syserr.syserr.members] + 19.1 [diagnostics.general] + 19.2 [std.exceptions] + 19.2.1 [logic.error] + 19.2.2 [domain.error] + 19.2.3 [invalid.argument] + 19.2.4 [length.error] + 19.2.5 [out.of.range] + 19.2.6 [runtime.error] + 19.2.7 [range.error] + 19.2.8 [overflow.error] + 19.2.9 [underflow.error] + 19.3 [assertions] + 19.4 [errno] + 19.5 [syserr] + 19.5.1 [syserr.errcat] + 19.5.1.1 [syserr.errcat.overview] + 19.5.1.2 [syserr.errcat.virtuals] + 19.5.1.3 [syserr.errcat.nonvirtuals] + 19.5.1.4 [syserr.errcat.derived] + 19.5.1.5 [syserr.errcat.objects] + 19.5.2 [syserr.errcode] + 19.5.2.1 [syserr.errcodeenum] + 19.5.2.2 [syserr.errcode.overview] + 19.5.2.3 [syserr.errcode.constructors] + 19.5.2.4 [syserr.errcode.modifiers] + 19.5.2.5 [syserr.errcode.observers] + 19.5.2.6 [syserr.errcode.nonmembers] + 19.5.3 [syserr.errcondition] + 19.5.3.1 [syserr.errcondenum] + 19.5.3.2 [syserr.errcondition.overview] + 19.5.3.3 [syserr.errcondition.constructors] + 19.5.3.4 [syserr.errcondition.modifiers] + 19.5.3.5 [syserr.errcondition.observers] + 19.5.3.6 [syserr.errcondition.nonmembers] + 19.5.4 [syserr.compare] + 19.5.5 [syserr.syserr] + 19.5.5.1 [syserr.syserr.overview] + 19.5.5.2 [syserr.syserr.members] 20 [utilities] - 20.1 [utility.requirements] - 20.1.1 [utility.arg.requirements] - 20.1.2 [allocator.requirements] + 20.1 [utilities.general] 20.2 [utility.concepts] 20.2.1 [concept.transform] 20.2.2 [concept.true] - 20.2.3 [concept.operator] - 20.2.4 [concept.predicate] - 20.2.5 [concept.comparison] - 20.2.6 [concept.construct] - 20.2.7 [concept.destruct] - 20.2.8 [concept.copymove] - 20.2.9 [concept.memory] - 20.2.10 [concept.regular] - 20.2.11 [concept.convertible] - 20.2.12 [concept.arithmetic] + 20.2.3 [concept.classify] + 20.2.4 [concept.operator] + 20.2.5 [concept.predicate] + 20.2.6 [concept.comparison] + 20.2.7 [concept.construct] + 20.2.8 [concept.destruct] + 20.2.9 [concept.copymove] + 20.2.10 [concept.memory] + 20.2.11 [concept.regular] + 20.2.12 [concept.convertible] + 20.2.13 [concept.arithmetic] 20.3 [utility] 20.3.1 [operators] 20.3.2 [forward] @@ -597,15 +597,14 @@ 20.5 [tuple] 20.5.1 [tuple.general] 20.5.2 [tuple.tuple] - 20.5.2.1 [tuple.traits] - 20.5.2.2 [tuple.cnstr] - 20.5.2.3 [tuple.creation] - 20.5.2.4 [tuple.helper] - 20.5.2.5 [tuple.elem] - 20.5.2.6 [tuple.rel] - 20.5.2.7 [tuple.swap] - 20.5.2.8 [tuple.special] - 20.5.2.9 [tuple.concepts] + 20.5.2.1 [tuple.cnstr] + 20.5.2.2 [tuple.creation] + 20.5.2.3 [tuple.helper] + 20.5.2.4 [tuple.elem] + 20.5.2.5 [tuple.rel] + 20.5.2.6 [tuple.swap] + 20.5.2.7 [tuple.special] + 20.5.2.8 [tuple.concepts] 20.6 [meta] 20.6.1 [meta.rqmts] 20.6.2 [meta.type.synop] @@ -660,79 +659,72 @@ 20.7.16.2.6 [func.wrap.func.nullptr] 20.7.16.2.7 [func.wrap.func.alg] 20.7.17 [unord.hash] - 20.7.18 [func.referenceclosure] - 20.7.18.1 [func.referenceclosure.cons] - 20.7.18.2 [func.referenceclosure.obs] - 20.7.18.3 [func.referenceclosure.invoke] - 20.7.18.4 [func.referenceclosure.compare] 20.8 [memory] 20.8.1 [allocator.tag] 20.8.2 [allocator] 20.8.2.1 [allocator.general] 20.8.2.2 [allocator.concepts] + 20.8.2.3 [allocator.concepts.legacy] + 20.8.2.4 [allocator.concepts.members] 20.8.3 [allocator.element.concepts] - 20.8.4 [allocator.propagation] - 20.8.5 [allocator.propagation.map] - 20.8.6 [default.allocator] - 20.8.6.1 [allocator.members] - 20.8.6.2 [allocator.globals] - 20.8.7 [allocator.adaptor] - 20.8.7.1 [allocator.adaptor.cntr] - 20.8.7.2 [allocator.adaptor.members] - 20.8.7.3 [allocator.adaptor.globals] - 20.8.8 [storage.iterator] - 20.8.9 [temporary.buffer] - 20.8.10 [construct.element] - 20.8.11 [specialized.algorithms] - 20.8.11.1 [object.addressof] - 20.8.11.2 [uninitialized.copy] - 20.8.11.3 [uninitialized.fill] - 20.8.11.4 [uninitialized.fill.n] - 20.8.12 [unique.ptr] - 20.8.12.1 [unique.ptr.dltr] - 20.8.12.1.1 [unique.ptr.dltr.dflt] - 20.8.12.1.2 [unique.ptr.dltr.dflt1] - 20.8.12.1.3 [unique.ptr.dltr.dflt2] - 20.8.12.2 [unique.ptr.single] - 20.8.12.2.1 [unique.ptr.single.ctor] - 20.8.12.2.2 [unique.ptr.single.dtor] - 20.8.12.2.3 [unique.ptr.single.asgn] - 20.8.12.2.4 [unique.ptr.single.observers] - 20.8.12.2.5 [unique.ptr.single.modifiers] - 20.8.12.3 [unique.ptr.runtime] - 20.8.12.3.1 [unique.ptr.runtime.ctor] - 20.8.12.3.2 [unique.ptr.runtime.observers] - 20.8.12.3.3 [unique.ptr.runtime.modifiers] - X [unique.ptr.compiletime] - 20.8.12.4 [unique.ptr.special] - 20.8.13 [util.smartptr] - 20.8.13.1 [util.smartptr.weakptr] - 20.8.13.2 [util.smartptr.shared] - 20.8.13.2.1 [util.smartptr.shared.const] - 20.8.13.2.2 [util.smartptr.shared.dest] - 20.8.13.2.3 [util.smartptr.shared.assign] - 20.8.13.2.4 [util.smartptr.shared.mod] - 20.8.13.2.5 [util.smartptr.shared.obs] - 20.8.13.2.6 [util.smartptr.shared.create] - 20.8.13.2.7 [util.smartptr.shared.cmp] - 20.8.13.2.8 [util.smartptr.shared.io] - 20.8.13.2.9 [util.smartptr.shared.spec] - 20.8.13.2.10 [util.smartptr.shared.cast] - 20.8.13.2.11 [util.smartptr.getdeleter] - 20.8.13.3 [util.smartptr.weak] - 20.8.13.3.1 [util.smartptr.weak.const] - 20.8.13.3.2 [util.smartptr.weak.dest] - 20.8.13.3.3 [util.smartptr.weak.assign] - 20.8.13.3.4 [util.smartptr.weak.mod] - 20.8.13.3.5 [util.smartptr.weak.obs] - 20.8.13.3.6 [util.smartptr.weak.cmp] - 20.8.13.3.7 [util.smartptr.weak.spec] - 20.8.13.4 [util.smartptr.ownerless] - 20.8.13.5 [util.smartptr.enab] - 20.8.13.6 [util.smartptr.shared.atomic] - 20.8.13.7 [util.dynamic.safety] - 20.8.14 [ptr.align] - 20.8.15 [c.malloc] + 20.8.4 [default.allocator] + 20.8.4.1 [allocator.members] + 20.8.4.2 [allocator.globals] + 20.8.5 [allocator.adaptor] + 20.8.5.1 [allocator.adaptor.base] + 20.8.5.2 [allocator.adaptor.cntr] + 20.8.5.3 [allocator.adaptor2.cntr] + 20.8.5.4 [allocator.adaptor.members] + 20.8.5.5 [allocator.adaptor.globals] + 20.8.6 [storage.iterator] + 20.8.7 [temporary.buffer] + 20.8.8 [specialized.algorithms] + 20.8.8.1 [object.addressof] + 20.8.8.2 [uninitialized.copy] + 20.8.8.3 [uninitialized.fill] + 20.8.8.4 [uninitialized.fill.n] + 20.8.9 [unique.ptr] + 20.8.9.1 [unique.ptr.dltr] + 20.8.9.1.1 [unique.ptr.dltr.dflt] + 20.8.9.1.2 [unique.ptr.dltr.dflt1] + 20.8.9.2 [unique.ptr.single] + 20.8.9.2.1 [unique.ptr.single.ctor] + 20.8.9.2.2 [unique.ptr.single.dtor] + 20.8.9.2.3 [unique.ptr.single.asgn] + 20.8.9.2.4 [unique.ptr.single.observers] + 20.8.9.2.5 [unique.ptr.single.modifiers] + 20.8.9.3 [unique.ptr.runtime] + 20.8.9.3.1 [unique.ptr.runtime.ctor] + 20.8.9.3.2 [unique.ptr.runtime.observers] + 20.8.9.3.3 [unique.ptr.runtime.modifiers] + 20.8.9.4 [unique.ptr.special] + 20.8.10 [util.smartptr] + 20.8.10.1 [util.smartptr.weakptr] + 20.8.10.2 [util.smartptr.shared] + 20.8.10.2.1 [util.smartptr.shared.const] + 20.8.10.2.2 [util.smartptr.shared.dest] + 20.8.10.2.3 [util.smartptr.shared.assign] + 20.8.10.2.4 [util.smartptr.shared.mod] + 20.8.10.2.5 [util.smartptr.shared.obs] + 20.8.10.2.6 [util.smartptr.shared.create] + 20.8.10.2.7 [util.smartptr.shared.cmp] + 20.8.10.2.8 [util.smartptr.shared.io] + 20.8.10.2.9 [util.smartptr.shared.spec] + 20.8.10.2.10 [util.smartptr.shared.cast] + 20.8.10.2.11 [util.smartptr.getdeleter] + 20.8.10.3 [util.smartptr.weak] + 20.8.10.3.1 [util.smartptr.weak.const] + 20.8.10.3.2 [util.smartptr.weak.dest] + 20.8.10.3.3 [util.smartptr.weak.assign] + 20.8.10.3.4 [util.smartptr.weak.mod] + 20.8.10.3.5 [util.smartptr.weak.obs] + 20.8.10.3.6 [util.smartptr.weak.spec] + 20.8.10.4 [util.smartptr.ownerless] + 20.8.10.5 [util.smartptr.enab] + 20.8.10.6 [util.smartptr.shared.atomic] + 20.8.10.7 [util.dynamic.safety] + 20.8.11 [ptr.align] + 20.8.12 [c.malloc] 20.9 [time] 20.9.1 [time.clock.req] 20.9.2 [time.traits] @@ -761,628 +753,636 @@ 20.9.5.3 [time.clock.hires] 20.10 [date.time] 21 [strings] - 21.1 [char.traits] - 21.1.1 [char.traits.require] - 21.1.2 [char.traits.typedefs] - 21.1.3 [char.traits.specializations] - 21.1.3.1 [char.traits.specializations.char] - 21.1.3.2 [char.traits.specializations.char16_t] - 21.1.3.3 [char.traits.specializations.char32_t] - 21.1.3.4 [char.traits.specializations.wchar.t] - 21.2 [string.classes] - 21.3 [basic.string] - 21.3.1 [string.require] - 21.3.2 [string.cons] - 21.3.3 [string.iterators] - 21.3.4 [string.capacity] - 21.3.5 [string.access] - 21.3.6 [string.modifiers] - 21.3.6.1 [string::op+=] - 21.3.6.2 [string::append] - 21.3.6.3 [string::assign] - 21.3.6.4 [string::insert] - 21.3.6.5 [string::erase] - 21.3.6.6 [string::replace] - 21.3.6.7 [string::copy] - 21.3.6.8 [string::swap] - 21.3.7 [string.ops] - 21.3.7.1 [string.accessors] - 21.3.7.2 [string::find] - 21.3.7.3 [string::rfind] - 21.3.7.4 [string::find.first.of] - 21.3.7.5 [string::find.last.of] - 21.3.7.6 [string::find.first.not.of] - 21.3.7.7 [string::find.last.not.of] - 21.3.7.8 [string::substr] - 21.3.7.9 [string::compare] - 21.3.8 [string.nonmembers] - 21.3.8.1 [string::op+] - 21.3.8.2 [string::operator==] - 21.3.8.3 [string::op!=] - 21.3.8.4 [string::op<] - 21.3.8.5 [string::op>] - 21.3.8.6 [string::op<=] - 21.3.8.7 [string::op>=] - 21.3.8.8 [string.special] - 21.3.8.9 [string.io] - 21.4 [string.conversions] - 21.5 [c.strings] + 21.1 [strings.general] + 21.2 [char.traits] + 21.2.1 [char.traits.require] + 21.2.2 [char.traits.typedefs] + 21.2.3 [char.traits.specializations] + 21.2.3.1 [char.traits.specializations.char] + 21.2.3.2 [char.traits.specializations.char16_t] + 21.2.3.3 [char.traits.specializations.char32_t] + 21.2.3.4 [char.traits.specializations.wchar.t] + 21.3 [string.classes] + 21.4 [basic.string] + 21.4.1 [string.require] + 21.4.2 [string.cons] + 21.4.3 [string.iterators] + 21.4.4 [string.capacity] + 21.4.5 [string.access] + 21.4.6 [string.modifiers] + 21.4.6.1 [string::op+=] + 21.4.6.2 [string::append] + 21.4.6.3 [string::assign] + 21.4.6.4 [string::insert] + 21.4.6.5 [string::erase] + 21.4.6.6 [string::replace] + 21.4.6.7 [string::copy] + 21.4.6.8 [string::swap] + 21.4.7 [string.ops] + 21.4.7.1 [string.accessors] + 21.4.7.2 [string::find] + 21.4.7.3 [string::rfind] + 21.4.7.4 [string::find.first.of] + 21.4.7.5 [string::find.last.of] + 21.4.7.6 [string::find.first.not.of] + 21.4.7.7 [string::find.last.not.of] + 21.4.7.8 [string::substr] + 21.4.7.9 [string::compare] + 21.4.8 [string.nonmembers] + 21.4.8.1 [string::op+] + 21.4.8.2 [string::operator==] + 21.4.8.3 [string::op!=] + 21.4.8.4 [string::op<] + 21.4.8.5 [string::op>] + 21.4.8.6 [string::op<=] + 21.4.8.7 [string::op>=] + 21.4.8.8 [string.special] + 21.4.8.9 [string.io] + 21.5 [string.conversions] + 21.6 [c.strings] 22 [localization] - 22.1 [locales] - 22.1.1 [locale] - 22.1.1.1 [locale.types] - 22.1.1.1.1 [locale.category] - 22.1.1.1.2 [locale.facet] - 22.1.1.1.3 [locale.id] - 22.1.1.2 [locale.cons] - 22.1.1.3 [locale.members] - 22.1.1.4 [locale.operators] - 22.1.1.5 [locale.statics] - 22.1.2 [locale.global.templates] - 22.1.3 [locale.convenience] - 22.1.3.1 [classification] - 22.1.3.2 [conversions] - 22.1.3.2.1 [conversions.character] - 22.1.3.2.2 [conversions.string] - 22.1.3.2.3 [conversions.buffer] - 22.2 [locale.categories] - 22.2.1 [category.ctype] - 22.2.1.1 [locale.ctype] - 22.2.1.1.1 [locale.ctype.members] - 22.2.1.1.2 [locale.ctype.virtuals] - 22.2.1.2 [locale.ctype.byname] - 22.2.1.3 [facet.ctype.special] - 22.2.1.3.1 [facet.ctype.char.dtor] - 22.2.1.3.2 [facet.ctype.char.members] - 22.2.1.3.3 [facet.ctype.char.statics] - 22.2.1.3.4 [facet.ctype.char.virtuals] - 22.2.1.4 [locale.codecvt] - 22.2.1.4.1 [locale.codecvt.members] - 22.2.1.4.2 [locale.codecvt.virtuals] - 22.2.1.5 [locale.codecvt.byname] - 22.2.2 [category.numeric] - 22.2.2.1 [locale.num.get] - 22.2.2.1.1 [facet.num.get.members] - 22.2.2.1.2 [facet.num.get.virtuals] - 22.2.2.2 [locale.nm.put] - 22.2.2.2.1 [facet.num.put.members] - 22.2.2.2.2 [facet.num.put.virtuals] - 22.2.3 [facet.numpunct] - 22.2.3.1 [locale.numpunct] - 22.2.3.1.1 [facet.numpunct.members] - 22.2.3.1.2 [facet.numpunct.virtuals] - 22.2.3.2 [locale.numpunct.byname] - 22.2.4 [category.collate] - 22.2.4.1 [locale.collate] - 22.2.4.1.1 [locale.collate.members] - 22.2.4.1.2 [locale.collate.virtuals] - 22.2.4.2 [locale.collate.byname] - 22.2.5 [category.time] - 22.2.5.1 [locale.time.get] - 22.2.5.1.1 [locale.time.get.members] - 22.2.5.1.2 [locale.time.get.virtuals] - 22.2.5.2 [locale.time.get.byname] - 22.2.5.3 [locale.time.put] - 22.2.5.3.1 [locale.time.put.members] - 22.2.5.3.2 [locale.time.put.virtuals] - 22.2.5.4 [locale.time.put.byname] - 22.2.6 [category.monetary] - 22.2.6.1 [locale.money.get] - 22.2.6.1.1 [locale.money.get.members] - 22.2.6.1.2 [locale.money.get.virtuals] - 22.2.6.2 [locale.money.put] - 22.2.6.2.1 [locale.money.put.members] - 22.2.6.2.2 [locale.money.put.virtuals] - 22.2.6.3 [locale.moneypunct] - 22.2.6.3.1 [locale.moneypunct.members] - 22.2.6.3.2 [locale.moneypunct.virtuals] - 22.2.6.4 [locale.moneypunct.byname] - 22.2.7 [category.messages] - 22.2.7.1 [locale.messages] - 22.2.7.1.1 [locale.messages.members] - 22.2.7.1.2 [locale.messages.virtuals] - 22.2.7.2 [locale.messages.byname] - 22.2.8 [facets.examples] - 22.3 [locale.stdcvt] - 22.4 [c.locales] + 22.1 [localization.general] + 22.2 [locale.syn] + 22.3 [locales] + 22.3.1 [locale] + 22.3.1.1 [locale.types] + 22.3.1.1.1 [locale.category] + 22.3.1.1.2 [locale.facet] + 22.3.1.1.3 [locale.id] + 22.3.1.2 [locale.cons] + 22.3.1.3 [locale.members] + 22.3.1.4 [locale.operators] + 22.3.1.5 [locale.statics] + 22.3.2 [locale.global.templates] + 22.3.3 [locale.convenience] + 22.3.3.1 [classification] + 22.3.3.2 [conversions] + 22.3.3.2.1 [conversions.character] + 22.3.3.2.2 [conversions.string] + 22.3.3.2.3 [conversions.buffer] + 22.4 [locale.categories] + 22.4.1 [category.ctype] + 22.4.1.1 [locale.ctype] + 22.4.1.1.1 [locale.ctype.members] + 22.4.1.1.2 [locale.ctype.virtuals] + 22.4.1.2 [locale.ctype.byname] + 22.4.1.3 [facet.ctype.special] + 22.4.1.3.1 [facet.ctype.char.dtor] + 22.4.1.3.2 [facet.ctype.char.members] + 22.4.1.3.3 [facet.ctype.char.statics] + 22.4.1.3.4 [facet.ctype.char.virtuals] + 22.4.1.4 [locale.codecvt] + 22.4.1.4.1 [locale.codecvt.members] + 22.4.1.4.2 [locale.codecvt.virtuals] + 22.4.1.5 [locale.codecvt.byname] + 22.4.2 [category.numeric] + 22.4.2.1 [locale.num.get] + 22.4.2.1.1 [facet.num.get.members] + 22.4.2.1.2 [facet.num.get.virtuals] + 22.4.2.2 [locale.nm.put] + 22.4.2.2.1 [facet.num.put.members] + 22.4.2.2.2 [facet.num.put.virtuals] + 22.4.3 [facet.numpunct] + 22.4.3.1 [locale.numpunct] + 22.4.3.1.1 [facet.numpunct.members] + 22.4.3.1.2 [facet.numpunct.virtuals] + 22.4.3.2 [locale.numpunct.byname] + 22.4.4 [category.collate] + 22.4.4.1 [locale.collate] + 22.4.4.1.1 [locale.collate.members] + 22.4.4.1.2 [locale.collate.virtuals] + 22.4.4.2 [locale.collate.byname] + 22.4.5 [category.time] + 22.4.5.1 [locale.time.get] + 22.4.5.1.1 [locale.time.get.members] + 22.4.5.1.2 [locale.time.get.virtuals] + 22.4.5.2 [locale.time.get.byname] + 22.4.5.3 [locale.time.put] + 22.4.5.3.1 [locale.time.put.members] + 22.4.5.3.2 [locale.time.put.virtuals] + 22.4.5.4 [locale.time.put.byname] + 22.4.6 [category.monetary] + 22.4.6.1 [locale.money.get] + 22.4.6.1.1 [locale.money.get.members] + 22.4.6.1.2 [locale.money.get.virtuals] + 22.4.6.2 [locale.money.put] + 22.4.6.2.1 [locale.money.put.members] + 22.4.6.2.2 [locale.money.put.virtuals] + 22.4.6.3 [locale.moneypunct] + 22.4.6.3.1 [locale.moneypunct.members] + 22.4.6.3.2 [locale.moneypunct.virtuals] + 22.4.6.4 [locale.moneypunct.byname] + 22.4.7 [category.messages] + 22.4.7.1 [locale.messages] + 22.4.7.1.1 [locale.messages.members] + 22.4.7.1.2 [locale.messages.virtuals] + 22.4.7.2 [locale.messages.byname] + 22.4.8 [facets.examples] + 22.5 [locale.stdcvt] + 22.6 [c.locales] 23 [containers] - 23.1 [container.requirements] - 23.1.1 [container.requirements.general] - 23.1.2 [container.requirements.dataraces] - 23.1.3 [sequence.reqmts] - 23.1.4 [associative.reqmts] - 23.1.4.1 [associative.reqmts.except] - 23.1.5 [unord.req] - 23.1.5.1 [unord.req.except] - 23.1.6 [container.concepts] - 23.1.6.1 [container.concepts.free] - 23.1.6.2 [container.concepts.member] - 23.1.6.3 [container.concepts.maps] - 23.2 [sequences] - 23.2.1 [array] - 23.2.1.1 [array.cons] - 23.2.1.2 [array.special] - 23.2.1.3 [array.size] - 23.2.1.4 [array.data] - 23.2.1.5 [array.fill] - 23.2.1.6 [array.zero] - 23.2.1.7 [array.tuple] - 23.2.2 [deque] - 23.2.2.1 [deque.cons] - 23.2.2.2 [deque.capacity] - 23.2.2.3 [deque.modifiers] - 23.2.2.4 [deque.special] - 23.2.3 [forwardlist] - 23.2.3.1 [forwardlist.cons] - 23.2.3.2 [forwardlist.iter] - 23.2.3.3 [forwardlist.access] - 23.2.3.4 [forwardlist.modifiers] - 23.2.3.5 [forwardlist.ops] - 23.2.3.6 [forwardlist.spec] - 23.2.4 [list] - 23.2.4.1 [list.cons] - 23.2.4.2 [list.capacity] - 23.2.4.3 [list.modifiers] - 23.2.4.4 [list.ops] - 23.2.4.5 [list.special] - 23.2.5 [container.adaptors] - 23.2.5.1 [queue] - 23.2.5.1.1 [queue.defn] - 23.2.5.1.2 [queue.ops] - 23.2.5.1.3 [queue.special] - 23.2.5.2 [priority.queue] - 23.2.5.2.1 [priqueue.cons] - 23.2.5.2.2 [priqueue.members] - 23.2.5.2.3 [priqueue.special] - 23.2.5.3 [stack] - 23.2.5.3.1 [stack.defn] - 23.2.5.3.2 [stack.ops] - 23.2.5.3.3 [stack.special] - 23.2.6 [vector] - 23.2.6.1 [vector.cons] - 23.2.6.2 [vector.capacity] - 23.2.6.3 [vector.data] - 23.2.6.4 [vector.modifiers] - 23.2.6.5 [vector.special] - 23.2.7 [vector.bool] - 23.3 [associative] - 23.3.1 [map] - 23.3.1.1 [map.cons] - 23.3.1.2 [map.access] - 23.3.1.3 [map.modifiers] - 23.3.1.4 [map.ops] - 23.3.1.5 [map.special] - 23.3.2 [multimap] - 23.3.2.1 [multimap.cons] - 23.3.2.2 [multimap.modifiers] - 23.3.2.3 [multimap.ops] - 23.3.2.4 [multimap.special] - 23.3.3 [set] - 23.3.3.1 [set.cons] - 23.3.3.2 [set.special] - 23.3.4 [multiset] - 23.3.4.1 [multiset.cons] - 23.3.4.2 [multiset.special] - 23.4 [unord] - 23.4.1 [unord.map] - 23.4.1.1 [unord.map.cnstr] - 23.4.1.2 [unord.map.elem] - 23.4.1.3 [unord.map.swap] - 23.4.2 [unord.multimap] - 23.4.2.1 [unord.multimap.cnstr] - 23.4.2.2 [unord.multimap.swap] - 23.4.3 [unord.set] - 23.4.3.1 [unord.set.cnstr] - 23.4.3.2 [unord.set.swap] - 23.4.4 [unord.multiset] - 23.4.4.1 [unord.multiset.cnstr] - 23.4.4.2 [unord.multiset.swap] + 23.1 [containers.general] + 23.2 [container.requirements] + 23.2.1 [container.requirements.general] + 23.2.2 [container.requirements.dataraces] + 23.2.3 [sequence.reqmts] + 23.2.4 [associative.reqmts] + 23.2.4.1 [associative.reqmts.except] + 23.2.5 [unord.req] + 23.2.5.1 [unord.req.except] + 23.2.6 [container.concepts] + 23.2.6.1 [container.concepts.free] + 23.2.6.2 [container.concepts.member] + 23.2.6.3 [container.concepts.maps] + 23.3 [sequences] + 23.3.1 [array] + 23.3.1.1 [array.cons] + 23.3.1.2 [array.special] + 23.3.1.3 [array.size] + 23.3.1.4 [array.data] + 23.3.1.5 [array.fill] + 23.3.1.6 [array.zero] + 23.3.1.7 [array.tuple] + 23.3.2 [deque] + 23.3.2.1 [deque.cons] + 23.3.2.2 [deque.capacity] + 23.3.2.3 [deque.modifiers] + 23.3.2.4 [deque.special] + 23.3.3 [forwardlist] + 23.3.3.1 [forwardlist.cons] + 23.3.3.2 [forwardlist.iter] + 23.3.3.3 [forwardlist.access] + 23.3.3.4 [forwardlist.modifiers] + 23.3.3.5 [forwardlist.ops] + 23.3.3.6 [forwardlist.spec] + 23.3.4 [list] + 23.3.4.1 [list.cons] + 23.3.4.2 [list.capacity] + 23.3.4.3 [list.modifiers] + 23.3.4.4 [list.ops] + 23.3.4.5 [list.special] + 23.3.5 [container.adaptors] + 23.3.5.1 [queue] + 23.3.5.1.1 [queue.defn] + 23.3.5.1.2 [queue.ops] + 23.3.5.1.3 [queue.special] + 23.3.5.2 [priority.queue] + 23.3.5.2.1 [priqueue.cons] + 23.3.5.2.2 [priqueue.members] + 23.3.5.2.3 [priqueue.special] + 23.3.5.3 [stack] + 23.3.5.3.1 [stack.defn] + 23.3.5.3.2 [stack.ops] + 23.3.5.3.3 [stack.special] + 23.3.6 [vector] + 23.3.6.1 [vector.cons] + 23.3.6.2 [vector.capacity] + 23.3.6.3 [vector.data] + 23.3.6.4 [vector.modifiers] + 23.3.6.5 [vector.special] + 23.3.7 [vector.bool] + 23.4 [associative] + 23.4.1 [map] + 23.4.1.1 [map.cons] + 23.4.1.2 [map.access] + 23.4.1.3 [map.modifiers] + 23.4.1.4 [map.ops] + 23.4.1.5 [map.special] + 23.4.2 [multimap] + 23.4.2.1 [multimap.cons] + 23.4.2.2 [multimap.modifiers] + 23.4.2.3 [multimap.ops] + 23.4.2.4 [multimap.special] + 23.4.3 [set] + 23.4.3.1 [set.cons] + 23.4.3.2 [set.special] + 23.4.4 [multiset] + 23.4.4.1 [multiset.cons] + 23.4.4.2 [multiset.special] + 23.5 [unord] + 23.5.1 [unord.map] + 23.5.1.1 [unord.map.cnstr] + 23.5.1.2 [unord.map.elem] + 23.5.1.3 [unord.map.swap] + 23.5.2 [unord.multimap] + 23.5.2.1 [unord.multimap.cnstr] + 23.5.2.2 [unord.multimap.swap] + 23.5.3 [unord.set] + 23.5.3.1 [unord.set.cnstr] + 23.5.3.2 [unord.set.swap] + 23.5.4 [unord.multiset] + 23.5.4.1 [unord.multiset.cnstr] + 23.5.4.2 [unord.multiset.swap] 24 [iterators] - 24.1 [iterator.concepts] - 24.1.1 [iterator.iterators] - 24.1.2 [input.iterators] - 24.1.3 [output.iterators] - 24.1.4 [forward.iterators] - 24.1.5 [bidirectional.iterators] - 24.1.6 [random.access.iterators] - 24.1.7 [shuffle.iterators] - 24.1.8 [iterator.concepts.range] - 24.2 [iterator.synopsis] - 24.3 [iterator.operations] - 24.4 [predef.iterators] - 24.4.1 [reverse.iterators] - 24.4.1.1 [reverse.iterator] - 24.4.1.2 [reverse.iter.requirements] - 24.4.1.3 [reverse.iter.ops] - 24.4.1.3.1 [reverse.iter.cons] - 24.4.1.3.2 [reverse.iter.op=] - 24.4.1.3.3 [reverse.iter.conv] - 24.4.1.3.4 [reverse.iter.op.star] - 24.4.1.3.5 [reverse.iter.opref] - 24.4.1.3.6 [reverse.iter.op++] - 24.4.1.3.7 [reverse.iter.op--] - 24.4.1.3.8 [reverse.iter.op+] - 24.4.1.3.9 [reverse.iter.op+=] - 24.4.1.3.10 [reverse.iter.op-] - 24.4.1.3.11 [reverse.iter.op-=] - 24.4.1.3.12 [reverse.iter.opindex] - 24.4.1.3.13 [reverse.iter.op==] - 24.4.1.3.14 [reverse.iter.op<] - 24.4.1.3.15 [reverse.iter.op!=] - 24.4.1.3.16 [reverse.iter.op>] - 24.4.1.3.17 [reverse.iter.op>=] - 24.4.1.3.18 [reverse.iter.op<=] - 24.4.1.3.19 [reverse.iter.opdiff] - 24.4.1.3.20 [reverse.iter.opsum] - 24.4.1.4 [reverse.iter.maps] - 24.4.2 [insert.iterators] - 24.4.2.1 [back.insert.iterator] - 24.4.2.2 [back.insert.iter.ops] - 24.4.2.2.1 [back.insert.iter.cons] - 24.4.2.2.2 [back.insert.iter.op=] - 24.4.2.2.3 [back.insert.iter.op*] - 24.4.2.2.4 [back.insert.iter.op++] - 24.4.2.2.5 [back.inserter] - 24.4.2.2.6 [back.insert.iter.maps] - 24.4.2.3 [front.insert.iterator] - 24.4.2.4 [front.insert.iter.ops] - 24.4.2.4.1 [front.insert.iter.cons] - 24.4.2.4.2 [front.insert.iter.op=] - 24.4.2.4.3 [front.insert.iter.op*] - 24.4.2.4.4 [front.insert.iter.op++] - 24.4.2.4.5 [front.inserter] - 24.4.2.4.6 [front.insert.iter.maps] - 24.4.2.5 [insert.iterator] - 24.4.2.6 [insert.iter.ops] - 24.4.2.6.1 [insert.iter.cons] - 24.4.2.6.2 [insert.iter.op=] - 24.4.2.6.3 [insert.iter.op*] - 24.4.2.6.4 [insert.iter.op++] - 24.4.2.6.5 [inserter] - 24.4.2.6.6 [insert.iter.maps] - 24.4.3 [move.iterators] - 24.4.3.1 [move.iterator] - 24.4.3.2 [move.iter.requirements] - 24.4.3.3 [move.iter.ops] - 24.4.3.3.1 [move.iter.op.const] - 24.4.3.3.2 [move.iter.op=] - 24.4.3.3.3 [move.iter.op.conv] - 24.4.3.3.4 [move.iter.op.star] - 24.4.3.3.5 [move.iter.op.ref] - 24.4.3.3.6 [move.iter.op.incr] - 24.4.3.3.7 [move.iter.op.decr] - 24.4.3.3.8 [move.iter.op.+] - 24.4.3.3.9 [move.iter.op.+=] - 24.4.3.3.10 [move.iter.op.-] - 24.4.3.3.11 [move.iter.op.-=] - 24.4.3.3.12 [move.iter.op.index] - 24.4.3.3.13 [move.iter.op.comp] - 24.4.3.3.14 [move.iter.nonmember] - 24.4.3.3.15 [move.iter.maps] - 24.5 [stream.iterators] - 24.5.1 [istream.iterator] - 24.5.1.1 [istream.iterator.cons] - 24.5.1.2 [istream.iterator.ops] - 24.5.2 [ostream.iterator] - 24.5.2.1 [ostream.iterator.cons.des] - 24.5.2.2 [ostream.iterator.ops] - 24.5.3 [istreambuf.iterator] - 24.5.3.1 [istreambuf.iterator::proxy] - 24.5.3.2 [istreambuf.iterator.cons] - 24.5.3.3 [istreambuf.iterator::op*] - 24.5.3.4 [istreambuf.iterator::op++] - 24.5.3.5 [istreambuf.iterator::equal] - 24.5.3.6 [istreambuf.iterator::op==] - 24.5.3.7 [istreambuf.iterator::op!=] - 24.5.4 [ostreambuf.iterator] - 24.5.4.1 [ostreambuf.iter.cons] - 24.5.4.2 [ostreambuf.iter.ops] + 24.1 [iterators.general] + 24.2 [iterator.concepts] + 24.2.1 [iterator.iterators] + 24.2.2 [input.iterators] + 24.2.3 [output.iterators] + 24.2.4 [forward.iterators] + 24.2.5 [bidirectional.iterators] + 24.2.6 [random.access.iterators] + 24.2.7 [shuffle.iterators] + 24.2.8 [iterator.concepts.range] + 24.3 [iterator.syn] + 24.4 [iterator.operations] + 24.5 [predef.iterators] + 24.5.1 [reverse.iterators] + 24.5.1.1 [reverse.iterator] + 24.5.1.2 [reverse.iter.ops] + 24.5.1.2.1 [reverse.iter.cons] + 24.5.1.2.2 [reverse.iter.op=] + 24.5.1.2.3 [reverse.iter.conv] + 24.5.1.2.4 [reverse.iter.op.star] + 24.5.1.2.5 [reverse.iter.opref] + 24.5.1.2.6 [reverse.iter.op++] + 24.5.1.2.7 [reverse.iter.op--] + 24.5.1.2.8 [reverse.iter.op+] + 24.5.1.2.9 [reverse.iter.op+=] + 24.5.1.2.10 [reverse.iter.op-] + 24.5.1.2.11 [reverse.iter.op-=] + 24.5.1.2.12 [reverse.iter.opindex] + 24.5.1.2.13 [reverse.iter.op==] + 24.5.1.2.14 [reverse.iter.op<] + 24.5.1.2.15 [reverse.iter.op!=] + 24.5.1.2.16 [reverse.iter.op>] + 24.5.1.2.17 [reverse.iter.op>=] + 24.5.1.2.18 [reverse.iter.op<=] + 24.5.1.2.19 [reverse.iter.opdiff] + 24.5.1.2.20 [reverse.iter.opsum] + 24.5.1.3 [reverse.iter.maps] + 24.5.2 [move.iterators] + 24.5.2.1 [move.iterator] + 24.5.2.2 [move.iter.ops] + 24.5.2.2.1 [move.iter.op.const] + 24.5.2.2.2 [move.iter.op=] + 24.5.2.2.3 [move.iter.op.conv] + 24.5.2.2.4 [move.iter.op.star] + 24.5.2.2.5 [move.iter.op.ref] + 24.5.2.2.6 [move.iter.op.incr] + 24.5.2.2.7 [move.iter.op.decr] + 24.5.2.2.8 [move.iter.op.+] + 24.5.2.2.9 [move.iter.op.+=] + 24.5.2.2.10 [move.iter.op.-] + 24.5.2.2.11 [move.iter.op.-=] + 24.5.2.2.12 [move.iter.op.index] + 24.5.2.2.13 [move.iter.op.comp] + 24.5.2.2.14 [move.iter.nonmember] + 24.5.2.2.15 [move.iter.maps] + 24.6 [stream.iterators] + 24.6.1 [istream.iterator] + 24.6.1.1 [istream.iterator.cons] + 24.6.1.2 [istream.iterator.ops] + 24.6.2 [ostream.iterator] + 24.6.2.1 [ostream.iterator.cons.des] + 24.6.2.2 [ostream.iterator.ops] + 24.6.3 [istreambuf.iterator] + 24.6.3.1 [istreambuf.iterator::proxy] + 24.6.3.2 [istreambuf.iterator.cons] + 24.6.3.3 [istreambuf.iterator::op*] + 24.6.3.4 [istreambuf.iterator::op++] + 24.6.3.5 [istreambuf.iterator::equal] + 24.6.3.6 [istreambuf.iterator::op==] + 24.6.3.7 [istreambuf.iterator::op!=] + 24.6.4 [ostreambuf.iterator] + 24.6.4.1 [ostreambuf.iter.cons] + 24.6.4.2 [ostreambuf.iter.ops] + 24.7 [insert.iterators] + 24.7.1 [back.insert.iterator] + 24.7.2 [back.insert.iter.ops] + 24.7.2.1 [back.insert.iter.cons] + 24.7.2.2 [back.insert.iter.op=] + 24.7.2.3 [back.insert.iter.op*] + 24.7.2.4 [back.insert.iter.op++] + 24.7.2.5 [back.inserter] + 24.7.2.6 [back.insert.iter.maps] + 24.7.3 [front.insert.iterator] + 24.7.4 [front.insert.iter.ops] + 24.7.4.1 [front.insert.iter.cons] + 24.7.4.2 [front.insert.iter.op=] + 24.7.4.3 [front.insert.iter.op*] + 24.7.4.4 [front.insert.iter.op++] + 24.7.4.5 [front.inserter] + 24.7.4.6 [front.insert.iter.maps] + 24.7.5 [insert.iterator] + 24.7.6 [insert.iter.ops] + 24.7.6.1 [insert.iter.cons] + 24.7.6.2 [insert.iter.op=] + 24.7.6.3 [insert.iter.op*] + 24.7.6.4 [insert.iter.op++] + 24.7.6.5 [inserter] + 24.7.6.6 [insert.iter.maps] 25 [algorithms] - 25.1 [alg.nonmodifying] - 25.1.1 [alg.all_of] - 25.1.2 [alg.any_of] - 25.1.3 [alg.none_of] - 25.1.4 [alg.foreach] - 25.1.5 [alg.find] - 25.1.6 [alg.find.end] - 25.1.7 [alg.find.first.of] - 25.1.8 [alg.adjacent.find] - 25.1.9 [alg.count] - 25.1.10 [mismatch] - 25.1.11 [alg.equal] - 25.1.12 [alg.search] - 25.2 [alg.modifying.operations] - 25.2.1 [alg.copy] - 25.2.2 [alg.move] - 25.2.3 [alg.swap] - 25.2.4 [alg.transform] - 25.2.5 [alg.replace] - 25.2.6 [alg.fill] - 25.2.7 [alg.generate] - 25.2.8 [alg.remove] - 25.2.9 [alg.unique] - 25.2.10 [alg.reverse] - 25.2.11 [alg.rotate] - 25.2.12 [alg.random.shuffle] - 25.2.13 [alg.partitions] - 25.3 [alg.sorting] - 25.3.1 [alg.sort] - 25.3.1.1 [sort] - 25.3.1.2 [stable.sort] - 25.3.1.3 [partial.sort] - 25.3.1.4 [partial.sort.copy] - 25.3.1.5 [is.sorted] - 25.3.2 [alg.nth.element] - 25.3.3 [alg.binary.search] - 25.3.3.1 [lower.bound] - 25.3.3.2 [upper.bound] - 25.3.3.3 [equal.range] - 25.3.3.4 [binary.search] - 25.3.4 [alg.merge] - 25.3.5 [alg.set.operations] - 25.3.5.1 [includes] - 25.3.5.2 [set.union] - 25.3.5.3 [set.intersection] - 25.3.5.4 [set.difference] - 25.3.5.5 [set.symmetric.difference] - 25.3.6 [alg.heap.operations] - 25.3.6.1 [push.heap] - 25.3.6.2 [pop.heap] - 25.3.6.3 [make.heap] - 25.3.6.4 [sort.heap] - 25.3.6.5 [is.heap] - 25.3.7 [alg.min.max] - 25.3.8 [alg.lex.comparison] - 25.3.9 [alg.permutation.generators] - 25.4 [alg.c.library] + 25.1 [algorithms.general] + 25.2 [algorithms.syn] + 25.3 [alg.nonmodifying] + 25.3.1 [alg.all_of] + 25.3.2 [alg.any_of] + 25.3.3 [alg.none_of] + 25.3.4 [alg.foreach] + 25.3.5 [alg.find] + 25.3.6 [alg.find.end] + 25.3.7 [alg.find.first.of] + 25.3.8 [alg.adjacent.find] + 25.3.9 [alg.count] + 25.3.10 [mismatch] + 25.3.11 [alg.equal] + 25.3.12 [alg.search] + 25.4 [alg.modifying.operations] + 25.4.1 [alg.copy] + 25.4.2 [alg.move] + 25.4.3 [alg.swap] + 25.4.4 [alg.transform] + 25.4.5 [alg.replace] + 25.4.6 [alg.fill] + 25.4.7 [alg.generate] + 25.4.8 [alg.remove] + 25.4.9 [alg.unique] + 25.4.10 [alg.reverse] + 25.4.11 [alg.rotate] + 25.4.12 [alg.random.shuffle] + 25.4.13 [alg.partitions] + 25.5 [alg.sorting] + 25.5.1 [alg.sort] + 25.5.1.1 [sort] + 25.5.1.2 [stable.sort] + 25.5.1.3 [partial.sort] + 25.5.1.4 [partial.sort.copy] + 25.5.1.5 [is.sorted] + 25.5.2 [alg.nth.element] + 25.5.3 [alg.binary.search] + 25.5.3.1 [lower.bound] + 25.5.3.2 [upper.bound] + 25.5.3.3 [equal.range] + 25.5.3.4 [binary.search] + 25.5.4 [alg.merge] + 25.5.5 [alg.set.operations] + 25.5.5.1 [includes] + 25.5.5.2 [set.union] + 25.5.5.3 [set.intersection] + 25.5.5.4 [set.difference] + 25.5.5.5 [set.symmetric.difference] + 25.5.6 [alg.heap.operations] + 25.5.6.1 [push.heap] + 25.5.6.2 [pop.heap] + 25.5.6.3 [make.heap] + 25.5.6.4 [sort.heap] + 25.5.6.5 [is.heap] + 25.5.7 [alg.min.max] + 25.5.8 [alg.lex.comparison] + 25.5.9 [alg.permutation.generators] + 25.6 [alg.c.library] 26 [numerics] - 26.1 [numeric.requirements] - 26.2 [cfenv] - 26.2.1 [cfenv.syn] - 26.2.2 [fenv] - 26.3 [complex.numbers] - 26.3.1 [complex.synopsis] - 26.3.2 [complex] - 26.3.3 [complex.special] - 26.3.4 [complex.members] - 26.3.5 [complex.member.ops] - 26.3.6 [complex.ops] - 26.3.7 [complex.value.ops] - 26.3.8 [complex.transcendentals] - 26.3.9 [cmplx.over] - 26.3.10 [ccmplx] - 26.3.11 [cmplxh] - 26.4 [rand] - 26.4.1 [rand.req] - 26.4.1.1 [rand.req.genl] - 26.4.1.2 [rand.req.urng] - 26.4.1.3 [rand.req.eng] - 26.4.1.4 [rand.req.adapt] - 26.4.1.5 [rand.req.dist] - 26.4.2 [rand.synopsis] - 26.4.3 [rand.eng] - 26.4.3.1 [rand.eng.lcong] - 26.4.3.2 [rand.eng.mers] - 26.4.3.3 [rand.eng.sub] - 26.4.4 [rand.adapt] - 26.4.4.1 [rand.adapt.disc] - 26.4.4.2 [rand.adapt.ibits] - 26.4.4.3 [rand.adapt.shuf] - X [rand.adapt.xor] - 26.4.5 [rand.predef] - 26.4.6 [rand.device] - 26.4.7 [rand.util] - 26.4.7.1 [rand.util.seedseq] - 26.4.7.2 [rand.util.canonical] - 26.4.8 [rand.dist] - 26.4.8.1 [rand.dist.uni] - 26.4.8.1.1 [rand.dist.uni.int] - 26.4.8.1.2 [rand.dist.uni.real] - 26.4.8.2 [rand.dist.bern] - 26.4.8.2.1 [rand.dist.bern.bernoulli] - 26.4.8.2.2 [rand.dist.bern.bin] - 26.4.8.2.3 [rand.dist.bern.geo] - 26.4.8.2.4 [rand.dist.bern.negbin] - 26.4.8.3 [rand.dist.pois] - 26.4.8.3.1 [rand.dist.pois.poisson] - 26.4.8.3.2 [rand.dist.pois.exp] - 26.4.8.3.3 [rand.dist.pois.gamma] - 26.4.8.3.4 [rand.dist.pois.weibull] - 26.4.8.3.5 [rand.dist.pois.extreme] - 26.4.8.4 [rand.dist.norm] - 26.4.8.4.1 [rand.dist.norm.normal] - 26.4.8.4.2 [rand.dist.norm.lognormal] - 26.4.8.4.3 [rand.dist.norm.chisq] - 26.4.8.4.4 [rand.dist.norm.cauchy] - 26.4.8.4.5 [rand.dist.norm.f] - 26.4.8.4.6 [rand.dist.norm.t] - 26.4.8.5 [rand.dist.samp] - 26.4.8.5.1 [rand.dist.samp.discrete] - 26.4.8.5.2 [rand.dist.samp.pconst] - 26.4.8.5.3 [rand.dist.samp.genpdf] - 26.5 [numarray] - 26.5.1 [valarray.synopsis] - 26.5.2 [template.valarray] - 26.5.2.1 [valarray.cons] - 26.5.2.2 [valarray.assign] - 26.5.2.3 [valarray.access] - 26.5.2.4 [valarray.sub] - 26.5.2.5 [valarray.unary] - 26.5.2.6 [valarray.cassign] - 26.5.2.7 [valarray.members] - 26.5.3 [valarray.nonmembers] - 26.5.3.1 [valarray.binary] - 26.5.3.2 [valarray.comparison] - 26.5.3.3 [valarray.transcend] - 26.5.3.4 [valarray.special] - 26.5.4 [class.slice] - 26.5.4.1 [cons.slice] - 26.5.4.2 [slice.access] - 26.5.5 [template.slice.array] - 26.5.5.1 [slice.arr.assign] - 26.5.5.2 [slice.arr.comp.assign] - 26.5.5.3 [slice.arr.fill] - 26.5.6 [class.gslice] - 26.5.6.1 [gslice.cons] - 26.5.6.2 [gslice.access] - 26.5.7 [template.gslice.array] - 26.5.7.1 [gslice.array.assign] - 26.5.7.2 [gslice.array.comp.assign] - 26.5.7.3 [gslice.array.fill] - 26.5.8 [template.mask.array] - 26.5.8.1 [mask.array.assign] - 26.5.8.2 [mask.array.comp.assign] - 26.5.8.3 [mask.array.fill] - 26.5.9 [template.indirect.array] - 26.5.9.1 [indirect.array.assign] - 26.5.9.2 [indirect.array.comp.assign] - 26.5.9.3 [indirect.array.fill] - 26.5.9.4 [valarray.concepts] - 26.6 [numeric.ops] - 26.6.1 [accumulate] - 26.6.2 [inner.product] - 26.6.3 [partial.sum] - 26.6.4 [adjacent.difference] - 26.6.5 [numeric.iota] - 26.7 [c.math] + 26.1 [numerics.general] + 26.2 [numeric.requirements] + 26.3 [cfenv] + 26.3.1 [cfenv.syn] + 26.3.2 [fenv] + 26.4 [complex.numbers] + 26.4.1 [complex.syn] + 26.4.2 [complex] + 26.4.3 [complex.special] + 26.4.4 [complex.members] + 26.4.5 [complex.member.ops] + 26.4.6 [complex.ops] + 26.4.7 [complex.value.ops] + 26.4.8 [complex.transcendentals] + 26.4.9 [cmplx.over] + 26.4.10 [ccmplx] + 26.4.11 [cmplxh] + 26.5 [rand] + 26.5.1 [rand.synopsis] + 26.5.2 [rand.concept] + 26.5.2.1 [rand.concept.seedseq] + 26.5.2.2 [rand.concept.urng] + 26.5.2.3 [rand.concept.eng] + 26.5.2.4 [rand.concept.adapt] + 26.5.2.5 [rand.concept.dist] + 26.5.3 [rand.eng] + 26.5.3.1 [rand.eng.lcong] + 26.5.3.2 [rand.eng.mers] + 26.5.3.3 [rand.eng.sub] + 26.5.4 [rand.adapt] + 26.5.4.1 [rand.adapt.disc] + 26.5.4.2 [rand.adapt.ibits] + 26.5.4.3 [rand.adapt.shuf] + 26.5.5 [rand.predef] + 26.5.6 [rand.device] + 26.5.7 [rand.util] + 26.5.7.1 [rand.util.seedseq] + 26.5.7.2 [rand.util.canonical] + 26.5.8 [rand.dist] + 26.5.8.1 [rand.dist.uni] + 26.5.8.1.1 [rand.dist.uni.int] + 26.5.8.1.2 [rand.dist.uni.real] + 26.5.8.2 [rand.dist.bern] + 26.5.8.2.1 [rand.dist.bern.bernoulli] + 26.5.8.2.2 [rand.dist.bern.bin] + 26.5.8.2.3 [rand.dist.bern.geo] + 26.5.8.2.4 [rand.dist.bern.negbin] + 26.5.8.3 [rand.dist.pois] + 26.5.8.3.1 [rand.dist.pois.poisson] + 26.5.8.3.2 [rand.dist.pois.exp] + 26.5.8.3.3 [rand.dist.pois.gamma] + 26.5.8.3.4 [rand.dist.pois.weibull] + 26.5.8.3.5 [rand.dist.pois.extreme] + 26.5.8.4 [rand.dist.norm] + 26.5.8.4.1 [rand.dist.norm.normal] + 26.5.8.4.2 [rand.dist.norm.lognormal] + 26.5.8.4.3 [rand.dist.norm.chisq] + 26.5.8.4.4 [rand.dist.norm.cauchy] + 26.5.8.4.5 [rand.dist.norm.f] + 26.5.8.4.6 [rand.dist.norm.t] + 26.5.8.5 [rand.dist.samp] + 26.5.8.5.1 [rand.dist.samp.discrete] + 26.5.8.5.2 [rand.dist.samp.pconst] + 26.5.8.5.3 [rand.dist.samp.plinear] + 26.6 [numarray] + 26.6.1 [valarray.syn] + 26.6.2 [template.valarray] + 26.6.2.1 [valarray.cons] + 26.6.2.2 [valarray.assign] + 26.6.2.3 [valarray.access] + 26.6.2.4 [valarray.sub] + 26.6.2.5 [valarray.unary] + 26.6.2.6 [valarray.cassign] + 26.6.2.7 [valarray.members] + 26.6.3 [valarray.nonmembers] + 26.6.3.1 [valarray.binary] + 26.6.3.2 [valarray.comparison] + 26.6.3.3 [valarray.transcend] + 26.6.3.4 [valarray.special] + 26.6.4 [class.slice] + 26.6.4.1 [cons.slice] + 26.6.4.2 [slice.access] + 26.6.5 [template.slice.array] + 26.6.5.1 [slice.arr.assign] + 26.6.5.2 [slice.arr.comp.assign] + 26.6.5.3 [slice.arr.fill] + 26.6.6 [class.gslice] + 26.6.6.1 [gslice.cons] + 26.6.6.2 [gslice.access] + 26.6.7 [template.gslice.array] + 26.6.7.1 [gslice.array.assign] + 26.6.7.2 [gslice.array.comp.assign] + 26.6.7.3 [gslice.array.fill] + 26.6.8 [template.mask.array] + 26.6.8.1 [mask.array.assign] + 26.6.8.2 [mask.array.comp.assign] + 26.6.8.3 [mask.array.fill] + 26.6.9 [template.indirect.array] + 26.6.9.1 [indirect.array.assign] + 26.6.9.2 [indirect.array.comp.assign] + 26.6.9.3 [indirect.array.fill] + 26.6.9.4 [valarray.concepts] + 26.7 [numeric.ops] + 26.7.1 [accumulate] + 26.7.2 [inner.product] + 26.7.3 [partial.sum] + 26.7.4 [adjacent.difference] + 26.7.5 [numeric.iota] + 26.8 [c.math] 27 [input.output] - 27.1 [iostreams.requirements] - 27.1.1 [iostream.limits.imbue] - 27.1.2 [iostreams.limits.pos] - 27.1.3 [iostreams.threadsafety] - 27.2 [iostream.forward] - 27.3 [iostream.objects] - 27.3.1 [narrow.stream.objects] - 27.3.2 [wide.stream.objects] - 27.4 [iostreams.base] - 27.4.1 [stream.types] - 27.4.2 [ios.base] - 27.4.2.1 [ios.types] - 27.4.2.1.1 [ios::failure] - 27.4.2.1.2 [ios::fmtflags] - 27.4.2.1.3 [ios::iostate] - 27.4.2.1.4 [ios::openmode] - 27.4.2.1.5 [ios::seekdir] - 27.4.2.1.6 [ios::Init] - 27.4.2.2 [fmtflags.state] - 27.4.2.3 [ios.base.locales] - 27.4.2.4 [ios.members.static] - 27.4.2.5 [ios.base.storage] - 27.4.2.6 [ios.base.callback] - 27.4.2.7 [ios.base.cons] - 27.4.3 [fpos] - 27.4.3.1 [fpos.members] - 27.4.3.2 [fpos.operations] - 27.4.4 [ios] - 27.4.4.1 [basic.ios.cons] - 27.4.4.2 [basic.ios.members] - 27.4.4.3 [iostate.flags] - 27.4.5 [std.ios.manip] - 27.4.5.1 [fmtflags.manip] - 27.4.5.2 [adjustfield.manip] - 27.4.5.3 [basefield.manip] - 27.4.5.4 [floatfield.manip] - 27.4.5.5 [error.reporting] - 27.5 [stream.buffers] - 27.5.1 [streambuf.reqts] - 27.5.2 [streambuf] - 27.5.2.1 [streambuf.cons] - 27.5.2.2 [streambuf.members] - 27.5.2.2.1 [streambuf.locales] - 27.5.2.2.2 [streambuf.buffer] - 27.5.2.2.3 [streambuf.pub.get] - 27.5.2.2.4 [streambuf.pub.pback] - 27.5.2.2.5 [streambuf.pub.put] - 27.5.2.3 [streambuf.protected] - 27.5.2.3.1 [streambuf.assign] - 27.5.2.3.2 [streambuf.get.area] - 27.5.2.3.3 [streambuf.put.area] - 27.5.2.4 [streambuf.virtuals] - 27.5.2.4.1 [streambuf.virt.locales] - 27.5.2.4.2 [streambuf.virt.buffer] - 27.5.2.4.3 [streambuf.virt.get] - 27.5.2.4.4 [streambuf.virt.pback] - 27.5.2.4.5 [streambuf.virt.put] - 27.6 [iostream.format] - 27.6.1 [input.streams] - 27.6.1.1 [istream] - 27.6.1.1.1 [istream.cons] - 27.6.1.1.2 [istream.assign] - 27.6.1.1.3 [istream::sentry] - 27.6.1.2 [istream.formatted] - 27.6.1.2.1 [istream.formatted.reqmts] - 27.6.1.2.2 [istream.formatted.arithmetic] - 27.6.1.2.3 [istream::extractors] - 27.6.1.3 [istream.unformatted] - 27.6.1.4 [istream.manip] - 27.6.1.5 [iostreamclass] - 27.6.1.5.1 [iostream.cons] - 27.6.1.5.2 [iostream.dest] - 27.6.1.5.3 [iostream.assign] - 27.6.2 [output.streams] - 27.6.2.1 [ostream] - 27.6.2.2 [ostream.cons] - 27.6.2.3 [ostream.assign] - 27.6.2.4 [ostream::sentry] - 27.6.2.5 [ostream.seeks] - 27.6.2.6 [ostream.formatted] - 27.6.2.6.1 [ostream.formatted.reqmts] - 27.6.2.6.2 [ostream.inserters.arithmetic] - 27.6.2.6.3 [ostream.inserters] - 27.6.2.6.4 [ostream.inserters.character] - 27.6.2.7 [ostream.unformatted] - 27.6.2.8 [ostream.manip] - 27.6.3 [std.manip] - 27.6.4 [ext.manip] - 27.7 [string.streams] - 27.7.1 [stringbuf] - 27.7.1.1 [stringbuf.cons] - 27.7.1.2 [stringbuf.assign] - 27.7.1.3 [stringbuf.members] - 27.7.1.4 [stringbuf.virtuals] - 27.7.2 [istringstream] - 27.7.2.1 [istringstream.cons] - 27.7.2.2 [istringstream.assign] - 27.7.2.3 [istringstream.members] - 27.7.3 [ostringstream] - 27.7.3.1 [ostringstream.cons] - 27.7.3.2 [ostringstream.assign] - 27.7.3.3 [ostringstream.members] - 27.7.4 [stringstream] - 27.7.5 [stringstream.cons] - 27.7.5.1 [stringstream.assign] - 27.7.6 [stringstream.members] - 27.8 [file.streams] - 27.8.1 [fstreams] - 27.8.1.1 [filebuf] - 27.8.1.2 [filebuf.cons] - 27.8.1.3 [filebuf.assign] - 27.8.1.4 [filebuf.members] - 27.8.1.5 [filebuf.virtuals] - 27.8.1.6 [ifstream] - 27.8.1.7 [ifstream.cons] - 27.8.1.8 [ifstream.assign] - 27.8.1.9 [ifstream.members] - 27.8.1.10 [ofstream] - 27.8.1.11 [ofstream.cons] - 27.8.1.12 [ofstream.assign] - 27.8.1.13 [ofstream.members] - 27.8.1.14 [fstream] - 27.8.1.15 [fstream.cons] - 27.8.1.16 [fstream.assign] - 27.8.1.17 [fstream.members] - 27.8.2 [c.files] + 27.1 [input.output.general] + 27.2 [iostreams.requirements] + 27.2.1 [iostream.limits.imbue] + 27.2.2 [iostreams.limits.pos] + 27.2.3 [iostreams.threadsafety] + 27.3 [iostream.forward] + 27.4 [iostream.objects] + 27.4.1 [narrow.stream.objects] + 27.4.2 [wide.stream.objects] + 27.5 [iostreams.base] + 27.5.1 [stream.types] + 27.5.2 [ios.base] + 27.5.2.1 [ios.types] + 27.5.2.1.1 [ios::failure] + 27.5.2.1.2 [ios::fmtflags] + 27.5.2.1.3 [ios::iostate] + 27.5.2.1.4 [ios::openmode] + 27.5.2.1.5 [ios::seekdir] + 27.5.2.1.6 [ios::Init] + 27.5.2.2 [fmtflags.state] + 27.5.2.3 [ios.base.locales] + 27.5.2.4 [ios.members.static] + 27.5.2.5 [ios.base.storage] + 27.5.2.6 [ios.base.callback] + 27.5.2.7 [ios.base.cons] + 27.5.3 [fpos] + 27.5.3.1 [fpos.members] + 27.5.3.2 [fpos.operations] + 27.5.4 [ios] + 27.5.4.1 [basic.ios.cons] + 27.5.4.2 [basic.ios.members] + 27.5.4.3 [iostate.flags] + 27.5.5 [std.ios.manip] + 27.5.5.1 [fmtflags.manip] + 27.5.5.2 [adjustfield.manip] + 27.5.5.3 [basefield.manip] + 27.5.5.4 [floatfield.manip] + 27.5.5.5 [error.reporting] + 27.6 [stream.buffers] + 27.6.1 [streambuf.reqts] + 27.6.2 [streambuf] + 27.6.2.1 [streambuf.cons] + 27.6.2.2 [streambuf.members] + 27.6.2.2.1 [streambuf.locales] + 27.6.2.2.2 [streambuf.buffer] + 27.6.2.2.3 [streambuf.pub.get] + 27.6.2.2.4 [streambuf.pub.pback] + 27.6.2.2.5 [streambuf.pub.put] + 27.6.2.3 [streambuf.protected] + 27.6.2.3.1 [streambuf.assign] + 27.6.2.3.2 [streambuf.get.area] + 27.6.2.3.3 [streambuf.put.area] + 27.6.2.4 [streambuf.virtuals] + 27.6.2.4.1 [streambuf.virt.locales] + 27.6.2.4.2 [streambuf.virt.buffer] + 27.6.2.4.3 [streambuf.virt.get] + 27.6.2.4.4 [streambuf.virt.pback] + 27.6.2.4.5 [streambuf.virt.put] + 27.7 [iostream.format] + 27.7.1 [input.streams] + 27.7.1.1 [istream] + 27.7.1.1.1 [istream.cons] + 27.7.1.1.2 [istream.assign] + 27.7.1.1.3 [istream::sentry] + 27.7.1.2 [istream.formatted] + 27.7.1.2.1 [istream.formatted.reqmts] + 27.7.1.2.2 [istream.formatted.arithmetic] + 27.7.1.2.3 [istream::extractors] + 27.7.1.3 [istream.unformatted] + 27.7.1.4 [istream.manip] + 27.7.1.5 [iostreamclass] + 27.7.1.5.1 [iostream.cons] + 27.7.1.5.2 [iostream.dest] + 27.7.1.5.3 [iostream.assign] + 27.7.1.6 [istream.rvalue] + 27.7.2 [output.streams] + 27.7.2.1 [ostream] + 27.7.2.2 [ostream.cons] + 27.7.2.3 [ostream.assign] + 27.7.2.4 [ostream::sentry] + 27.7.2.5 [ostream.seeks] + 27.7.2.6 [ostream.formatted] + 27.7.2.6.1 [ostream.formatted.reqmts] + 27.7.2.6.2 [ostream.inserters.arithmetic] + 27.7.2.6.3 [ostream.inserters] + 27.7.2.6.4 [ostream.inserters.character] + 27.7.2.7 [ostream.unformatted] + 27.7.2.8 [ostream.manip] + 27.7.2.9 [ostream.rvalue] + 27.7.3 [std.manip] + 27.7.4 [ext.manip] + 27.8 [string.streams] + 27.8.1 [stringbuf] + 27.8.1.1 [stringbuf.cons] + 27.8.1.2 [stringbuf.assign] + 27.8.1.3 [stringbuf.members] + 27.8.1.4 [stringbuf.virtuals] + 27.8.2 [istringstream] + 27.8.2.1 [istringstream.cons] + 27.8.2.2 [istringstream.assign] + 27.8.2.3 [istringstream.members] + 27.8.3 [ostringstream] + 27.8.3.1 [ostringstream.cons] + 27.8.3.2 [ostringstream.assign] + 27.8.3.3 [ostringstream.members] + 27.8.4 [stringstream] + 27.8.5 [stringstream.cons] + 27.8.5.1 [stringstream.assign] + 27.8.6 [stringstream.members] + 27.9 [file.streams] + 27.9.1 [fstreams] + 27.9.1.1 [filebuf] + 27.9.1.2 [filebuf.cons] + 27.9.1.3 [filebuf.assign] + 27.9.1.4 [filebuf.members] + 27.9.1.5 [filebuf.virtuals] + 27.9.1.6 [ifstream] + 27.9.1.7 [ifstream.cons] + 27.9.1.8 [ifstream.assign] + 27.9.1.9 [ifstream.members] + 27.9.1.10 [ofstream] + 27.9.1.11 [ofstream.cons] + 27.9.1.12 [ofstream.assign] + 27.9.1.13 [ofstream.members] + 27.9.1.14 [fstream] + 27.9.1.15 [fstream.cons] + 27.9.1.16 [fstream.assign] + 27.9.1.17 [fstream.members] + 27.9.2 [c.files] 28 [re] - 28.1 [re.def] - 28.1.1 [defns.regex.collating.element] - 28.1.2 [defns.regex.finite.state.machine] - 28.1.3 [defns.regex.format.specifier] - 28.1.4 [defns.regex.matched] - 28.1.5 [defns.regex.primary.equivalence.class] - 28.1.6 [defns.regex.regular.expression] - 28.1.7 [defns.regex.subexpression] - 28.2 [re.req] - 28.3 [re.sum] + 28.1 [re.general] + 28.2 [re.def] + 28.2.1 [defns.regex.collating.element] + 28.2.2 [defns.regex.finite.state.machine] + 28.2.3 [defns.regex.format.specifier] + 28.2.4 [defns.regex.matched] + 28.2.5 [defns.regex.primary.equivalence.class] + 28.2.6 [defns.regex.regular.expression] + 28.2.7 [defns.regex.subexpression] + 28.3 [re.req] 28.4 [re.syn] 28.5 [re.const] 28.5.1 [re.synopt] @@ -1429,73 +1429,63 @@ 28.12.2.4 [re.tokiter.incr] 28.13 [re.grammar] 29 [atomics] - 29.1 [atomics.order] - 29.2 [atomics.lockfree] - 29.3 [atomics.types] - 29.3.1 [atomics.types.integral] - 29.3.2 [atomics.types.address] - 29.3.3 [atomics.types.generic] - 29.4 [atomics.types.operations] - 29.5 [atomics.flag] - 29.6 [atomics.fences] + 29.1 [atomics.general] + 29.2 [atomics.syn] + 29.3 [atomics.order] + 29.4 [atomics.lockfree] + 29.5 [atomics.types] + 29.5.1 [atomics.types.integral] + 29.5.2 [atomics.types.address] + 29.5.3 [atomics.types.generic] + 29.6 [atomics.types.operations] + 29.7 [atomics.flag] + 29.8 [atomics.fences] 30 [thread] - 30.1 [thread.req] - 30.1.1 [thread.req.paramname] - 30.1.2 [thread.req.exception] - 30.1.3 [thread.req.native] - 30.1.4 [thread.req.timing] - 30.2 [thread.threads] - 30.2.1 [thread.thread.class] - 30.2.1.1 [thread.thread.id] - 30.2.1.2 [thread.thread.constr] - 30.2.1.3 [thread.thread.destr] - 30.2.1.4 [thread.thread.assign] - 30.2.1.5 [thread.thread.member] - 30.2.1.6 [thread.thread.static] - 30.2.1.7 [thread.thread.algorithm] - 30.2.2 [thread.thread.this] - 30.3 [thread.mutex] - 30.3.1 [thread.mutex.requirements] - 30.3.1.1 [thread.mutex.class] - 30.3.1.2 [thread.mutex.recursive] - 30.3.2 [thread.timedmutex.requirements] - 30.3.2.1 [thread.timedmutex.class] - 30.3.2.2 [thread.timedmutex.recursive] - 30.3.3 [thread.lock] - 30.3.3.1 [thread.lock.guard] - 30.3.3.2 [thread.lock.unique] - 30.3.3.2.1 [thread.lock.unique.cons] - 30.3.3.2.2 [thread.lock.unique.locking] - 30.3.3.2.3 [thread.lock.unique.mod] - 30.3.3.2.4 [thread.lock.unique.obs] - 30.3.4 [thread.lock.algorithm] - 30.3.5 [thread.once] - 30.3.5.1 [thread.once.onceflag] - 30.3.5.2 [thread.once.callonce] - 30.4 [thread.condition] - 30.4.1 [thread.condition.condvar] - 30.4.2 [thread.condition.condvarany] - 30.5 [futures] - 30.5.1 [futures.overview] - 30.5.2 [futures.errors] - 30.5.3 [futures.future_error] - 30.5.4 [futures.unique_future] - 30.5.5 [future.shared_future] - 30.5.6 [futures.promise] - 30.5.7 [futures.allocators] - 30.5.8 [futures.task] -X [datetime] - X [datetime.req] - X [datetime.syn] - X [datetime.duration] - X [datetime.nanoseconds] - X [datetime.microseconds] - X [datetime.milliseconds] - X [datetime.seconds] - X [datetime.minutes] - X [datetime.hours] - X [datetime.system] - X [datetime.nonmembers] + 30.1 [thread.general] + 30.2 [thread.req] + 30.2.1 [thread.req.paramname] + 30.2.2 [thread.req.exception] + 30.2.3 [thread.req.native] + 30.2.4 [thread.req.timing] + 30.3 [thread.threads] + 30.3.1 [thread.thread.class] + 30.3.1.1 [thread.thread.id] + 30.3.1.2 [thread.thread.constr] + 30.3.1.3 [thread.thread.destr] + 30.3.1.4 [thread.thread.assign] + 30.3.1.5 [thread.thread.member] + 30.3.1.6 [thread.thread.static] + 30.3.1.7 [thread.thread.algorithm] + 30.3.2 [thread.thread.this] + 30.4 [thread.mutex] + 30.4.1 [thread.mutex.requirements] + 30.4.1.1 [thread.mutex.class] + 30.4.1.2 [thread.mutex.recursive] + 30.4.2 [thread.timedmutex.requirements] + 30.4.2.1 [thread.timedmutex.class] + 30.4.2.2 [thread.timedmutex.recursive] + 30.4.3 [thread.lock] + 30.4.3.1 [thread.lock.guard] + 30.4.3.2 [thread.lock.unique] + 30.4.3.2.1 [thread.lock.unique.cons] + 30.4.3.2.2 [thread.lock.unique.locking] + 30.4.3.2.3 [thread.lock.unique.mod] + 30.4.3.2.4 [thread.lock.unique.obs] + 30.4.4 [thread.lock.algorithm] + 30.4.5 [thread.once] + 30.4.5.1 [thread.once.onceflag] + 30.4.5.2 [thread.once.callonce] + 30.5 [thread.condition] + 30.5.1 [thread.condition.condvar] + 30.5.2 [thread.condition.condvarany] + 30.6 [futures] + 30.6.1 [futures.overview] + 30.6.2 [futures.errors] + 30.6.3 [futures.future_error] + 30.6.4 [futures.promise] + 30.6.5 [futures.unique_future] + 30.6.6 [future.shared_future] + 30.6.7 [futures.task] A [gram] A.1 [gram.key] A.2 [gram.lex] @@ -1572,7 +1562,6 @@ D [depr] D.10.3 [std.iterator.tags] D.10.4 [iterator.backward] E [xref] -X [garbage.collection] TR1 1 [tr.intro] TR1 1.1 [tr.description] |