aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorEd Schouten <ed@FreeBSD.org>2009-07-04 13:58:54 +0000
committerEd Schouten <ed@FreeBSD.org>2009-07-04 13:58:54 +0000
commit5362a71c02e7d448a8ce98cf00c47e353fba5d04 (patch)
tree8ddfe382e1c6d590dc240e76f7cd45cea5c78e24 /test
parent4ebdf5c4f587daef4e0be499802eac3a7a49bf2f (diff)
downloadsrc-5362a71c02e7d448a8ce98cf00c47e353fba5d04.tar.gz
src-5362a71c02e7d448a8ce98cf00c47e353fba5d04.zip
Notes
Diffstat (limited to 'test')
-rw-r--r--test/Analysis/array-struct.c27
-rw-r--r--test/Analysis/concrete-address.c7
-rw-r--r--test/Analysis/misc-ps.m19
-rw-r--r--test/Analysis/stack-addr-ps.c16
-rw-r--r--test/Analysis/xfail_regionstore_wine_crash.c3
-rw-r--r--test/CMakeLists.txt3
-rw-r--r--test/CXX/basic/basic.def.odr/p2-typeid.cpp2
-rw-r--r--test/CXX/temp/temp.fct.spec/temp.arg.explicit/p1.cpp12
-rw-r--r--test/CXX/temp/temp.fct.spec/temp.arg.explicit/p3.cpp11
-rw-r--r--test/CXX/temp/temp.fct.spec/temp.deduct/sfinae-1.cpp17
-rw-r--r--test/CodeGen/attributes.c2
-rw-r--r--test/CodeGen/stack-protector.c22
-rw-r--r--test/CodeGen/unwind-attr.c4
-rw-r--r--test/CodeGenCXX/function-template-specialization.cpp27
-rw-r--r--test/Driver/openbsd.c6
-rw-r--r--test/Index/comments.c30
-rw-r--r--test/PCH/pr4489.c20
-rw-r--r--test/Parser/offsetof.c7
-rw-r--r--test/Sema/compare.c14
-rw-r--r--test/Sema/ext_vector_casts.c22
-rw-r--r--test/Sema/format-attr-pr4470.c11
-rw-r--r--test/SemaCXX/class-base-member-init.cpp19
-rw-r--r--test/SemaCXX/constructor-initializer.cpp39
-rw-r--r--test/SemaCXX/decltype-overloaded-functions.cpp12
-rw-r--r--test/SemaCXX/exception-spec.cpp30
-rw-r--r--test/SemaCXX/member-pointer.cpp2
-rw-r--r--test/SemaTemplate/class-template-ctor-initializer.cpp33
-rw-r--r--test/SemaTemplate/operator-template.cpp6
-rw-r--r--test/SemaTemplate/recursive-template-instantiation.cpp10
-rw-r--r--test/cxx-sections.data2063
30 files changed, 1442 insertions, 1054 deletions
diff --git a/test/Analysis/array-struct.c b/test/Analysis/array-struct.c
index 438e1ccf476d..da7df4b28e30 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 000000000000..84ebb21805a2
--- /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 205bac2c825f..ea41b5bb2f35 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 2f7a4bdf7408..0d7a70373c9a 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 2628d0dacf6a..af20ca2e28c2 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 7521a1d167bc..d5e23278729b 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 7eb10ef52eb5..881212d74ba4 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 000000000000..088a9e55eb3e
--- /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 000000000000..f4970b89f693
--- /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 000000000000..d193fb2ef296
--- /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 a5de4f4b42a2..8f157f3d314b 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 000000000000..bdac853aed62
--- /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 b2890c4c10de..4954a0b59ce4 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 000000000000..bea3af2bb5af
--- /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 000000000000..fd0d4fa21cd9
--- /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 000000000000..7ad8fd7e1f49
--- /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 000000000000..696da5bbb483
--- /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 000000000000..6c4e3feaa694
--- /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 4b44bf5b96a0..51f77317385c 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 8aa762ebcf2a..dbcd1c9b3ac0 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 000000000000..cba3adf1d6de
--- /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 000000000000..c38c3d3337e7
--- /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 d0c978a80d15..a180d907f1b7 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 000000000000..4c5349b85868
--- /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 ea02aac4915f..5eba26e70c6f 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 d2df5eb317a0..3b106d5576fe 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 000000000000..d7649f52688d
--- /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 3d041ec13a32..7039e0ec83de 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 000000000000..7c88d5019fd5
--- /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 b4501ea286ca..0edc5f150846 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&lt;]
- 21.3.8.5 [string::op&gt;]
- 21.3.8.6 [string::op&lt;=]
- 21.3.8.7 [string::op&gt;=]
- 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&lt;]
+ 21.4.8.5 [string::op&gt;]
+ 21.4.8.6 [string::op&lt;=]
+ 21.4.8.7 [string::op&gt;=]
+ 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&lt;]
- 24.4.1.3.15 [reverse.iter.op!=]
- 24.4.1.3.16 [reverse.iter.op&gt;]
- 24.4.1.3.17 [reverse.iter.op&gt;=]
- 24.4.1.3.18 [reverse.iter.op&lt;=]
- 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&lt;]
+ 24.5.1.2.15 [reverse.iter.op!=]
+ 24.5.1.2.16 [reverse.iter.op&gt;]
+ 24.5.1.2.17 [reverse.iter.op&gt;=]
+ 24.5.1.2.18 [reverse.iter.op&lt;=]
+ 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]