diff --git a/.codeqlmanifest.json b/.codeqlmanifest.json index b7d2d5604c..1622ad588a 100644 --- a/.codeqlmanifest.json +++ b/.codeqlmanifest.json @@ -4,6 +4,6 @@ "cpp/*/test/qlpack.yml", "c/*/src/qlpack.yml", "c/*/test/qlpack.yml", - "scripts/generate_modules/queries/qlpack.yml" + "scripts/generate_standard_library_models/cpp/queries/qlpack.yml" ] } \ No newline at end of file diff --git a/c/cert/src/rules/STR32-C/NonNullTerminatedToFunctionThatExpectsAString.ql b/c/cert/src/rules/STR32-C/NonNullTerminatedToFunctionThatExpectsAString.ql index 723c8ee0ea..bd26ac6c83 100644 --- a/c/cert/src/rules/STR32-C/NonNullTerminatedToFunctionThatExpectsAString.ql +++ b/c/cert/src/rules/STR32-C/NonNullTerminatedToFunctionThatExpectsAString.ql @@ -19,7 +19,7 @@ import cpp import codingstandards.c.cert -import codingstandards.cpp.Naming +import codingstandards.cpp.StandardLibraryNames import semmle.code.cpp.dataflow.TaintTracking import codingstandards.cpp.PossiblyUnsafeStringOperation import semmle.code.cpp.valuenumbering.GlobalValueNumbering @@ -34,7 +34,7 @@ class ExpectsNullTerminatedStringAsArgumentFunctionCall extends FunctionCall { Expr e; ExpectsNullTerminatedStringAsArgumentFunctionCall() { - Naming::Cpp14::hasStandardLibraryFunctionName(getTarget().getName()) and + CStandardLibrary::C11::hasFunctionName(_, _, _, getTarget().getName(), _, _, _) and exists(Type t | e = getAnArgument() and t = getTarget().getAParameter().getType().(DerivedType).getBaseType*() and diff --git a/c/common/test/rules/declaredareservedidentifier/DeclaredAReservedIdentifier.expected b/c/common/test/rules/declaredareservedidentifier/DeclaredAReservedIdentifier.expected index 585c6d4c94..a4a50c1390 100644 --- a/c/common/test/rules/declaredareservedidentifier/DeclaredAReservedIdentifier.expected +++ b/c/common/test/rules/declaredareservedidentifier/DeclaredAReservedIdentifier.expected @@ -1,5 +1,42 @@ -| test.c:2:1:2:23 | #define _RESERVED_MACRO | Reserved identifier '_RESERVED_MACRO' is declared. | -| test.c:11:8:11:9 | _s | Reserved identifier '_s' is declared. | -| test.c:15:6:15:7 | _f | Reserved identifier '_f' is declared. | -| test.c:19:7:19:12 | malloc | Reserved identifier 'malloc' is declared. | -| test.c:24:12:24:16 | errno | Reserved identifier 'errno' is declared. | +| test.c:2:1:2:23 | #define _RESERVED_MACRO | Macro '_RESERVED_MACRO' declares a reserved name beginning _ followed by an uppercase letter. | +| test.c:6:1:6:28 | #define _also_reserved_MACRO | Macro '_also_reserved_MACRO' declares a name beginning with _ which is reserved in the ordinary and tag namespaces. | +| test.c:11:8:11:9 | _s | Type '_s' declares a name beginning with _ which is reserved in the tag name space. | +| test.c:15:6:15:7 | _f | Function '_f' declares a name beginning with _ which is reserved in the ordinary name space. | +| test.c:19:7:19:12 | malloc | Function 'malloc' declares a name which is reserved for external linkage from the C11 standard library header 'stdlib.h'. | +| test.c:25:5:25:9 | errno | Global variable 'errno' declares a name which is reserved for external linkage from the C11 standard library header 'errno.h'. | +| test.c:39:16:39:18 | log | Parameter 'log' declares a name reserved for a macro from the C11 standard library header 'tgmath.h'. | +| test.c:43:5:43:16 | _Test_global | Global variable '_Test_global' declares a reserved name beginning _ followed by an uppercase letter. | +| test.c:44:6:44:15 | _Test_func | Function '_Test_func' declares a reserved name beginning _ followed by an uppercase letter. | +| test.c:45:9:45:19 | _Test_param | Parameter '_Test_param' declares a reserved name beginning _ followed by an uppercase letter. | +| test.c:46:7:46:17 | _Test_local | Local variable '_Test_local' declares a reserved name beginning _ followed by an uppercase letter. | +| test.c:47:10:47:27 | _Test_struct_local | Type '_Test_struct_local' declares a reserved name beginning _ followed by an uppercase letter. | +| test.c:49:9:49:20 | _Test_member | Member variable '_Test_member' declares a reserved name beginning _ followed by an uppercase letter. | +| test.c:52:8:52:19 | _Test_struct | Type '_Test_struct' declares a reserved name beginning _ followed by an uppercase letter. | +| test.c:53:7:53:18 | _Test_member | Member variable '_Test_member' declares a reserved name beginning _ followed by an uppercase letter. | +| test.c:55:1:56:3 | #define _TEST_MACRO x | Macro '_TEST_MACRO' declares a reserved name beginning _ followed by an uppercase letter. | +| test.c:60:5:60:24 | __test_double_global | Global variable '__test_double_global' declares a reserved name beginning with __. | +| test.c:61:6:61:23 | __test_double_func | Function '__test_double_func' declares a reserved name beginning with __. | +| test.c:62:9:62:27 | __test_double_param | Parameter '__test_double_param' declares a reserved name beginning with __. | +| test.c:63:7:63:25 | __test_double_local | Local variable '__test_double_local' declares a reserved name beginning with __. | +| test.c:64:10:64:35 | __test_double_struct_local | Type '__test_double_struct_local' declares a reserved name beginning with __. | +| test.c:65:9:65:28 | __test_double_member | Member variable '__test_double_member' declares a reserved name beginning with __. | +| test.c:68:8:68:27 | __test_double_struct | Type '__test_double_struct' declares a reserved name beginning with __. | +| test.c:69:7:69:26 | __test_double_member | Member variable '__test_double_member' declares a reserved name beginning with __. | +| test.c:71:1:71:22 | #define __TEST_MACRO x | Macro '__TEST_MACRO' declares a reserved name beginning with __. | +| test.c:78:5:78:22 | _test_lower_global | Global variable '_test_lower_global' declares a name beginning with _ which is reserved in the ordinary name space. | +| test.c:79:6:79:21 | _test_lower_func | Function '_test_lower_func' declares a name beginning with _ which is reserved in the ordinary name space. | +| test.c:88:8:88:19 | _test_struct | Type '_test_struct' declares a name beginning with _ which is reserved in the tag name space. | +| test.c:91:1:92:3 | #define _test_macro x | Macro '_test_macro' declares a name beginning with _ which is reserved in the ordinary and tag namespaces. | +| test.c:96:5:96:14 | FE_INEXACT | Global variable 'FE_INEXACT' declares a name reserved for a macro from the C11 standard library header 'fenv.h'. | +| test.c:97:6:97:17 | FE_DIVBYZERO | Function 'FE_DIVBYZERO' declares a name reserved for a macro from the C11 standard library header 'fenv.h'. | +| test.c:98:9:98:18 | FE_INEXACT | Parameter 'FE_INEXACT' declares a name reserved for a macro from the C11 standard library header 'fenv.h'. | +| test.c:99:7:99:16 | FE_INVALID | Local variable 'FE_INVALID' declares a name reserved for a macro from the C11 standard library header 'fenv.h'. | +| test.c:100:10:100:19 | FE_INEXACT | Type 'FE_INEXACT' declares a name reserved for a macro from the C11 standard library header 'fenv.h'. | +| test.c:101:9:101:18 | FE_INEXACT | Member variable 'FE_INEXACT' declares a name reserved for a macro from the C11 standard library header 'fenv.h'. | +| test.c:104:8:104:17 | FE_INEXACT | Type 'FE_INEXACT' declares a name reserved for a macro from the C11 standard library header 'fenv.h'. | +| test.c:105:7:105:16 | FE_INEXACT | Member variable 'FE_INEXACT' declares a name reserved for a macro from the C11 standard library header 'fenv.h'. | +| test.c:107:1:108:3 | #define FE_INEXACT x | Macro 'FE_INEXACT' declares a name reserved for a macro from the C11 standard library header 'fenv.h'. | +| test.c:118:5:118:8 | exit | Global variable 'exit' declares a name which is reserved for external linkage from the C11 standard library header 'stdlib.h'. | +| test.c:120:6:120:9 | free | Function 'free' declares a name which is reserved for external linkage from the C11 standard library header 'stdlib.h'. | +| test.c:130:1:130:16 | #define strlen 0 | Macro 'strlen' declares a reserved name from the C11 standard library header 'string.h' which is included directly or indirectly in this translation unit. | +| test.c:140:1:140:16 | #define tm_sec 0 | Macro 'tm_sec' declares a reserved name from the C11 standard library header 'time.h' which is included directly or indirectly in this translation unit. | diff --git a/c/common/test/rules/declaredareservedidentifier/test.c b/c/common/test/rules/declaredareservedidentifier/test.c index 1580dfc6d7..ad0053cccf 100644 --- a/c/common/test/rules/declaredareservedidentifier/test.c +++ b/c/common/test/rules/declaredareservedidentifier/test.c @@ -2,9 +2,9 @@ #define _RESERVED_MACRO // NON_COMPLIANT #endif /* _RESERVED_MACRO */ -#ifndef _not_reserved_MACRO -#define _not_reserved_MACRO // COMPLIANT -#endif /* _not_reserved_MACRO */ +#ifndef _also_reserved_MACRO +#define _also_reserved_MACRO // NON_COMPLIANT +#endif /* _not_reserved_MACRO */ static const int INT_LIMIT_MAX = 12000; // COMPLIANT future library directions @@ -21,4 +21,162 @@ void *malloc(int bytes) { // NON_COMPLIANT return ptr; } -extern int errno; // NON_COMPLIANT \ No newline at end of file +extern int + errno; // NON_COMPLIANT - errno is explicitly reserved for external linkage + +void output(int a, int b, int c); + +#define DEBUG(...) \ + output(__VA_ARGS__) // COMPLIANT - using not declaring `__VA_ARGS__` + +void test() { + DEBUG(1, 2, 3); + __FUNCTION__; // COMPLIANT - use, not declaration of `__FUNCTION__` + __PRETTY_FUNCTION__; // COMPLIANT - use, not declaration of + // `__PRETTY_FUNCTION__` +} +#include +void test2(int log); // NON_COMPLIANT - tgmath.h defines log as a reserved macro + +/* Test _[A-Z] */ + +int _Test_global; // NON_COMPLIANT - _ followed by capital is reserved +void _Test_func( // NON_COMPLIANT - _ followed by capital is reserved + int _Test_param) { // NON_COMPLIANT - _ followed by capital is reserved + int _Test_local; // NON_COMPLIANT - _ followed by capital is reserved + struct _Test_struct_local { // NON_COMPLIANT - _ followed by capital is + // reserved + int _Test_member; // NON_COMPLIANT - _ followed by capital is reserved + }; +} +struct _Test_struct { // NON_COMPLIANT - _ followed by capital is reserved + int _Test_member; // NON_COMPLIANT - _ followed by capital is reserved +}; +#define _TEST_MACRO \ + x // NON_COMPLIANT - single _ followed by capital is reserved + +/* Test __ */ + +int __test_double_global; // NON_COMPLIANT - double _ is reserved +void __test_double_func( // NON_COMPLIANT - double _ is reserved + int __test_double_param) { // NON_COMPLIANT - double _ is reserved + int __test_double_local; // NON_COMPLIANT - double _ is reserved + struct __test_double_struct_local { // NON_COMPLIANT - double _ is reserved + int __test_double_member; // NON_COMPLIANT - double _ is reserved + }; +} +struct __test_double_struct { // NON_COMPLIANT - double _ is reserved + int __test_double_member; // NON_COMPLIANT - double _ is reserved +}; +#define __TEST_MACRO x // NON_COMPLIANT - double _ is reserved + +/* + * Test _, but not followed by underscore or upper case, which is reserved in + * file scope and ordinary/tag name spaces + */ + +int _test_lower_global; // NON_COMPLIANT - _ is reserved in ordinary name space +void _test_lower_func( // NON_COMPLIANT - _ is reserved as a function name in + // ordinary name space + int _test_lower_param) { // COMPLIANT - _ is not reserved in the block name + // space + int _test; // COMPLIANT - _ is not reserved in the block name space + struct _test_struct { // COMPLIANT - _ is not reserved in the block name space + int _test; // COMPLIANT - _ is not reserved in the block name space + }; +} +struct _test_struct { // NON_COMPLIANT - _ is reserved in the tag name space + int _test; // COMPLIANT - _ is not reserved in the member name space +}; +#define _test_macro \ + x // NON_COMPLIANT - _ is reserved for for file scope names and so cannot be + // used as a macro name + +/* Identify names reserved as a macro when the relevant header is included. */ +int FE_INEXACT; // NON_COMPLIANT - FE_INEXACT is reserved as a macro name +void FE_DIVBYZERO( // NON_COMPLIANT - FE_DIVBYZERO is reserved as a macro name + int FE_INEXACT) { // NON_COMPLIANT - FE_INEXACT is reserved as a macro name + int FE_INVALID; // NON_COMPLIANT - FE_INEXACT is reserved as a macro name + struct FE_INEXACT { // NON_COMPLIANT - FE_INEXACT is reserved as a macro name + int FE_INEXACT; // NON_COMPLIANT - FE_INEXACT is reserved as a macro name + }; +} +struct FE_INEXACT { // NON_COMPLIANT - FE_INEXACT is reserved as a macro name + int FE_INEXACT; // NON_COMPLIANT - FE_INEXACT is reserved as a macro name +}; +#define FE_INEXACT \ + x // NON_COMPLIANT - FE_INEXACT is reserved as a macro name for the standard + // library + +// We include the header after the declarations to avoid the inbuilt macros +// expanding in the declarations above. The rule is not, however, sensitive +// to location, so we should still report in this case. +#include + +/* Functions and objects with external linkage */ + +int exit; // NON_COMPLIANT - reserved for external linkage, even though header + // was not included +void free() { // NON_COMPLIANT - reserved for external linkage, even though + // header was not included +} +static int rand; // COMPLIANT - only reserved for external linkage or if random + // was included +static int srand() { // COMPLIANT - only reserved for external linkage or if + // random was included +} + +#include +#define strlen 0 // NON_COMPLIANT - reserved when string.h is included + +// The examples below are non compliant, because those symbols are reserved in +// file scope when string.h is included. However, the compiler/edg rejects the +// declaration cases, so we cannot test them. + +// static int strlen; +// static void *memcpy(void *s1, const void *s2, size_t n) {} + +#include +#define tm_sec 0 // NON_COMPLIANT - reserved when time.h is included + +// The examples below are non compliant, because those symbols are reserved in +// file scope when time.h is included. However, the compiler/edg rejects the +// declaration cases, so we cannot test them. + +// struct tm { +// int tm_sec; +// int tm_min; +// int tm_hour; +// int tm_mday; +// int tm_mon; +// int tm_year; +// int tm_wday; +// int tm_yday; +// int tm_isdst; +// long __tm_gmtoff; +// const char *__tm_zone; +// }; + +// Examples below are compliant because threads.h is not included + +#define tss_set 0 // COMPLIANT - threads.h not included +static int tss_get; // COMPLIANT - threads.h not included, not external linkage +static void +tss_delete( // COMPLIANT - threads.h not included, not external linkage + int tss_create // COMPLIANT - threads.h not included +) { + int thrd_detach; // COMPLIANT - threads.h not included + struct thrd_join { // COMPLIANT - threads.h not included + int thrd_equal; // COMPLIANT - threads.h not included + }; +} +struct thrd_yield { // COMPLIANT - threads.h not included + int thrd_exit; // COMPLIANT - threads.h not included +}; + +#include +void test_macro() { + fd_set test_set; + FD_ZERO(&test_set); // COMPLIANT - macro expands to variables with `__` + // prefixes, but should be excluded +} diff --git a/c/misra/src/rules/RULE-21-1/DefineAndUndefUsedOnReservedIdentifierOrMacroName.ql b/c/misra/src/rules/RULE-21-1/DefineAndUndefUsedOnReservedIdentifierOrMacroName.ql index 86d8426df8..299ae0f378 100644 --- a/c/misra/src/rules/RULE-21-1/DefineAndUndefUsedOnReservedIdentifierOrMacroName.ql +++ b/c/misra/src/rules/RULE-21-1/DefineAndUndefUsedOnReservedIdentifierOrMacroName.ql @@ -16,23 +16,10 @@ import cpp import codingstandards.c.misra -import codingstandards.cpp.Naming +import codingstandards.cpp.ReservedNames -from PreprocessorDirective p, string name +from PreprocessorDirective p, string message where not isExcluded(p, Preprocessor4Package::defineAndUndefUsedOnReservedIdentifierOrMacroNameQuery()) and - ( - p.(Macro).hasName(name) - or - p.(PreprocessorUndef).getName() = name - ) and - ( - Naming::Cpp14::hasStandardLibraryMacroName(name) - or - Naming::Cpp14::hasStandardLibraryObjectName(name) - or - name.regexpMatch("_.*") - or - name = "defined" - ) -select p, "Reserved identifier '" + name + "' has been undefined or redefined." + ReservedNames::C11::isAReservedIdentifier(p, message, false) +select p, message diff --git a/c/misra/src/rules/RULE-21-2/DoNotDeclareAReservedIdentifier.ql b/c/misra/src/rules/RULE-21-2/DoNotDeclareAReservedIdentifier.ql index 80ad8386bc..05099efd33 100644 --- a/c/misra/src/rules/RULE-21-2/DoNotDeclareAReservedIdentifier.ql +++ b/c/misra/src/rules/RULE-21-2/DoNotDeclareAReservedIdentifier.ql @@ -15,10 +15,12 @@ import cpp import codingstandards.c.misra -import codingstandards.cpp.rules.declaredareservedidentifier.DeclaredAReservedIdentifier +import codingstandards.cpp.ReservedNames -class DoNotDeclareAReservedIdentifierQuery extends DeclaredAReservedIdentifierSharedQuery { - DoNotDeclareAReservedIdentifierQuery() { - this = Declarations1Package::doNotDeclareAReservedIdentifierQuery() - } -} +from Element e, string message +where + not isExcluded(e, Declarations1Package::doNotDeclareAReservedIdentifierQuery()) and + ReservedNames::C11::isAReservedIdentifier(e, message, true) and + // Not covered by this rule - covered by Rule 21.2 + not e instanceof PreprocessorDirective +select e, message diff --git a/c/misra/test/rules/RULE-21-1/DefineAndUndefUsedOnReservedIdentifierOrMacroName.expected b/c/misra/test/rules/RULE-21-1/DefineAndUndefUsedOnReservedIdentifierOrMacroName.expected index ef9700d8d3..124933024c 100644 --- a/c/misra/test/rules/RULE-21-1/DefineAndUndefUsedOnReservedIdentifierOrMacroName.expected +++ b/c/misra/test/rules/RULE-21-1/DefineAndUndefUsedOnReservedIdentifierOrMacroName.expected @@ -1,3 +1,3 @@ -| test.c:1:1:1:17 | #define _NOT_OKAY | Reserved identifier '_NOT_OKAY' has been undefined or redefined. | -| test.c:2:1:2:16 | #undef _NOT_OKAY | Reserved identifier '_NOT_OKAY' has been undefined or redefined. | -| test.c:5:1:5:13 | #define errno | Reserved identifier 'errno' has been undefined or redefined. | +| test.c:1:1:1:17 | #define _NOT_OKAY | Macro '_NOT_OKAY' declares a reserved name beginning _ followed by an uppercase letter. | +| test.c:2:1:2:16 | #undef _NOT_OKAY | Undef '_NOT_OKAY' declares a reserved name beginning _ followed by an uppercase letter. | +| test.c:5:1:5:13 | #define errno | Macro 'errno' declares a name reserved for a macro from the C11 standard library header 'errno.h'. | diff --git a/c/misra/test/rules/RULE-21-2/DoNotDeclareAReservedIdentifier.expected b/c/misra/test/rules/RULE-21-2/DoNotDeclareAReservedIdentifier.expected new file mode 100644 index 0000000000..6c0087ce77 --- /dev/null +++ b/c/misra/test/rules/RULE-21-2/DoNotDeclareAReservedIdentifier.expected @@ -0,0 +1,34 @@ +| test.c:11:8:11:9 | _s | Type '_s' declares a name beginning with _ which is reserved in the tag name space. | +| test.c:15:6:15:7 | _f | Function '_f' declares a name beginning with _ which is reserved in the ordinary name space. | +| test.c:19:7:19:12 | malloc | Function 'malloc' declares a name which is reserved for external linkage from the C11 standard library header 'stdlib.h'. | +| test.c:25:5:25:9 | errno | Global variable 'errno' declares a name which is reserved for external linkage from the C11 standard library header 'errno.h'. | +| test.c:39:16:39:18 | log | Parameter 'log' declares a name reserved for a macro from the C11 standard library header 'tgmath.h'. | +| test.c:43:5:43:16 | _Test_global | Global variable '_Test_global' declares a reserved name beginning _ followed by an uppercase letter. | +| test.c:44:6:44:15 | _Test_func | Function '_Test_func' declares a reserved name beginning _ followed by an uppercase letter. | +| test.c:45:9:45:19 | _Test_param | Parameter '_Test_param' declares a reserved name beginning _ followed by an uppercase letter. | +| test.c:46:7:46:17 | _Test_local | Local variable '_Test_local' declares a reserved name beginning _ followed by an uppercase letter. | +| test.c:47:10:47:27 | _Test_struct_local | Type '_Test_struct_local' declares a reserved name beginning _ followed by an uppercase letter. | +| test.c:49:9:49:20 | _Test_member | Member variable '_Test_member' declares a reserved name beginning _ followed by an uppercase letter. | +| test.c:52:8:52:19 | _Test_struct | Type '_Test_struct' declares a reserved name beginning _ followed by an uppercase letter. | +| test.c:53:7:53:18 | _Test_member | Member variable '_Test_member' declares a reserved name beginning _ followed by an uppercase letter. | +| test.c:59:5:59:24 | __test_double_global | Global variable '__test_double_global' declares a reserved name beginning with __. | +| test.c:60:6:60:23 | __test_double_func | Function '__test_double_func' declares a reserved name beginning with __. | +| test.c:61:9:61:27 | __test_double_param | Parameter '__test_double_param' declares a reserved name beginning with __. | +| test.c:62:7:62:25 | __test_double_local | Local variable '__test_double_local' declares a reserved name beginning with __. | +| test.c:63:10:63:35 | __test_double_struct_local | Type '__test_double_struct_local' declares a reserved name beginning with __. | +| test.c:64:9:64:28 | __test_double_member | Member variable '__test_double_member' declares a reserved name beginning with __. | +| test.c:67:8:67:27 | __test_double_struct | Type '__test_double_struct' declares a reserved name beginning with __. | +| test.c:68:7:68:26 | __test_double_member | Member variable '__test_double_member' declares a reserved name beginning with __. | +| test.c:77:5:77:22 | _test_lower_global | Global variable '_test_lower_global' declares a name beginning with _ which is reserved in the ordinary name space. | +| test.c:78:6:78:21 | _test_lower_func | Function '_test_lower_func' declares a name beginning with _ which is reserved in the ordinary name space. | +| test.c:87:8:87:19 | _test_struct | Type '_test_struct' declares a name beginning with _ which is reserved in the tag name space. | +| test.c:93:5:93:14 | FE_INEXACT | Global variable 'FE_INEXACT' declares a name reserved for a macro from the C11 standard library header 'fenv.h'. | +| test.c:94:6:94:17 | FE_DIVBYZERO | Function 'FE_DIVBYZERO' declares a name reserved for a macro from the C11 standard library header 'fenv.h'. | +| test.c:95:9:95:18 | FE_INEXACT | Parameter 'FE_INEXACT' declares a name reserved for a macro from the C11 standard library header 'fenv.h'. | +| test.c:96:7:96:16 | FE_INVALID | Local variable 'FE_INVALID' declares a name reserved for a macro from the C11 standard library header 'fenv.h'. | +| test.c:97:10:97:19 | FE_INEXACT | Type 'FE_INEXACT' declares a name reserved for a macro from the C11 standard library header 'fenv.h'. | +| test.c:98:9:98:18 | FE_INEXACT | Member variable 'FE_INEXACT' declares a name reserved for a macro from the C11 standard library header 'fenv.h'. | +| test.c:101:8:101:17 | FE_INEXACT | Type 'FE_INEXACT' declares a name reserved for a macro from the C11 standard library header 'fenv.h'. | +| test.c:102:7:102:16 | FE_INEXACT | Member variable 'FE_INEXACT' declares a name reserved for a macro from the C11 standard library header 'fenv.h'. | +| test.c:113:5:113:8 | exit | Global variable 'exit' declares a name which is reserved for external linkage from the C11 standard library header 'stdlib.h'. | +| test.c:115:6:115:9 | free | Function 'free' declares a name which is reserved for external linkage from the C11 standard library header 'stdlib.h'. | diff --git a/c/misra/test/rules/RULE-21-2/DoNotDeclareAReservedIdentifier.qlref b/c/misra/test/rules/RULE-21-2/DoNotDeclareAReservedIdentifier.qlref new file mode 100644 index 0000000000..7a846d815f --- /dev/null +++ b/c/misra/test/rules/RULE-21-2/DoNotDeclareAReservedIdentifier.qlref @@ -0,0 +1 @@ +rules/RULE-21-2/DoNotDeclareAReservedIdentifier.ql \ No newline at end of file diff --git a/c/misra/test/rules/RULE-21-2/DoNotDeclareAReservedIdentifier.testref b/c/misra/test/rules/RULE-21-2/DoNotDeclareAReservedIdentifier.testref deleted file mode 100644 index 32b1b02bf4..0000000000 --- a/c/misra/test/rules/RULE-21-2/DoNotDeclareAReservedIdentifier.testref +++ /dev/null @@ -1 +0,0 @@ -c/common/test/rules/declaredareservedidentifier/DeclaredAReservedIdentifier.ql \ No newline at end of file diff --git a/c/misra/test/rules/RULE-21-2/test.c b/c/misra/test/rules/RULE-21-2/test.c new file mode 100644 index 0000000000..693b6454de --- /dev/null +++ b/c/misra/test/rules/RULE-21-2/test.c @@ -0,0 +1,177 @@ +#ifndef _RESERVED_MACRO +#define _RESERVED_MACRO // Not reported by this rule +#endif /* _RESERVED_MACRO */ + +#ifndef _also_reserved_MACRO +#define _also_reserved_MACRO // Not reported by this rule +#endif /* _not_reserved_MACRO */ + +static const int INT_LIMIT_MAX = 12000; // COMPLIANT future library directions + +struct _s { // NON_COMPLIANT + struct _s *_next; // COMPLIANT not file scope +}; + +void _f() { // NON_COMPLIANT + int _p; // COMPLIANT not file scope +} + +void *malloc(int bytes) { // NON_COMPLIANT + void *ptr; + return ptr; +} + +extern int + errno; // NON_COMPLIANT - errno is explicitly reserved for external linkage + +void output(int a, int b, int c); + +#define DEBUG(...) \ + output(__VA_ARGS__) // COMPLIANT - using not declaring `__VA_ARGS__` + +void test() { + DEBUG(1, 2, 3); + __FUNCTION__; // COMPLIANT - use, not declaration of `__FUNCTION__` + __PRETTY_FUNCTION__; // COMPLIANT - use, not declaration of + // `__PRETTY_FUNCTION__` +} +#include +void test2(int log); // NON_COMPLIANT - tgmath.h defines log as a reserved macro + +/* Test _[A-Z] */ + +int _Test_global; // NON_COMPLIANT - _ followed by capital is reserved +void _Test_func( // NON_COMPLIANT - _ followed by capital is reserved + int _Test_param) { // NON_COMPLIANT - _ followed by capital is reserved + int _Test_local; // NON_COMPLIANT - _ followed by capital is reserved + struct _Test_struct_local { // NON_COMPLIANT - _ followed by capital is + // reserved + int _Test_member; // NON_COMPLIANT - _ followed by capital is reserved + }; +} +struct _Test_struct { // NON_COMPLIANT - _ followed by capital is reserved + int _Test_member; // NON_COMPLIANT - _ followed by capital is reserved +}; +#define _TEST_MACRO x // Not reported by this rule + +/* Test __ */ + +int __test_double_global; // NON_COMPLIANT - double _ is reserved +void __test_double_func( // NON_COMPLIANT - double _ is reserved + int __test_double_param) { // NON_COMPLIANT - double _ is reserved + int __test_double_local; // NON_COMPLIANT - double _ is reserved + struct __test_double_struct_local { // NON_COMPLIANT - double _ is reserved + int __test_double_member; // NON_COMPLIANT - double _ is reserved + }; +} +struct __test_double_struct { // NON_COMPLIANT - double _ is reserved + int __test_double_member; // NON_COMPLIANT - double _ is reserved +}; +#define __TEST_MACRO x // Not reported by this rule + +/* + * Test _, but not followed by underscore or upper case, which is reserved in + * file scope and ordinary/tag name spaces + */ + +int _test_lower_global; // NON_COMPLIANT - _ is reserved in ordinary name space +void _test_lower_func( // NON_COMPLIANT - _ is reserved as a function name in + // ordinary name space + int _test_lower_param) { // COMPLIANT - _ is not reserved in the block name + // space + int _test; // COMPLIANT - _ is not reserved in the block name space + struct _test_struct { // COMPLIANT - _ is not reserved in the block name space + int _test; // COMPLIANT - _ is not reserved in the block name space + }; +} +struct _test_struct { // NON_COMPLIANT - _ is reserved in the tag name space + int _test; // COMPLIANT - _ is not reserved in the member name space +}; +#define _test_macro x // Not reported by this rule + +/* Identify names reserved as a macro when the relevant header is included. */ +int FE_INEXACT; // NON_COMPLIANT - FE_INEXACT is reserved as a macro name +void FE_DIVBYZERO( // NON_COMPLIANT - FE_DIVBYZERO is reserved as a macro name + int FE_INEXACT) { // NON_COMPLIANT - FE_INEXACT is reserved as a macro name + int FE_INVALID; // NON_COMPLIANT - FE_INEXACT is reserved as a macro name + struct FE_INEXACT { // NON_COMPLIANT - FE_INEXACT is reserved as a macro name + int FE_INEXACT; // NON_COMPLIANT - FE_INEXACT is reserved as a macro name + }; +} +struct FE_INEXACT { // NON_COMPLIANT - FE_INEXACT is reserved as a macro name + int FE_INEXACT; // NON_COMPLIANT - FE_INEXACT is reserved as a macro name +}; +#define FE_INEXACT x // Not reported by this rule + +// We include the header after the declarations to avoid the inbuilt macros +// expanding in the declarations above. The rule is not, however, sensitive +// to location, so we should still report in this case. +#include + +/* Functions and objects with external linkage */ + +int exit; // NON_COMPLIANT - reserved for external linkage, even though header + // was not included +void free() { // NON_COMPLIANT - reserved for external linkage, even though + // header was not included +} +static int rand; // COMPLIANT - only reserved for external linkage or if random + // was included +static int srand() { // COMPLIANT - only reserved for external linkage or if + // random was included +} + +#include +#define strlen 0 // Not reported by this rule + +// The examples below are non compliant, because those symbols are reserved in +// file scope when string.h is included. However, the compiler/edg rejects the +// declaration cases, so we cannot test them. + +// static int strlen; +// static void *memcpy(void *s1, const void *s2, size_t n) {} + +#include +#define tm_sec 0 // Not reported by this rule + +// The examples below are non compliant, because those symbols are reserved in +// file scope when time.h is included. However, the compiler/edg rejects the +// declaration cases, so we cannot test them. + +// struct tm { +// int tm_sec; +// int tm_min; +// int tm_hour; +// int tm_mday; +// int tm_mon; +// int tm_year; +// int tm_wday; +// int tm_yday; +// int tm_isdst; +// long __tm_gmtoff; +// const char *__tm_zone; +// }; + +// Examples below are compliant because threads.h is not included + +#define tss_set 0 // Not reported by this rule +static int tss_get; // COMPLIANT - threads.h not included, not external linkage +static void +tss_delete( // COMPLIANT - threads.h not included, not external linkage + int tss_create // COMPLIANT - threads.h not included +) { + int thrd_detach; // COMPLIANT - threads.h not included + struct thrd_join { // COMPLIANT - threads.h not included + int thrd_equal; // COMPLIANT - threads.h not included + }; +} +struct thrd_yield { // COMPLIANT - threads.h not included + int thrd_exit; // COMPLIANT - threads.h not included +}; + +#include +void test_macro() { + fd_set test_set; + FD_ZERO(&test_set); // COMPLIANT - macro expands to variables with `__` + // prefixes, but should be excluded +} diff --git a/change_notes/2025-08-28-naming.md b/change_notes/2025-08-28-naming.md new file mode 100644 index 0000000000..7d09c73f0e --- /dev/null +++ b/change_notes/2025-08-28-naming.md @@ -0,0 +1,3 @@ + - `M17-0-3` - `NameOfStandardLibraryFunctionIsOverridden.ql`: + - The list of standard library names has been refined. + - Only names defined in the global namespace by the C++ standard are now reported. \ No newline at end of file diff --git a/cpp/autosar/src/rules/A17-0-1/ReservedIdentifiersMacrosAndFunctionsAreDefinedRedefinedOrUndefined.ql b/cpp/autosar/src/rules/A17-0-1/ReservedIdentifiersMacrosAndFunctionsAreDefinedRedefinedOrUndefined.ql index 6dea18047d..8998d9343e 100644 --- a/cpp/autosar/src/rules/A17-0-1/ReservedIdentifiersMacrosAndFunctionsAreDefinedRedefinedOrUndefined.ql +++ b/cpp/autosar/src/rules/A17-0-1/ReservedIdentifiersMacrosAndFunctionsAreDefinedRedefinedOrUndefined.ql @@ -22,33 +22,11 @@ import cpp import codingstandards.cpp.autosar -import codingstandards.cpp.Naming +import codingstandards.cpp.ReservedNames -predicate isLocatedInNamespaceBody(NamespaceDeclarationEntry n, PreprocessorDirective m) { - m.getFile() = n.getFile() and - m.getLocation().getStartLine() >= n.getBodyLocation().getStartLine() and - m.getLocation().getEndLine() <= n.getBodyLocation().getEndLine() -} - -from PreprocessorDirective ppd, string name +from PreprocessorDirective ppd, string reason where not isExcluded(ppd, BannedLibrariesPackage::reservedIdentifiersMacrosAndFunctionsAreDefinedRedefinedOrUndefinedQuery()) and - ( - ppd.(Macro).hasName(name) - or - ppd.(PreprocessorUndef).getName() = name - ) and - ( - Naming::Cpp14::hasStandardLibraryMacroName(name) - or - Naming::Cpp14::hasStandardLibraryObjectName(name) - or - // Reserved everywhere according to [global.names] - name.regexpMatch("(__|_[A-Z]).*") - or - // Reserved only in the global namespace according to [global.names] - name.regexpMatch("_.*") and - not isLocatedInNamespaceBody(_, ppd) - ) -select ppd, "Reserved identifier '" + name + "' has been undefined or redefined." + ReservedNames::Cpp14::isMacroUsingReservedIdentifier(ppd, reason) +select ppd, reason diff --git a/cpp/autosar/src/rules/A17-1-1/CStandardLibraryFunctionCalls.ql b/cpp/autosar/src/rules/A17-1-1/CStandardLibraryFunctionCalls.ql index ce374fa8b1..756eff0eb1 100644 --- a/cpp/autosar/src/rules/A17-1-1/CStandardLibraryFunctionCalls.ql +++ b/cpp/autosar/src/rules/A17-1-1/CStandardLibraryFunctionCalls.ql @@ -16,52 +16,25 @@ import cpp import codingstandards.cpp.autosar -import codingstandards.cpp.Naming +import codingstandards.cpp.StandardLibraryNames import codingstandards.cpp.StdNamespace FunctionCall nonCompliantCStdlibCalls(File f) { result = - any(FunctionCall fc, string name, string qname, int qname_count | + any(FunctionCall fc, Function function, string name | f = fc.getFile() and - name = fc.getTarget().getName() and - Naming::Cpp14::hasStandardLibraryFunctionName(name) and - qname = Naming::Cpp14::getQualifiedStandardLibraryFunctionName(name) and - qname_count = count(Naming::Cpp14::getQualifiedStandardLibraryFunctionName(name)) and + function = fc.getTarget() and + name = function.getName() and + // Has a name from the C99 library + CStandardLibrary::C99::hasFunctionName(_, "", "", name, _, _, _) and + // The C function is either declared in the global namespace and imported into std or vice versa ( - not exists(fc.getQualifier()) and - ( - // the set `q` can contain qualified names both with and without the `std` namespace. - // in this case, only a call to the function within the `std` namespace is compliant. - qname_count > 1 and - not exists(NameQualifier nq | - nq = fc.getNameQualifier() and nq.getQualifyingElement().getName() = "std" - ) - or - // if the qualified standard library function name does not specify a namespace, then the - // standard library function is either in the global namespace (such as in C) or within - // the `std` namespace. therefore, ignore calls with qualifiers other than 'std'. - name = qname and - qname_count <= 1 and - ( - not exists(fc.getNameQualifier()) and - // also handle implicit namespace scope - not exists(Namespace caller_ns, Namespace callee_ns | - caller_ns = fc.getEnclosingFunction().getNamespace() and - callee_ns = fc.getTarget().getNamespace() and - not callee_ns instanceof GlobalNamespace and - caller_ns = callee_ns - ) - or - exists(NameQualifier nq | - nq = fc.getNameQualifier() and - ( - nq.getQualifyingElement() instanceof GlobalNamespace or - nq.getQualifyingElement() instanceof StdNS - ) - ) - ) - ) - ) + function.getNamespace() instanceof StdNS + or + function.getNamespace() instanceof GlobalNamespace + ) and + // No function qualifier + not exists(fc.getQualifier()) | fc ) diff --git a/cpp/autosar/src/rules/M17-0-2/NameOfStandardLibraryMacroOrObjectReused.ql b/cpp/autosar/src/rules/M17-0-2/NameOfStandardLibraryMacroOrObjectReused.ql index ebfb277c92..a8fb957f85 100644 --- a/cpp/autosar/src/rules/M17-0-2/NameOfStandardLibraryMacroOrObjectReused.ql +++ b/cpp/autosar/src/rules/M17-0-2/NameOfStandardLibraryMacroOrObjectReused.ql @@ -16,9 +16,13 @@ import cpp import codingstandards.cpp.autosar -import codingstandards.cpp.Naming +import codingstandards.cpp.StandardLibraryNames -from Locatable l, string s, string t +module TargetedCLibrary = CStandardLibrary::C99; + +module TargetedCppLibrary = CppStandardLibrary::Cpp14; + +from Locatable l, string s, string t, string header, string standard where not isExcluded(l, NamingPackage::nameOfStandardLibraryMacroOrObjectReusedQuery()) and l.fromSource() and @@ -28,8 +32,21 @@ where s = l.(GlobalOrNamespaceVariable).getName() and t = "Object" ) and ( - Naming::Cpp14::hasStandardLibraryMacroName(s) + standard = TargetedCppLibrary::getName() and + ( + TargetedCppLibrary::hasMacroName(header, s, _) + or + TargetedCppLibrary::hasObjectName(header, _, s, _, _) + ) or - Naming::Cpp14::hasStandardLibraryObjectName(s) + standard = TargetedCLibrary::getName() and + ( + header = max(string candidateHeader | TargetedCLibrary::hasMacroName(candidateHeader, s, _)) + or + header = + max(string candidateHeader | TargetedCLibrary::hasObjectName(candidateHeader, _, s, _, _)) + ) ) -select l, t + " reuses the name " + s + " from the standard library." +select l, + t + " reuses the name " + s + " from the " + standard + " standard library header <" + header + + ">." diff --git a/cpp/autosar/src/rules/M17-0-3/NameOfStandardLibraryFunctionIsOverridden.ql b/cpp/autosar/src/rules/M17-0-3/NameOfStandardLibraryFunctionIsOverridden.ql index 097545ca7a..8e39c29e57 100644 --- a/cpp/autosar/src/rules/M17-0-3/NameOfStandardLibraryFunctionIsOverridden.ql +++ b/cpp/autosar/src/rules/M17-0-3/NameOfStandardLibraryFunctionIsOverridden.ql @@ -15,16 +15,26 @@ import cpp import codingstandards.cpp.autosar -import codingstandards.cpp.Naming +import codingstandards.cpp.StandardLibraryNames -predicate isGlobal(Function f) { f.hasGlobalName(_) } - -from TopLevelFunction f +from TopLevelFunction f, string functionName, string header where not isExcluded(f, NamingPackage::nameOfStandardLibraryFunctionIsOverriddenQuery()) and - Naming::Cpp14::hasStandardLibraryFunctionName(f.getName()) and - f.fromSource() and - isGlobal(f) + f.hasGlobalName(functionName) and + /* + * The rule does not define what it means by "standard library function", but we will + * assume that it is a non-member function which is declared in the global namespace. + * Functions declared in `std` only can't be easily "replaced" in the way the rule is + * concerned about (without extending 'std'), and so are excluded. + */ + + ( + // Directly defined by C++ + CppStandardLibrary::Cpp14::hasFunctionName(header, "", "", functionName, _, _, _) + or + // Defined by C and inherited by C++ + CStandardLibrary::C11::hasFunctionName(header, "", "", functionName, _, _, _) + ) and + f.fromSource() select f, - "Function " + f.getName() + " overrides standard library function " + - Naming::Cpp14::getQualifiedStandardLibraryFunctionName(f.getName()) + "." + "Function " + functionName + " overrides a standard library function from '" + header + "'." diff --git a/cpp/autosar/test/rules/A17-0-1/ReservedIdentifiersMacrosAndFunctionsAreDefinedRedefinedOrUndefined.expected b/cpp/autosar/test/rules/A17-0-1/ReservedIdentifiersMacrosAndFunctionsAreDefinedRedefinedOrUndefined.expected index a016426826..83e0cffe42 100644 --- a/cpp/autosar/test/rules/A17-0-1/ReservedIdentifiersMacrosAndFunctionsAreDefinedRedefinedOrUndefined.expected +++ b/cpp/autosar/test/rules/A17-0-1/ReservedIdentifiersMacrosAndFunctionsAreDefinedRedefinedOrUndefined.expected @@ -1,26 +1,29 @@ -| test.cpp:1:1:1:12 | #undef errno | Reserved identifier 'errno' has been undefined or redefined. | -| test.cpp:2:1:2:15 | #define errno 0 | Reserved identifier 'errno' has been undefined or redefined. | -| test.cpp:4:1:4:13 | #undef assert | Reserved identifier 'assert' has been undefined or redefined. | -| test.cpp:5:1:5:27 | #define assert(condition) 0 | Reserved identifier 'assert' has been undefined or redefined. | -| test.cpp:7:1:7:15 | #undef __LINE__ | Reserved identifier '__LINE__' has been undefined or redefined. | -| test.cpp:8:1:8:18 | #define __LINE__ 0 | Reserved identifier '__LINE__' has been undefined or redefined. | -| test.cpp:10:1:10:15 | #undef __FILE__ | Reserved identifier '__FILE__' has been undefined or redefined. | -| test.cpp:11:1:11:18 | #define __FILE__ 0 | Reserved identifier '__FILE__' has been undefined or redefined. | -| test.cpp:13:1:13:15 | #undef __DATE__ | Reserved identifier '__DATE__' has been undefined or redefined. | -| test.cpp:14:1:14:18 | #define __DATE__ 0 | Reserved identifier '__DATE__' has been undefined or redefined. | -| test.cpp:16:1:16:15 | #undef __TIME__ | Reserved identifier '__TIME__' has been undefined or redefined. | -| test.cpp:17:1:17:18 | #define __TIME__ 0 | Reserved identifier '__TIME__' has been undefined or redefined. | -| test.cpp:19:1:19:15 | #undef __STDC__ | Reserved identifier '__STDC__' has been undefined or redefined. | -| test.cpp:20:1:20:18 | #define __STDC__ 0 | Reserved identifier '__STDC__' has been undefined or redefined. | -| test.cpp:22:1:22:22 | #undef __STDC_HOSTED__ | Reserved identifier '__STDC_HOSTED__' has been undefined or redefined. | -| test.cpp:23:1:23:25 | #define __STDC_HOSTED__ 0 | Reserved identifier '__STDC_HOSTED__' has been undefined or redefined. | -| test.cpp:25:1:25:18 | #undef __cplusplus | Reserved identifier '__cplusplus' has been undefined or redefined. | -| test.cpp:26:1:26:21 | #define __cplusplus 0 | Reserved identifier '__cplusplus' has been undefined or redefined. | -| test.cpp:28:1:28:25 | #undef __STDCPP_THREADS__ | Reserved identifier '__STDCPP_THREADS__' has been undefined or redefined. | -| test.cpp:29:1:29:28 | #define __STDCPP_THREADS__ 0 | Reserved identifier '__STDCPP_THREADS__' has been undefined or redefined. | -| test.cpp:31:1:31:19 | #undef __FUNCTION__ | Reserved identifier '__FUNCTION__' has been undefined or redefined. | -| test.cpp:32:1:32:22 | #define __FUNCTION__ 0 | Reserved identifier '__FUNCTION__' has been undefined or redefined. | -| test.cpp:34:1:34:11 | #undef _Foo | Reserved identifier '_Foo' has been undefined or redefined. | -| test.cpp:35:1:35:12 | #define _Foo | Reserved identifier '_Foo' has been undefined or redefined. | -| test.cpp:37:1:37:11 | #undef _foo | Reserved identifier '_foo' has been undefined or redefined. | -| test.cpp:38:1:38:12 | #define _foo | Reserved identifier '_foo' has been undefined or redefined. | +| test.cpp:2:1:2:12 | #undef errno | '#undef errno' uses a reserved name from the C99 standard library header . | +| test.cpp:3:1:3:15 | #define errno 0 | '#define errno' uses a reserved name from the C99 standard library header . | +| test.cpp:4:1:4:13 | #undef assert | '#undef assert' uses a reserved name from the C99 standard library header . | +| test.cpp:5:1:5:27 | #define assert(condition) 0 | '#define assert' uses a reserved name from the C99 standard library header . | +| test.cpp:7:1:7:15 | #undef __LINE__ | '#undef __LINE__' uses a name reserved for the C++14 implementation. | +| test.cpp:8:1:8:18 | #define __LINE__ 0 | '#define __LINE__' uses a name reserved for the C++14 implementation. | +| test.cpp:10:1:10:15 | #undef __FILE__ | '#undef __FILE__' uses a name reserved for the C++14 implementation. | +| test.cpp:11:1:11:18 | #define __FILE__ 0 | '#define __FILE__' uses a name reserved for the C++14 implementation. | +| test.cpp:13:1:13:15 | #undef __DATE__ | '#undef __DATE__' uses a name reserved for the C++14 implementation. | +| test.cpp:14:1:14:18 | #define __DATE__ 0 | '#define __DATE__' uses a name reserved for the C++14 implementation. | +| test.cpp:16:1:16:15 | #undef __TIME__ | '#undef __TIME__' uses a name reserved for the C++14 implementation. | +| test.cpp:17:1:17:18 | #define __TIME__ 0 | '#define __TIME__' uses a name reserved for the C++14 implementation. | +| test.cpp:19:1:19:15 | #undef __STDC__ | '#undef __STDC__' uses a name reserved for the C++14 implementation. | +| test.cpp:20:1:20:18 | #define __STDC__ 0 | '#define __STDC__' uses a name reserved for the C++14 implementation. | +| test.cpp:22:1:22:22 | #undef __STDC_HOSTED__ | '#undef __STDC_HOSTED__' uses a name reserved for the C++14 implementation. | +| test.cpp:23:1:23:25 | #define __STDC_HOSTED__ 0 | '#define __STDC_HOSTED__' uses a name reserved for the C++14 implementation. | +| test.cpp:25:1:25:18 | #undef __cplusplus | '#undef __cplusplus' uses a name reserved for the C++14 implementation. | +| test.cpp:26:1:26:21 | #define __cplusplus 0 | '#define __cplusplus' uses a name reserved for the C++14 implementation. | +| test.cpp:28:1:28:25 | #undef __STDCPP_THREADS__ | '#undef __STDCPP_THREADS__' uses a name reserved for the C++14 implementation. | +| test.cpp:29:1:29:28 | #define __STDCPP_THREADS__ 0 | '#define __STDCPP_THREADS__' uses a name reserved for the C++14 implementation. | +| test.cpp:31:1:31:19 | #undef __FUNCTION__ | '#undef __FUNCTION__' uses a name reserved for the C++14 implementation. | +| test.cpp:32:1:32:22 | #define __FUNCTION__ 0 | '#define __FUNCTION__' uses a name reserved for the C++14 implementation. | +| test.cpp:34:1:34:11 | #undef _Foo | '#undef _Foo' uses a name reserved for the C++14 implementation. | +| test.cpp:35:1:35:12 | #define _Foo | '#define _Foo' uses a name reserved for the C++14 implementation. | +| test.cpp:37:1:37:11 | #undef _foo | '#undef _foo' uses a name reserved for the C++14 implementation. | +| test.cpp:38:1:38:12 | #define _foo | '#define _foo' uses a name reserved for the C++14 implementation. | +| test.cpp:59:1:59:16 | #define str(x) 0 | '#define str' uses a reserved name from the C++14 standard library header . | +| test.cpp:59:1:59:16 | #define str(x) 0 | '#define str' uses a reserved name from the C++14 standard library header . | +| test.cpp:59:1:59:16 | #define str(x) 0 | '#define str' uses a reserved name from the C++14 standard library header . | diff --git a/cpp/autosar/test/rules/A17-0-1/test.cpp b/cpp/autosar/test/rules/A17-0-1/test.cpp index eca50d971c..dbfdda9f21 100644 --- a/cpp/autosar/test/rules/A17-0-1/test.cpp +++ b/cpp/autosar/test/rules/A17-0-1/test.cpp @@ -1,6 +1,6 @@ -#undef errno // NON_COMPLIANT -#define errno 0 // NON_COMPLIANT - +#include +#undef errno // NON_COMPLIANT +#define errno 0 // NON_COMPLIANT #undef assert // NON_COMPLIANT #define assert(condition) 0 // NON_COMPLIANT @@ -54,4 +54,6 @@ void test_macros_are_invoked() { __cplusplus; // COMPLIANT __STDC_HOSTED__; // COMPLIANT __FUNCTION__; // COMPLIANT -} \ No newline at end of file +} + +#define str(x) 0 // NON_COMPLIANT \ No newline at end of file diff --git a/cpp/autosar/test/rules/M17-0-2/NameOfStandardLibraryMacroOrObjectReused.expected b/cpp/autosar/test/rules/M17-0-2/NameOfStandardLibraryMacroOrObjectReused.expected index d89c8dc927..86163052ad 100644 --- a/cpp/autosar/test/rules/M17-0-2/NameOfStandardLibraryMacroOrObjectReused.expected +++ b/cpp/autosar/test/rules/M17-0-2/NameOfStandardLibraryMacroOrObjectReused.expected @@ -1,2 +1,2 @@ -| test.cpp:1:1:1:14 | #define NULL 0 | Macro reuses the name NULL from the standard library. | -| test.cpp:3:5:3:10 | tzname | Object reuses the name tzname from the standard library. | +| test.cpp:1:1:1:14 | #define NULL 0 | Macro reuses the name NULL from the C99 standard library header . | +| test.cpp:3:5:3:8 | cout | Object reuses the name cout from the C++14 standard library header . | diff --git a/cpp/autosar/test/rules/M17-0-2/test.cpp b/cpp/autosar/test/rules/M17-0-2/test.cpp index 1eaa03824a..82c56b1fb4 100644 --- a/cpp/autosar/test/rules/M17-0-2/test.cpp +++ b/cpp/autosar/test/rules/M17-0-2/test.cpp @@ -1,3 +1,3 @@ #define NULL 0 // NON_COMPLIANT -int tzname = 0; // NON_COMPLIANT \ No newline at end of file +int cout = 0; // NON_COMPLIANT \ No newline at end of file diff --git a/cpp/autosar/test/rules/M17-0-3/NameOfStandardLibraryFunctionIsOverridden.expected b/cpp/autosar/test/rules/M17-0-3/NameOfStandardLibraryFunctionIsOverridden.expected index 29f6ec944c..9d30d8485b 100644 --- a/cpp/autosar/test/rules/M17-0-3/NameOfStandardLibraryFunctionIsOverridden.expected +++ b/cpp/autosar/test/rules/M17-0-3/NameOfStandardLibraryFunctionIsOverridden.expected @@ -1,5 +1,3 @@ -| test.cpp:1:6:1:11 | malloc | Function malloc overrides standard library function malloc. | -| test.cpp:3:6:3:11 | printf | Function printf overrides standard library function printf. | -| test.cpp:5:6:5:11 | strlen | Function strlen overrides standard library function strlen. | -| test.cpp:7:6:7:8 | end | Function end overrides standard library function std::__1::end. | -| test.cpp:7:6:7:8 | end | Function end overrides standard library function std::end. | +| test.cpp:1:6:1:11 | malloc | Function malloc overrides a standard library function from 'stdlib.h'. | +| test.cpp:3:6:3:11 | printf | Function printf overrides a standard library function from 'stdio.h'. | +| test.cpp:5:6:5:11 | strlen | Function strlen overrides a standard library function from 'string.h'. | diff --git a/cpp/autosar/test/rules/M17-0-3/test.cpp b/cpp/autosar/test/rules/M17-0-3/test.cpp index 4ebe5d2f14..822bf87e9a 100644 --- a/cpp/autosar/test/rules/M17-0-3/test.cpp +++ b/cpp/autosar/test/rules/M17-0-3/test.cpp @@ -4,4 +4,4 @@ void printf() {} // NON_COMPLIANT void strlen() {} // NON_COMPLIANT -void end() {} // NON_COMPLIANT \ No newline at end of file +void end() {} // COMPLIANT - end is in the std namespace \ No newline at end of file diff --git a/cpp/common/src/codingstandards/cpp/IrreplaceableFunctionLikeMacro.qll b/cpp/common/src/codingstandards/cpp/IrreplaceableFunctionLikeMacro.qll index 8daf129622..bf95ac2db1 100644 --- a/cpp/common/src/codingstandards/cpp/IrreplaceableFunctionLikeMacro.qll +++ b/cpp/common/src/codingstandards/cpp/IrreplaceableFunctionLikeMacro.qll @@ -1,6 +1,6 @@ import cpp import codingstandards.cpp.Macro -import codingstandards.cpp.Naming +import codingstandards.cpp.StandardLibraryNames /** * Macros that cannot be replaced by functions @@ -17,7 +17,7 @@ private class StringizeOrTokenizeMacro extends IrreplaceableFunctionLikeMacro { /** A standard library function like macro that should not be replaced by a function. */ private class StandardLibraryFunctionLikeMacro extends IrreplaceableFunctionLikeMacro { - StandardLibraryFunctionLikeMacro() { Naming::Cpp14::hasStandardLibraryMacroName(this.getName()) } + StandardLibraryFunctionLikeMacro() { CStandardLibrary::C11::hasMacroName(_, this.getName(), _) } } /** A function like macro invocation as an `asm` argument cannot be replaced by a function. */ diff --git a/cpp/common/src/codingstandards/cpp/ReservedNames.qll b/cpp/common/src/codingstandards/cpp/ReservedNames.qll new file mode 100644 index 0000000000..259abc75fb --- /dev/null +++ b/cpp/common/src/codingstandards/cpp/ReservedNames.qll @@ -0,0 +1,527 @@ +/** A module for representing reserved names in C and C++. */ + +import cpp +import codingstandards.cpp.ReservedNames +import codingstandards.cpp.CKeywords +import codingstandards.cpp.Linkage +import codingstandards.cpp.Macro +import codingstandards.cpp.StandardLibraryNames +import codingstandards.cpp.StdNamespace + +module ReservedNames { + module C11 { + newtype Scope = + FileScope() or + BlockScope() or + FunctionScope() or + MacroScope() + + /** + * A C name space according to C11 6.2.3, not to be confused with a C++ namespace. + */ + newtype TCNameSpace = + LabelNameSpace() or + TagNameSpace() or + MemberNameSpace() or + OrdinaryNameSpace() or + // Create a "fake" name space for macro names + MacroNameSpace() + + class CNameSpace extends TCNameSpace { + string toString() { + this = LabelNameSpace() and result = "label" + or + this = TagNameSpace() and result = "tag" + or + this = MemberNameSpace() and result = "member" + or + this = OrdinaryNameSpace() and result = "ordinary" + or + this = MacroNameSpace() and result = "macro" + } + } + + private string getDeclDescription(Declaration d) { + d instanceof Function and result = "Function" + or + d instanceof Parameter and result = "Parameter" + or + d instanceof LocalVariable and result = "Local variable" + or + d instanceof MemberVariable and result = "Member variable" + or + d instanceof GlobalVariable and result = "Global variable" + or + d instanceof UserType and result = "Type" + or + d instanceof EnumConstant and result = "Enum constant" + } + + /** + * Whether a C declaration is considered to be at file scope. + */ + private predicate isFileScope(Declaration d) { + d.getFile().compiledAsC() and + // Not inside a block - if the declaration is part of a DeclStmt, it is also part of a function + // and therefore enclosed in at least one block + not exists(DeclStmt ds | ds.getADeclaration() = d) and + // Not inside a parameter list + not d instanceof Parameter + } + + /** + * The given C program element defines the `identifierName` in the given `Scope` and `CNameSpace`. + */ + predicate isCIdentifier( + Element e, string identifierName, Scope scope, CNameSpace cNameSpace, + string identifierDescription + ) { + // This only makes sense on C compiled files + e.getFile().compiledAsC() and + ( + // An identifier can denote an object; a function; a tag or a member of a structure, union, or + // enumeration; a typedef name; a label name; a macro name; or a macro parameter + e.(Declaration).hasName(identifierName) and + // Exclude any compiler generated identifiers + not e.(Variable).isCompilerGenerated() and + not e.(Function).isCompilerGenerated() and + // Exclude local variables generated by the compiler (but not marked as such by our extractor) + not e.(LocalScopeVariable).hasName(["__func__", "__PRETTY_FUNCTION__", "__FUNCTION__"]) and + // Exclude special "macro" + ( + if isFileScope(e) + then + // technically ignoring the function prototype scope, but we don't care for this use case + scope = FileScope() + else scope = BlockScope() + ) and + ( + if e instanceof UserType + then + if e instanceof TypedefType + then + // Typedef types are in the ordinary namespace + cNameSpace = OrdinaryNameSpace() + else + // Other user-defined types are in the tag namespace + cNameSpace = TagNameSpace() + else + if (e instanceof MemberVariable or e instanceof MemberFunction) + then cNameSpace = MemberNameSpace() + else cNameSpace = OrdinaryNameSpace() + ) and + ( + if exists(getDeclDescription(e)) + then identifierDescription = getDeclDescription(e) + else identifierDescription = "Identifier" + ) + or + e.(LabelStmt).getName() = identifierName and + scope = FunctionScope() and + cNameSpace = LabelNameSpace() and + identifierDescription = "Label" + or + e.(Macro).hasName(identifierName) and + scope = MacroScope() and + cNameSpace = MacroNameSpace() and + identifierDescription = "Macro" + or + e.(FunctionLikeMacro).getAParameter() = identifierName and + // Exclude __VA_ARGS__ as it is a special macro parameter + not identifierName = "__VA_ARGS__..." and + scope = MacroScope() and + cNameSpace = MacroNameSpace() and + identifierDescription = "Macro parameter" + or + e.(PreprocessorUndef).getName() = identifierName and + scope = MacroScope() and + cNameSpace = MacroNameSpace() and + identifierDescription = "Undef" + ) + } + + private Macro getGeneratedFrom(Element e) { + isCIdentifier(e, _, _, _, _) and + exists(MacroInvocation mi | + mi = result.getAnInvocation() and + mi.getAGeneratedElement() = e and + not exists(MacroInvocation child | + child.getParentInvocation() = mi and + child.getAGeneratedElement() = e + ) + ) + } + + module TargetedCLibrary = CStandardLibrary::C11; + + /** + * Holds if the given C program element is a reserved identifier according to the C11 standard or MISRA. + * + * @param requireHeaderIncluded false if we don't require + */ + predicate isAReservedIdentifier(Element m, string message, boolean requireHeaderIncluded) { + requireHeaderIncluded = [true, false] and + exists( + string name, Scope scope, CNameSpace cNameSpace, string reason, string identifierDescription + | + isCIdentifier(m, name, scope, cNameSpace, identifierDescription) and + // Exclude cases generated from library macros, because the user does not control them + not getGeneratedFrom(m) instanceof LibraryMacro and + message = identifierDescription + " '" + name + "' " + reason + "." + | + // C11 7.1.3/1 + // > All identifiers that begin with an underscore and either an uppercase letter or another + // > underscore are always reserved for any use. + name.regexpMatch("__.*") and + // Exclude this macro which is intended to be implemented by the user + not name = "__STDC_WANT_LIB_EXT1__" and + reason = "declares a reserved name beginning with __" + or + name.regexpMatch("_[A-Z].*") and + reason = "declares a reserved name beginning _ followed by an uppercase letter" + or + // > All identifiers that begin with an underscore are always reserved for use as identifiers + // > with file scope in both the ordinary and tag name spaces. + name.regexpMatch("_([^A-Z_].*)?") and + scope = FileScope() and + cNameSpace = [OrdinaryNameSpace().(TCNameSpace), TagNameSpace()] and + reason = + "declares a name beginning with _ which is reserved in the " + cNameSpace + " name space" + or + name.regexpMatch("_([^A-Z_].*)?") and + scope = MacroScope() and + cNameSpace = MacroNameSpace() and + reason = + "declares a name beginning with _ which is reserved in the ordinary and tag namespaces" + or + // > Each macro name in any of the following subclauses (including the future library + // > directions) is reserved for use as specified if any of its associated headers is included; + // > unless explicitly stated otherwise (see 7.1.4). + exists(string header | + TargetedCLibrary::hasMacroName(header, name, _) and + // The relevant header is included directly or transitively by the file, or we don't apply that requirement + (m.getFile().getAnIncludedFile*().getBaseName() = header or requireHeaderIncluded = false) and + reason = + "declares a name reserved for a macro from the " + TargetedCLibrary::getName() + + " standard library header '" + header + "'" + ) + or + // > All identifiers with external linkage in any of the following subclauses (including the + // > future library directions) and errno are always reserved for use as identifiers with + // > external linkage.184 + exists(string header | + TargetedCLibrary::hasObjectName(header, _, name, _, "external") + or + TargetedCLibrary::hasFunctionName(header, _, "", name, _, _, "external") + or + // > 184. The list of reserved identifiers with external linkage includes math_errhandling, setjmp, + // > va_copy, and va_end. + name = "errno" and + header = "errno.h" + or + name = "math_errhandling" and + header = "math.h" + or + name = "setjmp" and + header = "setjmp.h" + or + name = "va_copy" and + header = "stdarg.h" + or + name = "va_end" and + header = "stdarg.h" + | + hasExternalLinkage(m) and + reason = + "declares a name which is reserved for external linkage from the " + + TargetedCLibrary::getName() + " standard library header '" + header + "'" + ) + or + // > Each identifier with file scope listed in any of the following subclauses (including the + // > future library directions) is reserved for use as a macro name and as an identifier with + // > file scope in the same name space if any of its associated headers is included + // + // Note: these cases are typically already rejected by the compiler, which prohibits redeclaration + // of existing symbols. The macro cases are expected to work, though. + exists(string header | + TargetedCLibrary::hasObjectName(header, _, name, _, _) and + (cNameSpace = OrdinaryNameSpace() or cNameSpace = MacroNameSpace()) + or + TargetedCLibrary::hasFunctionName(header, _, "", name, _, _, _) and + (cNameSpace = OrdinaryNameSpace() or cNameSpace = MacroNameSpace()) + or + exists(string typeName | + TargetedCLibrary::hasTypeName(header, _, typeName) and + // Strip struct/union/enum prefix + name = typeName.regexpReplaceAll("^(struct|union|enum) ", "") + | + ( + if typeName.regexpMatch("^(struct|union|enum) ") + then + // struct, union and enum types are in the tag namespace + cNameSpace = TagNameSpace() + else + // typedef and therefore part of the ordinary namespace + cNameSpace = OrdinaryNameSpace() + ) + or + cNameSpace = MacroNameSpace() + ) + or + exists(string declaringType, Class c | + TargetedCLibrary::hasMemberVariableName(header, _, declaringType, name, _) + | + // Each declaring type has its own namespace, so check that it's declared in the same + cNameSpace = MemberNameSpace() and + c.getAMember() = m and + c.getSimpleName() = declaringType + or + cNameSpace = MacroNameSpace() + ) + | + ( + scope = FileScope() + or + scope = MacroScope() + ) and + // The relevant header is included directly or transitively by the file, or we don't apply that requirement + (m.getFile().getAnIncludedFile*().getBaseName() = header or requireHeaderIncluded = false) and + reason = + "declares a reserved name from the " + TargetedCLibrary::getName() + + " standard library header '" + header + + "' which is included directly or indirectly in this translation unit" + ) + or + // C11 6.4.1/2 + Keywords::isKeyword(name) and + reason = "declares a reserved name which is a C11 keyword" + ) + } + } + + module Cpp14 { + private import codingstandards.cpp.Lex + + module TargetedCppLibrary = CppStandardLibrary::Cpp14; + + module TargetedCLibrary = CStandardLibrary::C99; + + predicate isMacroUsingReservedIdentifier(PreprocessorDirective pd, string reason) { + exists(string name, string identifierDescription | + pd.(Macro).getName() = name and identifierDescription = "#define" + or + pd.(PreprocessorUndef).getName() = name and + identifierDescription = "#undef" + | + // [macro.names] precludes the use of any name declared in any standard library header + exists(string header, string standard | + TargetedCLibrary::hasName(header, name) and + standard = TargetedCLibrary::getName() + or + TargetedCppLibrary::hasName(header, name) and + standard = TargetedCppLibrary::getName() + | + // Includes at least one standard library header + pd.getFile().getAnIncludedFile*().getBaseName() = + [TargetedCLibrary::getAHeader(), TargetedCppLibrary::getAHeader()] and + reason = + "'" + identifierDescription + " " + name + "' uses a reserved name from the " + standard + + " standard library header <" + header + ">." + ) + or + // [macro.names] precludes the use of keywords, special identifiers or reserved attribute tokens + exists(string kind | + name = Lex::Cpp14::keyword() and kind = " keyword" + or + name = Lex::Cpp14::specialIdentfier() and kind = "special identifier" + or + name = Lex::Cpp14::reservedAttributeToken() and kind = "reserved attribute token" + | + reason = + "'" + identifierDescription + " " + name + "' uses a name lexically identical to a " + + kind + "." + ) + or + // [global.names] Reserves unconditionally all names containing __ or prefixed with _[A-Z]. + // In addition _ prefixed names are reserved to the implementation in the global namespace. + // As macros are not limited in effect to a given namespace, we also consider all names + // starting with _ as reserved when considering macros, as well as those with __ in the name. + name.regexpMatch("(_.*|.*__.*)") and + reason = + "'" + identifierDescription + " " + name + "' uses a name reserved for the " + + TargetedCppLibrary::getName() + " implementation." + ) + } + + class GlobalFunction extends TopLevelFunction { + GlobalFunction() { getNamespace() instanceof GlobalNamespace } + } + + private Macro getGeneratedFrom(Element e) { + isCppIdentifier(e, _, _, _) and + exists(MacroInvocation mi | + mi = result.getAnInvocation() and + mi.getAGeneratedElement() = e and + not exists(MacroInvocation child | + child.getParentInvocation() = mi and + child.getAGeneratedElement() = e + ) + ) + } + + newtype IdentifierScope = + StdNamespaceScope() or + GlobalNamespaceScope() or + OtherNamespaceScope() + + /** + * An declaration whose name can be reserved. + */ + private predicate isCppIdentifier( + Declaration m, string name, string identifierDescription, IdentifierScope scope + ) { + m.(GlobalFunction).getName() = name and + identifierDescription = "Function" and + scope = GlobalNamespaceScope() + or + m.(GlobalVariable).getName() = name and + identifierDescription = "Variable" and + scope = GlobalNamespaceScope() + or + m.(UserType).getName() = name and + m.(UserType).getNamespace() instanceof GlobalNamespace and + identifierDescription = "Type" and + scope = GlobalNamespaceScope() + or + hasExternalLinkage(m) and + m.(Declaration).getName() = name and + identifierDescription = "Declaration with external linkage" and + exists(Namespace n | n = m.(Declaration).getNamespace() | + if n instanceof StdNS + then scope = StdNamespaceScope() + else + if n instanceof GlobalNamespace + then scope = GlobalNamespaceScope() + else scope = OtherNamespaceScope() + ) + } + + predicate isAReservedIdentifier(Declaration m, string message) { + exists(string name, string identifierDescription, IdentifierScope scope, string reason | + isCppIdentifier(m, name, identifierDescription, scope) and + // Exclude cases generated from library macros, because the user does not control them + not getGeneratedFrom(m) instanceof LibraryMacro and + message = identifierDescription + " '" + name + "' " + reason + "." + | + // [global.names] reserves unconditionally all names containing __ or prefixed with _[A-Z]. + // In addition _ prefixed names are reserved to the implementation in the global namespace. + name.regexpMatch("(_[A-Z].*|.*__.*)") and + reason = + " uses a name reserved for the " + TargetedCppLibrary::getName() + " implementation." + or + // [global.names] reserves all _ prefixed names to the implementation in the global namespace. + name.regexpMatch("_([^A-Z_].*)?") and + scope = GlobalNamespaceScope() and + reason = + " uses a name reserved for the " + TargetedCppLibrary::getName() + " implementation." + or + // [extern.names]/1: + // Each name declared as an object with external linkage in a header is reserved to the implementation to + // designate that library object with external linkage,182 both in namespace std and in the global namespace. + exists(string header | + header = + max(string candidate_header | + TargetedCppLibrary::hasObjectName(candidate_header, _, name, _, "external") + ) + or + header = "errno" and + name = "cerrno" + | + not scope = OtherNamespaceScope() and + reason = + "declares a reserved object name from the " + TargetedCppLibrary::getName() + + " standard library header <" + header + ">" + ) + or + // [extern.names]/2: + // Each global function signature declared with external linkage in a header is reserved to the implementation + // to designate that function signature with external linkage. + exists(string header | + header = + max(string candidate_header | + // Global functions are in the global namespace ("") and have no declaring type + TargetedCppLibrary::hasFunctionName(candidate_header, "", "", name, _, _, "external") + ) + or + header = "csetjmp" and + name = "setjmp" + or + header = "cstdarg" and + name = "va_end" + | + // Only report against elements with external linkage + hasExternalLinkage(m) and + reason = + "declares a name which is reserved for a function from the " + + TargetedCppLibrary::getName() + " standard library header <" + header + ">" + ) + or + // [extern.names]/3: + // Each name from the Standard C library declared with external linkage is reserved to the implementation + // for use as a name with extern "C" linkage, both in namespace std and in the global namespace. + exists(string header | + header = + max(string candidate_header | + TargetedCLibrary::hasObjectName(candidate_header, _, name, _, "external") + ) + | + // Only global and std + not scope = OtherNamespaceScope() and + reason = + "declares a name which is reserved for the " + TargetedCLibrary::getName() + + " standard library header <" + header + ">" + ) + or + exists(string header | + // [extern.names]/4: + // Each function signature from the Standard C library declared with external linkage is reserved to the + // implementation for use as a function signature with both extern "C" and extern "C++" linkage, 184 or as + // a name of namespace scope in the global namespace. + header = + max(string candidate_header | + TargetedCLibrary::hasFunctionName(candidate_header, _, _, name, _, _, "external") + ) and + reason = + "declares a name which is reserved for a function from the " + + TargetedCLibrary::getName() + " standard library header <" + header + ">" + or + header = ["cuchar", "cwchar", "cwctype"] and + TargetedCppLibrary::hasFunctionName(header, _, "", name, _, _, "external") and + reason = + "declares a name which is reserved for a function from the " + + TargetedCppLibrary::getName() + " standard library header <" + header + ">" + | + // Only reserved as a name in the global scope + scope = GlobalNamespaceScope() + or + // Not a function, but has external linkage + hasExternalLinkage(m) and + not m instanceof Function + ) + or + exists(string header | + // [extern.types]: + // For each type T from the Standard C library,185 the types ::T and std::T are reserved to the implementation + // and, when defined, ::T shall be identical to std::T. + header = + max(string candidate_header | TargetedCLibrary::hasTypeName(candidate_header, _, name)) and + // Only restricted in std and global namespace + not scope = OtherNamespaceScope() and + reason = + "declares a name which is reserved for a type from the " + TargetedCLibrary::getName() + + " standard library header <" + header + ">" + ) + ) + } + } +} diff --git a/cpp/common/src/codingstandards/cpp/StandardLibraryNames.qll b/cpp/common/src/codingstandards/cpp/StandardLibraryNames.qll new file mode 100644 index 0000000000..a300d4abe0 --- /dev/null +++ b/cpp/common/src/codingstandards/cpp/StandardLibraryNames.qll @@ -0,0 +1,100 @@ +/** + * A module for representing names from the C and C++ Standard Library. + */ + +import cpp + +/** + * Holds if the given standard defines the given macro in the given namespace. + */ +extensible predicate libraryMacroModel( + string standard, string header, string name, string parameters +); + +/** + * Holds if the given standard defines the given type in the given namespace. + */ +extensible predicate libraryTypeModel(string standard, string header, string namespace, string name); + +/** + * Holds if the given standard defines the object or value name in the given namespace. + */ +extensible predicate libraryObjectModel( + string standard, string header, string namespace, string name, string type, string linkage +); + +/** + * Holds if the given standard defines the function name in the given namespace. + */ +extensible predicate libraryFunctionModel( + string standard, string header, string namespace, string declaringType, string name, + string return_signature, string parameter_signature, string linkage +); + +/** + * Holds if the given standard defines the given member variable in the given declaring type and namespace. + */ +extensible predicate libraryMemberVariableModel( + string standard, string header, string namespace, string declaringType, string name, string type +); + +signature module StandardLibrary { + string getName(); + + /** + * Holds if this standard declares `name` in `header`. + */ + default predicate hasName(string header, string name) { + hasMacroName(header, name, _) or + hasTypeName(header, _, name) or + hasObjectName(header, _, name, _, _) or + hasFunctionName(header, _, _, name, _, _, _) or + hasMemberVariableName(header, _, _, name, _) + } + + default predicate hasMacroName(string header, string name, string parameters) { + libraryMacroModel(getName(), header, name, parameters) + } + + default predicate hasTypeName(string header, string namespace, string name) { + libraryTypeModel(getName(), header, namespace, name) + } + + default predicate hasObjectName( + string header, string namespace, string name, string type, string linkage + ) { + libraryObjectModel(getName(), header, namespace, name, type, linkage) + } + + default predicate hasFunctionName( + string header, string namespace, string declaringType, string name, string return_signature, + string parameter_signature, string linkage + ) { + libraryFunctionModel(getName(), header, namespace, declaringType, name, return_signature, + parameter_signature, linkage) + } + + default predicate hasMemberVariableName( + string header, string namespace, string declaringType, string name, string type + ) { + libraryMemberVariableModel(getName(), header, namespace, declaringType, name, type) + } + + default string getAHeader() { hasName(result, _) } +} + +module CStandardLibrary { + module C99 implements StandardLibrary { + string getName() { result = "C99" } + } + + module C11 implements StandardLibrary { + string getName() { result = "C11" } + } +} + +module CppStandardLibrary { + module Cpp14 implements StandardLibrary { + string getName() { result = "C++14" } + } +} diff --git a/cpp/common/src/codingstandards/cpp/rules/declaredareservedidentifier/DeclaredAReservedIdentifier.qll b/cpp/common/src/codingstandards/cpp/rules/declaredareservedidentifier/DeclaredAReservedIdentifier.qll index f1fdf06862..c0fa747ff8 100644 --- a/cpp/common/src/codingstandards/cpp/rules/declaredareservedidentifier/DeclaredAReservedIdentifier.qll +++ b/cpp/common/src/codingstandards/cpp/rules/declaredareservedidentifier/DeclaredAReservedIdentifier.qll @@ -5,8 +5,7 @@ import cpp import codingstandards.cpp.Customizations import codingstandards.cpp.Exclusions -import codingstandards.cpp.Naming -import codingstandards.cpp.CKeywords +import codingstandards.cpp.ReservedNames abstract class DeclaredAReservedIdentifierSharedQuery extends Query { } @@ -14,24 +13,7 @@ Query getQuery() { result instanceof DeclaredAReservedIdentifierSharedQuery } query predicate problems(Element m, string message) { not isExcluded(m, getQuery()) and - exists(string name | - ( - m.(Macro).hasName(name) or - m.(Declaration).hasGlobalName(name) - ) and - ( - Naming::Cpp14::hasStandardLibraryMacroName(name) - or - Naming::Cpp14::hasStandardLibraryObjectName(name) - or - Naming::Cpp14::hasStandardLibraryFunctionName(name) - or - name.regexpMatch("_[A-Z_].*") - or - name.regexpMatch("_.*") and m.(Declaration).hasGlobalName(name) - or - Keywords::isKeyword(name) - ) and - message = "Reserved identifier '" + name + "' is declared." - ) + ReservedNames::C11::isAReservedIdentifier(m, message, true) and + // Not covered by this rule + not m instanceof PreprocessorUndef } diff --git a/cpp/common/src/ext/stdc11.generated.names.model.yml b/cpp/common/src/ext/stdc11.generated.names.model.yml new file mode 100644 index 0000000000..baefa5d733 --- /dev/null +++ b/cpp/common/src/ext/stdc11.generated.names.model.yml @@ -0,0 +1,1216 @@ +extensions: +- addsTo: {extensible: libraryMacroModel, pack: codeql/common-cpp-coding-standards} + data: + - [C11, assert.h, static_assert, ''] + - [C11, complex.h, __STDC_NO_COMPLEX__, ''] + - [C11, complex.h, complex, ''] + - [C11, complex.h, _Complex_I, ''] + - [C11, complex.h, imaginary, ''] + - [C11, complex.h, _Imaginary_I, ''] + - [C11, complex.h, I, ''] + - [C11, errno.h, EDOM, ''] + - [C11, errno.h, EILSEQ, ''] + - [C11, errno.h, ERANGE, ''] + - [C11, errno.h, errno, ''] + - [C11, errno.h, __STDC_WANT_LIB_EXT1__, ''] + - [C11, fenv.h, FE_DIVBYZERO, ''] + - [C11, fenv.h, FE_INEXACT, ''] + - [C11, fenv.h, FE_INVALID, ''] + - [C11, fenv.h, FE_OVERFLOW, ''] + - [C11, fenv.h, FE_UNDERFLOW, ''] + - [C11, fenv.h, FE_ALL_EXCEPT, ''] + - [C11, fenv.h, FE_DOWNWARD, ''] + - [C11, fenv.h, FE_TONEAREST, ''] + - [C11, fenv.h, FE_TOWARDZERO, ''] + - [C11, fenv.h, FE_UPWARD, ''] + - [C11, fenv.h, FE_DFL_ENV, ''] + - [C11, float.h, FLT_ROUNDS, ''] + - [C11, float.h, FLT_EVAL_METHOD, ''] + - [C11, float.h, FLT_HAS_SUBNORM, ''] + - [C11, float.h, DBL_HAS_SUBNORM, ''] + - [C11, float.h, LDBL_HAS_SUBNORM, ''] + - [C11, float.h, FLT_RADIX, ''] + - [C11, float.h, FLT_MANT_DIG, ''] + - [C11, float.h, DBL_MANT_DIG, ''] + - [C11, float.h, LDBL_MANT_DIG, ''] + - [C11, float.h, FLT_DECIMAL_DIG, ''] + - [C11, float.h, DBL_DECIMAL_DIG, ''] + - [C11, float.h, LDBL_DECIMAL_DIG, ''] + - [C11, float.h, DECIMAL_DIG, ''] + - [C11, float.h, FLT_DIG, ''] + - [C11, float.h, DBL_DIG, ''] + - [C11, float.h, LDBL_DIG, ''] + - [C11, float.h, FLT_MIN_EXP, ''] + - [C11, float.h, DBL_MIN_EXP, ''] + - [C11, float.h, LDBL_MIN_EXP, ''] + - [C11, float.h, FLT_MIN_10_EXP, ''] + - [C11, float.h, DBL_MIN_10_EXP, ''] + - [C11, float.h, LDBL_MIN_10_EXP, ''] + - [C11, float.h, FLT_MAX_EXP, ''] + - [C11, float.h, DBL_MAX_EXP, ''] + - [C11, float.h, LDBL_MAX_EXP, ''] + - [C11, float.h, FLT_MAX_10_EXP, ''] + - [C11, float.h, DBL_MAX_10_EXP, ''] + - [C11, float.h, LDBL_MAX_10_EXP, ''] + - [C11, float.h, FLT_MAX, ''] + - [C11, float.h, DBL_MAX, ''] + - [C11, float.h, LDBL_MAX, ''] + - [C11, float.h, FLT_EPSILON, ''] + - [C11, float.h, DBL_EPSILON, ''] + - [C11, float.h, LDBL_EPSILON, ''] + - [C11, float.h, FLT_MIN, ''] + - [C11, float.h, DBL_MIN, ''] + - [C11, float.h, LDBL_MIN, ''] + - [C11, float.h, FLT_TRUE_MIN, ''] + - [C11, float.h, DBL_TRUE_MIN, ''] + - [C11, float.h, LDBL_TRUE_MIN, ''] + - [C11, inttypes.h, PRId8, ''] + - [C11, inttypes.h, PRId16, ''] + - [C11, inttypes.h, PRId32, ''] + - [C11, inttypes.h, PRId64, ''] + - [C11, inttypes.h, PRIdLEAST8, ''] + - [C11, inttypes.h, PRIdLEAST16, ''] + - [C11, inttypes.h, PRIdLEAST32, ''] + - [C11, inttypes.h, PRIdLEAST64, ''] + - [C11, inttypes.h, PRIdFAST8, ''] + - [C11, inttypes.h, PRIdFAST16, ''] + - [C11, inttypes.h, PRIdFAST32, ''] + - [C11, inttypes.h, PRIdFAST64, ''] + - [C11, inttypes.h, PRIdMAX, ''] + - [C11, inttypes.h, PRIdPTR, ''] + - [C11, inttypes.h, PRIi8, ''] + - [C11, inttypes.h, PRIi16, ''] + - [C11, inttypes.h, PRIi32, ''] + - [C11, inttypes.h, PRIi64, ''] + - [C11, inttypes.h, PRIiLEAST8, ''] + - [C11, inttypes.h, PRIiLEAST16, ''] + - [C11, inttypes.h, PRIiLEAST32, ''] + - [C11, inttypes.h, PRIiLEAST64, ''] + - [C11, inttypes.h, PRIiFAST8, ''] + - [C11, inttypes.h, PRIiFAST16, ''] + - [C11, inttypes.h, PRIiFAST32, ''] + - [C11, inttypes.h, PRIiFAST64, ''] + - [C11, inttypes.h, PRIiMAX, ''] + - [C11, inttypes.h, PRIiPTR, ''] + - [C11, inttypes.h, PRIo8, ''] + - [C11, inttypes.h, PRIo16, ''] + - [C11, inttypes.h, PRIo32, ''] + - [C11, inttypes.h, PRIo64, ''] + - [C11, inttypes.h, PRIoLEAST8, ''] + - [C11, inttypes.h, PRIoLEAST16, ''] + - [C11, inttypes.h, PRIoLEAST32, ''] + - [C11, inttypes.h, PRIoLEAST64, ''] + - [C11, inttypes.h, PRIoFAST8, ''] + - [C11, inttypes.h, PRIoFAST16, ''] + - [C11, inttypes.h, PRIoFAST32, ''] + - [C11, inttypes.h, PRIoFAST64, ''] + - [C11, inttypes.h, PRIoMAX, ''] + - [C11, inttypes.h, PRIoPTR, ''] + - [C11, inttypes.h, PRIu8, ''] + - [C11, inttypes.h, PRIu16, ''] + - [C11, inttypes.h, PRIu32, ''] + - [C11, inttypes.h, PRIu64, ''] + - [C11, inttypes.h, PRIuLEAST8, ''] + - [C11, inttypes.h, PRIuLEAST16, ''] + - [C11, inttypes.h, PRIuLEAST32, ''] + - [C11, inttypes.h, PRIuLEAST64, ''] + - [C11, inttypes.h, PRIuFAST8, ''] + - [C11, inttypes.h, PRIuFAST16, ''] + - [C11, inttypes.h, PRIuFAST32, ''] + - [C11, inttypes.h, PRIuFAST64, ''] + - [C11, inttypes.h, PRIuMAX, ''] + - [C11, inttypes.h, PRIuPTR, ''] + - [C11, inttypes.h, PRIx8, ''] + - [C11, inttypes.h, PRIx16, ''] + - [C11, inttypes.h, PRIx32, ''] + - [C11, inttypes.h, PRIx64, ''] + - [C11, inttypes.h, PRIxLEAST8, ''] + - [C11, inttypes.h, PRIxLEAST16, ''] + - [C11, inttypes.h, PRIxLEAST32, ''] + - [C11, inttypes.h, PRIxLEAST64, ''] + - [C11, inttypes.h, PRIxFAST8, ''] + - [C11, inttypes.h, PRIxFAST16, ''] + - [C11, inttypes.h, PRIxFAST32, ''] + - [C11, inttypes.h, PRIxFAST64, ''] + - [C11, inttypes.h, PRIxMAX, ''] + - [C11, inttypes.h, PRIxPTR, ''] + - [C11, inttypes.h, PRIX8, ''] + - [C11, inttypes.h, PRIX16, ''] + - [C11, inttypes.h, PRIX32, ''] + - [C11, inttypes.h, PRIX64, ''] + - [C11, inttypes.h, PRIXLEAST8, ''] + - [C11, inttypes.h, PRIXLEAST16, ''] + - [C11, inttypes.h, PRIXLEAST32, ''] + - [C11, inttypes.h, PRIXLEAST64, ''] + - [C11, inttypes.h, PRIXFAST8, ''] + - [C11, inttypes.h, PRIXFAST16, ''] + - [C11, inttypes.h, PRIXFAST32, ''] + - [C11, inttypes.h, PRIXFAST64, ''] + - [C11, inttypes.h, PRIXMAX, ''] + - [C11, inttypes.h, PRIXPTR, ''] + - [C11, inttypes.h, SCNd8, ''] + - [C11, inttypes.h, SCNd16, ''] + - [C11, inttypes.h, SCNd32, ''] + - [C11, inttypes.h, SCNd64, ''] + - [C11, inttypes.h, SCNdLEAST8, ''] + - [C11, inttypes.h, SCNdLEAST16, ''] + - [C11, inttypes.h, SCNdLEAST32, ''] + - [C11, inttypes.h, SCNdLEAST64, ''] + - [C11, inttypes.h, SCNdFAST8, ''] + - [C11, inttypes.h, SCNdFAST16, ''] + - [C11, inttypes.h, SCNdFAST32, ''] + - [C11, inttypes.h, SCNdFAST64, ''] + - [C11, inttypes.h, SCNdMAX, ''] + - [C11, inttypes.h, SCNdPTR, ''] + - [C11, inttypes.h, SCNi8, ''] + - [C11, inttypes.h, SCNi16, ''] + - [C11, inttypes.h, SCNi32, ''] + - [C11, inttypes.h, SCNi64, ''] + - [C11, inttypes.h, SCNiLEAST8, ''] + - [C11, inttypes.h, SCNiLEAST16, ''] + - [C11, inttypes.h, SCNiLEAST32, ''] + - [C11, inttypes.h, SCNiLEAST64, ''] + - [C11, inttypes.h, SCNiFAST8, ''] + - [C11, inttypes.h, SCNiFAST16, ''] + - [C11, inttypes.h, SCNiFAST32, ''] + - [C11, inttypes.h, SCNiFAST64, ''] + - [C11, inttypes.h, SCNiMAX, ''] + - [C11, inttypes.h, SCNiPTR, ''] + - [C11, inttypes.h, SCNo8, ''] + - [C11, inttypes.h, SCNo16, ''] + - [C11, inttypes.h, SCNo32, ''] + - [C11, inttypes.h, SCNo64, ''] + - [C11, inttypes.h, SCNoLEAST8, ''] + - [C11, inttypes.h, SCNoLEAST16, ''] + - [C11, inttypes.h, SCNoLEAST32, ''] + - [C11, inttypes.h, SCNoLEAST64, ''] + - [C11, inttypes.h, SCNoFAST8, ''] + - [C11, inttypes.h, SCNoFAST16, ''] + - [C11, inttypes.h, SCNoFAST32, ''] + - [C11, inttypes.h, SCNoFAST64, ''] + - [C11, inttypes.h, SCNoMAX, ''] + - [C11, inttypes.h, SCNoPTR, ''] + - [C11, inttypes.h, SCNu8, ''] + - [C11, inttypes.h, SCNu16, ''] + - [C11, inttypes.h, SCNu32, ''] + - [C11, inttypes.h, SCNu64, ''] + - [C11, inttypes.h, SCNuLEAST8, ''] + - [C11, inttypes.h, SCNuLEAST16, ''] + - [C11, inttypes.h, SCNuLEAST32, ''] + - [C11, inttypes.h, SCNuLEAST64, ''] + - [C11, inttypes.h, SCNuFAST8, ''] + - [C11, inttypes.h, SCNuFAST16, ''] + - [C11, inttypes.h, SCNuFAST32, ''] + - [C11, inttypes.h, SCNuFAST64, ''] + - [C11, inttypes.h, SCNuMAX, ''] + - [C11, inttypes.h, SCNuPTR, ''] + - [C11, inttypes.h, SCNx8, ''] + - [C11, inttypes.h, SCNx16, ''] + - [C11, inttypes.h, SCNx32, ''] + - [C11, inttypes.h, SCNx64, ''] + - [C11, inttypes.h, SCNxLEAST8, ''] + - [C11, inttypes.h, SCNxLEAST16, ''] + - [C11, inttypes.h, SCNxLEAST32, ''] + - [C11, inttypes.h, SCNxLEAST64, ''] + - [C11, inttypes.h, SCNxFAST8, ''] + - [C11, inttypes.h, SCNxFAST16, ''] + - [C11, inttypes.h, SCNxFAST32, ''] + - [C11, inttypes.h, SCNxFAST64, ''] + - [C11, inttypes.h, SCNxMAX, ''] + - [C11, inttypes.h, SCNxPTR, ''] + - [C11, iso646.h, and, ''] + - [C11, iso646.h, and_eq, ''] + - [C11, iso646.h, bitand, ''] + - [C11, iso646.h, bitor, ''] + - [C11, iso646.h, compl, ''] + - [C11, iso646.h, not, ''] + - [C11, iso646.h, not_eq, ''] + - [C11, iso646.h, or, ''] + - [C11, iso646.h, or_eq, ''] + - [C11, iso646.h, xor, ''] + - [C11, iso646.h, xor_eq, ''] + - [C11, limits.h, CHAR_BIT, ''] + - [C11, limits.h, SCHAR_MIN, ''] + - [C11, limits.h, SCHAR_MAX, ''] + - [C11, limits.h, UCHAR_MAX, ''] + - [C11, limits.h, CHAR_MIN, ''] + - [C11, limits.h, CHAR_MAX, ''] + - [C11, limits.h, MB_LEN_MAX, ''] + - [C11, limits.h, SHRT_MIN, ''] + - [C11, limits.h, SHRT_MAX, ''] + - [C11, limits.h, USHRT_MAX, ''] + - [C11, limits.h, INT_MIN, ''] + - [C11, limits.h, INT_MAX, ''] + - [C11, limits.h, UINT_MAX, ''] + - [C11, limits.h, LONG_MIN, ''] + - [C11, limits.h, LONG_MAX, ''] + - [C11, limits.h, ULONG_MAX, ''] + - [C11, limits.h, LLONG_MIN, ''] + - [C11, limits.h, LLONG_MAX, ''] + - [C11, limits.h, ULLONG_MAX, ''] + - [C11, locale.h, 'NULL', ''] + - [C11, locale.h, LC_ALL, ''] + - [C11, locale.h, LC_COLLATE, ''] + - [C11, locale.h, LC_CTYPE, ''] + - [C11, locale.h, LC_MONETARY, ''] + - [C11, locale.h, LC_NUMERIC, ''] + - [C11, locale.h, LC_TIME, ''] + - [C11, math.h, HUGE_VAL, ''] + - [C11, math.h, HUGE_VALF, ''] + - [C11, math.h, HUGE_VALL, ''] + - [C11, math.h, INFINITY, ''] + - [C11, math.h, NAN, ''] + - [C11, math.h, FP_INFINITE, ''] + - [C11, math.h, FP_NAN, ''] + - [C11, math.h, FP_NORMAL, ''] + - [C11, math.h, FP_SUBNORMAL, ''] + - [C11, math.h, FP_ZERO, ''] + - [C11, math.h, FP_FAST_FMA, ''] + - [C11, math.h, FP_FAST_FMAF, ''] + - [C11, math.h, FP_FAST_FMAL, ''] + - [C11, math.h, FP_ILOGB0, ''] + - [C11, math.h, FP_ILOGBNAN, ''] + - [C11, math.h, MATH_ERRNO, ''] + - [C11, math.h, MATH_ERREXCEPT, ''] + - [C11, math.h, math_errhandling, ''] + - [C11, setjmp.h, jmp_buf, ''] + - [C11, signal.h, SIG_DFL, ''] + - [C11, signal.h, SIG_ERR, ''] + - [C11, signal.h, SIG_IGN, ''] + - [C11, signal.h, SIGABRT, ''] + - [C11, signal.h, SIGFPE, ''] + - [C11, signal.h, SIGILL, ''] + - [C11, signal.h, SIGINT, ''] + - [C11, signal.h, SIGSEGV, ''] + - [C11, signal.h, SIGTERM, ''] + - [C11, stdalign.h, alignas, ''] + - [C11, stdalign.h, __alignas_is_defined, ''] + - [C11, stdarg.h, va_list, ''] + - [C11, stdatomic.h, ATOMIC_BOOL_LOCK_FREE, ''] + - [C11, stdatomic.h, ATOMIC_CHAR_LOCK_FREE, ''] + - [C11, stdatomic.h, ATOMIC_CHAR16_T_LOCK_FREE, ''] + - [C11, stdatomic.h, ATOMIC_CHAR32_T_LOCK_FREE, ''] + - [C11, stdatomic.h, ATOMIC_WCHAR_T_LOCK_FREE, ''] + - [C11, stdatomic.h, ATOMIC_SHORT_LOCK_FREE, ''] + - [C11, stdatomic.h, ATOMIC_INT_LOCK_FREE, ''] + - [C11, stdatomic.h, ATOMIC_LONG_LOCK_FREE, ''] + - [C11, stdatomic.h, ATOMIC_LLONG_LOCK_FREE, ''] + - [C11, stdatomic.h, ATOMIC_POINTER_LOCK_FREE, ''] + - [C11, stdatomic.h, ATOMIC_FLAG_INIT, ''] + - [C11, stdatomic.h, memory_order, ''] + - [C11, stdatomic.h, memory_order_relaxed, ''] + - [C11, stdatomic.h, "\u2217", ''] + - [C11, stdatomic.h, memory_order_consume, ''] + - [C11, stdatomic.h, memory_order_acquire, ''] + - [C11, stdatomic.h, memory_order_release, ''] + - [C11, stdatomic.h, memory_order_acq_rel, ''] + - [C11, stdatomic.h, memory_order_seq_cst, ''] + - [C11, stdatomic.h, ATOMIC_VAR_INIT, (C value)] + - [C11, stdbool.h, bool, ''] + - [C11, stdbool.h, 'true', ''] + - [C11, stdbool.h, 'false', ''] + - [C11, stdbool.h, __bool_true_false_are_defined, ''] + - [C11, stddef.h, 'NULL', ''] + - [C11, stddef.h, offsetof, '(type, member-designator)'] + - [C11, stddef.h, __STDC_WANT_LIB_EXT1__, ''] + - [C11, stdint.h, INT8_MIN, ''] + - [C11, stdint.h, INT16_MIN, ''] + - [C11, stdint.h, INT32_MIN, ''] + - [C11, stdint.h, INT64_MIN, ''] + - [C11, stdint.h, INT8_MAX, ''] + - [C11, stdint.h, INT16_MAX, ''] + - [C11, stdint.h, INT32_MAX, ''] + - [C11, stdint.h, INT64_MAX, ''] + - [C11, stdint.h, UINT8_MAX, ''] + - [C11, stdint.h, UINT16_MAX, ''] + - [C11, stdint.h, UINT32_MAX, ''] + - [C11, stdint.h, UINT64_MAX, ''] + - [C11, stdint.h, INT_LEAST8_MIN, ''] + - [C11, stdint.h, INT_LEAST16_MIN, ''] + - [C11, stdint.h, INT_LEAST32_MIN, ''] + - [C11, stdint.h, INT_LEAST64_MIN, ''] + - [C11, stdint.h, INT_LEAST8_MAX, ''] + - [C11, stdint.h, INT_LEAST16_MAX, ''] + - [C11, stdint.h, INT_LEAST32_MAX, ''] + - [C11, stdint.h, INT_LEAST64_MAX, ''] + - [C11, stdint.h, UINT_LEAST8_MAX, ''] + - [C11, stdint.h, UINT_LEAST16_MAX, ''] + - [C11, stdint.h, UINT_LEAST32_MAX, ''] + - [C11, stdint.h, UINT_LEAST64_MAX, ''] + - [C11, stdint.h, INT_FAST8_MIN, ''] + - [C11, stdint.h, INT_FAST16_MIN, ''] + - [C11, stdint.h, INT_FAST32_MIN, ''] + - [C11, stdint.h, INT_FAST64_MIN, ''] + - [C11, stdint.h, INT_FAST8_MAX, ''] + - [C11, stdint.h, INT_FAST16_MAX, ''] + - [C11, stdint.h, INT_FAST32_MAX, ''] + - [C11, stdint.h, INT_FAST64_MAX, ''] + - [C11, stdint.h, UINT_FAST8_MAX, ''] + - [C11, stdint.h, UINT_FAST16_MAX, ''] + - [C11, stdint.h, UINT_FAST32_MAX, ''] + - [C11, stdint.h, UINT_FAST64_MAX, ''] + - [C11, stdint.h, INTPTR_MIN, ''] + - [C11, stdint.h, INTPTR_MAX, ''] + - [C11, stdint.h, UINTPTR_MAX, ''] + - [C11, stdint.h, INTMAX_MIN, ''] + - [C11, stdint.h, INTMAX_MAX, ''] + - [C11, stdint.h, UINTMAX_MAX, ''] + - [C11, stdint.h, PTRDIFF_MIN, ''] + - [C11, stdint.h, PTRDIFF_MAX, ''] + - [C11, stdint.h, SIG_ATOMIC_MIN, ''] + - [C11, stdint.h, SIG_ATOMIC_MAX, ''] + - [C11, stdint.h, SIZE_MAX, ''] + - [C11, stdint.h, WCHAR_MIN, ''] + - [C11, stdint.h, WCHAR_MAX, ''] + - [C11, stdint.h, WINT_MIN, ''] + - [C11, stdint.h, WINT_MAX, ''] + - [C11, stdint.h, INTN_C, (value)] + - [C11, stdint.h, UINTN_C, (value)] + - [C11, stdint.h, INTMAX_C, (value)] + - [C11, stdint.h, UINTMAX_C, (value)] + - [C11, stdint.h, __STDC_WANT_LIB_EXT1__, ''] + - [C11, stdint.h, RSIZE_MAX, ''] + - [C11, stdio.h, 'NULL', ''] + - [C11, stdio.h, _IOFBF, ''] + - [C11, stdio.h, _IOLBF, ''] + - [C11, stdio.h, _IONBF, ''] + - [C11, stdio.h, BUFSIZ, ''] + - [C11, stdio.h, EOF, ''] + - [C11, stdio.h, FOPEN_MAX, ''] + - [C11, stdio.h, FILENAME_MAX, ''] + - [C11, stdio.h, L_tmpnam, ''] + - [C11, stdio.h, SEEK_CUR, ''] + - [C11, stdio.h, SEEK_END, ''] + - [C11, stdio.h, SEEK_SET, ''] + - [C11, stdio.h, TMP_MAX, ''] + - [C11, stdio.h, stderr, ''] + - [C11, stdio.h, stdin, ''] + - [C11, stdio.h, stdout, ''] + - [C11, stdio.h, __STDC_WANT_LIB_EXT1__, ''] + - [C11, stdio.h, L_tmpnam_s, ''] + - [C11, stdio.h, TMP_MAX_S, ''] + - [C11, stdlib.h, 'NULL', ''] + - [C11, stdlib.h, EXIT_FAILURE, ''] + - [C11, stdlib.h, EXIT_SUCCESS, ''] + - [C11, stdlib.h, RAND_MAX, ''] + - [C11, stdlib.h, MB_CUR_MAX, ''] + - [C11, stdlib.h, __STDC_WANT_LIB_EXT1__, ''] + - [C11, stdnoreturn.h, noreturn, ''] + - [C11, string.h, 'NULL', ''] + - [C11, string.h, __STDC_WANT_LIB_EXT1__, ''] + - [C11, tgmath.h, acos, ''] + - [C11, tgmath.h, asin, ''] + - [C11, tgmath.h, atan, ''] + - [C11, tgmath.h, acosh, ''] + - [C11, tgmath.h, asinh, ''] + - [C11, tgmath.h, atanh, ''] + - [C11, tgmath.h, cos, ''] + - [C11, tgmath.h, sin, ''] + - [C11, tgmath.h, tan, ''] + - [C11, tgmath.h, cosh, ''] + - [C11, tgmath.h, sinh, ''] + - [C11, tgmath.h, tanh, ''] + - [C11, tgmath.h, exp, ''] + - [C11, tgmath.h, log, ''] + - [C11, tgmath.h, pow, ''] + - [C11, tgmath.h, sqrt, ''] + - [C11, tgmath.h, fabs, ''] + - [C11, tgmath.h, atan2, ''] + - [C11, tgmath.h, cbrt, ''] + - [C11, tgmath.h, ceil, ''] + - [C11, tgmath.h, copysign, ''] + - [C11, tgmath.h, erf, ''] + - [C11, tgmath.h, erfc, ''] + - [C11, tgmath.h, exp2, ''] + - [C11, tgmath.h, expm1, ''] + - [C11, tgmath.h, fdim, ''] + - [C11, tgmath.h, floor, ''] + - [C11, tgmath.h, fma, ''] + - [C11, tgmath.h, fmax, ''] + - [C11, tgmath.h, fmin, ''] + - [C11, tgmath.h, fmod, ''] + - [C11, tgmath.h, frexp, ''] + - [C11, tgmath.h, hypot, ''] + - [C11, tgmath.h, ilogb, ''] + - [C11, tgmath.h, ldexp, ''] + - [C11, tgmath.h, lgamma, ''] + - [C11, tgmath.h, llrint, ''] + - [C11, tgmath.h, llround, ''] + - [C11, tgmath.h, log10, ''] + - [C11, tgmath.h, log1p, ''] + - [C11, tgmath.h, log2, ''] + - [C11, tgmath.h, logb, ''] + - [C11, tgmath.h, lrint, ''] + - [C11, tgmath.h, lround, ''] + - [C11, tgmath.h, nearbyint, ''] + - [C11, tgmath.h, nextafter, ''] + - [C11, tgmath.h, nexttoward, ''] + - [C11, tgmath.h, remainder, ''] + - [C11, tgmath.h, remquo, ''] + - [C11, tgmath.h, rint, ''] + - [C11, tgmath.h, round, ''] + - [C11, tgmath.h, scalbn, ''] + - [C11, tgmath.h, scalbln, ''] + - [C11, tgmath.h, tgamma, ''] + - [C11, tgmath.h, trunc, ''] + - [C11, tgmath.h, carg, ''] + - [C11, tgmath.h, cimag, ''] + - [C11, tgmath.h, conj, ''] + - [C11, tgmath.h, cproj, ''] + - [C11, tgmath.h, creal, ''] + - [C11, threads.h, thread_local, ''] + - [C11, threads.h, ONCE_FLAG_INIT, ''] + - [C11, threads.h, TSS_DTOR_ITERATIONS, ''] + - [C11, threads.h, once_flag, ''] + - [C11, threads.h, mtx_plain, ''] + - [C11, threads.h, "\u2217", ''] + - [C11, threads.h, mtx_recursive, ''] + - [C11, threads.h, mtx_timed, ''] + - [C11, threads.h, thrd_timedout, ''] + - [C11, threads.h, thrd_success, ''] + - [C11, threads.h, thrd_busy, ''] + - [C11, threads.h, thrd_error, ''] + - [C11, threads.h, thrd_nomem, ''] + - [C11, time.h, 'NULL', ''] + - [C11, time.h, CLOCKS_PER_SEC, ''] + - [C11, time.h, TIME_UTC, ''] + - [C11, time.h, __STDC_WANT_LIB_EXT1__, ''] + - [C11, wchar.h, 'NULL', ''] + - [C11, wchar.h, WCHAR_MAX, ''] + - [C11, wchar.h, WCHAR_MIN, ''] + - [C11, wchar.h, WEOF, ''] + - [C11, wchar.h, __STDC_WANT_LIB_EXT1__, ''] + - [C11, wctype.h, WEOF, ''] +- addsTo: {extensible: libraryObjectModel, pack: codeql/common-cpp-coding-standards} + data: [] +- addsTo: {extensible: libraryTypeModel, pack: codeql/common-cpp-coding-standards} + data: + - [C11, errno.h, '', errno_t] + - [C11, fenv.h, '', fenv_t] + - [C11, fenv.h, '', fexcept_t] + - [C11, inttypes.h, '', imaxdiv_t] + - [C11, locale.h, '', struct lconv] + - [C11, math.h, '', float_t] + - [C11, math.h, '', double_t] + - [C11, signal.h, '', sig_atomic_t] + - [C11, stdatomic.h, '', atomic_flag] + - [C11, stdatomic.h, '', atomic_bool] + - [C11, stdatomic.h, '', atomic_char] + - [C11, stdatomic.h, '', atomic_schar] + - [C11, stdatomic.h, '', atomic_uchar] + - [C11, stdatomic.h, '', atomic_short] + - [C11, stdatomic.h, '', atomic_ushort] + - [C11, stdatomic.h, '', atomic_int] + - [C11, stdatomic.h, '', atomic_uint] + - [C11, stdatomic.h, '', atomic_long] + - [C11, stdatomic.h, '', atomic_ulong] + - [C11, stdatomic.h, '', atomic_llong] + - [C11, stdatomic.h, '', atomic_ullong] + - [C11, stdatomic.h, '', atomic_char16_t] + - [C11, stdatomic.h, '', atomic_char32_t] + - [C11, stdatomic.h, '', atomic_wchar_t] + - [C11, stdatomic.h, '', atomic_int_least8_t] + - [C11, stdatomic.h, '', atomic_uint_least8_t] + - [C11, stdatomic.h, '', atomic_int_least16_t] + - [C11, stdatomic.h, '', atomic_uint_least16_t] + - [C11, stdatomic.h, '', atomic_int_least32_t] + - [C11, stdatomic.h, '', atomic_uint_least32_t] + - [C11, stdatomic.h, '', atomic_int_least64_t] + - [C11, stdatomic.h, '', atomic_uint_least64_t] + - [C11, stdatomic.h, '', atomic_int_fast8_t] + - [C11, stdatomic.h, '', atomic_uint_fast8_t] + - [C11, stdatomic.h, '', atomic_int_fast16_t] + - [C11, stdatomic.h, '', atomic_uint_fast16_t] + - [C11, stdatomic.h, '', atomic_int_fast32_t] + - [C11, stdatomic.h, '', atomic_uint_fast32_t] + - [C11, stdatomic.h, '', atomic_int_fast64_t] + - [C11, stdatomic.h, '', atomic_uint_fast64_t] + - [C11, stdatomic.h, '', atomic_intptr_t] + - [C11, stdatomic.h, '', atomic_uintptr_t] + - [C11, stdatomic.h, '', atomic_size_t] + - [C11, stdatomic.h, '', atomic_ptrdiff_t] + - [C11, stdatomic.h, '', atomic_intmax_t] + - [C11, stdatomic.h, '', atomic_uintmax_t] + - [C11, stddef.h, '', ptrdiff_t] + - [C11, stddef.h, '', size_t] + - [C11, stddef.h, '', max_align_t] + - [C11, stddef.h, '', wchar_t] + - [C11, stddef.h, '', rsize_t] + - [C11, stdint.h, '', int8_t] + - [C11, stdint.h, '', int16_t] + - [C11, stdint.h, '', int32_t] + - [C11, stdint.h, '', int64_t] + - [C11, stdint.h, '', uint8_t] + - [C11, stdint.h, '', uint16_t] + - [C11, stdint.h, '', uint32_t] + - [C11, stdint.h, '', uint64_t] + - [C11, stdint.h, '', int_least8_t] + - [C11, stdint.h, '', int_least16_t] + - [C11, stdint.h, '', int_least32_t] + - [C11, stdint.h, '', int_least64_t] + - [C11, stdint.h, '', uint_least8_t] + - [C11, stdint.h, '', uint_least16_t] + - [C11, stdint.h, '', uint_least32_t] + - [C11, stdint.h, '', uint_least64_t] + - [C11, stdint.h, '', int_fast8_t] + - [C11, stdint.h, '', int_fast16_t] + - [C11, stdint.h, '', int_fast32_t] + - [C11, stdint.h, '', int_fast64_t] + - [C11, stdint.h, '', uint_fast8_t] + - [C11, stdint.h, '', uint_fast16_t] + - [C11, stdint.h, '', uint_fast32_t] + - [C11, stdint.h, '', uint_fast64_t] + - [C11, stdint.h, '', intptr_t] + - [C11, stdint.h, '', uintptr_t] + - [C11, stdint.h, '', intmax_t] + - [C11, stdint.h, '', uintmax_t] + - [C11, stdio.h, '', size_t] + - [C11, stdio.h, '', FILE] + - [C11, stdio.h, '', fpos_t] + - [C11, stdio.h, '', errno_t] + - [C11, stdio.h, '', rsize_t] + - [C11, stdlib.h, '', size_t] + - [C11, stdlib.h, '', wchar_t] + - [C11, stdlib.h, '', div_t] + - [C11, stdlib.h, '', ldiv_t] + - [C11, stdlib.h, '', lldiv_t] + - [C11, stdlib.h, '', errno_t] + - [C11, stdlib.h, '', rsize_t] + - [C11, stdlib.h, '', constraint_handler_t] + - [C11, string.h, '', size_t] + - [C11, string.h, '', errno_t] + - [C11, string.h, '', rsize_t] + - [C11, threads.h, '', cnd_t] + - [C11, threads.h, '', thrd_t] + - [C11, threads.h, '', tss_t] + - [C11, threads.h, '', mtx_t] + - [C11, threads.h, '', tss_dtor_t] + - [C11, threads.h, '', thrd_start_t] + - [C11, time.h, '', size_t] + - [C11, time.h, '', clock_t] + - [C11, time.h, '', time_t] + - [C11, time.h, '', struct timespec] + - [C11, time.h, '', struct tm] + - [C11, time.h, '', errno_t] + - [C11, time.h, '', rsize_t] + - [C11, uchar.h, '', mbstate_t] + - [C11, uchar.h, '', size_t] + - [C11, uchar.h, '', char16_t] + - [C11, uchar.h, '', char32_t] + - [C11, wchar.h, '', wchar_t] + - [C11, wchar.h, '', size_t] + - [C11, wchar.h, '', mbstate_t] + - [C11, wchar.h, '', wint_t] + - [C11, wchar.h, '', struct tm] + - [C11, wchar.h, '', errno_t] + - [C11, wchar.h, '', rsize_t] + - [C11, wctype.h, '', wint_t] + - [C11, wctype.h, '', wctrans_t] + - [C11, wctype.h, '', wctype_t] +- addsTo: {extensible: libraryFunctionModel, pack: codeql/common-cpp-coding-standards} + data: + - [C11, assert.h, '', '', assert, void, (scalar expression), external] + - [C11, complex.h, '', '', cacos, double complex, (double complex z), external] + - [C11, complex.h, '', '', cacosf, float complex, (float complex z), external] + - [C11, complex.h, '', '', cacosl, long double complex, (long double complex z), external] + - [C11, complex.h, '', '', casin, double complex, (double complex z), external] + - [C11, complex.h, '', '', casinf, float complex, (float complex z), external] + - [C11, complex.h, '', '', casinl, long double complex, (long double complex z), external] + - [C11, complex.h, '', '', catan, double complex, (double complex z), external] + - [C11, complex.h, '', '', catanf, float complex, (float complex z), external] + - [C11, complex.h, '', '', catanl, long double complex, (long double complex z), external] + - [C11, complex.h, '', '', ccos, double complex, (double complex z), external] + - [C11, complex.h, '', '', ccosf, float complex, (float complex z), external] + - [C11, complex.h, '', '', ccosl, long double complex, (long double complex z), external] + - [C11, complex.h, '', '', csin, double complex, (double complex z), external] + - [C11, complex.h, '', '', csinf, float complex, (float complex z), external] + - [C11, complex.h, '', '', csinl, long double complex, (long double complex z), external] + - [C11, complex.h, '', '', ctan, double complex, (double complex z), external] + - [C11, complex.h, '', '', ctanf, float complex, (float complex z), external] + - [C11, complex.h, '', '', ctanl, long double complex, (long double complex z), external] + - [C11, complex.h, '', '', cacosh, double complex, (double complex z), external] + - [C11, complex.h, '', '', cacoshf, float complex, (float complex z), external] + - [C11, complex.h, '', '', cacoshl, long double complex, (long double complex z), external] + - [C11, complex.h, '', '', casinh, double complex, (double complex z), external] + - [C11, complex.h, '', '', casinhf, float complex, (float complex z), external] + - [C11, complex.h, '', '', casinhl, long double complex, (long double complex z), external] + - [C11, complex.h, '', '', catanh, double complex, (double complex z), external] + - [C11, complex.h, '', '', catanhf, float complex, (float complex z), external] + - [C11, complex.h, '', '', catanhl, long double complex, (long double complex z), external] + - [C11, complex.h, '', '', ccosh, double complex, (double complex z), external] + - [C11, complex.h, '', '', ccoshf, float complex, (float complex z), external] + - [C11, complex.h, '', '', ccoshl, long double complex, (long double complex z), external] + - [C11, complex.h, '', '', csinh, double complex, (double complex z), external] + - [C11, complex.h, '', '', csinhf, float complex, (float complex z), external] + - [C11, complex.h, '', '', csinhl, long double complex, (long double complex z), external] + - [C11, complex.h, '', '', ctanh, double complex, (double complex z), external] + - [C11, complex.h, '', '', ctanhf, float complex, (float complex z), external] + - [C11, complex.h, '', '', ctanhl, long double complex, (long double complex z), external] + - [C11, complex.h, '', '', cexp, double complex, (double complex z), external] + - [C11, complex.h, '', '', cexpf, float complex, (float complex z), external] + - [C11, complex.h, '', '', cexpl, long double complex, (long double complex z), external] + - [C11, complex.h, '', '', clog, double complex, (double complex z), external] + - [C11, complex.h, '', '', clogf, float complex, (float complex z), external] + - [C11, complex.h, '', '', clogl, long double complex, (long double complex z), external] + - [C11, complex.h, '', '', cabs, double, (double complex z), external] + - [C11, complex.h, '', '', cabsf, float, (float complex z), external] + - [C11, complex.h, '', '', cabsl, long double, (long double complex z), external] + - [C11, complex.h, '', '', cpow, double complex, '(double complex x, double complex y)', external] + - [C11, complex.h, '', '', cpowf, float complex, '(float complex x, float complex y)', external] + - [C11, complex.h, '', '', cpowl, long double complex, '(long double complex x,long double complex y)', external] + - [C11, complex.h, '', '', csqrt, double complex, (double complex z), external] + - [C11, complex.h, '', '', csqrtf, float complex, (float complex z), external] + - [C11, complex.h, '', '', csqrtl, long double complex, (long double complex z), external] + - [C11, complex.h, '', '', carg, double, (double complex z), external] + - [C11, complex.h, '', '', cargf, float, (float complex z), external] + - [C11, complex.h, '', '', cargl, long double, (long double complex z), external] + - [C11, complex.h, '', '', cimag, double, (double complex z), external] + - [C11, complex.h, '', '', cimagf, float, (float complex z), external] + - [C11, complex.h, '', '', cimagl, long double, (long double complex z), external] + - [C11, complex.h, '', '', CMPLX, double complex, '(double x, double y)', external] + - [C11, complex.h, '', '', CMPLXF, float complex, '(float x, float y)', external] + - [C11, complex.h, '', '', CMPLXL, long double complex, '(long double x, long double y)', external] + - [C11, complex.h, '', '', conj, double complex, (double complex z), external] + - [C11, complex.h, '', '', conjf, float complex, (float complex z), external] + - [C11, complex.h, '', '', conjl, long double complex, (long double complex z), external] + - [C11, complex.h, '', '', cproj, double complex, (double complex z), external] + - [C11, complex.h, '', '', cprojf, float complex, (float complex z), external] + - [C11, complex.h, '', '', cprojl, long double complex, (long double complex z), external] + - [C11, complex.h, '', '', creal, double, (double complex z), external] + - [C11, complex.h, '', '', crealf, float, (float complex z), external] + - [C11, complex.h, '', '', creall, long double, (long double complex z), external] + - [C11, ctype.h, '', '', isalnum, int, (int c), external] + - [C11, ctype.h, '', '', isalpha, int, (int c), external] + - [C11, ctype.h, '', '', isblank, int, (int c), external] + - [C11, ctype.h, '', '', iscntrl, int, (int c), external] + - [C11, ctype.h, '', '', isdigit, int, (int c), external] + - [C11, ctype.h, '', '', isgraph, int, (int c), external] + - [C11, ctype.h, '', '', islower, int, (int c), external] + - [C11, ctype.h, '', '', isprint, int, (int c), external] + - [C11, ctype.h, '', '', ispunct, int, (int c), external] + - [C11, ctype.h, '', '', isspace, int, (int c), external] + - [C11, ctype.h, '', '', isupper, int, (int c), external] + - [C11, ctype.h, '', '', isxdigit, int, (int c), external] + - [C11, ctype.h, '', '', tolower, int, (int c), external] + - [C11, ctype.h, '', '', toupper, int, (int c), external] + - [C11, fenv.h, '', '', feclearexcept, int, (int excepts), external] + - [C11, fenv.h, '', '', fegetexceptflag, int, '(fexcept_t *flagp, int excepts)', external] + - [C11, fenv.h, '', '', feraiseexcept, int, (int excepts), external] + - [C11, fenv.h, '', '', fesetexceptflag, int, '(const fexcept_t *flagp,int excepts)', external] + - [C11, fenv.h, '', '', fetestexcept, int, (int excepts), external] + - [C11, fenv.h, '', '', fegetround, int, (void), external] + - [C11, fenv.h, '', '', fesetround, int, (int round), external] + - [C11, fenv.h, '', '', fegetenv, int, (fenv_t *envp), external] + - [C11, fenv.h, '', '', feholdexcept, int, (fenv_t *envp), external] + - [C11, fenv.h, '', '', fesetenv, int, (const fenv_t *envp), external] + - [C11, fenv.h, '', '', feupdateenv, int, (const fenv_t *envp), external] + - [C11, inttypes.h, '', '', imaxabs, intmax_t, (intmax_t j), external] + - [C11, inttypes.h, '', '', imaxdiv, imaxdiv_t, '(intmax_t numer, intmax_t denom)', external] + - [C11, inttypes.h, '', '', strtoimax, intmax_t, '(const char * restrict nptr,char ** restrict endptr, int base)', external] + - [C11, inttypes.h, '', '', strtoumax, uintmax_t, '(const char * restrict nptr,char ** restrict endptr, int base)', external] + - [C11, inttypes.h, '', '', wcstoimax, intmax_t, '(const wchar_t * restrict nptr,wchar_t ** restrict endptr, int base)', external] + - [C11, inttypes.h, '', '', wcstoumax, uintmax_t, '(const wchar_t * restrict nptr,wchar_t ** restrict endptr, int base)', external] + - [C11, locale.h, '', '', setlocale, char *, '(int category, const char *locale)', external] + - [C11, locale.h, '', '', localeconv, struct lconv *, (void), external] + - [C11, math.h, '', '', fpclassify, int, (real-floating x), external] + - [C11, math.h, '', '', isfinite, int, (real-floating x), external] + - [C11, math.h, '', '', isinf, int, (real-floating x), external] + - [C11, math.h, '', '', isnan, int, (real-floating x), external] + - [C11, math.h, '', '', isnormal, int, (real-floating x), external] + - [C11, math.h, '', '', signbit, int, (real-floating x), external] + - [C11, math.h, '', '', acos, double, (double x), external] + - [C11, math.h, '', '', acosf, float, (float x), external] + - [C11, math.h, '', '', acosl, long double, (long double x), external] + - [C11, math.h, '', '', asin, double, (double x), external] + - [C11, math.h, '', '', asinf, float, (float x), external] + - [C11, math.h, '', '', asinl, long double, (long double x), external] + - [C11, math.h, '', '', atan, double, (double x), external] + - [C11, math.h, '', '', atanf, float, (float x), external] + - [C11, math.h, '', '', atanl, long double, (long double x), external] + - [C11, math.h, '', '', atan2, double, '(double y, double x)', external] + - [C11, math.h, '', '', atan2f, float, '(float y, float x)', external] + - [C11, math.h, '', '', atan2l, long double, '(long double y, long double x)', external] + - [C11, math.h, '', '', cos, double, (double x), external] + - [C11, math.h, '', '', cosf, float, (float x), external] + - [C11, math.h, '', '', cosl, long double, (long double x), external] + - [C11, math.h, '', '', sin, double, (double x), external] + - [C11, math.h, '', '', sinf, float, (float x), external] + - [C11, math.h, '', '', sinl, long double, (long double x), external] + - [C11, math.h, '', '', tan, double, (double x), external] + - [C11, math.h, '', '', tanf, float, (float x), external] + - [C11, math.h, '', '', tanl, long double, (long double x), external] + - [C11, math.h, '', '', acosh, double, (double x), external] + - [C11, math.h, '', '', acoshf, float, (float x), external] + - [C11, math.h, '', '', acoshl, long double, (long double x), external] + - [C11, math.h, '', '', asinh, double, (double x), external] + - [C11, math.h, '', '', asinhf, float, (float x), external] + - [C11, math.h, '', '', asinhl, long double, (long double x), external] + - [C11, math.h, '', '', atanh, double, (double x), external] + - [C11, math.h, '', '', atanhf, float, (float x), external] + - [C11, math.h, '', '', atanhl, long double, (long double x), external] + - [C11, math.h, '', '', cosh, double, (double x), external] + - [C11, math.h, '', '', coshf, float, (float x), external] + - [C11, math.h, '', '', coshl, long double, (long double x), external] + - [C11, math.h, '', '', sinh, double, (double x), external] + - [C11, math.h, '', '', sinhf, float, (float x), external] + - [C11, math.h, '', '', sinhl, long double, (long double x), external] + - [C11, math.h, '', '', tanh, double, (double x), external] + - [C11, math.h, '', '', tanhf, float, (float x), external] + - [C11, math.h, '', '', tanhl, long double, (long double x), external] + - [C11, math.h, '', '', exp, double, (double x), external] + - [C11, math.h, '', '', expf, float, (float x), external] + - [C11, math.h, '', '', expl, long double, (long double x), external] + - [C11, math.h, '', '', exp2, double, (double x), external] + - [C11, math.h, '', '', exp2f, float, (float x), external] + - [C11, math.h, '', '', exp2l, long double, (long double x), external] + - [C11, math.h, '', '', expm1, double, (double x), external] + - [C11, math.h, '', '', expm1f, float, (float x), external] + - [C11, math.h, '', '', expm1l, long double, (long double x), external] + - [C11, math.h, '', '', frexp, double, '(double value, int *exp)', external] + - [C11, math.h, '', '', frexpf, float, '(float value, int *exp)', external] + - [C11, math.h, '', '', frexpl, long double, '(long double value, int *exp)', external] + - [C11, math.h, '', '', ilogb, int, (double x), external] + - [C11, math.h, '', '', ilogbf, int, (float x), external] + - [C11, math.h, '', '', ilogbl, int, (long double x), external] + - [C11, math.h, '', '', ldexp, double, '(double x, int exp)', external] + - [C11, math.h, '', '', ldexpf, float, '(float x, int exp)', external] + - [C11, math.h, '', '', ldexpl, long double, '(long double x, int exp)', external] + - [C11, math.h, '', '', log, double, (double x), external] + - [C11, math.h, '', '', logf, float, (float x), external] + - [C11, math.h, '', '', logl, long double, (long double x), external] + - [C11, math.h, '', '', log10, double, (double x), external] + - [C11, math.h, '', '', log10f, float, (float x), external] + - [C11, math.h, '', '', log10l, long double, (long double x), external] + - [C11, math.h, '', '', log1p, double, (double x), external] + - [C11, math.h, '', '', log1pf, float, (float x), external] + - [C11, math.h, '', '', log1pl, long double, (long double x), external] + - [C11, math.h, '', '', log2, double, (double x), external] + - [C11, math.h, '', '', log2f, float, (float x), external] + - [C11, math.h, '', '', log2l, long double, (long double x), external] + - [C11, math.h, '', '', logb, double, (double x), external] + - [C11, math.h, '', '', logbf, float, (float x), external] + - [C11, math.h, '', '', logbl, long double, (long double x), external] + - [C11, math.h, '', '', modf, double, '(double value, double *iptr)', external] + - [C11, math.h, '', '', modff, float, '(float value, float *iptr)', external] + - [C11, math.h, '', '', modfl, long double, '(long double value, long double *iptr)', external] + - [C11, math.h, '', '', scalbn, double, '(double x, int n)', external] + - [C11, math.h, '', '', scalbnf, float, '(float x, int n)', external] + - [C11, math.h, '', '', scalbnl, long double, '(long double x, int n)', external] + - [C11, math.h, '', '', scalbln, double, '(double x, long int n)', external] + - [C11, math.h, '', '', scalblnf, float, '(float x, long int n)', external] + - [C11, math.h, '', '', scalblnl, long double, '(long double x, long int n)', external] + - [C11, math.h, '', '', cbrt, double, (double x), external] + - [C11, math.h, '', '', cbrtf, float, (float x), external] + - [C11, math.h, '', '', cbrtl, long double, (long double x), external] + - [C11, math.h, '', '', fabs, double, (double x), external] + - [C11, math.h, '', '', fabsf, float, (float x), external] + - [C11, math.h, '', '', fabsl, long double, (long double x), external] + - [C11, math.h, '', '', hypot, double, '(double x, double y)', external] + - [C11, math.h, '', '', hypotf, float, '(float x, float y)', external] + - [C11, math.h, '', '', hypotl, long double, '(long double x, long double y)', external] + - [C11, math.h, '', '', pow, double, '(double x, double y)', external] + - [C11, math.h, '', '', powf, float, '(float x, float y)', external] + - [C11, math.h, '', '', powl, long double, '(long double x, long double y)', external] + - [C11, math.h, '', '', sqrt, double, (double x), external] + - [C11, math.h, '', '', sqrtf, float, (float x), external] + - [C11, math.h, '', '', sqrtl, long double, (long double x), external] + - [C11, math.h, '', '', erf, double, (double x), external] + - [C11, math.h, '', '', erff, float, (float x), external] + - [C11, math.h, '', '', erfl, long double, (long double x), external] + - [C11, math.h, '', '', erfc, double, (double x), external] + - [C11, math.h, '', '', erfcf, float, (float x), external] + - [C11, math.h, '', '', erfcl, long double, (long double x), external] + - [C11, math.h, '', '', lgamma, double, (double x), external] + - [C11, math.h, '', '', lgammaf, float, (float x), external] + - [C11, math.h, '', '', lgammal, long double, (long double x), external] + - [C11, math.h, '', '', tgamma, double, (double x), external] + - [C11, math.h, '', '', tgammaf, float, (float x), external] + - [C11, math.h, '', '', tgammal, long double, (long double x), external] + - [C11, math.h, '', '', ceil, double, (double x), external] + - [C11, math.h, '', '', ceilf, float, (float x), external] + - [C11, math.h, '', '', ceill, long double, (long double x), external] + - [C11, math.h, '', '', floor, double, (double x), external] + - [C11, math.h, '', '', floorf, float, (float x), external] + - [C11, math.h, '', '', floorl, long double, (long double x), external] + - [C11, math.h, '', '', nearbyint, double, (double x), external] + - [C11, math.h, '', '', nearbyintf, float, (float x), external] + - [C11, math.h, '', '', nearbyintl, long double, (long double x), external] + - [C11, math.h, '', '', rint, double, (double x), external] + - [C11, math.h, '', '', rintf, float, (float x), external] + - [C11, math.h, '', '', rintl, long double, (long double x), external] + - [C11, math.h, '', '', lrint, long int, (double x), external] + - [C11, math.h, '', '', lrintf, long int, (float x), external] + - [C11, math.h, '', '', lrintl, long int, (long double x), external] + - [C11, math.h, '', '', llrint, long long int, (double x), external] + - [C11, math.h, '', '', llrintf, long long int, (float x), external] + - [C11, math.h, '', '', llrintl, long long int, (long double x), external] + - [C11, math.h, '', '', round, double, (double x), external] + - [C11, math.h, '', '', roundf, float, (float x), external] + - [C11, math.h, '', '', roundl, long double, (long double x), external] + - [C11, math.h, '', '', lround, long int, (double x), external] + - [C11, math.h, '', '', lroundf, long int, (float x), external] + - [C11, math.h, '', '', lroundl, long int, (long double x), external] + - [C11, math.h, '', '', llround, long long int, (double x), external] + - [C11, math.h, '', '', llroundf, long long int, (float x), external] + - [C11, math.h, '', '', llroundl, long long int, (long double x), external] + - [C11, math.h, '', '', trunc, double, (double x), external] + - [C11, math.h, '', '', truncf, float, (float x), external] + - [C11, math.h, '', '', truncl, long double, (long double x), external] + - [C11, math.h, '', '', fmod, double, '(double x, double y)', external] + - [C11, math.h, '', '', fmodf, float, '(float x, float y)', external] + - [C11, math.h, '', '', fmodl, long double, '(long double x, long double y)', external] + - [C11, math.h, '', '', remainder, double, '(double x, double y)', external] + - [C11, math.h, '', '', remainderf, float, '(float x, float y)', external] + - [C11, math.h, '', '', remainderl, long double, '(long double x, long double y)', external] + - [C11, math.h, '', '', remquo, double, '(double x, double y, int *quo)', external] + - [C11, math.h, '', '', remquof, float, '(float x, float y, int *quo)', external] + - [C11, math.h, '', '', remquol, long double, '(long double x, long double y,int *quo)', external] + - [C11, math.h, '', '', copysign, double, '(double x, double y)', external] + - [C11, math.h, '', '', copysignf, float, '(float x, float y)', external] + - [C11, math.h, '', '', copysignl, long double, '(long double x, long double y)', external] + - [C11, math.h, '', '', nan, double, (const char *tagp), external] + - [C11, math.h, '', '', nanf, float, (const char *tagp), external] + - [C11, math.h, '', '', nanl, long double, (const char *tagp), external] + - [C11, math.h, '', '', nextafter, double, '(double x, double y)', external] + - [C11, math.h, '', '', nextafterf, float, '(float x, float y)', external] + - [C11, math.h, '', '', nextafterl, long double, '(long double x, long double y)', external] + - [C11, math.h, '', '', nexttoward, double, '(double x, long double y)', external] + - [C11, math.h, '', '', nexttowardf, float, '(float x, long double y)', external] + - [C11, math.h, '', '', nexttowardl, long double, '(long double x, long double y)', external] + - [C11, math.h, '', '', fdim, double, '(double x, double y)', external] + - [C11, math.h, '', '', fdimf, float, '(float x, float y)', external] + - [C11, math.h, '', '', fdiml, long double, '(long double x, long double y)', external] + - [C11, math.h, '', '', fmax, double, '(double x, double y)', external] + - [C11, math.h, '', '', fmaxf, float, '(float x, float y)', external] + - [C11, math.h, '', '', fmaxl, long double, '(long double x, long double y)', external] + - [C11, math.h, '', '', fmin, double, '(double x, double y)', external] + - [C11, math.h, '', '', fminf, float, '(float x, float y)', external] + - [C11, math.h, '', '', fminl, long double, '(long double x, long double y)', external] + - [C11, math.h, '', '', fma, double, '(double x, double y, double z)', external] + - [C11, math.h, '', '', fmaf, float, '(float x, float y, float z)', external] + - [C11, math.h, '', '', fmal, long double, '(long double x, long double y,long double z)', external] + - [C11, math.h, '', '', isgreater, int, '(real-floating x, real-floating y)', external] + - [C11, math.h, '', '', isgreaterequal, int, '(real-floating x, real-floating y)', external] + - [C11, math.h, '', '', isless, int, '(real-floating x, real-floating y)', external] + - [C11, math.h, '', '', islessequal, int, '(real-floating x, real-floating y)', external] + - [C11, math.h, '', '', islessgreater, int, '(real-floating x, real-floating y)', external] + - [C11, math.h, '', '', isunordered, int, '(real-floating x, real-floating y)', external] + - [C11, setjmp.h, '', '', setjmp, int, (jmp_buf env), external] + - [C11, setjmp.h, '', '', longjmp, _Noreturn void, '(jmp_buf env, int val)', external] + - [C11, signal.h, '', '', signal, void (*signal)(int), '(int sig, void (*func)(int))', external] + - [C11, signal.h, '', '', raise, int, (int sig), external] + - [C11, stdarg.h, '', '', va_arg, type, '(va_list ap, type)', external] + - [C11, stdarg.h, '', '', va_copy, void, '(va_list dest, va_list src)', external] + - [C11, stdarg.h, '', '', va_end, void, (va_list ap), external] + - [C11, stdarg.h, '', '', va_start, void, '(va_list ap, parmN)', external] + - [C11, stdatomic.h, '', '', atomic_init, void, '(volatile A *obj, C value)', external] + - [C11, stdatomic.h, '', '', kill_dependency, type, (type y), external] + - [C11, stdatomic.h, '', '', atomic_thread_fence, void, (memory_order order), external] + - [C11, stdatomic.h, '', '', atomic_signal_fence, void, (memory_order order), external] + - [C11, stdatomic.h, '', '', atomic_is_lock_free, _Bool, (const volatile A *obj), external] + - [C11, stdatomic.h, '', '', atomic_store, void, '(volatile A *object, C desired)', external] + - [C11, stdatomic.h, '', '', atomic_store_explicit, void, '(volatile A *object,C desired, memory_order order)', external] + - [C11, stdatomic.h, '', '', atomic_load, C, (volatile A *object), external] + - [C11, stdatomic.h, '', '', atomic_load_explicit, C, '(volatile A *object,memory_order order)', external] + - [C11, stdatomic.h, '', '', atomic_exchange, C, '(volatile A *object, C desired)', external] + - [C11, stdatomic.h, '', '', atomic_exchange_explicit, C, '(volatile A *object,C desired, memory_order order)', external] + - [C11, stdatomic.h, '', '', atomic_compare_exchange_strong, _Bool, '(volatile A *object,C *expected, C desired)', external] + - [C11, stdatomic.h, '', '', atomic_compare_exchange_strong_explicit, _Bool, '(volatile A *object, C *expected, C desired,memory_order success, memory_order failure)', external] + - [C11, stdatomic.h, '', '', atomic_compare_exchange_weak, _Bool, '(volatile A *object,C *expected, C desired)', external] + - [C11, stdatomic.h, '', '', atomic_compare_exchange_weak_explicit, _Bool, '(volatile A *object, C *expected, C desired,memory_order success, memory_order failure)', external] + - [C11, stdatomic.h, '', '', atomic_fetch_key, C, '(volatile A *object, M operand)', external] + - [C11, stdatomic.h, '', '', atomic_fetch_key_explicit, C, '(volatile A *object,M operand, memory_order order)', external] + - [C11, stdatomic.h, '', '', atomic_flag_test_and_set, _Bool, (volatile atomic_flag *object), external] + - [C11, stdatomic.h, '', '', atomic_flag_test_and_set_explicit, _Bool, '(volatile atomic_flag *object, memory_order order)', external] + - [C11, stdatomic.h, '', '', atomic_flag_clear, void, (volatile atomic_flag *object), external] + - [C11, stdatomic.h, '', '', atomic_flag_clear_explicit, void, '(volatile atomic_flag *object, memory_order order)', external] + - [C11, stdio.h, '', '', remove, int, (const char *filename), external] + - [C11, stdio.h, '', '', rename, int, '(const char *old, const char *new)', external] + - [C11, stdio.h, '', '', tmpfile, FILE *, (void), external] + - [C11, stdio.h, '', '', tmpnam, char *, (char *s), external] + - [C11, stdio.h, '', '', fclose, int, (FILE *stream), external] + - [C11, stdio.h, '', '', fflush, int, (FILE *stream), external] + - [C11, stdio.h, '', '', fopen, FILE *, '(const char * restrict filename,const char * restrict mode)', external] + - [C11, stdio.h, '', '', freopen, FILE *, '(const char * restrict filename,const char * restrict mode,FILE * restrict stream)', external] + - [C11, stdio.h, '', '', setbuf, void, '(FILE * restrict stream,char * restrict buf)', external] + - [C11, stdio.h, '', '', setvbuf, int, '(FILE * restrict stream,char * restrict buf,int mode, size_t size)', external] + - [C11, stdio.h, '', '', fprintf, int, '(FILE * restrict stream,const char * restrict format, ...)', external] + - [C11, stdio.h, '', '', fscanf, int, '(FILE * restrict stream,const char * restrict format, ...)', external] + - [C11, stdio.h, '', '', printf, int, '(const char * restrict format, ...)', external] + - [C11, stdio.h, '', '', scanf, int, '(const char * restrict format, ...)', external] + - [C11, stdio.h, '', '', snprintf, int, '(char * restrict s, size_t n,const char * restrict format, ...)', external] + - [C11, stdio.h, '', '', sprintf, int, '(char * restrict s,const char * restrict format, ...)', external] + - [C11, stdio.h, '', '', sscanf, int, '(const char * restrict s,const char * restrict format, ...)', external] + - [C11, stdio.h, '', '', vfprintf, int, '(FILE * restrict stream,const char * restrict format, va_list arg)', external] + - [C11, stdio.h, '', '', vfscanf, int, '(FILE * restrict stream,const char * restrict format, va_list arg)', external] + - [C11, stdio.h, '', '', vprintf, int, '(const char * restrict format, va_list arg)', external] + - [C11, stdio.h, '', '', vscanf, int, '(const char * restrict format, va_list arg)', external] + - [C11, stdio.h, '', '', vsnprintf, int, '(char * restrict s, size_t n,const char * restrict format, va_list arg)', external] + - [C11, stdio.h, '', '', vsprintf, int, '(char * restrict s,const char * restrict format, va_list arg)', external] + - [C11, stdio.h, '', '', vsscanf, int, '(const char * restrict s,const char * restrict format, va_list arg)', external] + - [C11, stdio.h, '', '', fgetc, int, (FILE *stream), external] + - [C11, stdio.h, '', '', fgets, char *, '(char * restrict s, int n,FILE * restrict stream)', external] + - [C11, stdio.h, '', '', fputc, int, '(int c, FILE *stream)', external] + - [C11, stdio.h, '', '', fputs, int, '(const char * restrict s,FILE * restrict stream)', external] + - [C11, stdio.h, '', '', getc, int, (FILE *stream), external] + - [C11, stdio.h, '', '', getchar, int, (void), external] + - [C11, stdio.h, '', '', putc, int, '(int c, FILE *stream)', external] + - [C11, stdio.h, '', '', putchar, int, (int c), external] + - [C11, stdio.h, '', '', puts, int, (const char *s), external] + - [C11, stdio.h, '', '', ungetc, int, '(int c, FILE *stream)', external] + - [C11, stdio.h, '', '', fread, size_t, '(void * restrict ptr,size_t size, size_t nmemb,FILE * restrict stream)', external] + - [C11, stdio.h, '', '', fwrite, size_t, '(const void * restrict ptr,size_t size, size_t nmemb,FILE * restrict stream)', external] + - [C11, stdio.h, '', '', fgetpos, int, '(FILE * restrict stream,fpos_t * restrict pos)', external] + - [C11, stdio.h, '', '', fseek, int, '(FILE *stream, long int offset, int whence)', external] + - [C11, stdio.h, '', '', fsetpos, int, '(FILE *stream, const fpos_t *pos)', external] + - [C11, stdio.h, '', '', ftell, long int, (FILE *stream), external] + - [C11, stdio.h, '', '', rewind, void, (FILE *stream), external] + - [C11, stdio.h, '', '', clearerr, void, (FILE *stream), external] + - [C11, stdio.h, '', '', feof, int, (FILE *stream), external] + - [C11, stdio.h, '', '', ferror, int, (FILE *stream), external] + - [C11, stdio.h, '', '', perror, void, (const char *s), external] + - [C11, stdio.h, '', '', tmpfile_s, errno_t, (FILE * restrict * restrict streamptr), external] + - [C11, stdio.h, '', '', tmpnam_s, errno_t, '(char *s, rsize_t maxsize)', external] + - [C11, stdio.h, '', '', fopen_s, errno_t, '(FILE * restrict * restrict streamptr,const char * restrict filename,const char * restrict mode)', external] + - [C11, stdio.h, '', '', freopen_s, errno_t, '(FILE * restrict * restrict newstreamptr,const char * restrict filename,const char * restrict mode,FILE * restrict stream)', external] + - [C11, stdio.h, '', '', fprintf_s, int, '(FILE * restrict stream,const char * restrict format, ...)', external] + - [C11, stdio.h, '', '', fscanf_s, int, '(FILE * restrict stream,const char * restrict format, ...)', external] + - [C11, stdio.h, '', '', printf_s, int, '(const char * restrict format, ...)', external] + - [C11, stdio.h, '', '', scanf_s, int, '(const char * restrict format, ...)', external] + - [C11, stdio.h, '', '', snprintf_s, int, '(char * restrict s, rsize_t n,const char * restrict format, ...)', external] + - [C11, stdio.h, '', '', sprintf_s, int, '(char * restrict s, rsize_t n,const char * restrict format, ...)', external] + - [C11, stdio.h, '', '', sscanf_s, int, '(const char * restrict s,const char * restrict format, ...)', external] + - [C11, stdio.h, '', '', vfprintf_s, int, '(FILE * restrict stream,const char * restrict format,va_list arg)', external] + - [C11, stdio.h, '', '', vfscanf_s, int, '(FILE * restrict stream,const char * restrict format,va_list arg)', external] + - [C11, stdio.h, '', '', vprintf_s, int, '(const char * restrict format,va_list arg)', external] + - [C11, stdio.h, '', '', vscanf_s, int, '(const char * restrict format,va_list arg)', external] + - [C11, stdio.h, '', '', vsnprintf_s, int, '(char * restrict s, rsize_t n,const char * restrict format,va_list arg)', external] + - [C11, stdio.h, '', '', vsprintf_s, int, '(char * restrict s, rsize_t n,const char * restrict format,va_list arg)', external] + - [C11, stdio.h, '', '', vsscanf_s, int, '(const char * restrict s,const char * restrict format,va_list arg)', external] + - [C11, stdio.h, '', '', gets_s, char *, '(char *s, rsize_t n)', external] + - [C11, stdlib.h, '', '', atof, double, (const char *nptr), external] + - [C11, stdlib.h, '', '', atoi, int, (const char *nptr), external] + - [C11, stdlib.h, '', '', atol, long int, (const char *nptr), external] + - [C11, stdlib.h, '', '', atoll, long long int, (const char *nptr), external] + - [C11, stdlib.h, '', '', strtod, double, '(const char * restrict nptr,char ** restrict endptr)', external] + - [C11, stdlib.h, '', '', strtof, float, '(const char * restrict nptr,char ** restrict endptr)', external] + - [C11, stdlib.h, '', '', strtold, long double, '(const char * restrict nptr,char ** restrict endptr)', external] + - [C11, stdlib.h, '', '', strtol, long int, '(const char * restrict nptr,char ** restrict endptr, int base)', external] + - [C11, stdlib.h, '', '', strtoll, long long int, '(const char * restrict nptr,char ** restrict endptr, int base)', external] + - [C11, stdlib.h, '', '', strtoul, unsigned long int, '(const char * restrict nptr,char ** restrict endptr, int base)', external] + - [C11, stdlib.h, '', '', strtoull, unsigned long long int, '(const char * restrict nptr,char ** restrict endptr, int base)', external] + - [C11, stdlib.h, '', '', rand, int, (void), external] + - [C11, stdlib.h, '', '', srand, void, (unsigned int seed), external] + - [C11, stdlib.h, '', '', aligned_alloc, void *, '(size_t alignment, size_t size)', external] + - [C11, stdlib.h, '', '', calloc, void *, '(size_t nmemb, size_t size)', external] + - [C11, stdlib.h, '', '', free, void, (void *ptr), external] + - [C11, stdlib.h, '', '', malloc, void *, (size_t size), external] + - [C11, stdlib.h, '', '', realloc, void *, '(void *ptr, size_t size)', external] + - [C11, stdlib.h, '', '', abort, _Noreturn void, (void), external] + - [C11, stdlib.h, '', '', atexit, int, (void (*func)(void)), external] + - [C11, stdlib.h, '', '', at_quick_exit, int, (void (*func)(void)), external] + - [C11, stdlib.h, '', '', exit, _Noreturn void, (int status), external] + - [C11, stdlib.h, '', '', _Exit, _Noreturn void, (int status), external] + - [C11, stdlib.h, '', '', getenv, char *, (const char *name), external] + - [C11, stdlib.h, '', '', quick_exit, _Noreturn void, (int status), external] + - [C11, stdlib.h, '', '', system, int, (const char *string), external] + - [C11, stdlib.h, '', '', bsearch, void *, '(const void *key, const void *base,size_t nmemb, size_t size,int (*compar)(const void *, const void *))', external] + - [C11, stdlib.h, '', '', qsort, void, '(void *base, size_t nmemb, size_t size,int (*compar)(const void *, const void *))', external] + - [C11, stdlib.h, '', '', abs, int, (int j), external] + - [C11, stdlib.h, '', '', labs, long int, (long int j), external] + - [C11, stdlib.h, '', '', llabs, long long int, (long long int j), external] + - [C11, stdlib.h, '', '', div, div_t, '(int numer, int denom)', external] + - [C11, stdlib.h, '', '', ldiv, ldiv_t, '(long int numer, long int denom)', external] + - [C11, stdlib.h, '', '', lldiv, lldiv_t, '(long long int numer,long long int denom)', external] + - [C11, stdlib.h, '', '', mblen, int, '(const char *s, size_t n)', external] + - [C11, stdlib.h, '', '', mbtowc, int, '(wchar_t * restrict pwc,const char * restrict s, size_t n)', external] + - [C11, stdlib.h, '', '', wctomb, int, '(char *s, wchar_t wchar)', external] + - [C11, stdlib.h, '', '', mbstowcs, size_t, '(wchar_t * restrict pwcs,const char * restrict s, size_t n)', external] + - [C11, stdlib.h, '', '', wcstombs, size_t, '(char * restrict s,const wchar_t * restrict pwcs, size_t n)', external] + - [C11, stdlib.h, '', '', set_constraint_handler_s, constraint_handler_t, (constraint_handler_t handler), external] + - [C11, stdlib.h, '', '', abort_handler_s, void, '(const char * restrict msg,void * restrict ptr,errno_t error)', external] + - [C11, stdlib.h, '', '', ignore_handler_s, void, '(const char * restrict msg,void * restrict ptr,errno_t error)', external] + - [C11, stdlib.h, '', '', getenv_s, errno_t, '(size_t * restrict len,char * restrict value, rsize_t maxsize,const char * restrict name)', external] + - [C11, stdlib.h, '', '', bsearch_s, void *, '(const void *key, const void *base,rsize_t nmemb, rsize_t size,int (*compar)(const void *k, const void *y,void *context),void *context)', external] + - [C11, stdlib.h, '', '', qsort_s, errno_t, '(void *base, rsize_t nmemb, rsize_t size,int (*compar)(const void *x, const void *y,void *context),void *context)', external] + - [C11, stdlib.h, '', '', wctomb_s, errno_t, '(int * restrict status,char * restrict s,rsize_t smax,wchar_t wc)', external] + - [C11, stdlib.h, '', '', mbstowcs_s, errno_t, '(size_t * restrict retval,wchar_t * restrict dst, rsize_t dstmax,const char * restrict src, rsize_t len)', external] + - [C11, stdlib.h, '', '', wcstombs_s, errno_t, '(size_t * restrict retval,char * restrict dst, rsize_t dstmax,const wchar_t * restrict src, rsize_t len)', external] + - [C11, string.h, '', '', memcpy, void *, '(void * restrict s1,const void * restrict s2, size_t n)', external] + - [C11, string.h, '', '', memmove, void *, '(void *s1, const void *s2, size_t n)', external] + - [C11, string.h, '', '', strcpy, char *, '(char * restrict s1,const char * restrict s2)', external] + - [C11, string.h, '', '', strncpy, char *, '(char * restrict s1,const char * restrict s2, size_t n)', external] + - [C11, string.h, '', '', strcat, char *, '(char * restrict s1,const char * restrict s2)', external] + - [C11, string.h, '', '', strncat, char *, '(char * restrict s1,const char * restrict s2, size_t n)', external] + - [C11, string.h, '', '', memcmp, int, '(const void *s1, const void *s2, size_t n)', external] + - [C11, string.h, '', '', strcmp, int, '(const char *s1, const char *s2)', external] + - [C11, string.h, '', '', strcoll, int, '(const char *s1, const char *s2)', external] + - [C11, string.h, '', '', strncmp, int, '(const char *s1, const char *s2, size_t n)', external] + - [C11, string.h, '', '', strxfrm, size_t, '(char * restrict s1,const char * restrict s2, size_t n)', external] + - [C11, string.h, '', '', memchr, void *, '(const void *s, int c, size_t n)', external] + - [C11, string.h, '', '', strchr, char *, '(const char *s, int c)', external] + - [C11, string.h, '', '', strcspn, size_t, '(const char *s1, const char *s2)', external] + - [C11, string.h, '', '', strpbrk, char *, '(const char *s1, const char *s2)', external] + - [C11, string.h, '', '', strrchr, char *, '(const char *s, int c)', external] + - [C11, string.h, '', '', strspn, size_t, '(const char *s1, const char *s2)', external] + - [C11, string.h, '', '', strstr, char *, '(const char *s1, const char *s2)', external] + - [C11, string.h, '', '', strtok, char *, '(char * restrict s1,const char * restrict s2)', external] + - [C11, string.h, '', '', memset, void *, '(void *s, int c, size_t n)', external] + - [C11, string.h, '', '', strerror, char *, (int errnum), external] + - [C11, string.h, '', '', strlen, size_t, (const char *s), external] + - [C11, string.h, '', '', memcpy_s, errno_t, '(void * restrict s1, rsize_t s1max,const void * restrict s2, rsize_t n)', external] + - [C11, string.h, '', '', memmove_s, errno_t, '(void *s1, rsize_t s1max,const void *s2, rsize_t n)', external] + - [C11, string.h, '', '', strcpy_s, errno_t, '(char * restrict s1,rsize_t s1max,const char * restrict s2)', external] + - [C11, string.h, '', '', strncpy_s, errno_t, '(char * restrict s1,rsize_t s1max,const char * restrict s2,rsize_t n)', external] + - [C11, string.h, '', '', strcat_s, errno_t, '(char * restrict s1,rsize_t s1max,const char * restrict s2)', external] + - [C11, string.h, '', '', strncat_s, errno_t, '(char * restrict s1,rsize_t s1max,const char * restrict s2,rsize_t n)', external] + - [C11, string.h, '', '', strtok_s, char *, '(char * restrict s1,rsize_t * restrict s1max,const char * restrict s2,char ** restrict ptr)', external] + - [C11, string.h, '', '', memset_s, errno_t, '(void *s, rsize_t smax, int c, rsize_t n)', external] + - [C11, string.h, '', '', strerror_s, errno_t, '(char *s, rsize_t maxsize,errno_t errnum)', external] + - [C11, string.h, '', '', strerrorlen_s, size_t, (errno_t errnum), external] + - [C11, string.h, '', '', strnlen_s, size_t, '(const char *s, size_t maxsize)', external] + - [C11, threads.h, '', '', call_once, void, '(once_flag *flag, void (*func)(void))', external] + - [C11, threads.h, '', '', cnd_broadcast, int, (cnd_t *cond), external] + - [C11, threads.h, '', '', cnd_destroy, void, (cnd_t *cond), external] + - [C11, threads.h, '', '', cnd_init, int, (cnd_t *cond), external] + - [C11, threads.h, '', '', cnd_signal, int, (cnd_t *cond), external] + - [C11, threads.h, '', '', cnd_timedwait, int, '(cnd_t *restrict cond,mtx_t *restrict mtx,const struct timespec *restrict ts)', external] + - [C11, threads.h, '', '', cnd_wait, int, '(cnd_t *cond, mtx_t *mtx)', external] + - [C11, threads.h, '', '', mtx_destroy, void, (mtx_t *mtx), external] + - [C11, threads.h, '', '', mtx_init, int, '(mtx_t *mtx, int type)', external] + - [C11, threads.h, '', '', mtx_lock, int, (mtx_t *mtx), external] + - [C11, threads.h, '', '', mtx_timedlock, int, '(mtx_t *restrict mtx,const struct timespec *restrict ts)', external] + - [C11, threads.h, '', '', mtx_trylock, int, (mtx_t *mtx), external] + - [C11, threads.h, '', '', mtx_unlock, int, (mtx_t *mtx), external] + - [C11, threads.h, '', '', thrd_create, int, '(thrd_t *thr, thrd_start_t func,void *arg)', external] + - [C11, threads.h, '', '', thrd_current, thrd_t, (void), external] + - [C11, threads.h, '', '', thrd_detach, int, (thrd_t thr), external] + - [C11, threads.h, '', '', thrd_equal, int, '(thrd_t thr0, thrd_t thr1)', external] + - [C11, threads.h, '', '', thrd_exit, _Noreturn void, (int res), external] + - [C11, threads.h, '', '', thrd_join, int, '(thrd_t thr, int *res)', external] + - [C11, threads.h, '', '', thrd_sleep, int, '(const struct timespec *duration,struct timespec *remaining)', external] + - [C11, threads.h, '', '', thrd_yield, void, (void), external] + - [C11, threads.h, '', '', tss_create, int, '(tss_t *key, tss_dtor_t dtor)', external] + - [C11, threads.h, '', '', tss_delete, void, (tss_t key), external] + - [C11, threads.h, '', '', tss_get, void *, (tss_t key), external] + - [C11, threads.h, '', '', tss_set, int, '(tss_t key, void *val)', external] + - [C11, time.h, '', '', clock, clock_t, (void), external] + - [C11, time.h, '', '', difftime, double, '(time_t time1, time_t time0)', external] + - [C11, time.h, '', '', mktime, time_t, (struct tm *timeptr), external] + - [C11, time.h, '', '', time, time_t, (time_t *timer), external] + - [C11, time.h, '', '', timespec_get, int, '(timespec *ts, int base)', external] + - [C11, time.h, '', '', asctime, char *, (const struct tm *timeptr), external] + - [C11, time.h, '', '', ctime, char *, (const time_t *timer), external] + - [C11, time.h, '', '', gmtime, struct tm *, (const time_t *timer), external] + - [C11, time.h, '', '', localtime, struct tm *, (const time_t *timer), external] + - [C11, time.h, '', '', strftime, size_t, '(char * restrict s,size_t maxsize,const char * restrict format,const struct tm * restrict timeptr)', external] + - [C11, time.h, '', '', asctime_s, errno_t, '(char *s, rsize_t maxsize,const struct tm *timeptr)', external] + - [C11, time.h, '', '', ctime_s, errno_t, '(char *s, rsize_t maxsize,const time_t *timer)', external] + - [C11, time.h, '', '', gmtime_s, struct tm *, '(const time_t * restrict timer,struct tm * restrict result)', external] + - [C11, time.h, '', '', localtime_s, struct tm *, '(const time_t * restrict timer,struct tm * restrict result)', external] + - [C11, uchar.h, '', '', mbrtoc16, size_t, '(char16_t * restrict pc16,const char * restrict s, size_t n,mbstate_t * restrict ps)', external] + - [C11, uchar.h, '', '', c16rtomb, size_t, '(char * restrict s, char16_t c16,mbstate_t * restrict ps)', external] + - [C11, uchar.h, '', '', mbrtoc32, size_t, '(char32_t * restrict pc32,const char * restrict s, size_t n,mbstate_t * restrict ps)', external] + - [C11, uchar.h, '', '', c32rtomb, size_t, '(char * restrict s, char32_t c32,mbstate_t * restrict ps)', external] + - [C11, wchar.h, '', '', fwprintf, int, '(FILE * restrict stream,const wchar_t * restrict format, ...)', external] + - [C11, wchar.h, '', '', fwscanf, int, '(FILE * restrict stream,const wchar_t * restrict format, ...)', external] + - [C11, wchar.h, '', '', swprintf, int, '(wchar_t * restrict s, size_t n,const wchar_t * restrict format, ...)', external] + - [C11, wchar.h, '', '', swscanf, int, '(const wchar_t * restrict s,const wchar_t * restrict format, ...)', external] + - [C11, wchar.h, '', '', vfwprintf, int, '(FILE * restrict stream,const wchar_t * restrict format, va_list arg)', external] + - [C11, wchar.h, '', '', vfwscanf, int, '(FILE * restrict stream,const wchar_t * restrict format, va_list arg)', external] + - [C11, wchar.h, '', '', vswprintf, int, '(wchar_t * restrict s, size_t n,const wchar_t * restrict format, va_list arg)', external] + - [C11, wchar.h, '', '', vswscanf, int, '(const wchar_t * restrict s,const wchar_t * restrict format, va_list arg)', external] + - [C11, wchar.h, '', '', vwprintf, int, '(const wchar_t * restrict format,va_list arg)', external] + - [C11, wchar.h, '', '', vwscanf, int, '(const wchar_t * restrict format,va_list arg)', external] + - [C11, wchar.h, '', '', wprintf, int, '(const wchar_t * restrict format, ...)', external] + - [C11, wchar.h, '', '', wscanf, int, '(const wchar_t * restrict format, ...)', external] + - [C11, wchar.h, '', '', fgetwc, wint_t, (FILE *stream), external] + - [C11, wchar.h, '', '', fgetws, wchar_t *, '(wchar_t * restrict s, int n,FILE * restrict stream)', external] + - [C11, wchar.h, '', '', fputwc, wint_t, '(wchar_t c, FILE *stream)', external] + - [C11, wchar.h, '', '', fputws, int, '(const wchar_t * restrict s,FILE * restrict stream)', external] + - [C11, wchar.h, '', '', fwide, int, '(FILE *stream, int mode)', external] + - [C11, wchar.h, '', '', getwc, wint_t, (FILE *stream), external] + - [C11, wchar.h, '', '', getwchar, wint_t, (void), external] + - [C11, wchar.h, '', '', putwc, wint_t, '(wchar_t c, FILE *stream)', external] + - [C11, wchar.h, '', '', putwchar, wint_t, (wchar_t c), external] + - [C11, wchar.h, '', '', ungetwc, wint_t, '(wint_t c, FILE *stream)', external] + - [C11, wchar.h, '', '', wcstod, double, '(const wchar_t * restrict nptr,wchar_t ** restrict endptr)', external] + - [C11, wchar.h, '', '', wcstof, float, '(const wchar_t * restrict nptr,wchar_t ** restrict endptr)', external] + - [C11, wchar.h, '', '', wcstold, long double, '(const wchar_t * restrict nptr,wchar_t ** restrict endptr)', external] + - [C11, wchar.h, '', '', wcstol, long int, '(const wchar_t * restrict nptr,wchar_t ** restrict endptr, int base)', external] + - [C11, wchar.h, '', '', wcstoll, long long int, '(const wchar_t * restrict nptr,wchar_t ** restrict endptr, int base)', external] + - [C11, wchar.h, '', '', wcstoul, unsigned long int, '(const wchar_t * restrict nptr,wchar_t ** restrict endptr, int base)', external] + - [C11, wchar.h, '', '', wcstoull, unsigned long long int, '(const wchar_t * restrict nptr,wchar_t ** restrict endptr, int base)', external] + - [C11, wchar.h, '', '', wcscpy, wchar_t *, '(wchar_t * restrict s1,const wchar_t * restrict s2)', external] + - [C11, wchar.h, '', '', wcsncpy, wchar_t *, '(wchar_t * restrict s1,const wchar_t * restrict s2, size_t n)', external] + - [C11, wchar.h, '', '', wmemcpy, wchar_t *, '(wchar_t * restrict s1,const wchar_t * restrict s2, size_t n)', external] + - [C11, wchar.h, '', '', wmemmove, wchar_t *, '(wchar_t *s1, const wchar_t *s2,size_t n)', external] + - [C11, wchar.h, '', '', wcscat, wchar_t *, '(wchar_t * restrict s1,const wchar_t * restrict s2)', external] + - [C11, wchar.h, '', '', wcsncat, wchar_t *, '(wchar_t * restrict s1,const wchar_t * restrict s2, size_t n)', external] + - [C11, wchar.h, '', '', wcscmp, int, '(const wchar_t *s1, const wchar_t *s2)', external] + - [C11, wchar.h, '', '', wcscoll, int, '(const wchar_t *s1, const wchar_t *s2)', external] + - [C11, wchar.h, '', '', wcsncmp, int, '(const wchar_t *s1, const wchar_t *s2,size_t n)', external] + - [C11, wchar.h, '', '', wcsxfrm, size_t, '(wchar_t * restrict s1,const wchar_t * restrict s2, size_t n)', external] + - [C11, wchar.h, '', '', wmemcmp, int, '(const wchar_t *s1, const wchar_t *s2,size_t n)', external] + - [C11, wchar.h, '', '', wcschr, wchar_t *, '(const wchar_t *s, wchar_t c)', external] + - [C11, wchar.h, '', '', wcscspn, size_t, '(const wchar_t *s1, const wchar_t *s2)', external] + - [C11, wchar.h, '', '', wcspbrk, wchar_t *, '(const wchar_t *s1, const wchar_t *s2)', external] + - [C11, wchar.h, '', '', wcsrchr, wchar_t *, '(const wchar_t *s, wchar_t c)', external] + - [C11, wchar.h, '', '', wcsspn, size_t, '(const wchar_t *s1, const wchar_t *s2)', external] + - [C11, wchar.h, '', '', wcsstr, wchar_t *, '(const wchar_t *s1, const wchar_t *s2)', external] + - [C11, wchar.h, '', '', wcstok, wchar_t *, '(wchar_t * restrict s1,const wchar_t * restrict s2,wchar_t ** restrict ptr)', external] + - [C11, wchar.h, '', '', wmemchr, wchar_t *, '(const wchar_t *s, wchar_t c, size_t n)', external] + - [C11, wchar.h, '', '', wcslen, size_t, (const wchar_t *s), external] + - [C11, wchar.h, '', '', wmemset, wchar_t *, '(wchar_t *s, wchar_t c, size_t n)', external] + - [C11, wchar.h, '', '', wcsftime, size_t, '(wchar_t * restrict s, size_t maxsize,const wchar_t * restrict format,const struct tm * restrict timeptr)', external] + - [C11, wchar.h, '', '', btowc, wint_t, (int c), external] + - [C11, wchar.h, '', '', wctob, int, (wint_t c), external] + - [C11, wchar.h, '', '', mbsinit, int, (const mbstate_t *ps), external] + - [C11, wchar.h, '', '', mbrlen, size_t, '(const char * restrict s, size_t n,mbstate_t * restrict ps)', external] + - [C11, wchar.h, '', '', mbrtowc, size_t, '(wchar_t * restrict pwc,const char * restrict s, size_t n,mbstate_t * restrict ps)', external] + - [C11, wchar.h, '', '', wcrtomb, size_t, '(char * restrict s, wchar_t wc,mbstate_t * restrict ps)', external] + - [C11, wchar.h, '', '', mbsrtowcs, size_t, '(wchar_t * restrict dst,const char ** restrict src, size_t len,mbstate_t * restrict ps)', external] + - [C11, wchar.h, '', '', wcsrtombs, size_t, '(char * restrict dst,const wchar_t ** restrict src, size_t len,mbstate_t * restrict ps)', external] + - [C11, wchar.h, '', '', fwprintf_s, int, '(FILE * restrict stream,const wchar_t * restrict format, ...)', external] + - [C11, wchar.h, '', '', fwscanf_s, int, '(FILE * restrict stream,const wchar_t * restrict format, ...)', external] + - [C11, wchar.h, '', '', snwprintf_s, int, '(wchar_t * restrict s,rsize_t n,const wchar_t * restrict format, ...)', external] + - [C11, wchar.h, '', '', swprintf_s, int, '(wchar_t * restrict s, rsize_t n,const wchar_t * restrict format, ...)', external] + - [C11, wchar.h, '', '', swscanf_s, int, '(const wchar_t * restrict s,const wchar_t * restrict format, ...)', external] + - [C11, wchar.h, '', '', vfwprintf_s, int, '(FILE * restrict stream,const wchar_t * restrict format,va_list arg)', external] + - [C11, wchar.h, '', '', vfwscanf_s, int, '(FILE * restrict stream,const wchar_t * restrict format, va_list arg)', external] + - [C11, wchar.h, '', '', vsnwprintf_s, int, '(wchar_t * restrict s,rsize_t n,const wchar_t * restrict format,va_list arg)', external] + - [C11, wchar.h, '', '', vswprintf_s, int, '(wchar_t * restrict s,rsize_t n,const wchar_t * restrict format,va_list arg)', external] + - [C11, wchar.h, '', '', vswscanf_s, int, '(const wchar_t * restrict s,const wchar_t * restrict format,va_list arg)', external] + - [C11, wchar.h, '', '', vwprintf_s, int, '(const wchar_t * restrict format,va_list arg)', external] + - [C11, wchar.h, '', '', vwscanf_s, int, '(const wchar_t * restrict format,va_list arg)', external] + - [C11, wchar.h, '', '', wprintf_s, int, '(const wchar_t * restrict format, ...)', external] + - [C11, wchar.h, '', '', wscanf_s, int, '(const wchar_t * restrict format, ...)', external] + - [C11, wchar.h, '', '', wcscpy_s, errno_t, '(wchar_t * restrict s1,rsize_t s1max,const wchar_t * restrict s2)', external] + - [C11, wchar.h, '', '', wcsncpy_s, errno_t, '(wchar_t * restrict s1,rsize_t s1max,const wchar_t * restrict s2,rsize_t n)', external] + - [C11, wchar.h, '', '', wmemcpy_s, errno_t, '(wchar_t * restrict s1,rsize_t s1max,const wchar_t * restrict s2,rsize_t n)', external] + - [C11, wchar.h, '', '', wmemmove_s, errno_t, '(wchar_t *s1, rsize_t s1max,const wchar_t *s2, rsize_t n)', external] + - [C11, wchar.h, '', '', wcscat_s, errno_t, '(wchar_t * restrict s1,rsize_t s1max,const wchar_t * restrict s2)', external] + - [C11, wchar.h, '', '', wcsncat_s, errno_t, '(wchar_t * restrict s1,rsize_t s1max,const wchar_t * restrict s2,rsize_t n)', external] + - [C11, wchar.h, '', '', wcstok_s, wchar_t *, '(wchar_t * restrict s1,rsize_t * restrict s1max,const wchar_t * restrict s2,wchar_t ** restrict ptr)', external] + - [C11, wchar.h, '', '', wcsnlen_s, size_t, '(const wchar_t *s, size_t maxsize)', external] + - [C11, wchar.h, '', '', wcrtomb_s, errno_t, '(size_t * restrict retval,char * restrict s, rsize_t smax,wchar_t wc, mbstate_t * restrict ps)', external] + - [C11, wchar.h, '', '', mbsrtowcs_s, errno_t, '(size_t * restrict retval,wchar_t * restrict dst, rsize_t dstmax,const char ** restrict src, rsize_t len,mbstate_t * restrict ps)', external] + - [C11, wchar.h, '', '', wcsrtombs_s, errno_t, '(size_t * restrict retval,char * restrict dst, rsize_t dstmax,const wchar_t ** restrict src, rsize_t len,mbstate_t * restrict ps)', external] + - [C11, wctype.h, '', '', iswalnum, int, (wint_t wc), external] + - [C11, wctype.h, '', '', iswalpha, int, (wint_t wc), external] + - [C11, wctype.h, '', '', iswblank, int, (wint_t wc), external] + - [C11, wctype.h, '', '', iswcntrl, int, (wint_t wc), external] + - [C11, wctype.h, '', '', iswdigit, int, (wint_t wc), external] + - [C11, wctype.h, '', '', iswgraph, int, (wint_t wc), external] + - [C11, wctype.h, '', '', iswlower, int, (wint_t wc), external] + - [C11, wctype.h, '', '', iswprint, int, (wint_t wc), external] + - [C11, wctype.h, '', '', iswpunct, int, (wint_t wc), external] + - [C11, wctype.h, '', '', iswspace, int, (wint_t wc), external] + - [C11, wctype.h, '', '', iswupper, int, (wint_t wc), external] + - [C11, wctype.h, '', '', iswxdigit, int, (wint_t wc), external] + - [C11, wctype.h, '', '', iswctype, int, '(wint_t wc, wctype_t desc)', external] + - [C11, wctype.h, '', '', wctype, wctype_t, (const char *property), external] + - [C11, wctype.h, '', '', towlower, wint_t, (wint_t wc), external] + - [C11, wctype.h, '', '', towupper, wint_t, (wint_t wc), external] + - [C11, wctype.h, '', '', towctrans, wint_t, '(wint_t wc, wctrans_t desc)', external] + - [C11, wctype.h, '', '', wctrans, wctrans_t, (const char *property), external] diff --git a/cpp/common/src/ext/stdc11.manual.names.model.yml b/cpp/common/src/ext/stdc11.manual.names.model.yml new file mode 100644 index 0000000000..25f957b1c5 --- /dev/null +++ b/cpp/common/src/ext/stdc11.manual.names.model.yml @@ -0,0 +1,38 @@ +extensions: +- addsTo: {extensible: libraryMemberVariableModel, pack: codeql/common-cpp-coding-standards} + data: + - [C11, "time.h", "", "struct timespec", "tv_sec", "time_t"] + - [C11, "time.h", "", "struct timespec", "tv_nsec", "long"] + - [C11, "time.h", "", "struct tm", "tm_sec", "int"] + - [C11, "time.h", "", "struct tm", "tm_min", "int"] + - [C11, "time.h", "", "struct tm", "tm_hour", "int"] + - [C11, "time.h", "", "struct tm", "tm_mday", "int"] + - [C11, "time.h", "", "struct tm", "tm_mon", "int"] + - [C11, "time.h", "", "struct tm", "tm_year", "int"] + - [C11, "time.h", "", "struct tm", "tm_wday", "int"] + - [C11, "time.h", "", "struct tm", "tm_yday", "int"] + - [C11, "time.h", "", "struct tm", "tm_isdst", "int"] + - [C11, "locale.h", "", "struct lconv", "decimal_point", "char *"] + - [C11, "locale.h", "", "struct lconv", "thousands_sep", "char *"] + - [C11, "locale.h", "", "struct lconv", "grouping", "char *"] + - [C11, "locale.h", "", "struct lconv", "mon_decimal_point", "char *"] + - [C11, "locale.h", "", "struct lconv", "mon_thousands_sep", "char *"] + - [C11, "locale.h", "", "struct lconv", "mon_grouping", "char *"] + - [C11, "locale.h", "", "struct lconv", "positive_sign", "char *"] + - [C11, "locale.h", "", "struct lconv", "negative_sign", "char *"] + - [C11, "locale.h", "", "struct lconv", "currency_symbol", "char *"] + - [C11, "locale.h", "", "struct lconv", "frac_digits", "char"] + - [C11, "locale.h", "", "struct lconv", "p_cs_precedes", "char"] + - [C11, "locale.h", "", "struct lconv", "n_cs_precedes", "char"] + - [C11, "locale.h", "", "struct lconv", "p_sep_by_space", "char"] + - [C11, "locale.h", "", "struct lconv", "n_sep_by_space", "char"] + - [C11, "locale.h", "", "struct lconv", "p_sign_posn", "char"] + - [C11, "locale.h", "", "struct lconv", "n_sign_posn", "char"] + - [C11, "locale.h", "", "struct lconv", "int_curr_symbol", "char *"] + - [C11, "locale.h", "", "struct lconv", "int_frac_digits", "char"] + - [C11, "locale.h", "", "struct lconv", "int_p_cs_precedes", "char"] + - [C11, "locale.h", "", "struct lconv", "int_n_cs_precedes", "char"] + - [C11, "locale.h", "", "struct lconv", "int_p_sep_by_space", "char"] + - [C11, "locale.h", "", "struct lconv", "int_n_sep_by_space", "char"] + - [C11, "locale.h", "", "struct lconv", "int_p_sign_posn", "char"] + - [C11, "locale.h", "", "struct lconv", "int_n_sign_posn", "char"] \ No newline at end of file diff --git a/cpp/common/src/ext/stdc99.generated.names.model.yml b/cpp/common/src/ext/stdc99.generated.names.model.yml new file mode 100644 index 0000000000..c9ce1c8d48 --- /dev/null +++ b/cpp/common/src/ext/stdc99.generated.names.model.yml @@ -0,0 +1,966 @@ +extensions: +- addsTo: {extensible: libraryMacroModel, pack: codeql/common-cpp-coding-standards} + data: + - [C99, complex.h, complex, ''] + - [C99, complex.h, _Complex_I, ''] + - [C99, complex.h, imaginary, ''] + - [C99, complex.h, _Imaginary_I, ''] + - [C99, complex.h, I, ''] + - [C99, errno.h, EDOM, ''] + - [C99, errno.h, EILSEQ, ''] + - [C99, errno.h, ERANGE, ''] + - [C99, errno.h, errno, ''] + - [C99, fenv.h, FE_DIVBYZERO, ''] + - [C99, fenv.h, FE_INEXACT, ''] + - [C99, fenv.h, FE_INVALID, ''] + - [C99, fenv.h, FE_OVERFLOW, ''] + - [C99, fenv.h, FE_UNDERFLOW, ''] + - [C99, fenv.h, FE_ALL_EXCEPT, ''] + - [C99, fenv.h, FE_DOWNWARD, ''] + - [C99, fenv.h, FE_TONEAREST, ''] + - [C99, fenv.h, FE_TOWARDZERO, ''] + - [C99, fenv.h, FE_UPWARD, ''] + - [C99, fenv.h, FE_DFL_ENV, ''] + - [C99, float.h, FLT_ROUNDS, ''] + - [C99, float.h, FLT_EVAL_METHOD, ''] + - [C99, float.h, FLT_RADIX, ''] + - [C99, float.h, FLT_MANT_DIG, ''] + - [C99, float.h, DBL_MANT_DIG, ''] + - [C99, float.h, LDBL_MANT_DIG, ''] + - [C99, float.h, DECIMAL_DIG, ''] + - [C99, float.h, FLT_DIG, ''] + - [C99, float.h, DBL_DIG, ''] + - [C99, float.h, LDBL_DIG, ''] + - [C99, float.h, FLT_MIN_EXP, ''] + - [C99, float.h, DBL_MIN_EXP, ''] + - [C99, float.h, LDBL_MIN_EXP, ''] + - [C99, float.h, FLT_MIN_10_EXP, ''] + - [C99, float.h, DBL_MIN_10_EXP, ''] + - [C99, float.h, LDBL_MIN_10_EXP, ''] + - [C99, float.h, FLT_MAX_EXP, ''] + - [C99, float.h, DBL_MAX_EXP, ''] + - [C99, float.h, LDBL_MAX_EXP, ''] + - [C99, float.h, FLT_MAX_10_EXP, ''] + - [C99, float.h, DBL_MAX_10_EXP, ''] + - [C99, float.h, LDBL_MAX_10_EXP, ''] + - [C99, float.h, FLT_MAX, ''] + - [C99, float.h, DBL_MAX, ''] + - [C99, float.h, LDBL_MAX, ''] + - [C99, float.h, FLT_EPSILON, ''] + - [C99, float.h, DBL_EPSILON, ''] + - [C99, float.h, LDBL_EPSILON, ''] + - [C99, float.h, FLT_MIN, ''] + - [C99, float.h, DBL_MIN, ''] + - [C99, float.h, LDBL_MIN, ''] + - [C99, inttypes.h, PRId8, ''] + - [C99, inttypes.h, PRId16, ''] + - [C99, inttypes.h, PRId32, ''] + - [C99, inttypes.h, PRId64, ''] + - [C99, inttypes.h, PRIdLEAST8, ''] + - [C99, inttypes.h, PRIdLEAST16, ''] + - [C99, inttypes.h, PRIdLEAST32, ''] + - [C99, inttypes.h, PRIdLEAST64, ''] + - [C99, inttypes.h, PRIdFAST8, ''] + - [C99, inttypes.h, PRIdFAST16, ''] + - [C99, inttypes.h, PRIdFAST32, ''] + - [C99, inttypes.h, PRIdFAST64, ''] + - [C99, inttypes.h, PRIdMAX, ''] + - [C99, inttypes.h, PRIdPTR, ''] + - [C99, inttypes.h, PRIi8, ''] + - [C99, inttypes.h, PRIi16, ''] + - [C99, inttypes.h, PRIi32, ''] + - [C99, inttypes.h, PRIi64, ''] + - [C99, inttypes.h, PRIiLEAST8, ''] + - [C99, inttypes.h, PRIiLEAST16, ''] + - [C99, inttypes.h, PRIiLEAST32, ''] + - [C99, inttypes.h, PRIiLEAST64, ''] + - [C99, inttypes.h, PRIiFAST8, ''] + - [C99, inttypes.h, PRIiFAST16, ''] + - [C99, inttypes.h, PRIiFAST32, ''] + - [C99, inttypes.h, PRIiFAST64, ''] + - [C99, inttypes.h, PRIiMAX, ''] + - [C99, inttypes.h, PRIiPTR, ''] + - [C99, inttypes.h, PRIo8, ''] + - [C99, inttypes.h, PRIo16, ''] + - [C99, inttypes.h, PRIo32, ''] + - [C99, inttypes.h, PRIo64, ''] + - [C99, inttypes.h, PRIoLEAST8, ''] + - [C99, inttypes.h, PRIoLEAST16, ''] + - [C99, inttypes.h, PRIoLEAST32, ''] + - [C99, inttypes.h, PRIoLEAST64, ''] + - [C99, inttypes.h, PRIoFAST8, ''] + - [C99, inttypes.h, PRIoFAST16, ''] + - [C99, inttypes.h, PRIoFAST32, ''] + - [C99, inttypes.h, PRIoFAST64, ''] + - [C99, inttypes.h, PRIoMAX, ''] + - [C99, inttypes.h, PRIoPTR, ''] + - [C99, inttypes.h, PRIu8, ''] + - [C99, inttypes.h, PRIu16, ''] + - [C99, inttypes.h, PRIu32, ''] + - [C99, inttypes.h, PRIu64, ''] + - [C99, inttypes.h, PRIuLEAST8, ''] + - [C99, inttypes.h, PRIuLEAST16, ''] + - [C99, inttypes.h, PRIuLEAST32, ''] + - [C99, inttypes.h, PRIuLEAST64, ''] + - [C99, inttypes.h, PRIuFAST8, ''] + - [C99, inttypes.h, PRIuFAST16, ''] + - [C99, inttypes.h, PRIuFAST32, ''] + - [C99, inttypes.h, PRIuFAST64, ''] + - [C99, inttypes.h, PRIuMAX, ''] + - [C99, inttypes.h, PRIuPTR, ''] + - [C99, inttypes.h, PRIx8, ''] + - [C99, inttypes.h, PRIx16, ''] + - [C99, inttypes.h, PRIx32, ''] + - [C99, inttypes.h, PRIx64, ''] + - [C99, inttypes.h, PRIxLEAST8, ''] + - [C99, inttypes.h, PRIxLEAST16, ''] + - [C99, inttypes.h, PRIxLEAST32, ''] + - [C99, inttypes.h, PRIxLEAST64, ''] + - [C99, inttypes.h, PRIxFAST8, ''] + - [C99, inttypes.h, PRIxFAST16, ''] + - [C99, inttypes.h, PRIxFAST32, ''] + - [C99, inttypes.h, PRIxFAST64, ''] + - [C99, inttypes.h, PRIxMAX, ''] + - [C99, inttypes.h, PRIxPTR, ''] + - [C99, inttypes.h, PRIX8, ''] + - [C99, inttypes.h, PRIX16, ''] + - [C99, inttypes.h, PRIX32, ''] + - [C99, inttypes.h, PRIX64, ''] + - [C99, inttypes.h, PRIXLEAST8, ''] + - [C99, inttypes.h, PRIXLEAST16, ''] + - [C99, inttypes.h, PRIXLEAST32, ''] + - [C99, inttypes.h, PRIXLEAST64, ''] + - [C99, inttypes.h, PRIXFAST8, ''] + - [C99, inttypes.h, PRIXFAST16, ''] + - [C99, inttypes.h, PRIXFAST32, ''] + - [C99, inttypes.h, PRIXFAST64, ''] + - [C99, inttypes.h, PRIXMAX, ''] + - [C99, inttypes.h, PRIXPTR, ''] + - [C99, inttypes.h, SCNd8, ''] + - [C99, inttypes.h, SCNd16, ''] + - [C99, inttypes.h, SCNd32, ''] + - [C99, inttypes.h, SCNd64, ''] + - [C99, inttypes.h, SCNdLEAST8, ''] + - [C99, inttypes.h, SCNdLEAST16, ''] + - [C99, inttypes.h, SCNdLEAST32, ''] + - [C99, inttypes.h, SCNdLEAST64, ''] + - [C99, inttypes.h, SCNdFAST8, ''] + - [C99, inttypes.h, SCNdFAST16, ''] + - [C99, inttypes.h, SCNdFAST32, ''] + - [C99, inttypes.h, SCNdFAST64, ''] + - [C99, inttypes.h, SCNdMAX, ''] + - [C99, inttypes.h, SCNdPTR, ''] + - [C99, inttypes.h, SCNi8, ''] + - [C99, inttypes.h, SCNi16, ''] + - [C99, inttypes.h, SCNi32, ''] + - [C99, inttypes.h, SCNi64, ''] + - [C99, inttypes.h, SCNiLEAST8, ''] + - [C99, inttypes.h, SCNiLEAST16, ''] + - [C99, inttypes.h, SCNiLEAST32, ''] + - [C99, inttypes.h, SCNiLEAST64, ''] + - [C99, inttypes.h, SCNiFAST8, ''] + - [C99, inttypes.h, SCNiFAST16, ''] + - [C99, inttypes.h, SCNiFAST32, ''] + - [C99, inttypes.h, SCNiFAST64, ''] + - [C99, inttypes.h, SCNiMAX, ''] + - [C99, inttypes.h, SCNiPTR, ''] + - [C99, inttypes.h, SCNo8, ''] + - [C99, inttypes.h, SCNo16, ''] + - [C99, inttypes.h, SCNo32, ''] + - [C99, inttypes.h, SCNo64, ''] + - [C99, inttypes.h, SCNoLEAST8, ''] + - [C99, inttypes.h, SCNoLEAST16, ''] + - [C99, inttypes.h, SCNoLEAST32, ''] + - [C99, inttypes.h, SCNoLEAST64, ''] + - [C99, inttypes.h, SCNoFAST8, ''] + - [C99, inttypes.h, SCNoFAST16, ''] + - [C99, inttypes.h, SCNoFAST32, ''] + - [C99, inttypes.h, SCNoFAST64, ''] + - [C99, inttypes.h, SCNoMAX, ''] + - [C99, inttypes.h, SCNoPTR, ''] + - [C99, inttypes.h, SCNu8, ''] + - [C99, inttypes.h, SCNu16, ''] + - [C99, inttypes.h, SCNu32, ''] + - [C99, inttypes.h, SCNu64, ''] + - [C99, inttypes.h, SCNuLEAST8, ''] + - [C99, inttypes.h, SCNuLEAST16, ''] + - [C99, inttypes.h, SCNuLEAST32, ''] + - [C99, inttypes.h, SCNuLEAST64, ''] + - [C99, inttypes.h, SCNuFAST8, ''] + - [C99, inttypes.h, SCNuFAST16, ''] + - [C99, inttypes.h, SCNuFAST32, ''] + - [C99, inttypes.h, SCNuFAST64, ''] + - [C99, inttypes.h, SCNuMAX, ''] + - [C99, inttypes.h, SCNuPTR, ''] + - [C99, inttypes.h, SCNx8, ''] + - [C99, inttypes.h, SCNx16, ''] + - [C99, inttypes.h, SCNx32, ''] + - [C99, inttypes.h, SCNx64, ''] + - [C99, inttypes.h, SCNxLEAST8, ''] + - [C99, inttypes.h, SCNxLEAST16, ''] + - [C99, inttypes.h, SCNxLEAST32, ''] + - [C99, inttypes.h, SCNxLEAST64, ''] + - [C99, inttypes.h, SCNxFAST8, ''] + - [C99, inttypes.h, SCNxFAST16, ''] + - [C99, inttypes.h, SCNxFAST32, ''] + - [C99, inttypes.h, SCNxFAST64, ''] + - [C99, inttypes.h, SCNxMAX, ''] + - [C99, inttypes.h, SCNxPTR, ''] + - [C99, iso646.h, and, ''] + - [C99, iso646.h, and_eq, ''] + - [C99, iso646.h, bitand, ''] + - [C99, iso646.h, bitor, ''] + - [C99, iso646.h, compl, ''] + - [C99, iso646.h, not, ''] + - [C99, iso646.h, not_eq, ''] + - [C99, iso646.h, or, ''] + - [C99, iso646.h, or_eq, ''] + - [C99, iso646.h, xor, ''] + - [C99, iso646.h, xor_eq, ''] + - [C99, limits.h, CHAR_BIT, ''] + - [C99, limits.h, SCHAR_MIN, ''] + - [C99, limits.h, SCHAR_MAX, ''] + - [C99, limits.h, UCHAR_MAX, ''] + - [C99, limits.h, CHAR_MIN, ''] + - [C99, limits.h, CHAR_MAX, ''] + - [C99, limits.h, MB_LEN_MAX, ''] + - [C99, limits.h, SHRT_MIN, ''] + - [C99, limits.h, SHRT_MAX, ''] + - [C99, limits.h, USHRT_MAX, ''] + - [C99, limits.h, INT_MIN, ''] + - [C99, limits.h, INT_MAX, ''] + - [C99, limits.h, UINT_MAX, ''] + - [C99, limits.h, LONG_MIN, ''] + - [C99, limits.h, LONG_MAX, ''] + - [C99, locale.h, 'NULL', ''] + - [C99, locale.h, LC_ALL, ''] + - [C99, locale.h, LC_COLLATE, ''] + - [C99, locale.h, LC_CTYPE, ''] + - [C99, locale.h, LC_MONETARY, ''] + - [C99, locale.h, LC_NUMERIC, ''] + - [C99, locale.h, LC_TIME, ''] + - [C99, math.h, HUGE_VAL, ''] + - [C99, math.h, HUGE_VALF, ''] + - [C99, math.h, HUGE_VALL, ''] + - [C99, math.h, INFINITY, ''] + - [C99, math.h, NAN, ''] + - [C99, math.h, FP_INFINITE, ''] + - [C99, math.h, FP_NAN, ''] + - [C99, math.h, FP_NORMAL, ''] + - [C99, math.h, FP_SUBNORMAL, ''] + - [C99, math.h, FP_ZERO, ''] + - [C99, math.h, FP_FAST_FMA, ''] + - [C99, math.h, FP_FAST_FMAF, ''] + - [C99, math.h, FP_FAST_FMAL, ''] + - [C99, math.h, FP_ILOGB0, ''] + - [C99, math.h, FP_ILOGBNAN, ''] + - [C99, math.h, MATH_ERRNO, ''] + - [C99, math.h, MATH_ERREXCEPT, ''] + - [C99, math.h, math_errhandling, ''] + - [C99, setjmp.h, jmp_buf, ''] + - [C99, signal.h, SIG_DFL, ''] + - [C99, signal.h, SIG_ERR, ''] + - [C99, signal.h, SIG_IGN, ''] + - [C99, signal.h, SIGABRT, ''] + - [C99, signal.h, SIGFPE, ''] + - [C99, signal.h, SIGILL, ''] + - [C99, signal.h, SIGINT, ''] + - [C99, signal.h, SIGSEGV, ''] + - [C99, signal.h, SIGTERM, ''] + - [C99, stdarg.h, va_list, ''] + - [C99, stdbool.h, bool, ''] + - [C99, stdbool.h, 'true', ''] + - [C99, stdbool.h, 'false', ''] + - [C99, stdbool.h, __bool_true_false_are_defined, ''] + - [C99, stddef.h, 'NULL', ''] + - [C99, stddef.h, offsetof, '(type, member-designator)'] + - [C99, stdint.h, INT8_MIN, ''] + - [C99, stdint.h, INT16_MIN, ''] + - [C99, stdint.h, INT32_MIN, ''] + - [C99, stdint.h, INT64_MIN, ''] + - [C99, stdint.h, INT8_MAX, ''] + - [C99, stdint.h, INT16_MAX, ''] + - [C99, stdint.h, INT32_MAX, ''] + - [C99, stdint.h, INT64_MAX, ''] + - [C99, stdint.h, UINT8_MAX, ''] + - [C99, stdint.h, UINT16_MAX, ''] + - [C99, stdint.h, UINT32_MAX, ''] + - [C99, stdint.h, UINT64_MAX, ''] + - [C99, stdint.h, INT_LEAST8_MIN, ''] + - [C99, stdint.h, INT_LEAST16_MIN, ''] + - [C99, stdint.h, INT_LEAST32_MIN, ''] + - [C99, stdint.h, INT_LEAST64_MIN, ''] + - [C99, stdint.h, INT_LEAST8_MAX, ''] + - [C99, stdint.h, INT_LEAST16_MAX, ''] + - [C99, stdint.h, INT_LEAST32_MAX, ''] + - [C99, stdint.h, INT_LEAST64_MAX, ''] + - [C99, stdint.h, UINT_LEAST8_MAX, ''] + - [C99, stdint.h, UINT_LEAST16_MAX, ''] + - [C99, stdint.h, UINT_LEAST32_MAX, ''] + - [C99, stdint.h, UINT_LEAST64_MAX, ''] + - [C99, stdint.h, INT_FAST8_MIN, ''] + - [C99, stdint.h, INT_FAST16_MIN, ''] + - [C99, stdint.h, INT_FAST32_MIN, ''] + - [C99, stdint.h, INT_FAST64_MIN, ''] + - [C99, stdint.h, INT_FAST8_MAX, ''] + - [C99, stdint.h, INT_FAST16_MAX, ''] + - [C99, stdint.h, INT_FAST32_MAX, ''] + - [C99, stdint.h, INT_FAST64_MAX, ''] + - [C99, stdint.h, UINT_FAST8_MAX, ''] + - [C99, stdint.h, UINT_FAST16_MAX, ''] + - [C99, stdint.h, UINT_FAST32_MAX, ''] + - [C99, stdint.h, UINT_FAST64_MAX, ''] + - [C99, stdint.h, INTPTR_MIN, ''] + - [C99, stdint.h, INTPTR_MAX, ''] + - [C99, stdint.h, UINTPTR_MAX, ''] + - [C99, stdint.h, INTMAX_MIN, ''] + - [C99, stdint.h, INTMAX_MAX, ''] + - [C99, stdint.h, UINTMAX_MAX, ''] + - [C99, stdint.h, PTRDIFF_MIN, ''] + - [C99, stdint.h, PTRDIFF_MAX, ''] + - [C99, stdint.h, SIG_ATOMIC_MIN, ''] + - [C99, stdint.h, SIG_ATOMIC_MAX, ''] + - [C99, stdint.h, SIZE_MAX, ''] + - [C99, stdint.h, WCHAR_MIN, ''] + - [C99, stdint.h, WCHAR_MAX, ''] + - [C99, stdint.h, WINT_MIN, ''] + - [C99, stdint.h, WINT_MAX, ''] + - [C99, stdint.h, INTN_C, (value)] + - [C99, stdint.h, UINTN_C, (value)] + - [C99, stdint.h, INTMAX_C, (value)] + - [C99, stdint.h, UINTMAX_C, (value)] + - [C99, stdio.h, 'NULL', ''] + - [C99, stdio.h, _IOFBF, ''] + - [C99, stdio.h, _IOLBF, ''] + - [C99, stdio.h, _IONBF, ''] + - [C99, stdio.h, BUFSIZ, ''] + - [C99, stdio.h, EOF, ''] + - [C99, stdio.h, FOPEN_MAX, ''] + - [C99, stdio.h, FILENAME_MAX, ''] + - [C99, stdio.h, L_tmpnam, ''] + - [C99, stdio.h, SEEK_CUR, ''] + - [C99, stdio.h, SEEK_END, ''] + - [C99, stdio.h, SEEK_SET, ''] + - [C99, stdio.h, TMP_MAX, ''] + - [C99, stdio.h, stderr, ''] + - [C99, stdio.h, stdin, ''] + - [C99, stdio.h, stdout, ''] + - [C99, stdlib.h, 'NULL', ''] + - [C99, stdlib.h, EXIT_FAILURE, ''] + - [C99, stdlib.h, EXIT_SUCCESS, ''] + - [C99, stdlib.h, RAND_MAX, ''] + - [C99, stdlib.h, MB_CUR_MAX, ''] + - [C99, string.h, 'NULL', ''] + - [C99, tgmath.h, acos, ''] + - [C99, tgmath.h, asin, ''] + - [C99, tgmath.h, atan, ''] + - [C99, tgmath.h, acosh, ''] + - [C99, tgmath.h, asinh, ''] + - [C99, tgmath.h, atanh, ''] + - [C99, tgmath.h, cos, ''] + - [C99, tgmath.h, sin, ''] + - [C99, tgmath.h, tan, ''] + - [C99, tgmath.h, cosh, ''] + - [C99, tgmath.h, sinh, ''] + - [C99, tgmath.h, tanh, ''] + - [C99, tgmath.h, exp, ''] + - [C99, tgmath.h, log, ''] + - [C99, tgmath.h, pow, ''] + - [C99, tgmath.h, sqrt, ''] + - [C99, tgmath.h, fabs, ''] + - [C99, tgmath.h, atan2, ''] + - [C99, tgmath.h, cbrt, ''] + - [C99, tgmath.h, ceil, ''] + - [C99, tgmath.h, copysign, ''] + - [C99, tgmath.h, erf, ''] + - [C99, tgmath.h, erfc, ''] + - [C99, tgmath.h, exp2, ''] + - [C99, tgmath.h, expm1, ''] + - [C99, tgmath.h, fdim, ''] + - [C99, tgmath.h, floor, ''] + - [C99, tgmath.h, fma, ''] + - [C99, tgmath.h, fmax, ''] + - [C99, tgmath.h, fmin, ''] + - [C99, tgmath.h, fmod, ''] + - [C99, tgmath.h, frexp, ''] + - [C99, tgmath.h, hypot, ''] + - [C99, tgmath.h, ilogb, ''] + - [C99, tgmath.h, ldexp, ''] + - [C99, tgmath.h, lgamma, ''] + - [C99, tgmath.h, llrint, ''] + - [C99, tgmath.h, llround, ''] + - [C99, tgmath.h, log10, ''] + - [C99, tgmath.h, log1p, ''] + - [C99, tgmath.h, log2, ''] + - [C99, tgmath.h, logb, ''] + - [C99, tgmath.h, lrint, ''] + - [C99, tgmath.h, lround, ''] + - [C99, tgmath.h, nearbyint, ''] + - [C99, tgmath.h, nextafter, ''] + - [C99, tgmath.h, nexttoward, ''] + - [C99, tgmath.h, remainder, ''] + - [C99, tgmath.h, remquo, ''] + - [C99, tgmath.h, rint, ''] + - [C99, tgmath.h, round, ''] + - [C99, tgmath.h, scalbn, ''] + - [C99, tgmath.h, scalbln, ''] + - [C99, tgmath.h, tgamma, ''] + - [C99, tgmath.h, trunc, ''] + - [C99, tgmath.h, carg, ''] + - [C99, tgmath.h, cimag, ''] + - [C99, tgmath.h, conj, ''] + - [C99, tgmath.h, cproj, ''] + - [C99, tgmath.h, creal, ''] + - [C99, time.h, 'NULL', ''] + - [C99, time.h, CLOCKS_PER_SEC, ''] + - [C99, wchar.h, 'NULL', ''] + - [C99, wchar.h, WCHAR_MAX, ''] + - [C99, wchar.h, WCHAR_MIN, ''] + - [C99, wchar.h, WEOF, ''] + - [C99, wctype.h, WEOF, ''] +- addsTo: {extensible: libraryObjectModel, pack: codeql/common-cpp-coding-standards} + data: [] +- addsTo: {extensible: libraryTypeModel, pack: codeql/common-cpp-coding-standards} + data: + - [C99, fenv.h, '', fenv_t] + - [C99, fenv.h, '', fexcept_t] + - [C99, inttypes.h, '', imaxdiv_t] + - [C99, locale.h, '', struct lconv] + - [C99, math.h, '', float_t] + - [C99, math.h, '', double_t] + - [C99, signal.h, '', sig_atomic_t] + - [C99, stddef.h, '', ptrdiff_t] + - [C99, stddef.h, '', size_t] + - [C99, stddef.h, '', wchar_t] + - [C99, stdint.h, '', int8_t] + - [C99, stdint.h, '', int16_t] + - [C99, stdint.h, '', int32_t] + - [C99, stdint.h, '', int64_t] + - [C99, stdint.h, '', uint8_t] + - [C99, stdint.h, '', uint16_t] + - [C99, stdint.h, '', uint32_t] + - [C99, stdint.h, '', uint64_t] + - [C99, stdint.h, '', int_least8_t] + - [C99, stdint.h, '', int_least16_t] + - [C99, stdint.h, '', int_least32_t] + - [C99, stdint.h, '', int_least64_t] + - [C99, stdint.h, '', uint_least8_t] + - [C99, stdint.h, '', uint_least16_t] + - [C99, stdint.h, '', uint_least32_t] + - [C99, stdint.h, '', uint_least64_t] + - [C99, stdint.h, '', int_fast8_t] + - [C99, stdint.h, '', int_fast16_t] + - [C99, stdint.h, '', int_fast32_t] + - [C99, stdint.h, '', int_fast64_t] + - [C99, stdint.h, '', uint_fast8_t] + - [C99, stdint.h, '', uint_fast16_t] + - [C99, stdint.h, '', uint_fast32_t] + - [C99, stdint.h, '', uint_fast64_t] + - [C99, stdint.h, '', intptr_t] + - [C99, stdint.h, '', uintptr_t] + - [C99, stdint.h, '', intmax_t] + - [C99, stdint.h, '', uintmax_t] + - [C99, stdio.h, '', size_t] + - [C99, stdio.h, '', FILE] + - [C99, stdio.h, '', fpos_t] + - [C99, stdlib.h, '', size_t] + - [C99, stdlib.h, '', wchar_t] + - [C99, stdlib.h, '', div_t] + - [C99, stdlib.h, '', ldiv_t] + - [C99, stdlib.h, '', lldiv_t] + - [C99, string.h, '', size_t] + - [C99, time.h, '', size_t] + - [C99, time.h, '', clock_t] + - [C99, time.h, '', time_t] + - [C99, time.h, '', struct tm] + - [C99, wchar.h, '', wchar_t] + - [C99, wchar.h, '', size_t] + - [C99, wchar.h, '', mbstate_t] + - [C99, wchar.h, '', wint_t] + - [C99, wchar.h, '', struct tm] + - [C99, wctype.h, '', wint_t] + - [C99, wctype.h, '', wctrans_t] + - [C99, wctype.h, '', wctype_t] +- addsTo: {extensible: libraryFunctionModel, pack: codeql/common-cpp-coding-standards} + data: + - [C99, assert.h, '', '', assert, void, (scalar expression), external] + - [C99, complex.h, '', '', cacos, double complex, (double complex z), external] + - [C99, complex.h, '', '', cacosf, float complex, (float complex z), external] + - [C99, complex.h, '', '', cacosl, long double complex, (long double complex z), external] + - [C99, complex.h, '', '', casin, double complex, (double complex z), external] + - [C99, complex.h, '', '', casinf, float complex, (float complex z), external] + - [C99, complex.h, '', '', casinl, long double complex, (long double complex z), external] + - [C99, complex.h, '', '', catan, double complex, (double complex z), external] + - [C99, complex.h, '', '', catanf, float complex, (float complex z), external] + - [C99, complex.h, '', '', catanl, long double complex, (long double complex z), external] + - [C99, complex.h, '', '', ccos, double complex, (double complex z), external] + - [C99, complex.h, '', '', ccosf, float complex, (float complex z), external] + - [C99, complex.h, '', '', ccosl, long double complex, (long double complex z), external] + - [C99, complex.h, '', '', csin, double complex, (double complex z), external] + - [C99, complex.h, '', '', csinf, float complex, (float complex z), external] + - [C99, complex.h, '', '', csinl, long double complex, (long double complex z), external] + - [C99, complex.h, '', '', ctan, double complex, (double complex z), external] + - [C99, complex.h, '', '', ctanf, float complex, (float complex z), external] + - [C99, complex.h, '', '', ctanl, long double complex, (long double complex z), external] + - [C99, complex.h, '', '', cacosh, double complex, (double complex z), external] + - [C99, complex.h, '', '', cacoshf, float complex, (float complex z), external] + - [C99, complex.h, '', '', cacoshl, long double complex, (long double complex z), external] + - [C99, complex.h, '', '', casinh, double complex, (double complex z), external] + - [C99, complex.h, '', '', casinhf, float complex, (float complex z), external] + - [C99, complex.h, '', '', casinhl, long double complex, (long double complex z), external] + - [C99, complex.h, '', '', catanh, double complex, (double complex z), external] + - [C99, complex.h, '', '', catanhf, float complex, (float complex z), external] + - [C99, complex.h, '', '', catanhl, long double complex, (long double complex z), external] + - [C99, complex.h, '', '', ccosh, double complex, (double complex z), external] + - [C99, complex.h, '', '', ccoshf, float complex, (float complex z), external] + - [C99, complex.h, '', '', ccoshl, long double complex, (long double complex z), external] + - [C99, complex.h, '', '', csinh, double complex, (double complex z), external] + - [C99, complex.h, '', '', csinhf, float complex, (float complex z), external] + - [C99, complex.h, '', '', csinhl, long double complex, (long double complex z), external] + - [C99, complex.h, '', '', ctanh, double complex, (double complex z), external] + - [C99, complex.h, '', '', ctanhf, float complex, (float complex z), external] + - [C99, complex.h, '', '', ctanhl, long double complex, (long double complex z), external] + - [C99, complex.h, '', '', cexp, double complex, (double complex z), external] + - [C99, complex.h, '', '', cexpf, float complex, (float complex z), external] + - [C99, complex.h, '', '', cexpl, long double complex, (long double complex z), external] + - [C99, complex.h, '', '', clog, double complex, (double complex z), external] + - [C99, complex.h, '', '', clogf, float complex, (float complex z), external] + - [C99, complex.h, '', '', clogl, long double complex, (long double complex z), external] + - [C99, complex.h, '', '', cabs, double, (double complex z), external] + - [C99, complex.h, '', '', cabsf, float, (float complex z), external] + - [C99, complex.h, '', '', cabsl, long double, (long double complex z), external] + - [C99, complex.h, '', '', cpow, double complex, '(double complex x, double complex y)', external] + - [C99, complex.h, '', '', cpowf, float complex, '(float complex x, float complex y)', external] + - [C99, complex.h, '', '', cpowl, long double complex, '(long double complex x,long double complex y)', external] + - [C99, complex.h, '', '', csqrt, double complex, (double complex z), external] + - [C99, complex.h, '', '', csqrtf, float complex, (float complex z), external] + - [C99, complex.h, '', '', csqrtl, long double complex, (long double complex z), external] + - [C99, complex.h, '', '', carg, double, (double complex z), external] + - [C99, complex.h, '', '', cargf, float, (float complex z), external] + - [C99, complex.h, '', '', cargl, long double, (long double complex z), external] + - [C99, complex.h, '', '', cimag, double, (double complex z), external] + - [C99, complex.h, '', '', cimagf, float, (float complex z), external] + - [C99, complex.h, '', '', cimagl, long double, (long double complex z), external] + - [C99, complex.h, '', '', conj, double complex, (double complex z), external] + - [C99, complex.h, '', '', conjf, float complex, (float complex z), external] + - [C99, complex.h, '', '', conjl, long double complex, (long double complex z), external] + - [C99, complex.h, '', '', cproj, double complex, (double complex z), external] + - [C99, complex.h, '', '', cprojf, float complex, (float complex z), external] + - [C99, complex.h, '', '', cprojl, long double complex, (long double complex z), external] + - [C99, complex.h, '', '', creal, double, (double complex z), external] + - [C99, complex.h, '', '', crealf, float, (float complex z), external] + - [C99, complex.h, '', '', creall, long double, (long double complex z), external] + - [C99, ctype.h, '', '', isalnum, int, (int c), external] + - [C99, ctype.h, '', '', isalpha, int, (int c), external] + - [C99, ctype.h, '', '', isblank, int, (int c), external] + - [C99, ctype.h, '', '', iscntrl, int, (int c), external] + - [C99, ctype.h, '', '', isdigit, int, (int c), external] + - [C99, ctype.h, '', '', isgraph, int, (int c), external] + - [C99, ctype.h, '', '', islower, int, (int c), external] + - [C99, ctype.h, '', '', isprint, int, (int c), external] + - [C99, ctype.h, '', '', ispunct, int, (int c), external] + - [C99, ctype.h, '', '', isspace, int, (int c), external] + - [C99, ctype.h, '', '', isupper, int, (int c), external] + - [C99, ctype.h, '', '', isxdigit, int, (int c), external] + - [C99, ctype.h, '', '', tolower, int, (int c), external] + - [C99, ctype.h, '', '', toupper, int, (int c), external] + - [C99, fenv.h, '', '', feclearexcept, int, (int excepts), external] + - [C99, fenv.h, '', '', fegetexceptflag, int, '(fexcept_t *flagp, int excepts)', external] + - [C99, fenv.h, '', '', feraiseexcept, int, (int excepts), external] + - [C99, fenv.h, '', '', fesetexceptflag, int, '(const fexcept_t *flagp,int excepts)', external] + - [C99, fenv.h, '', '', fetestexcept, int, (int excepts), external] + - [C99, fenv.h, '', '', fegetround, int, (void), external] + - [C99, fenv.h, '', '', fesetround, int, (int round), external] + - [C99, fenv.h, '', '', fegetenv, int, (fenv_t *envp), external] + - [C99, fenv.h, '', '', feholdexcept, int, (fenv_t *envp), external] + - [C99, fenv.h, '', '', fesetenv, int, (const fenv_t *envp), external] + - [C99, fenv.h, '', '', feupdateenv, int, (const fenv_t *envp), external] + - [C99, inttypes.h, '', '', imaxabs, intmax_t, (intmax_t j), external] + - [C99, inttypes.h, '', '', imaxdiv, imaxdiv_t, '(intmax_t numer, intmax_t denom)', external] + - [C99, inttypes.h, '', '', strtoimax, intmax_t, '(const char * restrict nptr,char ** restrict endptr, int base)', external] + - [C99, inttypes.h, '', '', strtoumax, uintmax_t, '(const char * restrict nptr,char ** restrict endptr, int base)', external] + - [C99, inttypes.h, '', '', wcstoimax, intmax_t, '(const wchar_t * restrict nptr,wchar_t ** restrict endptr, int base)', external] + - [C99, inttypes.h, '', '', wcstoumax, uintmax_t, '(const wchar_t * restrict nptr,wchar_t ** restrict endptr, int base)', external] + - [C99, locale.h, '', '', setlocale, char *, '(int category, const char *locale)', external] + - [C99, locale.h, '', '', localeconv, struct lconv *, (void), external] + - [C99, math.h, '', '', fpclassify, int, (real-floating x), external] + - [C99, math.h, '', '', isfinite, int, (real-floating x), external] + - [C99, math.h, '', '', isinf, int, (real-floating x), external] + - [C99, math.h, '', '', isnan, int, (real-floating x), external] + - [C99, math.h, '', '', isnormal, int, (real-floating x), external] + - [C99, math.h, '', '', signbit, int, (real-floating x), external] + - [C99, math.h, '', '', acos, double, (double x), external] + - [C99, math.h, '', '', acosf, float, (float x), external] + - [C99, math.h, '', '', acosl, long double, (long double x), external] + - [C99, math.h, '', '', asin, double, (double x), external] + - [C99, math.h, '', '', asinf, float, (float x), external] + - [C99, math.h, '', '', asinl, long double, (long double x), external] + - [C99, math.h, '', '', atan, double, (double x), external] + - [C99, math.h, '', '', atanf, float, (float x), external] + - [C99, math.h, '', '', atanl, long double, (long double x), external] + - [C99, math.h, '', '', atan2, double, '(double y, double x)', external] + - [C99, math.h, '', '', atan2f, float, '(float y, float x)', external] + - [C99, math.h, '', '', atan2l, long double, '(long double y, long double x)', external] + - [C99, math.h, '', '', cos, double, (double x), external] + - [C99, math.h, '', '', cosf, float, (float x), external] + - [C99, math.h, '', '', cosl, long double, (long double x), external] + - [C99, math.h, '', '', sin, double, (double x), external] + - [C99, math.h, '', '', sinf, float, (float x), external] + - [C99, math.h, '', '', sinl, long double, (long double x), external] + - [C99, math.h, '', '', tan, double, (double x), external] + - [C99, math.h, '', '', tanf, float, (float x), external] + - [C99, math.h, '', '', tanl, long double, (long double x), external] + - [C99, math.h, '', '', acosh, double, (double x), external] + - [C99, math.h, '', '', acoshf, float, (float x), external] + - [C99, math.h, '', '', acoshl, long double, (long double x), external] + - [C99, math.h, '', '', asinh, double, (double x), external] + - [C99, math.h, '', '', asinhf, float, (float x), external] + - [C99, math.h, '', '', asinhl, long double, (long double x), external] + - [C99, math.h, '', '', atanh, double, (double x), external] + - [C99, math.h, '', '', atanhf, float, (float x), external] + - [C99, math.h, '', '', atanhl, long double, (long double x), external] + - [C99, math.h, '', '', cosh, double, (double x), external] + - [C99, math.h, '', '', coshf, float, (float x), external] + - [C99, math.h, '', '', coshl, long double, (long double x), external] + - [C99, math.h, '', '', sinh, double, (double x), external] + - [C99, math.h, '', '', sinhf, float, (float x), external] + - [C99, math.h, '', '', sinhl, long double, (long double x), external] + - [C99, math.h, '', '', tanh, double, (double x), external] + - [C99, math.h, '', '', tanhf, float, (float x), external] + - [C99, math.h, '', '', tanhl, long double, (long double x), external] + - [C99, math.h, '', '', exp, double, (double x), external] + - [C99, math.h, '', '', expf, float, (float x), external] + - [C99, math.h, '', '', expl, long double, (long double x), external] + - [C99, math.h, '', '', exp2, double, (double x), external] + - [C99, math.h, '', '', exp2f, float, (float x), external] + - [C99, math.h, '', '', exp2l, long double, (long double x), external] + - [C99, math.h, '', '', expm1, double, (double x), external] + - [C99, math.h, '', '', expm1f, float, (float x), external] + - [C99, math.h, '', '', expm1l, long double, (long double x), external] + - [C99, math.h, '', '', frexp, double, '(double value, int *exp)', external] + - [C99, math.h, '', '', frexpf, float, '(float value, int *exp)', external] + - [C99, math.h, '', '', frexpl, long double, '(long double value, int *exp)', external] + - [C99, math.h, '', '', ilogb, int, (double x), external] + - [C99, math.h, '', '', ilogbf, int, (float x), external] + - [C99, math.h, '', '', ilogbl, int, (long double x), external] + - [C99, math.h, '', '', ldexp, double, '(double x, int exp)', external] + - [C99, math.h, '', '', ldexpf, float, '(float x, int exp)', external] + - [C99, math.h, '', '', ldexpl, long double, '(long double x, int exp)', external] + - [C99, math.h, '', '', log, double, (double x), external] + - [C99, math.h, '', '', logf, float, (float x), external] + - [C99, math.h, '', '', logl, long double, (long double x), external] + - [C99, math.h, '', '', log10, double, (double x), external] + - [C99, math.h, '', '', log10f, float, (float x), external] + - [C99, math.h, '', '', log10l, long double, (long double x), external] + - [C99, math.h, '', '', log1p, double, (double x), external] + - [C99, math.h, '', '', log1pf, float, (float x), external] + - [C99, math.h, '', '', log1pl, long double, (long double x), external] + - [C99, math.h, '', '', log2, double, (double x), external] + - [C99, math.h, '', '', log2f, float, (float x), external] + - [C99, math.h, '', '', log2l, long double, (long double x), external] + - [C99, math.h, '', '', logb, double, (double x), external] + - [C99, math.h, '', '', logbf, float, (float x), external] + - [C99, math.h, '', '', logbl, long double, (long double x), external] + - [C99, math.h, '', '', modf, double, '(double value, double *iptr)', external] + - [C99, math.h, '', '', modff, float, '(float value, float *iptr)', external] + - [C99, math.h, '', '', modfl, long double, '(long double value, long double *iptr)', external] + - [C99, math.h, '', '', scalbn, double, '(double x, int n)', external] + - [C99, math.h, '', '', scalbnf, float, '(float x, int n)', external] + - [C99, math.h, '', '', scalbnl, long double, '(long double x, int n)', external] + - [C99, math.h, '', '', scalbln, double, '(double x, long int n)', external] + - [C99, math.h, '', '', scalblnf, float, '(float x, long int n)', external] + - [C99, math.h, '', '', scalblnl, long double, '(long double x, long int n)', external] + - [C99, math.h, '', '', cbrt, double, (double x), external] + - [C99, math.h, '', '', cbrtf, float, (float x), external] + - [C99, math.h, '', '', cbrtl, long double, (long double x), external] + - [C99, math.h, '', '', fabs, double, (double x), external] + - [C99, math.h, '', '', fabsf, float, (float x), external] + - [C99, math.h, '', '', fabsl, long double, (long double x), external] + - [C99, math.h, '', '', hypot, double, '(double x, double y)', external] + - [C99, math.h, '', '', hypotf, float, '(float x, float y)', external] + - [C99, math.h, '', '', hypotl, long double, '(long double x, long double y)', external] + - [C99, math.h, '', '', pow, double, '(double x, double y)', external] + - [C99, math.h, '', '', powf, float, '(float x, float y)', external] + - [C99, math.h, '', '', powl, long double, '(long double x, long double y)', external] + - [C99, math.h, '', '', sqrt, double, (double x), external] + - [C99, math.h, '', '', sqrtf, float, (float x), external] + - [C99, math.h, '', '', sqrtl, long double, (long double x), external] + - [C99, math.h, '', '', erf, double, (double x), external] + - [C99, math.h, '', '', erff, float, (float x), external] + - [C99, math.h, '', '', erfl, long double, (long double x), external] + - [C99, math.h, '', '', erfc, double, (double x), external] + - [C99, math.h, '', '', erfcf, float, (float x), external] + - [C99, math.h, '', '', erfcl, long double, (long double x), external] + - [C99, math.h, '', '', lgamma, double, (double x), external] + - [C99, math.h, '', '', lgammaf, float, (float x), external] + - [C99, math.h, '', '', lgammal, long double, (long double x), external] + - [C99, math.h, '', '', tgamma, double, (double x), external] + - [C99, math.h, '', '', tgammaf, float, (float x), external] + - [C99, math.h, '', '', tgammal, long double, (long double x), external] + - [C99, math.h, '', '', ceil, double, (double x), external] + - [C99, math.h, '', '', ceilf, float, (float x), external] + - [C99, math.h, '', '', ceill, long double, (long double x), external] + - [C99, math.h, '', '', floor, double, (double x), external] + - [C99, math.h, '', '', floorf, float, (float x), external] + - [C99, math.h, '', '', floorl, long double, (long double x), external] + - [C99, math.h, '', '', nearbyint, double, (double x), external] + - [C99, math.h, '', '', nearbyintf, float, (float x), external] + - [C99, math.h, '', '', nearbyintl, long double, (long double x), external] + - [C99, math.h, '', '', rint, double, (double x), external] + - [C99, math.h, '', '', rintf, float, (float x), external] + - [C99, math.h, '', '', rintl, long double, (long double x), external] + - [C99, math.h, '', '', lrint, long int, (double x), external] + - [C99, math.h, '', '', lrintf, long int, (float x), external] + - [C99, math.h, '', '', lrintl, long int, (long double x), external] + - [C99, math.h, '', '', llrint, long long int, (double x), external] + - [C99, math.h, '', '', llrintf, long long int, (float x), external] + - [C99, math.h, '', '', llrintl, long long int, (long double x), external] + - [C99, math.h, '', '', round, double, (double x), external] + - [C99, math.h, '', '', roundf, float, (float x), external] + - [C99, math.h, '', '', roundl, long double, (long double x), external] + - [C99, math.h, '', '', lround, long int, (double x), external] + - [C99, math.h, '', '', lroundf, long int, (float x), external] + - [C99, math.h, '', '', lroundl, long int, (long double x), external] + - [C99, math.h, '', '', llround, long long int, (double x), external] + - [C99, math.h, '', '', llroundf, long long int, (float x), external] + - [C99, math.h, '', '', llroundl, long long int, (long double x), external] + - [C99, math.h, '', '', trunc, double, (double x), external] + - [C99, math.h, '', '', truncf, float, (float x), external] + - [C99, math.h, '', '', truncl, long double, (long double x), external] + - [C99, math.h, '', '', fmod, double, '(double x, double y)', external] + - [C99, math.h, '', '', fmodf, float, '(float x, float y)', external] + - [C99, math.h, '', '', fmodl, long double, '(long double x, long double y)', external] + - [C99, math.h, '', '', remainder, double, '(double x, double y)', external] + - [C99, math.h, '', '', remainderf, float, '(float x, float y)', external] + - [C99, math.h, '', '', remainderl, long double, '(long double x, long double y)', external] + - [C99, math.h, '', '', remquo, double, '(double x, double y, int *quo)', external] + - [C99, math.h, '', '', remquof, float, '(float x, float y, int *quo)', external] + - [C99, math.h, '', '', remquol, long double, '(long double x, long double y,int *quo)', external] + - [C99, math.h, '', '', copysign, double, '(double x, double y)', external] + - [C99, math.h, '', '', copysignf, float, '(float x, float y)', external] + - [C99, math.h, '', '', copysignl, long double, '(long double x, long double y)', external] + - [C99, math.h, '', '', nan, double, (const char *tagp), external] + - [C99, math.h, '', '', nanf, float, (const char *tagp), external] + - [C99, math.h, '', '', nanl, long double, (const char *tagp), external] + - [C99, math.h, '', '', nextafter, double, '(double x, double y)', external] + - [C99, math.h, '', '', nextafterf, float, '(float x, float y)', external] + - [C99, math.h, '', '', nextafterl, long double, '(long double x, long double y)', external] + - [C99, math.h, '', '', nexttoward, double, '(double x, long double y)', external] + - [C99, math.h, '', '', nexttowardf, float, '(float x, long double y)', external] + - [C99, math.h, '', '', nexttowardl, long double, '(long double x, long double y)', external] + - [C99, math.h, '', '', fdim, double, '(double x, double y)', external] + - [C99, math.h, '', '', fdimf, float, '(float x, float y)', external] + - [C99, math.h, '', '', fdiml, long double, '(long double x, long double y)', external] + - [C99, math.h, '', '', fmax, double, '(double x, double y)', external] + - [C99, math.h, '', '', fmaxf, float, '(float x, float y)', external] + - [C99, math.h, '', '', fmaxl, long double, '(long double x, long double y)', external] + - [C99, math.h, '', '', fmin, double, '(double x, double y)', external] + - [C99, math.h, '', '', fminf, float, '(float x, float y)', external] + - [C99, math.h, '', '', fminl, long double, '(long double x, long double y)', external] + - [C99, math.h, '', '', fma, double, '(double x, double y, double z)', external] + - [C99, math.h, '', '', fmaf, float, '(float x, float y, float z)', external] + - [C99, math.h, '', '', fmal, long double, '(long double x, long double y,long double z)', external] + - [C99, math.h, '', '', isgreater, int, '(real-floating x, real-floating y)', external] + - [C99, math.h, '', '', isgreaterequal, int, '(real-floating x, real-floating y)', external] + - [C99, math.h, '', '', isless, int, '(real-floating x, real-floating y)', external] + - [C99, math.h, '', '', islessequal, int, '(real-floating x, real-floating y)', external] + - [C99, math.h, '', '', islessgreater, int, '(real-floating x, real-floating y)', external] + - [C99, math.h, '', '', isunordered, int, '(real-floating x, real-floating y)', external] + - [C99, setjmp.h, '', '', setjmp, int, (jmp_buf env), external] + - [C99, setjmp.h, '', '', longjmp, void, '(jmp_buf env, int val)', external] + - [C99, signal.h, '', '', signal, void (*signal)(int), '(int sig, void (*func)(int))', external] + - [C99, signal.h, '', '', raise, int, (int sig), external] + - [C99, stdarg.h, '', '', va_arg, type, '(va_list ap, type)', external] + - [C99, stdarg.h, '', '', va_copy, void, '(va_list dest, va_list src)', external] + - [C99, stdarg.h, '', '', va_end, void, (va_list ap), external] + - [C99, stdarg.h, '', '', va_start, void, '(va_list ap, parmN)', external] + - [C99, stdio.h, '', '', remove, int, (const char *filename), external] + - [C99, stdio.h, '', '', rename, int, '(const char *old, const char *new)', external] + - [C99, stdio.h, '', '', tmpfile, FILE *, (void), external] + - [C99, stdio.h, '', '', tmpnam, char *, (char *s), external] + - [C99, stdio.h, '', '', fclose, int, (FILE *stream), external] + - [C99, stdio.h, '', '', fflush, int, (FILE *stream), external] + - [C99, stdio.h, '', '', fopen, FILE *, '(const char * restrict filename,const char * restrict mode)', external] + - [C99, stdio.h, '', '', freopen, FILE *, '(const char * restrict filename,const char * restrict mode,FILE * restrict stream)', external] + - [C99, stdio.h, '', '', setbuf, void, '(FILE * restrict stream,char * restrict buf)', external] + - [C99, stdio.h, '', '', setvbuf, int, '(FILE * restrict stream,char * restrict buf,int mode, size_t size)', external] + - [C99, stdio.h, '', '', fprintf, int, '(FILE * restrict stream,const char * restrict format, ...)', external] + - [C99, stdio.h, '', '', fscanf, int, '(FILE * restrict stream,const char * restrict format, ...)', external] + - [C99, stdio.h, '', '', printf, int, '(const char * restrict format, ...)', external] + - [C99, stdio.h, '', '', scanf, int, '(const char * restrict format, ...)', external] + - [C99, stdio.h, '', '', snprintf, int, '(char * restrict s, size_t n,const char * restrict format, ...)', external] + - [C99, stdio.h, '', '', sprintf, int, '(char * restrict s,const char * restrict format, ...)', external] + - [C99, stdio.h, '', '', sscanf, int, '(const char * restrict s,const char * restrict format, ...)', external] + - [C99, stdio.h, '', '', vfprintf, int, '(FILE * restrict stream,const char * restrict format, va_list arg)', external] + - [C99, stdio.h, '', '', vfscanf, int, '(FILE * restrict stream,const char * restrict format, va_list arg)', external] + - [C99, stdio.h, '', '', vprintf, int, '(const char * restrict format, va_list arg)', external] + - [C99, stdio.h, '', '', vscanf, int, '(const char * restrict format, va_list arg)', external] + - [C99, stdio.h, '', '', vsnprintf, int, '(char * restrict s, size_t n,const char * restrict format, va_list arg)', external] + - [C99, stdio.h, '', '', vsprintf, int, '(char * restrict s,const char * restrict format, va_list arg)', external] + - [C99, stdio.h, '', '', vsscanf, int, '(const char * restrict s,const char * restrict format, va_list arg)', external] + - [C99, stdio.h, '', '', fgetc, int, (FILE *stream), external] + - [C99, stdio.h, '', '', fgets, char *, '(char * restrict s, int n,FILE * restrict stream)', external] + - [C99, stdio.h, '', '', fputc, int, '(int c, FILE *stream)', external] + - [C99, stdio.h, '', '', fputs, int, '(const char * restrict s,FILE * restrict stream)', external] + - [C99, stdio.h, '', '', getc, int, (FILE *stream), external] + - [C99, stdio.h, '', '', getchar, int, (void), external] + - [C99, stdio.h, '', '', gets, char *, (char *s), external] + - [C99, stdio.h, '', '', putc, int, '(int c, FILE *stream)', external] + - [C99, stdio.h, '', '', putchar, int, (int c), external] + - [C99, stdio.h, '', '', puts, int, (const char *s), external] + - [C99, stdio.h, '', '', ungetc, int, '(int c, FILE *stream)', external] + - [C99, stdio.h, '', '', fread, size_t, '(void * restrict ptr,size_t size, size_t nmemb,FILE * restrict stream)', external] + - [C99, stdio.h, '', '', fwrite, size_t, '(const void * restrict ptr,size_t size, size_t nmemb,FILE * restrict stream)', external] + - [C99, stdio.h, '', '', fgetpos, int, '(FILE * restrict stream,fpos_t * restrict pos)', external] + - [C99, stdio.h, '', '', fseek, int, '(FILE *stream, long int offset, int whence)', external] + - [C99, stdio.h, '', '', fsetpos, int, '(FILE *stream, const fpos_t *pos)', external] + - [C99, stdio.h, '', '', ftell, long int, (FILE *stream), external] + - [C99, stdio.h, '', '', rewind, void, (FILE *stream), external] + - [C99, stdio.h, '', '', clearerr, void, (FILE *stream), external] + - [C99, stdio.h, '', '', feof, int, (FILE *stream), external] + - [C99, stdio.h, '', '', ferror, int, (FILE *stream), external] + - [C99, stdio.h, '', '', perror, void, (const char *s), external] + - [C99, stdlib.h, '', '', atof, double, (const char *nptr), external] + - [C99, stdlib.h, '', '', atoi, int, (const char *nptr), external] + - [C99, stdlib.h, '', '', atol, long int, (const char *nptr), external] + - [C99, stdlib.h, '', '', atoll, long long int, (const char *nptr), external] + - [C99, stdlib.h, '', '', strtod, double, '(const char * restrict nptr,char ** restrict endptr)', external] + - [C99, stdlib.h, '', '', strtof, float, '(const char * restrict nptr,char ** restrict endptr)', external] + - [C99, stdlib.h, '', '', strtold, long double, '(const char * restrict nptr,char ** restrict endptr)', external] + - [C99, stdlib.h, '', '', strtol, long int, '(const char * restrict nptr,char ** restrict endptr, int base)', external] + - [C99, stdlib.h, '', '', strtoll, long long int, '(const char * restrict nptr,char ** restrict endptr, int base)', external] + - [C99, stdlib.h, '', '', strtoul, unsigned long int, '(const char * restrict nptr,char ** restrict endptr, int base)', external] + - [C99, stdlib.h, '', '', strtoull, unsigned long long int, '(const char * restrict nptr,char ** restrict endptr, int base)', external] + - [C99, stdlib.h, '', '', rand, int, (void), external] + - [C99, stdlib.h, '', '', srand, void, (unsigned int seed), external] + - [C99, stdlib.h, '', '', calloc, void *, '(size_t nmemb, size_t size)', external] + - [C99, stdlib.h, '', '', free, void, (void *ptr), external] + - [C99, stdlib.h, '', '', malloc, void *, (size_t size), external] + - [C99, stdlib.h, '', '', realloc, void *, '(void *ptr, size_t size)', external] + - [C99, stdlib.h, '', '', abort, void, (void), external] + - [C99, stdlib.h, '', '', atexit, int, (void (*func)(void)), external] + - [C99, stdlib.h, '', '', exit, void, (int status), external] + - [C99, stdlib.h, '', '', _Exit, void, (int status), external] + - [C99, stdlib.h, '', '', getenv, char *, (const char *name), external] + - [C99, stdlib.h, '', '', system, int, (const char *string), external] + - [C99, stdlib.h, '', '', bsearch, void *, '(const void *key, const void *base,size_t nmemb, size_t size,int (*compar)(const void *, const void *))', external] + - [C99, stdlib.h, '', '', qsort, void, '(void *base, size_t nmemb, size_t size,int (*compar)(const void *, const void *))', external] + - [C99, stdlib.h, '', '', abs, int, (int j), external] + - [C99, stdlib.h, '', '', labs, long int, (long int j), external] + - [C99, stdlib.h, '', '', llabs, long long int, (long long int j), external] + - [C99, stdlib.h, '', '', div, div_t, '(int numer, int denom)', external] + - [C99, stdlib.h, '', '', ldiv, ldiv_t, '(long int numer, long int denom)', external] + - [C99, stdlib.h, '', '', lldiv, lldiv_t, '(long long int numer,long long int denom)', external] + - [C99, stdlib.h, '', '', mblen, int, '(const char *s, size_t n)', external] + - [C99, stdlib.h, '', '', mbtowc, int, '(wchar_t * restrict pwc,const char * restrict s, size_t n)', external] + - [C99, stdlib.h, '', '', wctomb, int, '(char *s, wchar_t wchar)', external] + - [C99, stdlib.h, '', '', mbstowcs, size_t, '(wchar_t * restrict pwcs,const char * restrict s, size_t n)', external] + - [C99, stdlib.h, '', '', wcstombs, size_t, '(char * restrict s,const wchar_t * restrict pwcs, size_t n)', external] + - [C99, string.h, '', '', memcpy, void *, '(void * restrict s1,const void * restrict s2, size_t n)', external] + - [C99, string.h, '', '', memmove, void *, '(void *s1, const void *s2, size_t n)', external] + - [C99, string.h, '', '', strcpy, char *, '(char * restrict s1,const char * restrict s2)', external] + - [C99, string.h, '', '', strncpy, char *, '(char * restrict s1,const char * restrict s2, size_t n)', external] + - [C99, string.h, '', '', strcat, char *, '(char * restrict s1,const char * restrict s2)', external] + - [C99, string.h, '', '', strncat, char *, '(char * restrict s1,const char * restrict s2, size_t n)', external] + - [C99, string.h, '', '', memcmp, int, '(const void *s1, const void *s2, size_t n)', external] + - [C99, string.h, '', '', strcmp, int, '(const char *s1, const char *s2)', external] + - [C99, string.h, '', '', strcoll, int, '(const char *s1, const char *s2)', external] + - [C99, string.h, '', '', strncmp, int, '(const char *s1, const char *s2, size_t n)', external] + - [C99, string.h, '', '', strxfrm, size_t, '(char * restrict s1,const char * restrict s2, size_t n)', external] + - [C99, string.h, '', '', memchr, void *, '(const void *s, int c, size_t n)', external] + - [C99, string.h, '', '', strchr, char *, '(const char *s, int c)', external] + - [C99, string.h, '', '', strcspn, size_t, '(const char *s1, const char *s2)', external] + - [C99, string.h, '', '', strpbrk, char *, '(const char *s1, const char *s2)', external] + - [C99, string.h, '', '', strrchr, char *, '(const char *s, int c)', external] + - [C99, string.h, '', '', strspn, size_t, '(const char *s1, const char *s2)', external] + - [C99, string.h, '', '', strstr, char *, '(const char *s1, const char *s2)', external] + - [C99, string.h, '', '', strtok, char *, '(char * restrict s1,const char * restrict s2)', external] + - [C99, string.h, '', '', memset, void *, '(void *s, int c, size_t n)', external] + - [C99, string.h, '', '', strerror, char *, (int errnum), external] + - [C99, string.h, '', '', strlen, size_t, (const char *s), external] + - [C99, time.h, '', '', clock, clock_t, (void), external] + - [C99, time.h, '', '', difftime, double, '(time_t time1, time_t time0)', external] + - [C99, time.h, '', '', mktime, time_t, (struct tm *timeptr), external] + - [C99, time.h, '', '', time, time_t, (time_t *timer), external] + - [C99, time.h, '', '', asctime, char *, (const struct tm *timeptr), external] + - [C99, time.h, '', '', ctime, char *, (const time_t *timer), external] + - [C99, time.h, '', '', gmtime, struct tm *, (const time_t *timer), external] + - [C99, time.h, '', '', localtime, struct tm *, (const time_t *timer), external] + - [C99, time.h, '', '', strftime, size_t, '(char * restrict s,size_t maxsize,const char * restrict format,const struct tm * restrict timeptr)', external] + - [C99, wchar.h, '', '', fwprintf, int, '(FILE * restrict stream,const wchar_t * restrict format, ...)', external] + - [C99, wchar.h, '', '', fwscanf, int, '(FILE * restrict stream,const wchar_t * restrict format, ...)', external] + - [C99, wchar.h, '', '', swprintf, int, '(wchar_t * restrict s, size_t n,const wchar_t * restrict format, ...)', external] + - [C99, wchar.h, '', '', swscanf, int, '(const wchar_t * restrict s,const wchar_t * restrict format, ...)', external] + - [C99, wchar.h, '', '', vfwprintf, int, '(FILE * restrict stream,const wchar_t * restrict format, va_list arg)', external] + - [C99, wchar.h, '', '', vfwscanf, int, '(FILE * restrict stream,const wchar_t * restrict format, va_list arg)', external] + - [C99, wchar.h, '', '', vswprintf, int, '(wchar_t * restrict s, size_t n,const wchar_t * restrict format, va_list arg)', external] + - [C99, wchar.h, '', '', vswscanf, int, '(const wchar_t * restrict s,const wchar_t * restrict format, va_list arg)', external] + - [C99, wchar.h, '', '', vwprintf, int, '(const wchar_t * restrict format,va_list arg)', external] + - [C99, wchar.h, '', '', vwscanf, int, '(const wchar_t * restrict format,va_list arg)', external] + - [C99, wchar.h, '', '', wprintf, int, '(const wchar_t * restrict format, ...)', external] + - [C99, wchar.h, '', '', wscanf, int, '(const wchar_t * restrict format, ...)', external] + - [C99, wchar.h, '', '', fgetwc, wint_t, (FILE *stream), external] + - [C99, wchar.h, '', '', fgetws, wchar_t *, '(wchar_t * restrict s, int n,FILE * restrict stream)', external] + - [C99, wchar.h, '', '', fputwc, wint_t, '(wchar_t c, FILE *stream)', external] + - [C99, wchar.h, '', '', fputws, int, '(const wchar_t * restrict s,FILE * restrict stream)', external] + - [C99, wchar.h, '', '', fwide, int, '(FILE *stream, int mode)', external] + - [C99, wchar.h, '', '', getwc, wint_t, (FILE *stream), external] + - [C99, wchar.h, '', '', getwchar, wint_t, (void), external] + - [C99, wchar.h, '', '', putwc, wint_t, '(wchar_t c, FILE *stream)', external] + - [C99, wchar.h, '', '', putwchar, wint_t, (wchar_t c), external] + - [C99, wchar.h, '', '', ungetwc, wint_t, '(wint_t c, FILE *stream)', external] + - [C99, wchar.h, '', '', wcstod, double, '(const wchar_t * restrict nptr,wchar_t ** restrict endptr)', external] + - [C99, wchar.h, '', '', wcstof, float, '(const wchar_t * restrict nptr,wchar_t ** restrict endptr)', external] + - [C99, wchar.h, '', '', wcstold, long double, '(const wchar_t * restrict nptr,wchar_t ** restrict endptr)', external] + - [C99, wchar.h, '', '', wcstol, long int, '(const wchar_t * restrict nptr,wchar_t ** restrict endptr, int base)', external] + - [C99, wchar.h, '', '', wcstoll, long long int, '(const wchar_t * restrict nptr,wchar_t ** restrict endptr, int base)', external] + - [C99, wchar.h, '', '', wcstoul, unsigned long int, '(const wchar_t * restrict nptr,wchar_t ** restrict endptr, int base)', external] + - [C99, wchar.h, '', '', wcstoull, unsigned long long int, '(const wchar_t * restrict nptr,wchar_t ** restrict endptr, int base)', external] + - [C99, wchar.h, '', '', wcscpy, wchar_t *, '(wchar_t * restrict s1,const wchar_t * restrict s2)', external] + - [C99, wchar.h, '', '', wcsncpy, wchar_t *, '(wchar_t * restrict s1,const wchar_t * restrict s2, size_t n)', external] + - [C99, wchar.h, '', '', wmemcpy, wchar_t *, '(wchar_t * restrict s1,const wchar_t * restrict s2, size_t n)', external] + - [C99, wchar.h, '', '', wmemmove, wchar_t *, '(wchar_t *s1, const wchar_t *s2,size_t n)', external] + - [C99, wchar.h, '', '', wcscat, wchar_t *, '(wchar_t * restrict s1,const wchar_t * restrict s2)', external] + - [C99, wchar.h, '', '', wcsncat, wchar_t *, '(wchar_t * restrict s1,const wchar_t * restrict s2, size_t n)', external] + - [C99, wchar.h, '', '', wcscmp, int, '(const wchar_t *s1, const wchar_t *s2)', external] + - [C99, wchar.h, '', '', wcscoll, int, '(const wchar_t *s1, const wchar_t *s2)', external] + - [C99, wchar.h, '', '', wcsncmp, int, '(const wchar_t *s1, const wchar_t *s2,size_t n)', external] + - [C99, wchar.h, '', '', wcsxfrm, size_t, '(wchar_t * restrict s1,const wchar_t * restrict s2, size_t n)', external] + - [C99, wchar.h, '', '', wmemcmp, int, '(const wchar_t *s1, const wchar_t *s2,size_t n)', external] + - [C99, wchar.h, '', '', wcschr, wchar_t *, '(const wchar_t *s, wchar_t c)', external] + - [C99, wchar.h, '', '', wcscspn, size_t, '(const wchar_t *s1, const wchar_t *s2)', external] + - [C99, wchar.h, '', '', wcspbrk, wchar_t *, '(const wchar_t *s1, const wchar_t *s2)', external] + - [C99, wchar.h, '', '', wcsrchr, wchar_t *, '(const wchar_t *s, wchar_t c)', external] + - [C99, wchar.h, '', '', wcsspn, size_t, '(const wchar_t *s1, const wchar_t *s2)', external] + - [C99, wchar.h, '', '', wcsstr, wchar_t *, '(const wchar_t *s1, const wchar_t *s2)', external] + - [C99, wchar.h, '', '', wcstok, wchar_t *, '(wchar_t * restrict s1,const wchar_t * restrict s2,wchar_t ** restrict ptr)', external] + - [C99, wchar.h, '', '', wmemchr, wchar_t *, '(const wchar_t *s, wchar_t c, size_t n)', external] + - [C99, wchar.h, '', '', wcslen, size_t, (const wchar_t *s), external] + - [C99, wchar.h, '', '', wmemset, wchar_t *, '(wchar_t *s, wchar_t c, size_t n)', external] + - [C99, wchar.h, '', '', wcsftime, size_t, '(wchar_t * restrict s, size_t maxsize,const wchar_t * restrict format,const struct tm * restrict timeptr)', external] + - [C99, wchar.h, '', '', btowc, wint_t, (int c), external] + - [C99, wchar.h, '', '', wctob, int, (wint_t c), external] + - [C99, wchar.h, '', '', mbsinit, int, (const mbstate_t *ps), external] + - [C99, wchar.h, '', '', mbrlen, size_t, '(const char * restrict s, size_t n,mbstate_t * restrict ps)', external] + - [C99, wchar.h, '', '', mbrtowc, size_t, '(wchar_t * restrict pwc,const char * restrict s, size_t n,mbstate_t * restrict ps)', external] + - [C99, wchar.h, '', '', wcrtomb, size_t, '(char * restrict s, wchar_t wc,mbstate_t * restrict ps)', external] + - [C99, wchar.h, '', '', mbsrtowcs, size_t, '(wchar_t * restrict dst,const char ** restrict src, size_t len,mbstate_t * restrict ps)', external] + - [C99, wchar.h, '', '', wcsrtombs, size_t, '(char * restrict dst,const wchar_t ** restrict src, size_t len,mbstate_t * restrict ps)', external] + - [C99, wctype.h, '', '', iswalnum, int, (wint_t wc), external] + - [C99, wctype.h, '', '', iswalpha, int, (wint_t wc), external] + - [C99, wctype.h, '', '', iswblank, int, (wint_t wc), external] + - [C99, wctype.h, '', '', iswcntrl, int, (wint_t wc), external] + - [C99, wctype.h, '', '', iswdigit, int, (wint_t wc), external] + - [C99, wctype.h, '', '', iswgraph, int, (wint_t wc), external] + - [C99, wctype.h, '', '', iswlower, int, (wint_t wc), external] + - [C99, wctype.h, '', '', iswprint, int, (wint_t wc), external] + - [C99, wctype.h, '', '', iswpunct, int, (wint_t wc), external] + - [C99, wctype.h, '', '', iswspace, int, (wint_t wc), external] + - [C99, wctype.h, '', '', iswupper, int, (wint_t wc), external] + - [C99, wctype.h, '', '', iswxdigit, int, (wint_t wc), external] + - [C99, wctype.h, '', '', iswctype, int, '(wint_t wc, wctype_t desc)', external] + - [C99, wctype.h, '', '', wctype, wctype_t, (const char *property), external] + - [C99, wctype.h, '', '', towlower, wint_t, (wint_t wc), external] + - [C99, wctype.h, '', '', towupper, wint_t, (wint_t wc), external] + - [C99, wctype.h, '', '', towctrans, wint_t, '(wint_t wc, wctrans_t desc)', external] + - [C99, wctype.h, '', '', wctrans, wctrans_t, (const char *property), external] diff --git a/cpp/common/src/ext/stdc99.manual.names.model.yml b/cpp/common/src/ext/stdc99.manual.names.model.yml new file mode 100644 index 0000000000..085daa84db --- /dev/null +++ b/cpp/common/src/ext/stdc99.manual.names.model.yml @@ -0,0 +1,36 @@ +extensions: +- addsTo: {extensible: libraryMemberVariableModel, pack: codeql/common-cpp-coding-standards} + data: + - [C99, "time.h", "", "struct tm", "tm_sec", "int"] + - [C99, "time.h", "", "struct tm", "tm_min", "int"] + - [C99, "time.h", "", "struct tm", "tm_hour", "int"] + - [C99, "time.h", "", "struct tm", "tm_mday", "int"] + - [C99, "time.h", "", "struct tm", "tm_mon", "int"] + - [C99, "time.h", "", "struct tm", "tm_year", "int"] + - [C99, "time.h", "", "struct tm", "tm_wday", "int"] + - [C99, "time.h", "", "struct tm", "tm_yday", "int"] + - [C99, "time.h", "", "struct tm", "tm_isdst", "int"] + - [C99, "locale.h", "", "struct lconv", "decimal_point", "char *"] + - [C99, "locale.h", "", "struct lconv", "thousands_sep", "char *"] + - [C99, "locale.h", "", "struct lconv", "grouping", "char *"] + - [C99, "locale.h", "", "struct lconv", "mon_decimal_point", "char *"] + - [C99, "locale.h", "", "struct lconv", "mon_thousands_sep", "char *"] + - [C99, "locale.h", "", "struct lconv", "mon_grouping", "char *"] + - [C99, "locale.h", "", "struct lconv", "positive_sign", "char *"] + - [C99, "locale.h", "", "struct lconv", "negative_sign", "char *"] + - [C99, "locale.h", "", "struct lconv", "currency_symbol", "char *"] + - [C99, "locale.h", "", "struct lconv", "frac_digits", "char"] + - [C99, "locale.h", "", "struct lconv", "p_cs_precedes", "char"] + - [C99, "locale.h", "", "struct lconv", "n_cs_precedes", "char"] + - [C99, "locale.h", "", "struct lconv", "p_sep_by_space", "char"] + - [C99, "locale.h", "", "struct lconv", "n_sep_by_space", "char"] + - [C99, "locale.h", "", "struct lconv", "p_sign_posn", "char"] + - [C99, "locale.h", "", "struct lconv", "n_sign_posn", "char"] + - [C99, "locale.h", "", "struct lconv", "int_curr_symbol", "char *"] + - [C99, "locale.h", "", "struct lconv", "int_frac_digits", "char"] + - [C99, "locale.h", "", "struct lconv", "int_p_cs_precedes", "char"] + - [C99, "locale.h", "", "struct lconv", "int_n_cs_precedes", "char"] + - [C99, "locale.h", "", "struct lconv", "int_p_sep_by_space", "char"] + - [C99, "locale.h", "", "struct lconv", "int_n_sep_by_space", "char"] + - [C99, "locale.h", "", "struct lconv", "int_p_sign_posn", "char"] + - [C99, "locale.h", "", "struct lconv", "int_n_sign_posn", "char"] \ No newline at end of file diff --git a/cpp/common/src/ext/stdcpp14.generated.names.model.yml b/cpp/common/src/ext/stdcpp14.generated.names.model.yml new file mode 100644 index 0000000000..1e2e6d940e --- /dev/null +++ b/cpp/common/src/ext/stdcpp14.generated.names.model.yml @@ -0,0 +1,3913 @@ +extensions: +- addsTo: {extensible: libraryTypeModel, pack: codeql/common-cpp-coding-standards} + data: + - [C++14, atomic, std, atomic] + - [C++14, atomic, std, value_type] + - [C++14, atomic, std, difference_type] + - [C++14, atomic, std, atomic_flag] + - [C++14, atomic, std, memory_order] + - [C++14, atomic, std, atomic_uintmax_t] + - [C++14, atomic, std, atomic_intmax_t] + - [C++14, atomic, std, atomic_ptrdiff_t] + - [C++14, atomic, std, atomic_size_t] + - [C++14, atomic, std, atomic_uintptr_t] + - [C++14, atomic, std, atomic_intptr_t] + - [C++14, atomic, std, atomic_uint_fast64_t] + - [C++14, atomic, std, atomic_int_fast64_t] + - [C++14, atomic, std, atomic_uint_fast32_t] + - [C++14, atomic, std, atomic_int_fast32_t] + - [C++14, atomic, std, atomic_uint_fast16_t] + - [C++14, atomic, std, atomic_int_fast16_t] + - [C++14, atomic, std, atomic_uint_fast8_t] + - [C++14, atomic, std, atomic_int_fast8_t] + - [C++14, atomic, std, atomic_uint_least64_t] + - [C++14, atomic, std, atomic_int_least64_t] + - [C++14, atomic, std, atomic_uint_least32_t] + - [C++14, atomic, std, atomic_int_least32_t] + - [C++14, atomic, std, atomic_uint_least16_t] + - [C++14, atomic, std, atomic_int_least16_t] + - [C++14, atomic, std, atomic_uint_least8_t] + - [C++14, atomic, std, atomic_int_least8_t] + - [C++14, atomic, std, atomic_uint64_t] + - [C++14, atomic, std, atomic_int64_t] + - [C++14, atomic, std, atomic_uint32_t] + - [C++14, atomic, std, atomic_int32_t] + - [C++14, atomic, std, atomic_uint16_t] + - [C++14, atomic, std, atomic_int16_t] + - [C++14, atomic, std, atomic_uint8_t] + - [C++14, atomic, std, atomic_int8_t] + - [C++14, atomic, std, atomic_char32_t] + - [C++14, atomic, std, atomic_char16_t] + - [C++14, atomic, std, atomic_wchar_t] + - [C++14, atomic, std, atomic_ullong] + - [C++14, atomic, std, atomic_llong] + - [C++14, atomic, std, atomic_ulong] + - [C++14, atomic, std, atomic_long] + - [C++14, atomic, std, atomic_uint] + - [C++14, atomic, std, atomic_int] + - [C++14, atomic, std, atomic_ushort] + - [C++14, atomic, std, atomic_short] + - [C++14, atomic, std, atomic_uchar] + - [C++14, atomic, std, atomic_schar] + - [C++14, atomic, std, atomic_char] + - [C++14, atomic, std, atomic_bool] + - [C++14, thread, std, thread] + - [C++14, thread, std, id] + - [C++14, thread, std, native_handle_type] + - [C++14, initializer_list, std, value_type] + - [C++14, initializer_list, std, initializer_list] + - [C++14, initializer_list, std, const_iterator] + - [C++14, initializer_list, std, const_reference] + - [C++14, initializer_list, std, reference] + - [C++14, initializer_list, std, size_type] + - [C++14, initializer_list, std, iterator] + - [C++14, iterator, std, value_type] + - [C++14, iterator, std, reference] + - [C++14, iterator, std, iterator] + - [C++14, iterator, std, iterator_category] + - [C++14, iterator, std, random_access_iterator_tag] + - [C++14, iterator, std, bidirectional_iterator_tag] + - [C++14, iterator, std, forward_iterator_tag] + - [C++14, iterator, std, pointer] + - [C++14, iterator, std, difference_type] + - [C++14, iterator, std, output_iterator_tag] + - [C++14, iterator, std, input_iterator_tag] + - [C++14, iterator, std, int_type] + - [C++14, iterator, std, char_type] + - [C++14, iterator, std, traits_type] + - [C++14, iterator, std, ostreambuf_iterator] + - [C++14, iterator, std, istreambuf_iterator] + - [C++14, iterator, std, ostream_iterator] + - [C++14, iterator, std, istream_iterator] + - [C++14, iterator, std, ostream_type] + - [C++14, iterator, std, istream_type] + - [C++14, iterator, std, streambuf_type] + - [C++14, iterator, std, iterator_traits] + - [C++14, random, std, param_type] + - [C++14, random, std, distribution_type] + - [C++14, random, std, result_type] + - [C++14, random, std, seed_seq] + - [C++14, random, std, piecewise_linear_distribution] + - [C++14, random, std, piecewise_constant_distribution] + - [C++14, random, std, discrete_distribution] + - [C++14, random, std, extreme_value_distribution] + - [C++14, random, std, weibull_distribution] + - [C++14, random, std, exponential_distribution] + - [C++14, random, std, poisson_distribution] + - [C++14, random, std, negative_binomial_distribution] + - [C++14, random, std, geometric_distribution] + - [C++14, random, std, binomial_distribution] + - [C++14, random, std, bernoulli_distribution] + - [C++14, random, std, student_t_distribution] + - [C++14, random, std, fisher_f_distribution] + - [C++14, random, std, cauchy_distribution] + - [C++14, random, std, chi_squared_distribution] + - [C++14, random, std, gamma_distribution] + - [C++14, random, std, lognormal_distribution] + - [C++14, random, std, normal_distribution] + - [C++14, random, std, uniform_real_distribution] + - [C++14, random, std, random_device] + - [C++14, random, std, shuffle_order_engine] + - [C++14, random, std, independent_bits_engine] + - [C++14, random, std, discard_block_engine] + - [C++14, random, std, subtract_with_carry_engine] + - [C++14, random, std, mersenne_twister_engine] + - [C++14, random, std, linear_congruential_engine] + - [C++14, random, std, default_random_engine] + - [C++14, random, std, knuth_b] + - [C++14, random, std, ranlux48] + - [C++14, random, std, ranlux24] + - [C++14, random, std, ranlux48_base] + - [C++14, random, std, ranlux24_base] + - [C++14, random, std, mt19937_64] + - [C++14, random, std, mt19937] + - [C++14, random, std, minstd_rand] + - [C++14, random, std, minstd_rand0] + - [C++14, exception, std, exception] + - [C++14, exception, std, nested_exception] + - [C++14, exception, std, bad_exception] + - [C++14, exception, std, unexpected_handler] + - [C++14, exception, std, terminate_handler] + - [C++14, exception, 'std::__exception_ptr', exception_ptr] + - [C++14, locale, std, int_type] + - [C++14, locale, std, state_type] + - [C++14, locale, std, char_type] + - [C++14, locale, std, messages_base] + - [C++14, locale, std, money_base] + - [C++14, locale, std, time_base] + - [C++14, locale, std, ctype_base] + - [C++14, locale, std, locale] + - [C++14, locale, std, collate_byname] + - [C++14, locale, std, collate] + - [C++14, locale, std, id] + - [C++14, locale, std, facet] + - [C++14, locale, std, category] + - [C++14, locale, std, ctype] + - [C++14, locale, std, messages] + - [C++14, locale, std, mask] + - [C++14, locale, std, numpunct_byname] + - [C++14, locale, std, numpunct] + - [C++14, locale, std, ctype_byname] + - [C++14, locale, std, num_put] + - [C++14, locale, std, num_get] + - [C++14, locale, std, iter_type] + - [C++14, locale, std, messages_byname] + - [C++14, locale, std, moneypunct_byname] + - [C++14, locale, std, moneypunct] + - [C++14, locale, std, money_put] + - [C++14, locale, std, money_get] + - [C++14, locale, std, time_get_byname] + - [C++14, locale, std, time_get] + - [C++14, locale, std, time_put_byname] + - [C++14, locale, std, time_put] + - [C++14, locale, std, catalog] + - [C++14, locale, std, pattern] + - [C++14, locale, std, part] + - [C++14, locale, std, dateorder] + - [C++14, locale, std, wstring_convert] + - [C++14, locale, std, wbuffer_convert] + - [C++14, locale, std, string_type] + - [C++14, locale, std, wide_string] + - [C++14, locale, std, byte_string] + - [C++14, set, std, type] + - [C++14, set, std, value_type] + - [C++14, set, std, const_iterator] + - [C++14, set, std, const_reference] + - [C++14, set, std, reference] + - [C++14, set, std, size_type] + - [C++14, set, std, iterator] + - [C++14, set, std, iterator_category] + - [C++14, set, std, pointer] + - [C++14, set, std, difference_type] + - [C++14, set, std, reverse_iterator] + - [C++14, set, std, const_pointer] + - [C++14, set, std, allocator_type] + - [C++14, set, std, set] + - [C++14, set, std, key_type] + - [C++14, set, std, value_compare] + - [C++14, set, std, const_reverse_iterator] + - [C++14, set, std, key_compare] + - [C++14, set, std, multiset] + - [C++14, bitset, std, reference] + - [C++14, bitset, std, bitset] + - [C++14, system_error, std, errc] + - [C++14, system_error, std, is_error_condition_enum] + - [C++14, system_error, std, system_error] + - [C++14, system_error, std, error_code] + - [C++14, system_error, std, error_condition] + - [C++14, system_error, std, error_category] + - [C++14, system_error, std, is_error_code_enum] + - [C++14, complex, std, value_type] + - [C++14, complex, std, complex] + - [C++14, chrono, std, type] + - [C++14, chrono, 'std::__parse_int', type] + - [C++14, chrono, 'std::chrono', clock] + - [C++14, chrono, 'std::chrono', period] + - [C++14, chrono, 'std::chrono', rep] + - [C++14, chrono, 'std::chrono', time_point] + - [C++14, chrono, 'std::chrono', duration] + - [C++14, chrono, 'std::chrono', high_resolution_clock] + - [C++14, chrono, 'std::chrono', steady_clock] + - [C++14, chrono, 'std::chrono', system_clock] + - [C++14, chrono, 'std::chrono', microseconds] + - [C++14, chrono, 'std::chrono', milliseconds] + - [C++14, chrono, 'std::chrono', minutes] + - [C++14, chrono, 'std::chrono', hours] + - [C++14, chrono, 'std::chrono', seconds] + - [C++14, chrono, 'std::chrono', nanoseconds] + - [C++14, chrono, 'std::chrono', treat_as_floating_point] + - [C++14, chrono, 'std::chrono', duration_values] + - [C++14, codecvt, std, state_type] + - [C++14, codecvt, std, codecvt_base] + - [C++14, codecvt, std, codecvt_byname] + - [C++14, codecvt, std, codecvt] + - [C++14, codecvt, std, extern_type] + - [C++14, codecvt, std, intern_type] + - [C++14, codecvt, std, result] + - [C++14, codecvt, std, codecvt_utf8_utf16] + - [C++14, codecvt, std, codecvt_utf16] + - [C++14, codecvt, std, codecvt_utf8] + - [C++14, codecvt, std, codecvt_mode] + - [C++14, mutex, std, lock_guard] + - [C++14, mutex, std, adopt_lock_t] + - [C++14, mutex, std, try_to_lock_t] + - [C++14, mutex, std, defer_lock_t] + - [C++14, mutex, std, mutex] + - [C++14, mutex, std, mutex_type] + - [C++14, mutex, std, native_handle_type] + - [C++14, mutex, std, unique_lock] + - [C++14, mutex, std, recursive_timed_mutex] + - [C++14, mutex, std, timed_mutex] + - [C++14, mutex, std, recursive_mutex] + - [C++14, mutex, std, once_flag] + - [C++14, tuple, std, type] + - [C++14, tuple, std, tuple] + - [C++14, tuple, std, is_constructible] + - [C++14, tuple, std, tuple_element] + - [C++14, condition_variable, std, steady_clock] + - [C++14, condition_variable, std, system_clock] + - [C++14, condition_variable, std, native_handle_type] + - [C++14, condition_variable, std, condition_variable_any] + - [C++14, condition_variable, std, condition_variable] + - [C++14, condition_variable, std, cv_status] + - [C++14, deque, std, value_type] + - [C++14, deque, std, const_iterator] + - [C++14, deque, std, const_reference] + - [C++14, deque, std, reference] + - [C++14, deque, std, size_type] + - [C++14, deque, std, iterator] + - [C++14, deque, std, iterator_category] + - [C++14, deque, std, pointer] + - [C++14, deque, std, difference_type] + - [C++14, deque, std, reverse_iterator] + - [C++14, deque, std, const_pointer] + - [C++14, deque, std, allocator_type] + - [C++14, deque, std, deque] + - [C++14, deque, std, const_reverse_iterator] + - [C++14, forward_list, std, value_type] + - [C++14, forward_list, std, const_iterator] + - [C++14, forward_list, std, const_reference] + - [C++14, forward_list, std, reference] + - [C++14, forward_list, std, size_type] + - [C++14, forward_list, std, iterator] + - [C++14, forward_list, std, iterator_category] + - [C++14, forward_list, std, pointer] + - [C++14, forward_list, std, difference_type] + - [C++14, forward_list, std, const_pointer] + - [C++14, forward_list, std, allocator_type] + - [C++14, forward_list, std, forward_list] + - [C++14, future, std, value_type] + - [C++14, future, std, pointer] + - [C++14, future, std, result_type] + - [C++14, future, std, packaged_task] + - [C++14, future, std, promise] + - [C++14, future, std, shared_future] + - [C++14, future, std, future] + - [C++14, future, std, future_error] + - [C++14, future, std, launch] + - [C++14, future, std, future_errc] + - [C++14, future, std, future_status] + - [C++14, list, std, value_type] + - [C++14, list, std, const_iterator] + - [C++14, list, std, const_reference] + - [C++14, list, std, reference] + - [C++14, list, std, size_type] + - [C++14, list, std, iterator] + - [C++14, list, std, iterator_category] + - [C++14, list, std, pointer] + - [C++14, list, std, difference_type] + - [C++14, list, std, reverse_iterator] + - [C++14, list, std, const_pointer] + - [C++14, list, std, allocator_type] + - [C++14, list, std, list] + - [C++14, list, std, const_reverse_iterator] + - [C++14, map, std, type] + - [C++14, map, std, value_type] + - [C++14, map, std, const_iterator] + - [C++14, map, std, const_reference] + - [C++14, map, std, reference] + - [C++14, map, std, size_type] + - [C++14, map, std, iterator] + - [C++14, map, std, iterator_category] + - [C++14, map, std, pointer] + - [C++14, map, std, difference_type] + - [C++14, map, std, reverse_iterator] + - [C++14, map, std, const_pointer] + - [C++14, map, std, allocator_type] + - [C++14, map, std, key_type] + - [C++14, map, std, map] + - [C++14, map, std, value_compare] + - [C++14, map, std, const_reverse_iterator] + - [C++14, map, std, key_compare] + - [C++14, map, std, mapped_type] + - [C++14, map, std, multimap] + - [C++14, vector, std, value_type] + - [C++14, vector, std, const_iterator] + - [C++14, vector, std, const_reference] + - [C++14, vector, std, reference] + - [C++14, vector, std, size_type] + - [C++14, vector, std, iterator] + - [C++14, vector, std, pointer] + - [C++14, vector, std, difference_type] + - [C++14, vector, std, reverse_iterator] + - [C++14, vector, std, const_pointer] + - [C++14, vector, std, allocator_type] + - [C++14, vector, std, const_reverse_iterator] + - [C++14, vector, std, vector] + - [C++14, queue, std, value_type] + - [C++14, queue, std, const_reference] + - [C++14, queue, std, reference] + - [C++14, queue, std, size_type] + - [C++14, queue, std, container_type] + - [C++14, queue, std, value_compare] + - [C++14, queue, std, priority_queue] + - [C++14, queue, std, queue] + - [C++14, stack, std, value_type] + - [C++14, stack, std, const_reference] + - [C++14, stack, std, reference] + - [C++14, stack, std, size_type] + - [C++14, stack, std, container_type] + - [C++14, stack, std, stack] + - [C++14, strstream, std, int_type] + - [C++14, strstream, std, off_type] + - [C++14, strstream, std, char_type] + - [C++14, strstream, std, pos_type] + - [C++14, strstream, std, strstream] + - [C++14, strstream, std, ostrstream] + - [C++14, strstream, std, istrstream] + - [C++14, strstream, std, strstreambuf] + - [C++14, unordered_map, std, value_type] + - [C++14, unordered_map, std, const_iterator] + - [C++14, unordered_map, std, const_reference] + - [C++14, unordered_map, std, reference] + - [C++14, unordered_map, std, size_type] + - [C++14, unordered_map, std, iterator] + - [C++14, unordered_map, std, pointer] + - [C++14, unordered_map, std, difference_type] + - [C++14, unordered_map, std, const_pointer] + - [C++14, unordered_map, std, allocator_type] + - [C++14, unordered_map, std, key_type] + - [C++14, unordered_map, std, mapped_type] + - [C++14, unordered_map, std, hasher] + - [C++14, unordered_map, std, key_equal] + - [C++14, unordered_map, std, const_local_iterator] + - [C++14, unordered_map, std, local_iterator] + - [C++14, unordered_map, std, unordered_map] + - [C++14, unordered_map, std, unordered_multimap] + - [C++14, unordered_set, std, value_type] + - [C++14, unordered_set, std, const_iterator] + - [C++14, unordered_set, std, const_reference] + - [C++14, unordered_set, std, reference] + - [C++14, unordered_set, std, size_type] + - [C++14, unordered_set, std, iterator] + - [C++14, unordered_set, std, pointer] + - [C++14, unordered_set, std, difference_type] + - [C++14, unordered_set, std, const_pointer] + - [C++14, unordered_set, std, allocator_type] + - [C++14, unordered_set, std, key_type] + - [C++14, unordered_set, std, hasher] + - [C++14, unordered_set, std, key_equal] + - [C++14, unordered_set, std, const_local_iterator] + - [C++14, unordered_set, std, local_iterator] + - [C++14, unordered_set, std, unordered_set] + - [C++14, unordered_set, std, unordered_multiset] + - [C++14, valarray, std, value_type] + - [C++14, valarray, std, result_type] + - [C++14, valarray, std, slice_array] + - [C++14, valarray, std, slice] + - [C++14, valarray, std, gslice] + - [C++14, valarray, std, gslice_array] + - [C++14, valarray, std, mask_array] + - [C++14, valarray, std, indirect_array] + - [C++14, valarray, std, valarray] + - [C++14, regex, std, value_type] + - [C++14, regex, std, const_iterator] + - [C++14, regex, std, const_reference] + - [C++14, regex, std, reference] + - [C++14, regex, std, size_type] + - [C++14, regex, std, iterator] + - [C++14, regex, std, iterator_category] + - [C++14, regex, std, pointer] + - [C++14, regex, std, difference_type] + - [C++14, regex, std, char_type] + - [C++14, regex, std, allocator_type] + - [C++14, regex, std, traits_type] + - [C++14, regex, std, match_flag_type] + - [C++14, regex, std, regex_error] + - [C++14, regex, std, locale_type] + - [C++14, regex, std, string_type] + - [C++14, regex, std, char_class_type] + - [C++14, regex, std, regex_token_iterator] + - [C++14, regex, std, regex_iterator] + - [C++14, regex, std, match_results] + - [C++14, regex, std, basic_regex] + - [C++14, regex, std, regex_traits] + - [C++14, regex, std, sub_match] + - [C++14, regex, std, flag_type] + - [C++14, regex, std, wsregex_token_iterator] + - [C++14, regex, std, wcregex_token_iterator] + - [C++14, regex, std, sregex_token_iterator] + - [C++14, regex, std, cregex_token_iterator] + - [C++14, regex, std, regex_type] + - [C++14, regex, std, wsregex_iterator] + - [C++14, regex, std, wcregex_iterator] + - [C++14, regex, std, sregex_iterator] + - [C++14, regex, std, cregex_iterator] + - [C++14, regex, std, wsmatch] + - [C++14, regex, std, wcmatch] + - [C++14, regex, std, smatch] + - [C++14, regex, std, cmatch] + - [C++14, regex, std, wssub_match] + - [C++14, regex, std, wcsub_match] + - [C++14, regex, std, ssub_match] + - [C++14, regex, std, csub_match] + - [C++14, regex, std, wregex] + - [C++14, regex, std, regex] + - [C++14, regex, 'std::regex_constants', match_flag_type] + - [C++14, regex, 'std::regex_constants', syntax_option_type] + - [C++14, regex, 'std::regex_constants', error_type] + - [C++14, fstream, std, int_type] + - [C++14, fstream, std, off_type] + - [C++14, fstream, std, char_type] + - [C++14, fstream, std, pos_type] + - [C++14, fstream, std, traits_type] + - [C++14, fstream, std, basic_filebuf] + - [C++14, fstream, std, basic_fstream] + - [C++14, fstream, std, basic_ofstream] + - [C++14, fstream, std, basic_ifstream] + - [C++14, ostream, std, type] + - [C++14, ostream, std, int_type] + - [C++14, ostream, std, off_type] + - [C++14, ostream, std, char_type] + - [C++14, ostream, std, pos_type] + - [C++14, ostream, std, traits_type] + - [C++14, ostream, std, sentry] + - [C++14, ostream, std, basic_ostream] + - [C++14, istream, std, type] + - [C++14, istream, std, int_type] + - [C++14, istream, std, off_type] + - [C++14, istream, std, char_type] + - [C++14, istream, std, pos_type] + - [C++14, istream, std, traits_type] + - [C++14, istream, std, sentry] + - [C++14, istream, std, basic_iostream] + - [C++14, istream, std, basic_istream] + - [C++14, streambuf, std, int_type] + - [C++14, streambuf, std, off_type] + - [C++14, streambuf, std, char_type] + - [C++14, streambuf, std, pos_type] + - [C++14, streambuf, std, traits_type] + - [C++14, streambuf, std, basic_streambuf] + - [C++14, ios, std, streamoff] + - [C++14, ios, std, int_type] + - [C++14, ios, std, off_type] + - [C++14, ios, std, char_type] + - [C++14, ios, std, pos_type] + - [C++14, ios, std, ios_base] + - [C++14, ios, std, traits_type] + - [C++14, ios, std, Init] + - [C++14, ios, std, failure] + - [C++14, ios, std, event_callback] + - [C++14, ios, std, event] + - [C++14, ios, std, seek_dir] + - [C++14, ios, std, open_mode] + - [C++14, ios, std, io_state] + - [C++14, ios, std, seekdir] + - [C++14, ios, std, openmode] + - [C++14, ios, std, io_errc] + - [C++14, ios, std, iostate] + - [C++14, ios, std, fmtflags] + - [C++14, ios, std, basic_ios] + - [C++14, ios, std, streampos] + - [C++14, string, std, type] + - [C++14, string, std, value_type] + - [C++14, string, std, const_iterator] + - [C++14, string, std, const_reference] + - [C++14, string, std, reference] + - [C++14, string, std, size_type] + - [C++14, string, std, iterator] + - [C++14, string, std, iterator_category] + - [C++14, string, std, pointer] + - [C++14, string, std, difference_type] + - [C++14, string, std, element_type] + - [C++14, string, std, rebind] + - [C++14, string, std, move_iterator] + - [C++14, string, std, insert_iterator] + - [C++14, string, std, front_insert_iterator] + - [C++14, string, std, back_insert_iterator] + - [C++14, string, std, reverse_iterator] + - [C++14, string, std, iterator_type] + - [C++14, string, std, container_type] + - [C++14, string, std, const_pointer] + - [C++14, string, std, int_type] + - [C++14, string, std, state_type] + - [C++14, string, std, off_type] + - [C++14, string, std, char_type] + - [C++14, string, std, pos_type] + - [C++14, string, std, allocator_type] + - [C++14, string, std, basic_string] + - [C++14, string, std, traits_type] + - [C++14, string, std, basic_stringbuf] + - [C++14, string, std, const_reverse_iterator] + - [C++14, string, std, u32string] + - [C++14, string, std, u16string] + - [C++14, string, std, wstring] + - [C++14, string, std, string] + - [C++14, string, std, char_traits] + - [C++14, string, std, pointer_traits] + - [C++14, new, std, bad_array_new_length] + - [C++14, new, std, bad_alloc] + - [C++14, new, std, nothrow_t] + - [C++14, new, std, new_handler] + - [C++14, array, std, type] + - [C++14, array, std, value_type] + - [C++14, array, std, const_iterator] + - [C++14, array, std, const_reference] + - [C++14, array, std, reference] + - [C++14, array, std, size_type] + - [C++14, array, std, iterator] + - [C++14, array, std, pointer] + - [C++14, array, std, difference_type] + - [C++14, array, std, reverse_iterator] + - [C++14, array, std, const_pointer] + - [C++14, array, std, const_reverse_iterator] + - [C++14, array, std, array] + - [C++14, array, std, tuple_element] + - [C++14, array, std, tuple_size] + - [C++14, ratio, std, type] + - [C++14, ratio, std, ratio_subtract] + - [C++14, ratio, std, ratio_add] + - [C++14, ratio, std, ratio_divide] + - [C++14, ratio, std, ratio_multiply] + - [C++14, ratio, std, exa] + - [C++14, ratio, std, peta] + - [C++14, ratio, std, tera] + - [C++14, ratio, std, giga] + - [C++14, ratio, std, mega] + - [C++14, ratio, std, kilo] + - [C++14, ratio, std, hecto] + - [C++14, ratio, std, deca] + - [C++14, ratio, std, deci] + - [C++14, ratio, std, centi] + - [C++14, ratio, std, milli] + - [C++14, ratio, std, micro] + - [C++14, ratio, std, nano] + - [C++14, ratio, std, pico] + - [C++14, ratio, std, femto] + - [C++14, ratio, std, atto] + - [C++14, ratio, std, ratio] + - [C++14, ratio, std, ratio_less] + - [C++14, ratio, std, ratio_greater_equal] + - [C++14, ratio, std, ratio_greater] + - [C++14, ratio, std, ratio_less_equal] + - [C++14, ratio, std, ratio_not_equal] + - [C++14, ratio, std, ratio_equal] + - [C++14, type_traits, std, type] + - [C++14, type_traits, std, conditional_t] + - [C++14, type_traits, std, result_of_t] + - [C++14, type_traits, std, underlying_type_t] + - [C++14, type_traits, std, common_type_t] + - [C++14, type_traits, std, enable_if_t] + - [C++14, type_traits, std, decay_t] + - [C++14, type_traits, std, aligned_union_t] + - [C++14, type_traits, std, aligned_storage_t] + - [C++14, type_traits, std, add_pointer_t] + - [C++14, type_traits, std, remove_pointer_t] + - [C++14, type_traits, std, remove_all_extents_t] + - [C++14, type_traits, std, remove_extent_t] + - [C++14, type_traits, std, make_unsigned_t] + - [C++14, type_traits, std, make_signed_t] + - [C++14, type_traits, std, add_rvalue_reference_t] + - [C++14, type_traits, std, add_lvalue_reference_t] + - [C++14, type_traits, std, remove_reference_t] + - [C++14, type_traits, std, add_cv_t] + - [C++14, type_traits, std, add_volatile_t] + - [C++14, type_traits, std, add_const_t] + - [C++14, type_traits, std, remove_cv_t] + - [C++14, type_traits, std, remove_volatile_t] + - [C++14, type_traits, std, remove_const_t] + - [C++14, type_traits, std, value_type] + - [C++14, type_traits, std, is_signed] + - [C++14, type_traits, std, false_type] + - [C++14, type_traits, std, true_type] + - [C++14, type_traits, std, is_constructible] + - [C++14, type_traits, std, value_t] + - [C++14, type_traits, std, is_same] + - [C++14, type_traits, std, is_void] + - [C++14, type_traits, std, is_array] + - [C++14, type_traits, std, is_move_assignable] + - [C++14, type_traits, std, is_move_constructible] + - [C++14, type_traits, std, is_nothrow_move_assignable] + - [C++14, type_traits, std, is_nothrow_move_constructible] + - [C++14, type_traits, std, is_nothrow_destructible] + - [C++14, type_traits, std, is_nothrow_default_constructible] + - [C++14, type_traits, std, is_enum] + - [C++14, type_traits, std, is_integral] + - [C++14, type_traits, std, is_volatile] + - [C++14, type_traits, std, is_const] + - [C++14, type_traits, std, is_default_constructible] + - [C++14, type_traits, std, is_copy_constructible] + - [C++14, type_traits, std, is_copy_assignable] + - [C++14, type_traits, std, is_floating_point] + - [C++14, type_traits, std, is_member_function_pointer] + - [C++14, type_traits, std, is_member_object_pointer] + - [C++14, type_traits, std, is_nothrow_constructible] + - [C++14, type_traits, std, is_empty] + - [C++14, type_traits, std, common_type] + - [C++14, type_traits, std, integral_constant] + - [C++14, type_traits, std, is_function] + - [C++14, type_traits, std, aligned_union] + - [C++14, type_traits, std, is_reference] + - [C++14, type_traits, std, is_scalar] + - [C++14, type_traits, std, is_arithmetic] + - [C++14, type_traits, std, result_of] + - [C++14, type_traits, std, underlying_type] + - [C++14, type_traits, std, conditional] + - [C++14, type_traits, std, enable_if] + - [C++14, type_traits, std, decay] + - [C++14, type_traits, std, aligned_storage] + - [C++14, type_traits, std, add_pointer] + - [C++14, type_traits, std, remove_pointer] + - [C++14, type_traits, std, remove_all_extents] + - [C++14, type_traits, std, remove_extent] + - [C++14, type_traits, std, make_signed] + - [C++14, type_traits, std, make_unsigned] + - [C++14, type_traits, std, add_rvalue_reference] + - [C++14, type_traits, std, add_lvalue_reference] + - [C++14, type_traits, std, remove_reference] + - [C++14, type_traits, std, add_cv] + - [C++14, type_traits, std, add_volatile] + - [C++14, type_traits, std, add_const] + - [C++14, type_traits, std, remove_cv] + - [C++14, type_traits, std, remove_volatile] + - [C++14, type_traits, std, remove_const] + - [C++14, type_traits, std, is_convertible] + - [C++14, type_traits, std, is_base_of] + - [C++14, type_traits, std, extent] + - [C++14, type_traits, std, rank] + - [C++14, type_traits, std, alignment_of] + - [C++14, type_traits, std, has_virtual_destructor] + - [C++14, type_traits, std, is_trivially_destructible] + - [C++14, type_traits, std, is_trivially_move_assignable] + - [C++14, type_traits, std, is_trivially_copy_assignable] + - [C++14, type_traits, std, is_trivially_assignable] + - [C++14, type_traits, std, is_trivially_move_constructible] + - [C++14, type_traits, std, is_trivially_copy_constructible] + - [C++14, type_traits, std, is_trivially_default_constructible] + - [C++14, type_traits, std, is_trivially_constructible] + - [C++14, type_traits, std, is_nothrow_copy_assignable] + - [C++14, type_traits, std, is_nothrow_assignable] + - [C++14, type_traits, std, is_assignable] + - [C++14, type_traits, std, is_nothrow_copy_constructible] + - [C++14, type_traits, std, is_destructible] + - [C++14, type_traits, std, is_unsigned] + - [C++14, type_traits, std, is_abstract] + - [C++14, type_traits, std, is_final] + - [C++14, type_traits, std, is_polymorphic] + - [C++14, type_traits, std, is_literal_type] + - [C++14, type_traits, std, is_pod] + - [C++14, type_traits, std, is_standard_layout] + - [C++14, type_traits, std, is_trivially_copyable] + - [C++14, type_traits, std, is_trivial] + - [C++14, type_traits, std, is_compound] + - [C++14, type_traits, std, is_member_pointer] + - [C++14, type_traits, std, is_object] + - [C++14, type_traits, std, is_fundamental] + - [C++14, type_traits, std, is_null_pointer] + - [C++14, type_traits, std, is_class] + - [C++14, type_traits, std, is_union] + - [C++14, type_traits, std, is_rvalue_reference] + - [C++14, type_traits, std, is_lvalue_reference] + - [C++14, type_traits, std, is_pointer] + - [C++14, utility, std, type] + - [C++14, utility, std, value_type] + - [C++14, utility, std, pair] + - [C++14, utility, std, piecewise_construct_t] + - [C++14, utility, std, second_type] + - [C++14, utility, std, first_type] + - [C++14, utility, std, tuple_element_t] + - [C++14, utility, std, index_sequence_for] + - [C++14, utility, std, make_index_sequence] + - [C++14, utility, std, index_sequence] + - [C++14, utility, std, make_integer_sequence] + - [C++14, utility, std, tuple_element] + - [C++14, utility, std, tuple_size] + - [C++14, utility, std, integer_sequence] + - [C++14, limits, std, float_denorm_style] + - [C++14, limits, std, float_round_style] + - [C++14, limits, std, numeric_limits] + - [C++14, sstream, std, int_type] + - [C++14, sstream, std, off_type] + - [C++14, sstream, std, char_type] + - [C++14, sstream, std, pos_type] + - [C++14, sstream, std, allocator_type] + - [C++14, sstream, std, traits_type] + - [C++14, sstream, std, basic_stringstream] + - [C++14, sstream, std, basic_ostringstream] + - [C++14, sstream, std, basic_istringstream] + - [C++14, sstream, std, basic_stringbuf] + - [C++14, functional, std, type] + - [C++14, functional, std, result_type] + - [C++14, functional, std, first_argument_type] + - [C++14, functional, std, binder2nd] + - [C++14, functional, std, second_argument_type] + - [C++14, functional, std, binder1st] + - [C++14, functional, std, const_mem_fun1_ref_t] + - [C++14, functional, std, mem_fun1_ref_t] + - [C++14, functional, std, const_mem_fun1_t] + - [C++14, functional, std, mem_fun1_t] + - [C++14, functional, std, const_mem_fun_ref_t] + - [C++14, functional, std, mem_fun_ref_t] + - [C++14, functional, std, const_mem_fun_t] + - [C++14, functional, std, mem_fun_t] + - [C++14, functional, std, pointer_to_binary_function] + - [C++14, functional, std, pointer_to_unary_function] + - [C++14, functional, std, binary_negate] + - [C++14, functional, std, argument_type] + - [C++14, functional, std, unary_negate] + - [C++14, functional, std, is_transparent] + - [C++14, functional, std, hash] + - [C++14, functional, std, reference_wrapper] + - [C++14, functional, std, function] + - [C++14, functional, std, bad_function_call] + - [C++14, functional, std, modulus] + - [C++14, functional, std, less] + - [C++14, functional, std, equal_to] + - [C++14, functional, std, unary_function] + - [C++14, functional, std, bit_not] + - [C++14, functional, std, bit_xor] + - [C++14, functional, std, bit_or] + - [C++14, functional, std, bit_and] + - [C++14, functional, std, logical_not] + - [C++14, functional, std, logical_or] + - [C++14, functional, std, logical_and] + - [C++14, functional, std, less_equal] + - [C++14, functional, std, greater_equal] + - [C++14, functional, std, greater] + - [C++14, functional, std, not_equal_to] + - [C++14, functional, std, negate] + - [C++14, functional, std, divides] + - [C++14, functional, std, multiplies] + - [C++14, functional, std, minus] + - [C++14, functional, std, plus] + - [C++14, functional, std, binary_function] + - [C++14, functional, std, is_placeholder] + - [C++14, functional, std, is_bind_expression] + - [C++14, scoped_allocator, std, type] + - [C++14, scoped_allocator, std, value_type] + - [C++14, scoped_allocator, std, size_type] + - [C++14, scoped_allocator, std, pointer] + - [C++14, scoped_allocator, std, difference_type] + - [C++14, scoped_allocator, std, rebind] + - [C++14, scoped_allocator, std, const_pointer] + - [C++14, scoped_allocator, std, const_void_pointer] + - [C++14, scoped_allocator, std, void_pointer] + - [C++14, scoped_allocator, std, is_always_equal] + - [C++14, scoped_allocator, std, propagate_on_container_swap] + - [C++14, scoped_allocator, std, propagate_on_container_move_assignment] + - [C++14, scoped_allocator, std, propagate_on_container_copy_assignment] + - [C++14, scoped_allocator, std, other] + - [C++14, scoped_allocator, std, scoped_allocator_adaptor] + - [C++14, scoped_allocator, std, inner_allocator_type] + - [C++14, scoped_allocator, std, outer_allocator_type] + - [C++14, shared_mutex, std, mutex_type] + - [C++14, shared_mutex, std, shared_lock] + - [C++14, shared_mutex, std, shared_timed_mutex] + - [C++14, typeinfo, std, type_info] + - [C++14, typeinfo, std, bad_typeid] + - [C++14, typeinfo, std, bad_cast] + - [C++14, iosfwd, std, fpos] + - [C++14, iosfwd, std, streamsize] + - [C++14, iosfwd, std, streamoff] + - [C++14, iosfwd, std, wfstream] + - [C++14, iosfwd, std, wofstream] + - [C++14, iosfwd, std, wifstream] + - [C++14, iosfwd, std, wfilebuf] + - [C++14, iosfwd, std, wstringstream] + - [C++14, iosfwd, std, wostringstream] + - [C++14, iosfwd, std, wistringstream] + - [C++14, iosfwd, std, wstringbuf] + - [C++14, iosfwd, std, wiostream] + - [C++14, iosfwd, std, wostream] + - [C++14, iosfwd, std, wistream] + - [C++14, iosfwd, std, wstreambuf] + - [C++14, iosfwd, std, wios] + - [C++14, iosfwd, std, fstream] + - [C++14, iosfwd, std, ofstream] + - [C++14, iosfwd, std, ifstream] + - [C++14, iosfwd, std, filebuf] + - [C++14, iosfwd, std, stringstream] + - [C++14, iosfwd, std, ostringstream] + - [C++14, iosfwd, std, istringstream] + - [C++14, iosfwd, std, stringbuf] + - [C++14, iosfwd, std, iostream] + - [C++14, iosfwd, std, ostream] + - [C++14, iosfwd, std, istream] + - [C++14, iosfwd, std, streambuf] + - [C++14, iosfwd, std, ios] + - [C++14, iosfwd, std, streampos] + - [C++14, iosfwd, std, u32streampos] + - [C++14, iosfwd, std, u16streampos] + - [C++14, iosfwd, std, wstreampos] + - [C++14, stdexcept, std, invalid_argument] + - [C++14, stdexcept, std, underflow_error] + - [C++14, stdexcept, std, overflow_error] + - [C++14, stdexcept, std, range_error] + - [C++14, stdexcept, std, out_of_range] + - [C++14, stdexcept, std, length_error] + - [C++14, stdexcept, std, domain_error] + - [C++14, stdexcept, std, logic_error] + - [C++14, stdexcept, std, runtime_error] + - [C++14, cstddef, std, ptrdiff_t] + - [C++14, cstddef, std, nullptr_t] + - [C++14, cstddef, std, size_t] + - [C++14, memory, std, type] + - [C++14, memory, std, value_type] + - [C++14, memory, std, const_reference] + - [C++14, memory, std, reference] + - [C++14, memory, std, size_type] + - [C++14, memory, std, iterator] + - [C++14, memory, std, pointer] + - [C++14, memory, std, difference_type] + - [C++14, memory, std, element_type] + - [C++14, memory, std, rebind] + - [C++14, memory, std, const_pointer] + - [C++14, memory, std, allocator] + - [C++14, memory, std, is_transparent] + - [C++14, memory, std, const_void_pointer] + - [C++14, memory, std, void_pointer] + - [C++14, memory, std, allocator_type] + - [C++14, memory, std, rebind_alloc] + - [C++14, memory, std, is_always_equal] + - [C++14, memory, std, propagate_on_container_swap] + - [C++14, memory, std, propagate_on_container_move_assignment] + - [C++14, memory, std, propagate_on_container_copy_assignment] + - [C++14, memory, std, other] + - [C++14, memory, std, allocator_arg_t] + - [C++14, memory, std, unique_ptr] + - [C++14, memory, std, default_delete] + - [C++14, memory, std, deleter_type] + - [C++14, memory, std, bad_weak_ptr] + - [C++14, memory, std, owner_less] + - [C++14, memory, std, enable_shared_from_this] + - [C++14, memory, std, weak_ptr] + - [C++14, memory, std, shared_ptr] + - [C++14, memory, std, raw_storage_iterator] + - [C++14, memory, std, auto_ptr_ref] + - [C++14, memory, std, auto_ptr] + - [C++14, memory, std, pointer_safety] + - [C++14, memory, std, rebind_traits] + - [C++14, memory, std, uses_allocator] + - [C++14, memory, std, allocator_traits] + - [C++14, typeindex, std, result_type] + - [C++14, typeindex, std, argument_type] + - [C++14, typeindex, std, type_index] +- addsTo: {extensible: libraryFunctionModel, pack: codeql/common-cpp-coding-standards} + data: + - [C++14, atomic, std, '', kill_dependency, _Tp, _Tp __y, external] + - [C++14, atomic, std, '', atomic_signal_fence, void, memory_order __m, external] + - [C++14, atomic, std, '', atomic_thread_fence, void, memory_order __m, external] + - [C++14, atomic, std, '', atomic_fetch_xor, _ITp, 'volatile __atomic_base<_ITp> * __a, __atomic_val_t __i', external] + - [C++14, atomic, std, '', atomic_fetch_xor, _ITp, '__atomic_base<_ITp> * __a, __atomic_val_t __i', external] + - [C++14, atomic, std, '', atomic_fetch_or, _ITp, 'volatile __atomic_base<_ITp> * __a, __atomic_val_t __i', external] + - [C++14, atomic, std, '', atomic_fetch_or, _ITp, '__atomic_base<_ITp> * __a, __atomic_val_t __i', external] + - [C++14, atomic, std, '', atomic_fetch_and, _ITp, 'volatile __atomic_base<_ITp> * __a, __atomic_val_t __i', external] + - [C++14, atomic, std, '', atomic_fetch_and, _ITp, '__atomic_base<_ITp> * __a, __atomic_val_t __i', external] + - [C++14, atomic, std, '', atomic_fetch_sub, _ITp, 'volatile atomic<_ITp> * __a, __atomic_diff_t __i', external] + - [C++14, atomic, std, '', atomic_fetch_sub, _ITp, 'atomic<_ITp> * __a, __atomic_diff_t __i', external] + - [C++14, atomic, std, '', atomic_fetch_add, _ITp, 'volatile atomic<_ITp> * __a, __atomic_diff_t __i', external] + - [C++14, atomic, std, '', atomic_fetch_add, _ITp, 'atomic<_ITp> * __a, __atomic_diff_t __i', external] + - [C++14, atomic, std, '', atomic_fetch_xor_explicit, _ITp, 'volatile __atomic_base<_ITp> * __a, __atomic_val_t __i, memory_order __m', external] + - [C++14, atomic, std, '', atomic_fetch_xor_explicit, _ITp, '__atomic_base<_ITp> * __a, __atomic_val_t __i, memory_order __m', external] + - [C++14, atomic, std, '', atomic_fetch_or_explicit, _ITp, 'volatile __atomic_base<_ITp> * __a, __atomic_val_t __i, memory_order __m', external] + - [C++14, atomic, std, '', atomic_fetch_or_explicit, _ITp, '__atomic_base<_ITp> * __a, __atomic_val_t __i, memory_order __m', external] + - [C++14, atomic, std, '', atomic_fetch_and_explicit, _ITp, 'volatile __atomic_base<_ITp> * __a, __atomic_val_t __i, memory_order __m', external] + - [C++14, atomic, std, '', atomic_fetch_and_explicit, _ITp, '__atomic_base<_ITp> * __a, __atomic_val_t __i, memory_order __m', external] + - [C++14, atomic, std, '', atomic_fetch_sub_explicit, _ITp, 'volatile atomic<_ITp> * __a, __atomic_diff_t __i, memory_order __m', external] + - [C++14, atomic, std, '', atomic_fetch_sub_explicit, _ITp, 'atomic<_ITp> * __a, __atomic_diff_t __i, memory_order __m', external] + - [C++14, atomic, std, '', atomic_fetch_add_explicit, _ITp, 'volatile atomic<_ITp> * __a, __atomic_diff_t __i, memory_order __m', external] + - [C++14, atomic, std, '', atomic_fetch_add_explicit, _ITp, 'atomic<_ITp> * __a, __atomic_diff_t __i, memory_order __m', external] + - [C++14, atomic, std, '', atomic_compare_exchange_strong, bool, 'volatile atomic<_ITp> * __a, __atomic_val_t<_ITp> * __i1, __atomic_val_t __i2', external] + - [C++14, atomic, std, '', atomic_compare_exchange_strong, bool, 'atomic<_ITp> * __a, __atomic_val_t<_ITp> * __i1, __atomic_val_t __i2', external] + - [C++14, atomic, std, '', atomic_compare_exchange_weak, bool, 'volatile atomic<_ITp> * __a, __atomic_val_t<_ITp> * __i1, __atomic_val_t __i2', external] + - [C++14, atomic, std, '', atomic_compare_exchange_weak, bool, 'atomic<_ITp> * __a, __atomic_val_t<_ITp> * __i1, __atomic_val_t __i2', external] + - [C++14, atomic, std, '', atomic_exchange, _ITp, 'volatile atomic<_ITp> * __a, __atomic_val_t __i', external] + - [C++14, atomic, std, '', atomic_exchange, _ITp, 'atomic<_ITp> * __a, __atomic_val_t __i', external] + - [C++14, atomic, std, '', atomic_load, _ITp, const volatile atomic<_ITp> * __a, external] + - [C++14, atomic, std, '', atomic_load, _ITp, const atomic<_ITp> * __a, external] + - [C++14, atomic, std, '', atomic_store, void, 'volatile atomic<_ITp> * __a, __atomic_val_t __i', external] + - [C++14, atomic, std, '', atomic_store, void, 'atomic<_ITp> * __a, __atomic_val_t __i', external] + - [C++14, atomic, std, '', atomic_compare_exchange_strong_explicit, bool, 'volatile atomic<_ITp> * __a, __atomic_val_t<_ITp> * __i1, __atomic_val_t __i2, memory_order __m1, memory_order __m2', external] + - [C++14, atomic, std, '', atomic_compare_exchange_strong_explicit, bool, 'atomic<_ITp> * __a, __atomic_val_t<_ITp> * __i1, __atomic_val_t __i2, memory_order __m1, memory_order __m2', external] + - [C++14, atomic, std, '', atomic_compare_exchange_weak_explicit, bool, 'volatile atomic<_ITp> * __a, __atomic_val_t<_ITp> * __i1, __atomic_val_t __i2, memory_order __m1, memory_order __m2', external] + - [C++14, atomic, std, '', atomic_compare_exchange_weak_explicit, bool, 'atomic<_ITp> * __a, __atomic_val_t<_ITp> * __i1, __atomic_val_t __i2, memory_order __m1, memory_order __m2', external] + - [C++14, atomic, std, '', atomic_exchange_explicit, _ITp, 'volatile atomic<_ITp> * __a, __atomic_val_t __i, memory_order __m', external] + - [C++14, atomic, std, '', atomic_exchange_explicit, _ITp, 'atomic<_ITp> * __a, __atomic_val_t __i, memory_order __m', external] + - [C++14, atomic, std, '', atomic_load_explicit, _ITp, 'const volatile atomic<_ITp> * __a, memory_order __m', external] + - [C++14, atomic, std, '', atomic_load_explicit, _ITp, 'const atomic<_ITp> * __a, memory_order __m', external] + - [C++14, atomic, std, '', atomic_store_explicit, void, 'volatile atomic<_ITp> * __a, __atomic_val_t __i, memory_order __m', external] + - [C++14, atomic, std, '', atomic_store_explicit, void, 'atomic<_ITp> * __a, __atomic_val_t __i, memory_order __m', external] + - [C++14, atomic, std, '', atomic_init, void, 'volatile atomic<_ITp> * __a, __atomic_val_t __i', external] + - [C++14, atomic, std, '', atomic_init, void, 'atomic<_ITp> * __a, __atomic_val_t __i', external] + - [C++14, atomic, std, '', atomic_is_lock_free, bool, const volatile atomic<_ITp> * __a, external] + - [C++14, atomic, std, '', atomic_is_lock_free, bool, const atomic<_ITp> * __a, external] + - [C++14, atomic, std, '', atomic_flag_clear, void, volatile atomic_flag * __a, external] + - [C++14, atomic, std, '', atomic_flag_clear, void, atomic_flag * __a, external] + - [C++14, atomic, std, '', atomic_flag_test_and_set, bool, volatile atomic_flag * __a, external] + - [C++14, atomic, std, '', atomic_flag_test_and_set, bool, atomic_flag * __a, external] + - [C++14, atomic, std, '', atomic_flag_clear_explicit, void, 'volatile atomic_flag * __a, memory_order __m', external] + - [C++14, atomic, std, '', atomic_flag_clear_explicit, void, 'atomic_flag * __a, memory_order __m', external] + - [C++14, atomic, std, '', atomic_flag_test_and_set_explicit, bool, 'volatile atomic_flag * __a, memory_order __m', external] + - [C++14, atomic, std, '', atomic_flag_test_and_set_explicit, bool, 'atomic_flag * __a, memory_order __m', external] + - [C++14, atomic, std, atomic, operator _Tp, _Tp, '', external] + - [C++14, atomic, std, atomic, exchange, bool, 'bool __i, memory_order __m', external] + - [C++14, atomic, std, atomic, exchange, _Tp, '_Tp __i, memory_order __m', external] + - [C++14, atomic, std, atomic, exchange, __pointer_type, '__pointer_type __p, memory_order __m', external] + - [C++14, atomic, std, atomic, exchange, __int_type, '__int_type __i, memory_order __m', external] + - [C++14, atomic, std, atomic, fetch_sub, __pointer_type, 'ptrdiff_t __d, memory_order __m', external] + - [C++14, atomic, std, atomic, fetch_sub, __int_type, '__int_type __i, memory_order __m', external] + - [C++14, atomic, std, atomic, fetch_add, __pointer_type, 'ptrdiff_t __d, memory_order __m', external] + - [C++14, atomic, std, atomic, fetch_add, __int_type, '__int_type __i, memory_order __m', external] + - [C++14, atomic, std, atomic, compare_exchange_strong, bool, '__pointer_type & __p1, __pointer_type __p2, memory_order __m1, memory_order __m2', external] + - [C++14, atomic, std, atomic, compare_exchange_strong, bool, '__int_type & __i1, __int_type __i2, memory_order __m', external] + - [C++14, atomic, std, atomic, compare_exchange_strong, bool, '__int_type & __i1, __int_type __i2, memory_order __m1, memory_order __m2', external] + - [C++14, atomic, std, atomic, compare_exchange_strong, bool, 'bool & __i1, bool __i2, memory_order __m', external] + - [C++14, atomic, std, atomic, compare_exchange_strong, bool, 'bool & __i1, bool __i2, memory_order __m1, memory_order __m2', external] + - [C++14, atomic, std, atomic, compare_exchange_strong, bool, '__pointer_type & __p1, __pointer_type __p2, memory_order __m', external] + - [C++14, atomic, std, atomic, compare_exchange_strong, bool, '_Tp & __e, _Tp __i, memory_order __m', external] + - [C++14, atomic, std, atomic, compare_exchange_strong, bool, '_Tp & __e, _Tp __i, memory_order __s, memory_order __f', external] + - [C++14, atomic, std, atomic, load, bool, memory_order __m, external] + - [C++14, atomic, std, atomic, load, _Tp, memory_order __m, external] + - [C++14, atomic, std, atomic, load, __pointer_type, memory_order __m, external] + - [C++14, atomic, std, atomic, load, __int_type, memory_order __m, external] + - [C++14, atomic, std, atomic, store, void, '__pointer_type __p, memory_order __m', external] + - [C++14, atomic, std, atomic, store, void, '__int_type __i, memory_order __m', external] + - [C++14, atomic, std, atomic, store, void, 'bool __i, memory_order __m', external] + - [C++14, atomic, std, atomic, store, void, '_Tp __i, memory_order __m', external] + - [C++14, atomic, std, atomic, is_lock_free, bool, '', external] + - [C++14, atomic, std, atomic, fetch_xor, __int_type, '__int_type __i, memory_order __m', external] + - [C++14, atomic, std, atomic, fetch_or, __int_type, '__int_type __i, memory_order __m', external] + - [C++14, atomic, std, atomic, fetch_and, __int_type, '__int_type __i, memory_order __m', external] + - [C++14, atomic, std, atomic, compare_exchange_weak, bool, '__pointer_type & __p1, __pointer_type __p2, memory_order __m1, memory_order __m2', external] + - [C++14, atomic, std, atomic, compare_exchange_weak, bool, '__int_type & __i1, __int_type __i2, memory_order __m', external] + - [C++14, atomic, std, atomic, compare_exchange_weak, bool, '__int_type & __i1, __int_type __i2, memory_order __m1, memory_order __m2', external] + - [C++14, atomic, std, atomic, compare_exchange_weak, bool, 'bool & __i1, bool __i2, memory_order __m', external] + - [C++14, atomic, std, atomic, compare_exchange_weak, bool, 'bool & __i1, bool __i2, memory_order __m1, memory_order __m2', external] + - [C++14, atomic, std, atomic, compare_exchange_weak, bool, '__pointer_type & __p1, __pointer_type __p2, memory_order __m', external] + - [C++14, atomic, std, atomic, compare_exchange_weak, bool, '_Tp & __e, _Tp __i, memory_order __m', external] + - [C++14, atomic, std, atomic, compare_exchange_weak, bool, '_Tp & __e, _Tp __i, memory_order __s, memory_order __f', external] + - [C++14, atomic, std, atomic, operator _ITp, __int_type, '', external] + - [C++14, atomic, std, atomic, operator _Tp *, __pointer_type, '', external] + - [C++14, atomic, std, atomic_flag, clear, void, memory_order __m, external] + - [C++14, atomic, std, atomic_flag, test_and_set, bool, memory_order __m, external] + - [C++14, thread, std, '', swap, void, 'thread & __x, thread & __y', external] + - [C++14, thread, std, thread, swap, void, thread & __t, external] + - [C++14, thread, std, thread, native_handle, native_handle_type, '', external] + - [C++14, thread, std, thread, get_id, id, '', external] + - [C++14, thread, std, thread, hardware_concurrency, unsigned int, '', external] + - [C++14, thread, std, thread, detach, void, '', external] + - [C++14, thread, std, thread, join, void, '', external] + - [C++14, thread, std, thread, joinable, bool, '', external] + - [C++14, thread, 'std::this_thread', '', sleep_until, void, 'const time_point<_Clock, _Duration> & __atime', external] + - [C++14, thread, 'std::this_thread', '', sleep_for, void, 'const duration<_Rep, _Period> & __rtime', external] + - [C++14, thread, 'std::this_thread', '', yield, void, '', external] + - [C++14, thread, 'std::this_thread', '', get_id, id, '', external] + - [C++14, initializer_list, std, '', end, const _Tp *, initializer_list<_Tp> __ils, external] + - [C++14, initializer_list, std, '', begin, const _Tp *, initializer_list<_Tp> __ils, external] + - [C++14, initializer_list, std, initializer_list, end, const_iterator, '', external] + - [C++14, initializer_list, std, initializer_list, begin, const_iterator, '', external] + - [C++14, initializer_list, std, initializer_list, size, size_type, '', external] + - [C++14, iterator, std, '', end, _Tp *, '_Tp(&)[] __arr', external] + - [C++14, iterator, std, '', end, decltype(...), const _Container & __cont, external] + - [C++14, iterator, std, '', end, decltype(...), _Container & __cont, external] + - [C++14, iterator, std, '', begin, _Tp *, '_Tp(&)[] __arr', external] + - [C++14, iterator, std, '', begin, decltype(...), const _Container & __cont, external] + - [C++14, iterator, std, '', begin, decltype(...), _Container & __cont, external] + - [C++14, iterator, std, '', advance, __type, 'istreambuf_iterator<_CharT2, char_traits<_CharT2>> & __i, _Distance __n', external] + - [C++14, iterator, std, '', advance, __type, 'istreambuf_iterator<_CharT2, char_traits<_CharT2>> & (unnamed parameter 0), _Distance (unnamed parameter 1)', external] + - [C++14, iterator, std, '', copy, __type, 'istreambuf_iterator<_CharT, char_traits<_CharT>> __first, istreambuf_iterator<_CharT, char_traits<_CharT>> __last, ostreambuf_iterator<_CharT, char_traits<_CharT>> __result', external] + - [C++14, iterator, std, '', copy, __type, 'istreambuf_iterator<_CharT2, char_traits<_CharT2>> (unnamed parameter 0), istreambuf_iterator<_CharT2, char_traits<_CharT2>> (unnamed parameter 1), ostreambuf_iterator<_CharT2, char_traits<_CharT2>> (unnamed parameter 2)', external] + - [C++14, iterator, std, '', find, __type, 'istreambuf_iterator<_CharT2, char_traits<_CharT2>> __first, istreambuf_iterator<_CharT2, char_traits<_CharT2>> __last, const _CharT2 & __val', external] + - [C++14, iterator, std, '', find, __type, 'istreambuf_iterator<_CharT2, char_traits<_CharT2>> (unnamed parameter 0), istreambuf_iterator<_CharT2, char_traits<_CharT2>> (unnamed parameter 1), const _CharT2 & (unnamed parameter 2)', external] + - [C++14, iterator, std, '', crend, decltype(...), const _Container & __cont, external] + - [C++14, iterator, std, '', crbegin, decltype(...), const _Container & __cont, external] + - [C++14, iterator, std, '', rend, reverse_iterator<_Tp *>, '_Tp(&)[] __arr', external] + - [C++14, iterator, std, '', rend, reverse_iterator, initializer_list<_Tp> __il, external] + - [C++14, iterator, std, '', rend, decltype(...), const _Container & __cont, external] + - [C++14, iterator, std, '', rend, decltype(...), _Container & __cont, external] + - [C++14, iterator, std, '', rbegin, reverse_iterator<_Tp *>, '_Tp(&)[] __arr', external] + - [C++14, iterator, std, '', rbegin, reverse_iterator, initializer_list<_Tp> __il, external] + - [C++14, iterator, std, '', rbegin, decltype(...), const _Container & __cont, external] + - [C++14, iterator, std, '', rbegin, decltype(...), _Container & __cont, external] + - [C++14, iterator, std, '', cend, decltype(...), const _Container & __cont, external] + - [C++14, iterator, std, '', cbegin, decltype(...), const _Container & __cont, external] + - [C++14, iterator, std, ostreambuf_iterator, failed, bool, '', external] + - [C++14, iterator, std, istreambuf_iterator, equal, bool, 'const istreambuf_iterator<_CharT, _Traits> & __b', external] + - [C++14, random, std, '', generate_canonical, _RealType, _UniformRandomNumberGenerator & __urng, external] + - [C++14, random, std, seed_seq, size, size_t, '', external] + - [C++14, random, std, seed_seq, generate, void, '_RandomAccessIterator __begin, _RandomAccessIterator __end', external] + - [C++14, random, std, seed_seq, param, void, _OutputIterator __dest, external] + - [C++14, random, std, piecewise_linear_distribution, max, result_type, '', external] + - [C++14, random, std, piecewise_linear_distribution, min, result_type, '', external] + - [C++14, random, std, piecewise_linear_distribution, param, void, const param_type & __param, external] + - [C++14, random, std, piecewise_linear_distribution, param, param_type, '', external] + - [C++14, random, std, piecewise_linear_distribution, reset, void, '', external] + - [C++14, random, std, piecewise_linear_distribution, densities, 'vector>', '', external] + - [C++14, random, std, piecewise_linear_distribution, intervals, 'vector<_RealType, allocator<_RealType>>', '', external] + - [C++14, random, std, piecewise_constant_distribution, max, result_type, '', external] + - [C++14, random, std, piecewise_constant_distribution, min, result_type, '', external] + - [C++14, random, std, piecewise_constant_distribution, param, void, const param_type & __param, external] + - [C++14, random, std, piecewise_constant_distribution, param, param_type, '', external] + - [C++14, random, std, piecewise_constant_distribution, reset, void, '', external] + - [C++14, random, std, piecewise_constant_distribution, densities, 'vector>', '', external] + - [C++14, random, std, piecewise_constant_distribution, intervals, 'vector<_RealType, allocator<_RealType>>', '', external] + - [C++14, random, std, discrete_distribution, max, result_type, '', external] + - [C++14, random, std, discrete_distribution, min, result_type, '', external] + - [C++14, random, std, discrete_distribution, param, void, const param_type & __param, external] + - [C++14, random, std, discrete_distribution, param, param_type, '', external] + - [C++14, random, std, discrete_distribution, reset, void, '', external] + - [C++14, random, std, discrete_distribution, probabilities, 'vector>', '', external] + - [C++14, random, std, extreme_value_distribution, max, result_type, '', external] + - [C++14, random, std, extreme_value_distribution, min, result_type, '', external] + - [C++14, random, std, extreme_value_distribution, param, void, const param_type & __param, external] + - [C++14, random, std, extreme_value_distribution, param, param_type, '', external] + - [C++14, random, std, extreme_value_distribution, b, _RealType, '', external] + - [C++14, random, std, extreme_value_distribution, a, _RealType, '', external] + - [C++14, random, std, extreme_value_distribution, reset, void, '', external] + - [C++14, random, std, weibull_distribution, max, result_type, '', external] + - [C++14, random, std, weibull_distribution, min, result_type, '', external] + - [C++14, random, std, weibull_distribution, param, void, const param_type & __param, external] + - [C++14, random, std, weibull_distribution, param, param_type, '', external] + - [C++14, random, std, weibull_distribution, b, _RealType, '', external] + - [C++14, random, std, weibull_distribution, a, _RealType, '', external] + - [C++14, random, std, weibull_distribution, reset, void, '', external] + - [C++14, random, std, exponential_distribution, max, result_type, '', external] + - [C++14, random, std, exponential_distribution, min, result_type, '', external] + - [C++14, random, std, exponential_distribution, param, void, const param_type & __param, external] + - [C++14, random, std, exponential_distribution, param, param_type, '', external] + - [C++14, random, std, exponential_distribution, reset, void, '', external] + - [C++14, random, std, exponential_distribution, lambda, _RealType, '', external] + - [C++14, random, std, poisson_distribution, max, result_type, '', external] + - [C++14, random, std, poisson_distribution, min, result_type, '', external] + - [C++14, random, std, poisson_distribution, param, void, const param_type & __param, external] + - [C++14, random, std, poisson_distribution, param, param_type, '', external] + - [C++14, random, std, poisson_distribution, reset, void, '', external] + - [C++14, random, std, poisson_distribution, mean, double, '', external] + - [C++14, random, std, negative_binomial_distribution, max, result_type, '', external] + - [C++14, random, std, negative_binomial_distribution, min, result_type, '', external] + - [C++14, random, std, negative_binomial_distribution, param, void, const param_type & __param, external] + - [C++14, random, std, negative_binomial_distribution, param, param_type, '', external] + - [C++14, random, std, negative_binomial_distribution, reset, void, '', external] + - [C++14, random, std, negative_binomial_distribution, p, double, '', external] + - [C++14, random, std, negative_binomial_distribution, k, _IntType, '', external] + - [C++14, random, std, geometric_distribution, max, result_type, '', external] + - [C++14, random, std, geometric_distribution, min, result_type, '', external] + - [C++14, random, std, geometric_distribution, param, void, const param_type & __param, external] + - [C++14, random, std, geometric_distribution, param, param_type, '', external] + - [C++14, random, std, geometric_distribution, reset, void, '', external] + - [C++14, random, std, geometric_distribution, p, double, '', external] + - [C++14, random, std, binomial_distribution, max, result_type, '', external] + - [C++14, random, std, binomial_distribution, min, result_type, '', external] + - [C++14, random, std, binomial_distribution, param, void, const param_type & __param, external] + - [C++14, random, std, binomial_distribution, param, param_type, '', external] + - [C++14, random, std, binomial_distribution, reset, void, '', external] + - [C++14, random, std, binomial_distribution, p, double, '', external] + - [C++14, random, std, binomial_distribution, t, _IntType, '', external] + - [C++14, random, std, bernoulli_distribution, max, result_type, '', external] + - [C++14, random, std, bernoulli_distribution, min, result_type, '', external] + - [C++14, random, std, bernoulli_distribution, param, void, const param_type & __param, external] + - [C++14, random, std, bernoulli_distribution, param, param_type, '', external] + - [C++14, random, std, bernoulli_distribution, reset, void, '', external] + - [C++14, random, std, bernoulli_distribution, p, double, '', external] + - [C++14, random, std, student_t_distribution, max, result_type, '', external] + - [C++14, random, std, student_t_distribution, min, result_type, '', external] + - [C++14, random, std, student_t_distribution, param, void, const param_type & __param, external] + - [C++14, random, std, student_t_distribution, param, param_type, '', external] + - [C++14, random, std, student_t_distribution, reset, void, '', external] + - [C++14, random, std, student_t_distribution, n, _RealType, '', external] + - [C++14, random, std, fisher_f_distribution, m, _RealType, '', external] + - [C++14, random, std, fisher_f_distribution, max, result_type, '', external] + - [C++14, random, std, fisher_f_distribution, min, result_type, '', external] + - [C++14, random, std, fisher_f_distribution, param, void, const param_type & __param, external] + - [C++14, random, std, fisher_f_distribution, param, param_type, '', external] + - [C++14, random, std, fisher_f_distribution, reset, void, '', external] + - [C++14, random, std, fisher_f_distribution, n, _RealType, '', external] + - [C++14, random, std, cauchy_distribution, max, result_type, '', external] + - [C++14, random, std, cauchy_distribution, min, result_type, '', external] + - [C++14, random, std, cauchy_distribution, param, void, const param_type & __param, external] + - [C++14, random, std, cauchy_distribution, param, param_type, '', external] + - [C++14, random, std, cauchy_distribution, b, _RealType, '', external] + - [C++14, random, std, cauchy_distribution, a, _RealType, '', external] + - [C++14, random, std, cauchy_distribution, reset, void, '', external] + - [C++14, random, std, chi_squared_distribution, max, result_type, '', external] + - [C++14, random, std, chi_squared_distribution, min, result_type, '', external] + - [C++14, random, std, chi_squared_distribution, param, void, const param_type & __param, external] + - [C++14, random, std, chi_squared_distribution, param, param_type, '', external] + - [C++14, random, std, chi_squared_distribution, reset, void, '', external] + - [C++14, random, std, chi_squared_distribution, n, _RealType, '', external] + - [C++14, random, std, gamma_distribution, max, result_type, '', external] + - [C++14, random, std, gamma_distribution, min, result_type, '', external] + - [C++14, random, std, gamma_distribution, param, void, const param_type & __param, external] + - [C++14, random, std, gamma_distribution, param, param_type, '', external] + - [C++14, random, std, gamma_distribution, reset, void, '', external] + - [C++14, random, std, gamma_distribution, alpha, _RealType, '', external] + - [C++14, random, std, gamma_distribution, beta, _RealType, '', external] + - [C++14, random, std, lognormal_distribution, m, _RealType, '', external] + - [C++14, random, std, lognormal_distribution, max, result_type, '', external] + - [C++14, random, std, lognormal_distribution, min, result_type, '', external] + - [C++14, random, std, lognormal_distribution, param, void, const param_type & __param, external] + - [C++14, random, std, lognormal_distribution, param, param_type, '', external] + - [C++14, random, std, lognormal_distribution, reset, void, '', external] + - [C++14, random, std, lognormal_distribution, s, _RealType, '', external] + - [C++14, random, std, normal_distribution, max, result_type, '', external] + - [C++14, random, std, normal_distribution, min, result_type, '', external] + - [C++14, random, std, normal_distribution, param, void, const param_type & __param, external] + - [C++14, random, std, normal_distribution, param, param_type, '', external] + - [C++14, random, std, normal_distribution, reset, void, '', external] + - [C++14, random, std, normal_distribution, mean, _RealType, '', external] + - [C++14, random, std, normal_distribution, stddev, _RealType, '', external] + - [C++14, random, std, uniform_real_distribution, max, result_type, '', external] + - [C++14, random, std, uniform_real_distribution, min, result_type, '', external] + - [C++14, random, std, uniform_real_distribution, param, void, const param_type & __param, external] + - [C++14, random, std, uniform_real_distribution, param, param_type, '', external] + - [C++14, random, std, uniform_real_distribution, b, result_type, '', external] + - [C++14, random, std, uniform_real_distribution, a, result_type, '', external] + - [C++14, random, std, uniform_real_distribution, reset, void, '', external] + - [C++14, random, std, random_device, max, result_type, '', external] + - [C++14, random, std, random_device, min, result_type, '', external] + - [C++14, random, std, random_device, entropy, double, '', external] + - [C++14, random, std, shuffle_order_engine, max, result_type, '', external] + - [C++14, random, std, shuffle_order_engine, min, result_type, '', external] + - [C++14, random, std, shuffle_order_engine, base, const _RandomNumberEngine &, '', external] + - [C++14, random, std, shuffle_order_engine, discard, void, unsigned long long __z, external] + - [C++14, random, std, shuffle_order_engine, seed, void, '', external] + - [C++14, random, std, shuffle_order_engine, seed, void, result_type __s, external] + - [C++14, random, std, shuffle_order_engine, seed, _If_seed_seq, _Sseq & __q, external] + - [C++14, random, std, independent_bits_engine, max, result_type, '', external] + - [C++14, random, std, independent_bits_engine, min, result_type, '', external] + - [C++14, random, std, independent_bits_engine, base, const _RandomNumberEngine &, '', external] + - [C++14, random, std, independent_bits_engine, discard, void, unsigned long long __z, external] + - [C++14, random, std, independent_bits_engine, seed, void, '', external] + - [C++14, random, std, independent_bits_engine, seed, void, result_type __s, external] + - [C++14, random, std, independent_bits_engine, seed, _If_seed_seq, _Sseq & __q, external] + - [C++14, random, std, discard_block_engine, max, result_type, '', external] + - [C++14, random, std, discard_block_engine, min, result_type, '', external] + - [C++14, random, std, discard_block_engine, base, const _RandomNumberEngine &, '', external] + - [C++14, random, std, discard_block_engine, discard, void, unsigned long long __z, external] + - [C++14, random, std, discard_block_engine, seed, void, '', external] + - [C++14, random, std, discard_block_engine, seed, void, result_type __s, external] + - [C++14, random, std, discard_block_engine, seed, _If_seed_seq, _Sseq & __q, external] + - [C++14, random, std, subtract_with_carry_engine, max, result_type, '', external] + - [C++14, random, std, subtract_with_carry_engine, min, result_type, '', external] + - [C++14, random, std, subtract_with_carry_engine, discard, void, unsigned long long __z, external] + - [C++14, random, std, subtract_with_carry_engine, seed, void, result_type __value, external] + - [C++14, random, std, subtract_with_carry_engine, seed, _If_seed_seq, _Sseq & __q, external] + - [C++14, random, std, mersenne_twister_engine, max, result_type, '', external] + - [C++14, random, std, mersenne_twister_engine, min, result_type, '', external] + - [C++14, random, std, mersenne_twister_engine, discard, void, unsigned long long __z, external] + - [C++14, random, std, mersenne_twister_engine, seed, void, result_type __sd, external] + - [C++14, random, std, mersenne_twister_engine, seed, _If_seed_seq, _Sseq & __q, external] + - [C++14, random, std, linear_congruential_engine, max, result_type, '', external] + - [C++14, random, std, linear_congruential_engine, min, result_type, '', external] + - [C++14, random, std, linear_congruential_engine, discard, void, unsigned long long __z, external] + - [C++14, random, std, linear_congruential_engine, seed, void, result_type __s, external] + - [C++14, random, std, linear_congruential_engine, seed, _If_seed_seq, _Sseq & __q, external] + - [C++14, exception, std, '', rethrow_exception, void, exception_ptr (unnamed parameter 0), external] + - [C++14, exception, std, '', make_exception_ptr, exception_ptr, _Ex __ex, external] + - [C++14, exception, std, '', current_exception, exception_ptr, '', external] + - [C++14, exception, std, '', rethrow_if_nested, void, const _Ex & __ex, external] + - [C++14, exception, std, '', throw_with_nested, void, _Tp && __t, external] + - [C++14, exception, std, '', uncaught_exception, bool, '', external] + - [C++14, exception, std, '', unexpected, void, '', external] + - [C++14, exception, std, '', get_unexpected, unexpected_handler, '', external] + - [C++14, exception, std, '', set_unexpected, unexpected_handler, unexpected_handler (unnamed parameter 0), external] + - [C++14, exception, std, '', terminate, void, '', external] + - [C++14, exception, std, '', get_terminate, terminate_handler, '', external] + - [C++14, exception, std, '', set_terminate, terminate_handler, terminate_handler (unnamed parameter 0), external] + - [C++14, exception, std, exception, what, const char *, '', external] + - [C++14, exception, std, nested_exception, nested_ptr, exception_ptr, '', external] + - [C++14, exception, std, nested_exception, rethrow_nested, void, '', external] + - [C++14, exception, std, bad_exception, what, const char *, '', external] + - [C++14, exception, 'std::__exception_ptr', '', swap, void, 'exception_ptr & __lhs, exception_ptr & __rhs', external] + - [C++14, exception, 'std::__exception_ptr', exception_ptr, swap, void, exception_ptr & (unnamed parameter 0), external] + - [C++14, locale, std, '', isblank, bool, '_CharT __c, const locale & __loc', external] + - [C++14, locale, std, '', toupper, _CharT, '_CharT __c, const locale & __loc', external] + - [C++14, locale, std, '', tolower, _CharT, '_CharT __c, const locale & __loc', external] + - [C++14, locale, std, '', isxdigit, bool, '_CharT __c, const locale & __loc', external] + - [C++14, locale, std, '', isupper, bool, '_CharT __c, const locale & __loc', external] + - [C++14, locale, std, '', isspace, bool, '_CharT __c, const locale & __loc', external] + - [C++14, locale, std, '', ispunct, bool, '_CharT __c, const locale & __loc', external] + - [C++14, locale, std, '', isprint, bool, '_CharT __c, const locale & __loc', external] + - [C++14, locale, std, '', islower, bool, '_CharT __c, const locale & __loc', external] + - [C++14, locale, std, '', isgraph, bool, '_CharT __c, const locale & __loc', external] + - [C++14, locale, std, '', isdigit, bool, '_CharT __c, const locale & __loc', external] + - [C++14, locale, std, '', iscntrl, bool, '_CharT __c, const locale & __loc', external] + - [C++14, locale, std, '', isalpha, bool, '_CharT __c, const locale & __loc', external] + - [C++14, locale, std, '', isalnum, bool, '_CharT __c, const locale & __loc', external] + - [C++14, locale, std, '', use_facet, const _Facet &, const locale & __loc, external] + - [C++14, locale, std, '', has_facet, bool, const locale & __loc, external] + - [C++14, locale, std, locale, name, string, '', external] + - [C++14, locale, std, locale, combine, locale, const locale & __other, external] + - [C++14, locale, std, locale, classic, const locale &, '', external] + - [C++14, locale, std, locale, global, locale, const locale & __loc, external] + - [C++14, locale, std, collate, transform, string_type, 'const _CharT * __lo, const _CharT * __hi', external] + - [C++14, locale, std, collate, compare, int, 'const _CharT * __lo1, const _CharT * __hi1, const _CharT * __lo2, const _CharT * __hi2', external] + - [C++14, locale, std, collate, hash, long, 'const _CharT * __lo, const _CharT * __hi', external] + - [C++14, locale, std, collate, do_hash, long, 'const _CharT * __lo, const _CharT * __hi', external] + - [C++14, locale, std, collate, do_transform, string_type, 'const _CharT * __lo, const _CharT * __hi', external] + - [C++14, locale, std, collate, do_compare, int, 'const _CharT * __lo1, const _CharT * __hi1, const _CharT * __lo2, const _CharT * __hi2', external] + - [C++14, locale, std, ctype, toupper, const char_type *, 'char_type * __lo, const char_type * __hi', external] + - [C++14, locale, std, ctype, toupper, char_type, char_type __c, external] + - [C++14, locale, std, ctype, tolower, const char_type *, 'char_type * __lo, const char_type * __hi', external] + - [C++14, locale, std, ctype, tolower, char_type, char_type __c, external] + - [C++14, locale, std, ctype, scan_not, const char *, 'mask __m, const char * __low, const char * __high', external] + - [C++14, locale, std, ctype, scan_not, const char_type *, 'mask __m, const char_type * __lo, const char_type * __hi', external] + - [C++14, locale, std, ctype, scan_is, const char *, 'mask __m, const char * __low, const char * __high', external] + - [C++14, locale, std, ctype, scan_is, const char_type *, 'mask __m, const char_type * __lo, const char_type * __hi', external] + - [C++14, locale, std, ctype, is, bool, 'mask __m, char __c', external] + - [C++14, locale, std, ctype, is, bool, 'mask __m, char_type __c', external] + - [C++14, locale, std, ctype, is, const char *, 'const char * __low, const char * __high, mask * __vec', external] + - [C++14, locale, std, ctype, is, const char_type *, 'const char_type * __lo, const char_type * __hi, mask * __vec', external] + - [C++14, locale, std, ctype, do_narrow, char, 'char_type __c, char __dfault', external] + - [C++14, locale, std, ctype, do_narrow, char, 'char_type (unnamed parameter 0), char __dfault', external] + - [C++14, locale, std, ctype, do_narrow, const char_type *, 'const char_type * __lo, const char_type * __hi, char __dfault, char * __to', external] + - [C++14, locale, std, ctype, do_widen, const char *, 'const char * __lo, const char * __hi, char_type * __to', external] + - [C++14, locale, std, ctype, do_widen, const char *, 'const char * __lo, const char * __hi, char_type * __dest', external] + - [C++14, locale, std, ctype, do_widen, char_type, char __c, external] + - [C++14, locale, std, ctype, do_tolower, const char_type *, 'char_type * __lo, const char_type * __hi', external] + - [C++14, locale, std, ctype, do_tolower, char_type, char_type __c, external] + - [C++14, locale, std, ctype, do_toupper, const char_type *, 'char_type * __lo, const char_type * __hi', external] + - [C++14, locale, std, ctype, do_toupper, char_type, char_type __c, external] + - [C++14, locale, std, ctype, do_scan_not, const char_type *, 'mask __m, const char_type * __lo, const char_type * __hi', external] + - [C++14, locale, std, ctype, do_scan_is, const char_type *, 'mask __m, const char_type * __lo, const char_type * __hi', external] + - [C++14, locale, std, ctype, do_is, bool, 'mask __m, char_type __c', external] + - [C++14, locale, std, ctype, do_is, const char_type *, 'const char_type * __lo, const char_type * __hi, mask * __vec', external] + - [C++14, locale, std, ctype, narrow, char, 'char_type __c, char __dfault', external] + - [C++14, locale, std, ctype, narrow, const char_type *, 'const char_type * __lo, const char_type * __hi, char __dfault, char * __to', external] + - [C++14, locale, std, ctype, widen, const char *, 'const char * __lo, const char * __hi, char_type * __to', external] + - [C++14, locale, std, ctype, widen, char_type, char __c, external] + - [C++14, locale, std, ctype, classic_table, const mask *, '', external] + - [C++14, locale, std, ctype, table, const mask *, '', external] + - [C++14, locale, std, messages, get, string_type, 'catalog __c, int __set, int __msgid, const string_type & __s', external] + - [C++14, locale, std, messages, close, void, catalog __c, external] + - [C++14, locale, std, messages, do_get, string_type, 'catalog (unnamed parameter 0), int (unnamed parameter 1), int (unnamed parameter 2), const string_type & __dfault', external] + - [C++14, locale, std, messages, open, catalog, 'const basic_string, allocator> & __s, const locale & __loc, const char * __dir', external] + - [C++14, locale, std, messages, open, catalog, 'const basic_string, allocator> & __s, const locale & __loc', external] + - [C++14, locale, std, messages, do_close, void, catalog (unnamed parameter 0), external] + - [C++14, locale, std, messages, do_open, catalog, 'const basic_string, allocator> & __s, const locale & (unnamed parameter 1)', external] + - [C++14, locale, std, numpunct, grouping, string, '', external] + - [C++14, locale, std, numpunct, thousands_sep, char_type, '', external] + - [C++14, locale, std, numpunct, decimal_point, char_type, '', external] + - [C++14, locale, std, numpunct, do_falsename, string_type, '', external] + - [C++14, locale, std, numpunct, do_truename, string_type, '', external] + - [C++14, locale, std, numpunct, do_grouping, string, '', external] + - [C++14, locale, std, numpunct, do_thousands_sep, char_type, '', external] + - [C++14, locale, std, numpunct, do_decimal_point, char_type, '', external] + - [C++14, locale, std, numpunct, falsename, string_type, '', external] + - [C++14, locale, std, numpunct, truename, string_type, '', external] + - [C++14, locale, std, ctype_byname, toupper, const char_type *, 'char_type * __lo, const char_type * __hi', external] + - [C++14, locale, std, ctype_byname, toupper, char_type, char_type __c, external] + - [C++14, locale, std, ctype_byname, tolower, const char_type *, 'char_type * __lo, const char_type * __hi', external] + - [C++14, locale, std, ctype_byname, tolower, char_type, char_type __c, external] + - [C++14, locale, std, ctype_byname, scan_not, const char_type *, 'mask __m, const char_type * __lo, const char_type * __hi', external] + - [C++14, locale, std, ctype_byname, scan_is, const char_type *, 'mask __m, const char_type * __lo, const char_type * __hi', external] + - [C++14, locale, std, ctype_byname, is, bool, 'mask __m, char_type __c', external] + - [C++14, locale, std, ctype_byname, is, const char_type *, 'const char_type * __lo, const char_type * __hi, mask * __vec', external] + - [C++14, locale, std, ctype_byname, do_narrow, char, 'char_type __c, char __dfault', external] + - [C++14, locale, std, ctype_byname, do_narrow, const char_type *, 'const char_type * __lo, const char_type * __hi, char __dfault, char * __to', external] + - [C++14, locale, std, ctype_byname, do_widen, const char *, 'const char * __lo, const char * __hi, char_type * __to', external] + - [C++14, locale, std, ctype_byname, do_widen, char_type, char __c, external] + - [C++14, locale, std, ctype_byname, do_tolower, const char_type *, 'char_type * __lo, const char_type * __hi', external] + - [C++14, locale, std, ctype_byname, do_tolower, char_type, char_type __c, external] + - [C++14, locale, std, ctype_byname, do_toupper, const char_type *, 'char_type * __lo, const char_type * __hi', external] + - [C++14, locale, std, ctype_byname, do_toupper, char_type, char_type __c, external] + - [C++14, locale, std, ctype_byname, do_scan_not, const char_type *, 'mask __m, const char_type * __lo, const char_type * __hi', external] + - [C++14, locale, std, ctype_byname, do_scan_is, const char_type *, 'mask __m, const char_type * __lo, const char_type * __hi', external] + - [C++14, locale, std, ctype_byname, do_is, bool, 'mask __m, char_type __c', external] + - [C++14, locale, std, ctype_byname, do_is, const char_type *, 'const char_type * __lo, const char_type * __hi, mask * __vec', external] + - [C++14, locale, std, ctype_byname, narrow, char, 'char_type __c, char __dfault', external] + - [C++14, locale, std, ctype_byname, narrow, const char_type *, 'const char_type * __lo, const char_type * __hi, char __dfault, char * __to', external] + - [C++14, locale, std, ctype_byname, widen, const char *, 'const char * __lo, const char * __hi, char_type * __to', external] + - [C++14, locale, std, ctype_byname, widen, char_type, char __c, external] + - [C++14, locale, std, num_put, do_put, iter_type, 'iter_type __s, ios_base & __io, char_type __fill, const void * __v', external] + - [C++14, locale, std, num_put, do_put, iter_type, 'iter_type __s, ios_base & __io, char_type __fill, long double __v', external] + - [C++14, locale, std, num_put, do_put, iter_type, 'iter_type __s, ios_base & __io, char_type __fill, double __v', external] + - [C++14, locale, std, num_put, do_put, iter_type, 'iter_type __s, ios_base & __io, char_type __fill, bool __v', external] + - [C++14, locale, std, num_put, do_put, iter_type, 'iter_type __s, ios_base & __io, char_type __fill, unsigned long long __v', external] + - [C++14, locale, std, num_put, do_put, iter_type, 'iter_type __s, ios_base & __io, char_type __fill, long long __v', external] + - [C++14, locale, std, num_put, do_put, iter_type, 'iter_type __s, ios_base & __io, char_type __fill, unsigned long __v', external] + - [C++14, locale, std, num_put, do_put, iter_type, 'iter_type __s, ios_base & __io, char_type __fill, long __v', external] + - [C++14, locale, std, num_put, put, iter_type, 'iter_type __s, ios_base & __io, char_type __fill, const void * __v', external] + - [C++14, locale, std, num_put, put, iter_type, 'iter_type __s, ios_base & __io, char_type __fill, long double __v', external] + - [C++14, locale, std, num_put, put, iter_type, 'iter_type __s, ios_base & __io, char_type __fill, double __v', external] + - [C++14, locale, std, num_put, put, iter_type, 'iter_type __s, ios_base & __io, char_type __fill, bool __v', external] + - [C++14, locale, std, num_put, put, iter_type, 'iter_type __s, ios_base & __io, char_type __fill, unsigned long long __v', external] + - [C++14, locale, std, num_put, put, iter_type, 'iter_type __s, ios_base & __io, char_type __fill, long long __v', external] + - [C++14, locale, std, num_put, put, iter_type, 'iter_type __s, ios_base & __io, char_type __fill, unsigned long __v', external] + - [C++14, locale, std, num_put, put, iter_type, 'iter_type __s, ios_base & __io, char_type __fill, long __v', external] + - [C++14, locale, std, num_get, get, iter_type, 'iter_type __in, iter_type __end, ios_base & __io, iostate & __err, void *& __v', external] + - [C++14, locale, std, num_get, get, iter_type, 'iter_type __in, iter_type __end, ios_base & __io, iostate & __err, long double & __v', external] + - [C++14, locale, std, num_get, get, iter_type, 'iter_type __in, iter_type __end, ios_base & __io, iostate & __err, double & __v', external] + - [C++14, locale, std, num_get, get, iter_type, 'iter_type __in, iter_type __end, ios_base & __io, iostate & __err, float & __v', external] + - [C++14, locale, std, num_get, get, iter_type, 'iter_type __in, iter_type __end, ios_base & __io, iostate & __err, unsigned long long & __v', external] + - [C++14, locale, std, num_get, get, iter_type, 'iter_type __in, iter_type __end, ios_base & __io, iostate & __err, long long & __v', external] + - [C++14, locale, std, num_get, get, iter_type, 'iter_type __in, iter_type __end, ios_base & __io, iostate & __err, unsigned long & __v', external] + - [C++14, locale, std, num_get, get, iter_type, 'iter_type __in, iter_type __end, ios_base & __io, iostate & __err, unsigned int & __v', external] + - [C++14, locale, std, num_get, get, iter_type, 'iter_type __in, iter_type __end, ios_base & __io, iostate & __err, unsigned short & __v', external] + - [C++14, locale, std, num_get, get, iter_type, 'iter_type __in, iter_type __end, ios_base & __io, iostate & __err, long & __v', external] + - [C++14, locale, std, num_get, get, iter_type, 'iter_type __in, iter_type __end, ios_base & __io, iostate & __err, bool & __v', external] + - [C++14, locale, std, num_get, do_get, iter_type, 'iter_type __beg, iter_type __end, ios_base & __io, iostate & __err, void *& __v', external] + - [C++14, locale, std, num_get, do_get, iter_type, 'iter_type __beg, iter_type __end, ios_base & __io, iostate & __err, long double & __v', external] + - [C++14, locale, std, num_get, do_get, iter_type, 'iter_type __beg, iter_type __end, ios_base & __io, iostate & __err, double & __v', external] + - [C++14, locale, std, num_get, do_get, iter_type, 'iter_type __beg, iter_type __end, ios_base & __io, iostate & __err, float & __v', external] + - [C++14, locale, std, num_get, do_get, iter_type, 'iter_type __beg, iter_type __end, ios_base & __io, iostate & __err, bool & __v', external] + - [C++14, locale, std, num_get, do_get, iter_type, 'iter_type __beg, iter_type __end, ios_base & __io, iostate & __err, unsigned long long & __v', external] + - [C++14, locale, std, num_get, do_get, iter_type, 'iter_type __beg, iter_type __end, ios_base & __io, iostate & __err, long long & __v', external] + - [C++14, locale, std, num_get, do_get, iter_type, 'iter_type __beg, iter_type __end, ios_base & __io, iostate & __err, unsigned long & __v', external] + - [C++14, locale, std, num_get, do_get, iter_type, 'iter_type __beg, iter_type __end, ios_base & __io, iostate & __err, unsigned int & __v', external] + - [C++14, locale, std, num_get, do_get, iter_type, 'iter_type __beg, iter_type __end, ios_base & __io, iostate & __err, unsigned short & __v', external] + - [C++14, locale, std, num_get, do_get, iter_type, 'iter_type __beg, iter_type __end, ios_base & __io, iostate & __err, long & __v', external] + - [C++14, locale, std, moneypunct, frac_digits, int, '', external] + - [C++14, locale, std, moneypunct, negative_sign, string_type, '', external] + - [C++14, locale, std, moneypunct, positive_sign, string_type, '', external] + - [C++14, locale, std, moneypunct, grouping, string, '', external] + - [C++14, locale, std, moneypunct, thousands_sep, char_type, '', external] + - [C++14, locale, std, moneypunct, decimal_point, char_type, '', external] + - [C++14, locale, std, moneypunct, do_grouping, string, '', external] + - [C++14, locale, std, moneypunct, do_thousands_sep, char_type, '', external] + - [C++14, locale, std, moneypunct, do_decimal_point, char_type, '', external] + - [C++14, locale, std, moneypunct, do_neg_format, pattern, '', external] + - [C++14, locale, std, moneypunct, do_pos_format, pattern, '', external] + - [C++14, locale, std, moneypunct, do_frac_digits, int, '', external] + - [C++14, locale, std, moneypunct, do_negative_sign, string_type, '', external] + - [C++14, locale, std, moneypunct, do_positive_sign, string_type, '', external] + - [C++14, locale, std, moneypunct, do_curr_symbol, string_type, '', external] + - [C++14, locale, std, moneypunct, neg_format, pattern, '', external] + - [C++14, locale, std, moneypunct, pos_format, pattern, '', external] + - [C++14, locale, std, moneypunct, curr_symbol, string_type, '', external] + - [C++14, locale, std, money_put, do_put, iter_type, 'iter_type __s, bool __intl, ios_base & __io, char_type __fill, const string_type & __digits', external] + - [C++14, locale, std, money_put, do_put, iter_type, 'iter_type __s, bool __intl, ios_base & __io, char_type __fill, long double __units', external] + - [C++14, locale, std, money_put, put, iter_type, 'iter_type __s, bool __intl, ios_base & __io, char_type __fill, const string_type & __digits', external] + - [C++14, locale, std, money_put, put, iter_type, 'iter_type __s, bool __intl, ios_base & __io, char_type __fill, long double __units', external] + - [C++14, locale, std, money_get, get, iter_type, 'iter_type __s, iter_type __end, bool __intl, ios_base & __io, iostate & __err, string_type & __digits', external] + - [C++14, locale, std, money_get, get, iter_type, 'iter_type __s, iter_type __end, bool __intl, ios_base & __io, iostate & __err, long double & __units', external] + - [C++14, locale, std, money_get, do_get, iter_type, 'iter_type __beg, iter_type __end, bool __intl, ios_base & __io, iostate & __err, string_type & __digits', external] + - [C++14, locale, std, money_get, do_get, iter_type, 'iter_type __beg, iter_type __end, bool __intl, ios_base & __io, iostate & __err, long double & __units', external] + - [C++14, locale, std, time_get, get, iter_type, 'iter_type __s, iter_type __end, ios_base & __io, iostate & __err, tm * __tm, const char_type * __fmt, const char_type * __fmtend', external] + - [C++14, locale, std, time_get, get, iter_type, 'iter_type __s, iter_type __end, ios_base & __io, iostate & __err, tm * __tm, char __format, char __modifier', external] + - [C++14, locale, std, time_get, do_get, iter_type, 'iter_type __beg, iter_type __end, ios_base & __io, iostate & __err, tm * __tm, char __format, char __mod', external] + - [C++14, locale, std, time_get, do_get_year, iter_type, 'iter_type __beg, iter_type __end, ios_base & __io, iostate & __err, tm * __tm', external] + - [C++14, locale, std, time_get, do_get_monthname, iter_type, 'iter_type __beg, iter_type __end, ios_base & __io, iostate & __err, tm * __tm', external] + - [C++14, locale, std, time_get, do_get_weekday, iter_type, 'iter_type __beg, iter_type __end, ios_base & __io, iostate & __err, tm * __tm', external] + - [C++14, locale, std, time_get, do_get_date, iter_type, 'iter_type __beg, iter_type __end, ios_base & __io, iostate & __err, tm * __tm', external] + - [C++14, locale, std, time_get, do_get_time, iter_type, 'iter_type __beg, iter_type __end, ios_base & __io, iostate & __err, tm * __tm', external] + - [C++14, locale, std, time_get, do_date_order, dateorder, '', external] + - [C++14, locale, std, time_get, get_year, iter_type, 'iter_type __beg, iter_type __end, ios_base & __io, iostate & __err, tm * __tm', external] + - [C++14, locale, std, time_get, get_monthname, iter_type, 'iter_type __beg, iter_type __end, ios_base & __io, iostate & __err, tm * __tm', external] + - [C++14, locale, std, time_get, get_weekday, iter_type, 'iter_type __beg, iter_type __end, ios_base & __io, iostate & __err, tm * __tm', external] + - [C++14, locale, std, time_get, get_date, iter_type, 'iter_type __beg, iter_type __end, ios_base & __io, iostate & __err, tm * __tm', external] + - [C++14, locale, std, time_get, get_time, iter_type, 'iter_type __beg, iter_type __end, ios_base & __io, iostate & __err, tm * __tm', external] + - [C++14, locale, std, time_get, date_order, dateorder, '', external] + - [C++14, locale, std, time_put, do_put, iter_type, 'iter_type __s, ios_base & __io, char_type __fill, const tm * __tm, char __format, char __mod', external] + - [C++14, locale, std, time_put, put, iter_type, 'iter_type __s, ios_base & __io, char_type __fill, const tm * __tm, char __format, char __mod', external] + - [C++14, locale, std, time_put, put, iter_type, 'iter_type __s, ios_base & __io, char_type __fill, const tm * __tm, const _CharT * __beg, const _CharT * __end', external] + - [C++14, locale, std, wstring_convert, state, state_type, '', external] + - [C++14, locale, std, wstring_convert, converted, size_t, '', external] + - [C++14, locale, std, wstring_convert, to_bytes, byte_string, _Elem __wchar, external] + - [C++14, locale, std, wstring_convert, to_bytes, byte_string, const _Elem * __ptr, external] + - [C++14, locale, std, wstring_convert, to_bytes, byte_string, const wide_string & __wstr, external] + - [C++14, locale, std, wstring_convert, to_bytes, byte_string, 'const _Elem * __first, const _Elem * __last', external] + - [C++14, locale, std, wstring_convert, from_bytes, wide_string, char __byte, external] + - [C++14, locale, std, wstring_convert, from_bytes, wide_string, const char * __ptr, external] + - [C++14, locale, std, wstring_convert, from_bytes, wide_string, const byte_string & __str, external] + - [C++14, locale, std, wstring_convert, from_bytes, wide_string, 'const char * __first, const char * __last', external] + - [C++14, locale, std, wbuffer_convert, state, state_type, '', external] + - [C++14, locale, std, wbuffer_convert, xsputn, streamsize, 'const char_type * __s, streamsize __n', external] + - [C++14, locale, std, wbuffer_convert, overflow, int_type, int_type __out, external] + - [C++14, locale, std, wbuffer_convert, underflow, int_type, '', external] + - [C++14, locale, std, wbuffer_convert, sync, int, '', external] + - [C++14, locale, std, wbuffer_convert, rdbuf, streambuf *, '', external] + - [C++14, locale, std, wbuffer_convert, rdbuf, streambuf *, streambuf * __bytebuf, external] + - [C++14, set, std, '', swap, void, 'multiset<_Key, _Compare, _Alloc> & __x, multiset<_Key, _Compare, _Alloc> & __y', external] + - [C++14, set, std, '', swap, void, 'set<_Key, _Compare, _Alloc> & __x, set<_Key, _Compare, _Alloc> & __y', external] + - [C++14, set, std, '', swap, void, '_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc> & __x, _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc> & __y', external] + - [C++14, set, std, set, swap, void, 'set<_Key, _Compare, _Alloc> & __x', external] + - [C++14, set, std, set, end, iterator, '', external] + - [C++14, set, std, set, begin, iterator, '', external] + - [C++14, set, std, set, size, size_type, '', external] + - [C++14, set, std, set, lower_bound, const_iterator, const key_type & __x, external] + - [C++14, set, std, set, lower_bound, iterator, const key_type & __x, external] + - [C++14, set, std, set, lower_bound, decltype(...), const _Kt & __x, external] + - [C++14, set, std, set, find, const_iterator, const key_type & __x, external] + - [C++14, set, std, set, find, iterator, const key_type & __x, external] + - [C++14, set, std, set, find, decltype(...), const _Kt & __x, external] + - [C++14, set, std, set, count, size_type, const key_type & __x, external] + - [C++14, set, std, set, count, decltype(...), const _Kt & __x, external] + - [C++14, set, std, set, upper_bound, const_iterator, const key_type & __x, external] + - [C++14, set, std, set, upper_bound, iterator, const key_type & __x, external] + - [C++14, set, std, set, upper_bound, decltype(...), const _Kt & __x, external] + - [C++14, set, std, set, equal_range, 'pair', const key_type & __x, external] + - [C++14, set, std, set, equal_range, decltype(...), const _Kt & __x, external] + - [C++14, set, std, set, crend, reverse_iterator, '', external] + - [C++14, set, std, set, crbegin, reverse_iterator, '', external] + - [C++14, set, std, set, rend, reverse_iterator, '', external] + - [C++14, set, std, set, rbegin, reverse_iterator, '', external] + - [C++14, set, std, set, cend, iterator, '', external] + - [C++14, set, std, set, cbegin, iterator, '', external] + - [C++14, set, std, set, empty, bool, '', external] + - [C++14, set, std, set, max_size, size_type, '', external] + - [C++14, set, std, set, clear, void, '', external] + - [C++14, set, std, set, insert, void, initializer_list<_Key> __l, external] + - [C++14, set, std, set, insert, void, '_InputIterator __first, _InputIterator __last', external] + - [C++14, set, std, set, insert, iterator, 'const_iterator __position, value_type && __x', external] + - [C++14, set, std, set, insert, iterator, 'const_iterator __position, const value_type & __x', external] + - [C++14, set, std, set, insert, 'pair', const value_type & __x, external] + - [C++14, set, std, set, insert, 'pair', value_type && __x, external] + - [C++14, set, std, set, get_allocator, allocator_type, '', external] + - [C++14, set, std, set, erase, size_type, const key_type & __x, external] + - [C++14, set, std, set, erase, iterator, const_iterator __position, external] + - [C++14, set, std, set, erase, iterator, 'const_iterator __first, const_iterator __last', external] + - [C++14, set, std, set, emplace, 'pair', _Args && __args, external] + - [C++14, set, std, set, key_comp, key_compare, '', external] + - [C++14, set, std, set, value_comp, value_compare, '', external] + - [C++14, set, std, set, emplace_hint, iterator, 'const_iterator __pos, _Args && __args', external] + - [C++14, set, std, multiset, swap, void, 'multiset<_Key, _Compare, _Alloc> & __x', external] + - [C++14, set, std, multiset, end, iterator, '', external] + - [C++14, set, std, multiset, begin, iterator, '', external] + - [C++14, set, std, multiset, size, size_type, '', external] + - [C++14, set, std, multiset, lower_bound, const_iterator, const key_type & __x, external] + - [C++14, set, std, multiset, lower_bound, iterator, const key_type & __x, external] + - [C++14, set, std, multiset, lower_bound, decltype(...), const _Kt & __x, external] + - [C++14, set, std, multiset, find, const_iterator, const key_type & __x, external] + - [C++14, set, std, multiset, find, iterator, const key_type & __x, external] + - [C++14, set, std, multiset, find, decltype(...), const _Kt & __x, external] + - [C++14, set, std, multiset, count, size_type, const key_type & __x, external] + - [C++14, set, std, multiset, count, decltype(...), const _Kt & __x, external] + - [C++14, set, std, multiset, upper_bound, const_iterator, const key_type & __x, external] + - [C++14, set, std, multiset, upper_bound, iterator, const key_type & __x, external] + - [C++14, set, std, multiset, upper_bound, decltype(...), const _Kt & __x, external] + - [C++14, set, std, multiset, equal_range, 'pair', const key_type & __x, external] + - [C++14, set, std, multiset, equal_range, decltype(...), const _Kt & __x, external] + - [C++14, set, std, multiset, crend, reverse_iterator, '', external] + - [C++14, set, std, multiset, crbegin, reverse_iterator, '', external] + - [C++14, set, std, multiset, rend, reverse_iterator, '', external] + - [C++14, set, std, multiset, rbegin, reverse_iterator, '', external] + - [C++14, set, std, multiset, cend, iterator, '', external] + - [C++14, set, std, multiset, cbegin, iterator, '', external] + - [C++14, set, std, multiset, empty, bool, '', external] + - [C++14, set, std, multiset, max_size, size_type, '', external] + - [C++14, set, std, multiset, clear, void, '', external] + - [C++14, set, std, multiset, insert, void, initializer_list<_Key> __l, external] + - [C++14, set, std, multiset, insert, void, '_InputIterator __first, _InputIterator __last', external] + - [C++14, set, std, multiset, insert, iterator, const value_type & __x, external] + - [C++14, set, std, multiset, insert, iterator, value_type && __x, external] + - [C++14, set, std, multiset, insert, iterator, 'const_iterator __position, value_type && __x', external] + - [C++14, set, std, multiset, insert, iterator, 'const_iterator __position, const value_type & __x', external] + - [C++14, set, std, multiset, get_allocator, allocator_type, '', external] + - [C++14, set, std, multiset, erase, size_type, const key_type & __x, external] + - [C++14, set, std, multiset, erase, iterator, const_iterator __position, external] + - [C++14, set, std, multiset, erase, iterator, 'const_iterator __first, const_iterator __last', external] + - [C++14, set, std, multiset, emplace, iterator, _Args && __args, external] + - [C++14, set, std, multiset, key_comp, key_compare, '', external] + - [C++14, set, std, multiset, value_comp, value_compare, '', external] + - [C++14, set, std, multiset, emplace_hint, iterator, 'const_iterator __pos, _Args && __args', external] + - [C++14, bitset, std, bitset, size, size_t, '', external] + - [C++14, bitset, std, bitset, count, size_t, '', external] + - [C++14, bitset, std, bitset, reset, bitset<_Nb> &, '', external] + - [C++14, bitset, std, bitset, reset, bitset<_Nb> &, size_t __position, external] + - [C++14, bitset, std, bitset, to_string, 'basic_string<_CharT, _Traits, _Alloc>', '', external] + - [C++14, bitset, std, bitset, to_string, 'basic_string<_CharT, _Traits, _Alloc>', '_CharT __zero, _CharT __one', external] + - [C++14, bitset, std, bitset, to_string, 'basic_string<_CharT, char_traits<_CharT>, allocator<_CharT>>', '', external] + - [C++14, bitset, std, bitset, to_string, 'basic_string<_CharT, char_traits<_CharT>, allocator<_CharT>>', '_CharT __zero, _CharT __one', external] + - [C++14, bitset, std, bitset, to_string, 'basic_string<_CharT, _Traits, allocator<_CharT>>', '', external] + - [C++14, bitset, std, bitset, to_string, 'basic_string<_CharT, _Traits, allocator<_CharT>>', '_CharT __zero, _CharT __one', external] + - [C++14, bitset, std, bitset, to_string, 'basic_string, allocator>', '', external] + - [C++14, bitset, std, bitset, to_string, 'basic_string, allocator>', 'char __zero, char __one', external] + - [C++14, bitset, std, bitset, none, bool, '', external] + - [C++14, bitset, std, bitset, any, bool, '', external] + - [C++14, bitset, std, bitset, all, bool, '', external] + - [C++14, bitset, std, bitset, test, bool, size_t __position, external] + - [C++14, bitset, std, bitset, to_ullong, unsigned long long, '', external] + - [C++14, bitset, std, bitset, to_ulong, unsigned long, '', external] + - [C++14, bitset, std, bitset, flip, bitset<_Nb> &, '', external] + - [C++14, bitset, std, bitset, flip, bitset<_Nb> &, size_t __position, external] + - [C++14, bitset, std, bitset, set, bitset<_Nb> &, '', external] + - [C++14, bitset, std, bitset, set, bitset<_Nb> &, 'size_t __position, bool __val', external] + - [C++14, numeric, std, '', adjacent_difference, _OutputIterator, '_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryOperation __binary_op', external] + - [C++14, numeric, std, '', adjacent_difference, _OutputIterator, '_InputIterator __first, _InputIterator __last, _OutputIterator __result', external] + - [C++14, numeric, std, '', partial_sum, _OutputIterator, '_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryOperation __binary_op', external] + - [C++14, numeric, std, '', partial_sum, _OutputIterator, '_InputIterator __first, _InputIterator __last, _OutputIterator __result', external] + - [C++14, numeric, std, '', inner_product, _Tp, '_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _Tp __init, _BinaryOperation1 __binary_op1, _BinaryOperation2 __binary_op2', external] + - [C++14, numeric, std, '', inner_product, _Tp, '_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _Tp __init', external] + - [C++14, numeric, std, '', accumulate, _Tp, '_InputIterator __first, _InputIterator __last, _Tp __init, _BinaryOperation __binary_op', external] + - [C++14, numeric, std, '', accumulate, _Tp, '_InputIterator __first, _InputIterator __last, _Tp __init', external] + - [C++14, numeric, std, '', iota, void, '_ForwardIterator __first, _ForwardIterator __last, _Tp __value', external] + - [C++14, system_error, std, '', system_category, const error_category &, '', external] + - [C++14, system_error, std, '', generic_category, const error_category &, '', external] + - [C++14, system_error, std, '', make_error_condition, error_condition, errc __e, external] + - [C++14, system_error, std, '', make_error_code, error_code, errc __e, external] + - [C++14, system_error, std, system_error, code, const error_code &, '', external] + - [C++14, system_error, std, error_code, value, int, '', external] + - [C++14, system_error, std, error_code, clear, void, '', external] + - [C++14, system_error, std, error_code, assign, void, 'int __v, const error_category & __cat', external] + - [C++14, system_error, std, error_code, category, const error_category &, '', external] + - [C++14, system_error, std, error_code, message, string, '', external] + - [C++14, system_error, std, error_code, default_error_condition, error_condition, '', external] + - [C++14, system_error, std, error_condition, value, int, '', external] + - [C++14, system_error, std, error_condition, clear, void, '', external] + - [C++14, system_error, std, error_condition, assign, void, 'int __v, const error_category & __cat', external] + - [C++14, system_error, std, error_condition, category, const error_category &, '', external] + - [C++14, system_error, std, error_condition, message, string, '', external] + - [C++14, system_error, std, error_category, name, const char *, '', external] + - [C++14, system_error, std, error_category, message, string, int (unnamed parameter 0), external] + - [C++14, system_error, std, error_category, default_error_condition, error_condition, int __i, external] + - [C++14, system_error, std, error_category, equivalent, bool, 'int __i, const error_condition & __cond', external] + - [C++14, system_error, std, error_category, equivalent, bool, 'const error_code & __code, int __i', external] + - [C++14, complex, std, '', abs, _Tp, const complex<_Tp> & __z, external] + - [C++14, complex, std, '', atanh, complex<_Tp>, const complex<_Tp> & __z, external] + - [C++14, complex, std, '', asinh, complex<_Tp>, const complex<_Tp> & __z, external] + - [C++14, complex, std, '', acosh, complex<_Tp>, const complex<_Tp> & __z, external] + - [C++14, complex, std, '', tanh, complex<_Tp>, const complex<_Tp> & __z, external] + - [C++14, complex, std, '', tan, complex<_Tp>, const complex<_Tp> & __z, external] + - [C++14, complex, std, '', sqrt, complex<_Tp>, const complex<_Tp> & __z, external] + - [C++14, complex, std, '', sinh, complex<_Tp>, const complex<_Tp> & __z, external] + - [C++14, complex, std, '', sin, complex<_Tp>, const complex<_Tp> & __z, external] + - [C++14, complex, std, '', pow, complex<_Tp>, 'const complex<_Tp> & __x, const complex<_Tp> & __y', external] + - [C++14, complex, std, '', pow, complex<_Tp>, 'const _Tp & __x, const complex<_Tp> & __y', external] + - [C++14, complex, std, '', pow, complex<_Tp>, 'const complex<_Tp> & __x, const _Tp & __y', external] + - [C++14, complex, std, '', pow, complex<_Tp>, 'const complex<_Tp> & __z, int __n', external] + - [C++14, complex, std, '', pow, complex<__type>, 'const complex<_Tp> & __x, const complex<_Up> & __y', external] + - [C++14, complex, std, '', pow, complex<__type>, 'const _Tp & __x, const complex<_Up> & __y', external] + - [C++14, complex, std, '', pow, complex<__type>, 'const complex<_Tp> & __x, const _Up & __y', external] + - [C++14, complex, std, '', log10, complex<_Tp>, const complex<_Tp> & __z, external] + - [C++14, complex, std, '', log, complex<_Tp>, const complex<_Tp> & __z, external] + - [C++14, complex, std, '', fabs, _Tp, const complex<_Tp> & __z, external] + - [C++14, complex, std, '', exp, complex<_Tp>, const complex<_Tp> & __z, external] + - [C++14, complex, std, '', cosh, complex<_Tp>, const complex<_Tp> & __z, external] + - [C++14, complex, std, '', cos, complex<_Tp>, const complex<_Tp> & __z, external] + - [C++14, complex, std, '', atan, complex<_Tp>, const complex<_Tp> & __z, external] + - [C++14, complex, std, '', asin, complex<_Tp>, const complex<_Tp> & __z, external] + - [C++14, complex, std, '', acos, complex<_Tp>, const complex<_Tp> & __z, external] + - [C++14, complex, std, '', conj, complex<_Tp>, const complex<_Tp> & __z, external] + - [C++14, complex, std, '', conj, complex<__type>, _Tp __x, external] + - [C++14, complex, std, '', proj, complex<_Tp>, const complex<_Tp> & __z, external] + - [C++14, complex, std, '', proj, complex<__type>, _Tp __x, external] + - [C++14, complex, std, '', real, _Tp, const complex<_Tp> & __z, external] + - [C++14, complex, std, '', real, __type, _Tp __x, external] + - [C++14, complex, std, '', norm, _Tp, const complex<_Tp> & __z, external] + - [C++14, complex, std, '', norm, __type, _Tp __x, external] + - [C++14, complex, std, '', imag, _Tp, const complex<_Tp> & __z, external] + - [C++14, complex, std, '', imag, __type, _Tp (unnamed parameter 0), external] + - [C++14, complex, std, '', arg, _Tp, const complex<_Tp> & __z, external] + - [C++14, complex, std, '', arg, __type, _Tp __x, external] + - [C++14, complex, std, '', polar, complex<_Tp>, 'const _Tp & __rho, const _Tp & __theta', external] + - [C++14, complex, std, complex, real, void, long double __val, external] + - [C++14, complex, std, complex, real, void, double __val, external] + - [C++14, complex, std, complex, real, void, float __val, external] + - [C++14, complex, std, complex, real, void, _Tp __val, external] + - [C++14, complex, std, complex, real, float, '', external] + - [C++14, complex, std, complex, real, double, '', external] + - [C++14, complex, std, complex, real, long double, '', external] + - [C++14, complex, std, complex, real, _Tp, '', external] + - [C++14, complex, std, complex, imag, void, long double __val, external] + - [C++14, complex, std, complex, imag, void, double __val, external] + - [C++14, complex, std, complex, imag, void, float __val, external] + - [C++14, complex, std, complex, imag, void, _Tp __val, external] + - [C++14, complex, std, complex, imag, float, '', external] + - [C++14, complex, std, complex, imag, double, '', external] + - [C++14, complex, std, complex, imag, long double, '', external] + - [C++14, complex, std, complex, imag, _Tp, '', external] + - [C++14, chrono, 'std::chrono', '', time_point_cast, type, 'const time_point<_Clock, _Dur> & __t', external] + - [C++14, chrono, 'std::chrono', '', duration_cast, __enable_if_is_duration, 'const duration<_Rep, _Period> & __d', external] + - [C++14, chrono, 'std::chrono', time_point, max, 'time_point<_Clock, _Dur>', '', external] + - [C++14, chrono, 'std::chrono', time_point, min, 'time_point<_Clock, _Dur>', '', external] + - [C++14, chrono, 'std::chrono', time_point, time_since_epoch, duration, '', external] + - [C++14, chrono, 'std::chrono', duration, max, 'duration<_Rep, _Period>', '', external] + - [C++14, chrono, 'std::chrono', duration, min, 'duration<_Rep, _Period>', '', external] + - [C++14, chrono, 'std::chrono', duration, count, rep, '', external] + - [C++14, chrono, 'std::chrono', duration, zero, 'duration<_Rep, _Period>', '', external] + - [C++14, chrono, 'std::chrono', steady_clock, now, time_point, '', external] + - [C++14, chrono, 'std::chrono', system_clock, now, time_point, '', external] + - [C++14, chrono, 'std::chrono', system_clock, from_time_t, time_point, time_t __t, external] + - [C++14, chrono, 'std::chrono', system_clock, to_time_t, time_t, const time_point & __t, external] + - [C++14, chrono, 'std::chrono', duration_values, max, _Rep, '', external] + - [C++14, chrono, 'std::chrono', duration_values, min, _Rep, '', external] + - [C++14, chrono, 'std::chrono', duration_values, zero, _Rep, '', external] + - [C++14, codecvt, std, codecvt_byname, length, int, 'state_type & __state, const extern_type * __from, const extern_type * __end, size_t __max', external] + - [C++14, codecvt, std, codecvt_byname, out, result, 'state_type & __state, const intern_type * __from, const intern_type * __from_end, const intern_type *& __from_next, extern_type * __to, extern_type * __to_end, extern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt_byname, in, result, 'state_type & __state, const extern_type * __from, const extern_type * __from_end, const extern_type *& __from_next, intern_type * __to, intern_type * __to_end, intern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt_byname, do_max_length, int, '', external] + - [C++14, codecvt, std, codecvt_byname, do_length, int, 'state_type & (unnamed parameter 0), const extern_type * __from, const extern_type * __end, size_t __max', external] + - [C++14, codecvt, std, codecvt_byname, do_always_noconv, bool, '', external] + - [C++14, codecvt, std, codecvt_byname, do_encoding, int, '', external] + - [C++14, codecvt, std, codecvt_byname, do_in, result, 'state_type & __state, const extern_type * __from, const extern_type * __from_end, const extern_type *& __from_next, intern_type * __to, intern_type * __to_end, intern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt_byname, do_unshift, result, 'state_type & __state, extern_type * __to, extern_type * __to_end, extern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt_byname, do_out, result, 'state_type & __state, const intern_type * __from, const intern_type * __from_end, const intern_type *& __from_next, extern_type * __to, extern_type * __to_end, extern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt_byname, max_length, int, '', external] + - [C++14, codecvt, std, codecvt_byname, always_noconv, bool, '', external] + - [C++14, codecvt, std, codecvt_byname, encoding, int, '', external] + - [C++14, codecvt, std, codecvt_byname, unshift, result, 'state_type & __state, extern_type * __to, extern_type * __to_end, extern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt, length, int, 'state_type & __state, const extern_type * __from, const extern_type * __end, size_t __max', external] + - [C++14, codecvt, std, codecvt, out, result, 'state_type & __state, const intern_type * __from, const intern_type * __from_end, const intern_type *& __from_next, extern_type * __to, extern_type * __to_end, extern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt, in, result, 'state_type & __state, const extern_type * __from, const extern_type * __from_end, const extern_type *& __from_next, intern_type * __to, intern_type * __to_end, intern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt, do_max_length, int, '', external] + - [C++14, codecvt, std, codecvt, do_length, int, 'state_type & (unnamed parameter 0), const extern_type * __from, const extern_type * __end, size_t __max', external] + - [C++14, codecvt, std, codecvt, do_always_noconv, bool, '', external] + - [C++14, codecvt, std, codecvt, do_encoding, int, '', external] + - [C++14, codecvt, std, codecvt, do_in, result, 'state_type & __state, const extern_type * __from, const extern_type * __from_end, const extern_type *& __from_next, intern_type * __to, intern_type * __to_end, intern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt, do_unshift, result, 'state_type & __state, extern_type * __to, extern_type * __to_end, extern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt, do_out, result, 'state_type & __state, const intern_type * __from, const intern_type * __from_end, const intern_type *& __from_next, extern_type * __to, extern_type * __to_end, extern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt, max_length, int, '', external] + - [C++14, codecvt, std, codecvt, always_noconv, bool, '', external] + - [C++14, codecvt, std, codecvt, encoding, int, '', external] + - [C++14, codecvt, std, codecvt, unshift, result, 'state_type & __state, extern_type * __to, extern_type * __to_end, extern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt_utf8_utf16, length, int, 'state_type & __state, const extern_type * __from, const extern_type * __end, size_t __max', external] + - [C++14, codecvt, std, codecvt_utf8_utf16, out, result, 'state_type & __state, const intern_type * __from, const intern_type * __from_end, const intern_type *& __from_next, extern_type * __to, extern_type * __to_end, extern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt_utf8_utf16, in, result, 'state_type & __state, const extern_type * __from, const extern_type * __from_end, const extern_type *& __from_next, intern_type * __to, intern_type * __to_end, intern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt_utf8_utf16, do_max_length, int, '', external] + - [C++14, codecvt, std, codecvt_utf8_utf16, do_length, int, 'state_type & (unnamed parameter 0), const extern_type * __from, const extern_type * __end, size_t __max', external] + - [C++14, codecvt, std, codecvt_utf8_utf16, do_always_noconv, bool, '', external] + - [C++14, codecvt, std, codecvt_utf8_utf16, do_encoding, int, '', external] + - [C++14, codecvt, std, codecvt_utf8_utf16, do_in, result, 'state_type & __state, const extern_type * __from, const extern_type * __from_end, const extern_type *& __from_next, intern_type * __to, intern_type * __to_end, intern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt_utf8_utf16, do_unshift, result, 'state_type & __state, extern_type * __to, extern_type * __to_end, extern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt_utf8_utf16, do_out, result, 'state_type & __state, const intern_type * __from, const intern_type * __from_end, const intern_type *& __from_next, extern_type * __to, extern_type * __to_end, extern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt_utf8_utf16, max_length, int, '', external] + - [C++14, codecvt, std, codecvt_utf8_utf16, always_noconv, bool, '', external] + - [C++14, codecvt, std, codecvt_utf8_utf16, encoding, int, '', external] + - [C++14, codecvt, std, codecvt_utf8_utf16, unshift, result, 'state_type & __state, extern_type * __to, extern_type * __to_end, extern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt_utf16, length, int, 'state_type & __state, const extern_type * __from, const extern_type * __end, size_t __max', external] + - [C++14, codecvt, std, codecvt_utf16, out, result, 'state_type & __state, const intern_type * __from, const intern_type * __from_end, const intern_type *& __from_next, extern_type * __to, extern_type * __to_end, extern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt_utf16, in, result, 'state_type & __state, const extern_type * __from, const extern_type * __from_end, const extern_type *& __from_next, intern_type * __to, intern_type * __to_end, intern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt_utf16, do_max_length, int, '', external] + - [C++14, codecvt, std, codecvt_utf16, do_length, int, 'state_type & (unnamed parameter 0), const extern_type * __from, const extern_type * __end, size_t __max', external] + - [C++14, codecvt, std, codecvt_utf16, do_always_noconv, bool, '', external] + - [C++14, codecvt, std, codecvt_utf16, do_encoding, int, '', external] + - [C++14, codecvt, std, codecvt_utf16, do_in, result, 'state_type & __state, const extern_type * __from, const extern_type * __from_end, const extern_type *& __from_next, intern_type * __to, intern_type * __to_end, intern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt_utf16, do_unshift, result, 'state_type & __state, extern_type * __to, extern_type * __to_end, extern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt_utf16, do_out, result, 'state_type & __state, const intern_type * __from, const intern_type * __from_end, const intern_type *& __from_next, extern_type * __to, extern_type * __to_end, extern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt_utf16, max_length, int, '', external] + - [C++14, codecvt, std, codecvt_utf16, always_noconv, bool, '', external] + - [C++14, codecvt, std, codecvt_utf16, encoding, int, '', external] + - [C++14, codecvt, std, codecvt_utf16, unshift, result, 'state_type & __state, extern_type * __to, extern_type * __to_end, extern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt_utf8, length, int, 'state_type & __state, const extern_type * __from, const extern_type * __end, size_t __max', external] + - [C++14, codecvt, std, codecvt_utf8, out, result, 'state_type & __state, const intern_type * __from, const intern_type * __from_end, const intern_type *& __from_next, extern_type * __to, extern_type * __to_end, extern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt_utf8, in, result, 'state_type & __state, const extern_type * __from, const extern_type * __from_end, const extern_type *& __from_next, intern_type * __to, intern_type * __to_end, intern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt_utf8, do_max_length, int, '', external] + - [C++14, codecvt, std, codecvt_utf8, do_length, int, 'state_type & (unnamed parameter 0), const extern_type * __from, const extern_type * __end, size_t __max', external] + - [C++14, codecvt, std, codecvt_utf8, do_always_noconv, bool, '', external] + - [C++14, codecvt, std, codecvt_utf8, do_encoding, int, '', external] + - [C++14, codecvt, std, codecvt_utf8, do_in, result, 'state_type & __state, const extern_type * __from, const extern_type * __from_end, const extern_type *& __from_next, intern_type * __to, intern_type * __to_end, intern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt_utf8, do_unshift, result, 'state_type & __state, extern_type * __to, extern_type * __to_end, extern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt_utf8, do_out, result, 'state_type & __state, const intern_type * __from, const intern_type * __from_end, const intern_type *& __from_next, extern_type * __to, extern_type * __to_end, extern_type *& __to_next', external] + - [C++14, codecvt, std, codecvt_utf8, max_length, int, '', external] + - [C++14, codecvt, std, codecvt_utf8, always_noconv, bool, '', external] + - [C++14, codecvt, std, codecvt_utf8, encoding, int, '', external] + - [C++14, codecvt, std, codecvt_utf8, unshift, result, 'state_type & __state, extern_type * __to, extern_type * __to_end, extern_type *& __to_next', external] + - [C++14, mutex, std, '', swap, void, 'unique_lock<_Mutex> & __x, unique_lock<_Mutex> & __y', external] + - [C++14, mutex, std, '', lock, void, '_L1 & __l1, _L2 & __l2, _L3 & __l3', external] + - [C++14, mutex, std, '', try_lock, int, '_Lock1 & __l1, _Lock2 & __l2, _Lock3 & __l3', external] + - [C++14, mutex, std, '', call_once, void, 'once_flag & __once, _Callable && __f, _Args && __args', external] + - [C++14, mutex, std, mutex, unlock, void, '', external] + - [C++14, mutex, std, mutex, lock, void, '', external] + - [C++14, mutex, std, mutex, native_handle, native_handle_type, '', external] + - [C++14, mutex, std, mutex, try_lock, bool, '', external] + - [C++14, mutex, std, unique_lock, swap, void, unique_lock<_Mutex> & __u, external] + - [C++14, mutex, std, unique_lock, unlock, void, '', external] + - [C++14, mutex, std, unique_lock, lock, void, '', external] + - [C++14, mutex, std, unique_lock, try_lock, bool, '', external] + - [C++14, mutex, std, unique_lock, mutex, mutex_type *, '', external] + - [C++14, mutex, std, unique_lock, owns_lock, bool, '', external] + - [C++14, mutex, std, unique_lock, release, mutex_type *, '', external] + - [C++14, mutex, std, unique_lock, try_lock_for, bool, 'const duration<_Rep, _Period> & __rtime', external] + - [C++14, mutex, std, unique_lock, try_lock_until, bool, 'const time_point<_Clock, _Duration> & __atime', external] + - [C++14, mutex, std, recursive_timed_mutex, unlock, void, '', external] + - [C++14, mutex, std, recursive_timed_mutex, lock, void, '', external] + - [C++14, mutex, std, recursive_timed_mutex, native_handle, native_handle_type, '', external] + - [C++14, mutex, std, recursive_timed_mutex, try_lock, bool, '', external] + - [C++14, mutex, std, recursive_timed_mutex, try_lock_for, bool, 'const duration<_Rep, _Period> & __rtime', external] + - [C++14, mutex, std, recursive_timed_mutex, try_lock_until, bool, 'const time_point<_Clock, _Duration> & __atime', external] + - [C++14, mutex, std, timed_mutex, unlock, void, '', external] + - [C++14, mutex, std, timed_mutex, lock, void, '', external] + - [C++14, mutex, std, timed_mutex, native_handle, native_handle_type, '', external] + - [C++14, mutex, std, timed_mutex, try_lock, bool, '', external] + - [C++14, mutex, std, timed_mutex, try_lock_for, bool, 'const duration<_Rep, _Period> & __rtime', external] + - [C++14, mutex, std, timed_mutex, try_lock_until, bool, 'const time_point<_Clock, _Duration> & __atime', external] + - [C++14, mutex, std, recursive_mutex, unlock, void, '', external] + - [C++14, mutex, std, recursive_mutex, lock, void, '', external] + - [C++14, mutex, std, recursive_mutex, native_handle, native_handle_type, '', external] + - [C++14, mutex, std, recursive_mutex, try_lock, bool, '', external] + - [C++14, tuple, std, '', swap, void, 'tuple<_Elements...> & __x, tuple<_Elements...> & __y', external] + - [C++14, tuple, std, '', get, const _Tp &, const tuple<_Types...> & __t, external] + - [C++14, tuple, std, '', get, _Tp &, tuple<_Types...> & __t, external] + - [C++14, tuple, std, '', get, _Tp &&, tuple<_Types...> && __t, external] + - [C++14, tuple, std, '', get, const _Tp &&, const tuple<_Types...> && __t, external] + - [C++14, tuple, std, '', get, 'const __tuple_element_t<__i, tuple<_Elements...>> &&', const tuple<_Elements...> && __t, external] + - [C++14, tuple, std, '', get, '__tuple_element_t<__i, tuple<_Elements...>> &&', tuple<_Elements...> && __t, external] + - [C++14, tuple, std, '', get, 'const __tuple_element_t<__i, tuple<_Elements...>> &', const tuple<_Elements...> & __t, external] + - [C++14, tuple, std, '', get, '__tuple_element_t<__i, tuple<_Elements...>> &', tuple<_Elements...> & __t, external] + - [C++14, tuple, std, '', tie, tuple<_Elements &...>, _Elements & __args, external] + - [C++14, tuple, std, '', tuple_cat, __type, _Tpls && __tpls, external] + - [C++14, tuple, std, '', forward_as_tuple, tuple<_Elements &&...>, _Elements && __args, external] + - [C++14, tuple, std, '', make_tuple, tuple<__type...>, _Elements && __args, external] + - [C++14, tuple, std, tuple, swap, void, 'tuple<_T1, _T2> & __in', external] + - [C++14, tuple, std, tuple, swap, void, tuple<_Elements...> & __in, external] + - [C++14, tuple, std, tuple, swap, void, tuple<> & (unnamed parameter 0), external] + - [C++14, condition_variable, std, '', notify_all_at_thread_exit, void, 'condition_variable & (unnamed parameter 0), unique_lock (unnamed parameter 1)', external] + - [C++14, condition_variable, std, condition_variable_any, wait, void, _Lock & __lock, external] + - [C++14, condition_variable, std, condition_variable_any, wait, void, '_Lock & __lock, _Predicate __p', external] + - [C++14, condition_variable, std, condition_variable_any, wait_for, bool, '_Lock & __lock, const duration<_Rep, _Period> & __rtime, _Predicate __p', external] + - [C++14, condition_variable, std, condition_variable_any, wait_for, cv_status, '_Lock & __lock, const duration<_Rep, _Period> & __rtime', external] + - [C++14, condition_variable, std, condition_variable_any, wait_until, bool, '_Lock & __lock, const time_point<_Clock, _Duration> & __atime, _Predicate __p', external] + - [C++14, condition_variable, std, condition_variable_any, wait_until, cv_status, '_Lock & __lock, const time_point<_Clock, _Duration> & __atime', external] + - [C++14, condition_variable, std, condition_variable_any, notify_all, void, '', external] + - [C++14, condition_variable, std, condition_variable_any, notify_one, void, '', external] + - [C++14, condition_variable, std, condition_variable, native_handle, native_handle_type, '', external] + - [C++14, condition_variable, std, condition_variable, wait, void, unique_lock & __lock, external] + - [C++14, condition_variable, std, condition_variable, wait, void, 'unique_lock & __lock, _Predicate __p', external] + - [C++14, condition_variable, std, condition_variable, wait_for, bool, 'unique_lock & __lock, const duration<_Rep, _Period> & __rtime, _Predicate __p', external] + - [C++14, condition_variable, std, condition_variable, wait_for, cv_status, 'unique_lock & __lock, const duration<_Rep, _Period> & __rtime', external] + - [C++14, condition_variable, std, condition_variable, wait_until, bool, 'unique_lock & __lock, const time_point<_Clock, _Duration> & __atime, _Predicate __p', external] + - [C++14, condition_variable, std, condition_variable, wait_until, cv_status, 'unique_lock & __lock, const time_point<_Clock, _Duration> & __atime', external] + - [C++14, condition_variable, std, condition_variable, wait_until, cv_status, 'unique_lock & __lock, const time_point & __atime', external] + - [C++14, condition_variable, std, condition_variable, wait_until, cv_status, 'unique_lock & __lock, const time_point & __atime', external] + - [C++14, condition_variable, std, condition_variable, notify_all, void, '', external] + - [C++14, condition_variable, std, condition_variable, notify_one, void, '', external] + - [C++14, deque, std, '', swap, void, 'deque<_Tp, _Alloc> & __x, deque<_Tp, _Alloc> & __y', external] + - [C++14, deque, std, deque, swap, void, 'deque<_Tp, _Alloc> & __x', external] + - [C++14, deque, std, deque, end, const_iterator, '', external] + - [C++14, deque, std, deque, end, iterator, '', external] + - [C++14, deque, std, deque, begin, const_iterator, '', external] + - [C++14, deque, std, deque, begin, iterator, '', external] + - [C++14, deque, std, deque, size, size_type, '', external] + - [C++14, deque, std, deque, crend, const_reverse_iterator, '', external] + - [C++14, deque, std, deque, crbegin, const_reverse_iterator, '', external] + - [C++14, deque, std, deque, rend, reverse_iterator, '', external] + - [C++14, deque, std, deque, rend, const_reverse_iterator, '', external] + - [C++14, deque, std, deque, rbegin, reverse_iterator, '', external] + - [C++14, deque, std, deque, rbegin, const_reverse_iterator, '', external] + - [C++14, deque, std, deque, cend, const_iterator, '', external] + - [C++14, deque, std, deque, cbegin, const_iterator, '', external] + - [C++14, deque, std, deque, back, const_reference, '', external] + - [C++14, deque, std, deque, back, reference, '', external] + - [C++14, deque, std, deque, front, const_reference, '', external] + - [C++14, deque, std, deque, front, reference, '', external] + - [C++14, deque, std, deque, at, const_reference, size_type __n, external] + - [C++14, deque, std, deque, at, reference, size_type __n, external] + - [C++14, deque, std, deque, empty, bool, '', external] + - [C++14, deque, std, deque, max_size, size_type, '', external] + - [C++14, deque, std, deque, clear, void, '', external] + - [C++14, deque, std, deque, assign, void, initializer_list<_Tp> __l, external] + - [C++14, deque, std, deque, assign, void, '_InputIterator __first, _InputIterator __last', external] + - [C++14, deque, std, deque, assign, void, 'size_type __n, const value_type & __val', external] + - [C++14, deque, std, deque, insert, iterator, 'const_iterator __position, _InputIterator __first, _InputIterator __last', external] + - [C++14, deque, std, deque, insert, iterator, 'const_iterator __position, size_type __n, const value_type & __x', external] + - [C++14, deque, std, deque, insert, iterator, 'const_iterator __p, initializer_list<_Tp> __l', external] + - [C++14, deque, std, deque, insert, iterator, 'const_iterator __position, value_type && __x', external] + - [C++14, deque, std, deque, insert, iterator, 'const_iterator __position, const value_type & __x', external] + - [C++14, deque, std, deque, get_allocator, allocator_type, '', external] + - [C++14, deque, std, deque, pop_back, void, '', external] + - [C++14, deque, std, deque, erase, iterator, const_iterator __position, external] + - [C++14, deque, std, deque, erase, iterator, 'const_iterator __first, const_iterator __last', external] + - [C++14, deque, std, deque, push_back, void, const value_type & __x, external] + - [C++14, deque, std, deque, push_back, void, value_type && __x, external] + - [C++14, deque, std, deque, shrink_to_fit, void, '', external] + - [C++14, deque, std, deque, resize, void, size_type __new_size, external] + - [C++14, deque, std, deque, resize, void, 'size_type __new_size, const value_type & __x', external] + - [C++14, deque, std, deque, pop_front, void, '', external] + - [C++14, deque, std, deque, push_front, void, const value_type & __x, external] + - [C++14, deque, std, deque, push_front, void, value_type && __x, external] + - [C++14, deque, std, deque, emplace, iterator, 'const_iterator __position, _Args && __args', external] + - [C++14, deque, std, deque, emplace_back, void, _Args && __args, external] + - [C++14, deque, std, deque, emplace_front, void, _Args && __args, external] + - [C++14, forward_list, std, '', swap, void, 'forward_list<_Tp, _Alloc> & __lx, forward_list<_Tp, _Alloc> & __ly', external] + - [C++14, forward_list, std, forward_list, swap, void, 'forward_list<_Tp, _Alloc> & __list', external] + - [C++14, forward_list, std, forward_list, end, const_iterator, '', external] + - [C++14, forward_list, std, forward_list, end, iterator, '', external] + - [C++14, forward_list, std, forward_list, begin, const_iterator, '', external] + - [C++14, forward_list, std, forward_list, begin, iterator, '', external] + - [C++14, forward_list, std, forward_list, sort, void, '', external] + - [C++14, forward_list, std, forward_list, sort, void, _Comp __comp, external] + - [C++14, forward_list, std, forward_list, merge, void, 'forward_list<_Tp, _Alloc> && __list', external] + - [C++14, forward_list, std, forward_list, merge, void, 'forward_list<_Tp, _Alloc> & __list', external] + - [C++14, forward_list, std, forward_list, merge, void, 'forward_list<_Tp, _Alloc> & __list, _Comp __comp', external] + - [C++14, forward_list, std, forward_list, merge, void, 'forward_list<_Tp, _Alloc> && __list, _Comp __comp', external] + - [C++14, forward_list, std, forward_list, unique, __remove_return_type, '', external] + - [C++14, forward_list, std, forward_list, unique, __remove_return_type, _BinPred __binary_pred, external] + - [C++14, forward_list, std, forward_list, reverse, void, '', external] + - [C++14, forward_list, std, forward_list, remove_if, __remove_return_type, _Pred __pred, external] + - [C++14, forward_list, std, forward_list, remove, __remove_return_type, const _Tp & __val, external] + - [C++14, forward_list, std, forward_list, cend, const_iterator, '', external] + - [C++14, forward_list, std, forward_list, cbegin, const_iterator, '', external] + - [C++14, forward_list, std, forward_list, front, const_reference, '', external] + - [C++14, forward_list, std, forward_list, front, reference, '', external] + - [C++14, forward_list, std, forward_list, empty, bool, '', external] + - [C++14, forward_list, std, forward_list, max_size, size_type, '', external] + - [C++14, forward_list, std, forward_list, clear, void, '', external] + - [C++14, forward_list, std, forward_list, assign, void, initializer_list<_Tp> __il, external] + - [C++14, forward_list, std, forward_list, assign, void, '_InputIterator __first, _InputIterator __last', external] + - [C++14, forward_list, std, forward_list, assign, void, 'size_type __n, const _Tp & __val', external] + - [C++14, forward_list, std, forward_list, get_allocator, allocator_type, '', external] + - [C++14, forward_list, std, forward_list, resize, void, size_type __sz, external] + - [C++14, forward_list, std, forward_list, resize, void, 'size_type __sz, const value_type & __val', external] + - [C++14, forward_list, std, forward_list, pop_front, void, '', external] + - [C++14, forward_list, std, forward_list, push_front, void, const _Tp & __val, external] + - [C++14, forward_list, std, forward_list, push_front, void, _Tp && __val, external] + - [C++14, forward_list, std, forward_list, emplace_front, void, _Args && __args, external] + - [C++14, forward_list, std, forward_list, splice_after, void, 'const_iterator __pos, forward_list<_Tp, _Alloc> & (unnamed parameter 1), const_iterator __before, const_iterator __last', external] + - [C++14, forward_list, std, forward_list, splice_after, void, 'const_iterator __pos, forward_list<_Tp, _Alloc> && (unnamed parameter 1), const_iterator __before, const_iterator __last', external] + - [C++14, forward_list, std, forward_list, splice_after, void, 'const_iterator __pos, forward_list<_Tp, _Alloc> & __list, const_iterator __i', external] + - [C++14, forward_list, std, forward_list, splice_after, void, 'const_iterator __pos, forward_list<_Tp, _Alloc> & __list', external] + - [C++14, forward_list, std, forward_list, splice_after, void, 'const_iterator __pos, forward_list<_Tp, _Alloc> && __list', external] + - [C++14, forward_list, std, forward_list, splice_after, void, 'const_iterator __pos, forward_list<_Tp, _Alloc> && __list, const_iterator __i', external] + - [C++14, forward_list, std, forward_list, erase_after, iterator, const_iterator __pos, external] + - [C++14, forward_list, std, forward_list, erase_after, iterator, 'const_iterator __pos, const_iterator __last', external] + - [C++14, forward_list, std, forward_list, insert_after, iterator, 'const_iterator __pos, initializer_list<_Tp> __il', external] + - [C++14, forward_list, std, forward_list, insert_after, iterator, 'const_iterator __pos, _Tp && __val', external] + - [C++14, forward_list, std, forward_list, insert_after, iterator, 'const_iterator __pos, const _Tp & __val', external] + - [C++14, forward_list, std, forward_list, insert_after, iterator, 'const_iterator __pos, _InputIterator __first, _InputIterator __last', external] + - [C++14, forward_list, std, forward_list, insert_after, iterator, 'const_iterator __pos, size_type __n, const _Tp & __val', external] + - [C++14, forward_list, std, forward_list, emplace_after, iterator, 'const_iterator __pos, _Args && __args', external] + - [C++14, forward_list, std, forward_list, cbefore_begin, const_iterator, '', external] + - [C++14, forward_list, std, forward_list, before_begin, const_iterator, '', external] + - [C++14, forward_list, std, forward_list, before_begin, iterator, '', external] + - [C++14, future, std, '', swap, void, 'packaged_task<..(..)> & __x, packaged_task<..(..)> & __y', external] + - [C++14, future, std, '', swap, void, 'promise<_Res> & __x, promise<_Res> & __y', external] + - [C++14, future, std, '', make_error_condition, error_condition, future_errc __errc, external] + - [C++14, future, std, '', make_error_code, error_code, future_errc __errc, external] + - [C++14, future, std, '', async, 'future<__async_result_of<_Fn, _Args...>>', 'launch (unnamed parameter 0), _Fn && (unnamed parameter 1), _Args && (unnamed parameter 2)', external] + - [C++14, future, std, '', async, 'future<__async_result_of<_Fn, _Args...>>', '_Fn && __fn, _Args && __args', external] + - [C++14, future, std, '', async, 'future<__async_result_of<_Fn, _Args...>>', 'launch __policy, _Fn && __fn, _Args && __args', external] + - [C++14, future, std, '', future_category, const error_category &, '', external] + - [C++14, future, std, packaged_task, swap, void, packaged_task<..(..)> & __other, external] + - [C++14, future, std, packaged_task, reset, void, '', external] + - [C++14, future, std, packaged_task, make_ready_at_thread_exit, void, _ArgTypes __args, external] + - [C++14, future, std, packaged_task, get_future, future<_Res>, '', external] + - [C++14, future, std, packaged_task, valid, bool, '', external] + - [C++14, future, std, promise, swap, void, promise<_Res &> & __rhs, external] + - [C++14, future, std, promise, swap, void, promise<_Res> & __rhs, external] + - [C++14, future, std, promise, swap, void, promise & __rhs, external] + - [C++14, future, std, promise, get_future, future<_Res &>, '', external] + - [C++14, future, std, promise, get_future, future<_Res>, '', external] + - [C++14, future, std, promise, get_future, future, '', external] + - [C++14, future, std, promise, set_exception_at_thread_exit, void, exception_ptr __p, external] + - [C++14, future, std, promise, set_value_at_thread_exit, void, '', external] + - [C++14, future, std, promise, set_value_at_thread_exit, void, _Res & __r, external] + - [C++14, future, std, promise, set_value_at_thread_exit, void, _Res && __r, external] + - [C++14, future, std, promise, set_value_at_thread_exit, void, const _Res & __r, external] + - [C++14, future, std, promise, set_exception, void, exception_ptr __p, external] + - [C++14, future, std, promise, set_value, void, '', external] + - [C++14, future, std, promise, set_value, void, _Res & __r, external] + - [C++14, future, std, promise, set_value, void, _Res && __r, external] + - [C++14, future, std, promise, set_value, void, const _Res & __r, external] + - [C++14, future, std, shared_future, get, void, '', external] + - [C++14, future, std, shared_future, get, _Res &, '', external] + - [C++14, future, std, shared_future, get, const _Res &, '', external] + - [C++14, future, std, shared_future, wait, void, '', external] + - [C++14, future, std, shared_future, wait_for, future_status, 'const duration<_Rep, _Period> & __rel', external] + - [C++14, future, std, shared_future, wait_until, future_status, 'const time_point<_Clock, _Duration> & __abs', external] + - [C++14, future, std, shared_future, valid, bool, '', external] + - [C++14, future, std, future, get, void, '', external] + - [C++14, future, std, future, get, _Res, '', external] + - [C++14, future, std, future, get, _Res &, '', external] + - [C++14, future, std, future, wait, void, '', external] + - [C++14, future, std, future, wait_for, future_status, 'const duration<_Rep, _Period> & __rel', external] + - [C++14, future, std, future, wait_until, future_status, 'const time_point<_Clock, _Duration> & __abs', external] + - [C++14, future, std, future, valid, bool, '', external] + - [C++14, future, std, future, share, shared_future<_Res &>, '', external] + - [C++14, future, std, future, share, shared_future<_Res>, '', external] + - [C++14, future, std, future, share, shared_future, '', external] + - [C++14, future, std, future_error, what, const char *, '', external] + - [C++14, future, std, future_error, code, const error_code &, '', external] + - [C++14, list, std, '', swap, void, 'list<_Tp, _Alloc> & __x, list<_Tp, _Alloc> & __y', external] + - [C++14, list, std, list, swap, void, 'list<_Tp, _Alloc> & __x', external] + - [C++14, list, std, list, end, const_iterator, '', external] + - [C++14, list, std, list, end, iterator, '', external] + - [C++14, list, std, list, begin, const_iterator, '', external] + - [C++14, list, std, list, begin, iterator, '', external] + - [C++14, list, std, list, size, size_type, '', external] + - [C++14, list, std, list, sort, void, '', external] + - [C++14, list, std, list, sort, void, _StrictWeakOrdering __comp, external] + - [C++14, list, std, list, merge, void, 'list<_Tp, _Alloc> && __x', external] + - [C++14, list, std, list, merge, void, 'list<_Tp, _Alloc> & __x', external] + - [C++14, list, std, list, merge, void, 'list<_Tp, _Alloc> & __x, _StrictWeakOrdering __comp', external] + - [C++14, list, std, list, merge, void, 'list<_Tp, _Alloc> && __x, _StrictWeakOrdering __comp', external] + - [C++14, list, std, list, unique, __remove_return_type, '', external] + - [C++14, list, std, list, unique, __remove_return_type, _BinaryPredicate __binary_pred, external] + - [C++14, list, std, list, reverse, void, '', external] + - [C++14, list, std, list, remove_if, __remove_return_type, _Predicate __pred, external] + - [C++14, list, std, list, remove, __remove_return_type, const _Tp & __value, external] + - [C++14, list, std, list, crend, const_reverse_iterator, '', external] + - [C++14, list, std, list, crbegin, const_reverse_iterator, '', external] + - [C++14, list, std, list, rend, reverse_iterator, '', external] + - [C++14, list, std, list, rend, const_reverse_iterator, '', external] + - [C++14, list, std, list, rbegin, reverse_iterator, '', external] + - [C++14, list, std, list, rbegin, const_reverse_iterator, '', external] + - [C++14, list, std, list, cend, const_iterator, '', external] + - [C++14, list, std, list, cbegin, const_iterator, '', external] + - [C++14, list, std, list, back, const_reference, '', external] + - [C++14, list, std, list, back, reference, '', external] + - [C++14, list, std, list, front, const_reference, '', external] + - [C++14, list, std, list, front, reference, '', external] + - [C++14, list, std, list, empty, bool, '', external] + - [C++14, list, std, list, max_size, size_type, '', external] + - [C++14, list, std, list, clear, void, '', external] + - [C++14, list, std, list, assign, void, initializer_list<_Tp> __l, external] + - [C++14, list, std, list, assign, void, '_InputIterator __first, _InputIterator __last', external] + - [C++14, list, std, list, assign, void, 'size_type __n, const value_type & __val', external] + - [C++14, list, std, list, insert, iterator, 'const_iterator __position, _InputIterator __first, _InputIterator __last', external] + - [C++14, list, std, list, insert, iterator, 'const_iterator __position, size_type __n, const value_type & __x', external] + - [C++14, list, std, list, insert, iterator, 'const_iterator __p, initializer_list<_Tp> __l', external] + - [C++14, list, std, list, insert, iterator, 'const_iterator __position, value_type && __x', external] + - [C++14, list, std, list, insert, iterator, 'const_iterator __position, const value_type & __x', external] + - [C++14, list, std, list, get_allocator, allocator_type, '', external] + - [C++14, list, std, list, pop_back, void, '', external] + - [C++14, list, std, list, erase, iterator, const_iterator __position, external] + - [C++14, list, std, list, erase, iterator, 'const_iterator __first, const_iterator __last', external] + - [C++14, list, std, list, push_back, void, const value_type & __x, external] + - [C++14, list, std, list, push_back, void, value_type && __x, external] + - [C++14, list, std, list, resize, void, size_type __new_size, external] + - [C++14, list, std, list, resize, void, 'size_type __new_size, const value_type & __x', external] + - [C++14, list, std, list, pop_front, void, '', external] + - [C++14, list, std, list, push_front, void, const value_type & __x, external] + - [C++14, list, std, list, push_front, void, value_type && __x, external] + - [C++14, list, std, list, emplace, iterator, 'const_iterator __position, _Args && __args', external] + - [C++14, list, std, list, emplace_back, void, _Args && __args, external] + - [C++14, list, std, list, emplace_front, void, _Args && __args, external] + - [C++14, list, std, list, splice, void, 'const_iterator __position, list<_Tp, _Alloc> & __x, const_iterator __first, const_iterator __last', external] + - [C++14, list, std, list, splice, void, 'const_iterator __position, list<_Tp, _Alloc> && __x, const_iterator __first, const_iterator __last', external] + - [C++14, list, std, list, splice, void, 'const_iterator __position, list<_Tp, _Alloc> & __x, const_iterator __i', external] + - [C++14, list, std, list, splice, void, 'const_iterator __position, list<_Tp, _Alloc> && __x, const_iterator __i', external] + - [C++14, list, std, list, splice, void, 'const_iterator __position, list<_Tp, _Alloc> & __x', external] + - [C++14, list, std, list, splice, void, 'const_iterator __position, list<_Tp, _Alloc> && __x', external] + - [C++14, map, std, '', swap, void, 'multimap<_Key, _Tp, _Compare, _Alloc> & __x, multimap<_Key, _Tp, _Compare, _Alloc> & __y', external] + - [C++14, map, std, '', swap, void, 'map<_Key, _Tp, _Compare, _Alloc> & __x, map<_Key, _Tp, _Compare, _Alloc> & __y', external] + - [C++14, map, std, '', swap, void, '_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc> & __x, _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc> & __y', external] + - [C++14, map, std, map, swap, void, 'map<_Key, _Tp, _Compare, _Alloc> & __x', external] + - [C++14, map, std, map, end, const_iterator, '', external] + - [C++14, map, std, map, end, iterator, '', external] + - [C++14, map, std, map, begin, const_iterator, '', external] + - [C++14, map, std, map, begin, iterator, '', external] + - [C++14, map, std, map, size, size_type, '', external] + - [C++14, map, std, map, lower_bound, const_iterator, const key_type & __x, external] + - [C++14, map, std, map, lower_bound, iterator, const key_type & __x, external] + - [C++14, map, std, map, lower_bound, decltype(...), const _Kt & __x, external] + - [C++14, map, std, map, find, const_iterator, const key_type & __x, external] + - [C++14, map, std, map, find, iterator, const key_type & __x, external] + - [C++14, map, std, map, find, decltype(...), const _Kt & __x, external] + - [C++14, map, std, map, count, size_type, const key_type & __x, external] + - [C++14, map, std, map, count, decltype(...), const _Kt & __x, external] + - [C++14, map, std, map, upper_bound, const_iterator, const key_type & __x, external] + - [C++14, map, std, map, upper_bound, iterator, const key_type & __x, external] + - [C++14, map, std, map, upper_bound, decltype(...), const _Kt & __x, external] + - [C++14, map, std, map, equal_range, 'pair', const key_type & __x, external] + - [C++14, map, std, map, equal_range, 'pair', const key_type & __x, external] + - [C++14, map, std, map, equal_range, decltype(...), const _Kt & __x, external] + - [C++14, map, std, map, crend, const_reverse_iterator, '', external] + - [C++14, map, std, map, crbegin, const_reverse_iterator, '', external] + - [C++14, map, std, map, rend, reverse_iterator, '', external] + - [C++14, map, std, map, rend, const_reverse_iterator, '', external] + - [C++14, map, std, map, rbegin, reverse_iterator, '', external] + - [C++14, map, std, map, rbegin, const_reverse_iterator, '', external] + - [C++14, map, std, map, cend, const_iterator, '', external] + - [C++14, map, std, map, cbegin, const_iterator, '', external] + - [C++14, map, std, map, at, const mapped_type &, const key_type & __k, external] + - [C++14, map, std, map, at, mapped_type &, const key_type & __k, external] + - [C++14, map, std, map, empty, bool, '', external] + - [C++14, map, std, map, max_size, size_type, '', external] + - [C++14, map, std, map, clear, void, '', external] + - [C++14, map, std, map, insert, void, 'initializer_list> __list', external] + - [C++14, map, std, map, insert, void, '_InputIterator __first, _InputIterator __last', external] + - [C++14, map, std, map, insert, __enable_if_t, _Pair && __x, external] + - [C++14, map, std, map, insert, __enable_if_t, 'const_iterator __position, _Pair && __x', external] + - [C++14, map, std, map, insert, iterator, 'const_iterator __position, value_type && __x', external] + - [C++14, map, std, map, insert, iterator, 'const_iterator __position, const value_type & __x', external] + - [C++14, map, std, map, insert, 'pair', const value_type & __x, external] + - [C++14, map, std, map, insert, 'pair', value_type && __x, external] + - [C++14, map, std, map, get_allocator, allocator_type, '', external] + - [C++14, map, std, map, erase, size_type, const key_type & __x, external] + - [C++14, map, std, map, erase, iterator, const_iterator __position, external] + - [C++14, map, std, map, erase, iterator, iterator __position, external] + - [C++14, map, std, map, erase, iterator, 'const_iterator __first, const_iterator __last', external] + - [C++14, map, std, map, emplace, 'pair', _Args && __args, external] + - [C++14, map, std, map, key_comp, key_compare, '', external] + - [C++14, map, std, map, value_comp, value_compare, '', external] + - [C++14, map, std, map, emplace_hint, iterator, 'const_iterator __pos, _Args && __args', external] + - [C++14, map, std, multimap, swap, void, 'multimap<_Key, _Tp, _Compare, _Alloc> & __x', external] + - [C++14, map, std, multimap, end, const_iterator, '', external] + - [C++14, map, std, multimap, end, iterator, '', external] + - [C++14, map, std, multimap, begin, const_iterator, '', external] + - [C++14, map, std, multimap, begin, iterator, '', external] + - [C++14, map, std, multimap, size, size_type, '', external] + - [C++14, map, std, multimap, lower_bound, const_iterator, const key_type & __x, external] + - [C++14, map, std, multimap, lower_bound, iterator, const key_type & __x, external] + - [C++14, map, std, multimap, lower_bound, decltype(...), const _Kt & __x, external] + - [C++14, map, std, multimap, find, const_iterator, const key_type & __x, external] + - [C++14, map, std, multimap, find, iterator, const key_type & __x, external] + - [C++14, map, std, multimap, find, decltype(...), const _Kt & __x, external] + - [C++14, map, std, multimap, count, size_type, const key_type & __x, external] + - [C++14, map, std, multimap, count, decltype(...), const _Kt & __x, external] + - [C++14, map, std, multimap, upper_bound, const_iterator, const key_type & __x, external] + - [C++14, map, std, multimap, upper_bound, iterator, const key_type & __x, external] + - [C++14, map, std, multimap, upper_bound, decltype(...), const _Kt & __x, external] + - [C++14, map, std, multimap, equal_range, 'pair', const key_type & __x, external] + - [C++14, map, std, multimap, equal_range, 'pair', const key_type & __x, external] + - [C++14, map, std, multimap, equal_range, decltype(...), const _Kt & __x, external] + - [C++14, map, std, multimap, crend, const_reverse_iterator, '', external] + - [C++14, map, std, multimap, crbegin, const_reverse_iterator, '', external] + - [C++14, map, std, multimap, rend, reverse_iterator, '', external] + - [C++14, map, std, multimap, rend, const_reverse_iterator, '', external] + - [C++14, map, std, multimap, rbegin, reverse_iterator, '', external] + - [C++14, map, std, multimap, rbegin, const_reverse_iterator, '', external] + - [C++14, map, std, multimap, cend, const_iterator, '', external] + - [C++14, map, std, multimap, cbegin, const_iterator, '', external] + - [C++14, map, std, multimap, empty, bool, '', external] + - [C++14, map, std, multimap, max_size, size_type, '', external] + - [C++14, map, std, multimap, clear, void, '', external] + - [C++14, map, std, multimap, insert, void, 'initializer_list> __l', external] + - [C++14, map, std, multimap, insert, void, '_InputIterator __first, _InputIterator __last', external] + - [C++14, map, std, multimap, insert, __enable_if_t, _Pair && __x, external] + - [C++14, map, std, multimap, insert, __enable_if_t, 'const_iterator __position, _Pair && __x', external] + - [C++14, map, std, multimap, insert, iterator, const value_type & __x, external] + - [C++14, map, std, multimap, insert, iterator, value_type && __x, external] + - [C++14, map, std, multimap, insert, iterator, 'const_iterator __position, value_type && __x', external] + - [C++14, map, std, multimap, insert, iterator, 'const_iterator __position, const value_type & __x', external] + - [C++14, map, std, multimap, get_allocator, allocator_type, '', external] + - [C++14, map, std, multimap, erase, size_type, const key_type & __x, external] + - [C++14, map, std, multimap, erase, iterator, const_iterator __position, external] + - [C++14, map, std, multimap, erase, iterator, iterator __position, external] + - [C++14, map, std, multimap, erase, iterator, 'const_iterator __first, const_iterator __last', external] + - [C++14, map, std, multimap, emplace, iterator, _Args && __args, external] + - [C++14, map, std, multimap, key_comp, key_compare, '', external] + - [C++14, map, std, multimap, value_comp, value_compare, '', external] + - [C++14, map, std, multimap, emplace_hint, iterator, 'const_iterator __pos, _Args && __args', external] + - [C++14, vector, std, '', swap, void, 'bool & __x, _Bit_reference __y', external] + - [C++14, vector, std, '', swap, void, '_Bit_reference __x, bool & __y', external] + - [C++14, vector, std, '', swap, void, '_Bit_reference __x, _Bit_reference __y', external] + - [C++14, vector, std, '', swap, void, 'vector<_Tp, _Alloc> & __x, vector<_Tp, _Alloc> & __y', external] + - [C++14, vector, std, '', fill, void, '_Bit_iterator __first, _Bit_iterator __last, const bool & __x', external] + - [C++14, vector, std, vector, swap, void, 'vector<_Tp, _Alloc> & __x', external] + - [C++14, vector, std, vector, swap, void, 'vector & __x', external] + - [C++14, vector, std, vector, swap, void, 'reference __x, reference __y', external] + - [C++14, vector, std, vector, end, const_iterator, '', external] + - [C++14, vector, std, vector, end, iterator, '', external] + - [C++14, vector, std, vector, begin, const_iterator, '', external] + - [C++14, vector, std, vector, begin, iterator, '', external] + - [C++14, vector, std, vector, size, size_type, '', external] + - [C++14, vector, std, vector, crend, const_reverse_iterator, '', external] + - [C++14, vector, std, vector, crbegin, const_reverse_iterator, '', external] + - [C++14, vector, std, vector, rend, reverse_iterator, '', external] + - [C++14, vector, std, vector, rend, const_reverse_iterator, '', external] + - [C++14, vector, std, vector, rbegin, reverse_iterator, '', external] + - [C++14, vector, std, vector, rbegin, const_reverse_iterator, '', external] + - [C++14, vector, std, vector, cend, const_iterator, '', external] + - [C++14, vector, std, vector, cbegin, const_iterator, '', external] + - [C++14, vector, std, vector, data, void, '', external] + - [C++14, vector, std, vector, data, _Tp *, '', external] + - [C++14, vector, std, vector, data, const _Tp *, '', external] + - [C++14, vector, std, vector, back, const_reference, '', external] + - [C++14, vector, std, vector, back, reference, '', external] + - [C++14, vector, std, vector, front, const_reference, '', external] + - [C++14, vector, std, vector, front, reference, '', external] + - [C++14, vector, std, vector, at, const_reference, size_type __n, external] + - [C++14, vector, std, vector, at, reference, size_type __n, external] + - [C++14, vector, std, vector, empty, bool, '', external] + - [C++14, vector, std, vector, max_size, size_type, '', external] + - [C++14, vector, std, vector, clear, void, '', external] + - [C++14, vector, std, vector, assign, void, initializer_list<_Tp> __l, external] + - [C++14, vector, std, vector, assign, void, initializer_list __l, external] + - [C++14, vector, std, vector, assign, void, '_InputIterator __first, _InputIterator __last', external] + - [C++14, vector, std, vector, assign, void, 'size_type __n, const value_type & __val', external] + - [C++14, vector, std, vector, assign, void, 'size_type __n, const bool & __x', external] + - [C++14, vector, std, vector, insert, iterator, 'const_iterator __position, _InputIterator __first, _InputIterator __last', external] + - [C++14, vector, std, vector, insert, iterator, 'const_iterator __position, size_type __n, const value_type & __x', external] + - [C++14, vector, std, vector, insert, iterator, 'const_iterator __position, value_type && __x', external] + - [C++14, vector, std, vector, insert, iterator, 'const_iterator __position, const value_type & __x', external] + - [C++14, vector, std, vector, insert, iterator, 'const_iterator __position, initializer_list<_Tp> __l', external] + - [C++14, vector, std, vector, insert, iterator, 'const_iterator __p, initializer_list __l', external] + - [C++14, vector, std, vector, insert, iterator, 'const_iterator __position, size_type __n, const bool & __x', external] + - [C++14, vector, std, vector, insert, iterator, 'const_iterator __position, const bool & __x', external] + - [C++14, vector, std, vector, get_allocator, allocator_type, '', external] + - [C++14, vector, std, vector, capacity, size_type, '', external] + - [C++14, vector, std, vector, pop_back, void, '', external] + - [C++14, vector, std, vector, erase, iterator, const_iterator __position, external] + - [C++14, vector, std, vector, erase, iterator, 'const_iterator __first, const_iterator __last', external] + - [C++14, vector, std, vector, push_back, void, bool __x, external] + - [C++14, vector, std, vector, push_back, void, const value_type & __x, external] + - [C++14, vector, std, vector, push_back, void, value_type && __x, external] + - [C++14, vector, std, vector, shrink_to_fit, void, '', external] + - [C++14, vector, std, vector, resize, void, size_type __new_size, external] + - [C++14, vector, std, vector, resize, void, 'size_type __new_size, const value_type & __x', external] + - [C++14, vector, std, vector, resize, void, 'size_type __new_size, bool __x', external] + - [C++14, vector, std, vector, reserve, void, size_type __n, external] + - [C++14, vector, std, vector, flip, void, '', external] + - [C++14, vector, std, vector, emplace, iterator, 'const_iterator __position, _Args && __args', external] + - [C++14, vector, std, vector, emplace, iterator, 'const_iterator __pos, _Args && __args', external] + - [C++14, vector, std, vector, emplace_back, void, _Args && __args, external] + - [C++14, queue, std, '', swap, void, 'priority_queue<_Tp, _Sequence, _Compare> & __x, priority_queue<_Tp, _Sequence, _Compare> & __y', external] + - [C++14, queue, std, '', swap, void, 'queue<_Tp, _Seq> & __x, queue<_Tp, _Seq> & __y', external] + - [C++14, queue, std, '', sort_heap, void, '_RAIter __first, _RAIter __last, _Compare __comp', external] + - [C++14, queue, std, '', sort_heap, void, '_RAIter __first, _RAIter __last', external] + - [C++14, queue, std, '', push_heap, void, '_RAIter __first, _RAIter __last, _Compare __comp', external] + - [C++14, queue, std, '', push_heap, void, '_RAIter __first, _RAIter __last', external] + - [C++14, queue, std, '', pop_heap, void, '_RAIter __first, _RAIter __last, _Compare __comp', external] + - [C++14, queue, std, '', pop_heap, void, '_RAIter __first, _RAIter __last', external] + - [C++14, queue, std, '', make_heap, void, '_RAIter __first, _RAIter __last, _Compare __comp', external] + - [C++14, queue, std, '', make_heap, void, '_RAIter __first, _RAIter __last', external] + - [C++14, queue, std, '', is_heap_until, _RAIter, '_RAIter __first, _RAIter __last, _Compare __comp', external] + - [C++14, queue, std, '', is_heap_until, _RAIter, '_RAIter __first, _RAIter __last', external] + - [C++14, queue, std, '', is_heap, bool, '_RAIter __first, _RAIter __last, _Compare __comp', external] + - [C++14, queue, std, '', is_heap, bool, '_RAIter __first, _RAIter __last', external] + - [C++14, queue, std, priority_queue, swap, void, 'priority_queue<_Tp, _Sequence, _Compare> & __pq', external] + - [C++14, queue, std, priority_queue, size, size_type, '', external] + - [C++14, queue, std, priority_queue, empty, bool, '', external] + - [C++14, queue, std, priority_queue, emplace, void, _Args && __args, external] + - [C++14, queue, std, priority_queue, pop, void, '', external] + - [C++14, queue, std, priority_queue, push, void, const value_type & __x, external] + - [C++14, queue, std, priority_queue, push, void, value_type && __x, external] + - [C++14, queue, std, priority_queue, top, const_reference, '', external] + - [C++14, queue, std, queue, swap, void, 'queue<_Tp, _Sequence> & __q', external] + - [C++14, queue, std, queue, size, size_type, '', external] + - [C++14, queue, std, queue, back, const_reference, '', external] + - [C++14, queue, std, queue, back, reference, '', external] + - [C++14, queue, std, queue, front, const_reference, '', external] + - [C++14, queue, std, queue, front, reference, '', external] + - [C++14, queue, std, queue, empty, bool, '', external] + - [C++14, queue, std, queue, emplace, void, _Args && __args, external] + - [C++14, queue, std, queue, pop, void, '', external] + - [C++14, queue, std, queue, push, void, const value_type & __x, external] + - [C++14, queue, std, queue, push, void, value_type && __x, external] + - [C++14, stack, std, '', swap, void, 'stack<_Tp, _Seq> & __x, stack<_Tp, _Seq> & __y', external] + - [C++14, stack, std, stack, swap, void, 'stack<_Tp, _Sequence> & __s', external] + - [C++14, stack, std, stack, size, size_type, '', external] + - [C++14, stack, std, stack, empty, bool, '', external] + - [C++14, stack, std, stack, emplace, void, _Args && __args, external] + - [C++14, stack, std, stack, pop, void, '', external] + - [C++14, stack, std, stack, push, void, const value_type & __x, external] + - [C++14, stack, std, stack, push, void, value_type && __x, external] + - [C++14, stack, std, stack, top, const_reference, '', external] + - [C++14, stack, std, stack, top, reference, '', external] + - [C++14, strstream, std, strstream, rdbuf, strstreambuf *, '', external] + - [C++14, strstream, std, strstream, str, char *, '', external] + - [C++14, strstream, std, strstream, pcount, int, '', external] + - [C++14, strstream, std, strstream, freeze, void, bool (unnamed parameter 0), external] + - [C++14, strstream, std, ostrstream, rdbuf, strstreambuf *, '', external] + - [C++14, strstream, std, ostrstream, str, char *, '', external] + - [C++14, strstream, std, ostrstream, pcount, int, '', external] + - [C++14, strstream, std, ostrstream, freeze, void, bool (unnamed parameter 0), external] + - [C++14, strstream, std, istrstream, rdbuf, strstreambuf *, '', external] + - [C++14, strstream, std, istrstream, str, char *, '', external] + - [C++14, strstream, std, strstreambuf, setbuf, _Base *, 'char * __buf, streamsize __n', external] + - [C++14, strstream, std, strstreambuf, overflow, int_type, int_type __c, external] + - [C++14, strstream, std, strstreambuf, pbackfail, int_type, int_type __c, external] + - [C++14, strstream, std, strstreambuf, underflow, int_type, '', external] + - [C++14, strstream, std, strstreambuf, seekpos, pos_type, 'pos_type __pos, openmode __mode', external] + - [C++14, strstream, std, strstreambuf, seekoff, pos_type, 'off_type __off, seekdir __dir, openmode __mode', external] + - [C++14, strstream, std, strstreambuf, str, char *, '', external] + - [C++14, strstream, std, strstreambuf, pcount, int, '', external] + - [C++14, strstream, std, strstreambuf, freeze, void, bool (unnamed parameter 0), external] + - [C++14, unordered_map, std, '', swap, void, 'unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc> & __x, unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc> & __y', external] + - [C++14, unordered_map, std, '', swap, void, 'unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc> & __x, unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc> & __y', external] + - [C++14, unordered_map, std, unordered_map, swap, void, 'unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc> & __x', external] + - [C++14, unordered_map, std, unordered_map, end, const_iterator, '', external] + - [C++14, unordered_map, std, unordered_map, end, iterator, '', external] + - [C++14, unordered_map, std, unordered_map, end, const_local_iterator, size_type __n, external] + - [C++14, unordered_map, std, unordered_map, end, local_iterator, size_type __n, external] + - [C++14, unordered_map, std, unordered_map, begin, const_iterator, '', external] + - [C++14, unordered_map, std, unordered_map, begin, iterator, '', external] + - [C++14, unordered_map, std, unordered_map, begin, const_local_iterator, size_type __n, external] + - [C++14, unordered_map, std, unordered_map, begin, local_iterator, size_type __n, external] + - [C++14, unordered_map, std, unordered_map, size, size_type, '', external] + - [C++14, unordered_map, std, unordered_map, find, const_iterator, const key_type & __x, external] + - [C++14, unordered_map, std, unordered_map, find, iterator, const key_type & __x, external] + - [C++14, unordered_map, std, unordered_map, count, size_type, const key_type & __x, external] + - [C++14, unordered_map, std, unordered_map, equal_range, 'pair', const key_type & __x, external] + - [C++14, unordered_map, std, unordered_map, equal_range, 'pair', const key_type & __x, external] + - [C++14, unordered_map, std, unordered_map, cend, const_iterator, '', external] + - [C++14, unordered_map, std, unordered_map, cend, const_local_iterator, size_type __n, external] + - [C++14, unordered_map, std, unordered_map, cbegin, const_iterator, '', external] + - [C++14, unordered_map, std, unordered_map, cbegin, const_local_iterator, size_type __n, external] + - [C++14, unordered_map, std, unordered_map, at, const mapped_type &, const key_type & __k, external] + - [C++14, unordered_map, std, unordered_map, at, mapped_type &, const key_type & __k, external] + - [C++14, unordered_map, std, unordered_map, empty, bool, '', external] + - [C++14, unordered_map, std, unordered_map, max_size, size_type, '', external] + - [C++14, unordered_map, std, unordered_map, clear, void, '', external] + - [C++14, unordered_map, std, unordered_map, insert, void, initializer_list __l, external] + - [C++14, unordered_map, std, unordered_map, insert, void, '_InputIterator __first, _InputIterator __last', external] + - [C++14, unordered_map, std, unordered_map, insert, __enable_if_t, _Pair && __x, external] + - [C++14, unordered_map, std, unordered_map, insert, __enable_if_t, 'const_iterator __hint, _Pair && __x', external] + - [C++14, unordered_map, std, unordered_map, insert, iterator, 'const_iterator __hint, value_type && __x', external] + - [C++14, unordered_map, std, unordered_map, insert, iterator, 'const_iterator __hint, const value_type & __x', external] + - [C++14, unordered_map, std, unordered_map, insert, 'pair', const value_type & __x, external] + - [C++14, unordered_map, std, unordered_map, insert, 'pair', value_type && __x, external] + - [C++14, unordered_map, std, unordered_map, get_allocator, allocator_type, '', external] + - [C++14, unordered_map, std, unordered_map, erase, size_type, const key_type & __x, external] + - [C++14, unordered_map, std, unordered_map, erase, iterator, const_iterator __position, external] + - [C++14, unordered_map, std, unordered_map, erase, iterator, iterator __position, external] + - [C++14, unordered_map, std, unordered_map, erase, iterator, 'const_iterator __first, const_iterator __last', external] + - [C++14, unordered_map, std, unordered_map, reserve, void, size_type __n, external] + - [C++14, unordered_map, std, unordered_map, emplace, 'pair', _Args && __args, external] + - [C++14, unordered_map, std, unordered_map, emplace_hint, iterator, 'const_iterator __pos, _Args && __args', external] + - [C++14, unordered_map, std, unordered_map, hash_function, hasher, '', external] + - [C++14, unordered_map, std, unordered_map, max_load_factor, void, float __z, external] + - [C++14, unordered_map, std, unordered_map, max_load_factor, float, '', external] + - [C++14, unordered_map, std, unordered_map, rehash, void, size_type __n, external] + - [C++14, unordered_map, std, unordered_map, load_factor, float, '', external] + - [C++14, unordered_map, std, unordered_map, bucket, size_type, const key_type & __key, external] + - [C++14, unordered_map, std, unordered_map, bucket_size, size_type, size_type __n, external] + - [C++14, unordered_map, std, unordered_map, max_bucket_count, size_type, '', external] + - [C++14, unordered_map, std, unordered_map, bucket_count, size_type, '', external] + - [C++14, unordered_map, std, unordered_map, key_eq, key_equal, '', external] + - [C++14, unordered_map, std, unordered_multimap, swap, void, 'unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc> & __x', external] + - [C++14, unordered_map, std, unordered_multimap, end, const_iterator, '', external] + - [C++14, unordered_map, std, unordered_multimap, end, iterator, '', external] + - [C++14, unordered_map, std, unordered_multimap, end, const_local_iterator, size_type __n, external] + - [C++14, unordered_map, std, unordered_multimap, end, local_iterator, size_type __n, external] + - [C++14, unordered_map, std, unordered_multimap, begin, const_iterator, '', external] + - [C++14, unordered_map, std, unordered_multimap, begin, iterator, '', external] + - [C++14, unordered_map, std, unordered_multimap, begin, const_local_iterator, size_type __n, external] + - [C++14, unordered_map, std, unordered_multimap, begin, local_iterator, size_type __n, external] + - [C++14, unordered_map, std, unordered_multimap, size, size_type, '', external] + - [C++14, unordered_map, std, unordered_multimap, find, const_iterator, const key_type & __x, external] + - [C++14, unordered_map, std, unordered_multimap, find, iterator, const key_type & __x, external] + - [C++14, unordered_map, std, unordered_multimap, count, size_type, const key_type & __x, external] + - [C++14, unordered_map, std, unordered_multimap, equal_range, 'pair', const key_type & __x, external] + - [C++14, unordered_map, std, unordered_multimap, equal_range, 'pair', const key_type & __x, external] + - [C++14, unordered_map, std, unordered_multimap, cend, const_iterator, '', external] + - [C++14, unordered_map, std, unordered_multimap, cend, const_local_iterator, size_type __n, external] + - [C++14, unordered_map, std, unordered_multimap, cbegin, const_iterator, '', external] + - [C++14, unordered_map, std, unordered_multimap, cbegin, const_local_iterator, size_type __n, external] + - [C++14, unordered_map, std, unordered_multimap, empty, bool, '', external] + - [C++14, unordered_map, std, unordered_multimap, max_size, size_type, '', external] + - [C++14, unordered_map, std, unordered_multimap, clear, void, '', external] + - [C++14, unordered_map, std, unordered_multimap, insert, void, initializer_list __l, external] + - [C++14, unordered_map, std, unordered_multimap, insert, void, '_InputIterator __first, _InputIterator __last', external] + - [C++14, unordered_map, std, unordered_multimap, insert, __enable_if_t, _Pair && __x, external] + - [C++14, unordered_map, std, unordered_multimap, insert, __enable_if_t, 'const_iterator __hint, _Pair && __x', external] + - [C++14, unordered_map, std, unordered_multimap, insert, iterator, const value_type & __x, external] + - [C++14, unordered_map, std, unordered_multimap, insert, iterator, value_type && __x, external] + - [C++14, unordered_map, std, unordered_multimap, insert, iterator, 'const_iterator __hint, value_type && __x', external] + - [C++14, unordered_map, std, unordered_multimap, insert, iterator, 'const_iterator __hint, const value_type & __x', external] + - [C++14, unordered_map, std, unordered_multimap, get_allocator, allocator_type, '', external] + - [C++14, unordered_map, std, unordered_multimap, erase, size_type, const key_type & __x, external] + - [C++14, unordered_map, std, unordered_multimap, erase, iterator, const_iterator __position, external] + - [C++14, unordered_map, std, unordered_multimap, erase, iterator, iterator __position, external] + - [C++14, unordered_map, std, unordered_multimap, erase, iterator, 'const_iterator __first, const_iterator __last', external] + - [C++14, unordered_map, std, unordered_multimap, reserve, void, size_type __n, external] + - [C++14, unordered_map, std, unordered_multimap, emplace, iterator, _Args && __args, external] + - [C++14, unordered_map, std, unordered_multimap, emplace_hint, iterator, 'const_iterator __pos, _Args && __args', external] + - [C++14, unordered_map, std, unordered_multimap, hash_function, hasher, '', external] + - [C++14, unordered_map, std, unordered_multimap, max_load_factor, void, float __z, external] + - [C++14, unordered_map, std, unordered_multimap, max_load_factor, float, '', external] + - [C++14, unordered_map, std, unordered_multimap, rehash, void, size_type __n, external] + - [C++14, unordered_map, std, unordered_multimap, load_factor, float, '', external] + - [C++14, unordered_map, std, unordered_multimap, bucket, size_type, const key_type & __key, external] + - [C++14, unordered_map, std, unordered_multimap, bucket_size, size_type, size_type __n, external] + - [C++14, unordered_map, std, unordered_multimap, max_bucket_count, size_type, '', external] + - [C++14, unordered_map, std, unordered_multimap, bucket_count, size_type, '', external] + - [C++14, unordered_map, std, unordered_multimap, key_eq, key_equal, '', external] + - [C++14, unordered_set, std, '', swap, void, 'unordered_multiset<_Value, _Hash, _Pred, _Alloc> & __x, unordered_multiset<_Value, _Hash, _Pred, _Alloc> & __y', external] + - [C++14, unordered_set, std, '', swap, void, 'unordered_set<_Value, _Hash, _Pred, _Alloc> & __x, unordered_set<_Value, _Hash, _Pred, _Alloc> & __y', external] + - [C++14, unordered_set, std, unordered_set, swap, void, 'unordered_set<_Value, _Hash, _Pred, _Alloc> & __x', external] + - [C++14, unordered_set, std, unordered_set, end, const_iterator, '', external] + - [C++14, unordered_set, std, unordered_set, end, iterator, '', external] + - [C++14, unordered_set, std, unordered_set, end, const_local_iterator, size_type __n, external] + - [C++14, unordered_set, std, unordered_set, end, local_iterator, size_type __n, external] + - [C++14, unordered_set, std, unordered_set, begin, const_iterator, '', external] + - [C++14, unordered_set, std, unordered_set, begin, iterator, '', external] + - [C++14, unordered_set, std, unordered_set, begin, const_local_iterator, size_type __n, external] + - [C++14, unordered_set, std, unordered_set, begin, local_iterator, size_type __n, external] + - [C++14, unordered_set, std, unordered_set, size, size_type, '', external] + - [C++14, unordered_set, std, unordered_set, find, const_iterator, const key_type & __x, external] + - [C++14, unordered_set, std, unordered_set, find, iterator, const key_type & __x, external] + - [C++14, unordered_set, std, unordered_set, count, size_type, const key_type & __x, external] + - [C++14, unordered_set, std, unordered_set, equal_range, 'pair', const key_type & __x, external] + - [C++14, unordered_set, std, unordered_set, equal_range, 'pair', const key_type & __x, external] + - [C++14, unordered_set, std, unordered_set, cend, const_iterator, '', external] + - [C++14, unordered_set, std, unordered_set, cend, const_local_iterator, size_type __n, external] + - [C++14, unordered_set, std, unordered_set, cbegin, const_iterator, '', external] + - [C++14, unordered_set, std, unordered_set, cbegin, const_local_iterator, size_type __n, external] + - [C++14, unordered_set, std, unordered_set, empty, bool, '', external] + - [C++14, unordered_set, std, unordered_set, max_size, size_type, '', external] + - [C++14, unordered_set, std, unordered_set, clear, void, '', external] + - [C++14, unordered_set, std, unordered_set, insert, void, initializer_list __l, external] + - [C++14, unordered_set, std, unordered_set, insert, void, '_InputIterator __first, _InputIterator __last', external] + - [C++14, unordered_set, std, unordered_set, insert, iterator, 'const_iterator __hint, value_type && __x', external] + - [C++14, unordered_set, std, unordered_set, insert, iterator, 'const_iterator __hint, const value_type & __x', external] + - [C++14, unordered_set, std, unordered_set, insert, 'pair', const value_type & __x, external] + - [C++14, unordered_set, std, unordered_set, insert, 'pair', value_type && __x, external] + - [C++14, unordered_set, std, unordered_set, get_allocator, allocator_type, '', external] + - [C++14, unordered_set, std, unordered_set, erase, size_type, const key_type & __x, external] + - [C++14, unordered_set, std, unordered_set, erase, iterator, const_iterator __position, external] + - [C++14, unordered_set, std, unordered_set, erase, iterator, iterator __position, external] + - [C++14, unordered_set, std, unordered_set, erase, iterator, 'const_iterator __first, const_iterator __last', external] + - [C++14, unordered_set, std, unordered_set, reserve, void, size_type __n, external] + - [C++14, unordered_set, std, unordered_set, emplace, 'pair', _Args && __args, external] + - [C++14, unordered_set, std, unordered_set, emplace_hint, iterator, 'const_iterator __pos, _Args && __args', external] + - [C++14, unordered_set, std, unordered_set, hash_function, hasher, '', external] + - [C++14, unordered_set, std, unordered_set, max_load_factor, void, float __z, external] + - [C++14, unordered_set, std, unordered_set, max_load_factor, float, '', external] + - [C++14, unordered_set, std, unordered_set, rehash, void, size_type __n, external] + - [C++14, unordered_set, std, unordered_set, load_factor, float, '', external] + - [C++14, unordered_set, std, unordered_set, bucket, size_type, const key_type & __key, external] + - [C++14, unordered_set, std, unordered_set, bucket_size, size_type, size_type __n, external] + - [C++14, unordered_set, std, unordered_set, max_bucket_count, size_type, '', external] + - [C++14, unordered_set, std, unordered_set, bucket_count, size_type, '', external] + - [C++14, unordered_set, std, unordered_set, key_eq, key_equal, '', external] + - [C++14, unordered_set, std, unordered_multiset, swap, void, 'unordered_multiset<_Value, _Hash, _Pred, _Alloc> & __x', external] + - [C++14, unordered_set, std, unordered_multiset, end, const_iterator, '', external] + - [C++14, unordered_set, std, unordered_multiset, end, iterator, '', external] + - [C++14, unordered_set, std, unordered_multiset, end, const_local_iterator, size_type __n, external] + - [C++14, unordered_set, std, unordered_multiset, end, local_iterator, size_type __n, external] + - [C++14, unordered_set, std, unordered_multiset, begin, const_iterator, '', external] + - [C++14, unordered_set, std, unordered_multiset, begin, iterator, '', external] + - [C++14, unordered_set, std, unordered_multiset, begin, const_local_iterator, size_type __n, external] + - [C++14, unordered_set, std, unordered_multiset, begin, local_iterator, size_type __n, external] + - [C++14, unordered_set, std, unordered_multiset, size, size_type, '', external] + - [C++14, unordered_set, std, unordered_multiset, find, const_iterator, const key_type & __x, external] + - [C++14, unordered_set, std, unordered_multiset, find, iterator, const key_type & __x, external] + - [C++14, unordered_set, std, unordered_multiset, count, size_type, const key_type & __x, external] + - [C++14, unordered_set, std, unordered_multiset, equal_range, 'pair', const key_type & __x, external] + - [C++14, unordered_set, std, unordered_multiset, equal_range, 'pair', const key_type & __x, external] + - [C++14, unordered_set, std, unordered_multiset, cend, const_iterator, '', external] + - [C++14, unordered_set, std, unordered_multiset, cend, const_local_iterator, size_type __n, external] + - [C++14, unordered_set, std, unordered_multiset, cbegin, const_iterator, '', external] + - [C++14, unordered_set, std, unordered_multiset, cbegin, const_local_iterator, size_type __n, external] + - [C++14, unordered_set, std, unordered_multiset, empty, bool, '', external] + - [C++14, unordered_set, std, unordered_multiset, max_size, size_type, '', external] + - [C++14, unordered_set, std, unordered_multiset, clear, void, '', external] + - [C++14, unordered_set, std, unordered_multiset, insert, void, initializer_list __l, external] + - [C++14, unordered_set, std, unordered_multiset, insert, void, '_InputIterator __first, _InputIterator __last', external] + - [C++14, unordered_set, std, unordered_multiset, insert, iterator, const value_type & __x, external] + - [C++14, unordered_set, std, unordered_multiset, insert, iterator, value_type && __x, external] + - [C++14, unordered_set, std, unordered_multiset, insert, iterator, 'const_iterator __hint, value_type && __x', external] + - [C++14, unordered_set, std, unordered_multiset, insert, iterator, 'const_iterator __hint, const value_type & __x', external] + - [C++14, unordered_set, std, unordered_multiset, get_allocator, allocator_type, '', external] + - [C++14, unordered_set, std, unordered_multiset, erase, size_type, const key_type & __x, external] + - [C++14, unordered_set, std, unordered_multiset, erase, iterator, const_iterator __position, external] + - [C++14, unordered_set, std, unordered_multiset, erase, iterator, iterator __position, external] + - [C++14, unordered_set, std, unordered_multiset, erase, iterator, 'const_iterator __first, const_iterator __last', external] + - [C++14, unordered_set, std, unordered_multiset, reserve, void, size_type __n, external] + - [C++14, unordered_set, std, unordered_multiset, emplace, iterator, _Args && __args, external] + - [C++14, unordered_set, std, unordered_multiset, emplace_hint, iterator, 'const_iterator __pos, _Args && __args', external] + - [C++14, unordered_set, std, unordered_multiset, hash_function, hasher, '', external] + - [C++14, unordered_set, std, unordered_multiset, max_load_factor, void, float __z, external] + - [C++14, unordered_set, std, unordered_multiset, max_load_factor, float, '', external] + - [C++14, unordered_set, std, unordered_multiset, rehash, void, size_type __n, external] + - [C++14, unordered_set, std, unordered_multiset, load_factor, float, '', external] + - [C++14, unordered_set, std, unordered_multiset, bucket, size_type, const key_type & __key, external] + - [C++14, unordered_set, std, unordered_multiset, bucket_size, size_type, size_type __n, external] + - [C++14, unordered_set, std, unordered_multiset, max_bucket_count, size_type, '', external] + - [C++14, unordered_set, std, unordered_multiset, bucket_count, size_type, '', external] + - [C++14, unordered_set, std, unordered_multiset, key_eq, key_equal, '', external] + - [C++14, valarray, std, '', end, _Tp *, valarray<_Tp> & __va, external] + - [C++14, valarray, std, '', end, const _Tp *, const valarray<_Tp> & __va, external] + - [C++14, valarray, std, '', begin, _Tp *, valarray<_Tp> & __va, external] + - [C++14, valarray, std, '', begin, const _Tp *, const valarray<_Tp> & __va, external] + - [C++14, valarray, std, '', abs, '_Expr<_UnClos<_Abs, _Expr, _Dom>, value_type>', 'const _Expr<_Dom, value_type> & __e', external] + - [C++14, valarray, std, '', abs, '_Expr<_UnClos<_Abs, _ValArray, _Tp>, _Tp>', const valarray<_Tp> & __v, external] + - [C++14, valarray, std, '', tanh, '_Expr<_UnClos<_Tanh, _Expr, _Dom>, value_type>', 'const _Expr<_Dom, value_type> & __e', external] + - [C++14, valarray, std, '', tanh, '_Expr<_UnClos<_Tanh, _ValArray, _Tp>, _Tp>', const valarray<_Tp> & __v, external] + - [C++14, valarray, std, '', tan, '_Expr<_UnClos<_Tan, _Expr, _Dom>, value_type>', 'const _Expr<_Dom, value_type> & __e', external] + - [C++14, valarray, std, '', tan, '_Expr<_UnClos<_Tan, _ValArray, _Tp>, _Tp>', const valarray<_Tp> & __v, external] + - [C++14, valarray, std, '', sqrt, '_Expr<_UnClos<_Sqrt, _Expr, _Dom>, value_type>', 'const _Expr<_Dom, value_type> & __e', external] + - [C++14, valarray, std, '', sqrt, '_Expr<_UnClos<_Sqrt, _ValArray, _Tp>, _Tp>', const valarray<_Tp> & __v, external] + - [C++14, valarray, std, '', sinh, '_Expr<_UnClos<_Sinh, _Expr, _Dom>, value_type>', 'const _Expr<_Dom, value_type> & __e', external] + - [C++14, valarray, std, '', sinh, '_Expr<_UnClos<_Sinh, _ValArray, _Tp>, _Tp>', const valarray<_Tp> & __v, external] + - [C++14, valarray, std, '', sin, '_Expr<_UnClos<_Sin, _Expr, _Dom>, value_type>', 'const _Expr<_Dom, value_type> & __e', external] + - [C++14, valarray, std, '', sin, '_Expr<_UnClos<_Sin, _ValArray, _Tp>, _Tp>', const valarray<_Tp> & __v, external] + - [C++14, valarray, std, '', pow, '_Expr<_BinClos<_Pow, _Expr, _Expr, _Dom1, _Dom2>, value_type>', 'const _Expr<_Dom1, value_type> & __e1, const _Expr<_Dom2, value_type> & __e2', external] + - [C++14, valarray, std, '', pow, '_Expr<_BinClos<_Pow, _Expr, _ValArray, _Dom, value_type>, value_type>', 'const _Expr<_Dom, value_type> & __e, const valarray & __v', external] + - [C++14, valarray, std, '', pow, '_Expr<_BinClos<_Pow, _ValArray, _Expr, value_type, _Dom>, value_type>', 'const valarray & __v, const _Expr<_Dom, value_type> & __e', external] + - [C++14, valarray, std, '', pow, '_Expr<_BinClos<_Pow, _Expr, _Constant, _Dom, value_type>, value_type>', 'const _Expr<_Dom, value_type> & __e, const value_type & __t', external] + - [C++14, valarray, std, '', pow, '_Expr<_BinClos<_Pow, _Constant, _Expr, value_type, _Dom>, value_type>', 'const value_type & __t, const _Expr<_Dom, value_type> & __e', external] + - [C++14, valarray, std, '', pow, '_Expr<_BinClos<_Pow, _ValArray, _ValArray, _Tp, _Tp>, _Tp>', 'const valarray<_Tp> & __v, const valarray<_Tp> & __w', external] + - [C++14, valarray, std, '', pow, '_Expr<_BinClos<_Pow, _ValArray, _Constant, _Tp, _Tp>, _Tp>', 'const valarray<_Tp> & __v, const value_type & __t', external] + - [C++14, valarray, std, '', pow, '_Expr<_BinClos<_Pow, _Constant, _ValArray, _Tp, _Tp>, _Tp>', 'const value_type & __t, const valarray<_Tp> & __v', external] + - [C++14, valarray, std, '', log10, '_Expr<_UnClos<_Log10, _Expr, _Dom>, value_type>', 'const _Expr<_Dom, value_type> & __e', external] + - [C++14, valarray, std, '', log10, '_Expr<_UnClos<_Log10, _ValArray, _Tp>, _Tp>', const valarray<_Tp> & __v, external] + - [C++14, valarray, std, '', log, '_Expr<_UnClos<_Log, _Expr, _Dom>, value_type>', 'const _Expr<_Dom, value_type> & __e', external] + - [C++14, valarray, std, '', log, '_Expr<_UnClos<_Log, _ValArray, _Tp>, _Tp>', const valarray<_Tp> & __v, external] + - [C++14, valarray, std, '', exp, '_Expr<_UnClos<_Exp, _Expr, _Dom>, value_type>', 'const _Expr<_Dom, value_type> & __e', external] + - [C++14, valarray, std, '', exp, '_Expr<_UnClos<_Exp, _ValArray, _Tp>, _Tp>', const valarray<_Tp> & __v, external] + - [C++14, valarray, std, '', cosh, '_Expr<_UnClos<_Cosh, _Expr, _Dom>, value_type>', 'const _Expr<_Dom, value_type> & __e', external] + - [C++14, valarray, std, '', cosh, '_Expr<_UnClos<_Cosh, _ValArray, _Tp>, _Tp>', const valarray<_Tp> & __v, external] + - [C++14, valarray, std, '', cos, '_Expr<_UnClos<_Cos, _Expr, _Dom>, value_type>', 'const _Expr<_Dom, value_type> & __e', external] + - [C++14, valarray, std, '', cos, '_Expr<_UnClos<_Cos, _ValArray, _Tp>, _Tp>', const valarray<_Tp> & __v, external] + - [C++14, valarray, std, '', atan2, '_Expr<_BinClos<_Atan2, _Expr, _Expr, _Dom1, _Dom2>, value_type>', 'const _Expr<_Dom1, value_type> & __e1, const _Expr<_Dom2, value_type> & __e2', external] + - [C++14, valarray, std, '', atan2, '_Expr<_BinClos<_Atan2, _Expr, _ValArray, _Dom, value_type>, value_type>', 'const _Expr<_Dom, value_type> & __e, const valarray & __v', external] + - [C++14, valarray, std, '', atan2, '_Expr<_BinClos<_Atan2, _ValArray, _Expr, value_type, _Dom>, value_type>', 'const valarray & __v, const _Expr<_Dom, value_type> & __e', external] + - [C++14, valarray, std, '', atan2, '_Expr<_BinClos<_Atan2, _Expr, _Constant, _Dom, value_type>, value_type>', 'const _Expr<_Dom, value_type> & __e, const value_type & __t', external] + - [C++14, valarray, std, '', atan2, '_Expr<_BinClos<_Atan2, _Constant, _Expr, value_type, _Dom>, value_type>', 'const value_type & __t, const _Expr<_Dom, value_type> & __e', external] + - [C++14, valarray, std, '', atan2, '_Expr<_BinClos<_Atan2, _ValArray, _ValArray, _Tp, _Tp>, _Tp>', 'const valarray<_Tp> & __v, const valarray<_Tp> & __w', external] + - [C++14, valarray, std, '', atan2, '_Expr<_BinClos<_Atan2, _ValArray, _Constant, _Tp, _Tp>, _Tp>', 'const valarray<_Tp> & __v, const value_type & __t', external] + - [C++14, valarray, std, '', atan2, '_Expr<_BinClos<_Atan2, _Constant, _ValArray, _Tp, _Tp>, _Tp>', 'const value_type & __t, const valarray<_Tp> & __v', external] + - [C++14, valarray, std, '', atan, '_Expr<_UnClos<_Atan, _Expr, _Dom>, value_type>', 'const _Expr<_Dom, value_type> & __e', external] + - [C++14, valarray, std, '', atan, '_Expr<_UnClos<_Atan, _ValArray, _Tp>, _Tp>', const valarray<_Tp> & __v, external] + - [C++14, valarray, std, '', asin, '_Expr<_UnClos<_Asin, _Expr, _Dom>, value_type>', 'const _Expr<_Dom, value_type> & __e', external] + - [C++14, valarray, std, '', asin, '_Expr<_UnClos<_Asin, _ValArray, _Tp>, _Tp>', const valarray<_Tp> & __v, external] + - [C++14, valarray, std, '', acos, '_Expr<_UnClos<_Acos, _Expr, _Dom>, value_type>', 'const _Expr<_Dom, value_type> & __e', external] + - [C++14, valarray, std, '', acos, '_Expr<_UnClos<_Acos, _ValArray, _Tp>, _Tp>', const valarray<_Tp> & __v, external] + - [C++14, valarray, std, slice, size, size_t, '', external] + - [C++14, valarray, std, slice, stride, size_t, '', external] + - [C++14, valarray, std, slice, start, size_t, '', external] + - [C++14, valarray, std, gslice, size, valarray, '', external] + - [C++14, valarray, std, gslice, stride, valarray, '', external] + - [C++14, valarray, std, gslice, start, size_t, '', external] + - [C++14, valarray, std, valarray, max, _Tp, '', external] + - [C++14, valarray, std, valarray, min, _Tp, '', external] + - [C++14, valarray, std, valarray, swap, void, valarray<_Tp> & __v, external] + - [C++14, valarray, std, valarray, size, size_t, '', external] + - [C++14, valarray, std, valarray, shift, valarray<_Tp>, int __n, external] + - [C++14, valarray, std, valarray, resize, void, 'size_t __n, _Tp __c', external] + - [C++14, valarray, std, valarray, apply, '_Expr<_ValFunClos<_ValArray, _Tp>, _Tp>', ..()(..) func, external] + - [C++14, valarray, std, valarray, apply, '_Expr<_RefFunClos<_ValArray, _Tp>, _Tp>', ..()(..) func, external] + - [C++14, valarray, std, valarray, cshift, valarray<_Tp>, int __n, external] + - [C++14, valarray, std, valarray, sum, _Tp, '', external] + - [C++14, regex, std, '', swap, void, 'match_results<_Bi_iter, _Alloc> & __lhs, match_results<_Bi_iter, _Alloc> & __rhs', external] + - [C++14, regex, std, '', swap, void, 'basic_regex<_Ch_type, _Rx_traits> & __lhs, basic_regex<_Ch_type, _Rx_traits> & __rhs', external] + - [C++14, regex, std, '', regex_replace, _Out_iter, '_Out_iter __out, _Bi_iter __first, _Bi_iter __last, const basic_regex<_Ch_type, _Rx_traits> & __e, const _Ch_type * __fmt, match_flag_type __flags', external] + - [C++14, regex, std, '', regex_replace, _Out_iter, '_Out_iter __out, _Bi_iter __first, _Bi_iter __last, const basic_regex<_Ch_type, _Rx_traits> & __e, const basic_string<_Ch_type, _St, _Sa> & __fmt, match_flag_type __flags', external] + - [C++14, regex, std, '', regex_replace, 'basic_string<_Ch_type, _St, _Sa>', 'const basic_string<_Ch_type, _St, _Sa> & __s, const basic_regex<_Ch_type, _Rx_traits> & __e, const _Ch_type * __fmt, match_flag_type __flags', external] + - [C++14, regex, std, '', regex_replace, 'basic_string<_Ch_type, _St, _Sa>', 'const basic_string<_Ch_type, _St, _Sa> & __s, const basic_regex<_Ch_type, _Rx_traits> & __e, const basic_string<_Ch_type, _Fst, _Fsa> & __fmt, match_flag_type __flags', external] + - [C++14, regex, std, '', regex_replace, 'basic_string<_Ch_type, char_traits<_Ch_type>, allocator<_Ch_type>>', 'const _Ch_type * __s, const basic_regex<_Ch_type, _Rx_traits> & __e, const _Ch_type * __fmt, match_flag_type __flags', external] + - [C++14, regex, std, '', regex_replace, 'basic_string<_Ch_type, char_traits<_Ch_type>, allocator<_Ch_type>>', 'const _Ch_type * __s, const basic_regex<_Ch_type, _Rx_traits> & __e, const basic_string<_Ch_type, _St, _Sa> & __fmt, match_flag_type __flags', external] + - [C++14, regex, std, '', regex_search, bool, 'const basic_string<_Ch_type, _Ch_traits, _Ch_alloc> && (unnamed parameter 0), match_results & (unnamed parameter 1), const basic_regex<_Ch_type, _Rx_traits> & (unnamed parameter 2), match_flag_type (unnamed parameter 3)', external] + - [C++14, regex, std, '', regex_search, bool, 'const basic_string<_Ch_type, _Ch_traits, _Ch_alloc> & __s, match_results & __m, const basic_regex<_Ch_type, _Rx_traits> & __e, match_flag_type __f', external] + - [C++14, regex, std, '', regex_search, bool, 'const basic_string<_Ch_type, _Ch_traits, _String_allocator> & __s, const basic_regex<_Ch_type, _Rx_traits> & __e, match_flag_type __flags', external] + - [C++14, regex, std, '', regex_search, bool, 'const _Ch_type * __s, const basic_regex<_Ch_type, _Rx_traits> & __e, match_flag_type __f', external] + - [C++14, regex, std, '', regex_search, bool, 'const _Ch_type * __s, match_results & __m, const basic_regex<_Ch_type, _Rx_traits> & __e, match_flag_type __f', external] + - [C++14, regex, std, '', regex_search, bool, '_Bi_iter __first, _Bi_iter __last, const basic_regex<_Ch_type, _Rx_traits> & __re, match_flag_type __flags', external] + - [C++14, regex, std, '', regex_search, bool, '_Bi_iter __s, _Bi_iter __e, match_results<_Bi_iter, _Alloc> & __m, const basic_regex<_Ch_type, _Rx_traits> & __re, match_flag_type __flags', external] + - [C++14, regex, std, '', regex_match, bool, 'const basic_string<_Ch_type, _Ch_traits, _Ch_alloc> && (unnamed parameter 0), match_results & (unnamed parameter 1), const basic_regex<_Ch_type, _Rx_traits> & (unnamed parameter 2), match_flag_type (unnamed parameter 3)', external] + - [C++14, regex, std, '', regex_match, bool, '_Bi_iter __first, _Bi_iter __last, const basic_regex<_Ch_type, _Rx_traits> & __re, match_flag_type __flags', external] + - [C++14, regex, std, '', regex_match, bool, '_Bi_iter __s, _Bi_iter __e, match_results<_Bi_iter, _Alloc> & __m, const basic_regex<_Ch_type, _Rx_traits> & __re, match_flag_type __flags', external] + - [C++14, regex, std, '', regex_match, bool, 'const basic_string<_Ch_type, _Ch_traits, _Str_allocator> & __s, const basic_regex<_Ch_type, _Rx_traits> & __re, match_flag_type __flags', external] + - [C++14, regex, std, '', regex_match, bool, 'const _Ch_type * __s, const basic_regex<_Ch_type, _Rx_traits> & __re, match_flag_type __f', external] + - [C++14, regex, std, '', regex_match, bool, 'const basic_string<_Ch_type, _Ch_traits, _Ch_alloc> & __s, match_results & __m, const basic_regex<_Ch_type, _Rx_traits> & __re, match_flag_type __flags', external] + - [C++14, regex, std, '', regex_match, bool, 'const _Ch_type * __s, match_results & __m, const basic_regex<_Ch_type, _Rx_traits> & __re, match_flag_type __f', external] + - [C++14, regex, std, regex_error, code, error_type, '', external] + - [C++14, regex, std, match_results, swap, void, 'match_results<_Bi_iter, _Alloc> & __that', external] + - [C++14, regex, std, match_results, end, const_iterator, '', external] + - [C++14, regex, std, match_results, begin, const_iterator, '', external] + - [C++14, regex, std, match_results, size, size_type, '', external] + - [C++14, regex, std, match_results, format, string_type, 'const char_type * __fmt, match_flag_type __flags', external] + - [C++14, regex, std, match_results, format, _Out_iter, '_Out_iter __out, const char_type * __fmt_first, const char_type * __fmt_last, match_flag_type __flags', external] + - [C++14, regex, std, match_results, format, _Out_iter, '_Out_iter __out, const basic_string & __fmt, match_flag_type __flags', external] + - [C++14, regex, std, match_results, format, 'basic_string', 'const basic_string & __fmt, match_flag_type __flags', external] + - [C++14, regex, std, match_results, cend, const_iterator, '', external] + - [C++14, regex, std, match_results, cbegin, const_iterator, '', external] + - [C++14, regex, std, match_results, empty, bool, '', external] + - [C++14, regex, std, match_results, max_size, size_type, '', external] + - [C++14, regex, std, match_results, length, difference_type, size_type __sub, external] + - [C++14, regex, std, match_results, get_allocator, allocator_type, '', external] + - [C++14, regex, std, match_results, str, string_type, size_type __sub, external] + - [C++14, regex, std, match_results, ready, bool, '', external] + - [C++14, regex, std, match_results, suffix, const_reference, '', external] + - [C++14, regex, std, match_results, prefix, const_reference, '', external] + - [C++14, regex, std, match_results, position, difference_type, size_type __sub, external] + - [C++14, regex, std, basic_regex, swap, void, 'basic_regex<_Ch_type, _Rx_traits> & __rhs', external] + - [C++14, regex, std, basic_regex, assign, 'basic_regex<_Ch_type, _Rx_traits> &', 'basic_regex<_Ch_type, _Rx_traits> && __rhs', external] + - [C++14, regex, std, basic_regex, assign, 'basic_regex<_Ch_type, _Rx_traits> &', 'const basic_regex<_Ch_type, _Rx_traits> & __rhs', external] + - [C++14, regex, std, basic_regex, assign, 'basic_regex<_Ch_type, _Rx_traits> &', 'initializer_list<_Ch_type> __l, flag_type __flags', external] + - [C++14, regex, std, basic_regex, assign, 'basic_regex<_Ch_type, _Rx_traits> &', '_InputIterator __first, _InputIterator __last, flag_type __flags', external] + - [C++14, regex, std, basic_regex, assign, 'basic_regex<_Ch_type, _Rx_traits> &', 'const basic_string<_Ch_type, _Ch_traits, _Alloc> & __s, flag_type __flags', external] + - [C++14, regex, std, basic_regex, assign, 'basic_regex<_Ch_type, _Rx_traits> &', 'const _Ch_type * __p, size_t __len, flag_type __flags', external] + - [C++14, regex, std, basic_regex, assign, 'basic_regex<_Ch_type, _Rx_traits> &', 'const _Ch_type * __p, flag_type __flags', external] + - [C++14, regex, std, basic_regex, getloc, locale_type, '', external] + - [C++14, regex, std, basic_regex, imbue, locale_type, locale_type __loc, external] + - [C++14, regex, std, basic_regex, flags, flag_type, '', external] + - [C++14, regex, std, basic_regex, mark_count, unsigned int, '', external] + - [C++14, regex, std, regex_traits, value, int, '_Ch_type __ch, int __radix', external] + - [C++14, regex, std, regex_traits, transform, string_type, '_Fwd_iter __first, _Fwd_iter __last', external] + - [C++14, regex, std, regex_traits, length, size_t, const char_type * __p, external] + - [C++14, regex, std, regex_traits, isctype, bool, '_Ch_type __c, char_class_type __f', external] + - [C++14, regex, std, regex_traits, getloc, locale_type, '', external] + - [C++14, regex, std, regex_traits, imbue, locale_type, locale_type __loc, external] + - [C++14, regex, std, regex_traits, lookup_classname, char_class_type, '_Fwd_iter __first, _Fwd_iter __last, bool __icase', external] + - [C++14, regex, std, regex_traits, lookup_collatename, string_type, '_Fwd_iter __first, _Fwd_iter __last', external] + - [C++14, regex, std, regex_traits, transform_primary, string_type, '_Fwd_iter __first, _Fwd_iter __last', external] + - [C++14, regex, std, regex_traits, translate_nocase, char_type, char_type __c, external] + - [C++14, regex, std, regex_traits, translate, char_type, char_type __c, external] + - [C++14, regex, std, sub_match, length, difference_type, '', external] + - [C++14, regex, std, sub_match, compare, int, const string_type & __s, external] + - [C++14, regex, std, sub_match, compare, int, const value_type * __s, external] + - [C++14, regex, std, sub_match, compare, int, const sub_match<_BiIter> & __s, external] + - [C++14, regex, std, sub_match, str, string_type, '', external] + - [C++14, regex, std, sub_match, 'operator std::__cxx11::basic_string::value_type, std::char_traits::value_type>, std::allocator::value_type>>', string_type, '', external] + - [C++14, fstream, std, '', swap, void, 'basic_fstream<_CharT, _Traits> & __x, basic_fstream<_CharT, _Traits> & __y', external] + - [C++14, fstream, std, '', swap, void, 'basic_ofstream<_CharT, _Traits> & __x, basic_ofstream<_CharT, _Traits> & __y', external] + - [C++14, fstream, std, '', swap, void, 'basic_ifstream<_CharT, _Traits> & __x, basic_ifstream<_CharT, _Traits> & __y', external] + - [C++14, fstream, std, '', swap, void, 'basic_filebuf<_CharT, _Traits> & __x, basic_filebuf<_CharT, _Traits> & __y', external] + - [C++14, fstream, std, basic_filebuf, swap, void, 'basic_filebuf<_CharT, _Traits> & __rhs', external] + - [C++14, fstream, std, basic_filebuf, close, __filebuf_type *, '', external] + - [C++14, fstream, std, basic_filebuf, setbuf, __streambuf_type *, 'char_type * __s, streamsize __n', external] + - [C++14, fstream, std, basic_filebuf, imbue, void, const locale & __loc, external] + - [C++14, fstream, std, basic_filebuf, xsputn, streamsize, 'const char_type * __s, streamsize __n', external] + - [C++14, fstream, std, basic_filebuf, xsgetn, streamsize, 'char_type * __s, streamsize __n', external] + - [C++14, fstream, std, basic_filebuf, overflow, int_type, int_type __c, external] + - [C++14, fstream, std, basic_filebuf, pbackfail, int_type, int_type __i, external] + - [C++14, fstream, std, basic_filebuf, underflow, int_type, '', external] + - [C++14, fstream, std, basic_filebuf, showmanyc, streamsize, '', external] + - [C++14, fstream, std, basic_filebuf, sync, int, '', external] + - [C++14, fstream, std, basic_filebuf, seekpos, pos_type, 'pos_type __pos, openmode __mode', external] + - [C++14, fstream, std, basic_filebuf, seekoff, pos_type, 'off_type __off, seekdir __way, openmode __mode', external] + - [C++14, fstream, std, basic_filebuf, is_open, bool, '', external] + - [C++14, fstream, std, basic_filebuf, open, __filebuf_type *, 'const char * __s, openmode __mode', external] + - [C++14, fstream, std, basic_filebuf, open, __filebuf_type *, 'const string & __s, openmode __mode', external] + - [C++14, fstream, std, basic_fstream, swap, void, 'basic_fstream<_CharT, _Traits> & __rhs', external] + - [C++14, fstream, std, basic_fstream, close, void, '', external] + - [C++14, fstream, std, basic_fstream, rdbuf, __filebuf_type *, '', external] + - [C++14, fstream, std, basic_fstream, is_open, bool, '', external] + - [C++14, fstream, std, basic_fstream, open, void, 'const char * __s, openmode __mode', external] + - [C++14, fstream, std, basic_fstream, open, void, 'const string & __s, openmode __mode', external] + - [C++14, fstream, std, basic_ofstream, swap, void, 'basic_ofstream<_CharT, _Traits> & __rhs', external] + - [C++14, fstream, std, basic_ofstream, close, void, '', external] + - [C++14, fstream, std, basic_ofstream, rdbuf, __filebuf_type *, '', external] + - [C++14, fstream, std, basic_ofstream, is_open, bool, '', external] + - [C++14, fstream, std, basic_ofstream, open, void, 'const char * __s, openmode __mode', external] + - [C++14, fstream, std, basic_ofstream, open, void, 'const string & __s, openmode __mode', external] + - [C++14, fstream, std, basic_ifstream, swap, void, 'basic_ifstream<_CharT, _Traits> & __rhs', external] + - [C++14, fstream, std, basic_ifstream, close, void, '', external] + - [C++14, fstream, std, basic_ifstream, rdbuf, __filebuf_type *, '', external] + - [C++14, fstream, std, basic_ifstream, is_open, bool, '', external] + - [C++14, fstream, std, basic_ifstream, open, void, 'const char * __s, openmode __mode', external] + - [C++14, fstream, std, basic_ifstream, open, void, 'const string & __s, openmode __mode', external] + - [C++14, ostream, std, '', flush, 'basic_ostream<_CharT, _Traits> &', 'basic_ostream<_CharT, _Traits> & __os', external] + - [C++14, ostream, std, '', ends, 'basic_ostream<_CharT, _Traits> &', 'basic_ostream<_CharT, _Traits> & __os', external] + - [C++14, ostream, std, '', endl, 'basic_ostream<_CharT, _Traits> &', 'basic_ostream<_CharT, _Traits> & __os', external] + - [C++14, ostream, std, basic_ostream, swap, void, 'basic_ostream<_CharT, _Traits> & __rhs', external] + - [C++14, ostream, std, basic_ostream, write, __ostream_type &, 'const char_type * __s, streamsize __n', external] + - [C++14, ostream, std, basic_ostream, put, __ostream_type &, char_type __c, external] + - [C++14, ostream, std, basic_ostream, seekp, __ostream_type &, pos_type __pos, external] + - [C++14, ostream, std, basic_ostream, seekp, __ostream_type &, 'off_type __off, seekdir __dir', external] + - [C++14, ostream, std, basic_ostream, tellp, pos_type, '', external] + - [C++14, ostream, std, basic_ostream, flush, __ostream_type &, '', external] + - [C++14, istream, std, '', ws, 'basic_istream<_CharT, _Traits> &', 'basic_istream<_CharT, _Traits> & __in', external] + - [C++14, istream, std, basic_iostream, swap, void, 'basic_iostream<_CharT, _Traits> & __rhs', external] + - [C++14, istream, std, basic_istream, swap, void, 'basic_istream<_CharT, _Traits> & __rhs', external] + - [C++14, istream, std, basic_istream, get, int_type, '', external] + - [C++14, istream, std, basic_istream, get, __istream_type &, __streambuf_type & __sb, external] + - [C++14, istream, std, basic_istream, get, __istream_type &, char_type & __c, external] + - [C++14, istream, std, basic_istream, get, __istream_type &, 'char_type * __s, streamsize __n', external] + - [C++14, istream, std, basic_istream, get, __istream_type &, 'char_type * __s, streamsize __n, char_type __delim', external] + - [C++14, istream, std, basic_istream, get, __istream_type &, '__streambuf_type & __sb, char_type __delim', external] + - [C++14, istream, std, basic_istream, read, __istream_type &, 'char_type * __s, streamsize __n', external] + - [C++14, istream, std, basic_istream, getline, __istream_type &, 'char_type * __s, streamsize __n', external] + - [C++14, istream, std, basic_istream, getline, __istream_type &, 'char_type * __s, streamsize __n, char_type __delim', external] + - [C++14, istream, std, basic_istream, sync, int, '', external] + - [C++14, istream, std, basic_istream, seekg, __istream_type &, pos_type __pos, external] + - [C++14, istream, std, basic_istream, seekg, __istream_type &, 'off_type __off, seekdir __dir', external] + - [C++14, istream, std, basic_istream, tellg, pos_type, '', external] + - [C++14, istream, std, basic_istream, unget, __istream_type &, '', external] + - [C++14, istream, std, basic_istream, putback, __istream_type &, char_type __c, external] + - [C++14, istream, std, basic_istream, readsome, streamsize, 'char_type * __s, streamsize __n', external] + - [C++14, istream, std, basic_istream, peek, int_type, '', external] + - [C++14, istream, std, basic_istream, ignore, __istream_type &, '', external] + - [C++14, istream, std, basic_istream, ignore, __istream_type &, streamsize __n, external] + - [C++14, istream, std, basic_istream, ignore, __istream_type &, 'streamsize __n, int_type __delim', external] + - [C++14, istream, std, basic_istream, gcount, streamsize, '', external] + - [C++14, streambuf, std, '', getline, 'basic_istream<_CharT2, _Traits2> &', 'basic_istream<_CharT2, _Traits2> & (unnamed parameter 0), basic_string<_CharT2, _Traits2, _Alloc> & (unnamed parameter 1), _CharT2 (unnamed parameter 2)', external] + - [C++14, streambuf, std, basic_streambuf, swap, void, 'basic_streambuf<_CharT, _Traits> & __sb', external] + - [C++14, streambuf, std, basic_streambuf, setbuf, 'basic_streambuf<_CharT, _Traits> *', 'char_type * (unnamed parameter 0), streamsize (unnamed parameter 1)', external] + - [C++14, streambuf, std, basic_streambuf, getloc, locale, '', external] + - [C++14, streambuf, std, basic_streambuf, imbue, void, const locale & __loc, external] + - [C++14, streambuf, std, basic_streambuf, xsputn, streamsize, 'const char_type * __s, streamsize __n', external] + - [C++14, streambuf, std, basic_streambuf, xsgetn, streamsize, 'char_type * __s, streamsize __n', external] + - [C++14, streambuf, std, basic_streambuf, stossc, void, '', external] + - [C++14, streambuf, std, basic_streambuf, overflow, int_type, int_type __c, external] + - [C++14, streambuf, std, basic_streambuf, pbackfail, int_type, int_type __c, external] + - [C++14, streambuf, std, basic_streambuf, uflow, int_type, '', external] + - [C++14, streambuf, std, basic_streambuf, underflow, int_type, '', external] + - [C++14, streambuf, std, basic_streambuf, showmanyc, streamsize, '', external] + - [C++14, streambuf, std, basic_streambuf, sync, int, '', external] + - [C++14, streambuf, std, basic_streambuf, seekpos, pos_type, 'pos_type (unnamed parameter 0), openmode (unnamed parameter 1)', external] + - [C++14, streambuf, std, basic_streambuf, seekoff, pos_type, 'off_type (unnamed parameter 0), seekdir (unnamed parameter 1), openmode (unnamed parameter 2)', external] + - [C++14, streambuf, std, basic_streambuf, setp, void, 'char_type * __pbeg, char_type * __pend', external] + - [C++14, streambuf, std, basic_streambuf, pbump, void, int __n, external] + - [C++14, streambuf, std, basic_streambuf, epptr, char_type *, '', external] + - [C++14, streambuf, std, basic_streambuf, pptr, char_type *, '', external] + - [C++14, streambuf, std, basic_streambuf, pbase, char_type *, '', external] + - [C++14, streambuf, std, basic_streambuf, setg, void, 'char_type * __gbeg, char_type * __gnext, char_type * __gend', external] + - [C++14, streambuf, std, basic_streambuf, gbump, void, int __n, external] + - [C++14, streambuf, std, basic_streambuf, egptr, char_type *, '', external] + - [C++14, streambuf, std, basic_streambuf, gptr, char_type *, '', external] + - [C++14, streambuf, std, basic_streambuf, eback, char_type *, '', external] + - [C++14, streambuf, std, basic_streambuf, sputn, streamsize, 'const char_type * __s, streamsize __n', external] + - [C++14, streambuf, std, basic_streambuf, sputc, int_type, char_type __c, external] + - [C++14, streambuf, std, basic_streambuf, sungetc, int_type, '', external] + - [C++14, streambuf, std, basic_streambuf, sputbackc, int_type, char_type __c, external] + - [C++14, streambuf, std, basic_streambuf, sgetn, streamsize, 'char_type * __s, streamsize __n', external] + - [C++14, streambuf, std, basic_streambuf, sgetc, int_type, '', external] + - [C++14, streambuf, std, basic_streambuf, sbumpc, int_type, '', external] + - [C++14, streambuf, std, basic_streambuf, snextc, int_type, '', external] + - [C++14, streambuf, std, basic_streambuf, in_avail, streamsize, '', external] + - [C++14, streambuf, std, basic_streambuf, pubsync, int, '', external] + - [C++14, streambuf, std, basic_streambuf, pubseekpos, pos_type, 'pos_type __sp, openmode __mode', external] + - [C++14, streambuf, std, basic_streambuf, pubseekoff, pos_type, 'off_type __off, seekdir __way, openmode __mode', external] + - [C++14, streambuf, std, basic_streambuf, pubsetbuf, 'basic_streambuf<_CharT, _Traits> *', 'char_type * __s, streamsize __n', external] + - [C++14, streambuf, std, basic_streambuf, pubimbue, locale, const locale & __loc, external] + - [C++14, ios, std, '', make_error_condition, error_condition, io_errc __e, external] + - [C++14, ios, std, '', make_error_code, error_code, io_errc __e, external] + - [C++14, ios, std, '', defaultfloat, ios_base &, ios_base & __base, external] + - [C++14, ios, std, '', hexfloat, ios_base &, ios_base & __base, external] + - [C++14, ios, std, '', scientific, ios_base &, ios_base & __base, external] + - [C++14, ios, std, '', fixed, ios_base &, ios_base & __base, external] + - [C++14, ios, std, '', oct, ios_base &, ios_base & __base, external] + - [C++14, ios, std, '', hex, ios_base &, ios_base & __base, external] + - [C++14, ios, std, '', dec, ios_base &, ios_base & __base, external] + - [C++14, ios, std, '', right, ios_base &, ios_base & __base, external] + - [C++14, ios, std, '', left, ios_base &, ios_base & __base, external] + - [C++14, ios, std, '', internal, ios_base &, ios_base & __base, external] + - [C++14, ios, std, '', nounitbuf, ios_base &, ios_base & __base, external] + - [C++14, ios, std, '', unitbuf, ios_base &, ios_base & __base, external] + - [C++14, ios, std, '', nouppercase, ios_base &, ios_base & __base, external] + - [C++14, ios, std, '', uppercase, ios_base &, ios_base & __base, external] + - [C++14, ios, std, '', noskipws, ios_base &, ios_base & __base, external] + - [C++14, ios, std, '', skipws, ios_base &, ios_base & __base, external] + - [C++14, ios, std, '', noshowpos, ios_base &, ios_base & __base, external] + - [C++14, ios, std, '', showpos, ios_base &, ios_base & __base, external] + - [C++14, ios, std, '', noshowpoint, ios_base &, ios_base & __base, external] + - [C++14, ios, std, '', showpoint, ios_base &, ios_base & __base, external] + - [C++14, ios, std, '', noshowbase, ios_base &, ios_base & __base, external] + - [C++14, ios, std, '', showbase, ios_base &, ios_base & __base, external] + - [C++14, ios, std, '', noboolalpha, ios_base &, ios_base & __base, external] + - [C++14, ios, std, '', boolalpha, ios_base &, ios_base & __base, external] + - [C++14, ios, std, '', iostream_category, const error_category &, '', external] + - [C++14, ios, std, ios_base, precision, streamsize, '', external] + - [C++14, ios, std, ios_base, precision, streamsize, streamsize __prec, external] + - [C++14, ios, std, ios_base, pword, void *&, int __ix, external] + - [C++14, ios, std, ios_base, iword, long &, int __ix, external] + - [C++14, ios, std, ios_base, xalloc, int, '', external] + - [C++14, ios, std, ios_base, getloc, locale, '', external] + - [C++14, ios, std, ios_base, imbue, locale, const locale & __loc, external] + - [C++14, ios, std, ios_base, sync_with_stdio, bool, bool __sync, external] + - [C++14, ios, std, ios_base, width, streamsize, '', external] + - [C++14, ios, std, ios_base, width, streamsize, streamsize __wide, external] + - [C++14, ios, std, ios_base, unsetf, void, fmtflags __mask, external] + - [C++14, ios, std, ios_base, setf, fmtflags, fmtflags __fmtfl, external] + - [C++14, ios, std, ios_base, setf, fmtflags, 'fmtflags __fmtfl, fmtflags __mask', external] + - [C++14, ios, std, ios_base, flags, fmtflags, '', external] + - [C++14, ios, std, ios_base, flags, fmtflags, fmtflags __fmtfl, external] + - [C++14, ios, std, ios_base, register_callback, void, 'event_callback __fn, int __index', external] + - [C++14, ios, std, basic_ios, swap, void, 'basic_ios<_CharT, _Traits> & __rhs', external] + - [C++14, ios, std, basic_ios, move, void, 'basic_ios<_CharT, _Traits> & __rhs', external] + - [C++14, ios, std, basic_ios, move, void, 'basic_ios<_CharT, _Traits> && __rhs', external] + - [C++14, ios, std, basic_ios, fill, char_type, '', external] + - [C++14, ios, std, basic_ios, fill, char_type, char_type __ch, external] + - [C++14, ios, std, basic_ios, setstate, void, iostate __state, external] + - [C++14, ios, std, basic_ios, clear, void, iostate __state, external] + - [C++14, ios, std, basic_ios, eof, bool, '', external] + - [C++14, ios, std, basic_ios, imbue, locale, const locale & __loc, external] + - [C++14, ios, std, basic_ios, narrow, char, 'char_type __c, char __dfault', external] + - [C++14, ios, std, basic_ios, widen, char_type, char __c, external] + - [C++14, ios, std, basic_ios, init, void, 'basic_streambuf<_CharT, _Traits> * __sb', external] + - [C++14, ios, std, basic_ios, copyfmt, 'basic_ios<_CharT, _Traits> &', 'const basic_ios<_CharT, _Traits> & __rhs', external] + - [C++14, ios, std, basic_ios, rdbuf, 'basic_streambuf<_CharT, _Traits> *', '', external] + - [C++14, ios, std, basic_ios, rdbuf, 'basic_streambuf<_CharT, _Traits> *', 'basic_streambuf<_CharT, _Traits> * __sb', external] + - [C++14, ios, std, basic_ios, set_rdbuf, void, 'basic_streambuf<_CharT, _Traits> * __sb', external] + - [C++14, ios, std, basic_ios, tie, 'basic_ostream<_CharT, _Traits> *', '', external] + - [C++14, ios, std, basic_ios, tie, 'basic_ostream<_CharT, _Traits> *', 'basic_ostream<_CharT, _Traits> * __tiestr', external] + - [C++14, ios, std, basic_ios, exceptions, void, iostate __except, external] + - [C++14, ios, std, basic_ios, exceptions, iostate, '', external] + - [C++14, ios, std, basic_ios, bad, bool, '', external] + - [C++14, ios, std, basic_ios, fail, bool, '', external] + - [C++14, ios, std, basic_ios, good, bool, '', external] + - [C++14, ios, std, basic_ios, rdstate, iostate, '', external] + - [C++14, string, std, '', swap, void, 'basic_string<_CharT, _Traits, _Alloc> & __lhs, basic_string<_CharT, _Traits, _Alloc> & __rhs', external] + - [C++14, string, std, '', prev, _BidirectionalIterator, '_BidirectionalIterator __x, difference_type __n', external] + - [C++14, string, std, '', next, _InputIterator, '_InputIterator __x, difference_type __n', external] + - [C++14, string, std, '', advance, void, '_InputIterator & __i, _Distance __n', external] + - [C++14, string, std, '', distance, difference_type, '_InputIterator __first, _InputIterator __last', external] + - [C++14, string, std, '', make_move_iterator, move_iterator<_Iterator>, _Iterator __i, external] + - [C++14, string, std, '', inserter, insert_iterator<_Container>, '_Container & __x, iterator __i', external] + - [C++14, string, std, '', front_inserter, front_insert_iterator<_Container>, _Container & __x, external] + - [C++14, string, std, '', back_inserter, back_insert_iterator<_Container>, _Container & __x, external] + - [C++14, string, std, '', make_reverse_iterator, reverse_iterator<_Iterator>, _Iterator __i, external] + - [C++14, string, std, '', getline, 'basic_istream<_CharT, _Traits> &', 'basic_istream<_CharT, _Traits> & __in, basic_string<_CharT, _Traits, _Alloc> & __str, _CharT __delim', external] + - [C++14, string, std, '', getline, 'basic_istream<_CharT, _Traits> &', 'basic_istream<_CharT, _Traits> && __is, basic_string<_CharT, _Traits, _Alloc> & __str', external] + - [C++14, string, std, '', getline, 'basic_istream<_CharT, _Traits> &', 'basic_istream<_CharT, _Traits> && __is, basic_string<_CharT, _Traits, _Alloc> & __str, _CharT __delim', external] + - [C++14, string, std, '', getline, 'basic_istream<_CharT, _Traits> &', 'basic_istream<_CharT, _Traits> & __is, basic_string<_CharT, _Traits, _Alloc> & __str', external] + - [C++14, string, std, '', to_wstring, wstring, unsigned int __val, external] + - [C++14, string, std, '', to_wstring, wstring, unsigned long long __val, external] + - [C++14, string, std, '', to_wstring, wstring, unsigned long __val, external] + - [C++14, string, std, '', to_wstring, wstring, long long __val, external] + - [C++14, string, std, '', to_wstring, wstring, long __val, external] + - [C++14, string, std, '', to_wstring, wstring, int __val, external] + - [C++14, string, std, '', to_wstring, wstring, long double __val, external] + - [C++14, string, std, '', to_wstring, wstring, double __val, external] + - [C++14, string, std, '', to_wstring, wstring, float __val, external] + - [C++14, string, std, '', stold, long double, 'const wstring & __str, size_t * __idx', external] + - [C++14, string, std, '', stold, long double, 'const string & __str, size_t * __idx', external] + - [C++14, string, std, '', stod, double, 'const wstring & __str, size_t * __idx', external] + - [C++14, string, std, '', stod, double, 'const string & __str, size_t * __idx', external] + - [C++14, string, std, '', stof, float, 'const wstring & __str, size_t * __idx', external] + - [C++14, string, std, '', stof, float, 'const string & __str, size_t * __idx', external] + - [C++14, string, std, '', stoull, unsigned long long, 'const wstring & __str, size_t * __idx, int __base', external] + - [C++14, string, std, '', stoull, unsigned long long, 'const string & __str, size_t * __idx, int __base', external] + - [C++14, string, std, '', stoll, long long, 'const wstring & __str, size_t * __idx, int __base', external] + - [C++14, string, std, '', stoll, long long, 'const string & __str, size_t * __idx, int __base', external] + - [C++14, string, std, '', stoul, unsigned long, 'const wstring & __str, size_t * __idx, int __base', external] + - [C++14, string, std, '', stoul, unsigned long, 'const string & __str, size_t * __idx, int __base', external] + - [C++14, string, std, '', stol, long, 'const wstring & __str, size_t * __idx, int __base', external] + - [C++14, string, std, '', stol, long, 'const string & __str, size_t * __idx, int __base', external] + - [C++14, string, std, '', stoi, int, 'const wstring & __str, size_t * __idx, int __base', external] + - [C++14, string, std, '', stoi, int, 'const string & __str, size_t * __idx, int __base', external] + - [C++14, string, std, '', to_string, string, unsigned int __val, external] + - [C++14, string, std, '', to_string, string, unsigned long long __val, external] + - [C++14, string, std, '', to_string, string, unsigned long __val, external] + - [C++14, string, std, '', to_string, string, long long __val, external] + - [C++14, string, std, '', to_string, string, long __val, external] + - [C++14, string, std, '', to_string, string, int __val, external] + - [C++14, string, std, '', to_string, string, long double __val, external] + - [C++14, string, std, '', to_string, string, double __val, external] + - [C++14, string, std, '', to_string, string, float __val, external] + - [C++14, string, std, move_iterator, base, iterator_type, '', external] + - [C++14, string, std, reverse_iterator, base, iterator_type, '', external] + - [C++14, string, std, basic_string, swap, void, 'basic_string<_CharT, _Traits, _Alloc> & __s', external] + - [C++14, string, std, basic_string, end, const_iterator, '', external] + - [C++14, string, std, basic_string, end, iterator, '', external] + - [C++14, string, std, basic_string, begin, const_iterator, '', external] + - [C++14, string, std, basic_string, begin, iterator, '', external] + - [C++14, string, std, basic_string, size, size_type, '', external] + - [C++14, string, std, basic_string, copy, size_type, '_CharT * __s, size_type __n, size_type __pos', external] + - [C++14, string, std, basic_string, replace, 'basic_string<_CharT, _Traits, _Alloc> &', 'const_iterator __i1, const_iterator __i2, initializer_list<_CharT> __l', external] + - [C++14, string, std, basic_string, replace, 'basic_string<_CharT, _Traits, _Alloc> &', '__const_iterator __i1, __const_iterator __i2, const_iterator __k1, const_iterator __k2', external] + - [C++14, string, std, basic_string, replace, 'basic_string<_CharT, _Traits, _Alloc> &', '__const_iterator __i1, __const_iterator __i2, iterator __k1, iterator __k2', external] + - [C++14, string, std, basic_string, replace, 'basic_string<_CharT, _Traits, _Alloc> &', '__const_iterator __i1, __const_iterator __i2, const _CharT * __k1, const _CharT * __k2', external] + - [C++14, string, std, basic_string, replace, 'basic_string<_CharT, _Traits, _Alloc> &', '__const_iterator __i1, __const_iterator __i2, _CharT * __k1, _CharT * __k2', external] + - [C++14, string, std, basic_string, replace, 'basic_string<_CharT, _Traits, _Alloc> &', 'const_iterator __i1, const_iterator __i2, _InputIterator __k1, _InputIterator __k2', external] + - [C++14, string, std, basic_string, replace, 'basic_string<_CharT, _Traits, _Alloc> &', '__const_iterator __i1, __const_iterator __i2, size_type __n, _CharT __c', external] + - [C++14, string, std, basic_string, replace, 'basic_string<_CharT, _Traits, _Alloc> &', '__const_iterator __i1, __const_iterator __i2, const _CharT * __s', external] + - [C++14, string, std, basic_string, replace, 'basic_string<_CharT, _Traits, _Alloc> &', '__const_iterator __i1, __const_iterator __i2, const _CharT * __s, size_type __n', external] + - [C++14, string, std, basic_string, replace, 'basic_string<_CharT, _Traits, _Alloc> &', '__const_iterator __i1, __const_iterator __i2, const basic_string<_CharT, _Traits, _Alloc> & __str', external] + - [C++14, string, std, basic_string, replace, 'basic_string<_CharT, _Traits, _Alloc> &', 'size_type __pos, size_type __n1, size_type __n2, _CharT __c', external] + - [C++14, string, std, basic_string, replace, 'basic_string<_CharT, _Traits, _Alloc> &', 'size_type __pos, size_type __n1, const _CharT * __s', external] + - [C++14, string, std, basic_string, replace, 'basic_string<_CharT, _Traits, _Alloc> &', 'size_type __pos, size_type __n1, const _CharT * __s, size_type __n2', external] + - [C++14, string, std, basic_string, replace, 'basic_string<_CharT, _Traits, _Alloc> &', 'size_type __pos1, size_type __n1, const basic_string<_CharT, _Traits, _Alloc> & __str, size_type __pos2, size_type __n2', external] + - [C++14, string, std, basic_string, replace, 'basic_string<_CharT, _Traits, _Alloc> &', 'size_type __pos, size_type __n, const basic_string<_CharT, _Traits, _Alloc> & __str', external] + - [C++14, string, std, basic_string, find_first_of, size_type, 'const _CharT * __s, size_type __pos', external] + - [C++14, string, std, basic_string, find_first_of, size_type, 'const basic_string<_CharT, _Traits, _Alloc> & __str, size_type __pos', external] + - [C++14, string, std, basic_string, find_first_of, size_type, '_CharT __c, size_type __pos', external] + - [C++14, string, std, basic_string, find_first_of, size_type, 'const _CharT * __s, size_type __pos, size_type __n', external] + - [C++14, string, std, basic_string, find, size_type, 'const _CharT * __s, size_type __pos', external] + - [C++14, string, std, basic_string, find, size_type, 'const basic_string<_CharT, _Traits, _Alloc> & __str, size_type __pos', external] + - [C++14, string, std, basic_string, find, size_type, '_CharT __c, size_type __pos', external] + - [C++14, string, std, basic_string, find, size_type, 'const _CharT * __s, size_type __pos, size_type __n', external] + - [C++14, string, std, basic_string, crend, const_reverse_iterator, '', external] + - [C++14, string, std, basic_string, crbegin, const_reverse_iterator, '', external] + - [C++14, string, std, basic_string, rend, reverse_iterator, '', external] + - [C++14, string, std, basic_string, rend, const_reverse_iterator, '', external] + - [C++14, string, std, basic_string, rbegin, reverse_iterator, '', external] + - [C++14, string, std, basic_string, rbegin, const_reverse_iterator, '', external] + - [C++14, string, std, basic_string, cend, const_iterator, '', external] + - [C++14, string, std, basic_string, cbegin, const_iterator, '', external] + - [C++14, string, std, basic_string, data, const _CharT *, '', external] + - [C++14, string, std, basic_string, back, const_reference, '', external] + - [C++14, string, std, basic_string, back, reference, '', external] + - [C++14, string, std, basic_string, front, const_reference, '', external] + - [C++14, string, std, basic_string, front, reference, '', external] + - [C++14, string, std, basic_string, at, const_reference, size_type __n, external] + - [C++14, string, std, basic_string, at, reference, size_type __n, external] + - [C++14, string, std, basic_string, empty, bool, '', external] + - [C++14, string, std, basic_string, max_size, size_type, '', external] + - [C++14, string, std, basic_string, clear, void, '', external] + - [C++14, string, std, basic_string, assign, 'basic_string<_CharT, _Traits, _Alloc> &', const _CharT * __s, external] + - [C++14, string, std, basic_string, assign, 'basic_string<_CharT, _Traits, _Alloc> &', 'const basic_string<_CharT, _Traits, _Alloc> & __str', external] + - [C++14, string, std, basic_string, assign, 'basic_string<_CharT, _Traits, _Alloc> &', initializer_list<_CharT> __l, external] + - [C++14, string, std, basic_string, assign, 'basic_string<_CharT, _Traits, _Alloc> &', 'basic_string<_CharT, _Traits, _Alloc> && __str', external] + - [C++14, string, std, basic_string, assign, 'basic_string<_CharT, _Traits, _Alloc> &', '_InputIterator __first, _InputIterator __last', external] + - [C++14, string, std, basic_string, assign, 'basic_string<_CharT, _Traits, _Alloc> &', 'size_type __n, _CharT __c', external] + - [C++14, string, std, basic_string, assign, 'basic_string<_CharT, _Traits, _Alloc> &', 'const _CharT * __s, size_type __n', external] + - [C++14, string, std, basic_string, assign, 'basic_string<_CharT, _Traits, _Alloc> &', 'const basic_string<_CharT, _Traits, _Alloc> & __str, size_type __pos, size_type __n', external] + - [C++14, string, std, basic_string, length, size_type, '', external] + - [C++14, string, std, basic_string, compare, int, const _CharT * __s, external] + - [C++14, string, std, basic_string, compare, int, 'const basic_string<_CharT, _Traits, _Alloc> & __str', external] + - [C++14, string, std, basic_string, compare, int, 'size_type __pos, size_type __n1, const _CharT * __s', external] + - [C++14, string, std, basic_string, compare, int, 'size_type __pos, size_type __n1, const _CharT * __s, size_type __n2', external] + - [C++14, string, std, basic_string, compare, int, 'size_type __pos1, size_type __n1, const basic_string<_CharT, _Traits, _Alloc> & __str, size_type __pos2, size_type __n2', external] + - [C++14, string, std, basic_string, compare, int, 'size_type __pos, size_type __n, const basic_string<_CharT, _Traits, _Alloc> & __str', external] + - [C++14, string, std, basic_string, insert, iterator, '__const_iterator __p, _CharT __c', external] + - [C++14, string, std, basic_string, insert, iterator, 'const_iterator __p, initializer_list<_CharT> __l', external] + - [C++14, string, std, basic_string, insert, iterator, 'const_iterator __p, _InputIterator __beg, _InputIterator __end', external] + - [C++14, string, std, basic_string, insert, iterator, 'const_iterator __p, size_type __n, _CharT __c', external] + - [C++14, string, std, basic_string, insert, 'basic_string<_CharT, _Traits, _Alloc> &', 'size_type __pos, size_type __n, _CharT __c', external] + - [C++14, string, std, basic_string, insert, 'basic_string<_CharT, _Traits, _Alloc> &', 'size_type __pos, const _CharT * __s', external] + - [C++14, string, std, basic_string, insert, 'basic_string<_CharT, _Traits, _Alloc> &', 'size_type __pos, const _CharT * __s, size_type __n', external] + - [C++14, string, std, basic_string, insert, 'basic_string<_CharT, _Traits, _Alloc> &', 'size_type __pos1, const basic_string<_CharT, _Traits, _Alloc> & __str, size_type __pos2, size_type __n', external] + - [C++14, string, std, basic_string, insert, 'basic_string<_CharT, _Traits, _Alloc> &', 'size_type __pos1, const basic_string<_CharT, _Traits, _Alloc> & __str', external] + - [C++14, string, std, basic_string, get_allocator, allocator_type, '', external] + - [C++14, string, std, basic_string, capacity, size_type, '', external] + - [C++14, string, std, basic_string, append, 'basic_string<_CharT, _Traits, _Alloc> &', const _CharT * __s, external] + - [C++14, string, std, basic_string, append, 'basic_string<_CharT, _Traits, _Alloc> &', 'const basic_string<_CharT, _Traits, _Alloc> & __str', external] + - [C++14, string, std, basic_string, append, 'basic_string<_CharT, _Traits, _Alloc> &', initializer_list<_CharT> __l, external] + - [C++14, string, std, basic_string, append, 'basic_string<_CharT, _Traits, _Alloc> &', '_InputIterator __first, _InputIterator __last', external] + - [C++14, string, std, basic_string, append, 'basic_string<_CharT, _Traits, _Alloc> &', 'size_type __n, _CharT __c', external] + - [C++14, string, std, basic_string, append, 'basic_string<_CharT, _Traits, _Alloc> &', 'const _CharT * __s, size_type __n', external] + - [C++14, string, std, basic_string, append, 'basic_string<_CharT, _Traits, _Alloc> &', 'const basic_string<_CharT, _Traits, _Alloc> & __str, size_type __pos, size_type __n', external] + - [C++14, string, std, basic_string, substr, 'basic_string<_CharT, _Traits, _Alloc>', 'size_type __pos, size_type __n', external] + - [C++14, string, std, basic_string, find_last_not_of, size_type, 'const _CharT * __s, size_type __pos', external] + - [C++14, string, std, basic_string, find_last_not_of, size_type, 'const basic_string<_CharT, _Traits, _Alloc> & __str, size_type __pos', external] + - [C++14, string, std, basic_string, find_last_not_of, size_type, '_CharT __c, size_type __pos', external] + - [C++14, string, std, basic_string, find_last_not_of, size_type, 'const _CharT * __s, size_type __pos, size_type __n', external] + - [C++14, string, std, basic_string, find_first_not_of, size_type, 'const _CharT * __s, size_type __pos', external] + - [C++14, string, std, basic_string, find_first_not_of, size_type, 'const basic_string<_CharT, _Traits, _Alloc> & __str, size_type __pos', external] + - [C++14, string, std, basic_string, find_first_not_of, size_type, '_CharT __c, size_type __pos', external] + - [C++14, string, std, basic_string, find_first_not_of, size_type, 'const _CharT * __s, size_type __pos, size_type __n', external] + - [C++14, string, std, basic_string, find_last_of, size_type, 'const _CharT * __s, size_type __pos', external] + - [C++14, string, std, basic_string, find_last_of, size_type, 'const basic_string<_CharT, _Traits, _Alloc> & __str, size_type __pos', external] + - [C++14, string, std, basic_string, find_last_of, size_type, '_CharT __c, size_type __pos', external] + - [C++14, string, std, basic_string, find_last_of, size_type, 'const _CharT * __s, size_type __pos, size_type __n', external] + - [C++14, string, std, basic_string, rfind, size_type, 'const _CharT * __s, size_type __pos', external] + - [C++14, string, std, basic_string, rfind, size_type, 'const basic_string<_CharT, _Traits, _Alloc> & __str, size_type __pos', external] + - [C++14, string, std, basic_string, rfind, size_type, '_CharT __c, size_type __pos', external] + - [C++14, string, std, basic_string, rfind, size_type, 'const _CharT * __s, size_type __pos, size_type __n', external] + - [C++14, string, std, basic_string, c_str, const _CharT *, '', external] + - [C++14, string, std, basic_string, pop_back, void, '', external] + - [C++14, string, std, basic_string, erase, iterator, __const_iterator __position, external] + - [C++14, string, std, basic_string, erase, iterator, '__const_iterator __first, __const_iterator __last', external] + - [C++14, string, std, basic_string, erase, 'basic_string<_CharT, _Traits, _Alloc> &', 'size_type __pos, size_type __n', external] + - [C++14, string, std, basic_string, push_back, void, _CharT __c, external] + - [C++14, string, std, basic_string, shrink_to_fit, void, '', external] + - [C++14, string, std, basic_string, resize, void, size_type __n, external] + - [C++14, string, std, basic_string, resize, void, 'size_type __n, _CharT __c', external] + - [C++14, string, std, basic_string, reserve, void, size_type __res, external] + - [C++14, string, std, char_traits, move, char_type *, 'char_type * __s1, const char_type * __s2, size_t __n', external] + - [C++14, string, std, char_traits, copy, char_type *, 'char_type * __s1, const char_type * __s2, size_t __n', external] + - [C++14, string, std, char_traits, find, const char_type *, 'const char_type * __s, size_t __n, const char_type & __a', external] + - [C++14, string, std, char_traits, not_eof, int_type, const int_type & __c, external] + - [C++14, string, std, char_traits, eof, int_type, '', external] + - [C++14, string, std, char_traits, eq_int_type, bool, 'const int_type & __c1, const int_type & __c2', external] + - [C++14, string, std, char_traits, to_int_type, int_type, const char_type & __c, external] + - [C++14, string, std, char_traits, to_char_type, char_type, const int_type & __c, external] + - [C++14, string, std, char_traits, assign, void, 'char_type & __c1, const char_type & __c2', external] + - [C++14, string, std, char_traits, assign, char_type *, 'char_type * __s, size_t __n, char_type __a', external] + - [C++14, string, std, char_traits, length, size_t, const char_type * __s, external] + - [C++14, string, std, char_traits, compare, int, 'const char_type * __s1, const char_type * __s2, size_t __n', external] + - [C++14, string, std, char_traits, lt, bool, 'const char_type & __c1, const char_type & __c2', external] + - [C++14, string, std, char_traits, eq, bool, 'const char_type & __c1, const char_type & __c2', external] + - [C++14, string, std, pointer_traits, pointer_to, pointer, __make_not_void & __r, external] + - [C++14, string, std, pointer_traits, pointer_to, _Ptr, __make_not_void & __e, external] + - [C++14, new, std, '', get_new_handler, new_handler, '', external] + - [C++14, new, std, '', set_new_handler, new_handler, new_handler (unnamed parameter 0), external] + - [C++14, new, std, bad_array_new_length, what, const char *, '', external] + - [C++14, new, std, bad_alloc, what, const char *, '', external] + - [C++14, array, std, '', swap, void, 'array<_Tp, _Nm> & __one, array<_Tp, _Nm> & __two', external] + - [C++14, array, std, '', get, const _Tp &, 'const array<_Tp, _Nm> & __arr', external] + - [C++14, array, std, '', get, _Tp &, 'array<_Tp, _Nm> & __arr', external] + - [C++14, array, std, '', get, _Tp &&, 'array<_Tp, _Nm> && __arr', external] + - [C++14, array, std, '', get, const _Tp &&, 'const array<_Tp, _Nm> && __arr', external] + - [C++14, array, std, array, swap, void, 'array<_Tp, _Nm> & __other', external] + - [C++14, array, std, array, end, const_iterator, '', external] + - [C++14, array, std, array, end, iterator, '', external] + - [C++14, array, std, array, begin, const_iterator, '', external] + - [C++14, array, std, array, begin, iterator, '', external] + - [C++14, array, std, array, size, size_type, '', external] + - [C++14, array, std, array, fill, void, const value_type & __u, external] + - [C++14, array, std, array, crend, const_reverse_iterator, '', external] + - [C++14, array, std, array, crbegin, const_reverse_iterator, '', external] + - [C++14, array, std, array, rend, reverse_iterator, '', external] + - [C++14, array, std, array, rend, const_reverse_iterator, '', external] + - [C++14, array, std, array, rbegin, reverse_iterator, '', external] + - [C++14, array, std, array, rbegin, const_reverse_iterator, '', external] + - [C++14, array, std, array, cend, const_iterator, '', external] + - [C++14, array, std, array, cbegin, const_iterator, '', external] + - [C++14, array, std, array, data, pointer, '', external] + - [C++14, array, std, array, data, const_pointer, '', external] + - [C++14, array, std, array, back, const_reference, '', external] + - [C++14, array, std, array, back, reference, '', external] + - [C++14, array, std, array, front, const_reference, '', external] + - [C++14, array, std, array, front, reference, '', external] + - [C++14, array, std, array, at, const_reference, size_type __n, external] + - [C++14, array, std, array, at, reference, size_type __n, external] + - [C++14, array, std, array, empty, bool, '', external] + - [C++14, array, std, array, max_size, size_type, '', external] + - [C++14, type_traits, std, '', declval, decltype(...), '', external] + - [C++14, type_traits, std, integral_constant, operator _Tp, value_type, '', external] + - [C++14, utility, std, '', swap, void, 'pair<_T1, _T2> & __x, pair<_T1, _T2> & __y', external] + - [C++14, utility, std, '', swap, _Require, '_Tp & __a, _Tp & __b', external] + - [C++14, utility, std, '', swap, __enable_if_t, '_Tp(&)[] __a, _Tp(&)[] __b', external] + - [C++14, utility, std, '', addressof, _Tp *, _Tp & __r, external] + - [C++14, utility, std, '', addressof, const _Tp *, const _Tp && (unnamed parameter 0), external] + - [C++14, utility, std, '', move_if_noexcept, type, _Tp & __x, external] + - [C++14, utility, std, '', move, type &&, _Tp && __t, external] + - [C++14, utility, std, '', forward, _Tp &&, type & __t, external] + - [C++14, utility, std, '', forward, _Tp &&, type && __t, external] + - [C++14, utility, std, '', make_pair, 'pair<__type, __type>', '_T1 && __x, _T2 && __y', external] + - [C++14, utility, std, '', exchange, _Tp, '_Tp & __obj, _Up && __new_val', external] + - [C++14, utility, std, '', get, const _Tp &, 'const pair<_Up, _Tp> & __p', external] + - [C++14, utility, std, '', get, const _Tp &, 'const pair<_Tp, _Up> & __p', external] + - [C++14, utility, std, '', get, _Tp &, 'pair<_Up, _Tp> & __p', external] + - [C++14, utility, std, '', get, _Tp &, 'pair<_Tp, _Up> & __p', external] + - [C++14, utility, std, '', get, _Tp &&, 'pair<_Up, _Tp> && __p', external] + - [C++14, utility, std, '', get, _Tp &&, 'pair<_Tp, _Up> && __p', external] + - [C++14, utility, std, '', get, const _Tp &&, 'const pair<_Up, _Tp> && __p', external] + - [C++14, utility, std, '', get, const _Tp &&, 'const pair<_Tp, _Up> && __p', external] + - [C++14, utility, std, '', get, type &&, 'pair<_Tp1, _Tp2> && __in', external] + - [C++14, utility, std, '', get, type &, 'pair<_Tp1, _Tp2> & __in', external] + - [C++14, utility, std, '', get, const type &&, 'const pair<_Tp1, _Tp2> && __in', external] + - [C++14, utility, std, '', get, const type &, 'const pair<_Tp1, _Tp2> & __in', external] + - [C++14, utility, std, pair, swap, void, 'pair<_T1, _T2> & __p', external] + - [C++14, utility, std, integer_sequence, size, size_t, '', external] + - [C++14, limits, std, numeric_limits, max, bool, '', external] + - [C++14, limits, std, numeric_limits, max, wchar_t, '', external] + - [C++14, limits, std, numeric_limits, max, char16_t, '', external] + - [C++14, limits, std, numeric_limits, max, char32_t, '', external] + - [C++14, limits, std, numeric_limits, max, char, '', external] + - [C++14, limits, std, numeric_limits, max, unsigned char, '', external] + - [C++14, limits, std, numeric_limits, max, signed char, '', external] + - [C++14, limits, std, numeric_limits, max, short, '', external] + - [C++14, limits, std, numeric_limits, max, unsigned short, '', external] + - [C++14, limits, std, numeric_limits, max, int, '', external] + - [C++14, limits, std, numeric_limits, max, unsigned int, '', external] + - [C++14, limits, std, numeric_limits, max, long, '', external] + - [C++14, limits, std, numeric_limits, max, unsigned long, '', external] + - [C++14, limits, std, numeric_limits, max, long long, '', external] + - [C++14, limits, std, numeric_limits, max, unsigned long long, '', external] + - [C++14, limits, std, numeric_limits, max, __int128, '', external] + - [C++14, limits, std, numeric_limits, max, unsigned __int128, '', external] + - [C++14, limits, std, numeric_limits, max, float, '', external] + - [C++14, limits, std, numeric_limits, max, double, '', external] + - [C++14, limits, std, numeric_limits, max, long double, '', external] + - [C++14, limits, std, numeric_limits, max, _Tp, '', external] + - [C++14, limits, std, numeric_limits, min, bool, '', external] + - [C++14, limits, std, numeric_limits, min, wchar_t, '', external] + - [C++14, limits, std, numeric_limits, min, char16_t, '', external] + - [C++14, limits, std, numeric_limits, min, char32_t, '', external] + - [C++14, limits, std, numeric_limits, min, char, '', external] + - [C++14, limits, std, numeric_limits, min, unsigned char, '', external] + - [C++14, limits, std, numeric_limits, min, signed char, '', external] + - [C++14, limits, std, numeric_limits, min, short, '', external] + - [C++14, limits, std, numeric_limits, min, unsigned short, '', external] + - [C++14, limits, std, numeric_limits, min, int, '', external] + - [C++14, limits, std, numeric_limits, min, unsigned int, '', external] + - [C++14, limits, std, numeric_limits, min, long, '', external] + - [C++14, limits, std, numeric_limits, min, unsigned long, '', external] + - [C++14, limits, std, numeric_limits, min, long long, '', external] + - [C++14, limits, std, numeric_limits, min, unsigned long long, '', external] + - [C++14, limits, std, numeric_limits, min, __int128, '', external] + - [C++14, limits, std, numeric_limits, min, unsigned __int128, '', external] + - [C++14, limits, std, numeric_limits, min, float, '', external] + - [C++14, limits, std, numeric_limits, min, double, '', external] + - [C++14, limits, std, numeric_limits, min, long double, '', external] + - [C++14, limits, std, numeric_limits, min, _Tp, '', external] + - [C++14, limits, std, numeric_limits, denorm_min, bool, '', external] + - [C++14, limits, std, numeric_limits, denorm_min, wchar_t, '', external] + - [C++14, limits, std, numeric_limits, denorm_min, char16_t, '', external] + - [C++14, limits, std, numeric_limits, denorm_min, char32_t, '', external] + - [C++14, limits, std, numeric_limits, denorm_min, char, '', external] + - [C++14, limits, std, numeric_limits, denorm_min, unsigned char, '', external] + - [C++14, limits, std, numeric_limits, denorm_min, signed char, '', external] + - [C++14, limits, std, numeric_limits, denorm_min, short, '', external] + - [C++14, limits, std, numeric_limits, denorm_min, unsigned short, '', external] + - [C++14, limits, std, numeric_limits, denorm_min, int, '', external] + - [C++14, limits, std, numeric_limits, denorm_min, unsigned int, '', external] + - [C++14, limits, std, numeric_limits, denorm_min, long, '', external] + - [C++14, limits, std, numeric_limits, denorm_min, unsigned long, '', external] + - [C++14, limits, std, numeric_limits, denorm_min, long long, '', external] + - [C++14, limits, std, numeric_limits, denorm_min, unsigned long long, '', external] + - [C++14, limits, std, numeric_limits, denorm_min, __int128, '', external] + - [C++14, limits, std, numeric_limits, denorm_min, unsigned __int128, '', external] + - [C++14, limits, std, numeric_limits, denorm_min, float, '', external] + - [C++14, limits, std, numeric_limits, denorm_min, double, '', external] + - [C++14, limits, std, numeric_limits, denorm_min, long double, '', external] + - [C++14, limits, std, numeric_limits, denorm_min, _Tp, '', external] + - [C++14, limits, std, numeric_limits, signaling_NaN, bool, '', external] + - [C++14, limits, std, numeric_limits, signaling_NaN, wchar_t, '', external] + - [C++14, limits, std, numeric_limits, signaling_NaN, char16_t, '', external] + - [C++14, limits, std, numeric_limits, signaling_NaN, char32_t, '', external] + - [C++14, limits, std, numeric_limits, signaling_NaN, char, '', external] + - [C++14, limits, std, numeric_limits, signaling_NaN, unsigned char, '', external] + - [C++14, limits, std, numeric_limits, signaling_NaN, signed char, '', external] + - [C++14, limits, std, numeric_limits, signaling_NaN, short, '', external] + - [C++14, limits, std, numeric_limits, signaling_NaN, unsigned short, '', external] + - [C++14, limits, std, numeric_limits, signaling_NaN, int, '', external] + - [C++14, limits, std, numeric_limits, signaling_NaN, unsigned int, '', external] + - [C++14, limits, std, numeric_limits, signaling_NaN, long, '', external] + - [C++14, limits, std, numeric_limits, signaling_NaN, unsigned long, '', external] + - [C++14, limits, std, numeric_limits, signaling_NaN, long long, '', external] + - [C++14, limits, std, numeric_limits, signaling_NaN, unsigned long long, '', external] + - [C++14, limits, std, numeric_limits, signaling_NaN, __int128, '', external] + - [C++14, limits, std, numeric_limits, signaling_NaN, unsigned __int128, '', external] + - [C++14, limits, std, numeric_limits, signaling_NaN, float, '', external] + - [C++14, limits, std, numeric_limits, signaling_NaN, double, '', external] + - [C++14, limits, std, numeric_limits, signaling_NaN, long double, '', external] + - [C++14, limits, std, numeric_limits, signaling_NaN, _Tp, '', external] + - [C++14, limits, std, numeric_limits, quiet_NaN, bool, '', external] + - [C++14, limits, std, numeric_limits, quiet_NaN, wchar_t, '', external] + - [C++14, limits, std, numeric_limits, quiet_NaN, char16_t, '', external] + - [C++14, limits, std, numeric_limits, quiet_NaN, char32_t, '', external] + - [C++14, limits, std, numeric_limits, quiet_NaN, char, '', external] + - [C++14, limits, std, numeric_limits, quiet_NaN, unsigned char, '', external] + - [C++14, limits, std, numeric_limits, quiet_NaN, signed char, '', external] + - [C++14, limits, std, numeric_limits, quiet_NaN, short, '', external] + - [C++14, limits, std, numeric_limits, quiet_NaN, unsigned short, '', external] + - [C++14, limits, std, numeric_limits, quiet_NaN, int, '', external] + - [C++14, limits, std, numeric_limits, quiet_NaN, unsigned int, '', external] + - [C++14, limits, std, numeric_limits, quiet_NaN, long, '', external] + - [C++14, limits, std, numeric_limits, quiet_NaN, unsigned long, '', external] + - [C++14, limits, std, numeric_limits, quiet_NaN, long long, '', external] + - [C++14, limits, std, numeric_limits, quiet_NaN, unsigned long long, '', external] + - [C++14, limits, std, numeric_limits, quiet_NaN, __int128, '', external] + - [C++14, limits, std, numeric_limits, quiet_NaN, unsigned __int128, '', external] + - [C++14, limits, std, numeric_limits, quiet_NaN, float, '', external] + - [C++14, limits, std, numeric_limits, quiet_NaN, double, '', external] + - [C++14, limits, std, numeric_limits, quiet_NaN, long double, '', external] + - [C++14, limits, std, numeric_limits, quiet_NaN, _Tp, '', external] + - [C++14, limits, std, numeric_limits, infinity, bool, '', external] + - [C++14, limits, std, numeric_limits, infinity, wchar_t, '', external] + - [C++14, limits, std, numeric_limits, infinity, char16_t, '', external] + - [C++14, limits, std, numeric_limits, infinity, char32_t, '', external] + - [C++14, limits, std, numeric_limits, infinity, char, '', external] + - [C++14, limits, std, numeric_limits, infinity, unsigned char, '', external] + - [C++14, limits, std, numeric_limits, infinity, signed char, '', external] + - [C++14, limits, std, numeric_limits, infinity, short, '', external] + - [C++14, limits, std, numeric_limits, infinity, unsigned short, '', external] + - [C++14, limits, std, numeric_limits, infinity, int, '', external] + - [C++14, limits, std, numeric_limits, infinity, unsigned int, '', external] + - [C++14, limits, std, numeric_limits, infinity, long, '', external] + - [C++14, limits, std, numeric_limits, infinity, unsigned long, '', external] + - [C++14, limits, std, numeric_limits, infinity, long long, '', external] + - [C++14, limits, std, numeric_limits, infinity, unsigned long long, '', external] + - [C++14, limits, std, numeric_limits, infinity, __int128, '', external] + - [C++14, limits, std, numeric_limits, infinity, unsigned __int128, '', external] + - [C++14, limits, std, numeric_limits, infinity, float, '', external] + - [C++14, limits, std, numeric_limits, infinity, double, '', external] + - [C++14, limits, std, numeric_limits, infinity, long double, '', external] + - [C++14, limits, std, numeric_limits, infinity, _Tp, '', external] + - [C++14, limits, std, numeric_limits, round_error, bool, '', external] + - [C++14, limits, std, numeric_limits, round_error, wchar_t, '', external] + - [C++14, limits, std, numeric_limits, round_error, char16_t, '', external] + - [C++14, limits, std, numeric_limits, round_error, char32_t, '', external] + - [C++14, limits, std, numeric_limits, round_error, char, '', external] + - [C++14, limits, std, numeric_limits, round_error, unsigned char, '', external] + - [C++14, limits, std, numeric_limits, round_error, signed char, '', external] + - [C++14, limits, std, numeric_limits, round_error, short, '', external] + - [C++14, limits, std, numeric_limits, round_error, unsigned short, '', external] + - [C++14, limits, std, numeric_limits, round_error, int, '', external] + - [C++14, limits, std, numeric_limits, round_error, unsigned int, '', external] + - [C++14, limits, std, numeric_limits, round_error, long, '', external] + - [C++14, limits, std, numeric_limits, round_error, unsigned long, '', external] + - [C++14, limits, std, numeric_limits, round_error, long long, '', external] + - [C++14, limits, std, numeric_limits, round_error, unsigned long long, '', external] + - [C++14, limits, std, numeric_limits, round_error, __int128, '', external] + - [C++14, limits, std, numeric_limits, round_error, unsigned __int128, '', external] + - [C++14, limits, std, numeric_limits, round_error, float, '', external] + - [C++14, limits, std, numeric_limits, round_error, double, '', external] + - [C++14, limits, std, numeric_limits, round_error, long double, '', external] + - [C++14, limits, std, numeric_limits, round_error, _Tp, '', external] + - [C++14, limits, std, numeric_limits, epsilon, bool, '', external] + - [C++14, limits, std, numeric_limits, epsilon, wchar_t, '', external] + - [C++14, limits, std, numeric_limits, epsilon, char16_t, '', external] + - [C++14, limits, std, numeric_limits, epsilon, char32_t, '', external] + - [C++14, limits, std, numeric_limits, epsilon, char, '', external] + - [C++14, limits, std, numeric_limits, epsilon, unsigned char, '', external] + - [C++14, limits, std, numeric_limits, epsilon, signed char, '', external] + - [C++14, limits, std, numeric_limits, epsilon, short, '', external] + - [C++14, limits, std, numeric_limits, epsilon, unsigned short, '', external] + - [C++14, limits, std, numeric_limits, epsilon, int, '', external] + - [C++14, limits, std, numeric_limits, epsilon, unsigned int, '', external] + - [C++14, limits, std, numeric_limits, epsilon, long, '', external] + - [C++14, limits, std, numeric_limits, epsilon, unsigned long, '', external] + - [C++14, limits, std, numeric_limits, epsilon, long long, '', external] + - [C++14, limits, std, numeric_limits, epsilon, unsigned long long, '', external] + - [C++14, limits, std, numeric_limits, epsilon, __int128, '', external] + - [C++14, limits, std, numeric_limits, epsilon, unsigned __int128, '', external] + - [C++14, limits, std, numeric_limits, epsilon, float, '', external] + - [C++14, limits, std, numeric_limits, epsilon, double, '', external] + - [C++14, limits, std, numeric_limits, epsilon, long double, '', external] + - [C++14, limits, std, numeric_limits, epsilon, _Tp, '', external] + - [C++14, limits, std, numeric_limits, lowest, bool, '', external] + - [C++14, limits, std, numeric_limits, lowest, wchar_t, '', external] + - [C++14, limits, std, numeric_limits, lowest, char16_t, '', external] + - [C++14, limits, std, numeric_limits, lowest, char32_t, '', external] + - [C++14, limits, std, numeric_limits, lowest, char, '', external] + - [C++14, limits, std, numeric_limits, lowest, unsigned char, '', external] + - [C++14, limits, std, numeric_limits, lowest, signed char, '', external] + - [C++14, limits, std, numeric_limits, lowest, short, '', external] + - [C++14, limits, std, numeric_limits, lowest, unsigned short, '', external] + - [C++14, limits, std, numeric_limits, lowest, int, '', external] + - [C++14, limits, std, numeric_limits, lowest, unsigned int, '', external] + - [C++14, limits, std, numeric_limits, lowest, long, '', external] + - [C++14, limits, std, numeric_limits, lowest, unsigned long, '', external] + - [C++14, limits, std, numeric_limits, lowest, long long, '', external] + - [C++14, limits, std, numeric_limits, lowest, unsigned long long, '', external] + - [C++14, limits, std, numeric_limits, lowest, __int128, '', external] + - [C++14, limits, std, numeric_limits, lowest, unsigned __int128, '', external] + - [C++14, limits, std, numeric_limits, lowest, float, '', external] + - [C++14, limits, std, numeric_limits, lowest, double, '', external] + - [C++14, limits, std, numeric_limits, lowest, long double, '', external] + - [C++14, limits, std, numeric_limits, lowest, _Tp, '', external] + - [C++14, sstream, std, '', swap, void, 'basic_stringstream<_CharT, _Traits, _Allocator> & __x, basic_stringstream<_CharT, _Traits, _Allocator> & __y', external] + - [C++14, sstream, std, '', swap, void, 'basic_ostringstream<_CharT, _Traits, _Allocator> & __x, basic_ostringstream<_CharT, _Traits, _Allocator> & __y', external] + - [C++14, sstream, std, '', swap, void, 'basic_istringstream<_CharT, _Traits, _Allocator> & __x, basic_istringstream<_CharT, _Traits, _Allocator> & __y', external] + - [C++14, sstream, std, '', swap, void, 'basic_stringbuf<_CharT, _Traits, _Allocator> & __x, basic_stringbuf<_CharT, _Traits, _Allocator> & __y', external] + - [C++14, sstream, std, basic_stringstream, swap, void, 'basic_stringstream<_CharT, _Traits, _Alloc> & __rhs', external] + - [C++14, sstream, std, basic_stringstream, rdbuf, __stringbuf_type *, '', external] + - [C++14, sstream, std, basic_stringstream, str, void, const __string_type & __s, external] + - [C++14, sstream, std, basic_stringstream, str, __string_type, '', external] + - [C++14, sstream, std, basic_ostringstream, swap, void, 'basic_ostringstream<_CharT, _Traits, _Alloc> & __rhs', external] + - [C++14, sstream, std, basic_ostringstream, rdbuf, __stringbuf_type *, '', external] + - [C++14, sstream, std, basic_ostringstream, str, void, const __string_type & __s, external] + - [C++14, sstream, std, basic_ostringstream, str, __string_type, '', external] + - [C++14, sstream, std, basic_istringstream, swap, void, 'basic_istringstream<_CharT, _Traits, _Alloc> & __rhs', external] + - [C++14, sstream, std, basic_istringstream, rdbuf, __stringbuf_type *, '', external] + - [C++14, sstream, std, basic_istringstream, str, void, const __string_type & __s, external] + - [C++14, sstream, std, basic_istringstream, str, __string_type, '', external] + - [C++14, sstream, std, basic_stringbuf, swap, void, 'basic_stringbuf<_CharT, _Traits, _Alloc> & __rhs', external] + - [C++14, sstream, std, basic_stringbuf, setbuf, __streambuf_type *, 'char_type * __s, streamsize __n', external] + - [C++14, sstream, std, basic_stringbuf, overflow, int_type, int_type __c, external] + - [C++14, sstream, std, basic_stringbuf, pbackfail, int_type, int_type __c, external] + - [C++14, sstream, std, basic_stringbuf, underflow, int_type, '', external] + - [C++14, sstream, std, basic_stringbuf, showmanyc, streamsize, '', external] + - [C++14, sstream, std, basic_stringbuf, seekpos, pos_type, 'pos_type __sp, openmode __mode', external] + - [C++14, sstream, std, basic_stringbuf, seekoff, pos_type, 'off_type __off, seekdir __way, openmode __mode', external] + - [C++14, sstream, std, basic_stringbuf, str, void, const __string_type & __s, external] + - [C++14, sstream, std, basic_stringbuf, str, __string_type, '', external] + - [C++14, functional, std, '', swap, void, 'function<..(..)> & __x, function<..(..)> & __y', external] + - [C++14, functional, std, '', bind2nd, binder2nd<_Operation>, 'const _Operation & __fn, const _Tp & __x', external] + - [C++14, functional, std, '', bind1st, binder1st<_Operation>, 'const _Operation & __fn, const _Tp & __x', external] + - [C++14, functional, std, '', mem_fun_ref, 'const_mem_fun1_ref_t<_Ret, _Tp, _Arg>', '..:: * __f', external] + - [C++14, functional, std, '', mem_fun_ref, 'mem_fun1_ref_t<_Ret, _Tp, _Arg>', '..:: * __f', external] + - [C++14, functional, std, '', mem_fun_ref, 'const_mem_fun_ref_t<_Ret, _Tp>', '..:: * __f', external] + - [C++14, functional, std, '', mem_fun_ref, 'mem_fun_ref_t<_Ret, _Tp>', '..:: * __f', external] + - [C++14, functional, std, '', mem_fun, 'const_mem_fun1_t<_Ret, _Tp, _Arg>', '..:: * __f', external] + - [C++14, functional, std, '', mem_fun, 'mem_fun1_t<_Ret, _Tp, _Arg>', '..:: * __f', external] + - [C++14, functional, std, '', mem_fun, 'const_mem_fun_t<_Ret, _Tp>', '..:: * __f', external] + - [C++14, functional, std, '', mem_fun, 'mem_fun_t<_Ret, _Tp>', '..:: * __f', external] + - [C++14, functional, std, '', ptr_fun, 'pointer_to_binary_function<_Arg1, _Arg2, _Result>', ..(*)(..) __x, external] + - [C++14, functional, std, '', ptr_fun, 'pointer_to_unary_function<_Arg, _Result>', ..(*)(..) __x, external] + - [C++14, functional, std, '', not2, binary_negate<_Predicate>, const _Predicate & __pred, external] + - [C++14, functional, std, '', not1, unary_negate<_Predicate>, const _Predicate & __pred, external] + - [C++14, functional, std, '', cref, void, const _Tp && (unnamed parameter 0), external] + - [C++14, functional, std, '', cref, reference_wrapper, const _Tp & __t, external] + - [C++14, functional, std, '', cref, reference_wrapper, reference_wrapper<_Tp> __t, external] + - [C++14, functional, std, '', ref, void, const _Tp && (unnamed parameter 0), external] + - [C++14, functional, std, '', ref, reference_wrapper<_Tp>, reference_wrapper<_Tp> __t, external] + - [C++14, functional, std, '', ref, reference_wrapper<_Tp>, _Tp & __t, external] + - [C++14, functional, std, '', bind, type, '_Func && __f, _BoundArgs && __args', external] + - [C++14, functional, std, '', mem_fn, '_Mem_fn<_Tp _Class::*>', '..:: * __pm', external] + - [C++14, functional, std, reference_wrapper, get, _Tp &, '', external] + - [C++14, functional, std, reference_wrapper, operator _Tp &, _Tp &, '', external] + - [C++14, functional, std, function, swap, void, function<..(..)> & __x, external] + - [C++14, functional, std, function, target, const _Functor *, '', external] + - [C++14, functional, std, function, target, _Functor *, '', external] + - [C++14, functional, std, function, target_type, const type_info &, '', external] + - [C++14, functional, std, bad_function_call, what, const char *, '', external] + - [C++14, iomanip, std, '', get_time, _Get_time<_CharT>, 'tm * __tmb, const _CharT * __fmt', external] + - [C++14, iomanip, std, '', quoted, auto, 'basic_string<_CharT, _Traits, _Alloc> & __string, _CharT __delim, _CharT __escape', external] + - [C++14, iomanip, std, '', quoted, auto, 'const basic_string<_CharT, _Traits, _Alloc> & __string, _CharT __delim, _CharT __escape', external] + - [C++14, iomanip, std, '', quoted, auto, 'const _CharT * __string, _CharT __delim, _CharT __escape', external] + - [C++14, iomanip, std, '', put_time, _Put_time<_CharT>, 'const tm * __tmb, const _CharT * __fmt', external] + - [C++14, iomanip, std, '', put_money, _Put_money<_MoneyT>, 'const _MoneyT & __mon, bool __intl', external] + - [C++14, iomanip, std, '', get_money, _Get_money<_MoneyT>, '_MoneyT & __mon, bool __intl', external] + - [C++14, iomanip, std, '', setw, _Setw, int __n, external] + - [C++14, iomanip, std, '', setprecision, _Setprecision, int __n, external] + - [C++14, iomanip, std, '', setfill, _Setfill<_CharT>, _CharT __c, external] + - [C++14, iomanip, std, '', setbase, _Setbase, int __base, external] + - [C++14, iomanip, std, '', setiosflags, _Setiosflags, fmtflags __mask, external] + - [C++14, iomanip, std, '', resetiosflags, _Resetiosflags, fmtflags __mask, external] + - [C++14, scoped_allocator, std, scoped_allocator_adaptor, max_size, size_type, '', external] + - [C++14, scoped_allocator, std, scoped_allocator_adaptor, destroy, void, _Tp * __p, external] + - [C++14, scoped_allocator, std, scoped_allocator_adaptor, construct, void, 'pair<_T1, _T2> * __p', external] + - [C++14, scoped_allocator, std, scoped_allocator_adaptor, construct, void, 'pair<_T1, _T2> * __p, pair<_Up, _Vp> && __x', external] + - [C++14, scoped_allocator, std, scoped_allocator_adaptor, construct, void, 'pair<_T1, _T2> * __p, const pair<_Up, _Vp> & __x', external] + - [C++14, scoped_allocator, std, scoped_allocator_adaptor, construct, void, 'pair<_T1, _T2> * __p, _Up && __u, _Vp && __v', external] + - [C++14, scoped_allocator, std, scoped_allocator_adaptor, construct, void, 'pair<_T1, _T2> * __p, piecewise_construct_t (unnamed parameter 1), tuple<_Args1...> __x, tuple<_Args2...> __y', external] + - [C++14, scoped_allocator, std, scoped_allocator_adaptor, construct, type, '_Tp * __p, _Args && __args', external] + - [C++14, scoped_allocator, std, scoped_allocator_adaptor, deallocate, void, 'pointer __p, size_type __n', external] + - [C++14, scoped_allocator, std, scoped_allocator_adaptor, allocate, pointer, size_type __n, external] + - [C++14, scoped_allocator, std, scoped_allocator_adaptor, allocate, pointer, 'size_type __n, const_void_pointer __hint', external] + - [C++14, scoped_allocator, std, scoped_allocator_adaptor, select_on_container_copy_construction, 'scoped_allocator_adaptor<_OuterAlloc, _InnerAllocs...>', '', external] + - [C++14, scoped_allocator, std, scoped_allocator_adaptor, outer_allocator, const outer_allocator_type &, '', external] + - [C++14, scoped_allocator, std, scoped_allocator_adaptor, outer_allocator, outer_allocator_type &, '', external] + - [C++14, scoped_allocator, std, scoped_allocator_adaptor, inner_allocator, const inner_allocator_type &, '', external] + - [C++14, scoped_allocator, std, scoped_allocator_adaptor, inner_allocator, inner_allocator_type &, '', external] + - [C++14, shared_mutex, std, '', swap, void, 'shared_lock<_Mutex> & __x, shared_lock<_Mutex> & __y', external] + - [C++14, shared_mutex, std, shared_lock, swap, void, shared_lock<_Mutex> & __u, external] + - [C++14, shared_mutex, std, shared_lock, unlock, void, '', external] + - [C++14, shared_mutex, std, shared_lock, lock, void, '', external] + - [C++14, shared_mutex, std, shared_lock, try_lock, bool, '', external] + - [C++14, shared_mutex, std, shared_lock, mutex, mutex_type *, '', external] + - [C++14, shared_mutex, std, shared_lock, owns_lock, bool, '', external] + - [C++14, shared_mutex, std, shared_lock, release, mutex_type *, '', external] + - [C++14, shared_mutex, std, shared_lock, try_lock_for, bool, 'const duration<_Rep, _Period> & __rel_time', external] + - [C++14, shared_mutex, std, shared_lock, try_lock_until, bool, 'const time_point<_Clock, _Duration> & __abs_time', external] + - [C++14, shared_mutex, std, shared_timed_mutex, unlock, void, '', external] + - [C++14, shared_mutex, std, shared_timed_mutex, lock, void, '', external] + - [C++14, shared_mutex, std, shared_timed_mutex, native_handle, void *, '', external] + - [C++14, shared_mutex, std, shared_timed_mutex, try_lock, bool, '', external] + - [C++14, shared_mutex, std, shared_timed_mutex, try_lock_for, bool, 'const duration<_Rep, _Period> & __rtime', external] + - [C++14, shared_mutex, std, shared_timed_mutex, try_lock_until, bool, 'const time_point<_Clock, _Duration> & __atime', external] + - [C++14, shared_mutex, std, shared_timed_mutex, try_lock_until, bool, 'const time_point & __atime', external] + - [C++14, shared_mutex, std, shared_timed_mutex, try_lock_until, bool, 'const time_point & __atime', external] + - [C++14, shared_mutex, std, shared_timed_mutex, try_lock_shared_until, bool, 'const time_point<_Clock, _Duration> & __atime', external] + - [C++14, shared_mutex, std, shared_timed_mutex, try_lock_shared_until, bool, 'const time_point & __atime', external] + - [C++14, shared_mutex, std, shared_timed_mutex, try_lock_shared_until, bool, 'const time_point & __atime', external] + - [C++14, shared_mutex, std, shared_timed_mutex, try_lock_shared_for, bool, 'const duration<_Rep, _Period> & __rtime', external] + - [C++14, shared_mutex, std, shared_timed_mutex, unlock_shared, void, '', external] + - [C++14, shared_mutex, std, shared_timed_mutex, try_lock_shared, bool, '', external] + - [C++14, shared_mutex, std, shared_timed_mutex, lock_shared, void, '', external] + - [C++14, cstdlib, std, '', div, ldiv_t, 'long __i, long __j', external] + - [C++14, cstdlib, std, '', abs, long, long __i, external] + - [C++14, cstdlib, std, '', abs, long long, long long __x, external] + - [C++14, cstdlib, std, '', abs, float, float __x, external] + - [C++14, cstdlib, std, '', abs, double, double __x, external] + - [C++14, cstdlib, std, '', abs, long double, long double __x, external] + - [C++14, typeinfo, std, type_info, hash_code, size_t, '', external] + - [C++14, typeinfo, std, type_info, before, bool, const type_info & __arg, external] + - [C++14, typeinfo, std, type_info, name, const char *, '', external] + - [C++14, typeinfo, std, bad_typeid, what, const char *, '', external] + - [C++14, typeinfo, std, bad_cast, what, const char *, '', external] + - [C++14, algorithm, std, '', max, _Tp, initializer_list<_Tp> __l, external] + - [C++14, algorithm, std, '', max, _Tp, 'initializer_list<_Tp> __l, _Compare __comp', external] + - [C++14, algorithm, std, '', max, const _Tp &, 'const _Tp & __a, const _Tp & __b, _Compare __comp', external] + - [C++14, algorithm, std, '', max, const _Tp &, 'const _Tp & __a, const _Tp & __b', external] + - [C++14, algorithm, std, '', min, _Tp, initializer_list<_Tp> __l, external] + - [C++14, algorithm, std, '', min, _Tp, 'initializer_list<_Tp> __l, _Compare __comp', external] + - [C++14, algorithm, std, '', min, const _Tp &, 'const _Tp & __a, const _Tp & __b, _Compare __comp', external] + - [C++14, algorithm, std, '', min, const _Tp &, 'const _Tp & __a, const _Tp & __b', external] + - [C++14, algorithm, std, '', move, _OI, '_II __first, _II __last, _OI __result', external] + - [C++14, algorithm, std, '', is_permutation, bool, '_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2', external] + - [C++14, algorithm, std, '', is_permutation, bool, '_FIter1 __first1, _FIter1 __last1, _FIter2 __first2, _BinaryPredicate __pred', external] + - [C++14, algorithm, std, '', is_permutation, bool, '_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __pred', external] + - [C++14, algorithm, std, '', is_permutation, bool, '_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2', external] + - [C++14, algorithm, std, '', mismatch, 'pair<_InputIterator1, _InputIterator2>', '_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _BinaryPredicate __binary_pred', external] + - [C++14, algorithm, std, '', mismatch, 'pair<_InputIterator1, _InputIterator2>', '_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2', external] + - [C++14, algorithm, std, '', mismatch, 'pair<_InputIterator1, _InputIterator2>', '_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _BinaryPredicate __binary_pred', external] + - [C++14, algorithm, std, '', mismatch, 'pair<_InputIterator1, _InputIterator2>', '_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2', external] + - [C++14, algorithm, std, '', lexicographical_compare, bool, '_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2, _Compare __comp', external] + - [C++14, algorithm, std, '', lexicographical_compare, bool, '_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2', external] + - [C++14, algorithm, std, '', equal, bool, '_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2', external] + - [C++14, algorithm, std, '', equal, bool, '_IIter1 __first1, _IIter1 __last1, _IIter2 __first2, _IIter2 __last2, _BinaryPredicate __binary_pred', external] + - [C++14, algorithm, std, '', equal, bool, '_IIter1 __first1, _IIter1 __last1, _IIter2 __first2, _BinaryPredicate __binary_pred', external] + - [C++14, algorithm, std, '', equal, bool, '_II1 __first1, _II1 __last1, _II2 __first2', external] + - [C++14, algorithm, std, '', lower_bound, _ForwardIterator, '_ForwardIterator __first, _ForwardIterator __last, const _Tp & __val', external] + - [C++14, algorithm, std, '', lower_bound, _FIter, '_FIter __first, _FIter __last, const _Tp & __val, _Compare __comp', external] + - [C++14, algorithm, std, '', fill_n, _OI, '_OI __first, _Size __n, const _Tp & __value', external] + - [C++14, algorithm, std, '', fill, void, '_ForwardIterator __first, _ForwardIterator __last, const _Tp & __value', external] + - [C++14, algorithm, std, '', move_backward, _BI2, '_BI1 __first, _BI1 __last, _BI2 __result', external] + - [C++14, algorithm, std, '', copy_backward, _BI2, '_BI1 __first, _BI1 __last, _BI2 __result', external] + - [C++14, algorithm, std, '', copy, _OI, '_II __first, _II __last, _OI __result', external] + - [C++14, algorithm, std, '', swap_ranges, _ForwardIterator2, '_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2', external] + - [C++14, algorithm, std, '', iter_swap, void, '_ForwardIterator1 __a, _ForwardIterator2 __b', external] + - [C++14, algorithm, std, '', unique_copy, _OIter, '_IIter __first, _IIter __last, _OIter __result, _BinaryPredicate __binary_pred', external] + - [C++14, algorithm, std, '', unique_copy, _OIter, '_IIter __first, _IIter __last, _OIter __result', external] + - [C++14, algorithm, std, '', transform, _OIter, '_IIter1 __first1, _IIter1 __last1, _IIter2 __first2, _OIter __result, _BinaryOperation __binary_op', external] + - [C++14, algorithm, std, '', transform, _OIter, '_IIter __first, _IIter __last, _OIter __result, _UnaryOperation __unary_op', external] + - [C++14, algorithm, std, '', stable_sort, void, '_RAIter __first, _RAIter __last, _Compare __comp', external] + - [C++14, algorithm, std, '', stable_sort, void, '_RAIter __first, _RAIter __last', external] + - [C++14, algorithm, std, '', sort, void, '_RAIter __first, _RAIter __last, _Compare __comp', external] + - [C++14, algorithm, std, '', sort, void, '_RAIter __first, _RAIter __last', external] + - [C++14, algorithm, std, '', set_union, _OIter, '_IIter1 __first1, _IIter1 __last1, _IIter2 __first2, _IIter2 __last2, _OIter __result, _Compare __comp', external] + - [C++14, algorithm, std, '', set_union, _OIter, '_IIter1 __first1, _IIter1 __last1, _IIter2 __first2, _IIter2 __last2, _OIter __result', external] + - [C++14, algorithm, std, '', set_symmetric_difference, _OIter, '_IIter1 __first1, _IIter1 __last1, _IIter2 __first2, _IIter2 __last2, _OIter __result, _Compare __comp', external] + - [C++14, algorithm, std, '', set_symmetric_difference, _OIter, '_IIter1 __first1, _IIter1 __last1, _IIter2 __first2, _IIter2 __last2, _OIter __result', external] + - [C++14, algorithm, std, '', set_intersection, _OIter, '_IIter1 __first1, _IIter1 __last1, _IIter2 __first2, _IIter2 __last2, _OIter __result, _Compare __comp', external] + - [C++14, algorithm, std, '', set_intersection, _OIter, '_IIter1 __first1, _IIter1 __last1, _IIter2 __first2, _IIter2 __last2, _OIter __result', external] + - [C++14, algorithm, std, '', set_difference, _OIter, '_IIter1 __first1, _IIter1 __last1, _IIter2 __first2, _IIter2 __last2, _OIter __result, _Compare __comp', external] + - [C++14, algorithm, std, '', set_difference, _OIter, '_IIter1 __first1, _IIter1 __last1, _IIter2 __first2, _IIter2 __last2, _OIter __result', external] + - [C++14, algorithm, std, '', search_n, _FIter, '_FIter __first, _FIter __last, _Size __count, const _Tp & __val, _BinaryPredicate __binary_pred', external] + - [C++14, algorithm, std, '', search_n, _FIter, '_FIter __first, _FIter __last, _Size __count, const _Tp & __val', external] + - [C++14, algorithm, std, '', search, _FIter1, '_FIter1 __first1, _FIter1 __last1, _FIter2 __first2, _FIter2 __last2, _BinaryPredicate __predicate', external] + - [C++14, algorithm, std, '', search, _FIter1, '_FIter1 __first1, _FIter1 __last1, _FIter2 __first2, _FIter2 __last2', external] + - [C++14, algorithm, std, '', replace_if, void, '_FIter __first, _FIter __last, _Predicate __pred, const _Tp & __new_value', external] + - [C++14, algorithm, std, '', replace, void, '_FIter __first, _FIter __last, const _Tp & __old_value, const _Tp & __new_value', external] + - [C++14, algorithm, std, '', random_shuffle, void, '_RAIter __first, _RAIter __last', external] + - [C++14, algorithm, std, '', random_shuffle, void, '_RAIter __first, _RAIter __last, _Generator && __rand', external] + - [C++14, algorithm, std, '', partition, _BIter, '_BIter __first, _BIter __last, _Predicate __pred', external] + - [C++14, algorithm, std, '', partial_sort, void, '_RAIter __first, _RAIter __middle, _RAIter __last, _Compare __comp', external] + - [C++14, algorithm, std, '', partial_sort, void, '_RAIter __first, _RAIter __middle, _RAIter __last', external] + - [C++14, algorithm, std, '', nth_element, void, '_RAIter __first, _RAIter __nth, _RAIter __last, _Compare __comp', external] + - [C++14, algorithm, std, '', nth_element, void, '_RAIter __first, _RAIter __nth, _RAIter __last', external] + - [C++14, algorithm, std, '', min_element, _FIter, '_FIter __first, _FIter __last, _Compare __comp', external] + - [C++14, algorithm, std, '', min_element, _FIter, '_FIter __first, _FIter __last', external] + - [C++14, algorithm, std, '', merge, _OIter, '_IIter1 __first1, _IIter1 __last1, _IIter2 __first2, _IIter2 __last2, _OIter __result, _Compare __comp', external] + - [C++14, algorithm, std, '', merge, _OIter, '_IIter1 __first1, _IIter1 __last1, _IIter2 __first2, _IIter2 __last2, _OIter __result', external] + - [C++14, algorithm, std, '', max_element, _FIter, '_FIter __first, _FIter __last, _Compare __comp', external] + - [C++14, algorithm, std, '', max_element, _FIter, '_FIter __first, _FIter __last', external] + - [C++14, algorithm, std, '', generate_n, _OIter, '_OIter __first, _Size __n, _Generator __gen', external] + - [C++14, algorithm, std, '', generate, void, '_FIter __first, _FIter __last, _Generator __gen', external] + - [C++14, algorithm, std, '', for_each, _Funct, '_IIter __first, _IIter __last, _Funct __f', external] + - [C++14, algorithm, std, '', find_if, _IIter, '_IIter __first, _IIter __last, _Predicate __pred', external] + - [C++14, algorithm, std, '', find_first_of, _FIter1, '_FIter1 __first1, _FIter1 __last1, _FIter2 __first2, _FIter2 __last2', external] + - [C++14, algorithm, std, '', find_first_of, _FIter1, '_FIter1 __first1, _FIter1 __last1, _FIter2 __first2, _FIter2 __last2, _BinaryPredicate __comp', external] + - [C++14, algorithm, std, '', find, _IIter, '_IIter __first, _IIter __last, const _Tp & __val', external] + - [C++14, algorithm, std, '', count_if, difference_type, '_IIter __first, _IIter __last, _Predicate __pred', external] + - [C++14, algorithm, std, '', count, difference_type, '_IIter __first, _IIter __last, const _Tp & __value', external] + - [C++14, algorithm, std, '', adjacent_find, _FIter, '_FIter __first, _FIter __last', external] + - [C++14, algorithm, std, '', adjacent_find, _FIter, '_FIter __first, _FIter __last, _BinaryPredicate __binary_pred', external] + - [C++14, algorithm, std, '', upper_bound, _FIter, '_FIter __first, _FIter __last, const _Tp & __val, _Compare __comp', external] + - [C++14, algorithm, std, '', upper_bound, _FIter, '_FIter __first, _FIter __last, const _Tp & __val', external] + - [C++14, algorithm, std, '', unique, _FIter, '_FIter __first, _FIter __last', external] + - [C++14, algorithm, std, '', unique, _FIter, '_FIter __first, _FIter __last, _BinaryPredicate __binary_pred', external] + - [C++14, algorithm, std, '', stable_partition, _BIter, '_BIter __first, _BIter __last, _Predicate __pred', external] + - [C++14, algorithm, std, '', shuffle, void, '_RAIter __first, _RAIter __last, _UGenerator && __g', external] + - [C++14, algorithm, std, '', rotate_copy, _OIter, '_FIter __first, _FIter __middle, _FIter __last, _OIter __result', external] + - [C++14, algorithm, std, '', reverse_copy, _OIter, '_BIter __first, _BIter __last, _OIter __result', external] + - [C++14, algorithm, std, '', reverse, void, '_BIter __first, _BIter __last', external] + - [C++14, algorithm, std, '', replace_copy_if, _OIter, '_Iter __first, _Iter __last, _OIter __result, _Predicate __pred, const _Tp & __new_value', external] + - [C++14, algorithm, std, '', replace_copy, _OIter, '_IIter __first, _IIter __last, _OIter __result, const _Tp & __old_value, const _Tp & __new_value', external] + - [C++14, algorithm, std, '', remove_copy_if, _OIter, '_IIter __first, _IIter __last, _OIter __result, _Predicate __pred', external] + - [C++14, algorithm, std, '', remove_copy, _OIter, '_IIter __first, _IIter __last, _OIter __result, const _Tp & __value', external] + - [C++14, algorithm, std, '', remove_if, _FIter, '_FIter __first, _FIter __last, _Predicate __pred', external] + - [C++14, algorithm, std, '', remove, _FIter, '_FIter __first, _FIter __last, const _Tp & __value', external] + - [C++14, algorithm, std, '', prev_permutation, bool, '_BIter __first, _BIter __last', external] + - [C++14, algorithm, std, '', prev_permutation, bool, '_BIter __first, _BIter __last, _Compare __comp', external] + - [C++14, algorithm, std, '', partition_point, _FIter, '_FIter __first, _FIter __last, _Predicate __pred', external] + - [C++14, algorithm, std, '', partition_copy, 'pair<_OIter1, _OIter2>', '_IIter __first, _IIter __last, _OIter1 __out_true, _OIter2 __out_false, _Predicate __pred', external] + - [C++14, algorithm, std, '', partial_sort_copy, _RAIter, '_IIter __first, _IIter __last, _RAIter __result_first, _RAIter __result_last, _Compare __comp', external] + - [C++14, algorithm, std, '', partial_sort_copy, _RAIter, '_IIter __first, _IIter __last, _RAIter __result_first, _RAIter __result_last', external] + - [C++14, algorithm, std, '', none_of, bool, '_IIter __first, _IIter __last, _Predicate __pred', external] + - [C++14, algorithm, std, '', next_permutation, bool, '_BIter __first, _BIter __last', external] + - [C++14, algorithm, std, '', next_permutation, bool, '_BIter __first, _BIter __last, _Compare __comp', external] + - [C++14, algorithm, std, '', minmax, 'pair', 'const _Tp & __a, const _Tp & __b, _Compare __comp', external] + - [C++14, algorithm, std, '', minmax, 'pair', 'const _Tp & __a, const _Tp & __b', external] + - [C++14, algorithm, std, '', minmax, 'pair<_Tp, _Tp>', initializer_list<_Tp> __l, external] + - [C++14, algorithm, std, '', minmax, 'pair<_Tp, _Tp>', 'initializer_list<_Tp> __l, _Compare __comp', external] + - [C++14, algorithm, std, '', minmax_element, 'pair<_FIter, _FIter>', '_FIter __first, _FIter __last, _Compare __comp', external] + - [C++14, algorithm, std, '', minmax_element, 'pair<_FIter, _FIter>', '_FIter __first, _FIter __last', external] + - [C++14, algorithm, std, '', is_sorted_until, _FIter, '_FIter __first, _FIter __last, _Compare __comp', external] + - [C++14, algorithm, std, '', is_sorted_until, _FIter, '_FIter __first, _FIter __last', external] + - [C++14, algorithm, std, '', is_sorted, bool, '_FIter __first, _FIter __last, _Compare __comp', external] + - [C++14, algorithm, std, '', is_sorted, bool, '_FIter __first, _FIter __last', external] + - [C++14, algorithm, std, '', is_partitioned, bool, '_IIter __first, _IIter __last, _Predicate __pred', external] + - [C++14, algorithm, std, '', inplace_merge, void, '_BIter __first, _BIter __middle, _BIter __last, _Compare __comp', external] + - [C++14, algorithm, std, '', inplace_merge, void, '_BIter __first, _BIter __middle, _BIter __last', external] + - [C++14, algorithm, std, '', includes, bool, '_IIter1 __first1, _IIter1 __last1, _IIter2 __first2, _IIter2 __last2, _Compare __comp', external] + - [C++14, algorithm, std, '', includes, bool, '_IIter1 __first1, _IIter1 __last1, _IIter2 __first2, _IIter2 __last2', external] + - [C++14, algorithm, std, '', find_if_not, _IIter, '_IIter __first, _IIter __last, _Predicate __pred', external] + - [C++14, algorithm, std, '', find_end, _FIter1, '_FIter1 __first1, _FIter1 __last1, _FIter2 __first2, _FIter2 __last2', external] + - [C++14, algorithm, std, '', find_end, _FIter1, '_FIter1 __first1, _FIter1 __last1, _FIter2 __first2, _FIter2 __last2, _BinaryPredicate __comp', external] + - [C++14, algorithm, std, '', equal_range, 'pair<_FIter, _FIter>', '_FIter __first, _FIter __last, const _Tp & __val, _Compare __comp', external] + - [C++14, algorithm, std, '', equal_range, 'pair<_FIter, _FIter>', '_FIter __first, _FIter __last, const _Tp & __val', external] + - [C++14, algorithm, std, '', copy_n, _OIter, '_IIter __first, _Size __n, _OIter __result', external] + - [C++14, algorithm, std, '', copy_if, _OIter, '_IIter __first, _IIter __last, _OIter __result, _Predicate __pred', external] + - [C++14, algorithm, std, '', binary_search, bool, '_FIter __first, _FIter __last, const _Tp & __val, _Compare __comp', external] + - [C++14, algorithm, std, '', binary_search, bool, '_FIter __first, _FIter __last, const _Tp & __val', external] + - [C++14, algorithm, std, '', any_of, bool, '_IIter __first, _IIter __last, _Predicate __pred', external] + - [C++14, algorithm, std, '', all_of, bool, '_IIter __first, _IIter __last, _Predicate __pred', external] + - [C++14, algorithm, std, '', rotate, _FIter, '_FIter __first, _FIter __middle, _FIter __last', external] + - [C++14, cwchar, std, '', wmemchr, wchar_t *, 'wchar_t * __p, wchar_t __c, size_t __n', external] + - [C++14, cwchar, std, '', wcsstr, wchar_t *, 'wchar_t * __s1, const wchar_t * __s2', external] + - [C++14, cwchar, std, '', wcsrchr, wchar_t *, 'wchar_t * __p, wchar_t __c', external] + - [C++14, cwchar, std, '', wcspbrk, wchar_t *, 'wchar_t * __s1, const wchar_t * __s2', external] + - [C++14, cwchar, std, '', wcschr, wchar_t *, 'wchar_t * __p, wchar_t __c', external] + - [C++14, iosfwd, std, fpos, state, void, _StateT __st, external] + - [C++14, iosfwd, std, fpos, state, _StateT, '', external] + - [C++14, iosfwd, std, fpos, 'operator std::streamoff', streamoff, '', external] + - [C++14, cmath, std, '', abs, long, long __i, external] + - [C++14, cmath, std, '', abs, long long, long long __x, external] + - [C++14, cmath, std, '', abs, float, float __x, external] + - [C++14, cmath, std, '', abs, double, double __x, external] + - [C++14, cmath, std, '', abs, long double, long double __x, external] + - [C++14, cmath, std, '', trunc, float, float __x, external] + - [C++14, cmath, std, '', trunc, long double, long double __x, external] + - [C++14, cmath, std, '', trunc, __type, _Tp __x, external] + - [C++14, cmath, std, '', tgamma, float, float __x, external] + - [C++14, cmath, std, '', tgamma, long double, long double __x, external] + - [C++14, cmath, std, '', tgamma, __type, _Tp __x, external] + - [C++14, cmath, std, '', scalbn, float, 'float __x, int __ex', external] + - [C++14, cmath, std, '', scalbn, long double, 'long double __x, int __ex', external] + - [C++14, cmath, std, '', scalbn, __type, '_Tp __x, int __ex', external] + - [C++14, cmath, std, '', scalbln, float, 'float __x, long __ex', external] + - [C++14, cmath, std, '', scalbln, long double, 'long double __x, long __ex', external] + - [C++14, cmath, std, '', scalbln, __type, '_Tp __x, long __ex', external] + - [C++14, cmath, std, '', round, float, float __x, external] + - [C++14, cmath, std, '', round, long double, long double __x, external] + - [C++14, cmath, std, '', round, __type, _Tp __x, external] + - [C++14, cmath, std, '', rint, float, float __x, external] + - [C++14, cmath, std, '', rint, long double, long double __x, external] + - [C++14, cmath, std, '', rint, __type, _Tp __x, external] + - [C++14, cmath, std, '', remquo, float, 'float __x, float __y, int * __pquo', external] + - [C++14, cmath, std, '', remquo, long double, 'long double __x, long double __y, int * __pquo', external] + - [C++14, cmath, std, '', remquo, __type, '_Tp __x, _Up __y, int * __pquo', external] + - [C++14, cmath, std, '', remainder, float, 'float __x, float __y', external] + - [C++14, cmath, std, '', remainder, long double, 'long double __x, long double __y', external] + - [C++14, cmath, std, '', remainder, __type, '_Tp __x, _Up __y', external] + - [C++14, cmath, std, '', nexttoward, float, 'float __x, long double __y', external] + - [C++14, cmath, std, '', nexttoward, long double, 'long double __x, long double __y', external] + - [C++14, cmath, std, '', nexttoward, __type, '_Tp __x, long double __y', external] + - [C++14, cmath, std, '', nextafter, float, 'float __x, float __y', external] + - [C++14, cmath, std, '', nextafter, long double, 'long double __x, long double __y', external] + - [C++14, cmath, std, '', nextafter, __type, '_Tp __x, _Up __y', external] + - [C++14, cmath, std, '', nearbyint, float, float __x, external] + - [C++14, cmath, std, '', nearbyint, long double, long double __x, external] + - [C++14, cmath, std, '', nearbyint, __type, _Tp __x, external] + - [C++14, cmath, std, '', lround, long, long double __x, external] + - [C++14, cmath, std, '', lround, long, float __x, external] + - [C++14, cmath, std, '', lround, __type, _Tp __x, external] + - [C++14, cmath, std, '', lrint, long, long double __x, external] + - [C++14, cmath, std, '', lrint, long, float __x, external] + - [C++14, cmath, std, '', lrint, __type, _Tp __x, external] + - [C++14, cmath, std, '', logb, float, float __x, external] + - [C++14, cmath, std, '', logb, long double, long double __x, external] + - [C++14, cmath, std, '', logb, __type, _Tp __x, external] + - [C++14, cmath, std, '', log2, float, float __x, external] + - [C++14, cmath, std, '', log2, long double, long double __x, external] + - [C++14, cmath, std, '', log2, __type, _Tp __x, external] + - [C++14, cmath, std, '', log1p, float, float __x, external] + - [C++14, cmath, std, '', log1p, long double, long double __x, external] + - [C++14, cmath, std, '', log1p, __type, _Tp __x, external] + - [C++14, cmath, std, '', llround, long long, long double __x, external] + - [C++14, cmath, std, '', llround, long long, float __x, external] + - [C++14, cmath, std, '', llround, __type, _Tp __x, external] + - [C++14, cmath, std, '', llrint, long long, long double __x, external] + - [C++14, cmath, std, '', llrint, long long, float __x, external] + - [C++14, cmath, std, '', llrint, __type, _Tp __x, external] + - [C++14, cmath, std, '', lgamma, float, float __x, external] + - [C++14, cmath, std, '', lgamma, long double, long double __x, external] + - [C++14, cmath, std, '', lgamma, __type, _Tp __x, external] + - [C++14, cmath, std, '', ilogb, int, long double __x, external] + - [C++14, cmath, std, '', ilogb, int, float __x, external] + - [C++14, cmath, std, '', ilogb, __type, _Tp __x, external] + - [C++14, cmath, std, '', hypot, float, 'float __x, float __y', external] + - [C++14, cmath, std, '', hypot, long double, 'long double __x, long double __y', external] + - [C++14, cmath, std, '', hypot, __type, '_Tp __x, _Up __y', external] + - [C++14, cmath, std, '', fmin, float, 'float __x, float __y', external] + - [C++14, cmath, std, '', fmin, long double, 'long double __x, long double __y', external] + - [C++14, cmath, std, '', fmin, __type, '_Tp __x, _Up __y', external] + - [C++14, cmath, std, '', fmax, float, 'float __x, float __y', external] + - [C++14, cmath, std, '', fmax, long double, 'long double __x, long double __y', external] + - [C++14, cmath, std, '', fmax, __type, '_Tp __x, _Up __y', external] + - [C++14, cmath, std, '', fma, float, 'float __x, float __y, float __z', external] + - [C++14, cmath, std, '', fma, long double, 'long double __x, long double __y, long double __z', external] + - [C++14, cmath, std, '', fma, __type, '_Tp __x, _Up __y, _Vp __z', external] + - [C++14, cmath, std, '', fdim, float, 'float __x, float __y', external] + - [C++14, cmath, std, '', fdim, long double, 'long double __x, long double __y', external] + - [C++14, cmath, std, '', fdim, __type, '_Tp __x, _Up __y', external] + - [C++14, cmath, std, '', expm1, float, float __x, external] + - [C++14, cmath, std, '', expm1, long double, long double __x, external] + - [C++14, cmath, std, '', expm1, __type, _Tp __x, external] + - [C++14, cmath, std, '', exp2, float, float __x, external] + - [C++14, cmath, std, '', exp2, long double, long double __x, external] + - [C++14, cmath, std, '', exp2, __type, _Tp __x, external] + - [C++14, cmath, std, '', erfc, float, float __x, external] + - [C++14, cmath, std, '', erfc, long double, long double __x, external] + - [C++14, cmath, std, '', erfc, __type, _Tp __x, external] + - [C++14, cmath, std, '', erf, float, float __x, external] + - [C++14, cmath, std, '', erf, long double, long double __x, external] + - [C++14, cmath, std, '', erf, __type, _Tp __x, external] + - [C++14, cmath, std, '', copysign, float, 'float __x, float __y', external] + - [C++14, cmath, std, '', copysign, long double, 'long double __x, long double __y', external] + - [C++14, cmath, std, '', copysign, __type, '_Tp __x, _Up __y', external] + - [C++14, cmath, std, '', cbrt, float, float __x, external] + - [C++14, cmath, std, '', cbrt, long double, long double __x, external] + - [C++14, cmath, std, '', cbrt, __type, _Tp __x, external] + - [C++14, cmath, std, '', atanh, float, float __x, external] + - [C++14, cmath, std, '', atanh, long double, long double __x, external] + - [C++14, cmath, std, '', atanh, __type, _Tp __x, external] + - [C++14, cmath, std, '', asinh, float, float __x, external] + - [C++14, cmath, std, '', asinh, long double, long double __x, external] + - [C++14, cmath, std, '', asinh, __type, _Tp __x, external] + - [C++14, cmath, std, '', acosh, float, float __x, external] + - [C++14, cmath, std, '', acosh, long double, long double __x, external] + - [C++14, cmath, std, '', acosh, __type, _Tp __x, external] + - [C++14, cmath, std, '', tanh, float, float __x, external] + - [C++14, cmath, std, '', tanh, long double, long double __x, external] + - [C++14, cmath, std, '', tanh, __type, _Tp __x, external] + - [C++14, cmath, std, '', tan, float, float __x, external] + - [C++14, cmath, std, '', tan, long double, long double __x, external] + - [C++14, cmath, std, '', tan, __type, _Tp __x, external] + - [C++14, cmath, std, '', sqrt, float, float __x, external] + - [C++14, cmath, std, '', sqrt, long double, long double __x, external] + - [C++14, cmath, std, '', sqrt, __type, _Tp __x, external] + - [C++14, cmath, std, '', sinh, float, float __x, external] + - [C++14, cmath, std, '', sinh, long double, long double __x, external] + - [C++14, cmath, std, '', sinh, __type, _Tp __x, external] + - [C++14, cmath, std, '', sin, float, float __x, external] + - [C++14, cmath, std, '', sin, long double, long double __x, external] + - [C++14, cmath, std, '', sin, __type, _Tp __x, external] + - [C++14, cmath, std, '', pow, float, 'float __x, float __y', external] + - [C++14, cmath, std, '', pow, long double, 'long double __x, long double __y', external] + - [C++14, cmath, std, '', pow, __type, '_Tp __x, _Up __y', external] + - [C++14, cmath, std, '', modf, float, 'float __x, float * __iptr', external] + - [C++14, cmath, std, '', modf, long double, 'long double __x, long double * __iptr', external] + - [C++14, cmath, std, '', log10, float, float __x, external] + - [C++14, cmath, std, '', log10, long double, long double __x, external] + - [C++14, cmath, std, '', log10, __type, _Tp __x, external] + - [C++14, cmath, std, '', log, float, float __x, external] + - [C++14, cmath, std, '', log, long double, long double __x, external] + - [C++14, cmath, std, '', log, __type, _Tp __x, external] + - [C++14, cmath, std, '', ldexp, float, 'float __x, int __exp', external] + - [C++14, cmath, std, '', ldexp, long double, 'long double __x, int __exp', external] + - [C++14, cmath, std, '', ldexp, __type, '_Tp __x, int __exp', external] + - [C++14, cmath, std, '', frexp, float, 'float __x, int * __exp', external] + - [C++14, cmath, std, '', frexp, long double, 'long double __x, int * __exp', external] + - [C++14, cmath, std, '', frexp, __type, '_Tp __x, int * __exp', external] + - [C++14, cmath, std, '', fmod, float, 'float __x, float __y', external] + - [C++14, cmath, std, '', fmod, long double, 'long double __x, long double __y', external] + - [C++14, cmath, std, '', fmod, __type, '_Tp __x, _Up __y', external] + - [C++14, cmath, std, '', floor, float, float __x, external] + - [C++14, cmath, std, '', floor, long double, long double __x, external] + - [C++14, cmath, std, '', floor, __type, _Tp __x, external] + - [C++14, cmath, std, '', fabs, float, float __x, external] + - [C++14, cmath, std, '', fabs, long double, long double __x, external] + - [C++14, cmath, std, '', fabs, __type, _Tp __x, external] + - [C++14, cmath, std, '', exp, float, float __x, external] + - [C++14, cmath, std, '', exp, long double, long double __x, external] + - [C++14, cmath, std, '', exp, __type, _Tp __x, external] + - [C++14, cmath, std, '', cosh, float, float __x, external] + - [C++14, cmath, std, '', cosh, long double, long double __x, external] + - [C++14, cmath, std, '', cosh, __type, _Tp __x, external] + - [C++14, cmath, std, '', cos, float, float __x, external] + - [C++14, cmath, std, '', cos, long double, long double __x, external] + - [C++14, cmath, std, '', cos, __type, _Tp __x, external] + - [C++14, cmath, std, '', ceil, float, float __x, external] + - [C++14, cmath, std, '', ceil, long double, long double __x, external] + - [C++14, cmath, std, '', ceil, __type, _Tp __x, external] + - [C++14, cmath, std, '', atan2, float, 'float __y, float __x', external] + - [C++14, cmath, std, '', atan2, long double, 'long double __y, long double __x', external] + - [C++14, cmath, std, '', atan2, __type, '_Tp __y, _Up __x', external] + - [C++14, cmath, std, '', atan, float, float __x, external] + - [C++14, cmath, std, '', atan, long double, long double __x, external] + - [C++14, cmath, std, '', atan, __type, _Tp __x, external] + - [C++14, cmath, std, '', asin, float, float __x, external] + - [C++14, cmath, std, '', asin, long double, long double __x, external] + - [C++14, cmath, std, '', asin, __type, _Tp __x, external] + - [C++14, cmath, std, '', acos, float, float __x, external] + - [C++14, cmath, std, '', acos, long double, long double __x, external] + - [C++14, cmath, std, '', acos, __type, _Tp __x, external] + - [C++14, cmath, std, '', isnan, bool, long double __x, external] + - [C++14, cmath, std, '', isnan, bool, double __x, external] + - [C++14, cmath, std, '', isnan, bool, float __x, external] + - [C++14, cmath, std, '', isnan, __type, _Tp __x, external] + - [C++14, cmath, std, '', isinf, bool, long double __x, external] + - [C++14, cmath, std, '', isinf, bool, double __x, external] + - [C++14, cmath, std, '', isinf, bool, float __x, external] + - [C++14, cmath, std, '', isinf, __type, _Tp __x, external] + - [C++14, cmath, std, '', isunordered, bool, 'double __x, double __y', external] + - [C++14, cmath, std, '', isunordered, bool, 'float __x, float __y', external] + - [C++14, cmath, std, '', isunordered, bool, 'long double __x, long double __y', external] + - [C++14, cmath, std, '', isunordered, __type, '_Tp __x, _Up __y', external] + - [C++14, cmath, std, '', islessgreater, bool, 'double __x, double __y', external] + - [C++14, cmath, std, '', islessgreater, bool, 'float __x, float __y', external] + - [C++14, cmath, std, '', islessgreater, bool, 'long double __x, long double __y', external] + - [C++14, cmath, std, '', islessgreater, __type, '_Tp __x, _Up __y', external] + - [C++14, cmath, std, '', islessequal, bool, 'double __x, double __y', external] + - [C++14, cmath, std, '', islessequal, bool, 'float __x, float __y', external] + - [C++14, cmath, std, '', islessequal, bool, 'long double __x, long double __y', external] + - [C++14, cmath, std, '', islessequal, __type, '_Tp __x, _Up __y', external] + - [C++14, cmath, std, '', isless, bool, 'double __x, double __y', external] + - [C++14, cmath, std, '', isless, bool, 'float __x, float __y', external] + - [C++14, cmath, std, '', isless, bool, 'long double __x, long double __y', external] + - [C++14, cmath, std, '', isless, __type, '_Tp __x, _Up __y', external] + - [C++14, cmath, std, '', isgreaterequal, bool, 'double __x, double __y', external] + - [C++14, cmath, std, '', isgreaterequal, bool, 'float __x, float __y', external] + - [C++14, cmath, std, '', isgreaterequal, bool, 'long double __x, long double __y', external] + - [C++14, cmath, std, '', isgreaterequal, __type, '_Tp __x, _Up __y', external] + - [C++14, cmath, std, '', isgreater, bool, 'double __x, double __y', external] + - [C++14, cmath, std, '', isgreater, bool, 'float __x, float __y', external] + - [C++14, cmath, std, '', isgreater, bool, 'long double __x, long double __y', external] + - [C++14, cmath, std, '', isgreater, __type, '_Tp __x, _Up __y', external] + - [C++14, cmath, std, '', signbit, bool, long double __x, external] + - [C++14, cmath, std, '', signbit, bool, double __x, external] + - [C++14, cmath, std, '', signbit, bool, float __x, external] + - [C++14, cmath, std, '', signbit, __type, _Tp __x, external] + - [C++14, cmath, std, '', isnormal, bool, long double __x, external] + - [C++14, cmath, std, '', isnormal, bool, double __x, external] + - [C++14, cmath, std, '', isnormal, bool, float __x, external] + - [C++14, cmath, std, '', isnormal, __type, _Tp __x, external] + - [C++14, cmath, std, '', isfinite, bool, long double __x, external] + - [C++14, cmath, std, '', isfinite, bool, double __x, external] + - [C++14, cmath, std, '', isfinite, bool, float __x, external] + - [C++14, cmath, std, '', isfinite, __type, _Tp __x, external] + - [C++14, cmath, std, '', fpclassify, int, long double __x, external] + - [C++14, cmath, std, '', fpclassify, int, double __x, external] + - [C++14, cmath, std, '', fpclassify, int, float __x, external] + - [C++14, cmath, std, '', fpclassify, __type, _Tp __x, external] + - [C++14, stdexcept, std, logic_error, what, const char *, '', external] + - [C++14, stdexcept, std, runtime_error, what, const char *, '', external] + - [C++14, memory, std, '', swap, void, 'unique_ptr<_Tp, _Dp> & __x, unique_ptr<_Tp, _Dp> & __y', external] + - [C++14, memory, std, '', swap, void, 'weak_ptr<_Tp> & __a, weak_ptr<_Tp> & __b', external] + - [C++14, memory, std, '', swap, void, 'shared_ptr<_Tp> & __a, shared_ptr<_Tp> & __b', external] + - [C++14, memory, std, '', swap, void, '__weak_ptr<_Tp, _Lp> & __a, __weak_ptr<_Tp, _Lp> & __b', external] + - [C++14, memory, std, '', swap, void, '__shared_ptr<_Tp, _Lp> & __a, __shared_ptr<_Tp, _Lp> & __b', external] + - [C++14, memory, std, '', return_temporary_buffer, void, _Tp * __p, external] + - [C++14, memory, std, '', get_temporary_buffer, 'pair<_Tp *, ptrdiff_t>', ptrdiff_t __len, external] + - [C++14, memory, std, '', atomic_compare_exchange_strong, bool, '__shared_ptr<_Tp, _Lp> * __p, __shared_ptr<_Tp, _Lp> * __v, __shared_ptr<_Tp, _Lp> __w', external] + - [C++14, memory, std, '', atomic_compare_exchange_strong, bool, 'shared_ptr<_Tp> * __p, shared_ptr<_Tp> * __v, shared_ptr<_Tp> __w', external] + - [C++14, memory, std, '', atomic_compare_exchange_weak, bool, '__shared_ptr<_Tp, _Lp> * __p, __shared_ptr<_Tp, _Lp> * __v, __shared_ptr<_Tp, _Lp> __w', external] + - [C++14, memory, std, '', atomic_compare_exchange_weak, bool, 'shared_ptr<_Tp> * __p, shared_ptr<_Tp> * __v, shared_ptr<_Tp> __w', external] + - [C++14, memory, std, '', atomic_exchange, '__shared_ptr<_Tp, _Lp>', '__shared_ptr<_Tp, _Lp> * __p, __shared_ptr<_Tp, _Lp> __r', external] + - [C++14, memory, std, '', atomic_exchange, shared_ptr<_Tp>, 'shared_ptr<_Tp> * __p, shared_ptr<_Tp> __r', external] + - [C++14, memory, std, '', atomic_load, '__shared_ptr<_Tp, _Lp>', 'const __shared_ptr<_Tp, _Lp> * __p', external] + - [C++14, memory, std, '', atomic_load, shared_ptr<_Tp>, const shared_ptr<_Tp> * __p, external] + - [C++14, memory, std, '', atomic_store, void, '__shared_ptr<_Tp, _Lp> * __p, __shared_ptr<_Tp, _Lp> __r', external] + - [C++14, memory, std, '', atomic_store, void, 'shared_ptr<_Tp> * __p, shared_ptr<_Tp> __r', external] + - [C++14, memory, std, '', atomic_compare_exchange_strong_explicit, bool, '__shared_ptr<_Tp, _Lp> * __p, __shared_ptr<_Tp, _Lp> * __v, __shared_ptr<_Tp, _Lp> __w, memory_order (unnamed parameter 3), memory_order (unnamed parameter 4)', external] + - [C++14, memory, std, '', atomic_compare_exchange_strong_explicit, bool, 'shared_ptr<_Tp> * __p, shared_ptr<_Tp> * __v, shared_ptr<_Tp> __w, memory_order (unnamed parameter 3), memory_order (unnamed parameter 4)', external] + - [C++14, memory, std, '', atomic_compare_exchange_weak_explicit, bool, '__shared_ptr<_Tp, _Lp> * __p, __shared_ptr<_Tp, _Lp> * __v, __shared_ptr<_Tp, _Lp> __w, memory_order __success, memory_order __failure', external] + - [C++14, memory, std, '', atomic_compare_exchange_weak_explicit, bool, 'shared_ptr<_Tp> * __p, shared_ptr<_Tp> * __v, shared_ptr<_Tp> __w, memory_order __success, memory_order __failure', external] + - [C++14, memory, std, '', atomic_exchange_explicit, '__shared_ptr<_Tp, _Lp>', '__shared_ptr<_Tp, _Lp> * __p, __shared_ptr<_Tp, _Lp> __r, memory_order (unnamed parameter 2)', external] + - [C++14, memory, std, '', atomic_exchange_explicit, shared_ptr<_Tp>, 'shared_ptr<_Tp> * __p, shared_ptr<_Tp> __r, memory_order (unnamed parameter 2)', external] + - [C++14, memory, std, '', atomic_load_explicit, '__shared_ptr<_Tp, _Lp>', 'const __shared_ptr<_Tp, _Lp> * __p, memory_order (unnamed parameter 1)', external] + - [C++14, memory, std, '', atomic_load_explicit, shared_ptr<_Tp>, 'const shared_ptr<_Tp> * __p, memory_order (unnamed parameter 1)', external] + - [C++14, memory, std, '', atomic_store_explicit, void, '__shared_ptr<_Tp, _Lp> * __p, __shared_ptr<_Tp, _Lp> __r, memory_order (unnamed parameter 2)', external] + - [C++14, memory, std, '', atomic_store_explicit, void, 'shared_ptr<_Tp> * __p, shared_ptr<_Tp> __r, memory_order (unnamed parameter 2)', external] + - [C++14, memory, std, '', atomic_is_lock_free, bool, 'const __shared_ptr<_Tp, _Lp> * __p', external] + - [C++14, memory, std, '', atomic_is_lock_free, bool, const shared_ptr<_Tp> * __p, external] + - [C++14, memory, std, '', make_unique, __invalid_type, _Args && (unnamed parameter 0), external] + - [C++14, memory, std, '', make_unique, __array, size_t __num, external] + - [C++14, memory, std, '', make_unique, __single_object, _Args && __args, external] + - [C++14, memory, std, '', get_deleter, _Del *, const shared_ptr<_Tp1> & (unnamed parameter 0), external] + - [C++14, memory, std, '', get_deleter, _Del *, 'const __shared_ptr<_Tp1, _Lp1> & (unnamed parameter 0)', external] + - [C++14, memory, std, '', get_deleter, _Del *, const shared_ptr<_Tp> & __p, external] + - [C++14, memory, std, '', get_deleter, _Del *, 'const __shared_ptr<_Tp, _Lp> & __p', external] + - [C++14, memory, std, '', dynamic_pointer_cast, '__shared_ptr<_Tp, _Lp>', 'const __shared_ptr<_Tp1, _Lp> & __r', external] + - [C++14, memory, std, '', dynamic_pointer_cast, shared_ptr<_Tp>, const shared_ptr<_Up> & __r, external] + - [C++14, memory, std, '', const_pointer_cast, '__shared_ptr<_Tp, _Lp>', 'const __shared_ptr<_Tp1, _Lp> & __r', external] + - [C++14, memory, std, '', const_pointer_cast, shared_ptr<_Tp>, const shared_ptr<_Up> & __r, external] + - [C++14, memory, std, '', static_pointer_cast, '__shared_ptr<_Tp, _Lp>', 'const __shared_ptr<_Tp1, _Lp> & __r', external] + - [C++14, memory, std, '', static_pointer_cast, shared_ptr<_Tp>, const shared_ptr<_Up> & __r, external] + - [C++14, memory, std, '', make_shared, shared_ptr<_Tp>, _Args && __args, external] + - [C++14, memory, std, '', allocate_shared, shared_ptr<_Tp>, 'const _Alloc & __a, _Args && __args', external] + - [C++14, memory, std, '', allocate_shared, shared_ptr<_Yp>, 'const _Alloc & __a, _Args && __args', external] + - [C++14, memory, std, '', uninitialized_copy_n, _ForwardIterator, '_InputIterator __first, _Size __n, _ForwardIterator __result', external] + - [C++14, memory, std, '', uninitialized_fill_n, _ForwardIterator, '_ForwardIterator __first, _Size __n, const _Tp & __x', external] + - [C++14, memory, std, '', uninitialized_fill, void, '_ForwardIterator __first, _ForwardIterator __last, const _Tp & __x', external] + - [C++14, memory, std, '', uninitialized_copy, _ForwardIterator, '_InputIterator __first, _InputIterator __last, _ForwardIterator __result', external] + - [C++14, memory, std, '', get_pointer_safety, pointer_safety, '', external] + - [C++14, memory, std, '', undeclare_no_pointers, void, 'char * (unnamed parameter 0), size_t (unnamed parameter 1)', external] + - [C++14, memory, std, '', declare_no_pointers, void, 'char * (unnamed parameter 0), size_t (unnamed parameter 1)', external] + - [C++14, memory, std, '', undeclare_reachable, _Tp *, _Tp * __p, external] + - [C++14, memory, std, '', declare_reachable, void, void * (unnamed parameter 0), external] + - [C++14, memory, std, '', align, void *, 'size_t __align, size_t __size, void *& __ptr, size_t & __space', external] + - [C++14, memory, std, unique_ptr, swap, void, 'unique_ptr<_Tp[], _Dp> & __u', external] + - [C++14, memory, std, unique_ptr, swap, void, 'unique_ptr<_Tp, _Dp> & __u', external] + - [C++14, memory, std, unique_ptr, get, pointer, '', external] + - [C++14, memory, std, unique_ptr, reset, void, nullptr_t (unnamed parameter 0), external] + - [C++14, memory, std, unique_ptr, reset, void, pointer __p, external] + - [C++14, memory, std, unique_ptr, reset, void, _Up __p, external] + - [C++14, memory, std, unique_ptr, release, pointer, '', external] + - [C++14, memory, std, unique_ptr, get_deleter, const deleter_type &, '', external] + - [C++14, memory, std, unique_ptr, get_deleter, deleter_type &, '', external] + - [C++14, memory, std, bad_weak_ptr, what, const char *, '', external] + - [C++14, memory, std, enable_shared_from_this, shared_from_this, shared_ptr<_Tp>, '', external] + - [C++14, memory, std, enable_shared_from_this, shared_from_this, shared_ptr, '', external] + - [C++14, memory, std, weak_ptr, swap, void, '__weak_ptr<_Tp, _Lp> & __s', external] + - [C++14, memory, std, weak_ptr, reset, void, '', external] + - [C++14, memory, std, weak_ptr, lock, '__shared_ptr<_Tp, _Lp>', '', external] + - [C++14, memory, std, weak_ptr, lock, shared_ptr<_Tp>, '', external] + - [C++14, memory, std, weak_ptr, owner_before, bool, 'const __weak_ptr<_Tp1, _Lp> & __rhs', external] + - [C++14, memory, std, weak_ptr, owner_before, bool, 'const __shared_ptr<_Tp1, _Lp> & __rhs', external] + - [C++14, memory, std, weak_ptr, expired, bool, '', external] + - [C++14, memory, std, weak_ptr, use_count, long, '', external] + - [C++14, memory, std, shared_ptr, swap, void, '__shared_ptr<_Tp, _Lp> & __other', external] + - [C++14, memory, std, shared_ptr, get, element_type *, '', external] + - [C++14, memory, std, shared_ptr, unique, bool, '', external] + - [C++14, memory, std, shared_ptr, reset, void, '', external] + - [C++14, memory, std, shared_ptr, reset, _SafeConv, _Yp * __p, external] + - [C++14, memory, std, shared_ptr, reset, _SafeConv, '_Yp * __p, _Deleter __d, _Alloc __a', external] + - [C++14, memory, std, shared_ptr, reset, _SafeConv, '_Yp * __p, _Deleter __d', external] + - [C++14, memory, std, shared_ptr, owner_before, bool, 'const __weak_ptr<_Tp1, _Lp> & __rhs', external] + - [C++14, memory, std, shared_ptr, owner_before, bool, 'const __shared_ptr<_Tp1, _Lp> & __rhs', external] + - [C++14, memory, std, shared_ptr, use_count, long, '', external] + - [C++14, memory, std, raw_storage_iterator, base, _OutputIterator, '', external] + - [C++14, memory, std, auto_ptr, get, element_type *, '', external] + - [C++14, memory, std, auto_ptr, reset, void, element_type * __p, external] + - [C++14, memory, std, auto_ptr, release, element_type *, '', external] + - [C++14, memory, std, auto_ptr, 'operator std::auto_ptr<_Tp1>', auto_ptr<_Tp1>, '', external] + - [C++14, memory, std, auto_ptr, 'operator std::auto_ptr_ref<_Tp1>', auto_ptr_ref<_Tp1>, '', external] + - [C++14, memory, std, allocator_traits, max_size, size_type, const _Alloc & __a, external] + - [C++14, memory, std, allocator_traits, max_size, size_type, const allocator_type & (unnamed parameter 0), external] + - [C++14, memory, std, allocator_traits, max_size, size_type, const allocator_type & __a, external] + - [C++14, memory, std, allocator_traits, destroy, void, 'allocator_type & (unnamed parameter 0), _Up * __p', external] + - [C++14, memory, std, allocator_traits, destroy, void, 'allocator_type & __a, _Up * __p', external] + - [C++14, memory, std, allocator_traits, destroy, void, '_Alloc & __a, _Tp * __p', external] + - [C++14, memory, std, allocator_traits, construct, void, 'allocator_type & (unnamed parameter 0), _Up * __p, _Args && __args', external] + - [C++14, memory, std, allocator_traits, construct, void, 'allocator_type & __a, _Up * __p, _Args && __args', external] + - [C++14, memory, std, allocator_traits, construct, decltype(...), '_Alloc & __a, _Tp * __p, _Args && __args', external] + - [C++14, memory, std, allocator_traits, deallocate, void, 'allocator_type & (unnamed parameter 0), void * (unnamed parameter 1), size_type (unnamed parameter 2)', external] + - [C++14, memory, std, allocator_traits, deallocate, void, 'allocator_type & __a, pointer __p, size_type __n', external] + - [C++14, memory, std, allocator_traits, deallocate, void, '_Alloc & __a, pointer __p, size_type __n', external] + - [C++14, memory, std, allocator_traits, allocate, void *, 'allocator_type & (unnamed parameter 0), size_type (unnamed parameter 1), const void * (unnamed parameter 2)', external] + - [C++14, memory, std, allocator_traits, allocate, pointer, 'allocator_type & __a, size_type __n, const_void_pointer __hint', external] + - [C++14, memory, std, allocator_traits, allocate, pointer, 'allocator_type & __a, size_type __n', external] + - [C++14, memory, std, allocator_traits, allocate, pointer, '_Alloc & __a, size_type __n, const_void_pointer __hint', external] + - [C++14, memory, std, allocator_traits, allocate, pointer, '_Alloc & __a, size_type __n', external] + - [C++14, memory, std, allocator_traits, select_on_container_copy_construction, _Alloc, const _Alloc & __rhs, external] + - [C++14, memory, std, allocator_traits, select_on_container_copy_construction, allocator_type, const allocator_type & __rhs, external] + - [C++14, typeindex, std, type_index, hash_code, size_t, '', external] + - [C++14, typeindex, std, type_index, name, const char *, '', external] +- addsTo: {extensible: libraryObjectModel, pack: codeql/common-cpp-coding-standards} + data: + - [C++14, mutex, std, adopt_lock, adopt_lock_t, internal] + - [C++14, mutex, std, try_to_lock, try_to_lock_t, internal] + - [C++14, mutex, std, defer_lock, defer_lock_t, internal] + - [C++14, tuple, std, ignore, _Swallow_assign, internal] + - [C++14, regex, std, collate, syntax_option_type, internal] + - [C++14, regex, std, format_first_only, match_flag_type, internal] + - [C++14, regex, std, format_no_copy, match_flag_type, internal] + - [C++14, regex, std, format_sed, match_flag_type, internal] + - [C++14, regex, std, format_default, match_flag_type, internal] + - [C++14, regex, std, match_prev_avail, match_flag_type, internal] + - [C++14, regex, std, match_continuous, match_flag_type, internal] + - [C++14, regex, std, match_not_null, match_flag_type, internal] + - [C++14, regex, std, match_any, match_flag_type, internal] + - [C++14, regex, std, match_not_eow, match_flag_type, internal] + - [C++14, regex, std, match_not_bow, match_flag_type, internal] + - [C++14, regex, std, match_not_eol, match_flag_type, internal] + - [C++14, regex, std, match_not_bol, match_flag_type, internal] + - [C++14, regex, std, match_default, match_flag_type, internal] + - [C++14, regex, std, egrep, syntax_option_type, internal] + - [C++14, regex, std, grep, syntax_option_type, internal] + - [C++14, regex, std, awk, syntax_option_type, internal] + - [C++14, regex, std, extended, syntax_option_type, internal] + - [C++14, regex, std, basic, syntax_option_type, internal] + - [C++14, regex, std, ECMAScript, syntax_option_type, internal] + - [C++14, regex, std, optimize, syntax_option_type, internal] + - [C++14, regex, std, nosubs, syntax_option_type, internal] + - [C++14, regex, std, icase, syntax_option_type, internal] + - [C++14, regex, std, error_stack, error_type, internal] + - [C++14, regex, std, error_complexity, error_type, internal] + - [C++14, regex, std, error_badrepeat, error_type, internal] + - [C++14, regex, std, error_space, error_type, internal] + - [C++14, regex, std, error_range, error_type, internal] + - [C++14, regex, std, error_badbrace, error_type, internal] + - [C++14, regex, std, error_brace, error_type, internal] + - [C++14, regex, std, error_paren, error_type, internal] + - [C++14, regex, std, error_brack, error_type, internal] + - [C++14, regex, std, error_backref, error_type, internal] + - [C++14, regex, std, error_escape, error_type, internal] + - [C++14, regex, std, error_ctype, error_type, internal] + - [C++14, regex, std, error_collate, error_type, internal] + - [C++14, iostream, std, wclog, wostream, external] + - [C++14, iostream, std, wcerr, wostream, external] + - [C++14, iostream, std, wcout, wostream, external] + - [C++14, iostream, std, wcin, wistream, external] + - [C++14, iostream, std, clog, ostream, external] + - [C++14, iostream, std, cerr, ostream, external] + - [C++14, iostream, std, cout, ostream, external] + - [C++14, iostream, std, cin, istream, external] + - [C++14, new, std, nothrow, const nothrow_t, external] + - [C++14, utility, std, piecewise_construct, piecewise_construct_t, internal] + - [C++14, memory, std, allocator_arg, allocator_arg_t, internal] +- addsTo: {extensible: libraryMemberVariableModel, pack: codeql/common-cpp-coding-standards} + data: + - [C++14, random, std, shuffle_order_engine, table_size, size_t] + - [C++14, random, std, discard_block_engine, used_block, size_t] + - [C++14, random, std, discard_block_engine, block_size, size_t] + - [C++14, random, std, subtract_with_carry_engine, default_seed, result_type] + - [C++14, random, std, subtract_with_carry_engine, long_lag, size_t] + - [C++14, random, std, subtract_with_carry_engine, short_lag, size_t] + - [C++14, random, std, subtract_with_carry_engine, word_size, size_t] + - [C++14, random, std, mersenne_twister_engine, default_seed, result_type] + - [C++14, random, std, mersenne_twister_engine, word_size, size_t] + - [C++14, random, std, mersenne_twister_engine, initialization_multiplier, result_type] + - [C++14, random, std, mersenne_twister_engine, tempering_l, size_t] + - [C++14, random, std, mersenne_twister_engine, tempering_c, result_type] + - [C++14, random, std, mersenne_twister_engine, tempering_t, size_t] + - [C++14, random, std, mersenne_twister_engine, tempering_b, result_type] + - [C++14, random, std, mersenne_twister_engine, tempering_s, size_t] + - [C++14, random, std, mersenne_twister_engine, tempering_d, result_type] + - [C++14, random, std, mersenne_twister_engine, tempering_u, size_t] + - [C++14, random, std, mersenne_twister_engine, xor_mask, result_type] + - [C++14, random, std, mersenne_twister_engine, mask_bits, size_t] + - [C++14, random, std, mersenne_twister_engine, shift_size, size_t] + - [C++14, random, std, mersenne_twister_engine, state_size, size_t] + - [C++14, random, std, linear_congruential_engine, default_seed, result_type] + - [C++14, random, std, linear_congruential_engine, modulus, result_type] + - [C++14, random, std, linear_congruential_engine, increment, result_type] + - [C++14, random, std, linear_congruential_engine, multiplier, result_type] + - [C++14, locale, std, ctype_base, blank, const mask] + - [C++14, locale, std, ctype_base, alnum, const mask] + - [C++14, locale, std, ctype_base, punct, const mask] + - [C++14, locale, std, ctype_base, cntrl, const mask] + - [C++14, locale, std, ctype_base, graph, const mask] + - [C++14, locale, std, ctype_base, print, const mask] + - [C++14, locale, std, ctype_base, space, const mask] + - [C++14, locale, std, ctype_base, xdigit, const mask] + - [C++14, locale, std, ctype_base, digit, const mask] + - [C++14, locale, std, ctype_base, alpha, const mask] + - [C++14, locale, std, ctype_base, lower, const mask] + - [C++14, locale, std, ctype_base, upper, const mask] + - [C++14, locale, std, locale, time, const category] + - [C++14, locale, std, locale, none, const category] + - [C++14, locale, std, locale, all, const category] + - [C++14, locale, std, locale, collate, const category] + - [C++14, locale, std, locale, ctype, const category] + - [C++14, locale, std, locale, numeric, const category] + - [C++14, locale, std, locale, monetary, const category] + - [C++14, locale, std, locale, messages, const category] + - [C++14, locale, std, collate, id, id] + - [C++14, locale, std, ctype, id, id] + - [C++14, locale, std, ctype, table_size, const size_t] + - [C++14, locale, std, messages, id, id] + - [C++14, locale, std, numpunct, id, id] + - [C++14, locale, std, num_put, id, id] + - [C++14, locale, std, num_get, id, id] + - [C++14, locale, std, moneypunct_byname, intl, const bool] + - [C++14, locale, std, moneypunct, id, id] + - [C++14, locale, std, moneypunct, intl, const bool] + - [C++14, locale, std, money_put, id, id] + - [C++14, locale, std, money_get, id, id] + - [C++14, locale, std, time_get, id, id] + - [C++14, locale, std, time_put, id, id] + - [C++14, chrono, 'std::chrono', steady_clock, is_steady, bool] + - [C++14, chrono, 'std::chrono', system_clock, is_steady, bool] + - [C++14, codecvt, std, codecvt, id, id] + - [C++14, queue, std, priority_queue, c, _Sequence] + - [C++14, queue, std, priority_queue, comp, _Compare] + - [C++14, queue, std, queue, c, _Sequence] + - [C++14, stack, std, stack, c, _Sequence] + - [C++14, regex, std, basic_regex, collate, flag_type] + - [C++14, regex, std, basic_regex, egrep, flag_type] + - [C++14, regex, std, basic_regex, grep, flag_type] + - [C++14, regex, std, basic_regex, awk, flag_type] + - [C++14, regex, std, basic_regex, extended, flag_type] + - [C++14, regex, std, basic_regex, basic, flag_type] + - [C++14, regex, std, basic_regex, ECMAScript, flag_type] + - [C++14, regex, std, basic_regex, optimize, flag_type] + - [C++14, regex, std, basic_regex, nosubs, flag_type] + - [C++14, regex, std, basic_regex, icase, flag_type] + - [C++14, regex, std, sub_match, matched, bool] + - [C++14, ios, std, ios_base, end, const seekdir] + - [C++14, ios, std, ios_base, trunc, const openmode] + - [C++14, ios, std, ios_base, scientific, const fmtflags] + - [C++14, ios, std, ios_base, fixed, const fmtflags] + - [C++14, ios, std, ios_base, oct, const fmtflags] + - [C++14, ios, std, ios_base, hex, const fmtflags] + - [C++14, ios, std, ios_base, dec, const fmtflags] + - [C++14, ios, std, ios_base, right, const fmtflags] + - [C++14, ios, std, ios_base, left, const fmtflags] + - [C++14, ios, std, ios_base, internal, const fmtflags] + - [C++14, ios, std, ios_base, unitbuf, const fmtflags] + - [C++14, ios, std, ios_base, uppercase, const fmtflags] + - [C++14, ios, std, ios_base, skipws, const fmtflags] + - [C++14, ios, std, ios_base, showpos, const fmtflags] + - [C++14, ios, std, ios_base, showpoint, const fmtflags] + - [C++14, ios, std, ios_base, showbase, const fmtflags] + - [C++14, ios, std, ios_base, boolalpha, const fmtflags] + - [C++14, ios, std, ios_base, cur, const seekdir] + - [C++14, ios, std, ios_base, beg, const seekdir] + - [C++14, ios, std, ios_base, out, const openmode] + - [C++14, ios, std, ios_base, in, const openmode] + - [C++14, ios, std, ios_base, binary, const openmode] + - [C++14, ios, std, ios_base, ate, const openmode] + - [C++14, ios, std, ios_base, app, const openmode] + - [C++14, ios, std, ios_base, goodbit, const iostate] + - [C++14, ios, std, ios_base, failbit, const iostate] + - [C++14, ios, std, ios_base, eofbit, const iostate] + - [C++14, ios, std, ios_base, badbit, const iostate] + - [C++14, ios, std, ios_base, floatfield, const fmtflags] + - [C++14, ios, std, ios_base, basefield, const fmtflags] + - [C++14, ios, std, ios_base, adjustfield, const fmtflags] + - [C++14, string, std, insert_iterator, iter, _Iter] + - [C++14, string, std, insert_iterator, container, _Container *] + - [C++14, string, std, front_insert_iterator, container, _Container *] + - [C++14, string, std, back_insert_iterator, container, _Container *] + - [C++14, string, std, reverse_iterator, current, _Iterator] + - [C++14, string, std, basic_string, npos, const size_type] + - [C++14, ratio, std, ratio, den, intmax_t] + - [C++14, ratio, std, ratio, num, intmax_t] + - [C++14, type_traits, std, integral_constant, value, _Tp] + - [C++14, type_traits, std, aligned_union, alignment_value, const size_t] + - [C++14, utility, std, pair, second, _T2] + - [C++14, utility, std, pair, first, _T1] + - [C++14, limits, std, numeric_limits, round_style, float_round_style] + - [C++14, limits, std, numeric_limits, tinyness_before, bool] + - [C++14, limits, std, numeric_limits, traps, bool] + - [C++14, limits, std, numeric_limits, is_modulo, bool] + - [C++14, limits, std, numeric_limits, is_bounded, bool] + - [C++14, limits, std, numeric_limits, is_iec559, bool] + - [C++14, limits, std, numeric_limits, has_infinity, bool] + - [C++14, limits, std, numeric_limits, has_quiet_NaN, bool] + - [C++14, limits, std, numeric_limits, has_denorm, float_denorm_style] + - [C++14, limits, std, numeric_limits, has_denorm_loss, bool] + - [C++14, limits, std, numeric_limits, has_signaling_NaN, bool] + - [C++14, limits, std, numeric_limits, max_exponent10, int] + - [C++14, limits, std, numeric_limits, max_exponent, int] + - [C++14, limits, std, numeric_limits, min_exponent10, int] + - [C++14, limits, std, numeric_limits, min_exponent, int] + - [C++14, limits, std, numeric_limits, radix, int] + - [C++14, limits, std, numeric_limits, is_exact, bool] + - [C++14, limits, std, numeric_limits, is_integer, bool] + - [C++14, limits, std, numeric_limits, is_signed, bool] + - [C++14, limits, std, numeric_limits, max_digits10, int] + - [C++14, limits, std, numeric_limits, digits10, int] + - [C++14, limits, std, numeric_limits, digits, int] + - [C++14, limits, std, numeric_limits, is_specialized, bool] + - [C++14, functional, std, binder2nd, value, second_argument_type] + - [C++14, functional, std, binder2nd, op, _Operation] + - [C++14, functional, std, binder1st, value, first_argument_type] + - [C++14, functional, std, binder1st, op, _Operation] diff --git a/rule_packages/c/Declarations1.json b/rule_packages/c/Declarations1.json index dba6a07eeb..550e69ee7f 100644 --- a/rule_packages/c/Declarations1.json +++ b/rule_packages/c/Declarations1.json @@ -75,7 +75,6 @@ "precision": "very-high", "severity": "warning", "short_name": "DoNotDeclareAReservedIdentifier", - "shared_implementation_short_name": "DeclaredAReservedIdentifier", "tags": [ "correctness", "maintainability", diff --git a/rule_packages/cpp/Naming.json b/rule_packages/cpp/Naming.json index 34a9f2c66e..efe35001b3 100644 --- a/rule_packages/cpp/Naming.json +++ b/rule_packages/cpp/Naming.json @@ -268,7 +268,10 @@ "tags": [ "readability", "maintainability" - ] + ], + "implementation_scope": { + "description": "This implementation reports all functions with the same name as a function declared in the global namespace in the C++ standard." + } } ], "title": "The names of standard library functions shall not be overridden." diff --git a/scripts/generate_modules/generate_modules.py b/scripts/generate_modules/generate_modules.py deleted file mode 100644 index 84c0df635a..0000000000 --- a/scripts/generate_modules/generate_modules.py +++ /dev/null @@ -1,52 +0,0 @@ -from bs4 import BeautifulSoup -import requests -import re -from functools import reduce -import json -from pathlib import Path -from jinja2 import Environment, FileSystemLoader -from sys import exit - -generate_modules_home = Path(__file__).resolve().parent -common_codingstandards_home = generate_modules_home.parent.parent.joinpath( - 'cpp', 'common', 'src', 'codingstandards', 'cpp') -env = Environment( - loader=FileSystemLoader(generate_modules_home.joinpath('templates')), - trim_blocks=True, - lstrip_blocks=True -) - -modules = [ - { - "name": "Naming", - "sources": [ - { - "name": "macros", - "file": "cxx14-stdlib-macros.json" - }, - { - "name": "objects", - "file": "cxx14-stdlib-objects.json" - }, - { - "name": "functions", - "file": "cxx14-stdlib-functions.json" - } - ] - } -] - - -def load_spec(spec_file): - with spec_file.open() as f: - return json.load(f) - - -for module in modules: - print(f"Generating module {module['name']}") - sources = {source["name"]: load_spec(generate_modules_home.joinpath(source["file"]))[ - "#select"]["tuples"] for source in module['sources']} - template = env.get_template(f"{module['name']}.qll.template") - template.stream(sources).dump( - str(common_codingstandards_home.joinpath(f"{module['name']}.qll"))) -print("Done") diff --git a/scripts/generate_modules/queries/cxx14-stdlib-functions.ql b/scripts/generate_modules/queries/cxx14-stdlib-functions.ql deleted file mode 100644 index 4b31e8b313..0000000000 --- a/scripts/generate_modules/queries/cxx14-stdlib-functions.ql +++ /dev/null @@ -1,11 +0,0 @@ -import cpp - -from TopLevelFunction f -where - not exists(f.getAFile().getRelativePath()) and - not f.isCompilerGenerated() and - not f instanceof Operator and // exclude user defined operators - not f.getName().matches("\\_%") and // exclude internal functions starting with '_' or '__' - not f.getName().matches("operator \"%") and // exclude user defined literals - f.hasGlobalOrStdName(_) -select f.getName(), f.getQualifiedName() diff --git a/scripts/generate_modules/queries/cxx14-stdlib-macros.ql b/scripts/generate_modules/queries/cxx14-stdlib-macros.ql deleted file mode 100644 index 69636c47d8..0000000000 --- a/scripts/generate_modules/queries/cxx14-stdlib-macros.ql +++ /dev/null @@ -1,5 +0,0 @@ -import cpp - -from Macro m -where not m.getName().matches("\\_%") // exclude internal macro's that start with a '_' or '__' -select m.getName() diff --git a/scripts/generate_modules/queries/cxx14-stdlib-objects.ql b/scripts/generate_modules/queries/cxx14-stdlib-objects.ql deleted file mode 100644 index a5ef9a74fc..0000000000 --- a/scripts/generate_modules/queries/cxx14-stdlib-objects.ql +++ /dev/null @@ -1,13 +0,0 @@ -import cpp - -class GlobalOrStdVariable extends GlobalOrNamespaceVariable { - GlobalOrStdVariable() { - this.getNamespace() instanceof GlobalNamespace - or - this.getNamespace() instanceof StdNamespace - } -} - -from GlobalOrStdVariable v -where not v.getName().matches("\\_%") // exclude internal objects that start with a '_' or a '__' -select v.getName(), v.getQualifiedName() diff --git a/scripts/generate_modules/templates/Naming.qll.template b/scripts/generate_modules/templates/Naming.qll.template deleted file mode 100644 index 91c96d2034..0000000000 --- a/scripts/generate_modules/templates/Naming.qll.template +++ /dev/null @@ -1,60 +0,0 @@ -/* - * WARNING: This file is auto generated! Do not modify directly! - */ -import cpp - -/** Module to reason about standard library macro, object, and function names. */ -module Naming { - module Cpp14 { - - /** Holds if `s` is a standard library macro name. */ - predicate hasStandardLibraryMacroName(string s) { - {% for macro in macros %} - s = "{{ macro[0].replace("\"", "\\\"") }}" - {% if not loop.last %} - or - {% endif %} - {% endfor %} - } - - /** Holds if `s` is a standard library object name. */ - predicate hasStandardLibraryObjectName(string s) { - {% for object in objects %} - s = "{{ object[0].replace("\"", "\\\"") }}" - {% if not loop.last %} - or - {% endif %} - {% endfor %} - } - - /** Gets the qualified object name for the unqualifed name `s`, if any. */ - string getQualifiedStandardLibraryObjectName(string s) { - {% for object in objects %} - s = "{{ object[0].replace("\"", "\\\"") }}" and result = "{{ object[1].replace("\"", "\\\"") }}" - {% if not loop.last %} - or - {% endif %} - {% endfor %} - } - - /** Holds if `s` is a standard library top-level function name. */ - predicate hasStandardLibraryFunctionName(string s) { - {% for function in functions %} - s = "{{ function[0].replace("\"", "\\\"") }}" - {% if not loop.last %} - or - {% endif %} - {% endfor %} - } - - /** Gets the qualified function name for the unqualifed name `s`, if any. */ - string getQualifiedStandardLibraryFunctionName(string s) { - {% for function in functions %} - s = "{{ function[0].replace("\"", "\\\"") }}" and result = "{{ function[1].replace("\"", "\\\"") }}" - {% if not loop.last %} - or - {% endif %} - {% endfor %} - } - } -} \ No newline at end of file diff --git a/scripts/generate_standard_library_models/c/README.md b/scripts/generate_standard_library_models/c/README.md new file mode 100644 index 0000000000..a6d49d7d72 --- /dev/null +++ b/scripts/generate_standard_library_models/c/README.md @@ -0,0 +1,11 @@ +## Generating C Standard Library models + +This directory contains a script for generating a models-as-data file from a plain text file containing standard library definitions copied from Appendix B of the C Programming Language standard. + +### How to use + + 1. Download a PDF of the desired C programming language standard. + 2. Copy each page individually into a text file (avoiding copying headers and footers). + 3. Run `python3 generate_c_standard_library_models.py ` + +After running the script, an models-as-data file will be written to the cpp/common pack including the standard library definitions. \ No newline at end of file diff --git a/scripts/generate_standard_library_models/c/c11.txt b/scripts/generate_standard_library_models/c/c11.txt new file mode 100644 index 0000000000..85ad1136f5 --- /dev/null +++ b/scripts/generate_standard_library_models/c/c11.txt @@ -0,0 +1,1269 @@ +B.1 Diagnostics +NDEBUG +static_assert +void assert(scalar expression); +B.2 Complex +_ _STDC_NO_COMPLEX_ _ +complex +_Complex_I +imaginary +_Imaginary_I +I +#pragma STDC CX_LIMITED_RANGE on-off-switch +double complex cacos(double complex z); +float complex cacosf(float complex z); +long double complex cacosl(long double complex z); +double complex casin(double complex z); +float complex casinf(float complex z); +long double complex casinl(long double complex z); +double complex catan(double complex z); +float complex catanf(float complex z); +long double complex catanl(long double complex z); +double complex ccos(double complex z); +float complex ccosf(float complex z); +long double complex ccosl(long double complex z); +double complex csin(double complex z); +float complex csinf(float complex z); +long double complex csinl(long double complex z); +double complex ctan(double complex z); +float complex ctanf(float complex z); +long double complex ctanl(long double complex z); +double complex cacosh(double complex z); +float complex cacoshf(float complex z); +long double complex cacoshl(long double complex z); +double complex casinh(double complex z); +float complex casinhf(float complex z); +long double complex casinhl(long double complex z); +double complex catanh(double complex z); +float complex catanhf(float complex z); +long double complex catanhl(long double complex z); +double complex ccosh(double complex z); +float complex ccoshf(float complex z); +long double complex ccoshl(long double complex z); +double complex csinh(double complex z); +float complex csinhf(float complex z); +long double complex csinhl(long double complex z); +double complex ctanh(double complex z); +float complex ctanhf(float complex z); +long double complex ctanhl(long double complex z); +double complex cexp(double complex z); +float complex cexpf(float complex z); +long double complex cexpl(long double complex z); +double complex clog(double complex z); +float complex clogf(float complex z); +long double complex clogl(long double complex z); +double cabs(double complex z); +float cabsf(float complex z); +long double cabsl(long double complex z); +double complex cpow(double complex x, double complex y); +float complex cpowf(float complex x, float complex y); +long double complex cpowl(long double complex x, +long double complex y); +double complex csqrt(double complex z); +float complex csqrtf(float complex z); +long double complex csqrtl(long double complex z); +double carg(double complex z); +float cargf(float complex z); +long double cargl(long double complex z); +double cimag(double complex z); +float cimagf(float complex z); +long double cimagl(long double complex z); +double complex CMPLX(double x, double y); +float complex CMPLXF(float x, float y); +long double complex CMPLXL(long double x, long double y); +double complex conj(double complex z); +float complex conjf(float complex z); +long double complex conjl(long double complex z); +double complex cproj(double complex z); +float complex cprojf(float complex z); +long double complex cprojl(long double complex z); +double creal(double complex z); +float crealf(float complex z); +long double creall(long double complex z); +B.3 Character handling +int isalnum(int c); +int isalpha(int c); +int isblank(int c); +int iscntrl(int c); +int isdigit(int c); +int isgraph(int c); +int islower(int c); +int isprint(int c); +int ispunct(int c); +int isspace(int c); +int isupper(int c); +int isxdigit(int c); +int tolower(int c); +int toupper(int c); +B.4 Errors +EDOM EILSEQ ERANGE errno +_ _STDC_WANT_LIB_EXT1_ _ +errno_t +B.5 Floating-point environment +fenv_t +fexcept_t +FE_DIVBYZERO +FE_INEXACT +FE_INVALID +FE_OVERFLOW +FE_UNDERFLOW +FE_ALL_EXCEPT +FE_DOWNWARD +FE_TONEAREST +FE_TOWARDZERO +FE_UPWARD +FE_DFL_ENV +#pragma STDC FENV_ACCESS on-off-switch +int feclearexcept(int excepts); +int fegetexceptflag(fexcept_t *flagp, int excepts); +int feraiseexcept(int excepts); +int fesetexceptflag(const fexcept_t *flagp, +int excepts); +int fetestexcept(int excepts); +int fegetround(void); +int fesetround(int round); +int fegetenv(fenv_t *envp); +int feholdexcept(fenv_t *envp); +int fesetenv(const fenv_t *envp); +int feupdateenv(const fenv_t *envp); +B.6 Characteristics of floating types +FLT_ROUNDS +FLT_EVAL_METHOD +FLT_HAS_SUBNORM +DBL_HAS_SUBNORM +LDBL_HAS_SUBNORM +FLT_RADIX +FLT_MANT_DIG +DBL_MANT_DIG +LDBL_MANT_DIG +FLT_DECIMAL_DIG +DBL_DECIMAL_DIG +LDBL_DECIMAL_DIG +DECIMAL_DIG +FLT_DIG +DBL_DIG +LDBL_DIG +FLT_MIN_EXP +DBL_MIN_EXP +LDBL_MIN_EXP +FLT_MIN_10_EXP +DBL_MIN_10_EXP +LDBL_MIN_10_EXP +FLT_MAX_EXP +DBL_MAX_EXP +LDBL_MAX_EXP +FLT_MAX_10_EXP +DBL_MAX_10_EXP +LDBL_MAX_10_EXP +FLT_MAX +DBL_MAX +LDBL_MAX +FLT_EPSILON +DBL_EPSILON +LDBL_EPSILON +FLT_MIN +DBL_MIN +LDBL_MIN +FLT_TRUE_MIN +DBL_TRUE_MIN +LDBL_TRUE_MIN +B.7 Format conversion of integer types +imaxdiv_t +PRIdN PRIdLEASTN PRIdFASTN PRIdMAX PRIdPTR +PRIiN PRIiLEASTN PRIiFASTN PRIiMAX PRIiPTR +PRIoN PRIoLEASTN PRIoFASTN PRIoMAX PRIoPTR +PRIuN PRIuLEASTN PRIuFASTN PRIuMAX PRIuPTR +PRIxN PRIxLEASTN PRIxFASTN PRIxMAX PRIxPTR +PRIXN PRIXLEASTN PRIXFASTN PRIXMAX PRIXPTR +SCNdN SCNdLEASTN SCNdFASTN SCNdMAX SCNdPTR +SCNiN SCNiLEASTN SCNiFASTN SCNiMAX SCNiPTR +SCNoN SCNoLEASTN SCNoFASTN SCNoMAX SCNoPTR +SCNuN SCNuLEASTN SCNuFASTN SCNuMAX SCNuPTR +SCNxN SCNxLEASTN SCNxFASTN SCNxMAX SCNxPTR +intmax_t imaxabs(intmax_t j); +imaxdiv_t imaxdiv(intmax_t numer, intmax_t denom); +intmax_t strtoimax(const char * restrict nptr, +char ** restrict endptr, int base); +uintmax_t strtoumax(const char * restrict nptr, +char ** restrict endptr, int base); +intmax_t wcstoimax(const wchar_t * restrict nptr, +wchar_t ** restrict endptr, int base); +uintmax_t wcstoumax(const wchar_t * restrict nptr, +wchar_t ** restrict endptr, int base); +B.8 Alternative spellings +and +and_eq +bitand +bitor +compl +not +not_eq +or +or_eq +xor +xor_eq +B.9 Sizes of integer types +CHAR_BIT +SCHAR_MIN +SCHAR_MAX +UCHAR_MAX +CHAR_MIN +CHAR_MAX +MB_LEN_MAX +SHRT_MIN +SHRT_MAX +USHRT_MAX +INT_MIN +INT_MAX +UINT_MAX +LONG_MIN +LONG_MAX +ULONG_MAX +LLONG_MIN +LLONG_MAX +ULLONG_MAX +B.10 Localization +struct lconv +NULL +LC_ALL +LC_COLLATE +LC_CTYPE +LC_MONETARY +LC_NUMERIC +LC_TIME +char *setlocale(int category, const char *locale); +struct lconv *localeconv(void); +B.11 Mathematics +float_t +double_t +HUGE_VAL +HUGE_VALF +HUGE_VALL +INFINITY +NAN +FP_INFINITE +FP_NAN +FP_NORMAL +FP_SUBNORMAL +FP_ZERO +FP_FAST_FMA +FP_FAST_FMAF +FP_FAST_FMAL +FP_ILOGB0 +FP_ILOGBNAN +MATH_ERRNO +MATH_ERREXCEPT +math_errhandling +#pragma STDC FP_CONTRACT on-off-switch +int fpclassify(real-floating x); +int isfinite(real-floating x); +int isinf(real-floating x); +int isnan(real-floating x); +int isnormal(real-floating x); +int signbit(real-floating x); +double acos(double x); +float acosf(float x); +long double acosl(long double x); +double asin(double x); +float asinf(float x); +long double asinl(long double x); +double atan(double x); +float atanf(float x); +long double atanl(long double x); +double atan2(double y, double x); +float atan2f(float y, float x); +long double atan2l(long double y, long double x); +double cos(double x); +float cosf(float x); +long double cosl(long double x); +double sin(double x); +float sinf(float x); +long double sinl(long double x); +double tan(double x); +float tanf(float x); +long double tanl(long double x); +double acosh(double x); +float acoshf(float x); +long double acoshl(long double x); +double asinh(double x); +float asinhf(float x); +long double asinhl(long double x); +double atanh(double x); +float atanhf(float x); +long double atanhl(long double x); +double cosh(double x); +float coshf(float x); +long double coshl(long double x); +double sinh(double x); +float sinhf(float x); +long double sinhl(long double x); +double tanh(double x); +float tanhf(float x); +long double tanhl(long double x); +double exp(double x); +float expf(float x); +long double expl(long double x); +double exp2(double x); +float exp2f(float x); +long double exp2l(long double x); +double expm1(double x); +float expm1f(float x); +long double expm1l(long double x); +double frexp(double value, int *exp); +float frexpf(float value, int *exp); +long double frexpl(long double value, int *exp); +int ilogb(double x); +int ilogbf(float x); +int ilogbl(long double x); +double ldexp(double x, int exp); +float ldexpf(float x, int exp); +long double ldexpl(long double x, int exp); +double log(double x); +float logf(float x); +long double logl(long double x); +double log10(double x); +float log10f(float x); +long double log10l(long double x); +double log1p(double x); +float log1pf(float x); +long double log1pl(long double x); +double log2(double x); +float log2f(float x); +long double log2l(long double x); +double logb(double x); +float logbf(float x); +long double logbl(long double x); +double modf(double value, double *iptr); +float modff(float value, float *iptr); +long double modfl(long double value, long double *iptr); +double scalbn(double x, int n); +float scalbnf(float x, int n); +long double scalbnl(long double x, int n); +double scalbln(double x, long int n); +float scalblnf(float x, long int n); +long double scalblnl(long double x, long int n); +double cbrt(double x); +float cbrtf(float x); +long double cbrtl(long double x); +double fabs(double x); +float fabsf(float x); +long double fabsl(long double x); +double hypot(double x, double y); +float hypotf(float x, float y); +long double hypotl(long double x, long double y); +double pow(double x, double y); +float powf(float x, float y); +long double powl(long double x, long double y); +double sqrt(double x); +float sqrtf(float x); +long double sqrtl(long double x); +double erf(double x); +float erff(float x); +long double erfl(long double x); +double erfc(double x); +float erfcf(float x); +long double erfcl(long double x); +double lgamma(double x); +float lgammaf(float x); +long double lgammal(long double x); +double tgamma(double x); +float tgammaf(float x); +long double tgammal(long double x); +double ceil(double x); +float ceilf(float x); +long double ceill(long double x); +double floor(double x); +float floorf(float x); +long double floorl(long double x); +double nearbyint(double x); +float nearbyintf(float x); +long double nearbyintl(long double x); +double rint(double x); +float rintf(float x); +long double rintl(long double x); +long int lrint(double x); +long int lrintf(float x); +long int lrintl(long double x); +long long int llrint(double x); +long long int llrintf(float x); +long long int llrintl(long double x); +double round(double x); +float roundf(float x); +long double roundl(long double x); +long int lround(double x); +long int lroundf(float x); +long int lroundl(long double x); +long long int llround(double x); +long long int llroundf(float x); +long long int llroundl(long double x); +double trunc(double x); +float truncf(float x); +long double truncl(long double x); +double fmod(double x, double y); +float fmodf(float x, float y); +long double fmodl(long double x, long double y); +double remainder(double x, double y); +float remainderf(float x, float y); +long double remainderl(long double x, long double y); +double remquo(double x, double y, int *quo); +float remquof(float x, float y, int *quo); +long double remquol(long double x, long double y, +int *quo); +double copysign(double x, double y); +float copysignf(float x, float y); +long double copysignl(long double x, long double y); +double nan(const char *tagp); +float nanf(const char *tagp); +long double nanl(const char *tagp); +double nextafter(double x, double y); +float nextafterf(float x, float y); +long double nextafterl(long double x, long double y); +double nexttoward(double x, long double y); +float nexttowardf(float x, long double y); +long double nexttowardl(long double x, long double y); +double fdim(double x, double y); +float fdimf(float x, float y); +long double fdiml(long double x, long double y); +double fmax(double x, double y); +float fmaxf(float x, float y); +long double fmaxl(long double x, long double y); +double fmin(double x, double y); +float fminf(float x, float y); +long double fminl(long double x, long double y); +double fma(double x, double y, double z); +float fmaf(float x, float y, float z); +long double fmal(long double x, long double y, +long double z); +int isgreater(real-floating x, real-floating y); +int isgreaterequal(real-floating x, real-floating y); +int isless(real-floating x, real-floating y); +int islessequal(real-floating x, real-floating y); +int islessgreater(real-floating x, real-floating y); +int isunordered(real-floating x, real-floating y); +B.12 Nonlocal jumps +jmp_buf +int setjmp(jmp_buf env); +_Noreturn void longjmp(jmp_buf env, int val); +B.13 Signal handling +sig_atomic_t +SIG_DFL +SIG_ERR +SIG_IGN +SIGABRT +SIGFPE +SIGILL +SIGINT +SIGSEGV +SIGTERM +void (*signal(int sig, void (*func)(int)))(int); +int raise(int sig); +B.14 Alignment +alignas +_ _alignas_is_defined +B.15 Variable arguments +va_list +type va_arg(va_list ap, type); +void va_copy(va_list dest, va_list src); +void va_end(va_list ap); +void va_start(va_list ap, parmN); +B.16 Atomics +ATOMIC_BOOL_LOCK_FREE +ATOMIC_CHAR_LOCK_FREE +ATOMIC_CHAR16_T_LOCK_FREE +ATOMIC_CHAR32_T_LOCK_FREE +ATOMIC_WCHAR_T_LOCK_FREE +ATOMIC_SHORT_LOCK_FREE +ATOMIC_INT_LOCK_FREE +ATOMIC_LONG_LOCK_FREE +ATOMIC_LLONG_LOCK_FREE +ATOMIC_POINTER_LOCK_FREE +ATOMIC_FLAG_INIT +memory_order +atomic_flag +memory_order_relaxed ∗ +memory_order_consume +memory_order_acquire +memory_order_release +memory_order_acq_rel +memory_order_seq_cst +atomic_bool +atomic_char +atomic_schar +atomic_uchar +atomic_short +atomic_ushort +atomic_int +atomic_uint +atomic_long +atomic_ulong +atomic_llong +atomic_ullong +atomic_char16_t +atomic_char32_t +atomic_wchar_t +atomic_int_least8_t +atomic_uint_least8_t +atomic_int_least16_t +atomic_uint_least16_t +atomic_int_least32_t +atomic_uint_least32_t +atomic_int_least64_t +atomic_uint_least64_t +atomic_int_fast8_t +atomic_uint_fast8_t +atomic_int_fast16_t +atomic_uint_fast16_t +atomic_int_fast32_t +atomic_uint_fast32_t +atomic_int_fast64_t +atomic_uint_fast64_t +atomic_intptr_t +atomic_uintptr_t +atomic_size_t +atomic_ptrdiff_t +atomic_intmax_t +atomic_uintmax_t +#define ATOMIC_VAR_INIT(C value) +void atomic_init(volatile A *obj, C value); +type kill_dependency(type y); +void atomic_thread_fence(memory_order order); +void atomic_signal_fence(memory_order order); +_Bool atomic_is_lock_free(const volatile A *obj); +void atomic_store(volatile A *object, C desired); +void atomic_store_explicit(volatile A *object, +C desired, memory_order order); +C atomic_load(volatile A *object); +C atomic_load_explicit(volatile A *object, +memory_order order); +C atomic_exchange(volatile A *object, C desired); +C atomic_exchange_explicit(volatile A *object, +C desired, memory_order order); +_Bool atomic_compare_exchange_strong(volatile A *object, +C *expected, C desired); +_Bool atomic_compare_exchange_strong_explicit( +volatile A *object, C *expected, C desired, +memory_order success, memory_order failure); +_Bool atomic_compare_exchange_weak(volatile A *object, +C *expected, C desired); +_Bool atomic_compare_exchange_weak_explicit( +volatile A *object, C *expected, C desired, +memory_order success, memory_order failure); +C atomic_fetch_key(volatile A *object, M operand); +C atomic_fetch_key_explicit(volatile A *object, +M operand, memory_order order); +_Bool atomic_flag_test_and_set( +volatile atomic_flag *object); +_Bool atomic_flag_test_and_set_explicit( +volatile atomic_flag *object, memory_order order); +void atomic_flag_clear(volatile atomic_flag *object); +void atomic_flag_clear_explicit( +volatile atomic_flag *object, memory_order order); +B.17 Boolean type and values +bool +true +false +_ _bool_true_false_are_defined +B.18 Common definitions +ptrdiff_t +size_t +max_align_t +wchar_t +NULL +offsetof(type, member-designator) +_ _STDC_WANT_LIB_EXT1_ _ +rsize_t +B.19 Integer types +intN_t +uintN_t +int_leastN_t +uint_leastN_t +int_fastN_t +uint_fastN_t +intptr_t +uintptr_t +intmax_t +uintmax_t +INTN_MIN +INTN_MAX +UINTN_MAX +INT_LEASTN_MIN +INT_LEASTN_MAX +UINT_LEASTN_MAX +INT_FASTN_MIN +INT_FASTN_MAX +UINT_FASTN_MAX +INTPTR_MIN +INTPTR_MAX +UINTPTR_MAX +INTMAX_MIN +INTMAX_MAX +UINTMAX_MAX +PTRDIFF_MIN +PTRDIFF_MAX +SIG_ATOMIC_MIN +SIG_ATOMIC_MAX +SIZE_MAX +WCHAR_MIN +WCHAR_MAX +WINT_MIN +WINT_MAX +INTN_C(value) +UINTN_C(value) +INTMAX_C(value) +UINTMAX_C(value) +_ _STDC_WANT_LIB_EXT1_ _ +RSIZE_MAX +B.20 Input/output +size_t +FILE +fpos_t +NULL +_IOFBF +_IOLBF +_IONBF +BUFSIZ +EOF +FOPEN_MAX +FILENAME_MAX +L_tmpnam +SEEK_CUR +SEEK_END +SEEK_SET +TMP_MAX +stderr +stdin +stdout +int remove(const char *filename); +int rename(const char *old, const char *new); +FILE *tmpfile(void); +char *tmpnam(char *s); +int fclose(FILE *stream); +int fflush(FILE *stream); +FILE *fopen(const char * restrict filename, +const char * restrict mode); +FILE *freopen(const char * restrict filename, +const char * restrict mode, +FILE * restrict stream); +void setbuf(FILE * restrict stream, +char * restrict buf); +int setvbuf(FILE * restrict stream, +char * restrict buf, +int mode, size_t size); +int fprintf(FILE * restrict stream, +const char * restrict format, ...); +int fscanf(FILE * restrict stream, +const char * restrict format, ...); +int printf(const char * restrict format, ...); +int scanf(const char * restrict format, ...); +int snprintf(char * restrict s, size_t n, +const char * restrict format, ...); +int sprintf(char * restrict s, +const char * restrict format, ...); +int sscanf(const char * restrict s, +const char * restrict format, ...); +int vfprintf(FILE * restrict stream, +const char * restrict format, va_list arg); +int vfscanf(FILE * restrict stream, +const char * restrict format, va_list arg); +int vprintf(const char * restrict format, va_list arg); +int vscanf(const char * restrict format, va_list arg); +int vsnprintf(char * restrict s, size_t n, +const char * restrict format, va_list arg); +int vsprintf(char * restrict s, +const char * restrict format, va_list arg); +int vsscanf(const char * restrict s, +const char * restrict format, va_list arg); +int fgetc(FILE *stream); +char *fgets(char * restrict s, int n, +FILE * restrict stream); +int fputc(int c, FILE *stream); +int fputs(const char * restrict s, +FILE * restrict stream); +int getc(FILE *stream); +int getchar(void); +int putc(int c, FILE *stream); +int putchar(int c); +int puts(const char *s); +int ungetc(int c, FILE *stream); +size_t fread(void * restrict ptr, +size_t size, size_t nmemb, +FILE * restrict stream); +size_t fwrite(const void * restrict ptr, +size_t size, size_t nmemb, +FILE * restrict stream); +int fgetpos(FILE * restrict stream, +fpos_t * restrict pos); +int fseek(FILE *stream, long int offset, int whence); +int fsetpos(FILE *stream, const fpos_t *pos); +long int ftell(FILE *stream); +void rewind(FILE *stream); +void clearerr(FILE *stream); +int feof(FILE *stream); +int ferror(FILE *stream); +void perror(const char *s); +_ _STDC_WANT_LIB_EXT1_ _ +L_tmpnam_s TMP_MAX_S errno_t rsize_t +errno_t tmpfile_s(FILE * restrict * restrict streamptr); +errno_t tmpnam_s(char *s, rsize_t maxsize); +errno_t fopen_s(FILE * restrict * restrict streamptr, +const char * restrict filename, +const char * restrict mode); +errno_t freopen_s(FILE * restrict * restrict newstreamptr, +const char * restrict filename, +const char * restrict mode, +FILE * restrict stream); +int fprintf_s(FILE * restrict stream, +const char * restrict format, ...); +int fscanf_s(FILE * restrict stream, +const char * restrict format, ...); +int printf_s(const char * restrict format, ...); +int scanf_s(const char * restrict format, ...); +int snprintf_s(char * restrict s, rsize_t n, +const char * restrict format, ...); +int sprintf_s(char * restrict s, rsize_t n, +const char * restrict format, ...); +int sscanf_s(const char * restrict s, +const char * restrict format, ...); +int vfprintf_s(FILE * restrict stream, +const char * restrict format, +va_list arg); +int vfscanf_s(FILE * restrict stream, +const char * restrict format, +va_list arg); +int vprintf_s(const char * restrict format, +va_list arg); +int vscanf_s(const char * restrict format, +va_list arg); +int vsnprintf_s(char * restrict s, rsize_t n, +const char * restrict format, +va_list arg); +int vsprintf_s(char * restrict s, rsize_t n, +const char * restrict format, +va_list arg); +int vsscanf_s(const char * restrict s, +const char * restrict format, +va_list arg); +char *gets_s(char *s, rsize_t n); +B.21 General utilities +size_t +wchar_t +div_t +ldiv_t +lldiv_t +NULL +EXIT_FAILURE +EXIT_SUCCESS +RAND_MAX +MB_CUR_MAX +double atof(const char *nptr); +int atoi(const char *nptr); +long int atol(const char *nptr); +long long int atoll(const char *nptr); +double strtod(const char * restrict nptr, +char ** restrict endptr); +float strtof(const char * restrict nptr, +char ** restrict endptr); +long double strtold(const char * restrict nptr, +char ** restrict endptr); +long int strtol(const char * restrict nptr, +char ** restrict endptr, int base); +long long int strtoll(const char * restrict nptr, +char ** restrict endptr, int base); +unsigned long int strtoul( +const char * restrict nptr, +char ** restrict endptr, int base); +unsigned long long int strtoull( +const char * restrict nptr, +char ** restrict endptr, int base); +int rand(void); +void srand(unsigned int seed); +void *aligned_alloc(size_t alignment, size_t size); +void *calloc(size_t nmemb, size_t size); +void free(void *ptr); +void *malloc(size_t size); +void *realloc(void *ptr, size_t size); +_Noreturn void abort(void); +int atexit(void (*func)(void)); +int at_quick_exit(void (*func)(void)); +_Noreturn void exit(int status); +_Noreturn void _Exit(int status); +char *getenv(const char *name); +_Noreturn void quick_exit(int status); +int system(const char *string); +void *bsearch(const void *key, const void *base, +size_t nmemb, size_t size, +int (*compar)(const void *, const void *)); +void qsort(void *base, size_t nmemb, size_t size, +int (*compar)(const void *, const void *)); +int abs(int j); +long int labs(long int j); +long long int llabs(long long int j); +div_t div(int numer, int denom); +ldiv_t ldiv(long int numer, long int denom); +lldiv_t lldiv(long long int numer, +long long int denom); +int mblen(const char *s, size_t n); +int mbtowc(wchar_t * restrict pwc, +const char * restrict s, size_t n); +int wctomb(char *s, wchar_t wchar); +size_t mbstowcs(wchar_t * restrict pwcs, +const char * restrict s, size_t n); +size_t wcstombs(char * restrict s, +const wchar_t * restrict pwcs, size_t n); +_ _STDC_WANT_LIB_EXT1_ _ +errno_t +rsize_t +constraint_handler_t +constraint_handler_t set_constraint_handler_s( +constraint_handler_t handler); +void abort_handler_s( +const char * restrict msg, +void * restrict ptr, +errno_t error); +void ignore_handler_s( +const char * restrict msg, +void * restrict ptr, +errno_t error); +errno_t getenv_s(size_t * restrict len, +char * restrict value, rsize_t maxsize, +const char * restrict name); +void *bsearch_s(const void *key, const void *base, +rsize_t nmemb, rsize_t size, +int (*compar)(const void *k, const void *y, +void *context), +void *context); +errno_t qsort_s(void *base, rsize_t nmemb, rsize_t size, +int (*compar)(const void *x, const void *y, +void *context), +void *context); +errno_t wctomb_s(int * restrict status, +char * restrict s, +rsize_t smax, +wchar_t wc); +errno_t mbstowcs_s(size_t * restrict retval, +wchar_t * restrict dst, rsize_t dstmax, +const char * restrict src, rsize_t len); +errno_t wcstombs_s(size_t * restrict retval, +char * restrict dst, rsize_t dstmax, +const wchar_t * restrict src, rsize_t len); +B.22 _Noreturn +noreturn +B.23 String handling +size_t +NULL +void *memcpy(void * restrict s1, +const void * restrict s2, size_t n); +void *memmove(void *s1, const void *s2, size_t n); +char *strcpy(char * restrict s1, +const char * restrict s2); +char *strncpy(char * restrict s1, +const char * restrict s2, size_t n); +char *strcat(char * restrict s1, +const char * restrict s2); +char *strncat(char * restrict s1, +const char * restrict s2, size_t n); +int memcmp(const void *s1, const void *s2, size_t n); +int strcmp(const char *s1, const char *s2); +int strcoll(const char *s1, const char *s2); +int strncmp(const char *s1, const char *s2, size_t n); +size_t strxfrm(char * restrict s1, +const char * restrict s2, size_t n); +void *memchr(const void *s, int c, size_t n); +char *strchr(const char *s, int c); +size_t strcspn(const char *s1, const char *s2); +char *strpbrk(const char *s1, const char *s2); +char *strrchr(const char *s, int c); +size_t strspn(const char *s1, const char *s2); +char *strstr(const char *s1, const char *s2); +char *strtok(char * restrict s1, +const char * restrict s2); +void *memset(void *s, int c, size_t n); +char *strerror(int errnum); +size_t strlen(const char *s); +_ _STDC_WANT_LIB_EXT1_ _ +errno_t +rsize_t +errno_t memcpy_s(void * restrict s1, rsize_t s1max, +const void * restrict s2, rsize_t n); +errno_t memmove_s(void *s1, rsize_t s1max, +const void *s2, rsize_t n); +errno_t strcpy_s(char * restrict s1, +rsize_t s1max, +const char * restrict s2); +errno_t strncpy_s(char * restrict s1, +rsize_t s1max, +const char * restrict s2, +rsize_t n); +errno_t strcat_s(char * restrict s1, +rsize_t s1max, +const char * restrict s2); +errno_t strncat_s(char * restrict s1, +rsize_t s1max, +const char * restrict s2, +rsize_t n); +char *strtok_s(char * restrict s1, +rsize_t * restrict s1max, +const char * restrict s2, +char ** restrict ptr); +errno_t memset_s(void *s, rsize_t smax, int c, rsize_t n); +errno_t strerror_s(char *s, rsize_t maxsize, +errno_t errnum); +size_t strerrorlen_s(errno_t errnum); +size_t strnlen_s(const char *s, size_t maxsize); +B.24 Type-generic math +acos +asin +atan +acosh +asinh +atanh +cos +sin +tan +cosh +sinh +tanh +exp +log +pow +sqrt +fabs +atan2 +cbrt +ceil +copysign +erf +erfc +exp2 +expm1 +fdim +floor +fma +fmax +fmin +fmod +frexp +hypot +ilogb +ldexp +lgamma +llrint +llround +log10 +log1p +log2 +logb +lrint +lround +nearbyint +nextafter +nexttoward +remainder +remquo +rint +round +scalbn +scalbln +tgamma +trunc +carg +cimag +conj +cproj +creal +B.25 Threads +thread_local +ONCE_FLAG_INIT +TSS_DTOR_ITERATIONS +cnd_t +thrd_t +tss_t +mtx_t +tss_dtor_t +thrd_start_t +once_flag +mtx_plain ∗ +mtx_recursive +mtx_timed +thrd_timedout +thrd_success +thrd_busy +thrd_error +thrd_nomem +void call_once(once_flag *flag, void (*func)(void)); +int cnd_broadcast(cnd_t *cond); +void cnd_destroy(cnd_t *cond); +int cnd_init(cnd_t *cond); +int cnd_signal(cnd_t *cond); +int cnd_timedwait(cnd_t *restrict cond, +mtx_t *restrict mtx, +const struct timespec *restrict ts); +int cnd_wait(cnd_t *cond, mtx_t *mtx); +void mtx_destroy(mtx_t *mtx); +int mtx_init(mtx_t *mtx, int type); +int mtx_lock(mtx_t *mtx); +int mtx_timedlock(mtx_t *restrict mtx, +const struct timespec *restrict ts); +int mtx_trylock(mtx_t *mtx); +int mtx_unlock(mtx_t *mtx); +int thrd_create(thrd_t *thr, thrd_start_t func, +void *arg); +thrd_t thrd_current(void); +int thrd_detach(thrd_t thr); +int thrd_equal(thrd_t thr0, thrd_t thr1); +_Noreturn void thrd_exit(int res); +int thrd_join(thrd_t thr, int *res); +int thrd_sleep(const struct timespec *duration, +struct timespec *remaining); +void thrd_yield(void); +int tss_create(tss_t *key, tss_dtor_t dtor); +void tss_delete(tss_t key); +void *tss_get(tss_t key); +int tss_set(tss_t key, void *val); +B.26 Date and time +NULL +CLOCKS_PER_SEC +TIME_UTC +size_t +clock_t +time_t +struct timespec +struct tm +clock_t clock(void); +double difftime(time_t time1, time_t time0); +time_t mktime(struct tm *timeptr); +time_t time(time_t *timer); +int timespec_get(timespec *ts, int base); +char *asctime(const struct tm *timeptr); +char *ctime(const time_t *timer); +struct tm *gmtime(const time_t *timer); +struct tm *localtime(const time_t *timer); +size_t strftime(char * restrict s, +size_t maxsize, +const char * restrict format, +const struct tm * restrict timeptr); +_ _STDC_WANT_LIB_EXT1_ _ +errno_t +rsize_t +errno_t asctime_s(char *s, rsize_t maxsize, +const struct tm *timeptr); +errno_t ctime_s(char *s, rsize_t maxsize, +const time_t *timer); +struct tm *gmtime_s(const time_t * restrict timer, +struct tm * restrict result); +struct tm *localtime_s(const time_t * restrict timer, +struct tm * restrict result); +B.27 Unicode utilities +mbstate_t size_t char16_t char32_t +size_t mbrtoc16(char16_t * restrict pc16, +const char * restrict s, size_t n, +mbstate_t * restrict ps); +size_t c16rtomb(char * restrict s, char16_t c16, +mbstate_t * restrict ps); +size_t mbrtoc32(char32_t * restrict pc32, +const char * restrict s, size_t n, +mbstate_t * restrict ps); +size_t c32rtomb(char * restrict s, char32_t c32, +mbstate_t * restrict ps); +B.28 Extended multibyte/wide character utilities +wchar_t +size_t +mbstate_t +wint_t +struct tm +NULL +WCHAR_MAX +WCHAR_MIN +WEOF +int fwprintf(FILE * restrict stream, +const wchar_t * restrict format, ...); +int fwscanf(FILE * restrict stream, +const wchar_t * restrict format, ...); +int swprintf(wchar_t * restrict s, size_t n, +const wchar_t * restrict format, ...); +int swscanf(const wchar_t * restrict s, +const wchar_t * restrict format, ...); +int vfwprintf(FILE * restrict stream, +const wchar_t * restrict format, va_list arg); +int vfwscanf(FILE * restrict stream, +const wchar_t * restrict format, va_list arg); +int vswprintf(wchar_t * restrict s, size_t n, +const wchar_t * restrict format, va_list arg); +int vswscanf(const wchar_t * restrict s, +const wchar_t * restrict format, va_list arg); +int vwprintf(const wchar_t * restrict format, +va_list arg); +int vwscanf(const wchar_t * restrict format, +va_list arg); +int wprintf(const wchar_t * restrict format, ...); +int wscanf(const wchar_t * restrict format, ...); +wint_t fgetwc(FILE *stream); +wchar_t *fgetws(wchar_t * restrict s, int n, +FILE * restrict stream); +wint_t fputwc(wchar_t c, FILE *stream); +int fputws(const wchar_t * restrict s, +FILE * restrict stream); +int fwide(FILE *stream, int mode); +wint_t getwc(FILE *stream); +wint_t getwchar(void); +wint_t putwc(wchar_t c, FILE *stream); +wint_t putwchar(wchar_t c); +wint_t ungetwc(wint_t c, FILE *stream); +double wcstod(const wchar_t * restrict nptr, +wchar_t ** restrict endptr); +float wcstof(const wchar_t * restrict nptr, +wchar_t ** restrict endptr); +long double wcstold(const wchar_t * restrict nptr, +wchar_t ** restrict endptr); +long int wcstol(const wchar_t * restrict nptr, +wchar_t ** restrict endptr, int base); +long long int wcstoll(const wchar_t * restrict nptr, +wchar_t ** restrict endptr, int base); +unsigned long int wcstoul(const wchar_t * restrict nptr, +wchar_t ** restrict endptr, int base); +unsigned long long int wcstoull( +const wchar_t * restrict nptr, +wchar_t ** restrict endptr, int base); +wchar_t *wcscpy(wchar_t * restrict s1, +const wchar_t * restrict s2); +wchar_t *wcsncpy(wchar_t * restrict s1, +const wchar_t * restrict s2, size_t n); +wchar_t *wmemcpy(wchar_t * restrict s1, +const wchar_t * restrict s2, size_t n); +wchar_t *wmemmove(wchar_t *s1, const wchar_t *s2, +size_t n); +wchar_t *wcscat(wchar_t * restrict s1, +const wchar_t * restrict s2); +wchar_t *wcsncat(wchar_t * restrict s1, +const wchar_t * restrict s2, size_t n); +int wcscmp(const wchar_t *s1, const wchar_t *s2); +int wcscoll(const wchar_t *s1, const wchar_t *s2); +int wcsncmp(const wchar_t *s1, const wchar_t *s2, +size_t n); +size_t wcsxfrm(wchar_t * restrict s1, +const wchar_t * restrict s2, size_t n); +int wmemcmp(const wchar_t *s1, const wchar_t *s2, +size_t n); +wchar_t *wcschr(const wchar_t *s, wchar_t c); +size_t wcscspn(const wchar_t *s1, const wchar_t *s2); +wchar_t *wcspbrk(const wchar_t *s1, const wchar_t *s2); +wchar_t *wcsrchr(const wchar_t *s, wchar_t c); +size_t wcsspn(const wchar_t *s1, const wchar_t *s2); +wchar_t *wcsstr(const wchar_t *s1, const wchar_t *s2); +wchar_t *wcstok(wchar_t * restrict s1, +const wchar_t * restrict s2, +wchar_t ** restrict ptr); +wchar_t *wmemchr(const wchar_t *s, wchar_t c, size_t n); +size_t wcslen(const wchar_t *s); +wchar_t *wmemset(wchar_t *s, wchar_t c, size_t n); +size_t wcsftime(wchar_t * restrict s, size_t maxsize, +const wchar_t * restrict format, +const struct tm * restrict timeptr); +wint_t btowc(int c); +int wctob(wint_t c); +int mbsinit(const mbstate_t *ps); +size_t mbrlen(const char * restrict s, size_t n, +mbstate_t * restrict ps); +size_t mbrtowc(wchar_t * restrict pwc, +const char * restrict s, size_t n, +mbstate_t * restrict ps); +size_t wcrtomb(char * restrict s, wchar_t wc, +mbstate_t * restrict ps); +size_t mbsrtowcs(wchar_t * restrict dst, +const char ** restrict src, size_t len, +mbstate_t * restrict ps); +size_t wcsrtombs(char * restrict dst, +const wchar_t ** restrict src, size_t len, +mbstate_t * restrict ps); +_ _STDC_WANT_LIB_EXT1_ _ +errno_t +rsize_t +int fwprintf_s(FILE * restrict stream, +const wchar_t * restrict format, ...); +int fwscanf_s(FILE * restrict stream, +const wchar_t * restrict format, ...); +int snwprintf_s(wchar_t * restrict s, +rsize_t n, +const wchar_t * restrict format, ...); +int swprintf_s(wchar_t * restrict s, rsize_t n, +const wchar_t * restrict format, ...); +int swscanf_s(const wchar_t * restrict s, +const wchar_t * restrict format, ...); +int vfwprintf_s(FILE * restrict stream, +const wchar_t * restrict format, +va_list arg); +int vfwscanf_s(FILE * restrict stream, +const wchar_t * restrict format, va_list arg); +int vsnwprintf_s(wchar_t * restrict s, +rsize_t n, +const wchar_t * restrict format, +va_list arg); +int vswprintf_s(wchar_t * restrict s, +rsize_t n, +const wchar_t * restrict format, +va_list arg); +int vswscanf_s(const wchar_t * restrict s, +const wchar_t * restrict format, +va_list arg); +int vwprintf_s(const wchar_t * restrict format, +va_list arg); +int vwscanf_s(const wchar_t * restrict format, +va_list arg); +int wprintf_s(const wchar_t * restrict format, ...); +int wscanf_s(const wchar_t * restrict format, ...); +errno_t wcscpy_s(wchar_t * restrict s1, +rsize_t s1max, +const wchar_t * restrict s2); +errno_t wcsncpy_s(wchar_t * restrict s1, +rsize_t s1max, +const wchar_t * restrict s2, +rsize_t n); +errno_t wmemcpy_s(wchar_t * restrict s1, +rsize_t s1max, +const wchar_t * restrict s2, +rsize_t n); +errno_t wmemmove_s(wchar_t *s1, rsize_t s1max, +const wchar_t *s2, rsize_t n); +errno_t wcscat_s(wchar_t * restrict s1, +rsize_t s1max, +const wchar_t * restrict s2); +errno_t wcsncat_s(wchar_t * restrict s1, +rsize_t s1max, +const wchar_t * restrict s2, +rsize_t n); +wchar_t *wcstok_s(wchar_t * restrict s1, +rsize_t * restrict s1max, +const wchar_t * restrict s2, +wchar_t ** restrict ptr); +size_t wcsnlen_s(const wchar_t *s, size_t maxsize); +errno_t wcrtomb_s(size_t * restrict retval, +char * restrict s, rsize_t smax, +wchar_t wc, mbstate_t * restrict ps); +errno_t mbsrtowcs_s(size_t * restrict retval, +wchar_t * restrict dst, rsize_t dstmax, +const char ** restrict src, rsize_t len, +mbstate_t * restrict ps); +errno_t wcsrtombs_s(size_t * restrict retval, +char * restrict dst, rsize_t dstmax, +const wchar_t ** restrict src, rsize_t len, +mbstate_t * restrict ps); +B.29 Wide character classification and mapping utilities +wint_t wctrans_t wctype_t WEOF +int iswalnum(wint_t wc); +int iswalpha(wint_t wc); +int iswblank(wint_t wc); +int iswcntrl(wint_t wc); +int iswdigit(wint_t wc); +int iswgraph(wint_t wc); +int iswlower(wint_t wc); +int iswprint(wint_t wc); +int iswpunct(wint_t wc); +int iswspace(wint_t wc); +int iswupper(wint_t wc); +int iswxdigit(wint_t wc); +int iswctype(wint_t wc, wctype_t desc); +wctype_t wctype(const char *property); +wint_t towlower(wint_t wc); +wint_t towupper(wint_t wc); +wint_t towctrans(wint_t wc, wctrans_t desc); +wctrans_t wctrans(const char *property); \ No newline at end of file diff --git a/scripts/generate_standard_library_models/c/c99.txt b/scripts/generate_standard_library_models/c/c99.txt new file mode 100644 index 0000000000..10d376ca1b --- /dev/null +++ b/scripts/generate_standard_library_models/c/c99.txt @@ -0,0 +1,886 @@ +B.1 Diagnostics +NDEBUG +void assert(scalar expression); +B.2 Complex +complex +_Complex_I +imaginary +_Imaginary_I +I +#pragma STDC CX_LIMITED_RANGE on-off-switch +double complex cacos(double complex z); +float complex cacosf(float complex z); +long double complex cacosl(long double complex z); +double complex casin(double complex z); +float complex casinf(float complex z); +long double complex casinl(long double complex z); +double complex catan(double complex z); +float complex catanf(float complex z); +long double complex catanl(long double complex z); +double complex ccos(double complex z); +float complex ccosf(float complex z); +long double complex ccosl(long double complex z); +double complex csin(double complex z); +float complex csinf(float complex z); +long double complex csinl(long double complex z); +double complex ctan(double complex z); +float complex ctanf(float complex z); +long double complex ctanl(long double complex z); +double complex cacosh(double complex z); +float complex cacoshf(float complex z); +long double complex cacoshl(long double complex z); +double complex casinh(double complex z); +float complex casinhf(float complex z); +long double complex casinhl(long double complex z); +double complex catanh(double complex z); +float complex catanhf(float complex z); +long double complex catanhl(long double complex z); +double complex ccosh(double complex z); +float complex ccoshf(float complex z); +long double complex ccoshl(long double complex z); +double complex csinh(double complex z); +float complex csinhf(float complex z); +long double complex csinhl(long double complex z); +double complex ctanh(double complex z); +float complex ctanhf(float complex z); +long double complex ctanhl(long double complex z); +double complex cexp(double complex z); +float complex cexpf(float complex z); +long double complex cexpl(long double complex z); +double complex clog(double complex z); +float complex clogf(float complex z); +long double complex clogl(long double complex z); +double cabs(double complex z); +float cabsf(float complex z); +long double cabsl(long double complex z); +double complex cpow(double complex x, double complex y); +float complex cpowf(float complex x, float complex y); +long double complex cpowl(long double complex x, +long double complex y); +double complex csqrt(double complex z); +float complex csqrtf(float complex z); +long double complex csqrtl(long double complex z); +double carg(double complex z); +float cargf(float complex z); +long double cargl(long double complex z); +double cimag(double complex z); +float cimagf(float complex z); +long double cimagl(long double complex z); +double complex conj(double complex z); +float complex conjf(float complex z); +long double complex conjl(long double complex z); +double complex cproj(double complex z); +float complex cprojf(float complex z); +long double complex cprojl(long double complex z); +double creal(double complex z); +float crealf(float complex z); +long double creall(long double complex z); +B.3 Character handling +int isalnum(int c); +int isalpha(int c); +int isblank(int c); +int iscntrl(int c); +int isdigit(int c); +int isgraph(int c); +int islower(int c); +int isprint(int c); +int ispunct(int c); +int isspace(int c); +int isupper(int c); +int isxdigit(int c); +int tolower(int c); +int toupper(int c); +B.4 Errors +EDOM EILSEQ ERANGE errno +B.5 Floating-point environment +fenv_t +fexcept_t +FE_DIVBYZERO +FE_INEXACT +FE_INVALID +FE_OVERFLOW +FE_UNDERFLOW +FE_ALL_EXCEPT +FE_DOWNWARD +FE_TONEAREST +FE_TOWARDZERO +FE_UPWARD +FE_DFL_ENV +#pragma STDC FENV_ACCESS on-off-switch +int feclearexcept(int excepts); +int fegetexceptflag(fexcept_t *flagp, int excepts); +int feraiseexcept(int excepts); +int fesetexceptflag(const fexcept_t *flagp, +int excepts); +int fetestexcept(int excepts); +int fegetround(void); +int fesetround(int round); +int fegetenv(fenv_t *envp); +int feholdexcept(fenv_t *envp); +int fesetenv(const fenv_t *envp); +int feupdateenv(const fenv_t *envp); +B.6 Characteristics of floating types +FLT_ROUNDS +FLT_EVAL_METHOD +FLT_RADIX +FLT_MANT_DIG +DBL_MANT_DIG +LDBL_MANT_DIG +DECIMAL_DIG +FLT_DIG +DBL_DIG +LDBL_DIG +FLT_MIN_EXP +DBL_MIN_EXP +LDBL_MIN_EXP +FLT_MIN_10_EXP +DBL_MIN_10_EXP +LDBL_MIN_10_EXP +FLT_MAX_EXP +DBL_MAX_EXP +LDBL_MAX_EXP +FLT_MAX_10_EXP +DBL_MAX_10_EXP +LDBL_MAX_10_EXP +FLT_MAX +DBL_MAX +LDBL_MAX +FLT_EPSILON +DBL_EPSILON +LDBL_EPSILON +FLT_MIN +DBL_MIN +LDBL_MIN +B.7 Format conversion of integer types +imaxdiv_t +PRIdN PRIdLEASTN PRIdFASTN PRIdMAX PRIdPTR +PRIiN PRIiLEASTN PRIiFASTN PRIiMAX PRIiPTR +PRIoN PRIoLEASTN PRIoFASTN PRIoMAX PRIoPTR +PRIuN PRIuLEASTN PRIuFASTN PRIuMAX PRIuPTR +PRIxN PRIxLEASTN PRIxFASTN PRIxMAX PRIxPTR +PRIXN PRIXLEASTN PRIXFASTN PRIXMAX PRIXPTR +SCNdN SCNdLEASTN SCNdFASTN SCNdMAX SCNdPTR +SCNiN SCNiLEASTN SCNiFASTN SCNiMAX SCNiPTR +SCNoN SCNoLEASTN SCNoFASTN SCNoMAX SCNoPTR +SCNuN SCNuLEASTN SCNuFASTN SCNuMAX SCNuPTR +SCNxN SCNxLEASTN SCNxFASTN SCNxMAX SCNxPTR +intmax_t imaxabs(intmax_t j); +imaxdiv_t imaxdiv(intmax_t numer, intmax_t denom); +intmax_t strtoimax(const char * restrict nptr, +char ** restrict endptr, int base); +uintmax_t strtoumax(const char * restrict nptr, +char ** restrict endptr, int base); +intmax_t wcstoimax(const wchar_t * restrict nptr, +wchar_t ** restrict endptr, int base); +uintmax_t wcstoumax(const wchar_t * restrict nptr, +wchar_t ** restrict endptr, int base); +B.8 Alternative spellings +and +and_eq +bitand +bitor +compl +not +not_eq +or +or_eq +xor +xor_eq +B.9 Sizes of integer types +CHAR_BIT +SCHAR_MIN +SCHAR_MAX +UCHAR_MAX +CHAR_MIN +CHAR_MAX +MB_LEN_MAX +SHRT_MIN +SHRT_MAX +USHRT_MAX +INT_MIN +INT_MAX +UINT_MAX +LONG_MIN +LONG_MAX +B.10 Localization +struct lconv +NULL +LC_ALL +LC_COLLATE +LC_CTYPE +LC_MONETARY +LC_NUMERIC +LC_TIME +char *setlocale(int category, const char *locale); +struct lconv *localeconv(void); +B.11 Mathematics +float_t +double_t +HUGE_VAL +HUGE_VALF +HUGE_VALL +INFINITY +NAN +FP_INFINITE +FP_NAN +FP_NORMAL +FP_SUBNORMAL +FP_ZERO +FP_FAST_FMA +FP_FAST_FMAF +FP_FAST_FMAL +FP_ILOGB0 +FP_ILOGBNAN +MATH_ERRNO +MATH_ERREXCEPT +math_errhandling +#pragma STDC FP_CONTRACT on-off-switch +int fpclassify(real-floating x); +int isfinite(real-floating x); +int isinf(real-floating x); +int isnan(real-floating x); +int isnormal(real-floating x); +int signbit(real-floating x); +double acos(double x); +float acosf(float x); +long double acosl(long double x); +double asin(double x); +float asinf(float x); +long double asinl(long double x); +double atan(double x); +float atanf(float x); +long double atanl(long double x); +double atan2(double y, double x); +float atan2f(float y, float x); +long double atan2l(long double y, long double x); +double cos(double x); +float cosf(float x); +long double cosl(long double x); +double sin(double x); +float sinf(float x); +long double sinl(long double x); +double tan(double x); +float tanf(float x); +long double tanl(long double x); +double acosh(double x); +float acoshf(float x); +long double acoshl(long double x); +double asinh(double x); +float asinhf(float x); +long double asinhl(long double x); +double atanh(double x); +float atanhf(float x); +long double atanhl(long double x); +double cosh(double x); +float coshf(float x); +long double coshl(long double x); +double sinh(double x); +float sinhf(float x); +long double sinhl(long double x); +double tanh(double x); +float tanhf(float x); +long double tanhl(long double x); +double exp(double x); +float expf(float x); +long double expl(long double x); +double exp2(double x); +float exp2f(float x); +long double exp2l(long double x); +double expm1(double x); +float expm1f(float x); +long double expm1l(long double x); +double frexp(double value, int *exp); +float frexpf(float value, int *exp); +long double frexpl(long double value, int *exp); +int ilogb(double x); +int ilogbf(float x); +int ilogbl(long double x); +double ldexp(double x, int exp); +float ldexpf(float x, int exp); +long double ldexpl(long double x, int exp); +double log(double x); +float logf(float x); +long double logl(long double x); +double log10(double x); +float log10f(float x); +long double log10l(long double x); +double log1p(double x); +float log1pf(float x); +long double log1pl(long double x); +double log2(double x); +float log2f(float x); +long double log2l(long double x); +double logb(double x); +float logbf(float x); +long double logbl(long double x); +double modf(double value, double *iptr); +float modff(float value, float *iptr); +long double modfl(long double value, long double *iptr); +double scalbn(double x, int n); +float scalbnf(float x, int n); +long double scalbnl(long double x, int n); +double scalbln(double x, long int n); +float scalblnf(float x, long int n); +long double scalblnl(long double x, long int n); +double cbrt(double x); +float cbrtf(float x); +long double cbrtl(long double x); +double fabs(double x); +float fabsf(float x); +long double fabsl(long double x); +double hypot(double x, double y); +float hypotf(float x, float y); +long double hypotl(long double x, long double y); +double pow(double x, double y); +float powf(float x, float y); +long double powl(long double x, long double y); +double sqrt(double x); +float sqrtf(float x); +long double sqrtl(long double x); +double erf(double x); +float erff(float x); +long double erfl(long double x); +double erfc(double x); +float erfcf(float x); +long double erfcl(long double x); +double lgamma(double x); +float lgammaf(float x); +long double lgammal(long double x); +double tgamma(double x); +float tgammaf(float x); +long double tgammal(long double x); +double ceil(double x); +float ceilf(float x); +long double ceill(long double x); +double floor(double x); +float floorf(float x); +long double floorl(long double x); +double nearbyint(double x); +float nearbyintf(float x); +long double nearbyintl(long double x); +double rint(double x); +float rintf(float x); +long double rintl(long double x); +long int lrint(double x); +long int lrintf(float x); +long int lrintl(long double x); +long long int llrint(double x); +long long int llrintf(float x); +long long int llrintl(long double x); +double round(double x); +float roundf(float x); +long double roundl(long double x); +long int lround(double x); +long int lroundf(float x); +long int lroundl(long double x); +long long int llround(double x); +long long int llroundf(float x); +long long int llroundl(long double x); +double trunc(double x); +float truncf(float x); +long double truncl(long double x); +double fmod(double x, double y); +float fmodf(float x, float y); +long double fmodl(long double x, long double y); +double remainder(double x, double y); +float remainderf(float x, float y); +long double remainderl(long double x, long double y); +double remquo(double x, double y, int *quo); +float remquof(float x, float y, int *quo); +long double remquol(long double x, long double y, +int *quo); +double copysign(double x, double y); +float copysignf(float x, float y); +long double copysignl(long double x, long double y); +double nan(const char *tagp); +float nanf(const char *tagp); +long double nanl(const char *tagp); +double nextafter(double x, double y); +float nextafterf(float x, float y); +long double nextafterl(long double x, long double y); +double nexttoward(double x, long double y); +float nexttowardf(float x, long double y); +long double nexttowardl(long double x, long double y); +double fdim(double x, double y); +float fdimf(float x, float y); +long double fdiml(long double x, long double y); +double fmax(double x, double y); +float fmaxf(float x, float y); +long double fmaxl(long double x, long double y); +double fmin(double x, double y); +float fminf(float x, float y); +long double fminl(long double x, long double y); +double fma(double x, double y, double z); +float fmaf(float x, float y, float z); +long double fmal(long double x, long double y, +long double z); +int isgreater(real-floating x, real-floating y); +int isgreaterequal(real-floating x, real-floating y); +int isless(real-floating x, real-floating y); +int islessequal(real-floating x, real-floating y); +int islessgreater(real-floating x, real-floating y); +int isunordered(real-floating x, real-floating y); +B.12 Nonlocal jumps +jmp_buf +int setjmp(jmp_buf env); +void longjmp(jmp_buf env, int val); +B.13 Signal handling +sig_atomic_t +SIG_DFL +SIG_ERR +SIG_IGN +SIGABRT +SIGFPE +SIGILL +SIGINT +SIGSEGV +SIGTERM +void (*signal(int sig, void (*func)(int)))(int); +int raise(int sig); +B.14 Variable arguments +va_list +type va_arg(va_list ap, type); +void va_copy(va_list dest, va_list src); +void va_end(va_list ap); +void va_start(va_list ap, parmN); +B.15 Boolean type and values +bool +true +false +_ _bool_true_false_are_defined +B.16 Common definitions +ptrdiff_t size_t wchar_t NULL +offsetof(type, member-designator) +B.17 Integer types +intN_t +uintN_t +int_leastN_t +uint_leastN_t +int_fastN_t +uint_fastN_t +intptr_t +uintptr_t +intmax_t +uintmax_t +INTN_MIN +INTN_MAX +UINTN_MAX +INT_LEASTN_MIN +INT_LEASTN_MAX +UINT_LEASTN_MAX +INT_FASTN_MIN +INT_FASTN_MAX +UINT_FASTN_MAX +INTPTR_MIN +INTPTR_MAX +UINTPTR_MAX +INTMAX_MIN +INTMAX_MAX +UINTMAX_MAX +PTRDIFF_MIN +PTRDIFF_MAX +SIG_ATOMIC_MIN +SIG_ATOMIC_MAX +SIZE_MAX +WCHAR_MIN +WCHAR_MAX +WINT_MIN +WINT_MAX +INTN_C(value) +UINTN_C(value) +INTMAX_C(value) +UINTMAX_C(value) +B.18 Input/output +size_t +FILE +fpos_t +NULL +_IOFBF +_IOLBF +_IONBF +BUFSIZ +EOF +FOPEN_MAX +FILENAME_MAX +L_tmpnam +SEEK_CUR +SEEK_END +SEEK_SET +TMP_MAX +stderr +stdin +stdout +int remove(const char *filename); +int rename(const char *old, const char *new); +FILE *tmpfile(void); +char *tmpnam(char *s); +int fclose(FILE *stream); +int fflush(FILE *stream); +FILE *fopen(const char * restrict filename, +const char * restrict mode); +FILE *freopen(const char * restrict filename, +const char * restrict mode, +FILE * restrict stream); +void setbuf(FILE * restrict stream, +char * restrict buf); +int setvbuf(FILE * restrict stream, +char * restrict buf, +int mode, size_t size); +int fprintf(FILE * restrict stream, +const char * restrict format, ...); +int fscanf(FILE * restrict stream, +const char * restrict format, ...); +int printf(const char * restrict format, ...); +int scanf(const char * restrict format, ...); +int snprintf(char * restrict s, size_t n, +const char * restrict format, ...); +int sprintf(char * restrict s, +const char * restrict format, ...); +int sscanf(const char * restrict s, +const char * restrict format, ...); +int vfprintf(FILE * restrict stream, +const char * restrict format, va_list arg); +int vfscanf(FILE * restrict stream, +const char * restrict format, va_list arg); +int vprintf(const char * restrict format, va_list arg); +int vscanf(const char * restrict format, va_list arg); +int vsnprintf(char * restrict s, size_t n, +const char * restrict format, va_list arg); +int vsprintf(char * restrict s, +const char * restrict format, va_list arg); +int vsscanf(const char * restrict s, +const char * restrict format, va_list arg); +int fgetc(FILE *stream); +char *fgets(char * restrict s, int n, +FILE * restrict stream); +int fputc(int c, FILE *stream); +int fputs(const char * restrict s, +FILE * restrict stream); +int getc(FILE *stream); +int getchar(void); +char *gets(char *s); +int putc(int c, FILE *stream); +int putchar(int c); +int puts(const char *s); +int ungetc(int c, FILE *stream); +size_t fread(void * restrict ptr, +size_t size, size_t nmemb, +FILE * restrict stream); +size_t fwrite(const void * restrict ptr, +size_t size, size_t nmemb, +FILE * restrict stream); +int fgetpos(FILE * restrict stream, +fpos_t * restrict pos); +int fseek(FILE *stream, long int offset, int whence); +int fsetpos(FILE *stream, const fpos_t *pos); +long int ftell(FILE *stream); +void rewind(FILE *stream); +void clearerr(FILE *stream); +int feof(FILE *stream); +int ferror(FILE *stream); +void perror(const char *s); +B.19 General utilities +size_t +wchar_t +div_t +ldiv_t +lldiv_t +NULL +EXIT_FAILURE +EXIT_SUCCESS +RAND_MAX +MB_CUR_MAX +double atof(const char *nptr); +int atoi(const char *nptr); +long int atol(const char *nptr); +long long int atoll(const char *nptr); +double strtod(const char * restrict nptr, +char ** restrict endptr); +float strtof(const char * restrict nptr, +char ** restrict endptr); +long double strtold(const char * restrict nptr, +char ** restrict endptr); +long int strtol(const char * restrict nptr, +char ** restrict endptr, int base); +long long int strtoll(const char * restrict nptr, +char ** restrict endptr, int base); +unsigned long int strtoul( +const char * restrict nptr, +char ** restrict endptr, int base); +unsigned long long int strtoull( +const char * restrict nptr, +char ** restrict endptr, int base); +int rand(void); +void srand(unsigned int seed); +void *calloc(size_t nmemb, size_t size); +void free(void *ptr); +void *malloc(size_t size); +void *realloc(void *ptr, size_t size); +void abort(void); +int atexit(void (*func)(void)); +void exit(int status); +void _Exit(int status); +char *getenv(const char *name); +int system(const char *string); +void *bsearch(const void *key, const void *base, +size_t nmemb, size_t size, +int (*compar)(const void *, const void *)); +void qsort(void *base, size_t nmemb, size_t size, +int (*compar)(const void *, const void *)); +int abs(int j); +long int labs(long int j); +long long int llabs(long long int j); +div_t div(int numer, int denom); +ldiv_t ldiv(long int numer, long int denom); +lldiv_t lldiv(long long int numer, +long long int denom); +int mblen(const char *s, size_t n); +int mbtowc(wchar_t * restrict pwc, +const char * restrict s, size_t n); +int wctomb(char *s, wchar_t wchar); +size_t mbstowcs(wchar_t * restrict pwcs, +const char * restrict s, size_t n); +size_t wcstombs(char * restrict s, +const wchar_t * restrict pwcs, size_t n); +B.20 String handling +size_t +NULL +void *memcpy(void * restrict s1, +const void * restrict s2, size_t n); +void *memmove(void *s1, const void *s2, size_t n); +char *strcpy(char * restrict s1, +const char * restrict s2); +char *strncpy(char * restrict s1, +const char * restrict s2, size_t n); +char *strcat(char * restrict s1, +const char * restrict s2); +char *strncat(char * restrict s1, +const char * restrict s2, size_t n); +int memcmp(const void *s1, const void *s2, size_t n); +int strcmp(const char *s1, const char *s2); +int strcoll(const char *s1, const char *s2); +int strncmp(const char *s1, const char *s2, size_t n); +size_t strxfrm(char * restrict s1, +const char * restrict s2, size_t n); +void *memchr(const void *s, int c, size_t n); +char *strchr(const char *s, int c); +size_t strcspn(const char *s1, const char *s2); +char *strpbrk(const char *s1, const char *s2); +char *strrchr(const char *s, int c); +size_t strspn(const char *s1, const char *s2); +char *strstr(const char *s1, const char *s2); +char *strtok(char * restrict s1, +const char * restrict s2); +void *memset(void *s, int c, size_t n); +char *strerror(int errnum); +size_t strlen(const char *s); +B.21 Type-generic math +acos +asin +atan +acosh +asinh +atanh +cos +sin +tan +cosh +sinh +tanh +exp +log +pow +sqrt +fabs +atan2 +cbrt +ceil +copysign +erf +erfc +exp2 +expm1 +fdim +floor +fma +fmax +fmin +fmod +frexp +hypot +ilogb +ldexp +lgamma +llrint +llround +log10 +log1p +log2 +logb +lrint +lround +nearbyint +nextafter +nexttoward +remainder +remquo +rint +round +scalbn +scalbln +tgamma +trunc +carg +cimag +conj +cproj +creal +B.22 Date and time +NULL +CLOCKS_PER_SEC +size_t +clock_t +time_t +struct tm +clock_t clock(void); +double difftime(time_t time1, time_t time0); +time_t mktime(struct tm *timeptr); +time_t time(time_t *timer); +char *asctime(const struct tm *timeptr); +char *ctime(const time_t *timer); +struct tm *gmtime(const time_t *timer); +struct tm *localtime(const time_t *timer); +size_t strftime(char * restrict s, +size_t maxsize, +const char * restrict format, +const struct tm * restrict timeptr); +B.23 Extended multibyte/wide character utilities +wchar_t +size_t +mbstate_t +wint_t +struct tm +NULL +WCHAR_MAX +WCHAR_MIN +WEOF +int fwprintf(FILE * restrict stream, +const wchar_t * restrict format, ...); +int fwscanf(FILE * restrict stream, +const wchar_t * restrict format, ...); +int swprintf(wchar_t * restrict s, size_t n, +const wchar_t * restrict format, ...); +int swscanf(const wchar_t * restrict s, +const wchar_t * restrict format, ...); +int vfwprintf(FILE * restrict stream, +const wchar_t * restrict format, va_list arg); +int vfwscanf(FILE * restrict stream, +const wchar_t * restrict format, va_list arg); +int vswprintf(wchar_t * restrict s, size_t n, +const wchar_t * restrict format, va_list arg); +int vswscanf(const wchar_t * restrict s, +const wchar_t * restrict format, va_list arg); +int vwprintf(const wchar_t * restrict format, +va_list arg); +int vwscanf(const wchar_t * restrict format, +va_list arg); +int wprintf(const wchar_t * restrict format, ...); +int wscanf(const wchar_t * restrict format, ...); +wint_t fgetwc(FILE *stream); +wchar_t *fgetws(wchar_t * restrict s, int n, +FILE * restrict stream); +wint_t fputwc(wchar_t c, FILE *stream); +int fputws(const wchar_t * restrict s, +FILE * restrict stream); +int fwide(FILE *stream, int mode); +wint_t getwc(FILE *stream); +wint_t getwchar(void); +wint_t putwc(wchar_t c, FILE *stream); +wint_t putwchar(wchar_t c); +wint_t ungetwc(wint_t c, FILE *stream); +double wcstod(const wchar_t * restrict nptr, +wchar_t ** restrict endptr); +float wcstof(const wchar_t * restrict nptr, +wchar_t ** restrict endptr); +long double wcstold(const wchar_t * restrict nptr, +wchar_t ** restrict endptr); +long int wcstol(const wchar_t * restrict nptr, +wchar_t ** restrict endptr, int base); +long long int wcstoll(const wchar_t * restrict nptr, +wchar_t ** restrict endptr, int base); +unsigned long int wcstoul(const wchar_t * restrict nptr, +wchar_t ** restrict endptr, int base); +unsigned long long int wcstoull( +const wchar_t * restrict nptr, +wchar_t ** restrict endptr, int base); +wchar_t *wcscpy(wchar_t * restrict s1, +const wchar_t * restrict s2); +wchar_t *wcsncpy(wchar_t * restrict s1, +const wchar_t * restrict s2, size_t n); +wchar_t *wmemcpy(wchar_t * restrict s1, +const wchar_t * restrict s2, size_t n); +wchar_t *wmemmove(wchar_t *s1, const wchar_t *s2, +size_t n); +wchar_t *wcscat(wchar_t * restrict s1, +const wchar_t * restrict s2); +wchar_t *wcsncat(wchar_t * restrict s1, +const wchar_t * restrict s2, size_t n); +int wcscmp(const wchar_t *s1, const wchar_t *s2); +int wcscoll(const wchar_t *s1, const wchar_t *s2); +int wcsncmp(const wchar_t *s1, const wchar_t *s2, +size_t n); +size_t wcsxfrm(wchar_t * restrict s1, +const wchar_t * restrict s2, size_t n); +int wmemcmp(const wchar_t *s1, const wchar_t *s2, +size_t n); +wchar_t *wcschr(const wchar_t *s, wchar_t c); +size_t wcscspn(const wchar_t *s1, const wchar_t *s2); +wchar_t *wcspbrk(const wchar_t *s1, const wchar_t *s2); ∗ +wchar_t *wcsrchr(const wchar_t *s, wchar_t c); +size_t wcsspn(const wchar_t *s1, const wchar_t *s2); +wchar_t *wcsstr(const wchar_t *s1, const wchar_t *s2); +wchar_t *wcstok(wchar_t * restrict s1, +const wchar_t * restrict s2, +wchar_t ** restrict ptr); +wchar_t *wmemchr(const wchar_t *s, wchar_t c, size_t n); +size_t wcslen(const wchar_t *s); +wchar_t *wmemset(wchar_t *s, wchar_t c, size_t n); +size_t wcsftime(wchar_t * restrict s, size_t maxsize, +const wchar_t * restrict format, +const struct tm * restrict timeptr); +wint_t btowc(int c); +int wctob(wint_t c); +int mbsinit(const mbstate_t *ps); +size_t mbrlen(const char * restrict s, size_t n, +mbstate_t * restrict ps); +size_t mbrtowc(wchar_t * restrict pwc, +const char * restrict s, size_t n, +mbstate_t * restrict ps); +size_t wcrtomb(char * restrict s, wchar_t wc, +mbstate_t * restrict ps); +size_t mbsrtowcs(wchar_t * restrict dst, +const char ** restrict src, size_t len, +mbstate_t * restrict ps); +size_t wcsrtombs(char * restrict dst, +const wchar_t ** restrict src, size_t len, +mbstate_t * restrict ps); +B.24 Wide character classification and mapping utilities +wint_t wctrans_t wctype_t WEOF +int iswalnum(wint_t wc); +int iswalpha(wint_t wc); +int iswblank(wint_t wc); +int iswcntrl(wint_t wc); +int iswdigit(wint_t wc); +int iswgraph(wint_t wc); +int iswlower(wint_t wc); +int iswprint(wint_t wc); +int iswpunct(wint_t wc); +int iswspace(wint_t wc); +int iswupper(wint_t wc); +int iswxdigit(wint_t wc); +int iswctype(wint_t wc, wctype_t desc); +wctype_t wctype(const char *property); +wint_t towlower(wint_t wc); +wint_t towupper(wint_t wc); +wint_t towctrans(wint_t wc, wctrans_t desc); +wctrans_t wctrans(const char *property); \ No newline at end of file diff --git a/scripts/generate_standard_library_models/c/generate_c_standard_library_models.py b/scripts/generate_standard_library_models/c/generate_c_standard_library_models.py new file mode 100644 index 0000000000..0f6d5844ca --- /dev/null +++ b/scripts/generate_standard_library_models/c/generate_c_standard_library_models.py @@ -0,0 +1,201 @@ +from argparse import ArgumentParser +from pathlib import Path +import re +import yaml + +help_statement = """ +A tool for generating models-as-data file for a specified C Standard Library. + +The input file should contain the list of APIs copied from Appendix B of the C Standard Library document. + +The output file will be a models-as-data file that can be used to extend the codeql/common-cpp-coding-standards pack. +""" + +parser = ArgumentParser(description=help_statement) + +parser.add_argument( + "standard", help="the C Standard Library version the model is being generated for (e.g. C99, C11)") + +parser.add_argument( + "input_file", help="the input file containing the list of APIs copied from Appendix B of the C Standard Library document") + +args = parser.parse_args() + +input_file = args.input_file +standard = args.standard + +# Extract the header name from a header line +header_regex = re.compile(r".*<(.+)>") +# Extract return signature, function name and parameter signature from a function line +function_regex = re.compile(r"(?P.+ \(?\*?)(?P[^\s\(\)]+)(?P\(([^\(]|\([^\)]*\))+\))(?P\)\(.*\))?;.*") +# Extract macro name and parameter signature from a function-like-macro line +function_like_macro_regex = re.compile(r"(?P[^\s]+)(?P\(.+\))") +# Extract the prefix/postfix for a macro containing a `N` size replacement +macro_size_replace_regex = re.compile(r"^(.*(?:(?i:int)|(?i:fast)|(?i:least)|PRI[diouxX]|SCN[diouxX]))N(.*)$") +# +is_macro_regex = re.compile(r"^$") + +def map_size_vars(name): + """ + Given a name, return a list of names with the size variables replaced with 8, 16, 32, 64. + """ + match = macro_size_replace_regex.match(name) + if match: + # intn, leastn, fastn PRI*N, SCN*N need the "N" replaced with 8, 16, 32, 64 + print("Note: found size variable " + name + "; split into " + match.group(1) + " and " + match.group(2)) + return [match.group(1) + str(size) + match.group(2) for size in ["8", "16", "32", "64"]] + else: + return [name] + +lines = [] +with open(input_file, 'r') as file: + lines = file.readlines() + +rows = [] +# The lines representing functions may include line breaks after the comma, so combine them +accumulated_line = "" +for line in lines: + accumulated_line += line.strip() + if not accumulated_line.endswith(",") and not accumulated_line.endswith("("): + rows.append(accumulated_line.replace("#define ","")) + accumulated_line = "" + +# Parse the rows into lists of functions, macros, objects and types +current_header = "" +functions = [] +macros = [] +objects = [] +types = [] +for row in rows: + if row.startswith("B."): + # Find the header name in angle brackets + match = header_regex.match(row) + if match: + current_header = match.group(1) + print("Note: found header " + current_header) + else: + print("Error: Could not match header " + row) + elif "(" in row: + match = function_regex.match(row) + if match: + # This is a function + components = match.groupdict() + if "trailing_return" in components and components["trailing_return"]: + # Function returns a function pointer, reconstruct from leading and trailing components + return_type = components["return_signature"] + components["function_name"] + components["trailing_return"] + else: + # Otherwise a non-function return type + return_type = components["return_signature"].strip() + functions.append([ + # standard + standard, + # header + current_header, + # namespace: C Standard, so implied to have no namespace + "", + # declaring type: C Standard, so implied to have no declaring type + "", + # name + components["function_name"], + return_type, + components["parameter_signature"], + # linkage: C Standard specifies that all library functions have external linkage + "external" + ]) + else: + # This is a function-like macro + match = function_like_macro_regex.match(row) + if match: + components = match.groupdict() + macros.append([ + # standard + standard, + # header + current_header, + # name + components["macro_name"], + # type: this is a macro so has no type + components["macro_parameters"] + ]) + else: + print("Error: Could not match function-like signature " + row) + elif row.startswith("#pragma"): + # Ignore pragmas + print("Note: skipping pragma " + row) + else: + # Replace "_ _" with "__" (typographical error when copying the standard) + # Replace "struct " with "struct-" (to avoid splitting on the space) + for name in row.replace("_ _", "__").replace("struct ","struct-").split(" "): + for mapped_name in map_size_vars(name): + if mapped_name.endswith("_t") or mapped_name == "FILE" or mapped_name.startswith("struct-") or mapped_name.startswith("atomic_"): + # This is a known C type + types.append([ + # standard + standard, + # header + current_header, + # namespace: C Standard, so implied to have no namespace + "", + # name + mapped_name.replace("struct-","struct "), + ]) + else: + if mapped_name == "NDEBUG": + # Ignore NDEBUG + print("Note: skipping NDEBUG, not part of a header") + continue + + # Assume anything remaining is a macro + macros.append([ + # standard + standard, + # header + current_header, + # name + mapped_name, + # parameters - no parameters, not a function-like macro + "" + ]) + +# Construct the models-as-data representation +yaml_output = { + "extensions" : [ + { + "addsTo": { + "pack" : "codeql/common-cpp-coding-standards", + "extensible" : "libraryMacroModel" + }, + "data" : macros + }, + { + "addsTo": { + "pack" : "codeql/common-cpp-coding-standards", + "extensible" : "libraryObjectModel" + }, + "data" : objects + }, + { + "addsTo": { + "pack" : "codeql/common-cpp-coding-standards", + "extensible" : "libraryTypeModel" + }, + "data" : types + }, + { + "addsTo": { + "pack" : "codeql/common-cpp-coding-standards", + "extensible" : "libraryFunctionModel" + }, + "data" : functions + } + ] +} + +generate_standard_library_home = Path(__file__).resolve().parent +root = generate_standard_library_home.parent.parent.parent +common_codingstandards_ext_output = root.joinpath('cpp', 'common', 'src', 'ext',f"std{ standard.lower() }.generated.names.model.yml") + +# Write the models-as-data file to YAML +with open(common_codingstandards_ext_output, 'w') as file: + yaml.dump(yaml_output, file, default_flow_style=None, width=3000) + print("Wrote models-as-data file to " + str(common_codingstandards_ext_output) + " for " + standard + " C Standard Library.") \ No newline at end of file diff --git a/scripts/generate_modules/Makefile b/scripts/generate_standard_library_models/cpp/Makefile similarity index 54% rename from scripts/generate_modules/Makefile rename to scripts/generate_standard_library_models/cpp/Makefile index b65fbb1a07..405a6b1c25 100644 --- a/scripts/generate_modules/Makefile +++ b/scripts/generate_standard_library_models/cpp/Makefile @@ -1,12 +1,11 @@ CODEQL=codeql -SEARCH_PATH?=$(PWD)/../../codeql_modules/codeql .PHONY: all clean -all: cxx14-stdlib-macros.json cxx14-stdlib-objects.json cxx14-stdlib-functions.json +all: libraryFunctionModel.json libraryObjectModel.json libraryMemberVariableModel.json libraryTypeModel.json %.json: %.bqrs $(CODEQL) bqrs decode --format=json -o $@ $< %.bqrs: queries/%.ql cxx14-stdlib-db - $(CODEQL) query run --search-path=$(SEARCH_PATH) -d cxx14-stdlib-db -o $@ $< + $(CODEQL) query run -d cxx14-stdlib-db -o $@ $< cxx14-stdlib-db: $(CODEQL) database create -l cpp -s source -c "make clean all" $@ diff --git a/scripts/generate_standard_library_models/cpp/README.md b/scripts/generate_standard_library_models/cpp/README.md new file mode 100644 index 0000000000..1828ff9a53 --- /dev/null +++ b/scripts/generate_standard_library_models/cpp/README.md @@ -0,0 +1,9 @@ +## Generating C++ Standard Library models + +This directory contains a script for generating a models-as-data file based on a sample C++ codebase that includes every standard library header. + +### How to use + + 1. Run `make` from this directory to build the CodeQL database for the sample codebase, and run the queries over it. + 2. Copy each page individually into a text file (avoiding copying headers and footers). + 3. Run `python3 generate_cpp_standard_library_models.py` to generate the models-as-data file. \ No newline at end of file diff --git a/scripts/generate_standard_library_models/cpp/generate_cpp_standard_library_models.py b/scripts/generate_standard_library_models/cpp/generate_cpp_standard_library_models.py new file mode 100644 index 0000000000..28914a8934 --- /dev/null +++ b/scripts/generate_standard_library_models/cpp/generate_cpp_standard_library_models.py @@ -0,0 +1,29 @@ +import json +from pathlib import Path +import yaml + +generate_standard_library_home = Path(__file__).resolve().parent +root = generate_standard_library_home.parent.parent.parent +common_codingstandards_ext_output = root.joinpath('cpp', 'common', 'src', 'ext','stdcpp14.generated.names.model.yml') + +queries = ["libraryTypeModel", "libraryFunctionModel", "libraryObjectModel", "libraryMemberVariableModel"] +def load_spec(spec_file): + with spec_file.open() as f: + return json.load(f) + +yaml_output = { + "extensions" : [] +} + +for query in queries: + yaml_output["extensions"].append({ + "addsTo": { + "pack" : "codeql/common-cpp-coding-standards", + "extensible" : query + }, + "data" : load_spec(generate_standard_library_home.joinpath(f"{query}.json"))["#select"]["tuples"] + + }) + +with open(common_codingstandards_ext_output, 'w') as file: + yaml.dump(yaml_output, file, default_flow_style=None, width=3000) \ No newline at end of file diff --git a/scripts/generate_standard_library_models/cpp/queries/Standard.qll b/scripts/generate_standard_library_models/cpp/queries/Standard.qll new file mode 100644 index 0000000000..06acdfd147 --- /dev/null +++ b/scripts/generate_standard_library_models/cpp/queries/Standard.qll @@ -0,0 +1,203 @@ +import cpp +import codingstandards.cpp.StdNamespace + +string getStandard() { + exists(Compilation c, string flag | + flag = + max(string std, int index | + c.getArgument(index) = std and std.matches("-std=%") + | + std order by index + ) and + result = flag.replaceAll("-std=", "").toUpperCase() + ) +} + +predicate declInVisibleStdNamespace(Declaration d) { inVisibleStdNamespace(d.getNamespace()) } + +/** + * Holds if the given namespace is inside a `std` namespace, and not in a `__detail` namespace. + */ +predicate inVisibleStdNamespace(Namespace namespace) { + not namespace.getName() = "__detail" and + ( + namespace instanceof StdNS + or + inVisibleStdNamespace(namespace.getParentNamespace()) + ) +} + +/** + * Gets a type which contains all the members of `t` and is visible in the `std` namespace, if any. + */ +UserType getAVisibleTypeInStdNamespace(UserType t) { + declInVisibleStdNamespace(t) and + // If the name starts with an _ it is an internal implementation deteail + // However, it can be visible if that type is aliased or extended + if t.getName().matches("\\_%") + then + // The user type is typedef'd to another type which is visible (possibly transitively) + exists(TypedefType typeDefType | + typeDefType.getBaseType() = t and result = getAVisibleTypeInStdNamespace(typeDefType) + ) + or + // There is a visible sub-type of the base class (possibly transitively) + exists(Class subType | + subType.getABaseClass+() = t and result = getAVisibleTypeInStdNamespace(subType) + ) + or + // There is a class template specialization of the base class that is visible (possibly transitively) + exists(ClassTemplateSpecialization pcts | + pcts.getPrimaryTemplate() = t and result = getAVisibleTypeInStdNamespace(pcts) + ) + or + // There is a class template instantiation of this template class that is visibile (possibly transitively) + exists(ClassTemplateInstantiation instantiation | + instantiation.getTemplate() = t and result = getAVisibleTypeInStdNamespace(instantiation) + ) + else ( + // A namespace declared type without an _ prefix is always visible + not exists(t.getDeclaringType()) and + result = t + ) +} + +private string getParentName(Namespace namespace) { + result = namespace.getParentNamespace().getName() and + result != "" +} + +/** + * Gets a string representing the visible namespace of this namespace, taking into account inline namespaces. + */ +string getVisibleNamespaceString(Namespace namespace) { + if exists(getParentName(namespace)) + then + exists(string parentNamespace | + parentNamespace = getVisibleNamespaceString(namespace.getParentNamespace()) + | + if namespace.isInline() + then result = parentNamespace + else result = parentNamespace + "::" + namespace.getName() + ) + else result = namespace.getName() +} + +/** + * A file that represents a standard library header in our synthetic database. + */ +class StandardLibraryHeaderFile extends File { + StandardLibraryHeaderFile() { + exists(Compilation c, File sourceFile | + sourceFile = c.getAFileCompiled() and + this = sourceFile.getAnIncludedFile() + ) + } +} + +/** + * Gets a standard library header file that includes `f`. + * + * Where `f` is itself a standard library header, we will only return `f`. + */ +StandardLibraryHeaderFile getAStandardLibraryHeader(File f) { + if f instanceof StandardLibraryHeaderFile then result = f else result.getAnIncludedFile+() = f +} + +/** + * Determine the depth of the shortest include path from `header` to `f`. + */ +language[monotonicAggregates] +private int getDepthFromStandardLibraryHeader(StandardLibraryHeaderFile header, File f) { + if f instanceof StandardLibraryHeaderFile + then + // Standard library headers are always at zero depth from themselves, and we do not calculate a depth to other headers + header = f and result = 0 + else ( + // This file must be included from a standard library header for us to calculate a depth + getAStandardLibraryHeader(f) = header and + // Find the minimum depth to the given header from any of the headers that include this file + result = + min(File intermediate | + // Intermediate is also included from the same standard library header + header = getAStandardLibraryHeader(intermediate) and + // Intermediate is a file that includes this file + intermediate.getAnIncludedFile() = f + | + // Find the depth from the header to the intermediate file + getDepthFromStandardLibraryHeader(header, intermediate) + ) + 1 + ) +} + +private string hasInternalHeaderMapping(string f) { + f = "range_access.h" and result = "iterator" + or + f = "binders.h" and result = "functional" + or + f = "stl_function.h" and result = "functional" + or + f = "stl_algobase.h" and result = "algorithm" + or + f = "shared_ptr.h" and result = "memory" + or + f = "shared_ptr_base.h" and result = "memory" + or + f = "unique_ptr.h" and result = "memory" + or + f = "stl_pair.h" and result = "utility" + or + f = "stl_uninitialized.h" and result = "memory" + or + f = "std_function.h" and result = "functional" + or + f = "functional_hash.h" and result = "functional" + or + f = "uniform_int_dist.h" and result = "rorom" + or + f = "char_traits.h" and result = "string" + or + f = "locale_classes.tcc" and result = "locale" + or + f = "locale_classes.h" and result = "locale" + or + f = "codecvt.h" and result = "codecvt" + or + f = "ios_base.h" and result = "ios" + or + f = "unique_lock.h" and result = "mutex" + or + f = "std_mutex.h" and result = "mutex" + or + f = "exception.h" and result = "exception" + or + f = "allocator.h" and result = "memory" + or + f = "stl_iterator_base_types.h" and result = "iterator" + or + f = "stringfwd.h" and result = "string" + or + f = "c++config.h" and result = "cstddef" + or + f = "uses_allocator.h" and result = "memory" +} + +/** + * Gets the standard library headers that include file `f` by the shortest path. + * + * The assumption is that these headers represent the standard library headers that are most closely related to `f`. + */ +StandardLibraryHeaderFile getAClosestStandardLibraryHeader(File f) { + // If we have manually mapped this header, only use the specified mapping + if exists(hasInternalHeaderMapping(f.getBaseName())) + then result.getBaseName() = hasInternalHeaderMapping(f.getBaseName()) + else + // Find a standard library header that includes this file at minimum depth + exists(int depth | + depth = getDepthFromStandardLibraryHeader(result, f) and + not exists(StandardLibraryHeaderFile otherStandardLibraryHeader | + not otherStandardLibraryHeader = result and + depth > getDepthFromStandardLibraryHeader(otherStandardLibraryHeader, f) + ) + ) +} diff --git a/scripts/generate_modules/queries/codeql-pack.lock.yml b/scripts/generate_standard_library_models/cpp/queries/codeql-pack.lock.yml similarity index 100% rename from scripts/generate_modules/queries/codeql-pack.lock.yml rename to scripts/generate_standard_library_models/cpp/queries/codeql-pack.lock.yml diff --git a/scripts/generate_standard_library_models/cpp/queries/libraryFunctionModel.ql b/scripts/generate_standard_library_models/cpp/queries/libraryFunctionModel.ql new file mode 100644 index 0000000000..7f90b90e8a --- /dev/null +++ b/scripts/generate_standard_library_models/cpp/queries/libraryFunctionModel.ql @@ -0,0 +1,33 @@ +import cpp +import codingstandards.cpp.Linkage +import codingstandards.cpp.StdNamespace +import Standard + +from Function f, string declaringType, string linkage +where + not exists(f.getAFile().getRelativePath()) and + not f.isCompilerGenerated() and + // exclude user defined operators + not f instanceof Operator and + // exclude "operator bool", which doesn't seem to be considered as an Operator + not f.getName() = "operator bool" and + not f.isFromTemplateInstantiation(_) and + not f instanceof Constructor and + not f instanceof Destructor and + // exclude internal functions starting with '_' or '__' + not f.getName().matches("\\_%") and + // exclude user defined literals + not f.getName().matches("operator \"%") and + // Restrict to declarations in `std` namespace as the global namespace in a real database + // includes many functions outside the C/C++ standard library. + declInVisibleStdNamespace(f) and + // In practice there aren't any internal linkage functions specified by the C++ standard + (if hasExternalLinkage(f) then linkage = "external" else linkage = "internal") and + if f instanceof MemberFunction + then + getAVisibleTypeInStdNamespace(f.getDeclaringType()).getSimpleName() = declaringType and + not f.(MemberFunction).isPrivate() + else declaringType = "" +select getStandard(), getAClosestStandardLibraryHeader(f.getFile()).getBaseName(), + getVisibleNamespaceString(f.getNamespace()), declaringType, f.getName(), f.getType().toString(), + f.getParameterString(), linkage diff --git a/scripts/generate_standard_library_models/cpp/queries/libraryMemberVariableModel.ql b/scripts/generate_standard_library_models/cpp/queries/libraryMemberVariableModel.ql new file mode 100644 index 0000000000..2b4b322c3e --- /dev/null +++ b/scripts/generate_standard_library_models/cpp/queries/libraryMemberVariableModel.ql @@ -0,0 +1,19 @@ +import cpp +import codingstandards.cpp.StdNamespace +import Standard + +from MemberVariable v +where + not v.isCompilerGenerated() and + not v.isFromTemplateInstantiation(_) and + // exclude internal member variables starting with '_' or '__' and + not v.getName().matches("\\_%") and + // Restrict to declarations in `std` namespace as the global namespace in a real database + // includes many member variables outside the C/C++ standard library. + declInVisibleStdNamespace(v) and + // Exclude private member variables + not v.isPrivate() +select getStandard(), getAClosestStandardLibraryHeader(v.getFile()).getBaseName(), + getVisibleNamespaceString(v.getNamespace()), + getAVisibleTypeInStdNamespace(v.getDeclaringType()).getSimpleName(), v.getName(), + v.getType().toString() diff --git a/scripts/generate_standard_library_models/cpp/queries/libraryObjectModel.ql b/scripts/generate_standard_library_models/cpp/queries/libraryObjectModel.ql new file mode 100644 index 0000000000..54df2e696b --- /dev/null +++ b/scripts/generate_standard_library_models/cpp/queries/libraryObjectModel.ql @@ -0,0 +1,15 @@ +import cpp +import codingstandards.cpp.StdNamespace +import codingstandards.cpp.Linkage +import Standard + +from GlobalOrNamespaceVariable v, string linkage +where + // exclude internal objects that start with a '_' or a '__' + not v.getName().matches("\\_%") and + // Restrict to declarations in `std` namespace as the global namespace in a real database + // includes many objects outside the C/C++ standard library. + declInVisibleStdNamespace(v) and + if hasExternalLinkage(v) then linkage = "external" else linkage = "internal" +select getStandard(), getAClosestStandardLibraryHeader(v.getFile()).getBaseName(), "std", + v.getName(), v.getType().toString(), linkage diff --git a/scripts/generate_standard_library_models/cpp/queries/libraryTypeModel.ql b/scripts/generate_standard_library_models/cpp/queries/libraryTypeModel.ql new file mode 100644 index 0000000000..bf8904a4ff --- /dev/null +++ b/scripts/generate_standard_library_models/cpp/queries/libraryTypeModel.ql @@ -0,0 +1,23 @@ +import cpp +import Standard + +from UserType t +where + // exclude internal objects that start with a '_' or a '__' + not t.getName().matches("\\_%") and + // Restrict to declarations in `std` namespace as the global namespace in a real database + // includes types outside the C/C++ standard library. + declInVisibleStdNamespace(t) and + // Do not report types from template instantiations - instead report the uninstantiated template + not t.isFromTemplateInstantiation(_) and + // Exclude all template specializations, except those where (due to an extractor bug?) the + // primary template is missing + ( + t instanceof ClassTemplateSpecialization + implies + not exists(t.(ClassTemplateSpecialization).getPrimaryTemplate()) + ) and + // Remove unnamed types, because they do not have a reserved name + not t.isAnonymous() +select getStandard(), getAClosestStandardLibraryHeader(t.getFile()).getBaseName(), + getVisibleNamespaceString(t.getNamespace()), t.getSimpleName() diff --git a/scripts/generate_modules/queries/qlpack.yml b/scripts/generate_standard_library_models/cpp/queries/qlpack.yml similarity index 75% rename from scripts/generate_modules/queries/qlpack.yml rename to scripts/generate_standard_library_models/cpp/queries/qlpack.yml index 9aabee2562..65e077046b 100644 --- a/scripts/generate_modules/queries/qlpack.yml +++ b/scripts/generate_standard_library_models/cpp/queries/qlpack.yml @@ -3,3 +3,4 @@ version: 0.0.0 license: MIT dependencies: codeql/cpp-all: 4.0.3 + codeql/common-cpp-coding-standards: '*' diff --git a/scripts/generate_modules/source/Makefile b/scripts/generate_standard_library_models/cpp/source/Makefile similarity index 71% rename from scripts/generate_modules/source/Makefile rename to scripts/generate_standard_library_models/cpp/source/Makefile index bd0d30ac70..d4b621b0d5 100644 --- a/scripts/generate_modules/source/Makefile +++ b/scripts/generate_standard_library_models/cpp/source/Makefile @@ -1,5 +1,5 @@ -CC=clang -CFLAGS=-std=c++14 -fno-builtin +CC=clang++ +CFLAGS=-std=c++14 -fno-builtin -v all: stdlibcxx14 stdlibcxx14: stdlibcxx14.cpp diff --git a/scripts/generate_modules/source/stdlibcxx14.cpp b/scripts/generate_standard_library_models/cpp/source/stdlibcxx14.cpp similarity index 100% rename from scripts/generate_modules/source/stdlibcxx14.cpp rename to scripts/generate_standard_library_models/cpp/source/stdlibcxx14.cpp