diff --git a/.cpptest/cpptestcc/f4/37ea81/0/.owner b/.cpptest/cpptestcc/f4/37ea81/0/.owner deleted file mode 100644 index 4fa0d12..0000000 --- a/.cpptest/cpptestcc/f4/37ea81/0/.owner +++ /dev/null @@ -1 +0,0 @@ -D:\workspace\2024.1\ATM\ATM.cxx \ No newline at end of file diff --git a/.cpptest/cpptestcc/f4/37ea81/0/ATM.cxx.log b/.cpptest/cpptestcc/f4/37ea81/0/ATM.cxx.log deleted file mode 100644 index bf49f67..0000000 --- a/.cpptest/cpptestcc/f4/37ea81/0/ATM.cxx.log +++ /dev/null @@ -1,31 +0,0 @@ -[2024-11-18 15:14:10][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\Cpptestcc.cc:456] [cpptestcc] Command line: "engine\bin\cpptestcc1" -compiler gcc_7-64 -line-coverage -- cc -I app/includes -D defines -c ATM.cxx -[2024-11-18 15:14:10][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\Coverage.cc:200] [cpptestcc] Preparing code instrumentation for ATM.cxx -[2024-11-18 15:14:10][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\Coverage.cc:203] [cpptestcc] Source file path (absolute): d:\workspace\2024.1\ATM\ATM.cxx -[2024-11-18 15:14:10][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\Coverage.cc:204] [cpptestcc] Source file path (relative): ATM.cxx -[2024-11-18 15:14:10][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:390] [cpptestcc] Executing xharness for file: ATM.cxx -[2024-11-18 15:14:10][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:122] [cpptestcc] Executing command: "c:\Parasoft\cpptest\2024.1_standalone\bin\engine\bin/xharness" "--dtp=true" "--input=ATM.cxx" "--outputFileName=.\.cpptest/cpptestcc\1731939250563_9304\0\ATM.cxx" "--compiler-cfg-file=c:\Parasoft\cpptest\2024.1_standalone\bin\engine\etc\compilers\gcc_7-64\cpp.psrc" "--preprocessorExecutable=cc" "--psrc=.\.cpptest/cpptestcc\1731939250563_9304\0\xharness.psrc" --native-options-start -I app/includes -D defines -c --native-options-end -[2024-11-18 15:14:10][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:157] [cpptestcc] Command finished with exit status: 1 -[2024-11-18 15:14:10][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:140] xharness=1 -[2024-11-18 15:14:10][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ATM.cxx:1:10: fatal error: ATM.hxx: No such file or directory -[2024-11-18 15:14:10][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 1 | #include "ATM.hxx" -[2024-11-18 15:14:10][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] | ^~~~~~~~~ -[2024-11-18 15:14:10][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] compilation terminated. -[2024-11-18 15:14:10][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] Error preprocessing file "ATM.cxx": -[2024-11-18 15:14:10][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] Process exited with status: 1 -[2024-11-18 15:14:10][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:420] [cpptestcc] Preprocessing file ATM.cxx -[2024-11-18 15:14:10][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:122] [cpptestcc] Executing command: "c:\Parasoft\cpptest\2024.1_standalone\bin\engine\bin/xharness" "--input=ATM.cxx" "--outputFileName=.\.cpptest/cpptestcc\f4\37ea81\0\ATM.cxx.prep" "--compiler-cfg-file=c:\Parasoft\cpptest\2024.1_standalone\bin\engine\etc\compilers\gcc_7-64\cpp.psrc" "--preprocessorExecutable=cc" --native-options-start -I app/includes -D defines -c --native-options-end -[2024-11-18 15:14:11][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:157] [cpptestcc] Command finished with exit status: 1 -[2024-11-18 15:14:11][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:140] preprocess=1 -[2024-11-18 15:14:11][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ATM.cxx:1:10: fatal error: ATM.hxx: No such file or directory -[2024-11-18 15:14:11][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 1 | #include "ATM.hxx" -[2024-11-18 15:14:11][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] | ^~~~~~~~~ -[2024-11-18 15:14:11][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] compilation terminated. -[2024-11-18 15:14:11][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] Error preprocessing file "ATM.cxx": -[2024-11-18 15:14:11][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] Process exited with status: 1 -[2024-11-18 15:14:11][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:122] [cpptestcc] Executing command: cc "-Ic:\Parasoft\cpptest\2024.1_standalone\bin\engine\coverage\runtime\include" -I app/includes -D defines -c ATM.cxx -[2024-11-18 15:14:11][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:157] [cpptestcc] Command finished with exit status: 1 -[2024-11-18 15:14:11][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:140] compiler=1 -[2024-11-18 15:14:11][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ATM.cxx:1:10: fatal error: ATM.hxx: No such file or directory -[2024-11-18 15:14:11][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 1 | #include "ATM.hxx" -[2024-11-18 15:14:11][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] | ^~~~~~~~~ -[2024-11-18 15:14:11][9304][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] compilation terminated. diff --git a/.cpptest/cpptestcc/f4/37ea81/0/ATM.cxx.status b/.cpptest/cpptestcc/f4/37ea81/0/ATM.cxx.status deleted file mode 100644 index 7dd2bb6..0000000 --- a/.cpptest/cpptestcc/f4/37ea81/0/ATM.cxx.status +++ /dev/null @@ -1,3 +0,0 @@ -xharness=1 -preprocess=1 -compiler=1 diff --git a/.cpptest/cpptestcc/fe/a61394/0/.owner b/.cpptest/cpptestcc/fe/a61394/0/.owner deleted file mode 100644 index b674bd8..0000000 --- a/.cpptest/cpptestcc/fe/a61394/0/.owner +++ /dev/null @@ -1 +0,0 @@ -D:\workspace\2024.1\ATM\Account.cxx \ No newline at end of file diff --git a/.cpptest/cpptestcc/fe/a61394/0/Account.cxx.log b/.cpptest/cpptestcc/fe/a61394/0/Account.cxx.log deleted file mode 100644 index 2bb5a98..0000000 --- a/.cpptest/cpptestcc/fe/a61394/0/Account.cxx.log +++ /dev/null @@ -1,521 +0,0 @@ -[2024-11-18 15:23:39][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\Cpptestcc.cc:456] [cpptestcc] Command line: "engine\bin\cpptestcc1" -compiler gcc_7-64 -line-coverage -- cc -I include -D defines -c Account.cxx -[2024-11-18 15:23:39][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\Coverage.cc:200] [cpptestcc] Preparing code instrumentation for Account.cxx -[2024-11-18 15:23:39][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\Coverage.cc:203] [cpptestcc] Source file path (absolute): d:\workspace\2024.1\ATM\Account.cxx -[2024-11-18 15:23:39][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\Coverage.cc:204] [cpptestcc] Source file path (relative): Account.cxx -[2024-11-18 15:23:39][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:390] [cpptestcc] Executing xharness for file: Account.cxx -[2024-11-18 15:23:39][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:122] [cpptestcc] Executing command: "c:\Parasoft\cpptest\2024.1_standalone\bin\engine\bin/xharness" "--dtp=true" "--input=Account.cxx" "--outputFileName=.\.cpptest/cpptestcc\1731939819644_25092\0\Account.cxx" "--compiler-cfg-file=c:\Parasoft\cpptest\2024.1_standalone\bin\engine\etc\compilers\gcc_7-64\cpp.psrc" "--preprocessorExecutable=cc" "--psrc=.\.cpptest/cpptestcc\1731939819644_25092\0\xharness.psrc" --native-options-start -I include -D defines -c --native-options-end -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:157] [cpptestcc] Command finished with exit status: 1 -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:140] xharness=1 -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/type_traits", line 1406: error: -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] type name is not allowed -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] : public integral_constant -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/type_traits", line 1406: error: -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] type name is not allowed -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] : public integral_constant -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/type_traits", line 1406: error: -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] identifier "__is_same" is undefined -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] : public integral_constant -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/type_traits", line 3251: error: -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] type name is not allowed -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] inline constexpr bool is_same_v = __is_same(_Tp, _Up); -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/type_traits", line 3251: error: -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] type name is not allowed -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] inline constexpr bool is_same_v = __is_same(_Tp, _Up); -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_pair.h", line 460: -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] error: argument list for class template "std::pair" is missing -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] template pair(_T1, _T2) -> pair<_T1, _T2>; -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_pair.h", line 460: -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] error: expected a ")" -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] template pair(_T1, _T2) -> pair<_T1, _T2>; -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_pair.h", line 460: -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] error: template parameter "_T1" may not be redeclared in this scope -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] template pair(_T1, _T2) -> pair<_T1, _T2>; -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_pair.h", line 460: -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] error: expected a ";" -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] template pair(_T1, _T2) -> pair<_T1, _T2>; -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/char_traits.h", line 314: -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] error: identifier "__builtin_is_constant_evaluated" is undefined -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] return __builtin_is_constant_evaluated(); -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/char_traits.h", line 290: -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] error: identifier "__builtin_is_constant_evaluated" is undefined -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] return __builtin_is_constant_evaluated(); -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h", line 6064: -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] error: argument list for class template "std::basic_string" is -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] missing -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] basic_string(_InputIterator, _InputIterator, _Allocator = _Allocator()) -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h", line 6064: -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] error: expected a ")" -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] basic_string(_InputIterator, _InputIterator, _Allocator = _Allocator()) -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h", line 6064: -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] error: template parameter "_InputIterator" may not be redeclared in -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] this scope -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] basic_string(_InputIterator, _InputIterator, _Allocator = _Allocator()) -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h", line 6065: -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] error: expected a ";" -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -> basic_string<_CharT, char_traits<_CharT>, _Allocator>; -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h", line 6072: -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] error: argument list for class template "std::basic_string" is -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] missing -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] basic_string(basic_string_view<_CharT, _Traits>, const _Allocator& = _Allocator()) -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h", line 6072: -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] error: expected a ")" -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] basic_string(basic_string_view<_CharT, _Traits>, const _Allocator& = _Allocator()) -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h", line 6072: -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] error: "basic_string_view" is not a function or static data member -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] basic_string(basic_string_view<_CharT, _Traits>, const _Allocator& = _Allocator()) -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h", line 6078: -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] error: argument list for class template "std::basic_string" is -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] missing -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] basic_string(basic_string_view<_CharT, _Traits>, -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h", line 6078: -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] error: expected a ")" -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] basic_string(basic_string_view<_CharT, _Traits>, -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h", line 6078: -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] error: "basic_string_view" is not a function or static data member -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] basic_string(basic_string_view<_CharT, _Traits>, -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h", line 4112: -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] error: identifier "__builtin_is_constant_evaluated" is undefined -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] do { if (__builtin_is_constant_evaluated() && !bool(__pos <= size())) __builtin_unreachable(); } while (false); -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 85: error: no instance of overloaded function "_Range_chk::_S_chk" -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] matches the argument list -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] argument types are: (const long, std::is_same) -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{})) -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 73: note: function "_Range_chk::_S_chk(long, std::true_type)" does -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] not match because argument #2 does not match parameter -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet __val, std::true_type) -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 70: note: function "_Range_chk::_S_chk(long, std::false_type)" does -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] not match because argument #2 does not match parameter -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet, std::false_type) { return false; } -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] detected during instantiation of "_Ret __gnu_cxx::__stoa(_TRet -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] (*)(const _CharT *, _CharT **, _Base...), const char *, -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] const _CharT *, std::size_t *, _Base...) [with _TRet=long, -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _Ret=int, _CharT=char, _Base=]" at line 6620 of -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_st -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ring.h" -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 85: error: no instance of overloaded function "_Range_chk::_S_chk" -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] matches the argument list -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] argument types are: (const long, std::is_same) -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{})) -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 73: note: function "_Range_chk::_S_chk(long, std::true_type)" does -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] not match because argument #2 does not match parameter -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet __val, std::true_type) -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 70: note: function "_Range_chk::_S_chk(long, std::false_type)" does -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] not match because argument #2 does not match parameter -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet, std::false_type) { return false; } -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] detected during instantiation of "_Ret __gnu_cxx::__stoa(_TRet -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] (*)(const _CharT *, _CharT **, _Base...), const char *, -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] const _CharT *, std::size_t *, _Base...) [with _TRet=long, -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _Ret=long, _CharT=char, _Base=]" at line 6625 of -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_st -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ring.h" -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 85: error: no instance of overloaded function "_Range_chk::_S_chk" -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] matches the argument list -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] argument types are: (const unsigned long, std::is_same) -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{})) -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 73: note: function "_Range_chk::_S_chk(unsigned long, -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] std::true_type)" does not match because argument #2 does not match -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] parameter -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet __val, std::true_type) -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 70: note: function "_Range_chk::_S_chk(unsigned long, -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] std::false_type)" does not match because argument #2 does not match -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] parameter -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet, std::false_type) { return false; } -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] detected during instantiation of "_Ret __gnu_cxx::__stoa(_TRet -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] (*)(const _CharT *, _CharT **, _Base...), const char *, -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] const _CharT *, std::size_t *, _Base...) [with -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _TRet=unsigned long, _Ret=unsigned long, _CharT=char, -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _Base=]" at line 6630 of -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_st -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ring.h" -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 85: error: no instance of overloaded function "_Range_chk::_S_chk" -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] matches the argument list -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] argument types are: (const long long, std::is_same) -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{})) -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 73: note: function "_Range_chk::_S_chk(long long, std::true_type)" -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] does not match because argument #2 does not match parameter -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet __val, std::true_type) -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 70: note: function "_Range_chk::_S_chk(long long, std::false_type)" -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] does not match because argument #2 does not match parameter -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet, std::false_type) { return false; } -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] detected during instantiation of "_Ret __gnu_cxx::__stoa(_TRet -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] (*)(const _CharT *, _CharT **, _Base...), const char *, -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] const _CharT *, std::size_t *, _Base...) [with _TRet=long -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] long, _Ret=long long, _CharT=char, _Base=]" at line -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 6635 of -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_st -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ring.h" -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 85: error: no instance of overloaded function "_Range_chk::_S_chk" -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] matches the argument list -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] argument types are: (const unsigned long long, -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] std::is_same) -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{})) -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 73: note: function "_Range_chk::_S_chk(unsigned long long, -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] std::true_type)" does not match because argument #2 does not match -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] parameter -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet __val, std::true_type) -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 70: note: function "_Range_chk::_S_chk(unsigned long long, -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] std::false_type)" does not match because argument #2 does not match -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] parameter -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet, std::false_type) { return false; } -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] detected during instantiation of "_Ret __gnu_cxx::__stoa(_TRet -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] (*)(const _CharT *, _CharT **, _Base...), const char *, -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] const _CharT *, std::size_t *, _Base...) [with -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _TRet=unsigned long long, _Ret=unsigned long long, -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _CharT=char, _Base=]" at line 6640 of -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_st -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ring.h" -[2024-11-18 15:23:40][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 85: error: no instance of overloaded function "_Range_chk::_S_chk" -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] matches the argument list -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] argument types are: (const float, std::is_same) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{})) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 73: note: function "_Range_chk::_S_chk(float, std::true_type)" does -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] not match because argument #2 does not match parameter -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet __val, std::true_type) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 70: note: function "_Range_chk::_S_chk(float, std::false_type)" does -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] not match because argument #2 does not match parameter -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet, std::false_type) { return false; } -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] detected during instantiation of "_Ret __gnu_cxx::__stoa(_TRet -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] (*)(const _CharT *, _CharT **, _Base...), const char *, -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] const _CharT *, std::size_t *, _Base...) [with _TRet=float, -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _Ret=float, _CharT=char, _Base=<>]" at line 6646 of -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_st -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ring.h" -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 85: error: no instance of overloaded function "_Range_chk::_S_chk" -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] matches the argument list -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] argument types are: (const double, std::is_same) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{})) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 73: note: function "_Range_chk::_S_chk(double, std::true_type)" does -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] not match because argument #2 does not match parameter -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet __val, std::true_type) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 70: note: function "_Range_chk::_S_chk(double, std::false_type)" does -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] not match because argument #2 does not match parameter -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet, std::false_type) { return false; } -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] detected during instantiation of "_Ret __gnu_cxx::__stoa(_TRet -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] (*)(const _CharT *, _CharT **, _Base...), const char *, -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] const _CharT *, std::size_t *, _Base...) [with -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _TRet=double, _Ret=double, _CharT=char, _Base=<>]" at line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 6650 of -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_st -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ring.h" -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 85: error: no instance of overloaded function "_Range_chk::_S_chk" -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] matches the argument list -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] argument types are: (const long double, std::is_same) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{})) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 73: note: function "_Range_chk::_S_chk(long double, std::true_type)" -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] does not match because argument #2 does not match parameter -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet __val, std::true_type) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 70: note: function "_Range_chk::_S_chk(long double, std::false_type)" -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] does not match because argument #2 does not match parameter -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet, std::false_type) { return false; } -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] detected during instantiation of "_Ret __gnu_cxx::__stoa(_TRet -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] (*)(const _CharT *, _CharT **, _Base...), const char *, -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] const _CharT *, std::size_t *, _Base...) [with _TRet=long -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] double, _Ret=long double, _CharT=char, _Base=<>]" at line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 6654 of -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_st -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ring.h" -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 85: error: no instance of overloaded function "_Range_chk::_S_chk" -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] matches the argument list -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] argument types are: (const long, std::is_same) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{})) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 73: note: function "_Range_chk::_S_chk(long, std::true_type)" does -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] not match because argument #2 does not match parameter -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet __val, std::true_type) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 70: note: function "_Range_chk::_S_chk(long, std::false_type)" does -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] not match because argument #2 does not match parameter -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet, std::false_type) { return false; } -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] detected during instantiation of "_Ret __gnu_cxx::__stoa(_TRet -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] (*)(const _CharT *, _CharT **, _Base...), const char *, -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] const _CharT *, std::size_t *, _Base...) [with _TRet=long, -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _Ret=int, _CharT=wchar_t, _Base=]" at line 6751 of -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_st -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ring.h" -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 85: error: no instance of overloaded function "_Range_chk::_S_chk" -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] matches the argument list -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] argument types are: (const long, std::is_same) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{})) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 73: note: function "_Range_chk::_S_chk(long, std::true_type)" does -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] not match because argument #2 does not match parameter -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet __val, std::true_type) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 70: note: function "_Range_chk::_S_chk(long, std::false_type)" does -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] not match because argument #2 does not match parameter -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet, std::false_type) { return false; } -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] detected during instantiation of "_Ret __gnu_cxx::__stoa(_TRet -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] (*)(const _CharT *, _CharT **, _Base...), const char *, -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] const _CharT *, std::size_t *, _Base...) [with _TRet=long, -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _Ret=long, _CharT=wchar_t, _Base=]" at line 6756 of -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_st -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ring.h" -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 85: error: no instance of overloaded function "_Range_chk::_S_chk" -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] matches the argument list -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] argument types are: (const unsigned long, std::is_same) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{})) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 73: note: function "_Range_chk::_S_chk(unsigned long, -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] std::true_type)" does not match because argument #2 does not match -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] parameter -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet __val, std::true_type) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 70: note: function "_Range_chk::_S_chk(unsigned long, -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] std::false_type)" does not match because argument #2 does not match -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] parameter -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet, std::false_type) { return false; } -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] detected during instantiation of "_Ret __gnu_cxx::__stoa(_TRet -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] (*)(const _CharT *, _CharT **, _Base...), const char *, -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] const _CharT *, std::size_t *, _Base...) [with -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _TRet=unsigned long, _Ret=unsigned long, _CharT=wchar_t, -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _Base=]" at line 6761 of -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_st -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ring.h" -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 85: error: no instance of overloaded function "_Range_chk::_S_chk" -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] matches the argument list -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] argument types are: (const long long, std::is_same) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{})) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 73: note: function "_Range_chk::_S_chk(long long, std::true_type)" -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] does not match because argument #2 does not match parameter -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet __val, std::true_type) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 70: note: function "_Range_chk::_S_chk(long long, std::false_type)" -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] does not match because argument #2 does not match parameter -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet, std::false_type) { return false; } -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] detected during instantiation of "_Ret __gnu_cxx::__stoa(_TRet -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] (*)(const _CharT *, _CharT **, _Base...), const char *, -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] const _CharT *, std::size_t *, _Base...) [with _TRet=long -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] long, _Ret=long long, _CharT=wchar_t, _Base=]" at line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 6766 of -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_st -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ring.h" -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 85: error: no instance of overloaded function "_Range_chk::_S_chk" -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] matches the argument list -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] argument types are: (const unsigned long long, -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] std::is_same) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{})) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 73: note: function "_Range_chk::_S_chk(unsigned long long, -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] std::true_type)" does not match because argument #2 does not match -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] parameter -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet __val, std::true_type) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 70: note: function "_Range_chk::_S_chk(unsigned long long, -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] std::false_type)" does not match because argument #2 does not match -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] parameter -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet, std::false_type) { return false; } -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] detected during instantiation of "_Ret __gnu_cxx::__stoa(_TRet -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] (*)(const _CharT *, _CharT **, _Base...), const char *, -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] const _CharT *, std::size_t *, _Base...) [with -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _TRet=unsigned long long, _Ret=unsigned long long, -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _CharT=wchar_t, _Base=]" at line 6771 of -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_st -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ring.h" -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 85: error: no instance of overloaded function "_Range_chk::_S_chk" -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] matches the argument list -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] argument types are: (const float, std::is_same) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{})) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 73: note: function "_Range_chk::_S_chk(float, std::true_type)" does -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] not match because argument #2 does not match parameter -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet __val, std::true_type) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 70: note: function "_Range_chk::_S_chk(float, std::false_type)" does -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] not match because argument #2 does not match parameter -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet, std::false_type) { return false; } -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] detected during instantiation of "_Ret __gnu_cxx::__stoa(_TRet -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] (*)(const _CharT *, _CharT **, _Base...), const char *, -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] const _CharT *, std::size_t *, _Base...) [with _TRet=float, -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _Ret=float, _CharT=wchar_t, _Base=<>]" at line 6777 of -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_st -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ring.h" -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 85: error: no instance of overloaded function "_Range_chk::_S_chk" -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] matches the argument list -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] argument types are: (const double, std::is_same) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{})) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 73: note: function "_Range_chk::_S_chk(double, std::true_type)" does -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] not match because argument #2 does not match parameter -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet __val, std::true_type) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 70: note: function "_Range_chk::_S_chk(double, std::false_type)" does -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] not match because argument #2 does not match parameter -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet, std::false_type) { return false; } -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] detected during instantiation of "_Ret __gnu_cxx::__stoa(_TRet -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] (*)(const _CharT *, _CharT **, _Base...), const char *, -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] const _CharT *, std::size_t *, _Base...) [with -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _TRet=double, _Ret=double, _CharT=wchar_t, _Base=<>]" at -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] line 6781 of -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_st -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ring.h" -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 85: error: no instance of overloaded function "_Range_chk::_S_chk" -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] matches the argument list -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] argument types are: (const long double, std::is_same) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{})) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 73: note: function "_Range_chk::_S_chk(long double, std::true_type)" -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] does not match because argument #2 does not match parameter -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet __val, std::true_type) -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h", line -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] 70: note: function "_Range_chk::_S_chk(long double, std::false_type)" -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] does not match because argument #2 does not match parameter -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] _S_chk(_TRet, std::false_type) { return false; } -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ^ -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] detected during instantiation of "_Ret __gnu_cxx::__stoa(_TRet -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] (*)(const _CharT *, _CharT **, _Base...), const char *, -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] const _CharT *, std::size_t *, _Base...) [with _TRet=long -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] double, _Ret=long double, _CharT=wchar_t, _Base=<>]" at -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] line 6785 of -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_st -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] ring.h" -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:84] [cpptestcc] -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:420] [cpptestcc] Preprocessing file Account.cxx -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:122] [cpptestcc] Executing command: "c:\Parasoft\cpptest\2024.1_standalone\bin\engine\bin/xharness" "--input=Account.cxx" "--outputFileName=.\.cpptest/cpptestcc\fe\a61394\0\Account.cxx.prep" "--compiler-cfg-file=c:\Parasoft\cpptest\2024.1_standalone\bin\engine\etc\compilers\gcc_7-64\cpp.psrc" "--preprocessorExecutable=cc" --native-options-start -I include -D defines -c --native-options-end -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:157] [cpptestcc] Command finished with exit status: 0 -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:140] preprocess=0 -[2024-11-18 15:23:41][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:122] [cpptestcc] Executing command: cc "-Ic:\Parasoft\cpptest\2024.1_standalone\bin\engine\coverage\runtime\include" -I include -D defines -c Account.cxx -[2024-11-18 15:23:42][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:157] [cpptestcc] Command finished with exit status: 0 -[2024-11-18 15:23:42][25092][C:\work\venom.slave\workspace\test.engine.build.release_master@2\cpp\cpptest\modules\cpptestcc\src\CmdlnTools.cc:140] compiler=0 diff --git a/.cpptest/cpptestcc/fe/a61394/0/Account.cxx.prep b/.cpptest/cpptestcc/fe/a61394/0/Account.cxx.prep deleted file mode 100644 index 60081ef..0000000 --- a/.cpptest/cpptestcc/fe/a61394/0/Account.cxx.prep +++ /dev/null @@ -1,21413 +0,0 @@ -# 0 "Account.cxx" -# 0 "" -# 0 "" -# 1 "Account.cxx" -# 1 "include/Account.hxx" 1 - - - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/string" 1 3 -# 36 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/string" 3 - -# 37 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/string" 3 - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/c++config.h" 1 3 -# 278 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/c++config.h" 3 - -# 278 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/c++config.h" 3 -namespace std -{ - typedef long unsigned int size_t; - typedef long int ptrdiff_t; - - - typedef decltype(nullptr) nullptr_t; - -} -# 586 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/c++config.h" 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/os_defines.h" 1 3 -# 587 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/c++config.h" 2 3 - - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/cpu_defines.h" 1 3 -# 590 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/c++config.h" 2 3 -# 777 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/c++config.h" 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/pstl/pstl_config.h" 1 3 -# 778 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/c++config.h" 2 3 -# 39 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/string" 2 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stringfwd.h" 1 3 -# 37 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stringfwd.h" 3 - -# 38 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stringfwd.h" 3 - - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/memoryfwd.h" 1 3 -# 46 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/memoryfwd.h" 3 - -# 47 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/memoryfwd.h" 3 - - - -namespace std -{ - -# 63 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/memoryfwd.h" 3 - template - class allocator; - - template<> - class allocator; - - - - template - struct uses_allocator; - - template - struct allocator_traits; - - - - - -} -# 41 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stringfwd.h" 2 3 - -namespace std -{ - - - - - - - - - template - struct char_traits; - - template<> struct char_traits; - - - template<> struct char_traits; - - - - - - - - template<> struct char_traits; - template<> struct char_traits; - - - - - template, - typename _Alloc = allocator<_CharT> > - class basic_string; - - - - - typedef basic_string string; - - - - typedef basic_string wstring; -# 93 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stringfwd.h" 3 - typedef basic_string u16string; - - - typedef basic_string u32string; - - - - - -} -# 40 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/string" 2 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/char_traits.h" 1 3 -# 37 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/char_traits.h" 3 - -# 38 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/char_traits.h" 3 - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 1 3 -# 60 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/functexcept.h" 1 3 -# 40 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/functexcept.h" 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/exception_defines.h" 1 3 -# 41 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/functexcept.h" 2 3 - -namespace std -{ - - - - void - __throw_bad_exception(void) __attribute__((__noreturn__)); - - - void - __throw_bad_alloc(void) __attribute__((__noreturn__)); - - void - __throw_bad_array_new_length(void) __attribute__((__noreturn__)); - - - void - __throw_bad_cast(void) __attribute__((__noreturn__)); - - void - __throw_bad_typeid(void) __attribute__((__noreturn__)); - - - void - __throw_logic_error(const char*) __attribute__((__noreturn__)); - - void - __throw_domain_error(const char*) __attribute__((__noreturn__)); - - void - __throw_invalid_argument(const char*) __attribute__((__noreturn__)); - - void - __throw_length_error(const char*) __attribute__((__noreturn__)); - - void - __throw_out_of_range(const char*) __attribute__((__noreturn__)); - - void - __throw_out_of_range_fmt(const char*, ...) __attribute__((__noreturn__)) - __attribute__((__format__(__gnu_printf__, 1, 2))); - - void - __throw_runtime_error(const char*) __attribute__((__noreturn__)); - - void - __throw_range_error(const char*) __attribute__((__noreturn__)); - - void - __throw_overflow_error(const char*) __attribute__((__noreturn__)); - - void - __throw_underflow_error(const char*) __attribute__((__noreturn__)); - - - void - __throw_ios_failure(const char*) __attribute__((__noreturn__)); - - void - __throw_ios_failure(const char*, int) __attribute__((__noreturn__)); - - - void - __throw_system_error(int) __attribute__((__noreturn__)); - - - void - __throw_future_error(int) __attribute__((__noreturn__)); - - - void - __throw_bad_function_call() __attribute__((__noreturn__)); - - -} -# 61 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 2 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/cpp_type_traits.h" 1 3 -# 35 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/cpp_type_traits.h" 3 - -# 36 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/cpp_type_traits.h" 3 -# 67 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/cpp_type_traits.h" 3 -extern "C++" { - -namespace std -{ - - - struct __true_type { }; - struct __false_type { }; - - template - struct __truth_type - { typedef __false_type __type; }; - - template<> - struct __truth_type - { typedef __true_type __type; }; - - - - template - struct __traitor - { - enum { __value = bool(_Sp::__value) || bool(_Tp::__value) }; - typedef typename __truth_type<__value>::__type __type; - }; - - - template - struct __are_same - { - enum { __value = 0 }; - typedef __false_type __type; - }; - - template - struct __are_same<_Tp, _Tp> - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - - template - struct __is_void - { - enum { __value = 0 }; - typedef __false_type __type; - }; - - template<> - struct __is_void - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - - - - template - struct __is_integer - { - enum { __value = 0 }; - typedef __false_type __type; - }; - - - - - - template<> - struct __is_integer - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - template<> - struct __is_integer - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - template<> - struct __is_integer - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - template<> - struct __is_integer - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - - template<> - struct __is_integer - { - enum { __value = 1 }; - typedef __true_type __type; - }; -# 184 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/cpp_type_traits.h" 3 - template<> - struct __is_integer - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - template<> - struct __is_integer - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - - template<> - struct __is_integer - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - template<> - struct __is_integer - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - template<> - struct __is_integer - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - template<> - struct __is_integer - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - template<> - struct __is_integer - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - template<> - struct __is_integer - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - template<> - struct __is_integer - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - template<> - struct __is_integer - { - enum { __value = 1 }; - typedef __true_type __type; - }; -# 270 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/cpp_type_traits.h" 3 -template<> struct __is_integer<__int128> { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; -# 287 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/cpp_type_traits.h" 3 - template - struct __is_floating - { - enum { __value = 0 }; - typedef __false_type __type; - }; - - - template<> - struct __is_floating - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - template<> - struct __is_floating - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - template<> - struct __is_floating - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - - - - template - struct __is_pointer - { - enum { __value = 0 }; - typedef __false_type __type; - }; - - template - struct __is_pointer<_Tp*> - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - - - - template - struct __is_arithmetic - : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> > - { }; - - - - - template - struct __is_scalar - : public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> > - { }; - - - - - template - struct __is_char - { - enum { __value = 0 }; - typedef __false_type __type; - }; - - template<> - struct __is_char - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - - template<> - struct __is_char - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - - template - struct __is_byte - { - enum { __value = 0 }; - typedef __false_type __type; - }; - - template<> - struct __is_byte - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - template<> - struct __is_byte - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - template<> - struct __is_byte - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - - enum class byte : unsigned char; - - template<> - struct __is_byte - { - enum { __value = 1 }; - typedef __true_type __type; - }; -# 423 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/cpp_type_traits.h" 3 - template struct iterator_traits; - - - template - struct __is_nonvolatile_trivially_copyable - { - enum { __value = __is_trivially_copyable(_Tp) }; - }; - - - - - template - struct __is_nonvolatile_trivially_copyable - { - enum { __value = 0 }; - }; - - - template - struct __memcpyable - { - enum { __value = 0 }; - }; - - template - struct __memcpyable<_Tp*, _Tp*> - : __is_nonvolatile_trivially_copyable<_Tp> - { }; - - template - struct __memcpyable<_Tp*, const _Tp*> - : __is_nonvolatile_trivially_copyable<_Tp> - { }; - - - - - - - template - struct __memcmpable - { - enum { __value = 0 }; - }; - - - template - struct __memcmpable<_Tp*, _Tp*> - : __is_nonvolatile_trivially_copyable<_Tp> - { }; - - template - struct __memcmpable - : __is_nonvolatile_trivially_copyable<_Tp> - { }; - - template - struct __memcmpable<_Tp*, const _Tp*> - : __is_nonvolatile_trivially_copyable<_Tp> - { }; - - - - - - - - template::__value - - > - struct __is_memcmp_ordered - { - static const bool __value = _Tp(-1) > _Tp(1); - }; - - template - struct __is_memcmp_ordered<_Tp, false> - { - static const bool __value = false; - }; - - - template - struct __is_memcmp_ordered_with - { - static const bool __value = __is_memcmp_ordered<_Tp>::__value - && __is_memcmp_ordered<_Up>::__value; - }; - - template - struct __is_memcmp_ordered_with<_Tp, _Up, false> - { - static const bool __value = false; - }; -# 532 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/cpp_type_traits.h" 3 - template<> - struct __is_memcmp_ordered_with - { static constexpr bool __value = true; }; - - template - struct __is_memcmp_ordered_with<_Tp, std::byte, _SameSize> - { static constexpr bool __value = false; }; - - template - struct __is_memcmp_ordered_with - { static constexpr bool __value = false; }; - - - - - - template - struct __is_move_iterator - { - enum { __value = 0 }; - typedef __false_type __type; - }; - - - - template - - inline _Iterator - __miter_base(_Iterator __it) - { return __it; } - - -} -} -# 62 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 2 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/type_traits.h" 1 3 -# 32 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/type_traits.h" 3 - -# 33 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/type_traits.h" 3 - - - - -extern "C++" { - -namespace __gnu_cxx -{ - - - - template - struct __enable_if - { }; - - template - struct __enable_if - { typedef _Tp __type; }; - - - - template - struct __conditional_type - { typedef _Iftrue __type; }; - - template - struct __conditional_type - { typedef _Iffalse __type; }; - - - - template - struct __add_unsigned - { - private: - typedef __enable_if::__value, _Tp> __if_type; - - public: - typedef typename __if_type::__type __type; - }; - - template<> - struct __add_unsigned - { typedef unsigned char __type; }; - - template<> - struct __add_unsigned - { typedef unsigned char __type; }; - - template<> - struct __add_unsigned - { typedef unsigned short __type; }; - - template<> - struct __add_unsigned - { typedef unsigned int __type; }; - - template<> - struct __add_unsigned - { typedef unsigned long __type; }; - - template<> - struct __add_unsigned - { typedef unsigned long long __type; }; - - - template<> - struct __add_unsigned; - - template<> - struct __add_unsigned; - - - - template - struct __remove_unsigned - { - private: - typedef __enable_if::__value, _Tp> __if_type; - - public: - typedef typename __if_type::__type __type; - }; - - template<> - struct __remove_unsigned - { typedef signed char __type; }; - - template<> - struct __remove_unsigned - { typedef signed char __type; }; - - template<> - struct __remove_unsigned - { typedef short __type; }; - - template<> - struct __remove_unsigned - { typedef int __type; }; - - template<> - struct __remove_unsigned - { typedef long __type; }; - - template<> - struct __remove_unsigned - { typedef long long __type; }; - - - template<> - struct __remove_unsigned; - - template<> - struct __remove_unsigned; - - - - template - inline bool - __is_null_pointer(_Type* __ptr) - { return __ptr == 0; } - - template - inline bool - __is_null_pointer(_Type) - { return false; } - - - inline bool - __is_null_pointer(std::nullptr_t) - { return true; } - - - - - template::__value> - struct __promote - { typedef double __type; }; - - - - - template - struct __promote<_Tp, false> - { }; - - template<> - struct __promote - { typedef long double __type; }; - - template<> - struct __promote - { typedef double __type; }; - - template<> - struct __promote - { typedef float __type; }; - - - template - using __promoted_t = decltype((typename __promote<_Tp>::__type(0) + ...)); - - - template::__type, - typename _Up2 = typename __promote<_Up>::__type> - struct __promote_2 - { - typedef __typeof__(_Tp2() + _Up2()) __type; - }; - - template::__type, - typename _Up2 = typename __promote<_Up>::__type, - typename _Vp2 = typename __promote<_Vp>::__type> - struct __promote_3 - { - typedef __typeof__(_Tp2() + _Up2() + _Vp2()) __type; - }; - - template::__type, - typename _Up2 = typename __promote<_Up>::__type, - typename _Vp2 = typename __promote<_Vp>::__type, - typename _Wp2 = typename __promote<_Wp>::__type> - struct __promote_4 - { - typedef __typeof__(_Tp2() + _Up2() + _Vp2() + _Wp2()) __type; - }; - - -} -} -# 63 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 2 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/numeric_traits.h" 1 3 -# 32 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/numeric_traits.h" 3 - -# 33 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/numeric_traits.h" 3 - - - - -namespace __gnu_cxx -{ - -# 50 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/numeric_traits.h" 3 - template - struct __is_integer_nonstrict - : public std::__is_integer<_Tp> - { - using std::__is_integer<_Tp>::__value; - - - enum { __width = __value ? sizeof(_Tp) * 8 : 0 }; - }; - - template - struct __numeric_traits_integer - { - - static_assert(__is_integer_nonstrict<_Value>::__value, - "invalid specialization"); - - - - - static const bool __is_signed = (_Value)(-1) < 0; - static const int __digits - = __is_integer_nonstrict<_Value>::__width - __is_signed; - - - static const _Value __max = __is_signed - ? (((((_Value)1 << (__digits - 1)) - 1) << 1) + 1) - : ~(_Value)0; - static const _Value __min = __is_signed ? -__max - 1 : (_Value)0; - }; - - template - const _Value __numeric_traits_integer<_Value>::__min; - - template - const _Value __numeric_traits_integer<_Value>::__max; - - template - const bool __numeric_traits_integer<_Value>::__is_signed; - - template - const int __numeric_traits_integer<_Value>::__digits; -# 135 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/numeric_traits.h" 3 - template - using __int_traits = __numeric_traits_integer<_Tp>; -# 155 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/numeric_traits.h" 3 - template - struct __numeric_traits_floating - { - - static const int __max_digits10 = (2 + (std::__are_same<_Value, float>::__value ? 24 : std::__are_same<_Value, double>::__value ? 53 : 64) * 643L / 2136); - - - static const bool __is_signed = true; - static const int __digits10 = (std::__are_same<_Value, float>::__value ? 6 : std::__are_same<_Value, double>::__value ? 15 : 18); - static const int __max_exponent10 = (std::__are_same<_Value, float>::__value ? 38 : std::__are_same<_Value, double>::__value ? 308 : 4932); - }; - - template - const int __numeric_traits_floating<_Value>::__max_digits10; - - template - const bool __numeric_traits_floating<_Value>::__is_signed; - - template - const int __numeric_traits_floating<_Value>::__digits10; - - template - const int __numeric_traits_floating<_Value>::__max_exponent10; - - - - - - - template - struct __numeric_traits - : public __numeric_traits_integer<_Value> - { }; - - template<> - struct __numeric_traits - : public __numeric_traits_floating - { }; - - template<> - struct __numeric_traits - : public __numeric_traits_floating - { }; - - template<> - struct __numeric_traits - : public __numeric_traits_floating - { }; -# 236 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/numeric_traits.h" 3 - -} -# 64 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 2 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_pair.h" 1 3 -# 59 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_pair.h" 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/move.h" 1 3 -# 38 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/move.h" 3 -namespace std -{ - - - - - - - - template - inline constexpr _Tp* - __addressof(_Tp& __r) noexcept - { return __builtin_addressof(__r); } - - - - -} - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/type_traits" 1 3 -# 32 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/type_traits" 3 - -# 33 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/type_traits" 3 - - - - - - - -namespace std -{ - - - template - class tuple; - - template - class reference_wrapper; -# 64 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/type_traits" 3 - template - struct integral_constant - { - static constexpr _Tp value = __v; - typedef _Tp value_type; - typedef integral_constant<_Tp, __v> type; - constexpr operator value_type() const noexcept { return value; } - - - - - constexpr value_type operator()() const noexcept { return value; } - - }; - - template - constexpr _Tp integral_constant<_Tp, __v>::value; - - - using true_type = integral_constant; - - - using false_type = integral_constant; - - - - template - using __bool_constant = integral_constant; - - - - - - - template - using bool_constant = integral_constant; - - - - - template - struct conditional; - - - template - struct __type_identity - { using type = _Type; }; - - template - using __type_identity_t = typename __type_identity<_Tp>::type; - - template - struct __or_; - - template<> - struct __or_<> - : public false_type - { }; - - template - struct __or_<_B1> - : public _B1 - { }; - - template - struct __or_<_B1, _B2> - : public conditional<_B1::value, _B1, _B2>::type - { }; - - template - struct __or_<_B1, _B2, _B3, _Bn...> - : public conditional<_B1::value, _B1, __or_<_B2, _B3, _Bn...>>::type - { }; - - template - struct __and_; - - template<> - struct __and_<> - : public true_type - { }; - - template - struct __and_<_B1> - : public _B1 - { }; - - template - struct __and_<_B1, _B2> - : public conditional<_B1::value, _B2, _B1>::type - { }; - - template - struct __and_<_B1, _B2, _B3, _Bn...> - : public conditional<_B1::value, __and_<_B2, _B3, _Bn...>, _B1>::type - { }; - - template - struct __not_ - : public __bool_constant - { }; - - - - - - template - inline constexpr bool __or_v = __or_<_Bn...>::value; - template - inline constexpr bool __and_v = __and_<_Bn...>::value; - - - - - template - struct conjunction - : __and_<_Bn...> - { }; - - template - struct disjunction - : __or_<_Bn...> - { }; - - template - struct negation - : __not_<_Pp> - { }; - - - - - template - inline constexpr bool conjunction_v = conjunction<_Bn...>::value; - - template - inline constexpr bool disjunction_v = disjunction<_Bn...>::value; - - template - inline constexpr bool negation_v = negation<_Pp>::value; - - - - - - template - struct is_reference; - template - struct is_function; - template - struct is_void; - template - struct remove_cv; - template - struct is_const; - - - template - struct __is_array_unknown_bounds; - - - - - template - constexpr true_type __is_complete_or_unbounded(__type_identity<_Tp>) - { return {}; } - - template - constexpr typename __or_< - is_reference<_NestedType>, - is_function<_NestedType>, - is_void<_NestedType>, - __is_array_unknown_bounds<_NestedType> - >::type __is_complete_or_unbounded(_TypeIdentity) - { return {}; } - - - - - - - template - struct __success_type - { typedef _Tp type; }; - - struct __failure_type - { }; - - - template - using __remove_cv_t = typename remove_cv<_Tp>::type; - - - - template - struct __is_void_helper - : public false_type { }; - - template<> - struct __is_void_helper - : public true_type { }; - - - - template - struct is_void - : public __is_void_helper<__remove_cv_t<_Tp>>::type - { }; - - - template - struct __is_integral_helper - : public false_type { }; - - template<> - struct __is_integral_helper - : public true_type { }; - - template<> - struct __is_integral_helper - : public true_type { }; - - template<> - struct __is_integral_helper - : public true_type { }; - - template<> - struct __is_integral_helper - : public true_type { }; - - - - - - template<> - struct __is_integral_helper - : public true_type { }; -# 310 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/type_traits" 3 - template<> - struct __is_integral_helper - : public true_type { }; - - template<> - struct __is_integral_helper - : public true_type { }; - - template<> - struct __is_integral_helper - : public true_type { }; - - template<> - struct __is_integral_helper - : public true_type { }; - - template<> - struct __is_integral_helper - : public true_type { }; - - template<> - struct __is_integral_helper - : public true_type { }; - - template<> - struct __is_integral_helper - : public true_type { }; - - template<> - struct __is_integral_helper - : public true_type { }; - - template<> - struct __is_integral_helper - : public true_type { }; - - template<> - struct __is_integral_helper - : public true_type { }; - - - - - template<> - struct __is_integral_helper<__int128> - : public true_type { }; - - template<> - struct __is_integral_helper - : public true_type { }; -# 391 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/type_traits" 3 - template - struct is_integral - : public __is_integral_helper<__remove_cv_t<_Tp>>::type - { }; - - - template - struct __is_floating_point_helper - : public false_type { }; - - template<> - struct __is_floating_point_helper - : public true_type { }; - - template<> - struct __is_floating_point_helper - : public true_type { }; - - template<> - struct __is_floating_point_helper - : public true_type { }; - - - template<> - struct __is_floating_point_helper<__float128> - : public true_type { }; - - - - - template - struct is_floating_point - : public __is_floating_point_helper<__remove_cv_t<_Tp>>::type - { }; - - - template - struct is_array - : public false_type { }; - - template - struct is_array<_Tp[_Size]> - : public true_type { }; - - template - struct is_array<_Tp[]> - : public true_type { }; - - template - struct __is_pointer_helper - : public false_type { }; - - template - struct __is_pointer_helper<_Tp*> - : public true_type { }; - - - template - struct is_pointer - : public __is_pointer_helper<__remove_cv_t<_Tp>>::type - { }; - - - template - struct is_lvalue_reference - : public false_type { }; - - template - struct is_lvalue_reference<_Tp&> - : public true_type { }; - - - template - struct is_rvalue_reference - : public false_type { }; - - template - struct is_rvalue_reference<_Tp&&> - : public true_type { }; - - template - struct __is_member_object_pointer_helper - : public false_type { }; - - template - struct __is_member_object_pointer_helper<_Tp _Cp::*> - : public __not_>::type { }; - - - template - struct is_member_object_pointer - : public __is_member_object_pointer_helper<__remove_cv_t<_Tp>>::type - { }; - - template - struct __is_member_function_pointer_helper - : public false_type { }; - - template - struct __is_member_function_pointer_helper<_Tp _Cp::*> - : public is_function<_Tp>::type { }; - - - template - struct is_member_function_pointer - : public __is_member_function_pointer_helper<__remove_cv_t<_Tp>>::type - { }; - - - template - struct is_enum - : public integral_constant - { }; - - - template - struct is_union - : public integral_constant - { }; - - - template - struct is_class - : public integral_constant - { }; - - - template - struct is_function - : public __bool_constant::value> { }; - - template - struct is_function<_Tp&> - : public false_type { }; - - template - struct is_function<_Tp&&> - : public false_type { }; - - - - template - struct __is_null_pointer_helper - : public false_type { }; - - template<> - struct __is_null_pointer_helper - : public true_type { }; - - - template - struct is_null_pointer - : public __is_null_pointer_helper<__remove_cv_t<_Tp>>::type - { }; - - - - template - struct __is_nullptr_t - : public is_null_pointer<_Tp> - { } __attribute__ ((__deprecated__ ("use '" "std::is_null_pointer" "' instead"))); - - - - - template - struct is_reference - : public __or_, - is_rvalue_reference<_Tp>>::type - { }; - - - template - struct is_arithmetic - : public __or_, is_floating_point<_Tp>>::type - { }; - - - template - struct is_fundamental - : public __or_, is_void<_Tp>, - is_null_pointer<_Tp>>::type - { }; - - - template - struct is_object - : public __not_<__or_, is_reference<_Tp>, - is_void<_Tp>>>::type - { }; - - template - struct is_member_pointer; - - - template - struct is_scalar - : public __or_, is_enum<_Tp>, is_pointer<_Tp>, - is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type - { }; - - - template - struct is_compound - : public __not_>::type { }; - - - template - struct __is_member_pointer_helper - : public false_type { }; - - template - struct __is_member_pointer_helper<_Tp _Cp::*> - : public true_type { }; - - - - template - struct is_member_pointer - : public __is_member_pointer_helper<__remove_cv_t<_Tp>>::type - { }; - - template - struct is_same; - - - template - using __is_one_of = __or_...>; - - - template - using __is_signed_integer = __is_one_of<__remove_cv_t<_Tp>, - signed char, signed short, signed int, signed long, - signed long long - - , signed __int128 -# 637 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/type_traits" 3 - >; - - - template - using __is_unsigned_integer = __is_one_of<__remove_cv_t<_Tp>, - unsigned char, unsigned short, unsigned int, unsigned long, - unsigned long long - - , unsigned __int128 -# 656 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/type_traits" 3 - >; - - - template - using __is_standard_integer - = __or_<__is_signed_integer<_Tp>, __is_unsigned_integer<_Tp>>; - - - template using __void_t = void; - - - - template - struct __is_referenceable - : public false_type - { }; - - template - struct __is_referenceable<_Tp, __void_t<_Tp&>> - : public true_type - { }; - - - - - - template - struct is_const - : public false_type { }; - - template - struct is_const<_Tp const> - : public true_type { }; - - - template - struct is_volatile - : public false_type { }; - - template - struct is_volatile<_Tp volatile> - : public true_type { }; - - - template - struct is_trivial - : public integral_constant - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - template - struct is_trivially_copyable - : public integral_constant - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - template - struct is_standard_layout - : public integral_constant - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - - - - template - struct - - is_pod - : public integral_constant - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - - - template - struct - [[__deprecated__]] - is_literal_type - : public integral_constant - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - template - struct is_empty - : public integral_constant - { }; - - - template - struct is_polymorphic - : public integral_constant - { }; - - - - - - template - struct is_final - : public integral_constant - { }; - - - - template - struct is_abstract - : public integral_constant - { }; - - - template::value> - struct __is_signed_helper - : public false_type { }; - - template - struct __is_signed_helper<_Tp, true> - : public integral_constant - { }; - - - - template - struct is_signed - : public __is_signed_helper<_Tp>::type - { }; - - - template - struct is_unsigned - : public __and_, __not_>> - { }; - - - template - _Up - __declval(int); - - template - _Tp - __declval(long); - - - template - auto declval() noexcept -> decltype(__declval<_Tp>(0)); - - template - struct extent; - - template - struct remove_all_extents; - - - template - struct __is_array_known_bounds - : public integral_constant::value > 0)> - { }; - - template - struct __is_array_unknown_bounds - : public __and_, __not_>> - { }; -# 842 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/type_traits" 3 - struct __do_is_destructible_impl - { - template().~_Tp())> - static true_type __test(int); - - template - static false_type __test(...); - }; - - template - struct __is_destructible_impl - : public __do_is_destructible_impl - { - typedef decltype(__test<_Tp>(0)) type; - }; - - template, - __is_array_unknown_bounds<_Tp>, - is_function<_Tp>>::value, - bool = __or_, is_scalar<_Tp>>::value> - struct __is_destructible_safe; - - template - struct __is_destructible_safe<_Tp, false, false> - : public __is_destructible_impl::type>::type - { }; - - template - struct __is_destructible_safe<_Tp, true, false> - : public false_type { }; - - template - struct __is_destructible_safe<_Tp, false, true> - : public true_type { }; - - - - template - struct is_destructible - : public __is_destructible_safe<_Tp>::type - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - - - - - - struct __do_is_nt_destructible_impl - { - template - static __bool_constant().~_Tp())> - __test(int); - - template - static false_type __test(...); - }; - - template - struct __is_nt_destructible_impl - : public __do_is_nt_destructible_impl - { - typedef decltype(__test<_Tp>(0)) type; - }; - - template, - __is_array_unknown_bounds<_Tp>, - is_function<_Tp>>::value, - bool = __or_, is_scalar<_Tp>>::value> - struct __is_nt_destructible_safe; - - template - struct __is_nt_destructible_safe<_Tp, false, false> - : public __is_nt_destructible_impl::type>::type - { }; - - template - struct __is_nt_destructible_safe<_Tp, true, false> - : public false_type { }; - - template - struct __is_nt_destructible_safe<_Tp, false, true> - : public true_type { }; - - - - template - struct is_nothrow_destructible - : public __is_nt_destructible_safe<_Tp>::type - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - template - struct __is_constructible_impl - : public __bool_constant<__is_constructible(_Tp, _Args...)> - { }; - - - - template - struct is_constructible - : public __is_constructible_impl<_Tp, _Args...> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - template - struct is_default_constructible - : public __is_constructible_impl<_Tp>::type - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - template::value> - struct __is_copy_constructible_impl; - - template - struct __is_copy_constructible_impl<_Tp, false> - : public false_type { }; - - template - struct __is_copy_constructible_impl<_Tp, true> - : public __is_constructible_impl<_Tp, const _Tp&> - { }; - - - - template - struct is_copy_constructible - : public __is_copy_constructible_impl<_Tp> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - template::value> - struct __is_move_constructible_impl; - - template - struct __is_move_constructible_impl<_Tp, false> - : public false_type { }; - - template - struct __is_move_constructible_impl<_Tp, true> - : public __is_constructible_impl<_Tp, _Tp&&> - { }; - - - - template - struct is_move_constructible - : public __is_move_constructible_impl<_Tp> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - template - using __is_nothrow_constructible_impl - = __bool_constant<__is_nothrow_constructible(_Tp, _Args...)>; - - - - template - struct is_nothrow_constructible - : public __is_nothrow_constructible_impl<_Tp, _Args...>::type - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - template - struct is_nothrow_default_constructible - : public __bool_constant<__is_nothrow_constructible(_Tp)> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - template::value> - struct __is_nothrow_copy_constructible_impl; - - template - struct __is_nothrow_copy_constructible_impl<_Tp, false> - : public false_type { }; - - template - struct __is_nothrow_copy_constructible_impl<_Tp, true> - : public __is_nothrow_constructible_impl<_Tp, const _Tp&> - { }; - - - - template - struct is_nothrow_copy_constructible - : public __is_nothrow_copy_constructible_impl<_Tp>::type - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - template::value> - struct __is_nothrow_move_constructible_impl; - - template - struct __is_nothrow_move_constructible_impl<_Tp, false> - : public false_type { }; - - template - struct __is_nothrow_move_constructible_impl<_Tp, true> - : public __is_nothrow_constructible_impl<_Tp, _Tp&&> - { }; - - - - template - struct is_nothrow_move_constructible - : public __is_nothrow_move_constructible_impl<_Tp>::type - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - template - struct is_assignable - : public __bool_constant<__is_assignable(_Tp, _Up)> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - template::value> - struct __is_copy_assignable_impl; - - template - struct __is_copy_assignable_impl<_Tp, false> - : public false_type { }; - - template - struct __is_copy_assignable_impl<_Tp, true> - : public __bool_constant<__is_assignable(_Tp&, const _Tp&)> - { }; - - - template - struct is_copy_assignable - : public __is_copy_assignable_impl<_Tp>::type - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - template::value> - struct __is_move_assignable_impl; - - template - struct __is_move_assignable_impl<_Tp, false> - : public false_type { }; - - template - struct __is_move_assignable_impl<_Tp, true> - : public __bool_constant<__is_assignable(_Tp&, _Tp&&)> - { }; - - - template - struct is_move_assignable - : public __is_move_assignable_impl<_Tp>::type - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - template - using __is_nothrow_assignable_impl - = __bool_constant<__is_nothrow_assignable(_Tp, _Up)>; - - - template - struct is_nothrow_assignable - : public __is_nothrow_assignable_impl<_Tp, _Up> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - template::value> - struct __is_nt_copy_assignable_impl; - - template - struct __is_nt_copy_assignable_impl<_Tp, false> - : public false_type { }; - - template - struct __is_nt_copy_assignable_impl<_Tp, true> - : public __is_nothrow_assignable_impl<_Tp&, const _Tp&> - { }; - - - template - struct is_nothrow_copy_assignable - : public __is_nt_copy_assignable_impl<_Tp> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - template::value> - struct __is_nt_move_assignable_impl; - - template - struct __is_nt_move_assignable_impl<_Tp, false> - : public false_type { }; - - template - struct __is_nt_move_assignable_impl<_Tp, true> - : public __is_nothrow_assignable_impl<_Tp&, _Tp&&> - { }; - - - template - struct is_nothrow_move_assignable - : public __is_nt_move_assignable_impl<_Tp> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - template - struct is_trivially_constructible - : public __bool_constant<__is_trivially_constructible(_Tp, _Args...)> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - template - struct is_trivially_default_constructible - : public __bool_constant<__is_trivially_constructible(_Tp)> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - struct __do_is_implicitly_default_constructible_impl - { - template - static void __helper(const _Tp&); - - template - static true_type __test(const _Tp&, - decltype(__helper({}))* = 0); - - static false_type __test(...); - }; - - template - struct __is_implicitly_default_constructible_impl - : public __do_is_implicitly_default_constructible_impl - { - typedef decltype(__test(declval<_Tp>())) type; - }; - - template - struct __is_implicitly_default_constructible_safe - : public __is_implicitly_default_constructible_impl<_Tp>::type - { }; - - template - struct __is_implicitly_default_constructible - : public __and_<__is_constructible_impl<_Tp>, - __is_implicitly_default_constructible_safe<_Tp>> - { }; - - template::value> - struct __is_trivially_copy_constructible_impl; - - template - struct __is_trivially_copy_constructible_impl<_Tp, false> - : public false_type { }; - - template - struct __is_trivially_copy_constructible_impl<_Tp, true> - : public __and_<__is_copy_constructible_impl<_Tp>, - integral_constant> - { }; - - - template - struct is_trivially_copy_constructible - : public __is_trivially_copy_constructible_impl<_Tp> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - template::value> - struct __is_trivially_move_constructible_impl; - - template - struct __is_trivially_move_constructible_impl<_Tp, false> - : public false_type { }; - - template - struct __is_trivially_move_constructible_impl<_Tp, true> - : public __and_<__is_move_constructible_impl<_Tp>, - integral_constant> - { }; - - - template - struct is_trivially_move_constructible - : public __is_trivially_move_constructible_impl<_Tp> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - template - struct is_trivially_assignable - : public __bool_constant<__is_trivially_assignable(_Tp, _Up)> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - template::value> - struct __is_trivially_copy_assignable_impl; - - template - struct __is_trivially_copy_assignable_impl<_Tp, false> - : public false_type { }; - - template - struct __is_trivially_copy_assignable_impl<_Tp, true> - : public __bool_constant<__is_trivially_assignable(_Tp&, const _Tp&)> - { }; - - - template - struct is_trivially_copy_assignable - : public __is_trivially_copy_assignable_impl<_Tp> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - template::value> - struct __is_trivially_move_assignable_impl; - - template - struct __is_trivially_move_assignable_impl<_Tp, false> - : public false_type { }; - - template - struct __is_trivially_move_assignable_impl<_Tp, true> - : public __bool_constant<__is_trivially_assignable(_Tp&, _Tp&&)> - { }; - - - template - struct is_trivially_move_assignable - : public __is_trivially_move_assignable_impl<_Tp> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - template - struct is_trivially_destructible - : public __and_<__is_destructible_safe<_Tp>, - __bool_constant<__has_trivial_destructor(_Tp)>> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - - template - struct has_virtual_destructor - : public integral_constant - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - - - - template - struct alignment_of - : public integral_constant - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - template - struct rank - : public integral_constant { }; - - template - struct rank<_Tp[_Size]> - : public integral_constant::value> { }; - - template - struct rank<_Tp[]> - : public integral_constant::value> { }; - - - template - struct extent - : public integral_constant { }; - - template - struct extent<_Tp[_Size], _Uint> - : public integral_constant::value> - { }; - - template - struct extent<_Tp[], _Uint> - : public integral_constant::value> - { }; - - - - - - template - struct is_same - - : public integral_constant - - - - { }; -# 1420 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/type_traits" 3 - template - struct is_base_of - : public integral_constant - { }; - - template, is_function<_To>, - is_array<_To>>::value> - struct __is_convertible_helper - { - typedef typename is_void<_To>::type type; - }; - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wctor-dtor-privacy" - template - class __is_convertible_helper<_From, _To, false> - { - template - static void __test_aux(_To1) noexcept; - - template(std::declval<_From1>()))> - static true_type - __test(int); - - template - static false_type - __test(...); - - public: - typedef decltype(__test<_From, _To>(0)) type; - }; -#pragma GCC diagnostic pop - - - template - struct is_convertible - : public __is_convertible_helper<_From, _To>::type - { }; - - - template - using __is_array_convertible - = is_convertible<_FromElementType(*)[], _ToElementType(*)[]>; - - template, is_function<_To>, - is_array<_To>>::value> - struct __is_nt_convertible_helper - : is_void<_To> - { }; - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wctor-dtor-privacy" - template - class __is_nt_convertible_helper<_From, _To, false> - { - template - static void __test_aux(_To1) noexcept; - - template - static - __bool_constant(std::declval<_From1>()))> - __test(int); - - template - static false_type - __test(...); - - public: - using type = decltype(__test<_From, _To>(0)); - }; -#pragma GCC diagnostic pop -# 1512 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/type_traits" 3 - template - struct remove_const - { typedef _Tp type; }; - - template - struct remove_const<_Tp const> - { typedef _Tp type; }; - - - template - struct remove_volatile - { typedef _Tp type; }; - - template - struct remove_volatile<_Tp volatile> - { typedef _Tp type; }; - - - template - struct remove_cv - { using type = _Tp; }; - - template - struct remove_cv - { using type = _Tp; }; - - template - struct remove_cv - { using type = _Tp; }; - - template - struct remove_cv - { using type = _Tp; }; - - - template - struct add_const - { typedef _Tp const type; }; - - - template - struct add_volatile - { typedef _Tp volatile type; }; - - - template - struct add_cv - { - typedef typename - add_const::type>::type type; - }; - - - - - - - template - using remove_const_t = typename remove_const<_Tp>::type; - - - template - using remove_volatile_t = typename remove_volatile<_Tp>::type; - - - template - using remove_cv_t = typename remove_cv<_Tp>::type; - - - template - using add_const_t = typename add_const<_Tp>::type; - - - template - using add_volatile_t = typename add_volatile<_Tp>::type; - - - template - using add_cv_t = typename add_cv<_Tp>::type; - - - - - - template - struct remove_reference - { typedef _Tp type; }; - - template - struct remove_reference<_Tp&> - { typedef _Tp type; }; - - template - struct remove_reference<_Tp&&> - { typedef _Tp type; }; - - template::value> - struct __add_lvalue_reference_helper - { typedef _Tp type; }; - - template - struct __add_lvalue_reference_helper<_Tp, true> - { typedef _Tp& type; }; - - - template - struct add_lvalue_reference - : public __add_lvalue_reference_helper<_Tp> - { }; - - template::value> - struct __add_rvalue_reference_helper - { typedef _Tp type; }; - - template - struct __add_rvalue_reference_helper<_Tp, true> - { typedef _Tp&& type; }; - - - template - struct add_rvalue_reference - : public __add_rvalue_reference_helper<_Tp> - { }; - - - - template - using remove_reference_t = typename remove_reference<_Tp>::type; - - - template - using add_lvalue_reference_t = typename add_lvalue_reference<_Tp>::type; - - - template - using add_rvalue_reference_t = typename add_rvalue_reference<_Tp>::type; - - - - - - - - template - struct __cv_selector; - - template - struct __cv_selector<_Unqualified, false, false> - { typedef _Unqualified __type; }; - - template - struct __cv_selector<_Unqualified, false, true> - { typedef volatile _Unqualified __type; }; - - template - struct __cv_selector<_Unqualified, true, false> - { typedef const _Unqualified __type; }; - - template - struct __cv_selector<_Unqualified, true, true> - { typedef const volatile _Unqualified __type; }; - - template::value, - bool _IsVol = is_volatile<_Qualified>::value> - class __match_cv_qualifiers - { - typedef __cv_selector<_Unqualified, _IsConst, _IsVol> __match; - - public: - typedef typename __match::__type __type; - }; - - - template - struct __make_unsigned - { typedef _Tp __type; }; - - template<> - struct __make_unsigned - { typedef unsigned char __type; }; - - template<> - struct __make_unsigned - { typedef unsigned char __type; }; - - template<> - struct __make_unsigned - { typedef unsigned short __type; }; - - template<> - struct __make_unsigned - { typedef unsigned int __type; }; - - template<> - struct __make_unsigned - { typedef unsigned long __type; }; - - template<> - struct __make_unsigned - { typedef unsigned long long __type; }; - - - template<> - struct __make_unsigned<__int128> - { typedef unsigned __int128 __type; }; -# 1736 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/type_traits" 3 - template::value, - bool _IsEnum = is_enum<_Tp>::value> - class __make_unsigned_selector; - - template - class __make_unsigned_selector<_Tp, true, false> - { - using __unsigned_type - = typename __make_unsigned<__remove_cv_t<_Tp>>::__type; - - public: - using __type - = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type; - }; - - class __make_unsigned_selector_base - { - protected: - template struct _List { }; - - template - struct _List<_Tp, _Up...> : _List<_Up...> - { static constexpr size_t __size = sizeof(_Tp); }; - - template - struct __select; - - template - struct __select<_Sz, _List<_Uint, _UInts...>, true> - { using __type = _Uint; }; - - template - struct __select<_Sz, _List<_Uint, _UInts...>, false> - : __select<_Sz, _List<_UInts...>> - { }; - }; - - - template - class __make_unsigned_selector<_Tp, false, true> - : __make_unsigned_selector_base - { - - using _UInts = _List; - - using __unsigned_type = typename __select::__type; - - public: - using __type - = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type; - }; - - - - - - - template<> - struct __make_unsigned - { - using __type - = typename __make_unsigned_selector::__type; - }; -# 1812 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/type_traits" 3 - template<> - struct __make_unsigned - { - using __type - = typename __make_unsigned_selector::__type; - }; - - template<> - struct __make_unsigned - { - using __type - = typename __make_unsigned_selector::__type; - }; - - - - - - - template - struct make_unsigned - { typedef typename __make_unsigned_selector<_Tp>::__type type; }; - - - template<> - struct make_unsigned; - - - - - template - struct __make_signed - { typedef _Tp __type; }; - - template<> - struct __make_signed - { typedef signed char __type; }; - - template<> - struct __make_signed - { typedef signed char __type; }; - - template<> - struct __make_signed - { typedef signed short __type; }; - - template<> - struct __make_signed - { typedef signed int __type; }; - - template<> - struct __make_signed - { typedef signed long __type; }; - - template<> - struct __make_signed - { typedef signed long long __type; }; - - - template<> - struct __make_signed - { typedef __int128 __type; }; -# 1892 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/type_traits" 3 - template::value, - bool _IsEnum = is_enum<_Tp>::value> - class __make_signed_selector; - - template - class __make_signed_selector<_Tp, true, false> - { - using __signed_type - = typename __make_signed<__remove_cv_t<_Tp>>::__type; - - public: - using __type - = typename __match_cv_qualifiers<_Tp, __signed_type>::__type; - }; - - - template - class __make_signed_selector<_Tp, false, true> - { - typedef typename __make_unsigned_selector<_Tp>::__type __unsigned_type; - - public: - typedef typename __make_signed_selector<__unsigned_type>::__type __type; - }; - - - - - - - template<> - struct __make_signed - { - using __type - = typename __make_signed_selector::__type; - }; -# 1940 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/type_traits" 3 - template<> - struct __make_signed - { - using __type - = typename __make_signed_selector::__type; - }; - - template<> - struct __make_signed - { - using __type - = typename __make_signed_selector::__type; - }; - - - - - - - template - struct make_signed - { typedef typename __make_signed_selector<_Tp>::__type type; }; - - - template<> - struct make_signed; - - - - template - using make_signed_t = typename make_signed<_Tp>::type; - - - template - using make_unsigned_t = typename make_unsigned<_Tp>::type; - - - - - - template - struct remove_extent - { typedef _Tp type; }; - - template - struct remove_extent<_Tp[_Size]> - { typedef _Tp type; }; - - template - struct remove_extent<_Tp[]> - { typedef _Tp type; }; - - - template - struct remove_all_extents - { typedef _Tp type; }; - - template - struct remove_all_extents<_Tp[_Size]> - { typedef typename remove_all_extents<_Tp>::type type; }; - - template - struct remove_all_extents<_Tp[]> - { typedef typename remove_all_extents<_Tp>::type type; }; - - - - template - using remove_extent_t = typename remove_extent<_Tp>::type; - - - template - using remove_all_extents_t = typename remove_all_extents<_Tp>::type; - - - - - template - struct __remove_pointer_helper - { typedef _Tp type; }; - - template - struct __remove_pointer_helper<_Tp, _Up*> - { typedef _Up type; }; - - - template - struct remove_pointer - : public __remove_pointer_helper<_Tp, __remove_cv_t<_Tp>> - { }; - - template, - is_void<_Tp>>::value> - struct __add_pointer_helper - { typedef _Tp type; }; - - template - struct __add_pointer_helper<_Tp, true> - { typedef typename remove_reference<_Tp>::type* type; }; - - - template - struct add_pointer - : public __add_pointer_helper<_Tp> - { }; - - - - template - using remove_pointer_t = typename remove_pointer<_Tp>::type; - - - template - using add_pointer_t = typename add_pointer<_Tp>::type; - - - template - struct __aligned_storage_msa - { - union __type - { - unsigned char __data[_Len]; - struct __attribute__((__aligned__)) { } __align; - }; - }; -# 2076 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/type_traits" 3 - template::__type)> - struct aligned_storage - { - union type - { - unsigned char __data[_Len]; - struct __attribute__((__aligned__((_Align)))) { } __align; - }; - }; - - template - struct __strictest_alignment - { - static const size_t _S_alignment = 0; - static const size_t _S_size = 0; - }; - - template - struct __strictest_alignment<_Tp, _Types...> - { - static const size_t _S_alignment = - alignof(_Tp) > __strictest_alignment<_Types...>::_S_alignment - ? alignof(_Tp) : __strictest_alignment<_Types...>::_S_alignment; - static const size_t _S_size = - sizeof(_Tp) > __strictest_alignment<_Types...>::_S_size - ? sizeof(_Tp) : __strictest_alignment<_Types...>::_S_size; - }; -# 2115 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/type_traits" 3 - template - struct aligned_union - { - private: - static_assert(sizeof...(_Types) != 0, "At least one type is required"); - - using __strictest = __strictest_alignment<_Types...>; - static const size_t _S_len = _Len > __strictest::_S_size - ? _Len : __strictest::_S_size; - public: - - static const size_t alignment_value = __strictest::_S_alignment; - - typedef typename aligned_storage<_S_len, alignment_value>::type type; - }; - - template - const size_t aligned_union<_Len, _Types...>::alignment_value; - - - - - - template::value, - bool _IsFunction = is_function<_Up>::value> - struct __decay_selector; - - - template - struct __decay_selector<_Up, false, false> - { typedef __remove_cv_t<_Up> __type; }; - - template - struct __decay_selector<_Up, true, false> - { typedef typename remove_extent<_Up>::type* __type; }; - - template - struct __decay_selector<_Up, false, true> - { typedef typename add_pointer<_Up>::type __type; }; - - - - template - class decay - { - typedef typename remove_reference<_Tp>::type __remove_type; - - public: - typedef typename __decay_selector<__remove_type>::__type type; - }; - - - - - template - struct __strip_reference_wrapper - { - typedef _Tp __type; - }; - - template - struct __strip_reference_wrapper > - { - typedef _Tp& __type; - }; - - - template - using __decay_t = typename decay<_Tp>::type; - - template - using __decay_and_strip = __strip_reference_wrapper<__decay_t<_Tp>>; - - - - - template - struct enable_if - { }; - - - template - struct enable_if - { typedef _Tp type; }; - - - - - template - using __enable_if_t = typename enable_if<_Cond, _Tp>::type; - - - template - using _Require = __enable_if_t<__and_<_Cond...>::value>; - - - template - using __remove_cvref_t - = typename remove_cv::type>::type; - - - - - template - struct conditional - { typedef _Iftrue type; }; - - - template - struct conditional - { typedef _Iffalse type; }; - - - template - struct common_type; - - - - - struct __do_common_type_impl - { - template - using __cond_t - = decltype(true ? std::declval<_Tp>() : std::declval<_Up>()); - - - - template - static __success_type<__decay_t<__cond_t<_Tp, _Up>>> - _S_test(int); -# 2255 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/type_traits" 3 - template - static __failure_type - _S_test_2(...); - - template - static decltype(_S_test_2<_Tp, _Up>(0)) - _S_test(...); - }; - - - template<> - struct common_type<> - { }; - - - template - struct common_type<_Tp0> - : public common_type<_Tp0, _Tp0> - { }; - - - template, typename _Dp2 = __decay_t<_Tp2>> - struct __common_type_impl - { - - - using type = common_type<_Dp1, _Dp2>; - }; - - template - struct __common_type_impl<_Tp1, _Tp2, _Tp1, _Tp2> - : private __do_common_type_impl - { - - - using type = decltype(_S_test<_Tp1, _Tp2>(0)); - }; - - - template - struct common_type<_Tp1, _Tp2> - : public __common_type_impl<_Tp1, _Tp2>::type - { }; - - template - struct __common_type_pack - { }; - - template - struct __common_type_fold; - - - template - struct common_type<_Tp1, _Tp2, _Rp...> - : public __common_type_fold, - __common_type_pack<_Rp...>> - { }; - - - - - template - struct __common_type_fold<_CTp, __common_type_pack<_Rp...>, - __void_t> - : public common_type - { }; - - - template - struct __common_type_fold<_CTp, _Rp, void> - { }; - - template::value> - struct __underlying_type_impl - { - using type = __underlying_type(_Tp); - }; - - template - struct __underlying_type_impl<_Tp, false> - { }; - - - - template - struct underlying_type - : public __underlying_type_impl<_Tp> - { }; - - - template - struct __declval_protector - { - static const bool __stop = false; - }; - - - - - - - template - auto declval() noexcept -> decltype(__declval<_Tp>(0)) - { - static_assert(__declval_protector<_Tp>::__stop, - "declval() must not be used!"); - return __declval<_Tp>(0); - } - - - template - struct result_of; - - - - - - - struct __invoke_memfun_ref { }; - struct __invoke_memfun_deref { }; - struct __invoke_memobj_ref { }; - struct __invoke_memobj_deref { }; - struct __invoke_other { }; - - - template - struct __result_of_success : __success_type<_Tp> - { using __invoke_type = _Tag; }; - - - struct __result_of_memfun_ref_impl - { - template - static __result_of_success().*std::declval<_Fp>())(std::declval<_Args>()...) - ), __invoke_memfun_ref> _S_test(int); - - template - static __failure_type _S_test(...); - }; - - template - struct __result_of_memfun_ref - : private __result_of_memfun_ref_impl - { - typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type; - }; - - - struct __result_of_memfun_deref_impl - { - template - static __result_of_success()).*std::declval<_Fp>())(std::declval<_Args>()...) - ), __invoke_memfun_deref> _S_test(int); - - template - static __failure_type _S_test(...); - }; - - template - struct __result_of_memfun_deref - : private __result_of_memfun_deref_impl - { - typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type; - }; - - - struct __result_of_memobj_ref_impl - { - template - static __result_of_success().*std::declval<_Fp>() - ), __invoke_memobj_ref> _S_test(int); - - template - static __failure_type _S_test(...); - }; - - template - struct __result_of_memobj_ref - : private __result_of_memobj_ref_impl - { - typedef decltype(_S_test<_MemPtr, _Arg>(0)) type; - }; - - - struct __result_of_memobj_deref_impl - { - template - static __result_of_success()).*std::declval<_Fp>() - ), __invoke_memobj_deref> _S_test(int); - - template - static __failure_type _S_test(...); - }; - - template - struct __result_of_memobj_deref - : private __result_of_memobj_deref_impl - { - typedef decltype(_S_test<_MemPtr, _Arg>(0)) type; - }; - - template - struct __result_of_memobj; - - template - struct __result_of_memobj<_Res _Class::*, _Arg> - { - typedef __remove_cvref_t<_Arg> _Argval; - typedef _Res _Class::* _MemPtr; - typedef typename conditional<__or_, - is_base_of<_Class, _Argval>>::value, - __result_of_memobj_ref<_MemPtr, _Arg>, - __result_of_memobj_deref<_MemPtr, _Arg> - >::type::type type; - }; - - template - struct __result_of_memfun; - - template - struct __result_of_memfun<_Res _Class::*, _Arg, _Args...> - { - typedef typename remove_reference<_Arg>::type _Argval; - typedef _Res _Class::* _MemPtr; - typedef typename conditional::value, - __result_of_memfun_ref<_MemPtr, _Arg, _Args...>, - __result_of_memfun_deref<_MemPtr, _Arg, _Args...> - >::type::type type; - }; - - - - - - - template> - struct __inv_unwrap - { - using type = _Tp; - }; - - template - struct __inv_unwrap<_Tp, reference_wrapper<_Up>> - { - using type = _Up&; - }; - - template - struct __result_of_impl - { - typedef __failure_type type; - }; - - template - struct __result_of_impl - : public __result_of_memobj<__decay_t<_MemPtr>, - typename __inv_unwrap<_Arg>::type> - { }; - - template - struct __result_of_impl - : public __result_of_memfun<__decay_t<_MemPtr>, - typename __inv_unwrap<_Arg>::type, _Args...> - { }; - - - struct __result_of_other_impl - { - template - static __result_of_success()(std::declval<_Args>()...) - ), __invoke_other> _S_test(int); - - template - static __failure_type _S_test(...); - }; - - template - struct __result_of_impl - : private __result_of_other_impl - { - typedef decltype(_S_test<_Functor, _ArgTypes...>(0)) type; - }; - - - template - struct __invoke_result - : public __result_of_impl< - is_member_object_pointer< - typename remove_reference<_Functor>::type - >::value, - is_member_function_pointer< - typename remove_reference<_Functor>::type - >::value, - _Functor, _ArgTypes... - >::type - { }; - - - template - struct result_of<_Functor(_ArgTypes...)> - : public __invoke_result<_Functor, _ArgTypes...> - { }; - - - - template::__type)> - using aligned_storage_t = typename aligned_storage<_Len, _Align>::type; - - template - using aligned_union_t = typename aligned_union<_Len, _Types...>::type; - - - template - using decay_t = typename decay<_Tp>::type; - - - template - using enable_if_t = typename enable_if<_Cond, _Tp>::type; - - - template - using conditional_t = typename conditional<_Cond, _Iftrue, _Iffalse>::type; - - - template - using common_type_t = typename common_type<_Tp...>::type; - - - template - using underlying_type_t = typename underlying_type<_Tp>::type; - - - template - using result_of_t = typename result_of<_Tp>::type; - - - - - - template using void_t = void; - - - - - - template class _Op, typename... _Args> - struct __detector - { - using value_t = false_type; - using type = _Default; - }; - - - template class _Op, - typename... _Args> - struct __detector<_Default, __void_t<_Op<_Args...>>, _Op, _Args...> - { - using value_t = true_type; - using type = _Op<_Args...>; - }; - - - template class _Op, - typename... _Args> - using __detected_or = __detector<_Default, void, _Op, _Args...>; - - - template class _Op, - typename... _Args> - using __detected_or_t - = typename __detected_or<_Default, _Op, _Args...>::type; -# 2649 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/type_traits" 3 - template - struct __is_swappable; - - template - struct __is_nothrow_swappable; - - template - struct __is_tuple_like_impl : false_type - { }; - - template - struct __is_tuple_like_impl> : true_type - { }; - - - template - struct __is_tuple_like - : public __is_tuple_like_impl<__remove_cvref_t<_Tp>>::type - { }; - - - template - - inline - _Require<__not_<__is_tuple_like<_Tp>>, - is_move_constructible<_Tp>, - is_move_assignable<_Tp>> - swap(_Tp&, _Tp&) - noexcept(__and_, - is_nothrow_move_assignable<_Tp>>::value); - - template - - inline - __enable_if_t<__is_swappable<_Tp>::value> - swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) - noexcept(__is_nothrow_swappable<_Tp>::value); - - - namespace __swappable_details { - using std::swap; - - struct __do_is_swappable_impl - { - template(), std::declval<_Tp&>()))> - static true_type __test(int); - - template - static false_type __test(...); - }; - - struct __do_is_nothrow_swappable_impl - { - template - static __bool_constant< - noexcept(swap(std::declval<_Tp&>(), std::declval<_Tp&>())) - > __test(int); - - template - static false_type __test(...); - }; - - } - - template - struct __is_swappable_impl - : public __swappable_details::__do_is_swappable_impl - { - typedef decltype(__test<_Tp>(0)) type; - }; - - template - struct __is_nothrow_swappable_impl - : public __swappable_details::__do_is_nothrow_swappable_impl - { - typedef decltype(__test<_Tp>(0)) type; - }; - - template - struct __is_swappable - : public __is_swappable_impl<_Tp>::type - { }; - - template - struct __is_nothrow_swappable - : public __is_nothrow_swappable_impl<_Tp>::type - { }; - - - - - - - - template - struct is_swappable - : public __is_swappable_impl<_Tp>::type - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - template - struct is_nothrow_swappable - : public __is_nothrow_swappable_impl<_Tp>::type - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - - template - inline constexpr bool is_swappable_v = - is_swappable<_Tp>::value; - - - template - inline constexpr bool is_nothrow_swappable_v = - is_nothrow_swappable<_Tp>::value; - - - - namespace __swappable_with_details { - using std::swap; - - struct __do_is_swappable_with_impl - { - template(), std::declval<_Up>())), - typename - = decltype(swap(std::declval<_Up>(), std::declval<_Tp>()))> - static true_type __test(int); - - template - static false_type __test(...); - }; - - struct __do_is_nothrow_swappable_with_impl - { - template - static __bool_constant< - noexcept(swap(std::declval<_Tp>(), std::declval<_Up>())) - && - noexcept(swap(std::declval<_Up>(), std::declval<_Tp>())) - > __test(int); - - template - static false_type __test(...); - }; - - } - - template - struct __is_swappable_with_impl - : public __swappable_with_details::__do_is_swappable_with_impl - { - typedef decltype(__test<_Tp, _Up>(0)) type; - }; - - - template - struct __is_swappable_with_impl<_Tp&, _Tp&> - : public __swappable_details::__do_is_swappable_impl - { - typedef decltype(__test<_Tp&>(0)) type; - }; - - template - struct __is_nothrow_swappable_with_impl - : public __swappable_with_details::__do_is_nothrow_swappable_with_impl - { - typedef decltype(__test<_Tp, _Up>(0)) type; - }; - - - template - struct __is_nothrow_swappable_with_impl<_Tp&, _Tp&> - : public __swappable_details::__do_is_nothrow_swappable_impl - { - typedef decltype(__test<_Tp&>(0)) type; - }; - - - - template - struct is_swappable_with - : public __is_swappable_with_impl<_Tp, _Up>::type - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "first template argument must be a complete class or an unbounded array"); - static_assert(std::__is_complete_or_unbounded(__type_identity<_Up>{}), - "second template argument must be a complete class or an unbounded array"); - }; - - - template - struct is_nothrow_swappable_with - : public __is_nothrow_swappable_with_impl<_Tp, _Up>::type - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "first template argument must be a complete class or an unbounded array"); - static_assert(std::__is_complete_or_unbounded(__type_identity<_Up>{}), - "second template argument must be a complete class or an unbounded array"); - }; - - - - template - inline constexpr bool is_swappable_with_v = - is_swappable_with<_Tp, _Up>::value; - - - template - inline constexpr bool is_nothrow_swappable_with_v = - is_nothrow_swappable_with<_Tp, _Up>::value; -# 2876 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/type_traits" 3 - template::value, typename = void> - struct __is_invocable_impl - : false_type - { - using __nothrow_type = false_type; - }; - - - template - struct __is_invocable_impl<_Result, _Ret, - true, - __void_t> - : true_type - { - using __nothrow_type = true_type; - }; - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wctor-dtor-privacy" - - template - struct __is_invocable_impl<_Result, _Ret, - false, - __void_t> - { - private: - - - - static typename _Result::type _S_get() noexcept; - - template - static void _S_conv(_Tp) noexcept; - - - template(_S_get())), - bool _Noex = noexcept(_S_conv<_Tp>(_S_get()))> - static __bool_constant<_Check_Noex ? _Noex : true> - _S_test(int); - - template - static false_type - _S_test(...); - - public: - - using type = decltype(_S_test<_Ret>(1)); - - - using __nothrow_type = decltype(_S_test<_Ret, true>(1)); - }; -#pragma GCC diagnostic pop - - template - struct __is_invocable - : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type - { }; - - template - constexpr bool __call_is_nt(__invoke_memfun_ref) - { - using _Up = typename __inv_unwrap<_Tp>::type; - return noexcept((std::declval<_Up>().*std::declval<_Fn>())( - std::declval<_Args>()...)); - } - - template - constexpr bool __call_is_nt(__invoke_memfun_deref) - { - return noexcept(((*std::declval<_Tp>()).*std::declval<_Fn>())( - std::declval<_Args>()...)); - } - - template - constexpr bool __call_is_nt(__invoke_memobj_ref) - { - using _Up = typename __inv_unwrap<_Tp>::type; - return noexcept(std::declval<_Up>().*std::declval<_Fn>()); - } - - template - constexpr bool __call_is_nt(__invoke_memobj_deref) - { - return noexcept((*std::declval<_Tp>()).*std::declval<_Fn>()); - } - - template - constexpr bool __call_is_nt(__invoke_other) - { - return noexcept(std::declval<_Fn>()(std::declval<_Args>()...)); - } - - template - struct __call_is_nothrow - : __bool_constant< - std::__call_is_nt<_Fn, _Args...>(typename _Result::__invoke_type{}) - > - { }; - - template - using __call_is_nothrow_ - = __call_is_nothrow<__invoke_result<_Fn, _Args...>, _Fn, _Args...>; - - - template - struct __is_nothrow_invocable - : __and_<__is_invocable<_Fn, _Args...>, - __call_is_nothrow_<_Fn, _Args...>>::type - { }; - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wctor-dtor-privacy" - struct __nonesuchbase {}; - struct __nonesuch : private __nonesuchbase { - ~__nonesuch() = delete; - __nonesuch(__nonesuch const&) = delete; - void operator=(__nonesuch const&) = delete; - }; -#pragma GCC diagnostic pop - - - - - - - template - struct invoke_result - : public __invoke_result<_Functor, _ArgTypes...> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Functor>{}), - "_Functor must be a complete class or an unbounded array"); - static_assert((std::__is_complete_or_unbounded( - __type_identity<_ArgTypes>{}) && ...), - "each argument type must be a complete class or an unbounded array"); - }; - - - template - using invoke_result_t = typename invoke_result<_Fn, _Args...>::type; - - - template - struct is_invocable - : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}), - "_Fn must be a complete class or an unbounded array"); - static_assert((std::__is_complete_or_unbounded( - __type_identity<_ArgTypes>{}) && ...), - "each argument type must be a complete class or an unbounded array"); - }; - - - template - struct is_invocable_r - : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>::type - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}), - "_Fn must be a complete class or an unbounded array"); - static_assert((std::__is_complete_or_unbounded( - __type_identity<_ArgTypes>{}) && ...), - "each argument type must be a complete class or an unbounded array"); - static_assert(std::__is_complete_or_unbounded(__type_identity<_Ret>{}), - "_Ret must be a complete class or an unbounded array"); - }; - - - template - struct is_nothrow_invocable - : __and_<__is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>, - __call_is_nothrow_<_Fn, _ArgTypes...>>::type - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}), - "_Fn must be a complete class or an unbounded array"); - static_assert((std::__is_complete_or_unbounded( - __type_identity<_ArgTypes>{}) && ...), - "each argument type must be a complete class or an unbounded array"); - }; - - - template - using __is_nt_invocable_impl - = typename __is_invocable_impl<_Result, _Ret>::__nothrow_type; - - - - template - struct is_nothrow_invocable_r - : __and_<__is_nt_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>, - __call_is_nothrow_<_Fn, _ArgTypes...>>::type - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}), - "_Fn must be a complete class or an unbounded array"); - static_assert((std::__is_complete_or_unbounded( - __type_identity<_ArgTypes>{}) && ...), - "each argument type must be a complete class or an unbounded array"); - static_assert(std::__is_complete_or_unbounded(__type_identity<_Ret>{}), - "_Ret must be a complete class or an unbounded array"); - }; -# 3094 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/type_traits" 3 -template - inline constexpr bool is_void_v = is_void<_Tp>::value; -template - inline constexpr bool is_null_pointer_v = is_null_pointer<_Tp>::value; -template - inline constexpr bool is_integral_v = is_integral<_Tp>::value; -template - inline constexpr bool is_floating_point_v = is_floating_point<_Tp>::value; -template - inline constexpr bool is_array_v = is_array<_Tp>::value; -template - inline constexpr bool is_pointer_v = is_pointer<_Tp>::value; -template - inline constexpr bool is_lvalue_reference_v = - is_lvalue_reference<_Tp>::value; -template - inline constexpr bool is_rvalue_reference_v = - is_rvalue_reference<_Tp>::value; -template - inline constexpr bool is_member_object_pointer_v = - is_member_object_pointer<_Tp>::value; -template - inline constexpr bool is_member_function_pointer_v = - is_member_function_pointer<_Tp>::value; -template - inline constexpr bool is_enum_v = is_enum<_Tp>::value; -template - inline constexpr bool is_union_v = is_union<_Tp>::value; -template - inline constexpr bool is_class_v = is_class<_Tp>::value; -template - inline constexpr bool is_function_v = is_function<_Tp>::value; -template - inline constexpr bool is_reference_v = is_reference<_Tp>::value; -template - inline constexpr bool is_arithmetic_v = is_arithmetic<_Tp>::value; -template - inline constexpr bool is_fundamental_v = is_fundamental<_Tp>::value; -template - inline constexpr bool is_object_v = is_object<_Tp>::value; -template - inline constexpr bool is_scalar_v = is_scalar<_Tp>::value; -template - inline constexpr bool is_compound_v = is_compound<_Tp>::value; -template - inline constexpr bool is_member_pointer_v = is_member_pointer<_Tp>::value; -template - inline constexpr bool is_const_v = is_const<_Tp>::value; -template - inline constexpr bool is_volatile_v = is_volatile<_Tp>::value; -template - inline constexpr bool is_trivial_v = is_trivial<_Tp>::value; -template - inline constexpr bool is_trivially_copyable_v = - is_trivially_copyable<_Tp>::value; -template - inline constexpr bool is_standard_layout_v = is_standard_layout<_Tp>::value; -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" -template - - inline constexpr bool is_pod_v = is_pod<_Tp>::value; -template - [[__deprecated__]] - inline constexpr bool is_literal_type_v = is_literal_type<_Tp>::value; -#pragma GCC diagnostic pop - template - inline constexpr bool is_empty_v = is_empty<_Tp>::value; -template - inline constexpr bool is_polymorphic_v = is_polymorphic<_Tp>::value; -template - inline constexpr bool is_abstract_v = is_abstract<_Tp>::value; -template - inline constexpr bool is_final_v = is_final<_Tp>::value; -template - inline constexpr bool is_signed_v = is_signed<_Tp>::value; -template - inline constexpr bool is_unsigned_v = is_unsigned<_Tp>::value; -template - inline constexpr bool is_constructible_v = - is_constructible<_Tp, _Args...>::value; -template - inline constexpr bool is_default_constructible_v = - is_default_constructible<_Tp>::value; -template - inline constexpr bool is_copy_constructible_v = - is_copy_constructible<_Tp>::value; -template - inline constexpr bool is_move_constructible_v = - is_move_constructible<_Tp>::value; -template - inline constexpr bool is_assignable_v = is_assignable<_Tp, _Up>::value; -template - inline constexpr bool is_copy_assignable_v = is_copy_assignable<_Tp>::value; -template - inline constexpr bool is_move_assignable_v = is_move_assignable<_Tp>::value; -template - inline constexpr bool is_destructible_v = is_destructible<_Tp>::value; -template - inline constexpr bool is_trivially_constructible_v = - is_trivially_constructible<_Tp, _Args...>::value; -template - inline constexpr bool is_trivially_default_constructible_v = - is_trivially_default_constructible<_Tp>::value; -template - inline constexpr bool is_trivially_copy_constructible_v = - is_trivially_copy_constructible<_Tp>::value; -template - inline constexpr bool is_trivially_move_constructible_v = - is_trivially_move_constructible<_Tp>::value; -template - inline constexpr bool is_trivially_assignable_v = - is_trivially_assignable<_Tp, _Up>::value; -template - inline constexpr bool is_trivially_copy_assignable_v = - is_trivially_copy_assignable<_Tp>::value; -template - inline constexpr bool is_trivially_move_assignable_v = - is_trivially_move_assignable<_Tp>::value; -template - inline constexpr bool is_trivially_destructible_v = - is_trivially_destructible<_Tp>::value; -template - inline constexpr bool is_nothrow_constructible_v = - is_nothrow_constructible<_Tp, _Args...>::value; -template - inline constexpr bool is_nothrow_default_constructible_v = - is_nothrow_default_constructible<_Tp>::value; -template - inline constexpr bool is_nothrow_copy_constructible_v = - is_nothrow_copy_constructible<_Tp>::value; -template - inline constexpr bool is_nothrow_move_constructible_v = - is_nothrow_move_constructible<_Tp>::value; -template - inline constexpr bool is_nothrow_assignable_v = - is_nothrow_assignable<_Tp, _Up>::value; -template - inline constexpr bool is_nothrow_copy_assignable_v = - is_nothrow_copy_assignable<_Tp>::value; -template - inline constexpr bool is_nothrow_move_assignable_v = - is_nothrow_move_assignable<_Tp>::value; -template - inline constexpr bool is_nothrow_destructible_v = - is_nothrow_destructible<_Tp>::value; -template - inline constexpr bool has_virtual_destructor_v = - has_virtual_destructor<_Tp>::value; -template - inline constexpr size_t alignment_of_v = alignment_of<_Tp>::value; -template - inline constexpr size_t rank_v = rank<_Tp>::value; -template - inline constexpr size_t extent_v = extent<_Tp, _Idx>::value; - -template - inline constexpr bool is_same_v = __is_same(_Tp, _Up); - - - - -template - inline constexpr bool is_base_of_v = is_base_of<_Base, _Derived>::value; -template - inline constexpr bool is_convertible_v = is_convertible<_From, _To>::value; -template - inline constexpr bool is_invocable_v = is_invocable<_Fn, _Args...>::value; -template - inline constexpr bool is_nothrow_invocable_v - = is_nothrow_invocable<_Fn, _Args...>::value; -template - inline constexpr bool is_invocable_r_v - = is_invocable_r<_Ret, _Fn, _Args...>::value; -template - inline constexpr bool is_nothrow_invocable_r_v - = is_nothrow_invocable_r<_Ret, _Fn, _Args...>::value; - - - - - - template - struct has_unique_object_representations - : bool_constant<__has_unique_object_representations( - remove_cv_t> - )> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - template - inline constexpr bool has_unique_object_representations_v - = has_unique_object_representations<_Tp>::value; - - - - - - template - struct is_aggregate - : bool_constant<__is_aggregate(remove_cv_t<_Tp>)> - { }; - - - template - inline constexpr bool is_aggregate_v = is_aggregate<_Tp>::value; -# 3598 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/type_traits" 3 - -} -# 58 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/move.h" 2 3 - -namespace std -{ - -# 74 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/move.h" 3 - template - [[__nodiscard__]] - constexpr _Tp&& - forward(typename std::remove_reference<_Tp>::type& __t) noexcept - { return static_cast<_Tp&&>(__t); } - - - - - - - - template - [[__nodiscard__]] - constexpr _Tp&& - forward(typename std::remove_reference<_Tp>::type&& __t) noexcept - { - static_assert(!std::is_lvalue_reference<_Tp>::value, - "std::forward must not be used to convert an rvalue to an lvalue"); - return static_cast<_Tp&&>(__t); - } - - - - - - - template - [[__nodiscard__]] - constexpr typename std::remove_reference<_Tp>::type&& - move(_Tp&& __t) noexcept - { return static_cast::type&&>(__t); } - - - template - struct __move_if_noexcept_cond - : public __and_<__not_>, - is_copy_constructible<_Tp>>::type { }; -# 121 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/move.h" 3 - template - [[__nodiscard__]] - constexpr typename - conditional<__move_if_noexcept_cond<_Tp>::value, const _Tp&, _Tp&&>::type - move_if_noexcept(_Tp& __x) noexcept - { return std::move(__x); } -# 142 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/move.h" 3 - template - [[__nodiscard__]] - inline constexpr _Tp* - addressof(_Tp& __r) noexcept - { return std::__addressof(__r); } - - - - template - const _Tp* addressof(const _Tp&&) = delete; - - - template - - inline _Tp - __exchange(_Tp& __obj, _Up&& __new_val) - { - _Tp __old_val = std::move(__obj); - __obj = std::forward<_Up>(__new_val); - return __old_val; - } -# 186 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/move.h" 3 - template - - inline - - typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>, - is_move_constructible<_Tp>, - is_move_assignable<_Tp>>::value>::type - - - - swap(_Tp& __a, _Tp& __b) - noexcept(__and_, is_nothrow_move_assignable<_Tp>>::value) - - { - - - - - _Tp __tmp = std::move(__a); - __a = std::move(__b); - __b = std::move(__tmp); - } - - - - - template - - inline - - typename enable_if<__is_swappable<_Tp>::value>::type - - - - swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) - noexcept(__is_nothrow_swappable<_Tp>::value) - { - for (size_t __n = 0; __n < _Nm; ++__n) - swap(__a[__n], __b[__n]); - } - - - -} -# 60 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_pair.h" 2 3 -# 69 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_pair.h" 3 -namespace std -{ - -# 80 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_pair.h" 3 - struct piecewise_construct_t { explicit piecewise_construct_t() = default; }; - - - inline constexpr piecewise_construct_t piecewise_construct = - piecewise_construct_t(); - - - - - template - class tuple; - - template - struct _Index_tuple; - - - - - - - template - struct _PCC - { - template - static constexpr bool _ConstructiblePair() - { - return __and_, - is_constructible<_T2, const _U2&>>::value; - } - - template - static constexpr bool _ImplicitlyConvertiblePair() - { - return __and_, - is_convertible>::value; - } - - template - static constexpr bool _MoveConstructiblePair() - { - return __and_, - is_constructible<_T2, _U2&&>>::value; - } - - template - static constexpr bool _ImplicitlyMoveConvertiblePair() - { - return __and_, - is_convertible<_U2&&, _T2>>::value; - } - - template - static constexpr bool _CopyMovePair() - { - using __do_converts = __and_, - is_convertible<_U2&&, _T2>>; - using __converts = typename conditional<__implicit, - __do_converts, - __not_<__do_converts>>::type; - return __and_, - is_constructible<_T2, _U2&&>, - __converts - >::value; - } - - template - static constexpr bool _MoveCopyPair() - { - using __do_converts = __and_, - is_convertible>; - using __converts = typename conditional<__implicit, - __do_converts, - __not_<__do_converts>>::type; - return __and_, - is_constructible<_T2, const _U2&&>, - __converts - >::value; - } - }; - - template - struct _PCC - { - template - static constexpr bool _ConstructiblePair() - { - return false; - } - - template - static constexpr bool _ImplicitlyConvertiblePair() - { - return false; - } - - template - static constexpr bool _MoveConstructiblePair() - { - return false; - } - - template - static constexpr bool _ImplicitlyMoveConvertiblePair() - { - return false; - } - }; - - - template class __pair_base - { - - template friend struct pair; - __pair_base() = default; - ~__pair_base() = default; - __pair_base(const __pair_base&) = default; - __pair_base& operator=(const __pair_base&) = delete; - - }; -# 210 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_pair.h" 3 - template - struct pair - : private __pair_base<_T1, _T2> - { - typedef _T1 first_type; - typedef _T2 second_type; - - _T1 first; - _T2 second; - - - - - - - template , - __is_implicitly_default_constructible<_U2>> - ::value, bool>::type = true> - - constexpr pair() - : first(), second() { } - - - template , - is_default_constructible<_U2>, - __not_< - __and_<__is_implicitly_default_constructible<_U1>, - __is_implicitly_default_constructible<_U2>>>> - ::value, bool>::type = false> - explicit constexpr pair() - : first(), second() { } -# 256 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_pair.h" 3 - using _PCCP = _PCC; - - - - template() - && _PCCP::template - _ImplicitlyConvertiblePair<_U1, _U2>(), - bool>::type=true> - constexpr pair(const _T1& __a, const _T2& __b) - : first(__a), second(__b) { } - - - template() - && !_PCCP::template - _ImplicitlyConvertiblePair<_U1, _U2>(), - bool>::type=false> - explicit constexpr pair(const _T1& __a, const _T2& __b) - : first(__a), second(__b) { } -# 288 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_pair.h" 3 - template - using _PCCFP = _PCC::value - || !is_same<_T2, _U2>::value, - _T1, _T2>; - - - template::template - _ConstructiblePair<_U1, _U2>() - && _PCCFP<_U1, _U2>::template - _ImplicitlyConvertiblePair<_U1, _U2>(), - bool>::type=true> - constexpr pair(const pair<_U1, _U2>& __p) - : first(__p.first), second(__p.second) { } - - template::template - _ConstructiblePair<_U1, _U2>() - && !_PCCFP<_U1, _U2>::template - _ImplicitlyConvertiblePair<_U1, _U2>(), - bool>::type=false> - explicit constexpr pair(const pair<_U1, _U2>& __p) - : first(__p.first), second(__p.second) { } - - - - constexpr pair(const pair&) = default; - constexpr pair(pair&&) = default; - - - template(), - bool>::type=true> - constexpr pair(_U1&& __x, const _T2& __y) - : first(std::forward<_U1>(__x)), second(__y) { } - - template(), - bool>::type=false> - explicit constexpr pair(_U1&& __x, const _T2& __y) - : first(std::forward<_U1>(__x)), second(__y) { } - - template(), - bool>::type=true> - constexpr pair(const _T1& __x, _U2&& __y) - : first(__x), second(std::forward<_U2>(__y)) { } - - template(), - bool>::type=false> - explicit pair(const _T1& __x, _U2&& __y) - : first(__x), second(std::forward<_U2>(__y)) { } - - template() - && _PCCP::template - _ImplicitlyMoveConvertiblePair<_U1, _U2>(), - bool>::type=true> - constexpr pair(_U1&& __x, _U2&& __y) - : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { } - - template() - && !_PCCP::template - _ImplicitlyMoveConvertiblePair<_U1, _U2>(), - bool>::type=false> - explicit constexpr pair(_U1&& __x, _U2&& __y) - : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { } - - - template::template - _MoveConstructiblePair<_U1, _U2>() - && _PCCFP<_U1, _U2>::template - _ImplicitlyMoveConvertiblePair<_U1, _U2>(), - bool>::type=true> - constexpr pair(pair<_U1, _U2>&& __p) - : first(std::forward<_U1>(__p.first)), - second(std::forward<_U2>(__p.second)) { } - - template::template - _MoveConstructiblePair<_U1, _U2>() - && !_PCCFP<_U1, _U2>::template - _ImplicitlyMoveConvertiblePair<_U1, _U2>(), - bool>::type=false> - explicit constexpr pair(pair<_U1, _U2>&& __p) - : first(std::forward<_U1>(__p.first)), - second(std::forward<_U2>(__p.second)) { } - - template - - pair(piecewise_construct_t, tuple<_Args1...>, tuple<_Args2...>); - - pair& - operator=(typename conditional< - __and_, - is_copy_assignable<_T2>>::value, - const pair&, const __nonesuch&>::type __p) - { - first = __p.first; - second = __p.second; - return *this; - } - - pair& - operator=(typename conditional< - __and_, - is_move_assignable<_T2>>::value, - pair&&, __nonesuch&&>::type __p) - noexcept(__and_, - is_nothrow_move_assignable<_T2>>::value) - { - first = std::forward(__p.first); - second = std::forward(__p.second); - return *this; - } - - template - - typename enable_if<__and_, - is_assignable<_T2&, const _U2&>>::value, - pair&>::type - operator=(const pair<_U1, _U2>& __p) - { - first = __p.first; - second = __p.second; - return *this; - } - - template - - typename enable_if<__and_, - is_assignable<_T2&, _U2&&>>::value, - pair&>::type - operator=(pair<_U1, _U2>&& __p) - { - first = std::forward<_U1>(__p.first); - second = std::forward<_U2>(__p.second); - return *this; - } - - - void - swap(pair& __p) - noexcept(__and_<__is_nothrow_swappable<_T1>, - __is_nothrow_swappable<_T2>>::value) - { - using std::swap; - swap(first, __p.first); - swap(second, __p.second); - } - - private: - template - - pair(tuple<_Args1...>&, tuple<_Args2...>&, - _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>); - - }; - - - - - template pair(_T1, _T2) -> pair<_T1, _T2>; - - - - template - inline constexpr bool - operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) - { return __x.first == __y.first && __x.second == __y.second; } -# 487 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_pair.h" 3 - template - inline constexpr bool - operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) - { return __x.first < __y.first - || (!(__y.first < __x.first) && __x.second < __y.second); } - - - template - inline constexpr bool - operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) - { return !(__x == __y); } - - - template - inline constexpr bool - operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) - { return __y < __x; } - - - template - inline constexpr bool - operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) - { return !(__y < __x); } - - - template - inline constexpr bool - operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) - { return !(__x < __y); } -# 524 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_pair.h" 3 - template - inline - - - typename enable_if<__and_<__is_swappable<_T1>, - __is_swappable<_T2>>::value>::type - - - - swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y) - noexcept(noexcept(__x.swap(__y))) - { __x.swap(__y); } - - - template - typename enable_if, - __is_swappable<_T2>>::value>::type - swap(pair<_T1, _T2>&, pair<_T1, _T2>&) = delete; -# 564 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_pair.h" 3 - template - constexpr pair::__type, - typename __decay_and_strip<_T2>::__type> - make_pair(_T1&& __x, _T2&& __y) - { - typedef typename __decay_and_strip<_T1>::__type __ds_type1; - typedef typename __decay_and_strip<_T2>::__type __ds_type2; - typedef pair<__ds_type1, __ds_type2> __pair_type; - return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y)); - } -# 583 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_pair.h" 3 - -} -# 65 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 2 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator_base_types.h" 1 3 -# 62 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator_base_types.h" 3 - -# 63 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator_base_types.h" 3 -# 74 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator_base_types.h" 3 -namespace std -{ - -# 93 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator_base_types.h" 3 - struct input_iterator_tag { }; - - - struct output_iterator_tag { }; - - - struct forward_iterator_tag : public input_iterator_tag { }; - - - - struct bidirectional_iterator_tag : public forward_iterator_tag { }; - - - - struct random_access_iterator_tag : public bidirectional_iterator_tag { }; -# 125 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator_base_types.h" 3 - template - struct iterator - { - - typedef _Category iterator_category; - - typedef _Tp value_type; - - typedef _Distance difference_type; - - typedef _Pointer pointer; - - typedef _Reference reference; - }; -# 149 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator_base_types.h" 3 - template - struct iterator_traits; - - - - - template> - struct __iterator_traits { }; - - - - template - struct __iterator_traits<_Iterator, - __void_t> - { - typedef typename _Iterator::iterator_category iterator_category; - typedef typename _Iterator::value_type value_type; - typedef typename _Iterator::difference_type difference_type; - typedef typename _Iterator::pointer pointer; - typedef typename _Iterator::reference reference; - }; - - - template - struct iterator_traits - : public __iterator_traits<_Iterator> { }; -# 209 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator_base_types.h" 3 - template - struct iterator_traits<_Tp*> - { - typedef random_access_iterator_tag iterator_category; - typedef _Tp value_type; - typedef ptrdiff_t difference_type; - typedef _Tp* pointer; - typedef _Tp& reference; - }; - - - template - struct iterator_traits - { - typedef random_access_iterator_tag iterator_category; - typedef _Tp value_type; - typedef ptrdiff_t difference_type; - typedef const _Tp* pointer; - typedef const _Tp& reference; - }; - - - - - - - template - inline constexpr - typename iterator_traits<_Iter>::iterator_category - __iterator_category(const _Iter&) - { return typename iterator_traits<_Iter>::iterator_category(); } - - - - - template - using __iterator_category_t - = typename iterator_traits<_Iter>::iterator_category; - - template - using _RequireInputIter = - __enable_if_t, - input_iterator_tag>::value>; - - template> - struct __is_random_access_iter - : is_base_of - { - typedef is_base_of _Base; - enum { __value = _Base::value }; - }; - - - - - - - - -} -# 66 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 2 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator_base_funcs.h" 1 3 -# 62 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator_base_funcs.h" 3 - -# 63 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator_base_funcs.h" 3 - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/concept_check.h" 1 3 -# 33 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/concept_check.h" 3 - -# 34 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/concept_check.h" 3 -# 65 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator_base_funcs.h" 2 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/debug/assertions.h" 1 3 -# 66 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator_base_funcs.h" 2 3 - -namespace std -{ - - - - - template struct _List_iterator; - template struct _List_const_iterator; - - - template - inline constexpr - typename iterator_traits<_InputIterator>::difference_type - __distance(_InputIterator __first, _InputIterator __last, - input_iterator_tag) - { - - - - typename iterator_traits<_InputIterator>::difference_type __n = 0; - while (__first != __last) - { - ++__first; - ++__n; - } - return __n; - } - - template - inline constexpr - typename iterator_traits<_RandomAccessIterator>::difference_type - __distance(_RandomAccessIterator __first, _RandomAccessIterator __last, - random_access_iterator_tag) - { - - - - return __last - __first; - } -# 135 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator_base_funcs.h" 3 - template - inline constexpr - typename iterator_traits<_InputIterator>::difference_type - distance(_InputIterator __first, _InputIterator __last) - { - - return std::__distance(__first, __last, - std::__iterator_category(__first)); - } - - template - inline constexpr void - __advance(_InputIterator& __i, _Distance __n, input_iterator_tag) - { - - - do { if (__builtin_is_constant_evaluated() && !bool(__n >= 0)) __builtin_unreachable(); } while (false); - while (__n--) - ++__i; - } - - template - inline constexpr void - __advance(_BidirectionalIterator& __i, _Distance __n, - bidirectional_iterator_tag) - { - - - - if (__n > 0) - while (__n--) - ++__i; - else - while (__n++) - --__i; - } - - template - inline constexpr void - __advance(_RandomAccessIterator& __i, _Distance __n, - random_access_iterator_tag) - { - - - - if (__builtin_constant_p(__n) && __n == 1) - ++__i; - else if (__builtin_constant_p(__n) && __n == -1) - --__i; - else - __i += __n; - } -# 200 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator_base_funcs.h" 3 - template - inline constexpr void - advance(_InputIterator& __i, _Distance __n) - { - - typename iterator_traits<_InputIterator>::difference_type __d = __n; - std::__advance(__i, __d, std::__iterator_category(__i)); - } - - - - template - inline constexpr _InputIterator - next(_InputIterator __x, typename - iterator_traits<_InputIterator>::difference_type __n = 1) - { - - - std::advance(__x, __n); - return __x; - } - - template - inline constexpr _BidirectionalIterator - prev(_BidirectionalIterator __x, typename - iterator_traits<_BidirectionalIterator>::difference_type __n = 1) - { - - - - std::advance(__x, -__n); - return __x; - } - - - - -} -# 67 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 2 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 1 3 -# 67 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/ptr_traits.h" 1 3 -# 42 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/ptr_traits.h" 3 -namespace std -{ - - - class __undefined; - - - template - struct __replace_first_arg - { }; - - template class _Template, typename _Up, - typename _Tp, typename... _Types> - struct __replace_first_arg<_Template<_Tp, _Types...>, _Up> - { using type = _Template<_Up, _Types...>; }; - - template - using __replace_first_arg_t = typename __replace_first_arg<_Tp, _Up>::type; - - template - using __make_not_void - = typename conditional::value, __undefined, _Tp>::type; - - template - struct __ptr_traits_elem_1 - { }; - - template class _SomePointer, typename _Tp, - typename... _Args> - struct __ptr_traits_elem_1<_SomePointer<_Tp, _Args...>> - { - using element_type = _Tp; - using pointer = _SomePointer<_Tp, _Args...>; - - static pointer - pointer_to(__make_not_void& __e) - { return pointer::pointer_to(__e); } - }; - - template - struct __ptr_traits_elem : __ptr_traits_elem_1<_Ptr> - { }; - - template - struct __ptr_traits_elem<_Ptr, __void_t> - { - using element_type = typename _Ptr::element_type; - - static _Ptr - pointer_to(__make_not_void& __e) - { return _Ptr::pointer_to(__e); } - }; - - - - - - template - struct pointer_traits : __ptr_traits_elem<_Ptr> - { - private: - template - using __difference_type = typename _Tp::difference_type; - - template - struct __rebind : __replace_first_arg<_Tp, _Up> { }; - - template - struct __rebind<_Tp, _Up, __void_t>> - { using type = typename _Tp::template rebind<_Up>; }; - - public: - - using pointer = _Ptr; - - - using difference_type - = __detected_or_t; - - - template - using rebind = typename __rebind<_Ptr, _Up>::type; - }; - - - - - - template - struct pointer_traits<_Tp*> - { - - typedef _Tp* pointer; - - typedef _Tp element_type; - - typedef ptrdiff_t difference_type; - - template - using rebind = _Up*; - - - - - - - static pointer - pointer_to(__make_not_void& __r) noexcept - { return std::addressof(__r); } - }; - - - template - using __ptr_rebind = typename pointer_traits<_Ptr>::template rebind<_Tp>; - - template - constexpr _Tp* - __to_address(_Tp* __ptr) noexcept - { - static_assert(!std::is_function<_Tp>::value, "not a function pointer"); - return __ptr; - } - - - template - constexpr typename std::pointer_traits<_Ptr>::element_type* - __to_address(const _Ptr& __ptr) - { return std::__to_address(__ptr.operator->()); } -# 214 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/ptr_traits.h" 3 - -} -# 68 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 2 3 -# 88 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 -namespace std -{ - -# 127 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - template - class reverse_iterator - : public iterator::iterator_category, - typename iterator_traits<_Iterator>::value_type, - typename iterator_traits<_Iterator>::difference_type, - typename iterator_traits<_Iterator>::pointer, - typename iterator_traits<_Iterator>::reference> - { - template - friend class reverse_iterator; -# 146 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - protected: - _Iterator current; - - typedef iterator_traits<_Iterator> __traits_type; - - public: - typedef _Iterator iterator_type; - typedef typename __traits_type::pointer pointer; - - typedef typename __traits_type::difference_type difference_type; - typedef typename __traits_type::reference reference; -# 177 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - constexpr - reverse_iterator() : current() { } - - - - - explicit constexpr - reverse_iterator(iterator_type __x) : current(__x) { } - - - - - constexpr - reverse_iterator(const reverse_iterator& __x) - : current(__x.current) { } - - - reverse_iterator& operator=(const reverse_iterator&) = default; - - - - - - - template - - - - constexpr - reverse_iterator(const reverse_iterator<_Iter>& __x) - : current(__x.current) { } - - - template - - - - - constexpr - reverse_iterator& - operator=(const reverse_iterator<_Iter>& __x) - { - current = __x.current; - return *this; - } - - - - - - constexpr iterator_type - base() const - { return current; } -# 241 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - constexpr reference - operator*() const - { - _Iterator __tmp = current; - return *--__tmp; - } - - - - - - - constexpr pointer - operator->() const - - - - - { - - - _Iterator __tmp = current; - --__tmp; - return _S_to_pointer(__tmp); - } - - - - - - - constexpr reverse_iterator& - operator++() - { - --current; - return *this; - } - - - - - - - constexpr reverse_iterator - operator++(int) - { - reverse_iterator __tmp = *this; - --current; - return __tmp; - } - - - - - - - constexpr reverse_iterator& - operator--() - { - ++current; - return *this; - } - - - - - - - constexpr reverse_iterator - operator--(int) - { - reverse_iterator __tmp = *this; - ++current; - return __tmp; - } - - - - - - - constexpr reverse_iterator - operator+(difference_type __n) const - { return reverse_iterator(current - __n); } - - - - - - - - constexpr reverse_iterator& - operator+=(difference_type __n) - { - current -= __n; - return *this; - } - - - - - - - constexpr reverse_iterator - operator-(difference_type __n) const - { return reverse_iterator(current + __n); } - - - - - - - - constexpr reverse_iterator& - operator-=(difference_type __n) - { - current += __n; - return *this; - } - - - - - - - constexpr reference - operator[](difference_type __n) const - { return *(*this + __n); } -# 395 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - private: - template - static constexpr _Tp* - _S_to_pointer(_Tp* __p) - { return __p; } - - template - static constexpr pointer - _S_to_pointer(_Tp __t) - { return __t.operator->(); } - }; -# 418 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - template - inline constexpr bool - operator==(const reverse_iterator<_Iterator>& __x, - const reverse_iterator<_Iterator>& __y) - { return __x.base() == __y.base(); } - - template - inline constexpr bool - operator<(const reverse_iterator<_Iterator>& __x, - const reverse_iterator<_Iterator>& __y) - { return __y.base() < __x.base(); } - - template - inline constexpr bool - operator!=(const reverse_iterator<_Iterator>& __x, - const reverse_iterator<_Iterator>& __y) - { return !(__x == __y); } - - template - inline constexpr bool - operator>(const reverse_iterator<_Iterator>& __x, - const reverse_iterator<_Iterator>& __y) - { return __y < __x; } - - template - inline constexpr bool - operator<=(const reverse_iterator<_Iterator>& __x, - const reverse_iterator<_Iterator>& __y) - { return !(__y < __x); } - - template - inline constexpr bool - operator>=(const reverse_iterator<_Iterator>& __x, - const reverse_iterator<_Iterator>& __y) - { return !(__x < __y); } - - - - - template - inline constexpr bool - operator==(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - { return __x.base() == __y.base(); } - - template - inline constexpr bool - operator<(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - { return __x.base() > __y.base(); } - - template - inline constexpr bool - operator!=(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - { return __x.base() != __y.base(); } - - template - inline constexpr bool - operator>(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - { return __x.base() < __y.base(); } - - template - inline constexpr bool - operator<=(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - { return __x.base() >= __y.base(); } - - template - inline constexpr bool - operator>=(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - { return __x.base() <= __y.base(); } -# 575 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - template - inline constexpr auto - operator-(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - -> decltype(__y.base() - __x.base()) - { return __y.base() - __x.base(); } - - - template - inline constexpr reverse_iterator<_Iterator> - operator+(typename reverse_iterator<_Iterator>::difference_type __n, - const reverse_iterator<_Iterator>& __x) - { return reverse_iterator<_Iterator>(__x.base() - __n); } - - - - template - inline constexpr reverse_iterator<_Iterator> - __make_reverse_iterator(_Iterator __i) - { return reverse_iterator<_Iterator>(__i); } - - - - - - - - template - inline constexpr reverse_iterator<_Iterator> - make_reverse_iterator(_Iterator __i) - { return reverse_iterator<_Iterator>(__i); } -# 616 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - template - - auto - __niter_base(reverse_iterator<_Iterator> __it) - -> decltype(__make_reverse_iterator(__niter_base(__it.base()))) - { return __make_reverse_iterator(__niter_base(__it.base())); } - - template - struct __is_move_iterator > - : __is_move_iterator<_Iterator> - { }; - - template - - auto - __miter_base(reverse_iterator<_Iterator> __it) - -> decltype(__make_reverse_iterator(__miter_base(__it.base()))) - { return __make_reverse_iterator(__miter_base(__it.base())); } -# 647 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - template - class back_insert_iterator - : public iterator - { - protected: - _Container* container; - - public: - - typedef _Container container_type; - - - - - - - - explicit - back_insert_iterator(_Container& __x) - : container(std::__addressof(__x)) { } -# 687 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - - back_insert_iterator& - operator=(const typename _Container::value_type& __value) - { - container->push_back(__value); - return *this; - } - - - back_insert_iterator& - operator=(typename _Container::value_type&& __value) - { - container->push_back(std::move(__value)); - return *this; - } - - - - - back_insert_iterator& - operator*() - { return *this; } - - - - back_insert_iterator& - operator++() - { return *this; } - - - - back_insert_iterator - operator++(int) - { return *this; } - }; -# 734 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - template - - inline back_insert_iterator<_Container> - back_inserter(_Container& __x) - { return back_insert_iterator<_Container>(__x); } -# 750 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - template - class front_insert_iterator - : public iterator - { - protected: - _Container* container; - - public: - - typedef _Container container_type; - - - - - - - - explicit - front_insert_iterator(_Container& __x) - : container(std::__addressof(__x)) { } -# 790 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - - front_insert_iterator& - operator=(const typename _Container::value_type& __value) - { - container->push_front(__value); - return *this; - } - - - front_insert_iterator& - operator=(typename _Container::value_type&& __value) - { - container->push_front(std::move(__value)); - return *this; - } - - - - - front_insert_iterator& - operator*() - { return *this; } - - - - front_insert_iterator& - operator++() - { return *this; } - - - - front_insert_iterator - operator++(int) - { return *this; } - }; -# 837 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - template - - inline front_insert_iterator<_Container> - front_inserter(_Container& __x) - { return front_insert_iterator<_Container>(__x); } -# 857 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - template - class insert_iterator - : public iterator - { - - - - - - - - typedef typename _Container::iterator _Iter; - - protected: - _Container* container; - _Iter iter; - - - public: - - typedef _Container container_type; -# 889 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - - insert_iterator(_Container& __x, _Iter __i) - : container(std::__addressof(__x)), iter(__i) {} -# 925 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - - insert_iterator& - operator=(const typename _Container::value_type& __value) - { - iter = container->insert(iter, __value); - ++iter; - return *this; - } - - - insert_iterator& - operator=(typename _Container::value_type&& __value) - { - iter = container->insert(iter, std::move(__value)); - ++iter; - return *this; - } - - - - - insert_iterator& - operator*() - { return *this; } - - - - insert_iterator& - operator++() - { return *this; } - - - - insert_iterator& - operator++(int) - { return *this; } - }; -# 981 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - template - inline insert_iterator<_Container> - inserter(_Container& __x, typename _Container::iterator __i) - { return insert_iterator<_Container>(__x, __i); } - - - - - -} - -namespace __gnu_cxx -{ - -# 1003 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - template - class __normal_iterator - { - protected: - _Iterator _M_current; - - typedef std::iterator_traits<_Iterator> __traits_type; - - public: - typedef _Iterator iterator_type; - typedef typename __traits_type::iterator_category iterator_category; - typedef typename __traits_type::value_type value_type; - typedef typename __traits_type::difference_type difference_type; - typedef typename __traits_type::reference reference; - typedef typename __traits_type::pointer pointer; - - - - - - constexpr __normal_iterator() noexcept - : _M_current(_Iterator()) { } - - explicit - __normal_iterator(const _Iterator& __i) noexcept - : _M_current(__i) { } - - - template - - __normal_iterator(const __normal_iterator<_Iter, - typename __enable_if< - (std::__are_same<_Iter, typename _Container::pointer>::__value), - _Container>::__type>& __i) noexcept - : _M_current(__i.base()) { } - - - - reference - operator*() const noexcept - { return *_M_current; } - - - pointer - operator->() const noexcept - { return _M_current; } - - - __normal_iterator& - operator++() noexcept - { - ++_M_current; - return *this; - } - - - __normal_iterator - operator++(int) noexcept - { return __normal_iterator(_M_current++); } - - - - __normal_iterator& - operator--() noexcept - { - --_M_current; - return *this; - } - - - __normal_iterator - operator--(int) noexcept - { return __normal_iterator(_M_current--); } - - - - reference - operator[](difference_type __n) const noexcept - { return _M_current[__n]; } - - - __normal_iterator& - operator+=(difference_type __n) noexcept - { _M_current += __n; return *this; } - - - __normal_iterator - operator+(difference_type __n) const noexcept - { return __normal_iterator(_M_current + __n); } - - - __normal_iterator& - operator-=(difference_type __n) noexcept - { _M_current -= __n; return *this; } - - - __normal_iterator - operator-(difference_type __n) const noexcept - { return __normal_iterator(_M_current - __n); } - - - const _Iterator& - base() const noexcept - { return _M_current; } - }; -# 1152 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - template - - inline bool - operator==(const __normal_iterator<_IteratorL, _Container>& __lhs, - const __normal_iterator<_IteratorR, _Container>& __rhs) - noexcept - { return __lhs.base() == __rhs.base(); } - - template - - inline bool - operator==(const __normal_iterator<_Iterator, _Container>& __lhs, - const __normal_iterator<_Iterator, _Container>& __rhs) - noexcept - { return __lhs.base() == __rhs.base(); } - - template - - inline bool - operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs, - const __normal_iterator<_IteratorR, _Container>& __rhs) - noexcept - { return __lhs.base() != __rhs.base(); } - - template - - inline bool - operator!=(const __normal_iterator<_Iterator, _Container>& __lhs, - const __normal_iterator<_Iterator, _Container>& __rhs) - noexcept - { return __lhs.base() != __rhs.base(); } - - - template - inline bool - operator<(const __normal_iterator<_IteratorL, _Container>& __lhs, - const __normal_iterator<_IteratorR, _Container>& __rhs) - noexcept - { return __lhs.base() < __rhs.base(); } - - template - - inline bool - operator<(const __normal_iterator<_Iterator, _Container>& __lhs, - const __normal_iterator<_Iterator, _Container>& __rhs) - noexcept - { return __lhs.base() < __rhs.base(); } - - template - inline bool - operator>(const __normal_iterator<_IteratorL, _Container>& __lhs, - const __normal_iterator<_IteratorR, _Container>& __rhs) - noexcept - { return __lhs.base() > __rhs.base(); } - - template - - inline bool - operator>(const __normal_iterator<_Iterator, _Container>& __lhs, - const __normal_iterator<_Iterator, _Container>& __rhs) - noexcept - { return __lhs.base() > __rhs.base(); } - - template - inline bool - operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs, - const __normal_iterator<_IteratorR, _Container>& __rhs) - noexcept - { return __lhs.base() <= __rhs.base(); } - - template - - inline bool - operator<=(const __normal_iterator<_Iterator, _Container>& __lhs, - const __normal_iterator<_Iterator, _Container>& __rhs) - noexcept - { return __lhs.base() <= __rhs.base(); } - - template - inline bool - operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs, - const __normal_iterator<_IteratorR, _Container>& __rhs) - noexcept - { return __lhs.base() >= __rhs.base(); } - - template - - inline bool - operator>=(const __normal_iterator<_Iterator, _Container>& __lhs, - const __normal_iterator<_Iterator, _Container>& __rhs) - noexcept - { return __lhs.base() >= __rhs.base(); } - - - - - - - template - - - - inline auto - operator-(const __normal_iterator<_IteratorL, _Container>& __lhs, - const __normal_iterator<_IteratorR, _Container>& __rhs) noexcept - -> decltype(__lhs.base() - __rhs.base()) - - - - - - { return __lhs.base() - __rhs.base(); } - - template - - inline typename __normal_iterator<_Iterator, _Container>::difference_type - operator-(const __normal_iterator<_Iterator, _Container>& __lhs, - const __normal_iterator<_Iterator, _Container>& __rhs) - noexcept - { return __lhs.base() - __rhs.base(); } - - template - - inline __normal_iterator<_Iterator, _Container> - operator+(typename __normal_iterator<_Iterator, _Container>::difference_type - __n, const __normal_iterator<_Iterator, _Container>& __i) - noexcept - { return __normal_iterator<_Iterator, _Container>(__i.base() + __n); } - - -} - -namespace std -{ - - - template - - _Iterator - __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it) - noexcept(std::is_nothrow_copy_constructible<_Iterator>::value) - { return __it.base(); } -# 1342 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - namespace __detail - { -# 1358 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - } -# 1369 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - template - class move_iterator - - - - { - _Iterator _M_current; - - using __traits_type = iterator_traits<_Iterator>; - - using __base_ref = typename __traits_type::reference; - - - template - friend class move_iterator; -# 1408 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - public: - using iterator_type = _Iterator; -# 1422 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - typedef typename __traits_type::iterator_category iterator_category; - typedef typename __traits_type::value_type value_type; - typedef typename __traits_type::difference_type difference_type; - - typedef _Iterator pointer; - - - typedef typename conditional::value, - typename remove_reference<__base_ref>::type&&, - __base_ref>::type reference; - - - constexpr - move_iterator() - : _M_current() { } - - explicit constexpr - move_iterator(iterator_type __i) - : _M_current(std::move(__i)) { } - - template - - - - constexpr - move_iterator(const move_iterator<_Iter>& __i) - : _M_current(__i._M_current) { } - - template - - - - - constexpr - move_iterator& operator=(const move_iterator<_Iter>& __i) - { - _M_current = __i._M_current; - return *this; - } - - - constexpr iterator_type - base() const - { return _M_current; } -# 1476 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - constexpr reference - operator*() const - - - - { return static_cast(*_M_current); } - - - constexpr pointer - operator->() const - { return _M_current; } - - constexpr move_iterator& - operator++() - { - ++_M_current; - return *this; - } - - constexpr move_iterator - operator++(int) - { - move_iterator __tmp = *this; - ++_M_current; - return __tmp; - } - - - - - - - - constexpr move_iterator& - operator--() - { - --_M_current; - return *this; - } - - constexpr move_iterator - operator--(int) - { - move_iterator __tmp = *this; - --_M_current; - return __tmp; - } - - constexpr move_iterator - operator+(difference_type __n) const - { return move_iterator(_M_current + __n); } - - constexpr move_iterator& - operator+=(difference_type __n) - { - _M_current += __n; - return *this; - } - - constexpr move_iterator - operator-(difference_type __n) const - { return move_iterator(_M_current - __n); } - - constexpr move_iterator& - operator-=(difference_type __n) - { - _M_current -= __n; - return *this; - } - - constexpr reference - operator[](difference_type __n) const - - - - { return std::move(_M_current[__n]); } -# 1581 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - }; - - template - inline constexpr bool - operator==(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - - - - { return __x.base() == __y.base(); } -# 1600 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - template - inline constexpr bool - operator!=(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - { return !(__x == __y); } - - - template - inline constexpr bool - operator<(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - - - - { return __x.base() < __y.base(); } - - template - inline constexpr bool - operator<=(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - - - - { return !(__y < __x); } - - template - inline constexpr bool - operator>(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - - - - { return __y < __x; } - - template - inline constexpr bool - operator>=(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - - - - { return !(__x < __y); } - - - - - template - inline constexpr bool - operator==(const move_iterator<_Iterator>& __x, - const move_iterator<_Iterator>& __y) - { return __x.base() == __y.base(); } -# 1659 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - template - inline constexpr bool - operator!=(const move_iterator<_Iterator>& __x, - const move_iterator<_Iterator>& __y) - { return !(__x == __y); } - - template - inline constexpr bool - operator<(const move_iterator<_Iterator>& __x, - const move_iterator<_Iterator>& __y) - { return __x.base() < __y.base(); } - - template - inline constexpr bool - operator<=(const move_iterator<_Iterator>& __x, - const move_iterator<_Iterator>& __y) - { return !(__y < __x); } - - template - inline constexpr bool - operator>(const move_iterator<_Iterator>& __x, - const move_iterator<_Iterator>& __y) - { return __y < __x; } - - template - inline constexpr bool - operator>=(const move_iterator<_Iterator>& __x, - const move_iterator<_Iterator>& __y) - { return !(__x < __y); } - - - - template - inline constexpr auto - operator-(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - -> decltype(__x.base() - __y.base()) - { return __x.base() - __y.base(); } - - template - inline constexpr move_iterator<_Iterator> - operator+(typename move_iterator<_Iterator>::difference_type __n, - const move_iterator<_Iterator>& __x) - { return __x + __n; } - - template - inline constexpr move_iterator<_Iterator> - make_move_iterator(_Iterator __i) - { return move_iterator<_Iterator>(std::move(__i)); } - - template::value_type>::value, - _Iterator, move_iterator<_Iterator>>::type> - inline constexpr _ReturnType - __make_move_if_noexcept_iterator(_Iterator __i) - { return _ReturnType(__i); } - - - - template::value, - const _Tp*, move_iterator<_Tp*>>::type> - inline constexpr _ReturnType - __make_move_if_noexcept_iterator(_Tp* __i) - { return _ReturnType(__i); } -# 2447 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - template - - auto - __niter_base(move_iterator<_Iterator> __it) - -> decltype(make_move_iterator(__niter_base(__it.base()))) - { return make_move_iterator(__niter_base(__it.base())); } - - template - struct __is_move_iterator > - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - template - - auto - __miter_base(move_iterator<_Iterator> __it) - -> decltype(__miter_base(__it.base())) - { return __miter_base(__it.base()); } -# 2479 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_iterator.h" 3 - template - using __iter_key_t = remove_const_t< - typename iterator_traits<_InputIterator>::value_type::first_type>; - - template - using __iter_val_t = - typename iterator_traits<_InputIterator>::value_type::second_type; - - template - struct pair; - - template - using __iter_to_alloc_t = - pair>, - __iter_val_t<_InputIterator>>; - - - -} -# 68 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 2 3 - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/debug/debug.h" 1 3 -# 48 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/debug/debug.h" 3 -namespace std -{ - namespace __debug { } -} - - - - -namespace __gnu_debug -{ - using namespace std::__debug; - - template - struct _Safe_iterator; -} -# 70 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 2 3 - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/predefined_ops.h" 1 3 -# 35 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/predefined_ops.h" 3 -namespace __gnu_cxx -{ -namespace __ops -{ - struct _Iter_less_iter - { - template - constexpr - bool - operator()(_Iterator1 __it1, _Iterator2 __it2) const - { return *__it1 < *__it2; } - }; - - constexpr - inline _Iter_less_iter - __iter_less_iter() - { return _Iter_less_iter(); } - - struct _Iter_less_val - { - - constexpr _Iter_less_val() = default; - - - - - - explicit - _Iter_less_val(_Iter_less_iter) { } - - template - - bool - operator()(_Iterator __it, _Value& __val) const - { return *__it < __val; } - }; - - - inline _Iter_less_val - __iter_less_val() - { return _Iter_less_val(); } - - - inline _Iter_less_val - __iter_comp_val(_Iter_less_iter) - { return _Iter_less_val(); } - - struct _Val_less_iter - { - - constexpr _Val_less_iter() = default; - - - - - - explicit - _Val_less_iter(_Iter_less_iter) { } - - template - - bool - operator()(_Value& __val, _Iterator __it) const - { return __val < *__it; } - }; - - - inline _Val_less_iter - __val_less_iter() - { return _Val_less_iter(); } - - - inline _Val_less_iter - __val_comp_iter(_Iter_less_iter) - { return _Val_less_iter(); } - - struct _Iter_equal_to_iter - { - template - - bool - operator()(_Iterator1 __it1, _Iterator2 __it2) const - { return *__it1 == *__it2; } - }; - - - inline _Iter_equal_to_iter - __iter_equal_to_iter() - { return _Iter_equal_to_iter(); } - - struct _Iter_equal_to_val - { - template - - bool - operator()(_Iterator __it, _Value& __val) const - { return *__it == __val; } - }; - - - inline _Iter_equal_to_val - __iter_equal_to_val() - { return _Iter_equal_to_val(); } - - - inline _Iter_equal_to_val - __iter_comp_val(_Iter_equal_to_iter) - { return _Iter_equal_to_val(); } - - template - struct _Iter_comp_iter - { - _Compare _M_comp; - - explicit constexpr - _Iter_comp_iter(_Compare __comp) - : _M_comp(std::move(__comp)) - { } - - template - constexpr - bool - operator()(_Iterator1 __it1, _Iterator2 __it2) - { return bool(_M_comp(*__it1, *__it2)); } - }; - - template - constexpr - inline _Iter_comp_iter<_Compare> - __iter_comp_iter(_Compare __comp) - { return _Iter_comp_iter<_Compare>(std::move(__comp)); } - - template - struct _Iter_comp_val - { - _Compare _M_comp; - - - explicit - _Iter_comp_val(_Compare __comp) - : _M_comp(std::move(__comp)) - { } - - - explicit - _Iter_comp_val(const _Iter_comp_iter<_Compare>& __comp) - : _M_comp(__comp._M_comp) - { } - - - - explicit - _Iter_comp_val(_Iter_comp_iter<_Compare>&& __comp) - : _M_comp(std::move(__comp._M_comp)) - { } - - - template - - bool - operator()(_Iterator __it, _Value& __val) - { return bool(_M_comp(*__it, __val)); } - }; - - template - - inline _Iter_comp_val<_Compare> - __iter_comp_val(_Compare __comp) - { return _Iter_comp_val<_Compare>(std::move(__comp)); } - - template - - inline _Iter_comp_val<_Compare> - __iter_comp_val(_Iter_comp_iter<_Compare> __comp) - { return _Iter_comp_val<_Compare>(std::move(__comp)); } - - template - struct _Val_comp_iter - { - _Compare _M_comp; - - - explicit - _Val_comp_iter(_Compare __comp) - : _M_comp(std::move(__comp)) - { } - - - explicit - _Val_comp_iter(const _Iter_comp_iter<_Compare>& __comp) - : _M_comp(__comp._M_comp) - { } - - - - explicit - _Val_comp_iter(_Iter_comp_iter<_Compare>&& __comp) - : _M_comp(std::move(__comp._M_comp)) - { } - - - template - - bool - operator()(_Value& __val, _Iterator __it) - { return bool(_M_comp(__val, *__it)); } - }; - - template - - inline _Val_comp_iter<_Compare> - __val_comp_iter(_Compare __comp) - { return _Val_comp_iter<_Compare>(std::move(__comp)); } - - template - - inline _Val_comp_iter<_Compare> - __val_comp_iter(_Iter_comp_iter<_Compare> __comp) - { return _Val_comp_iter<_Compare>(std::move(__comp)); } - - template - struct _Iter_equals_val - { - _Value& _M_value; - - - explicit - _Iter_equals_val(_Value& __value) - : _M_value(__value) - { } - - template - - bool - operator()(_Iterator __it) - { return *__it == _M_value; } - }; - - template - - inline _Iter_equals_val<_Value> - __iter_equals_val(_Value& __val) - { return _Iter_equals_val<_Value>(__val); } - - template - struct _Iter_equals_iter - { - _Iterator1 _M_it1; - - - explicit - _Iter_equals_iter(_Iterator1 __it1) - : _M_it1(__it1) - { } - - template - - bool - operator()(_Iterator2 __it2) - { return *__it2 == *_M_it1; } - }; - - template - - inline _Iter_equals_iter<_Iterator> - __iter_comp_iter(_Iter_equal_to_iter, _Iterator __it) - { return _Iter_equals_iter<_Iterator>(__it); } - - template - struct _Iter_pred - { - _Predicate _M_pred; - - - explicit - _Iter_pred(_Predicate __pred) - : _M_pred(std::move(__pred)) - { } - - template - - bool - operator()(_Iterator __it) - { return bool(_M_pred(*__it)); } - }; - - template - - inline _Iter_pred<_Predicate> - __pred_iter(_Predicate __pred) - { return _Iter_pred<_Predicate>(std::move(__pred)); } - - template - struct _Iter_comp_to_val - { - _Compare _M_comp; - _Value& _M_value; - - - _Iter_comp_to_val(_Compare __comp, _Value& __value) - : _M_comp(std::move(__comp)), _M_value(__value) - { } - - template - - bool - operator()(_Iterator __it) - { return bool(_M_comp(*__it, _M_value)); } - }; - - template - _Iter_comp_to_val<_Compare, _Value> - - __iter_comp_val(_Compare __comp, _Value &__val) - { - return _Iter_comp_to_val<_Compare, _Value>(std::move(__comp), __val); - } - - template - struct _Iter_comp_to_iter - { - _Compare _M_comp; - _Iterator1 _M_it1; - - - _Iter_comp_to_iter(_Compare __comp, _Iterator1 __it1) - : _M_comp(std::move(__comp)), _M_it1(__it1) - { } - - template - - bool - operator()(_Iterator2 __it2) - { return bool(_M_comp(*__it2, *_M_it1)); } - }; - - template - - inline _Iter_comp_to_iter<_Compare, _Iterator> - __iter_comp_iter(_Iter_comp_iter<_Compare> __comp, _Iterator __it) - { - return _Iter_comp_to_iter<_Compare, _Iterator>( - std::move(__comp._M_comp), __it); - } - - template - struct _Iter_negate - { - _Predicate _M_pred; - - - explicit - _Iter_negate(_Predicate __pred) - : _M_pred(std::move(__pred)) - { } - - template - - bool - operator()(_Iterator __it) - { return !bool(_M_pred(*__it)); } - }; - - template - - inline _Iter_negate<_Predicate> - __negate(_Iter_pred<_Predicate> __pred) - { return _Iter_negate<_Predicate>(std::move(__pred._M_pred)); } - -} -} -# 72 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 2 3 - - - - - - - -namespace std -{ - - - - - - - template - constexpr - inline int - __memcmp(const _Tp* __first1, const _Up* __first2, size_t __num) - { - - static_assert(sizeof(_Tp) == sizeof(_Up), "can be compared with memcmp"); -# 105 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - return __builtin_memcmp(__first1, __first2, sizeof(_Tp) * __num); - } -# 149 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - template - - inline void - iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) - { - - - - -# 182 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - swap(*__a, *__b); - - } -# 198 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - template - - _ForwardIterator2 - swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1, - _ForwardIterator2 __first2) - { - - - - - - ; - - for (; __first1 != __last1; ++__first1, (void)++__first2) - std::iter_swap(__first1, __first2); - return __first2; - } -# 227 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - template - constexpr - inline const _Tp& - min(const _Tp& __a, const _Tp& __b) - { - - - - if (__b < __a) - return __b; - return __a; - } -# 251 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - template - constexpr - inline const _Tp& - max(const _Tp& __a, const _Tp& __b) - { - - - - if (__a < __b) - return __b; - return __a; - } -# 275 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - template - constexpr - inline const _Tp& - min(const _Tp& __a, const _Tp& __b, _Compare __comp) - { - - if (__comp(__b, __a)) - return __b; - return __a; - } -# 297 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - template - constexpr - inline const _Tp& - max(const _Tp& __a, const _Tp& __b, _Compare __comp) - { - - if (__comp(__a, __b)) - return __b; - return __a; - } - - - - template - - inline _Iterator - __niter_base(_Iterator __it) - noexcept(std::is_nothrow_copy_constructible<_Iterator>::value) - { return __it; } - - template - _Ite - __niter_base(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, - std::random_access_iterator_tag>&); - - - - - template - - inline _From - __niter_wrap(_From __from, _To __res) - { return __from + (__res - std::__niter_base(__from)); } - - - template - - inline _Iterator - __niter_wrap(const _Iterator&, _Iterator __res) - { return __res; } - - - - - - - - template - struct __copy_move - { - template - - static _OI - __copy_m(_II __first, _II __last, _OI __result) - { - for (; __first != __last; ++__result, (void)++__first) - *__result = *__first; - return __result; - } - }; - - - template - struct __copy_move - { - template - - static _OI - __copy_m(_II __first, _II __last, _OI __result) - { - for (; __first != __last; ++__result, (void)++__first) - *__result = std::move(*__first); - return __result; - } - }; - - - template<> - struct __copy_move - { - template - - static _OI - __copy_m(_II __first, _II __last, _OI __result) - { - typedef typename iterator_traits<_II>::difference_type _Distance; - for(_Distance __n = __last - __first; __n > 0; --__n) - { - *__result = *__first; - ++__first; - ++__result; - } - return __result; - } - }; - - - template<> - struct __copy_move - { - template - - static _OI - __copy_m(_II __first, _II __last, _OI __result) - { - typedef typename iterator_traits<_II>::difference_type _Distance; - for(_Distance __n = __last - __first; __n > 0; --__n) - { - *__result = std::move(*__first); - ++__first; - ++__result; - } - return __result; - } - }; - - - template - struct __copy_move<_IsMove, true, random_access_iterator_tag> - { - template - - static _Tp* - __copy_m(const _Tp* __first, const _Tp* __last, _Tp* __result) - { - - using __assignable = conditional<_IsMove, - is_move_assignable<_Tp>, - is_copy_assignable<_Tp>>; - - static_assert( __assignable::type::value, "type is not assignable" ); - - const ptrdiff_t _Num = __last - __first; - if (_Num) - __builtin_memmove(__result, __first, sizeof(_Tp) * _Num); - return __result + _Num; - } - }; - - - - template - struct _Deque_iterator; - - struct _Bit_iterator; - - - - - - template - struct char_traits; - - template - class istreambuf_iterator; - - template - class ostreambuf_iterator; - - template - typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, - ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type - __copy_move_a2(_CharT*, _CharT*, - ostreambuf_iterator<_CharT, char_traits<_CharT> >); - - template - typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, - ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type - __copy_move_a2(const _CharT*, const _CharT*, - ostreambuf_iterator<_CharT, char_traits<_CharT> >); - - template - typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, - _CharT*>::__type - __copy_move_a2(istreambuf_iterator<_CharT, char_traits<_CharT> >, - istreambuf_iterator<_CharT, char_traits<_CharT> >, _CharT*); - - template - typename __gnu_cxx::__enable_if< - __is_char<_CharT>::__value, - std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type - __copy_move_a2( - istreambuf_iterator<_CharT, char_traits<_CharT> >, - istreambuf_iterator<_CharT, char_traits<_CharT> >, - std::_Deque_iterator<_CharT, _CharT&, _CharT*>); - - template - - inline _OI - __copy_move_a2(_II __first, _II __last, _OI __result) - { - typedef typename iterator_traits<_II>::iterator_category _Category; - - - - - - return std::__copy_move<_IsMove, __memcpyable<_OI, _II>::__value, - _Category>::__copy_m(__first, __last, __result); - } - - template - _OI - __copy_move_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr>, - std::_Deque_iterator<_Tp, _Ref, _Ptr>, - _OI); - - template - std::_Deque_iterator<_OTp, _OTp&, _OTp*> - __copy_move_a1(std::_Deque_iterator<_ITp, _IRef, _IPtr>, - std::_Deque_iterator<_ITp, _IRef, _IPtr>, - std::_Deque_iterator<_OTp, _OTp&, _OTp*>); - - template - typename __gnu_cxx::__enable_if< - __is_random_access_iter<_II>::__value, - std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type - __copy_move_a1(_II, _II, std::_Deque_iterator<_Tp, _Tp&, _Tp*>); - - template - - inline _OI - __copy_move_a1(_II __first, _II __last, _OI __result) - { return std::__copy_move_a2<_IsMove>(__first, __last, __result); } - - template - - inline _OI - __copy_move_a(_II __first, _II __last, _OI __result) - { - return std::__niter_wrap(__result, - std::__copy_move_a1<_IsMove>(std::__niter_base(__first), - std::__niter_base(__last), - std::__niter_base(__result))); - } - - template - _OI - __copy_move_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, - const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, - _OI); - - template - __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat> - __copy_move_a(_II, _II, - const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&); - - template - ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat> - __copy_move_a(const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&, - const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&, - const ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>&); - - template - - _OutputIterator - __copy_n_a(_InputIterator __first, _Size __n, _OutputIterator __result, - bool) - { - if (__n > 0) - { - while (true) - { - *__result = *__first; - ++__result; - if (--__n > 0) - ++__first; - else - break; - } - } - return __result; - } - - template - typename __gnu_cxx::__enable_if< - __is_char<_CharT>::__value, _CharT*>::__type - __copy_n_a(istreambuf_iterator<_CharT, char_traits<_CharT> >, - _Size, _CharT*, bool); - - template - typename __gnu_cxx::__enable_if< - __is_char<_CharT>::__value, - std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type - __copy_n_a(istreambuf_iterator<_CharT, char_traits<_CharT> >, _Size, - std::_Deque_iterator<_CharT, _CharT&, _CharT*>, - bool); -# 608 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - template - - inline _OI - copy(_II __first, _II __last, _OI __result) - { - - - - - ; - - return std::__copy_move_a<__is_move_iterator<_II>::__value> - (std::__miter_base(__first), std::__miter_base(__last), __result); - } -# 641 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - template - - inline _OI - move(_II __first, _II __last, _OI __result) - { - - - - - ; - - return std::__copy_move_a(std::__miter_base(__first), - std::__miter_base(__last), __result); - } - - - - - - - template - struct __copy_move_backward - { - template - - static _BI2 - __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) - { - while (__first != __last) - *--__result = *--__last; - return __result; - } - }; - - - template - struct __copy_move_backward - { - template - - static _BI2 - __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) - { - while (__first != __last) - *--__result = std::move(*--__last); - return __result; - } - }; - - - template<> - struct __copy_move_backward - { - template - - static _BI2 - __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) - { - typename iterator_traits<_BI1>::difference_type - __n = __last - __first; - for (; __n > 0; --__n) - *--__result = *--__last; - return __result; - } - }; - - - template<> - struct __copy_move_backward - { - template - - static _BI2 - __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) - { - typename iterator_traits<_BI1>::difference_type - __n = __last - __first; - for (; __n > 0; --__n) - *--__result = std::move(*--__last); - return __result; - } - }; - - - template - struct __copy_move_backward<_IsMove, true, random_access_iterator_tag> - { - template - - static _Tp* - __copy_move_b(const _Tp* __first, const _Tp* __last, _Tp* __result) - { - - using __assignable = conditional<_IsMove, - is_move_assignable<_Tp>, - is_copy_assignable<_Tp>>; - - static_assert( __assignable::type::value, "type is not assignable" ); - - const ptrdiff_t _Num = __last - __first; - if (_Num) - __builtin_memmove(__result - _Num, __first, sizeof(_Tp) * _Num); - return __result - _Num; - } - }; - - template - - inline _BI2 - __copy_move_backward_a2(_BI1 __first, _BI1 __last, _BI2 __result) - { - typedef typename iterator_traits<_BI1>::iterator_category _Category; - - - - - - return std::__copy_move_backward<_IsMove, - __memcpyable<_BI2, _BI1>::__value, - _Category>::__copy_move_b(__first, - __last, - __result); - } - - template - - inline _BI2 - __copy_move_backward_a1(_BI1 __first, _BI1 __last, _BI2 __result) - { return std::__copy_move_backward_a2<_IsMove>(__first, __last, __result); } - - template - _OI - __copy_move_backward_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr>, - std::_Deque_iterator<_Tp, _Ref, _Ptr>, - _OI); - - template - std::_Deque_iterator<_OTp, _OTp&, _OTp*> - __copy_move_backward_a1( - std::_Deque_iterator<_ITp, _IRef, _IPtr>, - std::_Deque_iterator<_ITp, _IRef, _IPtr>, - std::_Deque_iterator<_OTp, _OTp&, _OTp*>); - - template - typename __gnu_cxx::__enable_if< - __is_random_access_iter<_II>::__value, - std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type - __copy_move_backward_a1(_II, _II, - std::_Deque_iterator<_Tp, _Tp&, _Tp*>); - - template - - inline _OI - __copy_move_backward_a(_II __first, _II __last, _OI __result) - { - return std::__niter_wrap(__result, - std::__copy_move_backward_a1<_IsMove> - (std::__niter_base(__first), std::__niter_base(__last), - std::__niter_base(__result))); - } - - template - _OI - __copy_move_backward_a( - const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, - const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, - _OI); - - template - __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat> - __copy_move_backward_a(_II, _II, - const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&); - - template - ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat> - __copy_move_backward_a( - const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&, - const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&, - const ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>&); -# 845 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - template - - inline _BI2 - copy_backward(_BI1 __first, _BI1 __last, _BI2 __result) - { - - - - - - - ; - - return std::__copy_move_backward_a<__is_move_iterator<_BI1>::__value> - (std::__miter_base(__first), std::__miter_base(__last), __result); - } -# 881 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - template - - inline _BI2 - move_backward(_BI1 __first, _BI1 __last, _BI2 __result) - { - - - - - - - ; - - return std::__copy_move_backward_a(std::__miter_base(__first), - std::__miter_base(__last), - __result); - } - - - - - - - template - - inline typename - __gnu_cxx::__enable_if::__value, void>::__type - __fill_a1(_ForwardIterator __first, _ForwardIterator __last, - const _Tp& __value) - { - for (; __first != __last; ++__first) - *__first = __value; - } - - template - - inline typename - __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, void>::__type - __fill_a1(_ForwardIterator __first, _ForwardIterator __last, - const _Tp& __value) - { - const _Tp __tmp = __value; - for (; __first != __last; ++__first) - *__first = __tmp; - } - - - template - - inline typename - __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, void>::__type - __fill_a1(_Tp* __first, _Tp* __last, const _Tp& __c) - { - const _Tp __tmp = __c; -# 943 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - if (const size_t __len = __last - __first) - __builtin_memset(__first, static_cast(__tmp), __len); - } - - template - - inline void - __fill_a1(::__gnu_cxx::__normal_iterator<_Ite, _Cont> __first, - ::__gnu_cxx::__normal_iterator<_Ite, _Cont> __last, - const _Tp& __value) - { std::__fill_a1(__first.base(), __last.base(), __value); } - - template - void - __fill_a1(const std::_Deque_iterator<_Tp, _Tp&, _Tp*>&, - const std::_Deque_iterator<_Tp, _Tp&, _Tp*>&, - const _VTp&); - - void - __fill_a1(std::_Bit_iterator, std::_Bit_iterator, - const bool&); - - template - - inline void - __fill_a(_FIte __first, _FIte __last, const _Tp& __value) - { std::__fill_a1(__first, __last, __value); } - - template - void - __fill_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, - const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, - const _Tp&); -# 989 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - template - - inline void - fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) - { - - - - ; - - std::__fill_a(__first, __last, __value); - } - - - inline constexpr int - __size_to_integer(int __n) { return __n; } - inline constexpr unsigned - __size_to_integer(unsigned __n) { return __n; } - inline constexpr long - __size_to_integer(long __n) { return __n; } - inline constexpr unsigned long - __size_to_integer(unsigned long __n) { return __n; } - inline constexpr long long - __size_to_integer(long long __n) { return __n; } - inline constexpr unsigned long long - __size_to_integer(unsigned long long __n) { return __n; } - - - inline constexpr __int128 - __size_to_integer(__int128 __n) { return __n; } - inline constexpr unsigned __int128 - __size_to_integer(unsigned __int128 __n) { return __n; } -# 1041 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - inline constexpr long long - __size_to_integer(float __n) { return (long long)__n; } - inline constexpr long long - __size_to_integer(double __n) { return (long long)__n; } - inline constexpr long long - __size_to_integer(long double __n) { return (long long)__n; } - - inline constexpr long long - __size_to_integer(__float128 __n) { return (long long)__n; } - - - template - - inline typename - __gnu_cxx::__enable_if::__value, _OutputIterator>::__type - __fill_n_a1(_OutputIterator __first, _Size __n, const _Tp& __value) - { - for (; __n > 0; --__n, (void) ++__first) - *__first = __value; - return __first; - } - - template - - inline typename - __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, _OutputIterator>::__type - __fill_n_a1(_OutputIterator __first, _Size __n, const _Tp& __value) - { - const _Tp __tmp = __value; - for (; __n > 0; --__n, (void) ++__first) - *__first = __tmp; - return __first; - } - - template - ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat> - __fill_n_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>& __first, - _Size __n, const _Tp& __value, - std::input_iterator_tag); - - template - - inline _OutputIterator - __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value, - std::output_iterator_tag) - { - - static_assert(is_integral<_Size>{}, "fill_n must pass integral size"); - - return __fill_n_a1(__first, __n, __value); - } - - template - - inline _OutputIterator - __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value, - std::input_iterator_tag) - { - - static_assert(is_integral<_Size>{}, "fill_n must pass integral size"); - - return __fill_n_a1(__first, __n, __value); - } - - template - - inline _OutputIterator - __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value, - std::random_access_iterator_tag) - { - - static_assert(is_integral<_Size>{}, "fill_n must pass integral size"); - - if (__n <= 0) - return __first; - - ; - - std::__fill_a(__first, __first + __n, __value); - return __first + __n; - } -# 1141 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - template - - inline _OI - fill_n(_OI __first, _Size __n, const _Tp& __value) - { - - - - return std::__fill_n_a(__first, std::__size_to_integer(__n), __value, - std::__iterator_category(__first)); - } - - template - struct __equal - { - template - - static bool - equal(_II1 __first1, _II1 __last1, _II2 __first2) - { - for (; __first1 != __last1; ++__first1, (void) ++__first2) - if (!(*__first1 == *__first2)) - return false; - return true; - } - }; - - template<> - struct __equal - { - template - - static bool - equal(const _Tp* __first1, const _Tp* __last1, const _Tp* __first2) - { - if (const size_t __len = (__last1 - __first1)) - return !std::__memcmp(__first1, __first2, __len); - return true; - } - }; - - template - typename __gnu_cxx::__enable_if< - __is_random_access_iter<_II>::__value, bool>::__type - __equal_aux1(std::_Deque_iterator<_Tp, _Ref, _Ptr>, - std::_Deque_iterator<_Tp, _Ref, _Ptr>, - _II); - - template - bool - __equal_aux1(std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>, - std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>, - std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>); - - template - typename __gnu_cxx::__enable_if< - __is_random_access_iter<_II>::__value, bool>::__type - __equal_aux1(_II, _II, - std::_Deque_iterator<_Tp, _Ref, _Ptr>); - - template - - inline bool - __equal_aux1(_II1 __first1, _II1 __last1, _II2 __first2) - { - typedef typename iterator_traits<_II1>::value_type _ValueType1; - const bool __simple = ((__is_integer<_ValueType1>::__value - || __is_pointer<_ValueType1>::__value) - && __memcmpable<_II1, _II2>::__value); - return std::__equal<__simple>::equal(__first1, __last1, __first2); - } - - template - - inline bool - __equal_aux(_II1 __first1, _II1 __last1, _II2 __first2) - { - return std::__equal_aux1(std::__niter_base(__first1), - std::__niter_base(__last1), - std::__niter_base(__first2)); - } - - template - bool - __equal_aux(const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&, - const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&, - _II2); - - template - bool - __equal_aux(_II1, _II1, - const ::__gnu_debug::_Safe_iterator<_II2, _Seq2, _Cat2>&); - - template - bool - __equal_aux(const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&, - const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&, - const ::__gnu_debug::_Safe_iterator<_II2, _Seq2, _Cat2>&); - - template - struct __lc_rai - { - template - - static _II1 - __newlast1(_II1, _II1 __last1, _II2, _II2) - { return __last1; } - - template - - static bool - __cnd2(_II __first, _II __last) - { return __first != __last; } - }; - - template<> - struct __lc_rai - { - template - - static _RAI1 - __newlast1(_RAI1 __first1, _RAI1 __last1, - _RAI2 __first2, _RAI2 __last2) - { - const typename iterator_traits<_RAI1>::difference_type - __diff1 = __last1 - __first1; - const typename iterator_traits<_RAI2>::difference_type - __diff2 = __last2 - __first2; - return __diff2 < __diff1 ? __first1 + __diff2 : __last1; - } - - template - static bool - __cnd2(_RAI, _RAI) - { return true; } - }; - - template - - bool - __lexicographical_compare_impl(_II1 __first1, _II1 __last1, - _II2 __first2, _II2 __last2, - _Compare __comp) - { - typedef typename iterator_traits<_II1>::iterator_category _Category1; - typedef typename iterator_traits<_II2>::iterator_category _Category2; - typedef std::__lc_rai<_Category1, _Category2> __rai_type; - - __last1 = __rai_type::__newlast1(__first1, __last1, __first2, __last2); - for (; __first1 != __last1 && __rai_type::__cnd2(__first2, __last2); - ++__first1, (void)++__first2) - { - if (__comp(__first1, __first2)) - return true; - if (__comp(__first2, __first1)) - return false; - } - return __first1 == __last1 && __first2 != __last2; - } - - template - struct __lexicographical_compare - { - template - - static bool - __lc(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) - { - using __gnu_cxx::__ops::__iter_less_iter; - return std::__lexicographical_compare_impl(__first1, __last1, - __first2, __last2, - __iter_less_iter()); - } - - template - - static int - __3way(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) - { - while (__first1 != __last1) - { - if (__first2 == __last2) - return +1; - if (*__first1 < *__first2) - return -1; - if (*__first2 < *__first1) - return +1; - ++__first1; - ++__first2; - } - return int(__first2 == __last2) - 1; - } - }; - - template<> - struct __lexicographical_compare - { - template - - static bool - __lc(const _Tp* __first1, const _Tp* __last1, - const _Up* __first2, const _Up* __last2) - { return __3way(__first1, __last1, __first2, __last2) < 0; } - - template - - static ptrdiff_t - __3way(const _Tp* __first1, const _Tp* __last1, - const _Up* __first2, const _Up* __last2) - { - const size_t __len1 = __last1 - __first1; - const size_t __len2 = __last2 - __first2; - if (const size_t __len = std::min(__len1, __len2)) - if (int __result = std::__memcmp(__first1, __first2, __len)) - return __result; - return ptrdiff_t(__len1 - __len2); - } - }; - - template - - inline bool - __lexicographical_compare_aux1(_II1 __first1, _II1 __last1, - _II2 __first2, _II2 __last2) - { - typedef typename iterator_traits<_II1>::value_type _ValueType1; - typedef typename iterator_traits<_II2>::value_type _ValueType2; - const bool __simple = - (__is_memcmp_ordered_with<_ValueType1, _ValueType2>::__value - && __is_pointer<_II1>::__value - && __is_pointer<_II2>::__value - - - - - - - - ); - - return std::__lexicographical_compare<__simple>::__lc(__first1, __last1, - __first2, __last2); - } - - template - bool - __lexicographical_compare_aux1( - std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>, - std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>, - _Tp2*, _Tp2*); - - template - bool - __lexicographical_compare_aux1(_Tp1*, _Tp1*, - std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>, - std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>); - - template - bool - __lexicographical_compare_aux1( - std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>, - std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>, - std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>, - std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>); - - template - - inline bool - __lexicographical_compare_aux(_II1 __first1, _II1 __last1, - _II2 __first2, _II2 __last2) - { - return std::__lexicographical_compare_aux1(std::__niter_base(__first1), - std::__niter_base(__last1), - std::__niter_base(__first2), - std::__niter_base(__last2)); - } - - template - bool - __lexicographical_compare_aux( - const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&, - const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&, - _II2, _II2); - - template - bool - __lexicographical_compare_aux( - _II1, _II1, - const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&, - const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&); - - template - bool - __lexicographical_compare_aux( - const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&, - const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&, - const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&, - const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&); - - template - - _ForwardIterator - __lower_bound(_ForwardIterator __first, _ForwardIterator __last, - const _Tp& __val, _Compare __comp) - { - typedef typename iterator_traits<_ForwardIterator>::difference_type - _DistanceType; - - _DistanceType __len = std::distance(__first, __last); - - while (__len > 0) - { - _DistanceType __half = __len >> 1; - _ForwardIterator __middle = __first; - std::advance(__middle, __half); - if (__comp(__middle, __val)) - { - __first = __middle; - ++__first; - __len = __len - __half - 1; - } - else - __len = __half; - } - return __first; - } -# 1487 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - template - - inline _ForwardIterator - lower_bound(_ForwardIterator __first, _ForwardIterator __last, - const _Tp& __val) - { - - - - - ; - - return std::__lower_bound(__first, __last, __val, - __gnu_cxx::__ops::__iter_less_val()); - } - - - - inline constexpr int - __lg(int __n) - { return (int)sizeof(int) * 8 - 1 - __builtin_clz(__n); } - - inline constexpr unsigned - __lg(unsigned __n) - { return (int)sizeof(int) * 8 - 1 - __builtin_clz(__n); } - - inline constexpr long - __lg(long __n) - { return (int)sizeof(long) * 8 - 1 - __builtin_clzl(__n); } - - inline constexpr unsigned long - __lg(unsigned long __n) - { return (int)sizeof(long) * 8 - 1 - __builtin_clzl(__n); } - - inline constexpr long long - __lg(long long __n) - { return (int)sizeof(long long) * 8 - 1 - __builtin_clzll(__n); } - - inline constexpr unsigned long long - __lg(unsigned long long __n) - { return (int)sizeof(long long) * 8 - 1 - __builtin_clzll(__n); } - - -# 1543 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - template - - inline bool - equal(_II1 __first1, _II1 __last1, _II2 __first2) - { - - - - - - - ; - - return std::__equal_aux(__first1, __last1, __first2); - } -# 1574 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - template - - inline bool - equal(_IIter1 __first1, _IIter1 __last1, - _IIter2 __first2, _BinaryPredicate __binary_pred) - { - - - - ; - - for (; __first1 != __last1; ++__first1, (void)++__first2) - if (!bool(__binary_pred(*__first1, *__first2))) - return false; - return true; - } - - - - template - - inline bool - __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) - { - using _RATag = random_access_iterator_tag; - using _Cat1 = typename iterator_traits<_II1>::iterator_category; - using _Cat2 = typename iterator_traits<_II2>::iterator_category; - using _RAIters = __and_, is_same<_Cat2, _RATag>>; - if (_RAIters()) - { - auto __d1 = std::distance(__first1, __last1); - auto __d2 = std::distance(__first2, __last2); - if (__d1 != __d2) - return false; - return std::equal(__first1, __last1, __first2); - } - - for (; __first1 != __last1 && __first2 != __last2; - ++__first1, (void)++__first2) - if (!(*__first1 == *__first2)) - return false; - return __first1 == __last1 && __first2 == __last2; - } - - - template - - inline bool - __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2, - _BinaryPredicate __binary_pred) - { - using _RATag = random_access_iterator_tag; - using _Cat1 = typename iterator_traits<_II1>::iterator_category; - using _Cat2 = typename iterator_traits<_II2>::iterator_category; - using _RAIters = __and_, is_same<_Cat2, _RATag>>; - if (_RAIters()) - { - auto __d1 = std::distance(__first1, __last1); - auto __d2 = std::distance(__first2, __last2); - if (__d1 != __d2) - return false; - return std::equal(__first1, __last1, __first2, - __binary_pred); - } - - for (; __first1 != __last1 && __first2 != __last2; - ++__first1, (void)++__first2) - if (!bool(__binary_pred(*__first1, *__first2))) - return false; - return __first1 == __last1 && __first2 == __last2; - } -# 1664 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - template - - inline bool - equal(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) - { - - - - - - - ; - ; - - return std::__equal4(__first1, __last1, __first2, __last2); - } -# 1697 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - template - - inline bool - equal(_IIter1 __first1, _IIter1 __last1, - _IIter2 __first2, _IIter2 __last2, _BinaryPredicate __binary_pred) - { - - - - ; - ; - - return std::__equal4(__first1, __last1, __first2, __last2, - __binary_pred); - } -# 1729 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - template - - inline bool - lexicographical_compare(_II1 __first1, _II1 __last1, - _II2 __first2, _II2 __last2) - { - - - - - - - - - - ; - ; - - return std::__lexicographical_compare_aux(__first1, __last1, - __first2, __last2); - } -# 1764 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - template - - inline bool - lexicographical_compare(_II1 __first1, _II1 __last1, - _II2 __first2, _II2 __last2, _Compare __comp) - { - - - - ; - ; - - return std::__lexicographical_compare_impl - (__first1, __last1, __first2, __last2, - __gnu_cxx::__ops::__iter_comp_iter(__comp)); - } -# 1877 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - template - - pair<_InputIterator1, _InputIterator2> - __mismatch(_InputIterator1 __first1, _InputIterator1 __last1, - _InputIterator2 __first2, _BinaryPredicate __binary_pred) - { - while (__first1 != __last1 && __binary_pred(__first1, __first2)) - { - ++__first1; - ++__first2; - } - return pair<_InputIterator1, _InputIterator2>(__first1, __first2); - } -# 1905 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - template - - inline pair<_InputIterator1, _InputIterator2> - mismatch(_InputIterator1 __first1, _InputIterator1 __last1, - _InputIterator2 __first2) - { - - - - - - - ; - - return std::__mismatch(__first1, __last1, __first2, - __gnu_cxx::__ops::__iter_equal_to_iter()); - } -# 1939 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - template - - inline pair<_InputIterator1, _InputIterator2> - mismatch(_InputIterator1 __first1, _InputIterator1 __last1, - _InputIterator2 __first2, _BinaryPredicate __binary_pred) - { - - - - ; - - return std::__mismatch(__first1, __last1, __first2, - __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); - } - - - - template - - pair<_InputIterator1, _InputIterator2> - __mismatch(_InputIterator1 __first1, _InputIterator1 __last1, - _InputIterator2 __first2, _InputIterator2 __last2, - _BinaryPredicate __binary_pred) - { - while (__first1 != __last1 && __first2 != __last2 - && __binary_pred(__first1, __first2)) - { - ++__first1; - ++__first2; - } - return pair<_InputIterator1, _InputIterator2>(__first1, __first2); - } -# 1988 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - template - - inline pair<_InputIterator1, _InputIterator2> - mismatch(_InputIterator1 __first1, _InputIterator1 __last1, - _InputIterator2 __first2, _InputIterator2 __last2) - { - - - - - - - ; - ; - - return std::__mismatch(__first1, __last1, __first2, __last2, - __gnu_cxx::__ops::__iter_equal_to_iter()); - } -# 2024 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - template - - inline pair<_InputIterator1, _InputIterator2> - mismatch(_InputIterator1 __first1, _InputIterator1 __last1, - _InputIterator2 __first2, _InputIterator2 __last2, - _BinaryPredicate __binary_pred) - { - - - - ; - ; - - return std::__mismatch(__first1, __last1, __first2, __last2, - __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); - } - - - - - - template - - inline _InputIterator - __find_if(_InputIterator __first, _InputIterator __last, - _Predicate __pred, input_iterator_tag) - { - while (__first != __last && !__pred(__first)) - ++__first; - return __first; - } - - - template - - _RandomAccessIterator - __find_if(_RandomAccessIterator __first, _RandomAccessIterator __last, - _Predicate __pred, random_access_iterator_tag) - { - typename iterator_traits<_RandomAccessIterator>::difference_type - __trip_count = (__last - __first) >> 2; - - for (; __trip_count > 0; --__trip_count) - { - if (__pred(__first)) - return __first; - ++__first; - - if (__pred(__first)) - return __first; - ++__first; - - if (__pred(__first)) - return __first; - ++__first; - - if (__pred(__first)) - return __first; - ++__first; - } - - switch (__last - __first) - { - case 3: - if (__pred(__first)) - return __first; - ++__first; - - case 2: - if (__pred(__first)) - return __first; - ++__first; - - case 1: - if (__pred(__first)) - return __first; - ++__first; - - case 0: - default: - return __last; - } - } - - template - - inline _Iterator - __find_if(_Iterator __first, _Iterator __last, _Predicate __pred) - { - return __find_if(__first, __last, __pred, - std::__iterator_category(__first)); - } - - template - - typename iterator_traits<_InputIterator>::difference_type - __count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred) - { - typename iterator_traits<_InputIterator>::difference_type __n = 0; - for (; __first != __last; ++__first) - if (__pred(__first)) - ++__n; - return __n; - } - - - template - - bool - __is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, - _ForwardIterator2 __first2, _BinaryPredicate __pred) - { - - - for (; __first1 != __last1; ++__first1, (void)++__first2) - if (!__pred(__first1, __first2)) - break; - - if (__first1 == __last1) - return true; - - - - _ForwardIterator2 __last2 = __first2; - std::advance(__last2, std::distance(__first1, __last1)); - for (_ForwardIterator1 __scan = __first1; __scan != __last1; ++__scan) - { - if (__scan != std::__find_if(__first1, __scan, - __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan))) - continue; - - auto __matches - = std::__count_if(__first2, __last2, - __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)); - if (0 == __matches || - std::__count_if(__scan, __last1, - __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)) - != __matches) - return false; - } - return true; - } -# 2181 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_algobase.h" 3 - template - - inline bool - is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, - _ForwardIterator2 __first2) - { - - - - - - - ; - - return std::__is_permutation(__first1, __last1, __first2, - __gnu_cxx::__ops::__iter_equal_to_iter()); - } - - - -} -# 40 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/char_traits.h" 2 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/postypes.h" 1 3 -# 38 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/postypes.h" 3 - -# 39 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/postypes.h" 3 - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cwchar" 1 3 -# 39 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cwchar" 3 - -# 40 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cwchar" 3 - - - - -# 1 "/usr/include/wchar.h" 1 3 4 - - - -# 1 "/usr/include/_ansi.h" 1 3 4 -# 10 "/usr/include/_ansi.h" 3 4 -# 1 "/usr/include/newlib.h" 1 3 4 -# 10 "/usr/include/newlib.h" 3 4 -# 1 "/usr/include/_newlib_version.h" 1 3 4 -# 11 "/usr/include/newlib.h" 2 3 4 -# 11 "/usr/include/_ansi.h" 2 3 4 -# 1 "/usr/include/sys/config.h" 1 3 4 - - - -# 1 "/usr/include/machine/ieeefp.h" 1 3 4 -# 5 "/usr/include/sys/config.h" 2 3 4 -# 1 "/usr/include/sys/features.h" 1 3 4 -# 25 "/usr/include/sys/features.h" 3 4 -extern "C" { -# 555 "/usr/include/sys/features.h" 3 4 -} -# 6 "/usr/include/sys/config.h" 2 3 4 -# 238 "/usr/include/sys/config.h" 3 4 -# 1 "/usr/include/cygwin/config.h" 1 3 4 -# 16 "/usr/include/cygwin/config.h" 3 4 -extern "C" { -# 84 "/usr/include/cygwin/config.h" 3 4 -} -# 239 "/usr/include/sys/config.h" 2 3 4 -# 12 "/usr/include/_ansi.h" 2 3 4 -# 5 "/usr/include/wchar.h" 2 3 4 - -# 1 "/usr/include/sys/reent.h" 1 3 4 -# 9 "/usr/include/sys/reent.h" 3 4 -extern "C" { - - - - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/stddef.h" 1 3 4 -# 143 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/stddef.h" 3 4 -typedef long int ptrdiff_t; -# 209 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/stddef.h" 3 4 -typedef long unsigned int size_t; -# 415 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/stddef.h" 3 4 -typedef struct { - long long __max_align_ll __attribute__((__aligned__(__alignof__(long long)))); - long double __max_align_ld __attribute__((__aligned__(__alignof__(long double)))); -# 426 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/stddef.h" 3 4 -} max_align_t; - - - - - - - typedef decltype(nullptr) nullptr_t; -# 15 "/usr/include/sys/reent.h" 2 3 4 -# 1 "/usr/include/sys/cdefs.h" 1 3 4 -# 45 "/usr/include/sys/cdefs.h" 3 4 -# 1 "/usr/include/machine/_default_types.h" 1 3 4 -# 37 "/usr/include/machine/_default_types.h" 3 4 -extern "C" { - - - -typedef signed char __int8_t; - -typedef unsigned char __uint8_t; -# 55 "/usr/include/machine/_default_types.h" 3 4 -typedef short int __int16_t; - -typedef short unsigned int __uint16_t; -# 77 "/usr/include/machine/_default_types.h" 3 4 -typedef int __int32_t; - -typedef unsigned int __uint32_t; -# 103 "/usr/include/machine/_default_types.h" 3 4 -typedef long int __int64_t; - -typedef long unsigned int __uint64_t; -# 134 "/usr/include/machine/_default_types.h" 3 4 -typedef signed char __int_least8_t; - -typedef unsigned char __uint_least8_t; -# 160 "/usr/include/machine/_default_types.h" 3 4 -typedef short int __int_least16_t; - -typedef short unsigned int __uint_least16_t; -# 182 "/usr/include/machine/_default_types.h" 3 4 -typedef int __int_least32_t; - -typedef unsigned int __uint_least32_t; -# 200 "/usr/include/machine/_default_types.h" 3 4 -typedef long int __int_least64_t; - -typedef long unsigned int __uint_least64_t; -# 214 "/usr/include/machine/_default_types.h" 3 4 -typedef long int __intmax_t; - - - - - - - -typedef long unsigned int __uintmax_t; - - - - - - - -typedef long int __intptr_t; - -typedef long unsigned int __uintptr_t; -# 247 "/usr/include/machine/_default_types.h" 3 4 -} -# 46 "/usr/include/sys/cdefs.h" 2 3 4 - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/stddef.h" 1 3 4 -# 48 "/usr/include/sys/cdefs.h" 2 3 4 -# 16 "/usr/include/sys/reent.h" 2 3 4 -# 1 "/usr/include/sys/_types.h" 1 3 4 -# 24 "/usr/include/sys/_types.h" 3 4 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/stddef.h" 1 3 4 -# 350 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/stddef.h" 3 4 -typedef unsigned int wint_t; -# 25 "/usr/include/sys/_types.h" 2 3 4 - - -# 1 "/usr/include/machine/_types.h" 1 3 4 -# 9 "/usr/include/machine/_types.h" 3 4 -typedef __int64_t __blkcnt_t; - - -typedef __int32_t __blksize_t; - - -typedef __uint32_t __dev_t; - - -typedef unsigned long __fsblkcnt_t; - - -typedef unsigned long __fsfilcnt_t; - - -typedef __uint32_t __uid_t; - - -typedef __uint32_t __gid_t; - - -typedef __uint64_t __ino_t; - - -typedef long long __key_t; - - -typedef __uint16_t __sa_family_t; - - - -typedef int __socklen_t; -# 28 "/usr/include/sys/_types.h" 2 3 4 -# 46 "/usr/include/sys/_types.h" 3 4 -typedef long _off_t; - - - - - -typedef int __pid_t; -# 67 "/usr/include/sys/_types.h" 3 4 -typedef __uint32_t __id_t; -# 90 "/usr/include/sys/_types.h" 3 4 -typedef __uint32_t __mode_t; - - - - - -__extension__ typedef long long _off64_t; - - - - - -typedef _off_t __off_t; - - -typedef _off64_t __loff_t; -# 116 "/usr/include/sys/_types.h" 3 4 -typedef long _fpos_t; -# 131 "/usr/include/sys/_types.h" 3 4 -typedef long unsigned int __size_t; -# 147 "/usr/include/sys/_types.h" 3 4 -typedef long signed int _ssize_t; -# 158 "/usr/include/sys/_types.h" 3 4 -typedef _ssize_t __ssize_t; - - - -typedef struct -{ - int __count; - union - { - wint_t __wch; - unsigned char __wchb[4]; - } __value; -} _mbstate_t; - - - - -typedef void *_iconv_t; - - - - - - -typedef unsigned long __clock_t; - - - - - - -typedef long __time_t; - - - - - -typedef unsigned long __clockid_t; - - -typedef long __daddr_t; - - - -typedef unsigned long __timer_t; -# 212 "/usr/include/sys/_types.h" 3 4 -typedef int __nl_item; -typedef unsigned short __nlink_t; -typedef long __suseconds_t; -typedef unsigned long __useconds_t; - - - - - - - -typedef __builtin_va_list __va_list; -# 17 "/usr/include/sys/reent.h" 2 3 4 -# 26 "/usr/include/sys/reent.h" 3 4 -typedef unsigned int __ULong; -# 35 "/usr/include/sys/reent.h" 3 4 -# 1 "/usr/include/sys/lock.h" 1 3 4 -# 12 "/usr/include/sys/lock.h" 3 4 -typedef void *_LOCK_T; -# 39 "/usr/include/sys/lock.h" 3 4 -extern "C" -{ - -void __cygwin_lock_init(_LOCK_T *); -void __cygwin_lock_init_recursive(_LOCK_T *); -void __cygwin_lock_fini(_LOCK_T *); -void __cygwin_lock_lock(_LOCK_T *); -int __cygwin_lock_trylock(_LOCK_T *); -void __cygwin_lock_unlock(_LOCK_T *); - -} -# 36 "/usr/include/sys/reent.h" 2 3 4 -typedef _LOCK_T _flock_t; - - - - - - - -struct _reent; - -struct __locale_t; - - - - - - -struct _Bigint -{ - struct _Bigint *_next; - int _k, _maxwds, _sign, _wds; - __ULong _x[1]; -}; - - -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; -}; - - - - - - - -struct _on_exit_args { - void * _fnargs[32]; - void * _dso_handle[32]; - - __ULong _fntypes; - - - __ULong _is_cxa; -}; -# 99 "/usr/include/sys/reent.h" 3 4 -struct _atexit { - struct _atexit *_next; - int _ind; - - void (*_fns[32])(void); - struct _on_exit_args _on_exit_args; -}; -# 116 "/usr/include/sys/reent.h" 3 4 -struct __sbuf { - unsigned char *_base; - int _size; -}; -# 222 "/usr/include/sys/reent.h" 3 4 -struct __sFILE64 { - unsigned char *_p; - int _r; - int _w; - short _flags; - short _file; - struct __sbuf _bf; - int _lbfsize; - - struct _reent *_data; - - - void * _cookie; - - _ssize_t (*_read) (struct _reent *, void *, - char *, size_t); - _ssize_t (*_write) (struct _reent *, void *, - const char *, - size_t); - _fpos_t (*_seek) (struct _reent *, void *, _fpos_t, int); - int (*_close) (struct _reent *, void *); - - - struct __sbuf _ub; - unsigned char *_up; - int _ur; - - - unsigned char _ubuf[3]; - unsigned char _nbuf[1]; - - - struct __sbuf _lb; - - - int _blksize; - int _flags2; - - _off64_t _offset; - _fpos_t (*_seek64) (struct _reent *, void *, _fpos_t, int); - - - _flock_t _lock; - - _mbstate_t _mbstate; -}; -typedef struct __sFILE64 __FILE; - - - - - -extern __FILE __sf[3]; - -struct _glue -{ - struct _glue *_next; - int _niobs; - __FILE *_iobs; -}; - -extern struct _glue __sglue; -# 306 "/usr/include/sys/reent.h" 3 4 -struct _rand48 { - unsigned short _seed[3]; - unsigned short _mult[3]; - unsigned short _add; - - - - -}; -# 568 "/usr/include/sys/reent.h" 3 4 -struct _reent -{ - int _errno; - - - - - __FILE *_stdin, *_stdout, *_stderr; - - int _inc; - char _emergency[25]; - - - int _reserved_1; - - struct __locale_t *_locale; - - - int _reserved_0; - - - void (*__cleanup) (struct _reent *); - - - struct _Bigint *_result; - int _result_k; - struct _Bigint *_p5s; - struct _Bigint **_freelist; - - - int _cvtlen; - char *_cvtbuf; - - union - { - struct - { - - unsigned int _reserved_2; - - char * _strtok_last; - char _asctime_buf[26]; - struct __tm _localtime_buf; - int _gamma_signgam; - __extension__ unsigned long long _rand_next; - struct _rand48 _r48; - _mbstate_t _mblen_state; - _mbstate_t _mbtowc_state; - _mbstate_t _wctomb_state; - char _l64a_buf[8]; - char _signal_buf[24]; - int _getdate_err; - _mbstate_t _mbrlen_state; - _mbstate_t _mbrtowc_state; - _mbstate_t _mbsrtowcs_state; - _mbstate_t _wcrtomb_state; - _mbstate_t _wcsrtombs_state; - int _h_errno; - - _mbstate_t _c8rtomb_state; - _mbstate_t _c16rtomb_state; - _mbstate_t _c32rtomb_state; - _mbstate_t _mbrtoc8_state; - _mbstate_t _mbrtoc16_state; - _mbstate_t _mbrtoc32_state; - - } _reent; - - struct - { - unsigned char * _reserved_3[30]; - unsigned int _reserved_4[30]; - } _reserved_5; - - } _new; - - - struct _atexit *_reserved_6; - struct _atexit _reserved_7; - - - - void (**_sig_func)(int); -}; -# 782 "/usr/include/sys/reent.h" 3 4 -extern struct _reent *_impure_ptr ; - - - - - -extern struct _reent _impure_data ; - - - - - - struct _reent * __getreent (void); -# 900 "/usr/include/sys/reent.h" 3 4 -extern struct _atexit *__atexit; -extern struct _atexit __atexit0; - -extern void (*__stdio_exit_handler) (void); - -void _reclaim_reent (struct _reent *); - -extern int _fwalk_sglue (struct _reent *, int (*)(struct _reent *, __FILE *), - struct _glue *); - - -} -# 7 "/usr/include/wchar.h" 2 3 4 - - - - - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/stddef.h" 1 3 4 -# 13 "/usr/include/wchar.h" 2 3 4 -# 22 "/usr/include/wchar.h" 3 4 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/stdarg.h" 1 3 4 -# 40 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/stdarg.h" 3 4 -typedef __builtin_va_list __gnuc_va_list; -# 23 "/usr/include/wchar.h" 2 3 4 - - - - - -typedef __gnuc_va_list va_list; -# 67 "/usr/include/wchar.h" 3 4 -# 1 "/usr/include/sys/_locale.h" 1 3 4 -# 9 "/usr/include/sys/_locale.h" 3 4 -struct __locale_t; -typedef struct __locale_t *locale_t; -# 68 "/usr/include/wchar.h" 2 3 4 - - -extern "C" { - - - - -typedef __FILE FILE; - - - - - - -struct tm; - - - -typedef _mbstate_t mbstate_t; - - -wint_t btowc (int); -int wctob (wint_t); -size_t mbrlen (const char *__restrict, size_t, mbstate_t *__restrict); -size_t mbrtowc (wchar_t *__restrict, const char *__restrict, size_t, - mbstate_t *__restrict); -size_t _mbrtowc_r (struct _reent *, wchar_t * , const char * , - size_t, mbstate_t *); -int mbsinit (const mbstate_t *); - -size_t mbsnrtowcs (wchar_t *__restrict, const char **__restrict, - size_t, size_t, mbstate_t *__restrict); - -size_t _mbsnrtowcs_r (struct _reent *, wchar_t * , const char ** , - size_t, size_t, mbstate_t *); -size_t mbsrtowcs (wchar_t *__restrict, const char **__restrict, size_t, - mbstate_t *__restrict); -size_t _mbsrtowcs_r (struct _reent *, wchar_t * , const char ** , size_t, mbstate_t *); -size_t wcrtomb (char *__restrict, wchar_t, mbstate_t *__restrict); -size_t _wcrtomb_r (struct _reent *, char * , wchar_t, mbstate_t *); - -size_t wcsnrtombs (char *__restrict, const wchar_t **__restrict, - size_t, size_t, mbstate_t *__restrict); - -size_t _wcsnrtombs_r (struct _reent *, char * , const wchar_t ** , - size_t, size_t, mbstate_t *); -size_t wcsrtombs (char *__restrict, const wchar_t **__restrict, - size_t, mbstate_t *__restrict); -size_t _wcsrtombs_r (struct _reent *, char * , const wchar_t ** , - size_t, mbstate_t *); - -int wcscasecmp (const wchar_t *, const wchar_t *); - -wchar_t *wcscat (wchar_t *__restrict, const wchar_t *__restrict); -wchar_t *wcschr (const wchar_t *, wchar_t); -int wcscmp (const wchar_t *, const wchar_t *); -int wcscoll (const wchar_t *, const wchar_t *); -wchar_t *wcscpy (wchar_t *__restrict, const wchar_t *__restrict); - -wchar_t *wcpcpy (wchar_t *__restrict, - const wchar_t *__restrict); -wchar_t *wcsdup (const wchar_t *) __attribute__((__malloc__)) __attribute__((__warn_unused_result__)); - -wchar_t *_wcsdup_r (struct _reent *, const wchar_t * ); -size_t wcscspn (const wchar_t *, const wchar_t *); -size_t wcsftime (wchar_t *__restrict, size_t, - const wchar_t *__restrict, const struct tm *__restrict); - - - - -size_t wcslcat (wchar_t *, const wchar_t *, size_t); -size_t wcslcpy (wchar_t *, const wchar_t *, size_t); -size_t wcslen (const wchar_t *); - -int wcsncasecmp (const wchar_t *, const wchar_t *, size_t); - -wchar_t *wcsncat (wchar_t *__restrict, - const wchar_t *__restrict, size_t); -int wcsncmp (const wchar_t *, const wchar_t *, size_t); -wchar_t *wcsncpy (wchar_t *__restrict, - const wchar_t *__restrict, size_t); - -wchar_t *wcpncpy (wchar_t *__restrict, - const wchar_t *__restrict, size_t); -size_t wcsnlen (const wchar_t *, size_t); - -wchar_t *wcspbrk (const wchar_t *, const wchar_t *); -wchar_t *wcsrchr (const wchar_t *, wchar_t); -size_t wcsspn (const wchar_t *, const wchar_t *); -wchar_t *wcsstr (const wchar_t *__restrict, - const wchar_t *__restrict); -wchar_t *wcstok (wchar_t *__restrict, const wchar_t *__restrict, - wchar_t **__restrict); -double wcstod (const wchar_t *__restrict, wchar_t **__restrict); -double _wcstod_r (struct _reent *, const wchar_t *, wchar_t **); - -float wcstof (const wchar_t *__restrict, wchar_t **__restrict); - -float _wcstof_r (struct _reent *, const wchar_t *, wchar_t **); - - - -size_t wcsxfrm (wchar_t *__restrict, const wchar_t *__restrict, - size_t); - -extern int wcscasecmp_l (const wchar_t *, const wchar_t *, locale_t); -extern int wcsncasecmp_l (const wchar_t *, const wchar_t *, size_t, locale_t); -extern int wcscoll_l (const wchar_t *, const wchar_t *, locale_t); -extern size_t wcsxfrm_l (wchar_t *__restrict, const wchar_t *__restrict, size_t, - locale_t); - - - - - -wchar_t *wmemchr (const wchar_t *, wchar_t, size_t); -int wmemcmp (const wchar_t *, const wchar_t *, size_t); -wchar_t *wmemcpy (wchar_t *__restrict, const wchar_t *__restrict, - size_t); -wchar_t *wmemmove (wchar_t *, const wchar_t *, size_t); - - - - -wchar_t *wmemset (wchar_t *, wchar_t, size_t); - -long wcstol (const wchar_t *__restrict, wchar_t **__restrict, int); - -long long wcstoll (const wchar_t *__restrict, wchar_t **__restrict, - int); - -unsigned long wcstoul (const wchar_t *__restrict, wchar_t **__restrict, - int); - -unsigned long long wcstoull (const wchar_t *__restrict, - wchar_t **__restrict, int); - -long _wcstol_r (struct _reent *, const wchar_t *, wchar_t **, int); -long long _wcstoll_r (struct _reent *, const wchar_t *, wchar_t **, int); -unsigned long _wcstoul_r (struct _reent *, const wchar_t *, wchar_t **, int); -unsigned long long _wcstoull_r (struct _reent *, const wchar_t *, wchar_t **, int); - -long double wcstold (const wchar_t *, wchar_t **); -# 227 "/usr/include/wchar.h" 3 4 -wint_t fgetwc (__FILE *); -wchar_t *fgetws (wchar_t *__restrict, int, __FILE *__restrict); -wint_t fputwc (wchar_t, __FILE *); -int fputws (const wchar_t *__restrict, __FILE *__restrict); - -int fwide (__FILE *, int); - -wint_t getwc (__FILE *); -wint_t getwchar (void); -wint_t putwc (wchar_t, __FILE *); -wint_t putwchar (wchar_t); -wint_t ungetwc (wint_t wc, __FILE *); - -wint_t _fgetwc_r (struct _reent *, __FILE *); -wint_t _fgetwc_unlocked_r (struct _reent *, __FILE *); -wchar_t *_fgetws_r (struct _reent *, wchar_t *, int, __FILE *); -wchar_t *_fgetws_unlocked_r (struct _reent *, wchar_t *, int, __FILE *); -wint_t _fputwc_r (struct _reent *, wchar_t, __FILE *); -wint_t _fputwc_unlocked_r (struct _reent *, wchar_t, __FILE *); -int _fputws_r (struct _reent *, const wchar_t *, __FILE *); -int _fputws_unlocked_r (struct _reent *, const wchar_t *, __FILE *); -int _fwide_r (struct _reent *, __FILE *, int); -wint_t _getwc_r (struct _reent *, __FILE *); -wint_t _getwc_unlocked_r (struct _reent *, __FILE *); -wint_t _getwchar_r (struct _reent *); -wint_t _getwchar_unlocked_r (struct _reent *); -wint_t _putwc_r (struct _reent *, wchar_t, __FILE *); -wint_t _putwc_unlocked_r (struct _reent *, wchar_t, __FILE *); -wint_t _putwchar_r (struct _reent *, wchar_t); -wint_t _putwchar_unlocked_r (struct _reent *, wchar_t); -wint_t _ungetwc_r (struct _reent *, wint_t wc, __FILE *); -# 271 "/usr/include/wchar.h" 3 4 -__FILE *open_wmemstream (wchar_t **, size_t *); - -__FILE *_open_wmemstream_r (struct _reent *, wchar_t **, size_t *); -# 284 "/usr/include/wchar.h" 3 4 -int fwprintf (__FILE *__restrict, const wchar_t *__restrict, ...); -int swprintf (wchar_t *__restrict, size_t, - const wchar_t *__restrict, ...); -int vfwprintf (__FILE *__restrict, const wchar_t *__restrict, - __gnuc_va_list); -int vswprintf (wchar_t *__restrict, size_t, - const wchar_t *__restrict, __gnuc_va_list); -int vwprintf (const wchar_t *__restrict, __gnuc_va_list); -int wprintf (const wchar_t *__restrict, ...); - - -int _fwprintf_r (struct _reent *, __FILE *, const wchar_t *, ...); -int _swprintf_r (struct _reent *, wchar_t *, size_t, const wchar_t *, ...); -int _vfwprintf_r (struct _reent *, __FILE *, const wchar_t *, __gnuc_va_list); -int _vswprintf_r (struct _reent *, wchar_t *, size_t, const wchar_t *, __gnuc_va_list); -int _vwprintf_r (struct _reent *, const wchar_t *, __gnuc_va_list); -int _wprintf_r (struct _reent *, const wchar_t *, ...); - - -int fwscanf (__FILE *__restrict, const wchar_t *__restrict, ...); -int swscanf (const wchar_t *__restrict, - const wchar_t *__restrict, ...); -int vfwscanf (__FILE *__restrict, const wchar_t *__restrict, - __gnuc_va_list); -int vswscanf (const wchar_t *__restrict, const wchar_t *__restrict, - __gnuc_va_list); -int vwscanf (const wchar_t *__restrict, __gnuc_va_list); -int wscanf (const wchar_t *__restrict, ...); - - -int _fwscanf_r (struct _reent *, __FILE *, const wchar_t *, ...); -int _swscanf_r (struct _reent *, const wchar_t *, const wchar_t *, ...); -int _vfwscanf_r (struct _reent *, __FILE *, const wchar_t *, __gnuc_va_list); -int _vswscanf_r (struct _reent *, const wchar_t *, const wchar_t *, __gnuc_va_list); -int _vwscanf_r (struct _reent *, const wchar_t *, __gnuc_va_list); -int _wscanf_r (struct _reent *, const wchar_t *, ...); -# 333 "/usr/include/wchar.h" 3 4 -} -# 45 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cwchar" 2 3 -# 62 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cwchar" 3 -namespace std -{ - using ::mbstate_t; -} -# 135 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cwchar" 3 -extern "C++" -{ -namespace std -{ - - - using ::wint_t; - - using ::btowc; - using ::fgetwc; - using ::fgetws; - using ::fputwc; - using ::fputws; - using ::fwide; - using ::fwprintf; - using ::fwscanf; - using ::getwc; - using ::getwchar; - using ::mbrlen; - using ::mbrtowc; - using ::mbsinit; - using ::mbsrtowcs; - using ::putwc; - using ::putwchar; - - using ::swprintf; - - using ::swscanf; - using ::ungetwc; - using ::vfwprintf; - - using ::vfwscanf; - - - using ::vswprintf; - - - using ::vswscanf; - - using ::vwprintf; - - using ::vwscanf; - - using ::wcrtomb; - using ::wcscat; - using ::wcscmp; - using ::wcscoll; - using ::wcscpy; - using ::wcscspn; - using ::wcsftime; - using ::wcslen; - using ::wcsncat; - using ::wcsncmp; - using ::wcsncpy; - using ::wcsrtombs; - using ::wcsspn; - using ::wcstod; - - using ::wcstof; - - using ::wcstok; - using ::wcstol; - using ::wcstoul; - using ::wcsxfrm; - using ::wctob; - using ::wmemcmp; - using ::wmemcpy; - using ::wmemmove; - using ::wmemset; - using ::wprintf; - using ::wscanf; - using ::wcschr; - using ::wcspbrk; - using ::wcsrchr; - using ::wcsstr; - using ::wmemchr; - - - inline wchar_t* - wcschr(wchar_t* __p, wchar_t __c) - { return wcschr(const_cast(__p), __c); } - - inline wchar_t* - wcspbrk(wchar_t* __s1, const wchar_t* __s2) - { return wcspbrk(const_cast(__s1), __s2); } - - inline wchar_t* - wcsrchr(wchar_t* __p, wchar_t __c) - { return wcsrchr(const_cast(__p), __c); } - - inline wchar_t* - wcsstr(wchar_t* __s1, const wchar_t* __s2) - { return wcsstr(const_cast(__s1), __s2); } - - inline wchar_t* - wmemchr(wchar_t* __p, wchar_t __c, size_t __n) - { return wmemchr(const_cast(__p), __c, __n); } - - - -} -} - - - - - - - -namespace __gnu_cxx -{ - - - - - - using ::wcstold; -# 260 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cwchar" 3 - using ::wcstoll; - using ::wcstoull; - -} - -namespace std -{ - using ::__gnu_cxx::wcstold; - using ::__gnu_cxx::wcstoll; - using ::__gnu_cxx::wcstoull; -} -# 280 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cwchar" 3 -namespace std -{ - - using std::wcstof; - - - using std::vfwscanf; - - - using std::vswscanf; - - - using std::vwscanf; - - - - using std::wcstold; - using std::wcstoll; - using std::wcstoull; - -} -# 41 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/postypes.h" 2 3 -# 68 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/postypes.h" 3 -namespace std -{ - -# 88 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/postypes.h" 3 - typedef long streamoff; -# 98 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/postypes.h" 3 - typedef ptrdiff_t streamsize; -# 111 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/postypes.h" 3 - template - class fpos - { - private: - streamoff _M_off; - _StateT _M_state; - - public: - - - - - fpos() - : _M_off(0), _M_state() { } -# 133 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/postypes.h" 3 - fpos(streamoff __off) - : _M_off(__off), _M_state() { } - - - fpos(const fpos&) = default; - fpos& operator=(const fpos&) = default; - ~fpos() = default; - - - - operator streamoff() const { return _M_off; } - - - void - state(_StateT __st) - { _M_state = __st; } - - - _StateT - state() const - { return _M_state; } - - - - - - fpos& - operator+=(streamoff __off) - { - _M_off += __off; - return *this; - } - - - - - - fpos& - operator-=(streamoff __off) - { - _M_off -= __off; - return *this; - } - - - - - - - - fpos - operator+(streamoff __off) const - { - fpos __pos(*this); - __pos += __off; - return __pos; - } - - - - - - - - fpos - operator-(streamoff __off) const - { - fpos __pos(*this); - __pos -= __off; - return __pos; - } - - - - - - - streamoff - operator-(const fpos& __other) const - { return _M_off - __other._M_off; } - }; - - - - - - - template - inline bool - operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) - { return streamoff(__lhs) == streamoff(__rhs); } - - template - inline bool - operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) - { return streamoff(__lhs) != streamoff(__rhs); } - - - - - - typedef fpos streampos; - - typedef fpos wstreampos; -# 245 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/postypes.h" 3 - typedef fpos u16streampos; - - typedef fpos u32streampos; - - - -} -# 41 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/char_traits.h" 2 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cwchar" 1 3 -# 39 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cwchar" 3 - -# 40 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cwchar" 3 -# 42 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/char_traits.h" 2 3 -# 50 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/char_traits.h" 3 -namespace __gnu_cxx -{ - -# 64 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/char_traits.h" 3 - template - struct _Char_types - { - typedef unsigned long int_type; - typedef std::streampos pos_type; - typedef std::streamoff off_type; - typedef std::mbstate_t state_type; - }; -# 89 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/char_traits.h" 3 - template - struct char_traits - { - typedef _CharT char_type; - typedef typename _Char_types<_CharT>::int_type int_type; - typedef typename _Char_types<_CharT>::pos_type pos_type; - typedef typename _Char_types<_CharT>::off_type off_type; - typedef typename _Char_types<_CharT>::state_type state_type; - - - - - static constexpr void - assign(char_type& __c1, const char_type& __c2) - { __c1 = __c2; } - - static constexpr bool - eq(const char_type& __c1, const char_type& __c2) - { return __c1 == __c2; } - - static constexpr bool - lt(const char_type& __c1, const char_type& __c2) - { return __c1 < __c2; } - - static constexpr int - compare(const char_type* __s1, const char_type* __s2, std::size_t __n); - - static constexpr std::size_t - length(const char_type* __s); - - static constexpr const char_type* - find(const char_type* __s, std::size_t __n, const char_type& __a); - - static char_type* - move(char_type* __s1, const char_type* __s2, std::size_t __n); - - static char_type* - copy(char_type* __s1, const char_type* __s2, std::size_t __n); - - static char_type* - assign(char_type* __s, std::size_t __n, char_type __a); - - static constexpr char_type - to_char_type(const int_type& __c) - { return static_cast(__c); } - - static constexpr int_type - to_int_type(const char_type& __c) - { return static_cast(__c); } - - static constexpr bool - eq_int_type(const int_type& __c1, const int_type& __c2) - { return __c1 == __c2; } - - static constexpr int_type - eof() - { return static_cast(-1); } - - static constexpr int_type - not_eof(const int_type& __c) - { return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); } - }; - - template - constexpr int - char_traits<_CharT>:: - compare(const char_type* __s1, const char_type* __s2, std::size_t __n) - { - for (std::size_t __i = 0; __i < __n; ++__i) - if (lt(__s1[__i], __s2[__i])) - return -1; - else if (lt(__s2[__i], __s1[__i])) - return 1; - return 0; - } - - template - constexpr std::size_t - char_traits<_CharT>:: - length(const char_type* __p) - { - std::size_t __i = 0; - while (!eq(__p[__i], char_type())) - ++__i; - return __i; - } - - template - constexpr const typename char_traits<_CharT>::char_type* - char_traits<_CharT>:: - find(const char_type* __s, std::size_t __n, const char_type& __a) - { - for (std::size_t __i = 0; __i < __n; ++__i) - if (eq(__s[__i], __a)) - return __s + __i; - return 0; - } - - template - - typename char_traits<_CharT>::char_type* - char_traits<_CharT>:: - move(char_type* __s1, const char_type* __s2, std::size_t __n) - { - if (__n == 0) - return __s1; -# 233 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/char_traits.h" 3 - __builtin_memmove(__s1, __s2, __n * sizeof(char_type)); - return __s1; - } - - template - - typename char_traits<_CharT>::char_type* - char_traits<_CharT>:: - copy(char_type* __s1, const char_type* __s2, std::size_t __n) - { - - std::copy(__s2, __s2 + __n, __s1); - return __s1; - } - - template - - typename char_traits<_CharT>::char_type* - char_traits<_CharT>:: - assign(char_type* __s, std::size_t __n, char_type __a) - { - - std::fill_n(__s, __n, __a); - return __s; - } - - -} - -namespace std -{ - -# 283 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/char_traits.h" 3 - template - inline __attribute__((__always_inline__)) constexpr bool - __constant_string_p(const _CharT* __s) - { - - (void) __s; - - return __builtin_is_constant_evaluated(); - - - - - - } -# 306 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/char_traits.h" 3 - template - inline __attribute__((__always_inline__)) constexpr bool - __constant_char_array_p(const _CharT* __a, size_t __n) - { - - (void) __a; - (void) __n; - - return __builtin_is_constant_evaluated(); - - - - - - - } -# 337 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/char_traits.h" 3 - template - struct char_traits : public __gnu_cxx::char_traits<_CharT> - { }; - - - - template<> - struct char_traits - { - typedef char char_type; - typedef int int_type; - typedef streampos pos_type; - typedef streamoff off_type; - typedef mbstate_t state_type; - - - - - static constexpr void - assign(char_type& __c1, const char_type& __c2) noexcept - { __c1 = __c2; } - - static constexpr bool - eq(const char_type& __c1, const char_type& __c2) noexcept - { return __c1 == __c2; } - - static constexpr bool - lt(const char_type& __c1, const char_type& __c2) noexcept - { - - return (static_cast(__c1) - < static_cast(__c2)); - } - - static constexpr int - compare(const char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return 0; - - if (__builtin_constant_p(__n) - && __constant_char_array_p(__s1, __n) - && __constant_char_array_p(__s2, __n)) - { - for (size_t __i = 0; __i < __n; ++__i) - if (lt(__s1[__i], __s2[__i])) - return -1; - else if (lt(__s2[__i], __s1[__i])) - return 1; - return 0; - } - - return __builtin_memcmp(__s1, __s2, __n); - } - - static constexpr size_t - length(const char_type* __s) - { - - if (__constant_string_p(__s)) - return __gnu_cxx::char_traits::length(__s); - - return __builtin_strlen(__s); - } - - static constexpr const char_type* - find(const char_type* __s, size_t __n, const char_type& __a) - { - if (__n == 0) - return 0; - - if (__builtin_constant_p(__n) - && __builtin_constant_p(__a) - && __constant_char_array_p(__s, __n)) - return __gnu_cxx::char_traits::find(__s, __n, __a); - - return static_cast(__builtin_memchr(__s, __a, __n)); - } - - static char_type* - move(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - - - - return static_cast(__builtin_memmove(__s1, __s2, __n)); - } - - static char_type* - copy(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - - - - return static_cast(__builtin_memcpy(__s1, __s2, __n)); - } - - static char_type* - assign(char_type* __s, size_t __n, char_type __a) - { - if (__n == 0) - return __s; - - - - - return static_cast(__builtin_memset(__s, __a, __n)); - } - - static constexpr char_type - to_char_type(const int_type& __c) noexcept - { return static_cast(__c); } - - - - static constexpr int_type - to_int_type(const char_type& __c) noexcept - { return static_cast(static_cast(__c)); } - - static constexpr bool - eq_int_type(const int_type& __c1, const int_type& __c2) noexcept - { return __c1 == __c2; } - - static constexpr int_type - eof() noexcept - { return static_cast(-1); } - - static constexpr int_type - not_eof(const int_type& __c) noexcept - { return (__c == eof()) ? 0 : __c; } - }; - - - - - template<> - struct char_traits - { - typedef wchar_t char_type; - typedef wint_t int_type; - typedef streamoff off_type; - typedef wstreampos pos_type; - typedef mbstate_t state_type; - - - - - static constexpr void - assign(char_type& __c1, const char_type& __c2) noexcept - { __c1 = __c2; } - - static constexpr bool - eq(const char_type& __c1, const char_type& __c2) noexcept - { return __c1 == __c2; } - - static constexpr bool - lt(const char_type& __c1, const char_type& __c2) noexcept - { return __c1 < __c2; } - - static constexpr int - compare(const char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return 0; - - if (__builtin_constant_p(__n) - && __constant_char_array_p(__s1, __n) - && __constant_char_array_p(__s2, __n)) - return __gnu_cxx::char_traits::compare(__s1, __s2, __n); - - return wmemcmp(__s1, __s2, __n); - } - - static constexpr size_t - length(const char_type* __s) - { - - if (__constant_string_p(__s)) - return __gnu_cxx::char_traits::length(__s); - - return wcslen(__s); - } - - static constexpr const char_type* - find(const char_type* __s, size_t __n, const char_type& __a) - { - if (__n == 0) - return 0; - - if (__builtin_constant_p(__n) - && __builtin_constant_p(__a) - && __constant_char_array_p(__s, __n)) - return __gnu_cxx::char_traits::find(__s, __n, __a); - - return wmemchr(__s, __a, __n); - } - - static char_type* - move(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - - - - return wmemmove(__s1, __s2, __n); - } - - static char_type* - copy(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - - - - return wmemcpy(__s1, __s2, __n); - } - - static char_type* - assign(char_type* __s, size_t __n, char_type __a) - { - if (__n == 0) - return __s; - - - - - return wmemset(__s, __a, __n); - } - - static constexpr char_type - to_char_type(const int_type& __c) noexcept - { return char_type(__c); } - - static constexpr int_type - to_int_type(const char_type& __c) noexcept - { return int_type(__c); } - - static constexpr bool - eq_int_type(const int_type& __c1, const int_type& __c2) noexcept - { return __c1 == __c2; } - - static constexpr int_type - eof() noexcept - { return static_cast(((wint_t)-1)); } - - static constexpr int_type - not_eof(const int_type& __c) noexcept - { return eq_int_type(__c, eof()) ? 0 : __c; } - }; -# 722 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/char_traits.h" 3 - -} - - - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cstdint" 1 3 -# 32 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cstdint" 3 - -# 33 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cstdint" 3 -# 41 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cstdint" 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/stdint.h" 1 3 4 -# 9 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/stdint.h" 3 4 -# 1 "/usr/include/stdint.h" 1 3 4 -# 13 "/usr/include/stdint.h" 3 4 -# 1 "/usr/include/sys/_intsup.h" 1 3 4 -# 35 "/usr/include/sys/_intsup.h" 3 4 - - - - - - - - -# 190 "/usr/include/sys/_intsup.h" 3 4 - - - - - - - - -# 14 "/usr/include/stdint.h" 2 3 4 -# 1 "/usr/include/sys/_stdint.h" 1 3 4 -# 15 "/usr/include/sys/_stdint.h" 3 4 -extern "C" { - - - - -typedef __int8_t int8_t ; - - - -typedef __uint8_t uint8_t ; - - - - - - - -typedef __int16_t int16_t ; - - - -typedef __uint16_t uint16_t ; - - - - - - - -typedef __int32_t int32_t ; - - - -typedef __uint32_t uint32_t ; - - - - - - - -typedef __int64_t int64_t ; - - - -typedef __uint64_t uint64_t ; - - - - - - -typedef __intmax_t intmax_t; - - - - -typedef __uintmax_t uintmax_t; - - - - -typedef __intptr_t intptr_t; - - - - -typedef __uintptr_t uintptr_t; - - - - -} -# 15 "/usr/include/stdint.h" 2 3 4 - - -extern "C" { - - - -typedef __int_least8_t int_least8_t; -typedef __uint_least8_t uint_least8_t; - - - - -typedef __int_least16_t int_least16_t; -typedef __uint_least16_t uint_least16_t; - - - - -typedef __int_least32_t int_least32_t; -typedef __uint_least32_t uint_least32_t; - - - - -typedef __int_least64_t int_least64_t; -typedef __uint_least64_t uint_least64_t; -# 51 "/usr/include/stdint.h" 3 4 - typedef signed char int_fast8_t; - typedef unsigned char uint_fast8_t; -# 61 "/usr/include/stdint.h" 3 4 - typedef long int int_fast16_t; - typedef long unsigned int uint_fast16_t; -# 71 "/usr/include/stdint.h" 3 4 - typedef long int int_fast32_t; - typedef long unsigned int uint_fast32_t; -# 81 "/usr/include/stdint.h" 3 4 - typedef long int int_fast64_t; - typedef long unsigned int uint_fast64_t; -# 463 "/usr/include/stdint.h" 3 4 -} -# 10 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/stdint.h" 2 3 4 -# 42 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cstdint" 2 3 - - -namespace std -{ - - using ::int8_t; - using ::int16_t; - using ::int32_t; - using ::int64_t; - - using ::int_fast8_t; - using ::int_fast16_t; - using ::int_fast32_t; - using ::int_fast64_t; - - using ::int_least8_t; - using ::int_least16_t; - using ::int_least32_t; - using ::int_least64_t; - - using ::intmax_t; - using ::intptr_t; - - using ::uint8_t; - using ::uint16_t; - using ::uint32_t; - using ::uint64_t; - - using ::uint_fast8_t; - using ::uint_fast16_t; - using ::uint_fast32_t; - using ::uint_fast64_t; - - using ::uint_least8_t; - using ::uint_least16_t; - using ::uint_least32_t; - using ::uint_least64_t; - - using ::uintmax_t; - using ::uintptr_t; - - - - - -} -# 728 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/char_traits.h" 2 3 - -namespace std -{ - - - template<> - struct char_traits - { - typedef char16_t char_type; - - typedef uint_least16_t int_type; - - - - - - typedef streamoff off_type; - typedef u16streampos pos_type; - typedef mbstate_t state_type; - - - - - static constexpr void - assign(char_type& __c1, const char_type& __c2) noexcept - { __c1 = __c2; } - - static constexpr bool - eq(const char_type& __c1, const char_type& __c2) noexcept - { return __c1 == __c2; } - - static constexpr bool - lt(const char_type& __c1, const char_type& __c2) noexcept - { return __c1 < __c2; } - - static constexpr int - compare(const char_type* __s1, const char_type* __s2, size_t __n) - { - for (size_t __i = 0; __i < __n; ++__i) - if (lt(__s1[__i], __s2[__i])) - return -1; - else if (lt(__s2[__i], __s1[__i])) - return 1; - return 0; - } - - static constexpr size_t - length(const char_type* __s) - { - size_t __i = 0; - while (!eq(__s[__i], char_type())) - ++__i; - return __i; - } - - static constexpr const char_type* - find(const char_type* __s, size_t __n, const char_type& __a) - { - for (size_t __i = 0; __i < __n; ++__i) - if (eq(__s[__i], __a)) - return __s + __i; - return 0; - } - - static char_type* - move(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - - - - return (static_cast - (__builtin_memmove(__s1, __s2, __n * sizeof(char_type)))); - } - - static char_type* - copy(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - - - - return (static_cast - (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type)))); - } - - static char_type* - assign(char_type* __s, size_t __n, char_type __a) - { - for (size_t __i = 0; __i < __n; ++__i) - assign(__s[__i], __a); - return __s; - } - - static constexpr char_type - to_char_type(const int_type& __c) noexcept - { return char_type(__c); } - - static constexpr int_type - to_int_type(const char_type& __c) noexcept - { return __c == eof() ? int_type(0xfffd) : int_type(__c); } - - static constexpr bool - eq_int_type(const int_type& __c1, const int_type& __c2) noexcept - { return __c1 == __c2; } - - static constexpr int_type - eof() noexcept - { return static_cast(-1); } - - static constexpr int_type - not_eof(const int_type& __c) noexcept - { return eq_int_type(__c, eof()) ? 0 : __c; } - }; - - template<> - struct char_traits - { - typedef char32_t char_type; - - typedef uint_least32_t int_type; - - - - - - typedef streamoff off_type; - typedef u32streampos pos_type; - typedef mbstate_t state_type; - - - - - static constexpr void - assign(char_type& __c1, const char_type& __c2) noexcept - { __c1 = __c2; } - - static constexpr bool - eq(const char_type& __c1, const char_type& __c2) noexcept - { return __c1 == __c2; } - - static constexpr bool - lt(const char_type& __c1, const char_type& __c2) noexcept - { return __c1 < __c2; } - - static constexpr int - compare(const char_type* __s1, const char_type* __s2, size_t __n) - { - for (size_t __i = 0; __i < __n; ++__i) - if (lt(__s1[__i], __s2[__i])) - return -1; - else if (lt(__s2[__i], __s1[__i])) - return 1; - return 0; - } - - static constexpr size_t - length(const char_type* __s) - { - size_t __i = 0; - while (!eq(__s[__i], char_type())) - ++__i; - return __i; - } - - static constexpr const char_type* - find(const char_type* __s, size_t __n, const char_type& __a) - { - for (size_t __i = 0; __i < __n; ++__i) - if (eq(__s[__i], __a)) - return __s + __i; - return 0; - } - - static char_type* - move(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - - - - return (static_cast - (__builtin_memmove(__s1, __s2, __n * sizeof(char_type)))); - } - - static char_type* - copy(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - - - - return (static_cast - (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type)))); - } - - static char_type* - assign(char_type* __s, size_t __n, char_type __a) - { - for (size_t __i = 0; __i < __n; ++__i) - assign(__s[__i], __a); - return __s; - } - - static constexpr char_type - to_char_type(const int_type& __c) noexcept - { return char_type(__c); } - - static constexpr int_type - to_int_type(const char_type& __c) noexcept - { return int_type(__c); } - - static constexpr bool - eq_int_type(const int_type& __c1, const int_type& __c2) noexcept - { return __c1 == __c2; } - - static constexpr int_type - eof() noexcept - { return static_cast(-1); } - - static constexpr int_type - not_eof(const int_type& __c) noexcept - { return eq_int_type(__c, eof()) ? 0 : __c; } - }; -# 980 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/char_traits.h" 3 - -} -# 41 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/string" 2 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/allocator.h" 1 3 -# 46 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/allocator.h" 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/c++allocator.h" 1 3 -# 33 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/c++allocator.h" 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/new_allocator.h" 1 3 -# 33 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/new_allocator.h" 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/new" 1 3 -# 38 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/new" 3 - -# 39 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/new" 3 - - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/exception.h" 1 3 -# 34 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/exception.h" 3 - -# 35 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/exception.h" 3 - -#pragma GCC visibility push(default) - - - -extern "C++" { - -namespace std -{ -# 61 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/exception.h" 3 - class exception - { - public: - exception() noexcept { } - virtual ~exception() noexcept; - - exception(const exception&) = default; - exception& operator=(const exception&) = default; - exception(exception&&) = default; - exception& operator=(exception&&) = default; - - - - - virtual const char* - what() const noexcept; - }; - - - -} - -} - -#pragma GCC visibility pop -# 42 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/new" 2 3 - -#pragma GCC visibility push(default) - -extern "C++" { - -namespace std -{ - - - - - - - class bad_alloc : public exception - { - public: - bad_alloc() throw() { } - - - bad_alloc(const bad_alloc&) = default; - bad_alloc& operator=(const bad_alloc&) = default; - - - - - virtual ~bad_alloc() throw(); - - - virtual const char* what() const throw(); - }; - - - class bad_array_new_length : public bad_alloc - { - public: - bad_array_new_length() throw() { } - - - - virtual ~bad_array_new_length() throw(); - - - virtual const char* what() const throw(); - }; - - - - enum class align_val_t: size_t {}; - - - struct nothrow_t - { - - explicit nothrow_t() = default; - - }; - - extern const nothrow_t nothrow; - - - - typedef void (*new_handler)(); - - - - new_handler set_new_handler(new_handler) throw(); - - - - new_handler get_new_handler() noexcept; - -} -# 126 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/new" 3 -[[__nodiscard__]] void* operator new(std::size_t) - __attribute__((__externally_visible__)); -[[__nodiscard__]] void* operator new[](std::size_t) - __attribute__((__externally_visible__)); -void operator delete(void*) noexcept - __attribute__((__externally_visible__)); -void operator delete[](void*) noexcept - __attribute__((__externally_visible__)); - -void operator delete(void*, std::size_t) noexcept - __attribute__((__externally_visible__)); -void operator delete[](void*, std::size_t) noexcept - __attribute__((__externally_visible__)); - -[[__nodiscard__]] void* operator new(std::size_t, const std::nothrow_t&) noexcept - __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__)); -[[__nodiscard__]] void* operator new[](std::size_t, const std::nothrow_t&) noexcept - __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__)); -void operator delete(void*, const std::nothrow_t&) noexcept - __attribute__((__externally_visible__)); -void operator delete[](void*, const std::nothrow_t&) noexcept - __attribute__((__externally_visible__)); - -[[__nodiscard__]] void* operator new(std::size_t, std::align_val_t) - __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__)); -[[__nodiscard__]] void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&) - noexcept __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__)); -void operator delete(void*, std::align_val_t) - noexcept __attribute__((__externally_visible__)); -void operator delete(void*, std::align_val_t, const std::nothrow_t&) - noexcept __attribute__((__externally_visible__)); -[[__nodiscard__]] void* operator new[](std::size_t, std::align_val_t) - __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__)); -[[__nodiscard__]] void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&) - noexcept __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__)); -void operator delete[](void*, std::align_val_t) - noexcept __attribute__((__externally_visible__)); -void operator delete[](void*, std::align_val_t, const std::nothrow_t&) - noexcept __attribute__((__externally_visible__)); - -void operator delete(void*, std::size_t, std::align_val_t) - noexcept __attribute__((__externally_visible__)); -void operator delete[](void*, std::size_t, std::align_val_t) - noexcept __attribute__((__externally_visible__)); - - - - -[[__nodiscard__]] inline void* operator new(std::size_t, void* __p) noexcept -{ return __p; } -[[__nodiscard__]] inline void* operator new[](std::size_t, void* __p) noexcept -{ return __p; } - - -inline void operator delete (void*, void*) noexcept { } -inline void operator delete[](void*, void*) noexcept { } - -} - - - -namespace std -{ - - - template - [[nodiscard]] constexpr _Tp* - launder(_Tp* __p) noexcept - { return __builtin_launder(__p); } - - - - - template - void launder(_Ret (*)(_Args...) noexcept (_NE)) = delete; - template - void launder(_Ret (*)(_Args......) noexcept (_NE)) = delete; - - void launder(void*) = delete; - void launder(const void*) = delete; - void launder(volatile void*) = delete; - void launder(const volatile void*) = delete; -} -# 230 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/new" 3 -#pragma GCC visibility pop -# 34 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/new_allocator.h" 2 3 - - - - - - -namespace __gnu_cxx -{ - -# 54 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/new_allocator.h" 3 - template - class new_allocator - { - public: - typedef _Tp value_type; - typedef std::size_t size_type; - typedef std::ptrdiff_t difference_type; - - typedef _Tp* pointer; - typedef const _Tp* const_pointer; - typedef _Tp& reference; - typedef const _Tp& const_reference; - - template - struct rebind - { typedef new_allocator<_Tp1> other; }; - - - - - - typedef std::true_type propagate_on_container_move_assignment; - - - - new_allocator() noexcept { } - - - new_allocator(const new_allocator&) noexcept { } - - template - - new_allocator(const new_allocator<_Tp1>&) noexcept { } - - - ~new_allocator() noexcept { } - - pointer - address(reference __x) const noexcept - { return std::__addressof(__x); } - - const_pointer - address(const_reference __x) const noexcept - { return std::__addressof(__x); } - - - - - [[__nodiscard__]] _Tp* - allocate(size_type __n, const void* = static_cast(0)) - { - - - - static_assert(sizeof(_Tp) != 0, "cannot allocate incomplete types"); - - - if (__builtin_expect(__n > this->_M_max_size(), false)) - { - - - if (__n > (std::size_t(-1) / sizeof(_Tp))) - std::__throw_bad_array_new_length(); - std::__throw_bad_alloc(); - } - - - if (alignof(_Tp) > 16) - { - std::align_val_t __al = std::align_val_t(alignof(_Tp)); - return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp), __al)); - } - - return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp))); - } - - - void - deallocate(_Tp* __p, size_type __t __attribute__ ((__unused__))) - { - - if (alignof(_Tp) > 16) - { - ::operator delete(__p, - - __t * sizeof(_Tp), - - std::align_val_t(alignof(_Tp))); - return; - } - - ::operator delete(__p - - , __t * sizeof(_Tp) - - ); - } - - - size_type - max_size() const noexcept - { return _M_max_size(); } - - - template - void - construct(_Up* __p, _Args&&... __args) - noexcept(std::is_nothrow_constructible<_Up, _Args...>::value) - { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } - - template - void - destroy(_Up* __p) - noexcept(std::is_nothrow_destructible<_Up>::value) - { __p->~_Up(); } -# 181 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/new_allocator.h" 3 - template - friend bool - operator==(const new_allocator&, const new_allocator<_Up>&) - noexcept - { return true; } - - - template - friend bool - operator!=(const new_allocator&, const new_allocator<_Up>&) - noexcept - { return false; } - - - private: - constexpr size_type - _M_max_size() const noexcept - { - - return std::size_t(0x7fffffffffffffffL) / sizeof(_Tp); - - - - } - }; - - -} -# 34 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/c++allocator.h" 2 3 - - -namespace std -{ -# 47 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/c++allocator.h" 3 - template - using __allocator_base = __gnu_cxx::new_allocator<_Tp>; -} -# 47 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/allocator.h" 2 3 - - - - - - - -namespace std -{ - -# 71 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/allocator.h" 3 - template<> - class allocator - { - public: - typedef void value_type; - typedef size_t size_type; - typedef ptrdiff_t difference_type; - - - - typedef void* pointer; - typedef const void* const_pointer; - - template - struct rebind - { typedef allocator<_Tp1> other; }; - - - - - - using propagate_on_container_move_assignment = true_type; - - using is_always_equal - - = true_type; -# 113 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/allocator.h" 3 - }; -# 123 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/allocator.h" 3 - template - class allocator : public __allocator_base<_Tp> - { - public: - typedef _Tp value_type; - typedef size_t size_type; - typedef ptrdiff_t difference_type; - - - - typedef _Tp* pointer; - typedef const _Tp* const_pointer; - typedef _Tp& reference; - typedef const _Tp& const_reference; - - template - struct rebind - { typedef allocator<_Tp1> other; }; - - - - - - using propagate_on_container_move_assignment = true_type; - - using is_always_equal - - = true_type; - - - - - - allocator() noexcept { } - - - allocator(const allocator& __a) noexcept - : __allocator_base<_Tp>(__a) { } - - - - allocator& operator=(const allocator&) = default; - - - template - - allocator(const allocator<_Tp1>&) noexcept { } - - - - - ~allocator() noexcept { } -# 203 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/allocator.h" 3 - friend bool - operator==(const allocator&, const allocator&) noexcept - { return true; } - - - friend bool - operator!=(const allocator&, const allocator&) noexcept - { return false; } - - - - }; - - template - inline bool - operator==(const allocator<_T1>&, const allocator<_T2>&) - noexcept - { return true; } - - - template - inline bool - operator!=(const allocator<_T1>&, const allocator<_T2>&) - noexcept - { return false; } - - - - - template - class allocator - { - public: - typedef _Tp value_type; - template allocator(const allocator<_Up>&) { } - }; - - template - class allocator - { - public: - typedef _Tp value_type; - template allocator(const allocator<_Up>&) { } - }; - - template - class allocator - { - public: - typedef _Tp value_type; - template allocator(const allocator<_Up>&) { } - }; - - - - - - - extern template class allocator; - extern template class allocator; - - - - - - - template - struct __alloc_swap - { static void _S_do_it(_Alloc&, _Alloc&) noexcept { } }; - - template - struct __alloc_swap<_Alloc, false> - { - static void - _S_do_it(_Alloc& __one, _Alloc& __two) noexcept - { - - if (__one != __two) - swap(__one, __two); - } - }; - - - template - struct __alloc_neq - { - static bool - _S_do_it(const _Alloc&, const _Alloc&) - { return false; } - }; - - template - struct __alloc_neq<_Alloc, false> - { - static bool - _S_do_it(const _Alloc& __one, const _Alloc& __two) - { return __one != __two; } - }; - - - template, - is_nothrow_move_constructible>::value> - struct __shrink_to_fit_aux - { static bool _S_do_it(_Tp&) noexcept { return false; } }; - - template - struct __shrink_to_fit_aux<_Tp, true> - { - static bool - _S_do_it(_Tp& __c) noexcept - { - - try - { - _Tp(__make_move_if_noexcept_iterator(__c.begin()), - __make_move_if_noexcept_iterator(__c.end()), - __c.get_allocator()).swap(__c); - return true; - } - catch(...) - { return false; } - - - - } - }; - - - -} -# 42 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/string" 2 3 - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/localefwd.h" 1 3 -# 37 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/localefwd.h" 3 - -# 38 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/localefwd.h" 3 - - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/c++locale.h" 1 3 -# 39 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/c++locale.h" 3 - -# 40 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/c++locale.h" 3 - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/clocale" 1 3 -# 39 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/clocale" 3 - -# 40 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/clocale" 3 - - -# 1 "/usr/include/locale.h" 1 3 4 -# 10 "/usr/include/locale.h" 3 4 -# 1 "/usr/include/_ansi.h" 1 3 4 -# 11 "/usr/include/locale.h" 2 3 4 - - - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/stddef.h" 1 3 4 -# 15 "/usr/include/locale.h" 2 3 4 -# 40 "/usr/include/locale.h" 3 4 -extern "C" { - -struct lconv -{ - char *decimal_point; - char *thousands_sep; - char *grouping; - char *int_curr_symbol; - char *currency_symbol; - char *mon_decimal_point; - char *mon_thousands_sep; - char *mon_grouping; - char *positive_sign; - char *negative_sign; - char int_frac_digits; - char frac_digits; - char p_cs_precedes; - char p_sep_by_space; - char n_cs_precedes; - char n_sep_by_space; - char p_sign_posn; - char n_sign_posn; - char int_n_cs_precedes; - char int_n_sep_by_space; - char int_n_sign_posn; - char int_p_cs_precedes; - char int_p_sep_by_space; - char int_p_sign_posn; -}; - -struct _reent; -char *_setlocale_r (struct _reent *, int, const char *); -struct lconv *_localeconv_r (struct _reent *); - -struct __locale_t *_newlocale_r (struct _reent *, int, const char *, - struct __locale_t *); -void _freelocale_r (struct _reent *, struct __locale_t *); -struct __locale_t *_duplocale_r (struct _reent *, struct __locale_t *); -struct __locale_t *_uselocale_r (struct _reent *, struct __locale_t *); - - - -char *setlocale (int, const char *); -struct lconv *localeconv (void); - - -locale_t newlocale (int, const char *, locale_t); -void freelocale (locale_t); -locale_t duplocale (locale_t); -locale_t uselocale (locale_t); - - - - -} -# 43 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/clocale" 2 3 -# 51 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/clocale" 3 -namespace std -{ - using ::lconv; - using ::setlocale; - using ::localeconv; -} -# 42 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/c++locale.h" 2 3 - - - -namespace std -{ - - - typedef int* __c_locale; - - - - - - inline int - __convert_from_v(const __c_locale&, char* __out, - const int __size __attribute__((__unused__)), - const char* __fmt, ...) - { - char* __old = std::setlocale(4, 0); - char* __sav = 0; - if (__builtin_strcmp(__old, "C")) - { - const size_t __len = __builtin_strlen(__old) + 1; - __sav = new char[__len]; - __builtin_memcpy(__sav, __old, __len); - std::setlocale(4, "C"); - } - - __builtin_va_list __args; - __builtin_va_start(__args, __fmt); - - - const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); - - - - - __builtin_va_end(__args); - - if (__sav) - { - std::setlocale(4, __sav); - delete [] __sav; - } - return __ret; - } - - -} -# 41 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/localefwd.h" 2 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/iosfwd" 1 3 -# 36 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/iosfwd" 3 - -# 37 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/iosfwd" 3 - - - - - -namespace std -{ - -# 74 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/iosfwd" 3 - class ios_base; - - template > - class basic_ios; - - template > - class basic_streambuf; - - template > - class basic_istream; - - template > - class basic_ostream; - - template > - class basic_iostream; - - - - - template, - typename _Alloc = allocator<_CharT> > - class basic_stringbuf; - - template, - typename _Alloc = allocator<_CharT> > - class basic_istringstream; - - template, - typename _Alloc = allocator<_CharT> > - class basic_ostringstream; - - template, - typename _Alloc = allocator<_CharT> > - class basic_stringstream; - - - - template > - class basic_filebuf; - - template > - class basic_ifstream; - - template > - class basic_ofstream; - - template > - class basic_fstream; - - template > - class istreambuf_iterator; - - template > - class ostreambuf_iterator; - - - - typedef basic_ios ios; - - - typedef basic_streambuf streambuf; - - - typedef basic_istream istream; - - - typedef basic_ostream ostream; - - - typedef basic_iostream iostream; - - - typedef basic_stringbuf stringbuf; - - - typedef basic_istringstream istringstream; - - - typedef basic_ostringstream ostringstream; - - - typedef basic_stringstream stringstream; - - - typedef basic_filebuf filebuf; - - - typedef basic_ifstream ifstream; - - - typedef basic_ofstream ofstream; - - - typedef basic_fstream fstream; - - - - typedef basic_ios wios; - - - typedef basic_streambuf wstreambuf; - - - typedef basic_istream wistream; - - - typedef basic_ostream wostream; - - - typedef basic_iostream wiostream; - - - typedef basic_stringbuf wstringbuf; - - - typedef basic_istringstream wistringstream; - - - typedef basic_ostringstream wostringstream; - - - typedef basic_stringstream wstringstream; - - - typedef basic_filebuf wfilebuf; - - - typedef basic_ifstream wifstream; - - - typedef basic_ofstream wofstream; - - - typedef basic_fstream wfstream; -# 230 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/iosfwd" 3 - -} -# 42 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/localefwd.h" 2 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cctype" 1 3 -# 39 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cctype" 3 - -# 40 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cctype" 3 - - -# 1 "/usr/include/ctype.h" 1 3 4 -# 11 "/usr/include/ctype.h" 3 4 -extern "C" { - -int isalnum (int __c); -int isalpha (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); - - -int isblank (int __c); - - - -int isascii (int __c); -int toascii (int __c); - - - - - -extern int isalnum_l (int __c, locale_t __l); -extern int isalpha_l (int __c, locale_t __l); -extern int isblank_l (int __c, locale_t __l); -extern int iscntrl_l (int __c, locale_t __l); -extern int isdigit_l (int __c, locale_t __l); -extern int isgraph_l (int __c, locale_t __l); -extern int islower_l (int __c, locale_t __l); -extern int isprint_l (int __c, locale_t __l); -extern int ispunct_l (int __c, locale_t __l); -extern int isspace_l (int __c, locale_t __l); -extern int isupper_l (int __c, locale_t __l); -extern int isxdigit_l(int __c, locale_t __l); -extern int tolower_l (int __c, locale_t __l); -extern int toupper_l (int __c, locale_t __l); - - - -extern int isascii_l (int __c, locale_t __l); -extern int toascii_l (int __c, locale_t __l); -# 70 "/usr/include/ctype.h" 3 4 -extern __attribute__((dllimport)) const char _ctype_[]; - - -const char *__locale_ctype_ptr (void); -# 181 "/usr/include/ctype.h" 3 4 -} -# 43 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cctype" 2 3 -# 62 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cctype" 3 -namespace std -{ - using ::isalnum; - using ::isalpha; - using ::iscntrl; - using ::isdigit; - using ::isgraph; - using ::islower; - using ::isprint; - using ::ispunct; - using ::isspace; - using ::isupper; - using ::isxdigit; - using ::tolower; - using ::toupper; -} - - - - - - - -namespace std -{ - using ::isblank; -} -# 43 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/localefwd.h" 2 3 - -namespace std -{ - -# 55 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/localefwd.h" 3 - class locale; - - template - bool - has_facet(const locale&) throw(); - - template - const _Facet& - use_facet(const locale&); - - - template - bool - isspace(_CharT, const locale&); - - template - bool - isprint(_CharT, const locale&); - - template - bool - iscntrl(_CharT, const locale&); - - template - bool - isupper(_CharT, const locale&); - - template - bool - islower(_CharT, const locale&); - - template - bool - isalpha(_CharT, const locale&); - - template - bool - isdigit(_CharT, const locale&); - - template - bool - ispunct(_CharT, const locale&); - - template - bool - isxdigit(_CharT, const locale&); - - template - bool - isalnum(_CharT, const locale&); - - template - bool - isgraph(_CharT, const locale&); - - - template - bool - isblank(_CharT, const locale&); - - - template - _CharT - toupper(_CharT, const locale&); - - template - _CharT - tolower(_CharT, const locale&); - - - struct ctype_base; - template - class ctype; - template<> class ctype; - - template<> class ctype; - - template - class ctype_byname; - - - class codecvt_base; - template - class codecvt; - template<> class codecvt; - - template<> class codecvt; - - - template<> class codecvt; - template<> class codecvt; - - - - - - template - class codecvt_byname; - - - - template > - class num_get; - template > - class num_put; - - - template class numpunct; - template class numpunct_byname; - - - - - template - class collate; - template - class collate_byname; - - - - class time_base; - - template > - class time_get; - template > - class time_get_byname; - - template > - class time_put; - template > - class time_put_byname; - - - class money_base; - - template > - class money_get; - template > - class money_put; - - - template - class moneypunct; - template - class moneypunct_byname; - - - - struct messages_base; - - template - class messages; - template - class messages_byname; - - - -} -# 44 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/string" 2 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/ostream_insert.h" 1 3 -# 33 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/ostream_insert.h" 3 - -# 34 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/ostream_insert.h" 3 - - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/cxxabi_forced.h" 1 3 -# 34 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/cxxabi_forced.h" 3 - -# 35 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/cxxabi_forced.h" 3 - -#pragma GCC visibility push(default) - - -namespace __cxxabiv1 -{ - - - - - - - - class __forced_unwind - { - virtual ~__forced_unwind() throw(); - - - virtual void __pure_dummy() = 0; - }; -} - - -#pragma GCC visibility pop -# 37 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/ostream_insert.h" 2 3 - - -namespace std -{ - - - template - inline void - __ostream_write(basic_ostream<_CharT, _Traits>& __out, - const _CharT* __s, streamsize __n) - { - typedef basic_ostream<_CharT, _Traits> __ostream_type; - typedef typename __ostream_type::ios_base __ios_base; - - const streamsize __put = __out.rdbuf()->sputn(__s, __n); - if (__put != __n) - __out.setstate(__ios_base::badbit); - } - - template - inline void - __ostream_fill(basic_ostream<_CharT, _Traits>& __out, streamsize __n) - { - typedef basic_ostream<_CharT, _Traits> __ostream_type; - typedef typename __ostream_type::ios_base __ios_base; - - const _CharT __c = __out.fill(); - for (; __n > 0; --__n) - { - const typename _Traits::int_type __put = __out.rdbuf()->sputc(__c); - if (_Traits::eq_int_type(__put, _Traits::eof())) - { - __out.setstate(__ios_base::badbit); - break; - } - } - } - - template - basic_ostream<_CharT, _Traits>& - __ostream_insert(basic_ostream<_CharT, _Traits>& __out, - const _CharT* __s, streamsize __n) - { - typedef basic_ostream<_CharT, _Traits> __ostream_type; - typedef typename __ostream_type::ios_base __ios_base; - - typename __ostream_type::sentry __cerb(__out); - if (__cerb) - { - try - { - const streamsize __w = __out.width(); - if (__w > __n) - { - const bool __left = ((__out.flags() - & __ios_base::adjustfield) - == __ios_base::left); - if (!__left) - __ostream_fill(__out, __w - __n); - if (__out.good()) - __ostream_write(__out, __s, __n); - if (__left && __out.good()) - __ostream_fill(__out, __w - __n); - } - else - __ostream_write(__out, __s, __n); - __out.width(0); - } - catch(__cxxabiv1::__forced_unwind&) - { - __out._M_setstate(__ios_base::badbit); - throw; - } - catch(...) - { __out._M_setstate(__ios_base::badbit); } - } - return __out; - } - - - - - extern template ostream& __ostream_insert(ostream&, const char*, streamsize); - - - extern template wostream& __ostream_insert(wostream&, const wchar_t*, - streamsize); - - - - -} -# 45 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/string" 2 3 - - - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_function.h" 1 3 -# 63 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_function.h" 3 -namespace std -{ - -# 116 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_function.h" 3 - template - struct unary_function - { - - typedef _Arg argument_type; - - - typedef _Result result_type; - }; - - - - - - template - struct binary_function - { - - typedef _Arg1 first_argument_type; - - - typedef _Arg2 second_argument_type; - - - typedef _Result result_type; - }; -# 157 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_function.h" 3 - struct __is_transparent; - - template - struct plus; - - template - struct minus; - - template - struct multiplies; - - template - struct divides; - - template - struct modulus; - - template - struct negate; - - - - template - struct plus : public binary_function<_Tp, _Tp, _Tp> - { - - constexpr - _Tp - operator()(const _Tp& __x, const _Tp& __y) const - { return __x + __y; } - }; - - - template - struct minus : public binary_function<_Tp, _Tp, _Tp> - { - constexpr - _Tp - operator()(const _Tp& __x, const _Tp& __y) const - { return __x - __y; } - }; - - - template - struct multiplies : public binary_function<_Tp, _Tp, _Tp> - { - constexpr - _Tp - operator()(const _Tp& __x, const _Tp& __y) const - { return __x * __y; } - }; - - - template - struct divides : public binary_function<_Tp, _Tp, _Tp> - { - constexpr - _Tp - operator()(const _Tp& __x, const _Tp& __y) const - { return __x / __y; } - }; - - - template - struct modulus : public binary_function<_Tp, _Tp, _Tp> - { - constexpr - _Tp - operator()(const _Tp& __x, const _Tp& __y) const - { return __x % __y; } - }; - - - template - struct negate : public unary_function<_Tp, _Tp> - { - constexpr - _Tp - operator()(const _Tp& __x) const - { return -__x; } - }; - - - - - - template<> - struct plus - { - template - constexpr - auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) + std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) + std::forward<_Up>(__u)) - { return std::forward<_Tp>(__t) + std::forward<_Up>(__u); } - - typedef __is_transparent is_transparent; - }; - - - template<> - struct minus - { - template - constexpr - auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) - std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) - std::forward<_Up>(__u)) - { return std::forward<_Tp>(__t) - std::forward<_Up>(__u); } - - typedef __is_transparent is_transparent; - }; - - - template<> - struct multiplies - { - template - constexpr - auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) * std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) * std::forward<_Up>(__u)) - { return std::forward<_Tp>(__t) * std::forward<_Up>(__u); } - - typedef __is_transparent is_transparent; - }; - - - template<> - struct divides - { - template - constexpr - auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) / std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) / std::forward<_Up>(__u)) - { return std::forward<_Tp>(__t) / std::forward<_Up>(__u); } - - typedef __is_transparent is_transparent; - }; - - - template<> - struct modulus - { - template - constexpr - auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) % std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) % std::forward<_Up>(__u)) - { return std::forward<_Tp>(__t) % std::forward<_Up>(__u); } - - typedef __is_transparent is_transparent; - }; - - - template<> - struct negate - { - template - constexpr - auto - operator()(_Tp&& __t) const - noexcept(noexcept(-std::forward<_Tp>(__t))) - -> decltype(-std::forward<_Tp>(__t)) - { return -std::forward<_Tp>(__t); } - - typedef __is_transparent is_transparent; - }; -# 344 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_function.h" 3 - template - struct equal_to; - - template - struct not_equal_to; - - template - struct greater; - - template - struct less; - - template - struct greater_equal; - - template - struct less_equal; - - - - template - struct equal_to : public binary_function<_Tp, _Tp, bool> - { - constexpr - bool - operator()(const _Tp& __x, const _Tp& __y) const - { return __x == __y; } - }; - - - template - struct not_equal_to : public binary_function<_Tp, _Tp, bool> - { - constexpr - bool - operator()(const _Tp& __x, const _Tp& __y) const - { return __x != __y; } - }; - - - template - struct greater : public binary_function<_Tp, _Tp, bool> - { - constexpr - bool - operator()(const _Tp& __x, const _Tp& __y) const - { return __x > __y; } - }; - - - template - struct less : public binary_function<_Tp, _Tp, bool> - { - constexpr - bool - operator()(const _Tp& __x, const _Tp& __y) const - { return __x < __y; } - }; - - - template - struct greater_equal : public binary_function<_Tp, _Tp, bool> - { - constexpr - bool - operator()(const _Tp& __x, const _Tp& __y) const - { return __x >= __y; } - }; - - - template - struct less_equal : public binary_function<_Tp, _Tp, bool> - { - constexpr - bool - operator()(const _Tp& __x, const _Tp& __y) const - { return __x <= __y; } - }; - - - template - struct greater<_Tp*> : public binary_function<_Tp*, _Tp*, bool> - { - constexpr bool - operator()(_Tp* __x, _Tp* __y) const noexcept - { - - - if (__builtin_is_constant_evaluated()) - - - - return __x > __y; - - return (long unsigned int)__x > (long unsigned int)__y; - } - }; - - - template - struct less<_Tp*> : public binary_function<_Tp*, _Tp*, bool> - { - constexpr bool - operator()(_Tp* __x, _Tp* __y) const noexcept - { - - - if (__builtin_is_constant_evaluated()) - - - - return __x < __y; - - return (long unsigned int)__x < (long unsigned int)__y; - } - }; - - - template - struct greater_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool> - { - constexpr bool - operator()(_Tp* __x, _Tp* __y) const noexcept - { - - - if (__builtin_is_constant_evaluated()) - - - - return __x >= __y; - - return (long unsigned int)__x >= (long unsigned int)__y; - } - }; - - - template - struct less_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool> - { - constexpr bool - operator()(_Tp* __x, _Tp* __y) const noexcept - { - - - if (__builtin_is_constant_evaluated()) - - - - return __x <= __y; - - return (long unsigned int)__x <= (long unsigned int)__y; - } - }; - - - - template<> - struct equal_to - { - template - constexpr auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) == std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) == std::forward<_Up>(__u)) - { return std::forward<_Tp>(__t) == std::forward<_Up>(__u); } - - typedef __is_transparent is_transparent; - }; - - - template<> - struct not_equal_to - { - template - constexpr auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) != std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) != std::forward<_Up>(__u)) - { return std::forward<_Tp>(__t) != std::forward<_Up>(__u); } - - typedef __is_transparent is_transparent; - }; - - - template<> - struct greater - { - template - constexpr auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) > std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) > std::forward<_Up>(__u)) - { - return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u), - __ptr_cmp<_Tp, _Up>{}); - } - - template - constexpr bool - operator()(_Tp* __t, _Up* __u) const noexcept - { return greater>{}(__t, __u); } - - typedef __is_transparent is_transparent; - - private: - template - static constexpr decltype(auto) - _S_cmp(_Tp&& __t, _Up&& __u, false_type) - { return std::forward<_Tp>(__t) > std::forward<_Up>(__u); } - - template - static constexpr bool - _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept - { - return greater{}( - static_cast(std::forward<_Tp>(__t)), - static_cast(std::forward<_Up>(__u))); - } - - - template - struct __not_overloaded2 : true_type { }; - - - template - struct __not_overloaded2<_Tp, _Up, __void_t< - decltype(std::declval<_Tp>().operator>(std::declval<_Up>()))>> - : false_type { }; - - - template - struct __not_overloaded : __not_overloaded2<_Tp, _Up> { }; - - - template - struct __not_overloaded<_Tp, _Up, __void_t< - decltype(operator>(std::declval<_Tp>(), std::declval<_Up>()))>> - : false_type { }; - - template - using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>, - is_convertible<_Tp, const volatile void*>, - is_convertible<_Up, const volatile void*>>; - }; - - - template<> - struct less - { - template - constexpr auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) < std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) < std::forward<_Up>(__u)) - { - return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u), - __ptr_cmp<_Tp, _Up>{}); - } - - template - constexpr bool - operator()(_Tp* __t, _Up* __u) const noexcept - { return less>{}(__t, __u); } - - typedef __is_transparent is_transparent; - - private: - template - static constexpr decltype(auto) - _S_cmp(_Tp&& __t, _Up&& __u, false_type) - { return std::forward<_Tp>(__t) < std::forward<_Up>(__u); } - - template - static constexpr bool - _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept - { - return less{}( - static_cast(std::forward<_Tp>(__t)), - static_cast(std::forward<_Up>(__u))); - } - - - template - struct __not_overloaded2 : true_type { }; - - - template - struct __not_overloaded2<_Tp, _Up, __void_t< - decltype(std::declval<_Tp>().operator<(std::declval<_Up>()))>> - : false_type { }; - - - template - struct __not_overloaded : __not_overloaded2<_Tp, _Up> { }; - - - template - struct __not_overloaded<_Tp, _Up, __void_t< - decltype(operator<(std::declval<_Tp>(), std::declval<_Up>()))>> - : false_type { }; - - template - using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>, - is_convertible<_Tp, const volatile void*>, - is_convertible<_Up, const volatile void*>>; - }; - - - template<> - struct greater_equal - { - template - constexpr auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) >= std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) >= std::forward<_Up>(__u)) - { - return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u), - __ptr_cmp<_Tp, _Up>{}); - } - - template - constexpr bool - operator()(_Tp* __t, _Up* __u) const noexcept - { return greater_equal>{}(__t, __u); } - - typedef __is_transparent is_transparent; - - private: - template - static constexpr decltype(auto) - _S_cmp(_Tp&& __t, _Up&& __u, false_type) - { return std::forward<_Tp>(__t) >= std::forward<_Up>(__u); } - - template - static constexpr bool - _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept - { - return greater_equal{}( - static_cast(std::forward<_Tp>(__t)), - static_cast(std::forward<_Up>(__u))); - } - - - template - struct __not_overloaded2 : true_type { }; - - - template - struct __not_overloaded2<_Tp, _Up, __void_t< - decltype(std::declval<_Tp>().operator>=(std::declval<_Up>()))>> - : false_type { }; - - - template - struct __not_overloaded : __not_overloaded2<_Tp, _Up> { }; - - - template - struct __not_overloaded<_Tp, _Up, __void_t< - decltype(operator>=(std::declval<_Tp>(), std::declval<_Up>()))>> - : false_type { }; - - template - using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>, - is_convertible<_Tp, const volatile void*>, - is_convertible<_Up, const volatile void*>>; - }; - - - template<> - struct less_equal - { - template - constexpr auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) <= std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) <= std::forward<_Up>(__u)) - { - return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u), - __ptr_cmp<_Tp, _Up>{}); - } - - template - constexpr bool - operator()(_Tp* __t, _Up* __u) const noexcept - { return less_equal>{}(__t, __u); } - - typedef __is_transparent is_transparent; - - private: - template - static constexpr decltype(auto) - _S_cmp(_Tp&& __t, _Up&& __u, false_type) - { return std::forward<_Tp>(__t) <= std::forward<_Up>(__u); } - - template - static constexpr bool - _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept - { - return less_equal{}( - static_cast(std::forward<_Tp>(__t)), - static_cast(std::forward<_Up>(__u))); - } - - - template - struct __not_overloaded2 : true_type { }; - - - template - struct __not_overloaded2<_Tp, _Up, __void_t< - decltype(std::declval<_Tp>().operator<=(std::declval<_Up>()))>> - : false_type { }; - - - template - struct __not_overloaded : __not_overloaded2<_Tp, _Up> { }; - - - template - struct __not_overloaded<_Tp, _Up, __void_t< - decltype(operator<=(std::declval<_Tp>(), std::declval<_Up>()))>> - : false_type { }; - - template - using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>, - is_convertible<_Tp, const volatile void*>, - is_convertible<_Up, const volatile void*>>; - }; -# 788 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_function.h" 3 - template - struct logical_and; - - template - struct logical_or; - - template - struct logical_not; - - - - template - struct logical_and : public binary_function<_Tp, _Tp, bool> - { - constexpr - bool - operator()(const _Tp& __x, const _Tp& __y) const - { return __x && __y; } - }; - - - template - struct logical_or : public binary_function<_Tp, _Tp, bool> - { - constexpr - bool - operator()(const _Tp& __x, const _Tp& __y) const - { return __x || __y; } - }; - - - template - struct logical_not : public unary_function<_Tp, bool> - { - constexpr - bool - operator()(const _Tp& __x) const - { return !__x; } - }; - - - - template<> - struct logical_and - { - template - constexpr - auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) && std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) && std::forward<_Up>(__u)) - { return std::forward<_Tp>(__t) && std::forward<_Up>(__u); } - - typedef __is_transparent is_transparent; - }; - - - template<> - struct logical_or - { - template - constexpr - auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) || std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) || std::forward<_Up>(__u)) - { return std::forward<_Tp>(__t) || std::forward<_Up>(__u); } - - typedef __is_transparent is_transparent; - }; - - - template<> - struct logical_not - { - template - constexpr - auto - operator()(_Tp&& __t) const - noexcept(noexcept(!std::forward<_Tp>(__t))) - -> decltype(!std::forward<_Tp>(__t)) - { return !std::forward<_Tp>(__t); } - - typedef __is_transparent is_transparent; - }; - - - - - template - struct bit_and; - - template - struct bit_or; - - template - struct bit_xor; - - template - struct bit_not; - - - - - template - struct bit_and : public binary_function<_Tp, _Tp, _Tp> - { - constexpr - _Tp - operator()(const _Tp& __x, const _Tp& __y) const - { return __x & __y; } - }; - - template - struct bit_or : public binary_function<_Tp, _Tp, _Tp> - { - constexpr - _Tp - operator()(const _Tp& __x, const _Tp& __y) const - { return __x | __y; } - }; - - template - struct bit_xor : public binary_function<_Tp, _Tp, _Tp> - { - constexpr - _Tp - operator()(const _Tp& __x, const _Tp& __y) const - { return __x ^ __y; } - }; - - template - struct bit_not : public unary_function<_Tp, _Tp> - { - constexpr - _Tp - operator()(const _Tp& __x) const - { return ~__x; } - }; - - - template <> - struct bit_and - { - template - constexpr - auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) & std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) & std::forward<_Up>(__u)) - { return std::forward<_Tp>(__t) & std::forward<_Up>(__u); } - - typedef __is_transparent is_transparent; - }; - - template <> - struct bit_or - { - template - constexpr - auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) | std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) | std::forward<_Up>(__u)) - { return std::forward<_Tp>(__t) | std::forward<_Up>(__u); } - - typedef __is_transparent is_transparent; - }; - - template <> - struct bit_xor - { - template - constexpr - auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u)) - { return std::forward<_Tp>(__t) ^ std::forward<_Up>(__u); } - - typedef __is_transparent is_transparent; - }; - - template <> - struct bit_not - { - template - constexpr - auto - operator()(_Tp&& __t) const - noexcept(noexcept(~std::forward<_Tp>(__t))) - -> decltype(~std::forward<_Tp>(__t)) - { return ~std::forward<_Tp>(__t); } - - typedef __is_transparent is_transparent; - }; -# 1019 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_function.h" 3 - template - class unary_negate - : public unary_function - { - protected: - _Predicate _M_pred; - - public: - constexpr - explicit - unary_negate(const _Predicate& __x) : _M_pred(__x) { } - - constexpr - bool - operator()(const typename _Predicate::argument_type& __x) const - { return !_M_pred(__x); } - }; - - - template - constexpr - inline unary_negate<_Predicate> - not1(const _Predicate& __pred) - { return unary_negate<_Predicate>(__pred); } - - - template - class binary_negate - : public binary_function - { - protected: - _Predicate _M_pred; - - public: - constexpr - explicit - binary_negate(const _Predicate& __x) : _M_pred(__x) { } - - constexpr - bool - operator()(const typename _Predicate::first_argument_type& __x, - const typename _Predicate::second_argument_type& __y) const - { return !_M_pred(__x, __y); } - }; - - - template - constexpr - inline binary_negate<_Predicate> - not2(const _Predicate& __pred) - { return binary_negate<_Predicate>(__pred); } -# 1098 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_function.h" 3 - template - class pointer_to_unary_function : public unary_function<_Arg, _Result> - { - protected: - _Result (*_M_ptr)(_Arg); - - public: - pointer_to_unary_function() { } - - explicit - pointer_to_unary_function(_Result (*__x)(_Arg)) - : _M_ptr(__x) { } - - _Result - operator()(_Arg __x) const - { return _M_ptr(__x); } - }; - - - template - inline pointer_to_unary_function<_Arg, _Result> - ptr_fun(_Result (*__x)(_Arg)) - { return pointer_to_unary_function<_Arg, _Result>(__x); } - - - template - class pointer_to_binary_function - : public binary_function<_Arg1, _Arg2, _Result> - { - protected: - _Result (*_M_ptr)(_Arg1, _Arg2); - - public: - pointer_to_binary_function() { } - - explicit - pointer_to_binary_function(_Result (*__x)(_Arg1, _Arg2)) - : _M_ptr(__x) { } - - _Result - operator()(_Arg1 __x, _Arg2 __y) const - { return _M_ptr(__x, __y); } - }; - - - template - inline pointer_to_binary_function<_Arg1, _Arg2, _Result> - ptr_fun(_Result (*__x)(_Arg1, _Arg2)) - { return pointer_to_binary_function<_Arg1, _Arg2, _Result>(__x); } - - - template - struct _Identity - : public unary_function<_Tp, _Tp> - { - _Tp& - operator()(_Tp& __x) const - { return __x; } - - const _Tp& - operator()(const _Tp& __x) const - { return __x; } - }; - - - template struct _Identity : _Identity<_Tp> { }; - - template - struct _Select1st - : public unary_function<_Pair, typename _Pair::first_type> - { - typename _Pair::first_type& - operator()(_Pair& __x) const - { return __x.first; } - - const typename _Pair::first_type& - operator()(const _Pair& __x) const - { return __x.first; } - - - template - typename _Pair2::first_type& - operator()(_Pair2& __x) const - { return __x.first; } - - template - const typename _Pair2::first_type& - operator()(const _Pair2& __x) const - { return __x.first; } - - }; - - template - struct _Select2nd - : public unary_function<_Pair, typename _Pair::second_type> - { - typename _Pair::second_type& - operator()(_Pair& __x) const - { return __x.second; } - - const typename _Pair::second_type& - operator()(const _Pair& __x) const - { return __x.second; } - }; -# 1223 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_function.h" 3 - template - class mem_fun_t : public unary_function<_Tp*, _Ret> - { - public: - explicit - mem_fun_t(_Ret (_Tp::*__pf)()) - : _M_f(__pf) { } - - _Ret - operator()(_Tp* __p) const - { return (__p->*_M_f)(); } - - private: - _Ret (_Tp::*_M_f)(); - }; - - - template - class const_mem_fun_t : public unary_function - { - public: - explicit - const_mem_fun_t(_Ret (_Tp::*__pf)() const) - : _M_f(__pf) { } - - _Ret - operator()(const _Tp* __p) const - { return (__p->*_M_f)(); } - - private: - _Ret (_Tp::*_M_f)() const; - }; - - - template - class mem_fun_ref_t : public unary_function<_Tp, _Ret> - { - public: - explicit - mem_fun_ref_t(_Ret (_Tp::*__pf)()) - : _M_f(__pf) { } - - _Ret - operator()(_Tp& __r) const - { return (__r.*_M_f)(); } - - private: - _Ret (_Tp::*_M_f)(); - }; - - - template - class const_mem_fun_ref_t : public unary_function<_Tp, _Ret> - { - public: - explicit - const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const) - : _M_f(__pf) { } - - _Ret - operator()(const _Tp& __r) const - { return (__r.*_M_f)(); } - - private: - _Ret (_Tp::*_M_f)() const; - }; - - - template - class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret> - { - public: - explicit - mem_fun1_t(_Ret (_Tp::*__pf)(_Arg)) - : _M_f(__pf) { } - - _Ret - operator()(_Tp* __p, _Arg __x) const - { return (__p->*_M_f)(__x); } - - private: - _Ret (_Tp::*_M_f)(_Arg); - }; - - - template - class const_mem_fun1_t : public binary_function - { - public: - explicit - const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const) - : _M_f(__pf) { } - - _Ret - operator()(const _Tp* __p, _Arg __x) const - { return (__p->*_M_f)(__x); } - - private: - _Ret (_Tp::*_M_f)(_Arg) const; - }; - - - template - class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret> - { - public: - explicit - mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg)) - : _M_f(__pf) { } - - _Ret - operator()(_Tp& __r, _Arg __x) const - { return (__r.*_M_f)(__x); } - - private: - _Ret (_Tp::*_M_f)(_Arg); - }; - - - template - class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret> - { - public: - explicit - const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const) - : _M_f(__pf) { } - - _Ret - operator()(const _Tp& __r, _Arg __x) const - { return (__r.*_M_f)(__x); } - - private: - _Ret (_Tp::*_M_f)(_Arg) const; - }; - - - - template - inline mem_fun_t<_Ret, _Tp> - mem_fun(_Ret (_Tp::*__f)()) - { return mem_fun_t<_Ret, _Tp>(__f); } - - template - inline const_mem_fun_t<_Ret, _Tp> - mem_fun(_Ret (_Tp::*__f)() const) - { return const_mem_fun_t<_Ret, _Tp>(__f); } - - template - inline mem_fun_ref_t<_Ret, _Tp> - mem_fun_ref(_Ret (_Tp::*__f)()) - { return mem_fun_ref_t<_Ret, _Tp>(__f); } - - template - inline const_mem_fun_ref_t<_Ret, _Tp> - mem_fun_ref(_Ret (_Tp::*__f)() const) - { return const_mem_fun_ref_t<_Ret, _Tp>(__f); } - - template - inline mem_fun1_t<_Ret, _Tp, _Arg> - mem_fun(_Ret (_Tp::*__f)(_Arg)) - { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); } - - template - inline const_mem_fun1_t<_Ret, _Tp, _Arg> - mem_fun(_Ret (_Tp::*__f)(_Arg) const) - { return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); } - - template - inline mem_fun1_ref_t<_Ret, _Tp, _Arg> - mem_fun_ref(_Ret (_Tp::*__f)(_Arg)) - { return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } - - template - inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg> - mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const) - { return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } - - - - - template> - struct __has_is_transparent - { }; - - template - struct __has_is_transparent<_Func, _SfinaeType, - __void_t> - { typedef void type; }; - - template - using __has_is_transparent_t - = typename __has_is_transparent<_Func, _SfinaeType>::type; - - - -} - - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/backward/binders.h" 1 3 -# 60 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/backward/binders.h" 3 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - -namespace std -{ - -# 107 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/backward/binders.h" 3 - template - class binder1st - : public unary_function - { - protected: - _Operation op; - typename _Operation::first_argument_type value; - - public: - binder1st(const _Operation& __x, - const typename _Operation::first_argument_type& __y) - : op(__x), value(__y) { } - - typename _Operation::result_type - operator()(const typename _Operation::second_argument_type& __x) const - { return op(value, __x); } - - - - typename _Operation::result_type - operator()(typename _Operation::second_argument_type& __x) const - { return op(value, __x); } - } __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead"))); - - - template - inline binder1st<_Operation> - bind1st(const _Operation& __fn, const _Tp& __x) - { - typedef typename _Operation::first_argument_type _Arg1_type; - return binder1st<_Operation>(__fn, _Arg1_type(__x)); - } - - - template - class binder2nd - : public unary_function - { - protected: - _Operation op; - typename _Operation::second_argument_type value; - - public: - binder2nd(const _Operation& __x, - const typename _Operation::second_argument_type& __y) - : op(__x), value(__y) { } - - typename _Operation::result_type - operator()(const typename _Operation::first_argument_type& __x) const - { return op(__x, value); } - - - - typename _Operation::result_type - operator()(typename _Operation::first_argument_type& __x) const - { return op(__x, value); } - } __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead"))); - - - template - inline binder2nd<_Operation> - bind2nd(const _Operation& __fn, const _Tp& __x) - { - typedef typename _Operation::second_argument_type _Arg2_type; - return binder2nd<_Operation>(__fn, _Arg2_type(__x)); - } - - - -} - -#pragma GCC diagnostic pop -# 1422 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_function.h" 2 3 -# 49 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/string" 2 3 - - - - - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/range_access.h" 1 3 -# 33 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/range_access.h" 3 - -# 34 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/range_access.h" 3 - - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/initializer_list" 1 3 -# 33 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/initializer_list" 3 - -# 34 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/initializer_list" 3 - - - - - -#pragma GCC visibility push(default) - - - -namespace std -{ - - template - class initializer_list - { - public: - typedef _E value_type; - typedef const _E& reference; - typedef const _E& const_reference; - typedef size_t size_type; - typedef const _E* iterator; - typedef const _E* const_iterator; - - private: - iterator _M_array; - size_type _M_len; - - - constexpr initializer_list(const_iterator __a, size_type __l) - : _M_array(__a), _M_len(__l) { } - - public: - constexpr initializer_list() noexcept - : _M_array(0), _M_len(0) { } - - - constexpr size_type - size() const noexcept { return _M_len; } - - - constexpr const_iterator - begin() const noexcept { return _M_array; } - - - constexpr const_iterator - end() const noexcept { return begin() + size(); } - }; - - - - - - - - template - constexpr const _Tp* - begin(initializer_list<_Tp> __ils) noexcept - { return __ils.begin(); } - - - - - - - - template - constexpr const _Tp* - end(initializer_list<_Tp> __ils) noexcept - { return __ils.end(); } -} - -#pragma GCC visibility pop -# 37 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/range_access.h" 2 3 - - - -namespace std -{ - - - - - - - - template - inline constexpr auto - begin(_Container& __cont) -> decltype(__cont.begin()) - { return __cont.begin(); } - - - - - - - template - inline constexpr auto - begin(const _Container& __cont) -> decltype(__cont.begin()) - { return __cont.begin(); } - - - - - - - template - inline constexpr auto - end(_Container& __cont) -> decltype(__cont.end()) - { return __cont.end(); } - - - - - - - template - inline constexpr auto - end(const _Container& __cont) -> decltype(__cont.end()) - { return __cont.end(); } - - - - - - template - inline constexpr _Tp* - begin(_Tp (&__arr)[_Nm]) noexcept - { return __arr; } - - - - - - - template - inline constexpr _Tp* - end(_Tp (&__arr)[_Nm]) noexcept - { return __arr + _Nm; } - - - - template class valarray; - - template _Tp* begin(valarray<_Tp>&) noexcept; - template const _Tp* begin(const valarray<_Tp>&) noexcept; - template _Tp* end(valarray<_Tp>&) noexcept; - template const _Tp* end(const valarray<_Tp>&) noexcept; - - - - - - - template - inline constexpr auto - cbegin(const _Container& __cont) noexcept(noexcept(std::begin(__cont))) - -> decltype(std::begin(__cont)) - { return std::begin(__cont); } - - - - - - - template - inline constexpr auto - cend(const _Container& __cont) noexcept(noexcept(std::end(__cont))) - -> decltype(std::end(__cont)) - { return std::end(__cont); } - - - - - - - template - inline constexpr auto - rbegin(_Container& __cont) -> decltype(__cont.rbegin()) - { return __cont.rbegin(); } - - - - - - - template - inline constexpr auto - rbegin(const _Container& __cont) -> decltype(__cont.rbegin()) - { return __cont.rbegin(); } - - - - - - - template - inline constexpr auto - rend(_Container& __cont) -> decltype(__cont.rend()) - { return __cont.rend(); } - - - - - - - template - inline constexpr auto - rend(const _Container& __cont) -> decltype(__cont.rend()) - { return __cont.rend(); } - - - - - - - template - inline constexpr reverse_iterator<_Tp*> - rbegin(_Tp (&__arr)[_Nm]) noexcept - { return reverse_iterator<_Tp*>(__arr + _Nm); } - - - - - - - template - inline constexpr reverse_iterator<_Tp*> - rend(_Tp (&__arr)[_Nm]) noexcept - { return reverse_iterator<_Tp*>(__arr); } - - - - - - - template - inline constexpr reverse_iterator - rbegin(initializer_list<_Tp> __il) noexcept - { return reverse_iterator(__il.end()); } - - - - - - - template - inline constexpr reverse_iterator - rend(initializer_list<_Tp> __il) noexcept - { return reverse_iterator(__il.begin()); } - - - - - - - template - inline constexpr auto - crbegin(const _Container& __cont) -> decltype(std::rbegin(__cont)) - { return std::rbegin(__cont); } - - - - - - - template - inline constexpr auto - crend(const _Container& __cont) -> decltype(std::rend(__cont)) - { return std::rend(__cont); } -# 243 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/range_access.h" 3 - template - constexpr auto - size(const _Container& __cont) noexcept(noexcept(__cont.size())) - -> decltype(__cont.size()) - { return __cont.size(); } - - - - - template - constexpr size_t - size(const _Tp (&)[_Nm]) noexcept - { return _Nm; } - - - - - - template - [[nodiscard]] constexpr auto - empty(const _Container& __cont) noexcept(noexcept(__cont.empty())) - -> decltype(__cont.empty()) - { return __cont.empty(); } - - - - - template - [[nodiscard]] constexpr bool - empty(const _Tp (&)[_Nm]) noexcept - { return false; } - - - - - - template - [[nodiscard]] constexpr bool - empty(initializer_list<_Tp> __il) noexcept - { return __il.size() == 0;} - - - - - - template - constexpr auto - data(_Container& __cont) noexcept(noexcept(__cont.data())) - -> decltype(__cont.data()) - { return __cont.data(); } - - - - - - template - constexpr auto - data(const _Container& __cont) noexcept(noexcept(__cont.data())) - -> decltype(__cont.data()) - { return __cont.data(); } - - - - - - template - constexpr _Tp* - data(_Tp (&__array)[_Nm]) noexcept - { return __array; } - - - - - - template - constexpr const _Tp* - data(initializer_list<_Tp> __il) noexcept - { return __il.begin(); } -# 341 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/range_access.h" 3 - -} -# 55 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/string" 2 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 1 3 -# 37 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - -# 38 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/atomicity.h" 1 3 -# 32 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/atomicity.h" 3 - -# 33 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/atomicity.h" 3 - - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/gthr.h" 1 3 -# 30 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/gthr.h" 3 -#pragma GCC visibility push(default) -# 148 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/gthr.h" 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/gthr-default.h" 1 3 -# 35 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/gthr-default.h" 3 -# 1 "/usr/include/pthread.h" 1 3 4 -# 11 "/usr/include/pthread.h" 3 4 -# 1 "/usr/include/sys/types.h" 1 3 4 -# 28 "/usr/include/sys/types.h" 3 4 -typedef __uint8_t u_int8_t; - - -typedef __uint16_t u_int16_t; - - -typedef __uint32_t u_int32_t; - - -typedef __uint64_t u_int64_t; - -typedef __intptr_t register_t; -# 49 "/usr/include/sys/types.h" 3 4 -# 1 "/usr/include/machine/endian.h" 1 3 4 - - - - - -# 1 "/usr/include/machine/_endian.h" 1 3 4 -# 14 "/usr/include/machine/_endian.h" 3 4 -# 1 "/usr/include/bits/endian.h" 1 3 4 -# 15 "/usr/include/machine/_endian.h" 2 3 4 -# 23 "/usr/include/machine/_endian.h" 3 4 -static __inline__ __uint32_t __ntohl(__uint32_t); -static __inline__ __uint16_t __ntohs(__uint16_t); - -static __inline__ __uint32_t -__ntohl(__uint32_t _x) -{ - __asm__("bswap %0" : "=r" (_x) : "0" (_x)); - return _x; -} - -static __inline__ __uint16_t -__ntohs(__uint16_t _x) -{ - __asm__("xchgb %b0,%h0" - : "=Q" (_x) - : "0" (_x)); - return _x; -} -# 7 "/usr/include/machine/endian.h" 2 3 4 -# 50 "/usr/include/sys/types.h" 2 3 4 -# 1 "/usr/include/sys/select.h" 1 3 4 -# 14 "/usr/include/sys/select.h" 3 4 -# 1 "/usr/include/sys/_sigset.h" 1 3 4 -# 41 "/usr/include/sys/_sigset.h" 3 4 -typedef unsigned long __sigset_t; -# 15 "/usr/include/sys/select.h" 2 3 4 -# 1 "/usr/include/sys/_timeval.h" 1 3 4 -# 37 "/usr/include/sys/_timeval.h" 3 4 -typedef __suseconds_t suseconds_t; - - - - -typedef long time_t; -# 54 "/usr/include/sys/_timeval.h" 3 4 -struct timeval { - time_t tv_sec; - suseconds_t tv_usec; -}; -# 16 "/usr/include/sys/select.h" 2 3 4 -# 1 "/usr/include/sys/timespec.h" 1 3 4 -# 38 "/usr/include/sys/timespec.h" 3 4 -# 1 "/usr/include/sys/_timespec.h" 1 3 4 -# 47 "/usr/include/sys/_timespec.h" 3 4 -struct timespec { - time_t tv_sec; - long tv_nsec; -}; -# 39 "/usr/include/sys/timespec.h" 2 3 4 -# 58 "/usr/include/sys/timespec.h" 3 4 -struct itimerspec { - struct timespec it_interval; - struct timespec it_value; -}; -# 17 "/usr/include/sys/select.h" 2 3 4 - - - -typedef __sigset_t sigset_t; -# 38 "/usr/include/sys/select.h" 3 4 -typedef unsigned long __fd_mask; - -typedef __fd_mask fd_mask; -# 52 "/usr/include/sys/select.h" 3 4 -typedef struct fd_set { - __fd_mask __fds_bits[(((1024) + ((((int)sizeof(__fd_mask) * 8)) - 1)) / (((int)sizeof(__fd_mask) * 8)))]; -} fd_set; -# 78 "/usr/include/sys/select.h" 3 4 -extern "C" { - -int select (int __n, fd_set *__readfds, fd_set *__writefds, fd_set *__exceptfds, struct timeval *__timeout) - ; - -int pselect (int __n, fd_set *__readfds, fd_set *__writefds, fd_set *__exceptfds, const struct timespec *__timeout, const sigset_t *__set) - - ; - - -} -# 51 "/usr/include/sys/types.h" 2 3 4 - - - - -typedef __uint32_t in_addr_t; - - - - -typedef __uint16_t in_port_t; - - - -typedef __uintptr_t u_register_t; - - - - - - -typedef unsigned char u_char; - - - -typedef unsigned short u_short; - - - -typedef unsigned int u_int; - - - -typedef unsigned long u_long; - - - - - - - -typedef unsigned short ushort; -typedef unsigned int uint; -typedef unsigned long ulong; - - - -typedef __blkcnt_t blkcnt_t; - - - - -typedef __blksize_t blksize_t; - - - - -typedef unsigned long clock_t; -# 118 "/usr/include/sys/types.h" 3 4 -typedef __daddr_t daddr_t; - - -typedef char * caddr_t; - - - - -typedef __fsblkcnt_t fsblkcnt_t; -typedef __fsfilcnt_t fsfilcnt_t; - - - - -typedef __id_t id_t; - - - - -typedef __ino_t ino_t; -# 155 "/usr/include/sys/types.h" 3 4 -typedef __off_t off_t; - - - -typedef __dev_t dev_t; - - - -typedef __uid_t uid_t; - - - -typedef __gid_t gid_t; - - - - -typedef __pid_t pid_t; - - - - -typedef __key_t key_t; - - - - -typedef _ssize_t ssize_t; - - - - -typedef __mode_t mode_t; - - - - -typedef __nlink_t nlink_t; - - - - -typedef __clockid_t clockid_t; - - - - - -typedef __timer_t timer_t; - - - - - -typedef __useconds_t useconds_t; -# 218 "/usr/include/sys/types.h" 3 4 -typedef __int64_t sbintime_t; - - -# 1 "/usr/include/sys/_pthreadtypes.h" 1 3 4 -# 12 "/usr/include/sys/_pthreadtypes.h" 3 4 -# 1 "/usr/include/sys/cpuset.h" 1 3 4 -# 15 "/usr/include/sys/cpuset.h" 3 4 -extern "C" { - - -typedef long unsigned int __cpu_mask; - - - - - - - -typedef struct -{ - __cpu_mask __bits[(1024 / (8 * sizeof (__cpu_mask)))]; -} cpu_set_t; -# 153 "/usr/include/sys/cpuset.h" 3 4 -} -# 13 "/usr/include/sys/_pthreadtypes.h" 2 3 4 - - - -typedef struct __pthread_t {char __dummy;} *pthread_t; -typedef struct __pthread_mutex_t {char __dummy;} *pthread_mutex_t; - -typedef struct __pthread_key_t {char __dummy;} *pthread_key_t; -typedef struct __pthread_attr_t {char __dummy;} *pthread_attr_t; -typedef struct __pthread_mutexattr_t {char __dummy;} *pthread_mutexattr_t; -typedef struct __pthread_condattr_t {char __dummy;} *pthread_condattr_t; -typedef struct __pthread_cond_t {char __dummy;} *pthread_cond_t; -typedef struct __pthread_barrierattr_t {char __dummy;} *pthread_barrierattr_t; -typedef struct __pthread_barrier_t {char __dummy;} *pthread_barrier_t; - - -typedef struct -{ - pthread_mutex_t mutex; - int state; -} -pthread_once_t; -typedef struct __pthread_spinlock_t {char __dummy;} *pthread_spinlock_t; -typedef struct __pthread_rwlock_t {char __dummy;} *pthread_rwlock_t; -typedef struct __pthread_rwlockattr_t {char __dummy;} *pthread_rwlockattr_t; -# 222 "/usr/include/sys/types.h" 2 3 4 -# 1 "/usr/include/machine/types.h" 1 3 4 -# 15 "/usr/include/machine/types.h" 3 4 -extern "C" -{ - - -# 1 "/usr/include/endian.h" 1 3 4 -# 38 "/usr/include/endian.h" 3 4 -# 1 "/usr/include/bits/byteswap.h" 1 3 4 -# 13 "/usr/include/bits/byteswap.h" 3 4 -extern "C" { - - -static inline unsigned short -__bswap_16 (unsigned short __x) -{ - return (__x >> 8) | (__x << 8); -} - -static inline unsigned int -__bswap_32 (unsigned int __x) -{ - return (__bswap_16 (__x & 0xffff) << 16) | (__bswap_16 (__x >> 16)); -} - -static inline unsigned long long -__bswap_64 (unsigned long long __x) -{ - return (((unsigned long long) __bswap_32 (__x & 0xffffffffull)) << 32) | (__bswap_32 (__x >> 32)); -} - - -} -# 39 "/usr/include/endian.h" 2 3 4 -# 20 "/usr/include/machine/types.h" 2 3 4 -# 1 "/usr/include/bits/wordsize.h" 1 3 4 -# 21 "/usr/include/machine/types.h" 2 3 4 - - - - -typedef struct timespec timespec_t; - - - - -typedef struct timespec timestruc_t; - - -typedef __loff_t loff_t; - -struct flock { - short l_type; - short l_whence; - off_t l_start; - off_t l_len; - pid_t l_pid; -}; - - - - - - -typedef unsigned long vm_offset_t; - - - - -typedef unsigned long vm_size_t; - - - - -typedef void *vm_object_t; - - - - -typedef char *addr_t; - - - - - -# 1 "/usr/include/sys/sysmacros.h" 1 3 4 -# 12 "/usr/include/sys/sysmacros.h" 3 4 -# 1 "/usr/include/sys/types.h" 1 3 4 -# 13 "/usr/include/sys/sysmacros.h" 2 3 4 - -static __inline__ int gnu_dev_major(dev_t); -static __inline__ int gnu_dev_minor(dev_t); -static __inline__ dev_t gnu_dev_makedev(int, int); - -static __inline__ int -gnu_dev_major(dev_t dev) -{ - return (int)(((dev) >> 16) & 0xffff); -} - -static __inline__ int -gnu_dev_minor(dev_t dev) -{ - return (int)((dev) & 0xffff); -} - -static __inline__ dev_t -gnu_dev_makedev(int maj, int min) -{ - return (((maj) << 16) | ((min) & 0xffff)); -} -# 70 "/usr/include/machine/types.h" 2 3 4 - - -} -# 223 "/usr/include/sys/types.h" 2 3 4 -# 12 "/usr/include/pthread.h" 2 3 4 -# 1 "/usr/include/signal.h" 1 3 4 - - - - - -# 1 "/usr/include/sys/signal.h" 1 3 4 - - - - - -extern "C" { -# 23 "/usr/include/sys/signal.h" 3 4 -# 1 "/usr/include/cygwin/signal.h" 1 3 4 -# 15 "/usr/include/cygwin/signal.h" 3 4 -extern "C" { -# 24 "/usr/include/cygwin/signal.h" 3 4 -struct _uc_fpxreg { - __uint16_t significand[4]; - __uint16_t exponent; - __uint16_t padding[3]; -}; - -struct _uc_xmmreg { - __uint32_t element[4]; -}; - -struct _fpstate -{ - __uint16_t cwd; - __uint16_t swd; - __uint16_t ftw; - __uint16_t fop; - __uint64_t rip; - __uint64_t rdp; - __uint32_t mxcsr; - __uint32_t mxcr_mask; - struct _uc_fpxreg st[8]; - struct _uc_xmmreg xmm[16]; - __uint32_t padding[24]; -}; - -struct __attribute__ ((__aligned__ (16))) __mcontext -{ - __uint64_t p1home; - __uint64_t p2home; - __uint64_t p3home; - __uint64_t p4home; - __uint64_t p5home; - __uint64_t p6home; - __uint32_t ctxflags; - __uint32_t mxcsr; - __uint16_t cs; - __uint16_t ds; - __uint16_t es; - __uint16_t fs; - __uint16_t gs; - __uint16_t ss; - __uint32_t eflags; - __uint64_t dr0; - __uint64_t dr1; - __uint64_t dr2; - __uint64_t dr3; - __uint64_t dr6; - __uint64_t dr7; - __uint64_t rax; - __uint64_t rcx; - __uint64_t rdx; - __uint64_t rbx; - __uint64_t rsp; - __uint64_t rbp; - __uint64_t rsi; - __uint64_t rdi; - __uint64_t r8; - __uint64_t r9; - __uint64_t r10; - __uint64_t r11; - __uint64_t r12; - __uint64_t r13; - __uint64_t r14; - __uint64_t r15; - __uint64_t rip; - struct _fpstate fpregs; - __uint64_t vregs[52]; - __uint64_t vcx; - __uint64_t dbc; - __uint64_t btr; - __uint64_t bfr; - __uint64_t etr; - __uint64_t efr; - __uint64_t oldmask; - __uint64_t cr2; -}; -# 109 "/usr/include/cygwin/signal.h" 3 4 -typedef union sigval -{ - int sival_int; - void *sival_ptr; -} sigval_t; - -typedef struct sigevent -{ - sigval_t sigev_value; - int sigev_signo; - int sigev_notify; - void (*sigev_notify_function) (sigval_t); - pthread_attr_t *sigev_notify_attributes; -} sigevent_t; - - - -#pragma pack(push,4) - -struct _sigcommune -{ - __uint32_t _si_code; - void *_si_read_handle; - void *_si_write_handle; - void *_si_process_handle; - __extension__ union - { - struct { - int _si_fd; - uint32_t _si_flags; - }; - int64_t _si_pipe_unique_id; - char *_si_str; - }; -}; -# 158 "/usr/include/cygwin/signal.h" 3 4 -typedef struct -{ - int si_signo; - int si_code; - pid_t si_pid; - uid_t si_uid; - int si_errno; - - __extension__ union - { - __uint32_t __pad[32]; - struct _sigcommune _si_commune; - __extension__ struct - { - __extension__ union - { - sigval_t si_sigval; - sigval_t si_value; - }; - __extension__ struct - { - timer_t si_tid; - unsigned int si_overrun; - }; - }; - - __extension__ struct - { - int si_status; - clock_t si_utime; - clock_t si_stime; - }; - - void *si_addr; -# 202 "/usr/include/cygwin/signal.h" 3 4 - }; -} siginfo_t; - -#pragma pack(pop) - - - -enum -{ - SI_USER = 0, - SI_ASYNCIO = 2, - - SI_MESGQ, - - SI_TIMER, - SI_QUEUE, - SI_KERNEL, - - ILL_ILLOPC = 7, - ILL_ILLOPN, - ILL_ILLADR, - ILL_ILLTRP, - ILL_PRVOPC, - ILL_PRVREG, - ILL_COPROC, - ILL_BADSTK, - - FPE_INTDIV = 15, - FPE_INTOVF, - FPE_FLTDIV, - FPE_FLTOVF, - FPE_FLTUND, - FPE_FLTRES, - FPE_FLTINV, - FPE_FLTSUB, - - SEGV_MAPERR = 23, - SEGV_ACCERR, - - BUS_ADRALN = 25, - BUS_ADRERR, - BUS_OBJERR, - - CLD_EXITED = 28, - CLD_KILLED, - CLD_DUMPED, - CLD_TRAPPED, - CLD_STOPPED, - CLD_CONTINUED -}; -# 287 "/usr/include/cygwin/signal.h" 3 4 -enum -{ - SIGEV_SIGNAL = 0, - - - SIGEV_NONE, - - - SIGEV_THREAD - -}; - - - - - -typedef void (*_sig_func_ptr)(int); - - - -struct sigaction -{ - __extension__ union - { - _sig_func_ptr sa_handler; - - void (*sa_sigaction) ( int, siginfo_t *, void * ); - - }; - sigset_t sa_mask; - int sa_flags; -}; -# 399 "/usr/include/cygwin/signal.h" 3 4 -void psiginfo (const siginfo_t *, const char *); - - -int sigwait (const sigset_t *, int *); - - -int sigwaitinfo (const sigset_t *, siginfo_t *); -# 415 "/usr/include/cygwin/signal.h" 3 4 -int sigqueue(pid_t, int, const union sigval); - - -int siginterrupt (int, int); - - - - - -extern const char __attribute__((dllimport)) *sys_sigabbrev[]; -extern const char __attribute__((dllimport)) *sys_siglist[]; - - - -} -# 24 "/usr/include/sys/signal.h" 2 3 4 -# 154 "/usr/include/sys/signal.h" 3 4 -typedef struct sigaltstack { - void *ss_sp; - int ss_flags; - size_t ss_size; -} stack_t; - - - - - - -int sigprocmask (int, const sigset_t *, sigset_t *); - - - -int pthread_sigmask (int, const sigset_t *, sigset_t *); - - - - - - - -int kill (pid_t, int); - - - -int killpg (pid_t, int); - - -int sigaction (int, const struct sigaction *, struct sigaction *); -int sigaddset (sigset_t *, const int); -int sigdelset (sigset_t *, const int); -int sigismember (const sigset_t *, int); -int sigfillset (sigset_t *); -int sigemptyset (sigset_t *); -int sigpending (sigset_t *); -int sigsuspend (const sigset_t *); -int sigwait (const sigset_t *, int *); -# 219 "/usr/include/sys/signal.h" 3 4 -int sigpause (int); - - - -int sigaltstack (const stack_t *__restrict, stack_t *__restrict); - - - -int pthread_kill (pthread_t, int); - - - - - - - -int sigwaitinfo (const sigset_t *, siginfo_t *); -int sigtimedwait (const sigset_t *, siginfo_t *, const struct timespec *); - -int sigqueue (pid_t, int, const union sigval); -# 253 "/usr/include/sys/signal.h" 3 4 -int sig2str(int, char *); -int str2sig(const char *__restrict, int *__restrict); -# 374 "/usr/include/sys/signal.h" 3 4 -} - - - - -# 1 "/usr/include/sys/ucontext.h" 1 3 4 -# 12 "/usr/include/sys/ucontext.h" 3 4 -# 1 "/usr/include/signal.h" 1 3 4 -# 13 "/usr/include/sys/ucontext.h" 2 3 4 - -typedef struct __mcontext mcontext_t; - -typedef __attribute__ ((__aligned__ (16))) struct __ucontext { - mcontext_t uc_mcontext; - struct __ucontext *uc_link; - sigset_t uc_sigmask; - stack_t uc_stack; - unsigned long int uc_flags; -} ucontext_t; -# 380 "/usr/include/sys/signal.h" 2 3 4 -# 7 "/usr/include/signal.h" 2 3 4 - -extern "C" { - -typedef int sig_atomic_t; - -typedef _sig_func_ptr sig_t; -# 22 "/usr/include/signal.h" 3 4 -struct _reent; - -_sig_func_ptr _signal_r (struct _reent *, int, _sig_func_ptr); -int _raise_r (struct _reent *, int); - - -_sig_func_ptr signal (int, _sig_func_ptr); -int raise (int); -void psignal (int, const char *); - - -} -# 13 "/usr/include/pthread.h" 2 3 4 -# 1 "/usr/include/sched.h" 1 3 4 -# 24 "/usr/include/sched.h" 3 4 -# 1 "/usr/include/sys/sched.h" 1 3 4 -# 27 "/usr/include/sys/sched.h" 3 4 -extern "C" { -# 48 "/usr/include/sys/sched.h" 3 4 -struct sched_param { - int sched_priority; -# 61 "/usr/include/sys/sched.h" 3 4 -}; - - -} -# 25 "/usr/include/sched.h" 2 3 4 - - -extern "C" { - - - - - - -int sched_setparam( - pid_t __pid, - const struct sched_param *__param -); - - - - -int sched_getparam( - pid_t __pid, - struct sched_param *__param -); - - - - - -int sched_setscheduler( - pid_t __pid, - int __policy, - const struct sched_param *__param -); - - - - -int sched_getscheduler( - pid_t __pid -); - - - - -int sched_get_priority_max( - int __policy -); - -int sched_get_priority_min( - int __policy -); - - - - -int sched_rr_get_interval( - pid_t __pid, - struct timespec *__interval -); - - - - - - - -int sched_yield( void ); -# 109 "/usr/include/sched.h" 3 4 -} -# 14 "/usr/include/pthread.h" 2 3 4 -# 1 "/usr/include/time.h" 1 3 4 -# 16 "/usr/include/time.h" 3 4 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/stddef.h" 1 3 4 -# 17 "/usr/include/time.h" 2 3 4 - - -# 1 "/usr/include/machine/time.h" 1 3 4 -# 20 "/usr/include/time.h" 2 3 4 -# 35 "/usr/include/time.h" 3 4 -extern "C" { - -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; - -}; - -clock_t clock (void); -double difftime (time_t _time2, time_t _time1); -time_t mktime (struct tm *_timeptr); -time_t time (time_t *_timer); - -char *asctime (const struct tm *_tblock); -char *ctime (const time_t *_time); -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 _fmt, - const struct tm *__restrict _t); - - -extern size_t strftime_l (char *__restrict _s, size_t _maxsize, - const char *__restrict _fmt, - const struct tm *__restrict _t, locale_t _l); - - -char *asctime_r (const struct tm *__restrict, - char *__restrict); -char *ctime_r (const time_t *, char *); -struct tm *gmtime_r (const time_t *__restrict, - struct tm *__restrict); -struct tm *localtime_r (const time_t *__restrict, - struct tm *__restrict); - -} - - -extern "C" { -# 101 "/usr/include/time.h" 3 4 -void tzset (void); - -void _tzset_r (struct _reent *); -# 134 "/usr/include/time.h" 3 4 -extern __attribute__((dllimport)) long _timezone; -extern __attribute__((dllimport)) int _daylight; - - -extern __attribute__((dllimport)) char *_tzname[2]; -# 147 "/usr/include/time.h" 3 4 -} - - - - - -# 1 "/usr/include/cygwin/time.h" 1 3 4 -# 12 "/usr/include/cygwin/time.h" 3 4 -extern "C" -{ - - - -int clock_setres (clockid_t, struct timespec *); - - -time_t timelocal (struct tm *); -time_t timegm (struct tm *); - - - - -extern int stime (const time_t *); - - - -extern int daylight __asm__ ("_daylight"); - - -extern long timezone __asm__ ("_timezone"); - - - - - -} -# 154 "/usr/include/time.h" 2 3 4 - - - - - - - -extern "C" { - - - - -int clock_settime (clockid_t clock_id, const struct timespec *tp); -int clock_gettime (clockid_t clock_id, struct timespec *tp); -int clock_getres (clockid_t clock_id, struct timespec *res); - - - -int timer_create (clockid_t clock_id, - struct sigevent *__restrict evp, - timer_t *__restrict timerid); - - - -int timer_delete (timer_t timerid); - - - -int timer_settime (timer_t timerid, int flags, - const struct itimerspec *__restrict value, - struct itimerspec *__restrict ovalue); -int timer_gettime (timer_t timerid, struct itimerspec *value); -int timer_getoverrun (timer_t timerid); - - - -int nanosleep (const struct timespec *rqtp, struct timespec *rmtp); - - -} - - - - - - -extern "C" { - - -int clock_nanosleep (clockid_t clock_id, int flags, - const struct timespec *rqtp, struct timespec *rmtp); - - -} - - - - - -extern "C" { -# 295 "/usr/include/time.h" 3 4 -int clock_getcpuclockid (pid_t pid, clockid_t *clock_id); - - - - - - - -int clock_setenable_attr (clockid_t clock_id, int attr); -int clock_getenable_attr (clockid_t clock_id, int *attr); - - - - -} -# 15 "/usr/include/pthread.h" 2 3 4 - - - - - -extern "C" -{ -# 65 "/usr/include/pthread.h" 3 4 -int pthread_atfork (void (*)(void), void (*)(void), void (*)(void)); - - -int pthread_attr_destroy (pthread_attr_t *); -int pthread_attr_getdetachstate (const pthread_attr_t *, int *); -int pthread_attr_getguardsize (const pthread_attr_t *, size_t *); -int pthread_attr_getinheritsched (const pthread_attr_t *, int *); -int pthread_attr_getschedparam (const pthread_attr_t *, struct sched_param *); -int pthread_attr_getschedpolicy (const pthread_attr_t *, int *); -int pthread_attr_getscope (const pthread_attr_t *, int *); -int pthread_attr_init (pthread_attr_t *); -int pthread_attr_setdetachstate (pthread_attr_t *, int); -int pthread_attr_setguardsize (pthread_attr_t *, size_t); -int pthread_attr_setinheritsched (pthread_attr_t *, int); -int pthread_attr_setschedparam (pthread_attr_t *, const struct sched_param *); -int pthread_attr_setschedpolicy (pthread_attr_t *, int); -int pthread_attr_setscope (pthread_attr_t *, int); - - -int pthread_attr_getstack (const pthread_attr_t *, void **, size_t *); -int pthread_attr_setstack (pthread_attr_t *, void *, size_t); - - - - - - - -int pthread_attr_getstacksize (const pthread_attr_t *, size_t *); -int pthread_attr_setstacksize (pthread_attr_t *, size_t); - -int pthread_cancel (pthread_t); - - - - - -typedef void (*__cleanup_routine_type) (void *); -typedef struct _pthread_cleanup_handler -{ - __cleanup_routine_type function; - void *arg; - struct _pthread_cleanup_handler *next; -} __pthread_cleanup_handler; - -void _pthread_cleanup_push (__pthread_cleanup_handler *handler); -void _pthread_cleanup_pop (int execute); - - - - - - - -int pthread_cond_broadcast (pthread_cond_t *); -int pthread_cond_destroy (pthread_cond_t *); -int pthread_cond_init (pthread_cond_t *, const pthread_condattr_t *); -int pthread_cond_signal (pthread_cond_t *); - - - - -int pthread_cond_timedwait (pthread_cond_t *, - pthread_mutex_t *, const struct timespec *); -int pthread_cond_wait (pthread_cond_t *, pthread_mutex_t *); -int pthread_condattr_destroy (pthread_condattr_t *); -int pthread_condattr_getclock (const pthread_condattr_t *, clockid_t *); -int pthread_condattr_getpshared (const pthread_condattr_t *, int *); -int pthread_condattr_init (pthread_condattr_t *); -int pthread_condattr_setclock (pthread_condattr_t *, clockid_t); -int pthread_condattr_setpshared (pthread_condattr_t *, int); - - - -int pthread_barrierattr_init (pthread_barrierattr_t *); -int pthread_barrierattr_setpshared (pthread_barrierattr_t *, int); -int pthread_barrierattr_getpshared (const pthread_barrierattr_t *, int *); -int pthread_barrierattr_destroy (pthread_barrierattr_t *); -int pthread_barrier_init (pthread_barrier_t *, - const pthread_barrierattr_t *, unsigned); -int pthread_barrier_destroy (pthread_barrier_t *); -int pthread_barrier_wait (pthread_barrier_t *); - - - -int pthread_create (pthread_t *, const pthread_attr_t *, - void *(*)(void *), void *); -int pthread_detach (pthread_t); -int pthread_equal (pthread_t, pthread_t); -void pthread_exit (void *) __attribute__ ((__noreturn__)); - -int pthread_getcpuclockid (pthread_t, clockid_t *); - -int pthread_getschedparam (pthread_t, int *, struct sched_param *); -void *pthread_getspecific (pthread_key_t); -int pthread_join (pthread_t, void **); -int pthread_key_create (pthread_key_t *, void (*)(void *)); -int pthread_key_delete (pthread_key_t); - - -int pthread_mutex_destroy (pthread_mutex_t *); -int pthread_mutex_getprioceiling (const pthread_mutex_t *, int *); -int pthread_mutex_init (pthread_mutex_t *, const pthread_mutexattr_t *); -int pthread_mutex_lock (pthread_mutex_t *); -int pthread_mutex_setprioceiling (pthread_mutex_t *, int, int *); - - - - -int pthread_mutex_timedlock (pthread_mutex_t *, const struct timespec *); -int pthread_mutex_trylock (pthread_mutex_t *); -int pthread_mutex_unlock (pthread_mutex_t *); -int pthread_mutexattr_destroy (pthread_mutexattr_t *); -int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t *, int *); -int pthread_mutexattr_getprotocol (const pthread_mutexattr_t *, int *); -int pthread_mutexattr_getpshared (const pthread_mutexattr_t *, int *); -int pthread_mutexattr_gettype (const pthread_mutexattr_t *, int *); -int pthread_mutexattr_init (pthread_mutexattr_t *); -int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *, int); -int pthread_mutexattr_setprotocol (pthread_mutexattr_t *, int); -int pthread_mutexattr_setpshared (pthread_mutexattr_t *, int); -int pthread_mutexattr_settype (pthread_mutexattr_t *, int); - - - -int pthread_spin_destroy (pthread_spinlock_t *); -int pthread_spin_init (pthread_spinlock_t *, int); -int pthread_spin_lock (pthread_spinlock_t *); -int pthread_spin_trylock (pthread_spinlock_t *); -int pthread_spin_unlock (pthread_spinlock_t *); - - - - -int pthread_rwlock_destroy (pthread_rwlock_t *); -int pthread_rwlock_init (pthread_rwlock_t *, const pthread_rwlockattr_t *); -int pthread_rwlock_rdlock (pthread_rwlock_t *); - - - - -int pthread_rwlock_timedrdlock (pthread_rwlock_t *, const struct timespec *); -int pthread_rwlock_tryrdlock (pthread_rwlock_t *); -int pthread_rwlock_wrlock (pthread_rwlock_t *); - - - - -int pthread_rwlock_timedwrlock (pthread_rwlock_t *, const struct timespec *); -int pthread_rwlock_trywrlock (pthread_rwlock_t *); -int pthread_rwlock_unlock (pthread_rwlock_t *); -int pthread_rwlockattr_init (pthread_rwlockattr_t *); -int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *, int *); -int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *, int); -int pthread_rwlockattr_destroy (pthread_rwlockattr_t *); - - -int pthread_once (pthread_once_t *, void (*)(void)); -# 231 "/usr/include/pthread.h" 3 4 -pthread_t pthread_self (void); -int pthread_setcancelstate (int, int *); -int pthread_setcanceltype (int, int *); -int pthread_setschedparam (pthread_t, int, const struct sched_param *); -int pthread_setschedprio (pthread_t, int); -int pthread_setspecific (pthread_key_t, const void *); -void pthread_testcancel (void); -# 252 "/usr/include/pthread.h" 3 4 -int pthread_yield (void); - - -int pthread_suspend (pthread_t); -int pthread_continue (pthread_t); - - - -} -# 36 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/gthr-default.h" 2 3 -# 47 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/gthr-default.h" 3 -typedef pthread_t __gthread_t; -typedef pthread_key_t __gthread_key_t; -typedef pthread_once_t __gthread_once_t; -typedef pthread_mutex_t __gthread_mutex_t; -typedef pthread_mutex_t __gthread_recursive_mutex_t; -typedef pthread_cond_t __gthread_cond_t; -typedef struct timespec __gthread_time_t; -# 102 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/gthr-default.h" 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# 299 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/gthr-default.h" 3 -static inline int -__gthread_active_p (void) -{ - return 1; -} -# 659 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/gthr-default.h" 3 -static inline int -__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), - void *__args) -{ - return pthread_create (__threadid, __null, __func, __args); -} - -static inline int -__gthread_join (__gthread_t __threadid, void **__value_ptr) -{ - return pthread_join (__threadid, __value_ptr); -} - -static inline int -__gthread_detach (__gthread_t __threadid) -{ - return pthread_detach (__threadid); -} - -static inline int -__gthread_equal (__gthread_t __t1, __gthread_t __t2) -{ - return pthread_equal (__t1, __t2); -} - -static inline __gthread_t -__gthread_self (void) -{ - return pthread_self (); -} - -static inline int -__gthread_yield (void) -{ - return sched_yield (); -} - -static inline int -__gthread_once (__gthread_once_t *__once, void (*__func) (void)) -{ - if (__gthread_active_p ()) - return pthread_once (__once, __func); - else - return -1; -} - -static inline int -__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) -{ - return pthread_key_create (__key, __dtor); -} - -static inline int -__gthread_key_delete (__gthread_key_t __key) -{ - return pthread_key_delete (__key); -} - -static inline void * -__gthread_getspecific (__gthread_key_t __key) -{ - return pthread_getspecific (__key); -} - -static inline int -__gthread_setspecific (__gthread_key_t __key, const void *__ptr) -{ - return pthread_setspecific (__key, __ptr); -} - -static inline void -__gthread_mutex_init_function (__gthread_mutex_t *__mutex) -{ - if (__gthread_active_p ()) - pthread_mutex_init (__mutex, __null); -} - -static inline int -__gthread_mutex_destroy (__gthread_mutex_t *__mutex) -{ - if (__gthread_active_p ()) - return pthread_mutex_destroy (__mutex); - else - return 0; -} - -static inline int -__gthread_mutex_lock (__gthread_mutex_t *__mutex) -{ - if (__gthread_active_p ()) - return pthread_mutex_lock (__mutex); - else - return 0; -} - -static inline int -__gthread_mutex_trylock (__gthread_mutex_t *__mutex) -{ - if (__gthread_active_p ()) - return pthread_mutex_trylock (__mutex); - else - return 0; -} - - -static inline int -__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, - const __gthread_time_t *__abs_timeout) -{ - if (__gthread_active_p ()) - return pthread_mutex_timedlock (__mutex, __abs_timeout); - else - return 0; -} - - -static inline int -__gthread_mutex_unlock (__gthread_mutex_t *__mutex) -{ - if (__gthread_active_p ()) - return pthread_mutex_unlock (__mutex); - else - return 0; -} -# 808 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/gthr-default.h" 3 -static inline int -__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) -{ - return __gthread_mutex_lock (__mutex); -} - -static inline int -__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) -{ - return __gthread_mutex_trylock (__mutex); -} - - -static inline int -__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, - const __gthread_time_t *__abs_timeout) -{ - return __gthread_mutex_timedlock (__mutex, __abs_timeout); -} - - -static inline int -__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) -{ - return __gthread_mutex_unlock (__mutex); -} - -static inline int -__gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex) -{ - return __gthread_mutex_destroy (__mutex); -} -# 850 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/gthr-default.h" 3 -static inline int -__gthread_cond_broadcast (__gthread_cond_t *__cond) -{ - return pthread_cond_broadcast (__cond); -} - -static inline int -__gthread_cond_signal (__gthread_cond_t *__cond) -{ - return pthread_cond_signal (__cond); -} - -static inline int -__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) -{ - return pthread_cond_wait (__cond, __mutex); -} - -static inline int -__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, - const __gthread_time_t *__abs_timeout) -{ - return pthread_cond_timedwait (__cond, __mutex, __abs_timeout); -} - -static inline int -__gthread_cond_wait_recursive (__gthread_cond_t *__cond, - __gthread_recursive_mutex_t *__mutex) -{ - return __gthread_cond_wait (__cond, __mutex); -} - -static inline int -__gthread_cond_destroy (__gthread_cond_t* __cond) -{ - return pthread_cond_destroy (__cond); -} -# 149 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/gthr.h" 2 3 - - -#pragma GCC visibility pop -# 36 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/atomicity.h" 2 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/atomic_word.h" 1 3 -# 32 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/atomic_word.h" 3 -typedef int _Atomic_word; -# 37 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/atomicity.h" 2 3 - - - - -namespace __gnu_cxx -{ - - - __attribute__((__always_inline__)) - inline bool - __is_single_threaded() noexcept - { - - - - - - return !__gthread_active_p(); - - } - - - - - - - inline _Atomic_word - __attribute__((__always_inline__)) - __exchange_and_add(volatile _Atomic_word* __mem, int __val) - { return __atomic_fetch_add(__mem, __val, 4); } - - inline void - __attribute__((__always_inline__)) - __atomic_add(volatile _Atomic_word* __mem, int __val) - { __atomic_fetch_add(__mem, __val, 4); } -# 80 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/atomicity.h" 3 - inline _Atomic_word - __attribute__((__always_inline__)) - __exchange_and_add_single(_Atomic_word* __mem, int __val) - { - _Atomic_word __result = *__mem; - *__mem += __val; - return __result; - } - - inline void - __attribute__((__always_inline__)) - __atomic_add_single(_Atomic_word* __mem, int __val) - { *__mem += __val; } - - inline _Atomic_word - __attribute__ ((__always_inline__)) - __exchange_and_add_dispatch(_Atomic_word* __mem, int __val) - { - if (__is_single_threaded()) - return __exchange_and_add_single(__mem, __val); - else - return __exchange_and_add(__mem, __val); - } - - inline void - __attribute__ ((__always_inline__)) - __atomic_add_dispatch(_Atomic_word* __mem, int __val) - { - if (__is_single_threaded()) - __atomic_add_single(__mem, __val); - else - __atomic_add(__mem, __val); - } - - -} -# 40 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 2 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/alloc_traits.h" 1 3 -# 32 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/alloc_traits.h" 3 - -# 33 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/alloc_traits.h" 3 - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/alloc_traits.h" 1 3 -# 33 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/alloc_traits.h" 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_construct.h" 1 3 -# 73 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_construct.h" 3 -namespace std -{ - - - - template - inline void - destroy_at(_Tp* __location) - { - if constexpr (201703L > 201703L && is_array_v<_Tp>) - { - for (auto& __x : *__location) - std::destroy_at(std::__addressof(__x)); - } - else - __location->~_Tp(); - } -# 106 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_construct.h" 3 - template - - inline void - _Construct(_Tp* __p, _Args&&... __args) - { -# 119 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_construct.h" 3 - ::new((void*)__p) _Tp(std::forward<_Args>(__args)...); - } -# 132 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/stl_construct.h" 3 - template - inline void - _Construct_novalue(_T1* __p) - { ::new((void*)__p) _T1; } - - template - void - _Destroy(_ForwardIterator __first, _ForwardIterator __last); - - - - - template - constexpr inline void - _Destroy(_Tp* __pointer) - { - - - - __pointer->~_Tp(); - - } - - template - struct _Destroy_aux - { - template - static void - __destroy(_ForwardIterator __first, _ForwardIterator __last) - { - for (; __first != __last; ++__first) - std::_Destroy(std::__addressof(*__first)); - } - }; - - template<> - struct _Destroy_aux - { - template - static void - __destroy(_ForwardIterator, _ForwardIterator) { } - }; - - - - - - - template - inline void - _Destroy(_ForwardIterator __first, _ForwardIterator __last) - { - typedef typename iterator_traits<_ForwardIterator>::value_type - _Value_type; - - - static_assert(is_destructible<_Value_type>::value, - "value type is destructible"); - - - - - - std::_Destroy_aux<__has_trivial_destructor(_Value_type)>:: - __destroy(__first, __last); - } - - template - struct _Destroy_n_aux - { - template - static _ForwardIterator - __destroy_n(_ForwardIterator __first, _Size __count) - { - for (; __count > 0; (void)++__first, --__count) - std::_Destroy(std::__addressof(*__first)); - return __first; - } - }; - - template<> - struct _Destroy_n_aux - { - template - static _ForwardIterator - __destroy_n(_ForwardIterator __first, _Size __count) - { - std::advance(__first, __count); - return __first; - } - }; - - - - - - - template - inline _ForwardIterator - _Destroy_n(_ForwardIterator __first, _Size __count) - { - typedef typename iterator_traits<_ForwardIterator>::value_type - _Value_type; - - - static_assert(is_destructible<_Value_type>::value, - "value type is destructible"); - - - - - - return std::_Destroy_n_aux<__has_trivial_destructor(_Value_type)>:: - __destroy_n(__first, __count); - } - - - template - inline void - destroy(_ForwardIterator __first, _ForwardIterator __last) - { - std::_Destroy(__first, __last); - } - - template - inline _ForwardIterator - destroy_n(_ForwardIterator __first, _Size __count) - { - return std::_Destroy_n(__first, __count); - } - - - -} -# 34 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/alloc_traits.h" 2 3 - - - - - - - -namespace std -{ - - - - - - - struct __allocator_traits_base - { - template - struct __rebind : __replace_first_arg<_Tp, _Up> { }; - - template - struct __rebind<_Tp, _Up, - __void_t::other>> - { using type = typename _Tp::template rebind<_Up>::other; }; - - protected: - template - using __pointer = typename _Tp::pointer; - template - using __c_pointer = typename _Tp::const_pointer; - template - using __v_pointer = typename _Tp::void_pointer; - template - using __cv_pointer = typename _Tp::const_void_pointer; - template - using __pocca = typename _Tp::propagate_on_container_copy_assignment; - template - using __pocma = typename _Tp::propagate_on_container_move_assignment; - template - using __pocs = typename _Tp::propagate_on_container_swap; - template - using __equal = typename _Tp::is_always_equal; - }; - - template - using __alloc_rebind - = typename __allocator_traits_base::template __rebind<_Alloc, _Up>::type; -# 89 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/alloc_traits.h" 3 - template - struct allocator_traits : __allocator_traits_base - { - - typedef _Alloc allocator_type; - - typedef typename _Alloc::value_type value_type; - - - - - - - using pointer = __detected_or_t; - - private: - - template class _Func, typename _Tp, typename = void> - struct _Ptr - { - using type = typename pointer_traits::template rebind<_Tp>; - }; - - template class _Func, typename _Tp> - struct _Ptr<_Func, _Tp, __void_t<_Func<_Alloc>>> - { - using type = _Func<_Alloc>; - }; - - - template - struct _Diff - { using type = typename pointer_traits<_PtrT>::difference_type; }; - - template - struct _Diff<_A2, _PtrT, __void_t> - { using type = typename _A2::difference_type; }; - - - template - struct _Size : make_unsigned<_DiffT> { }; - - template - struct _Size<_A2, _DiffT, __void_t> - { using type = typename _A2::size_type; }; - - public: - - - - - - - using const_pointer = typename _Ptr<__c_pointer, const value_type>::type; - - - - - - - - using void_pointer = typename _Ptr<__v_pointer, void>::type; - - - - - - - - using const_void_pointer = typename _Ptr<__cv_pointer, const void>::type; - - - - - - - - using difference_type = typename _Diff<_Alloc, pointer>::type; - - - - - - - - using size_type = typename _Size<_Alloc, difference_type>::type; - - - - - - - - using propagate_on_container_copy_assignment - = __detected_or_t; - - - - - - - - using propagate_on_container_move_assignment - = __detected_or_t; - - - - - - - - using propagate_on_container_swap - = __detected_or_t; - - - - - - - - using is_always_equal - = __detected_or_t::type, __equal, _Alloc>; - - template - using rebind_alloc = __alloc_rebind<_Alloc, _Tp>; - template - using rebind_traits = allocator_traits>; - - private: - template - static constexpr auto - _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer __hint, int) - -> decltype(__a.allocate(__n, __hint)) - { return __a.allocate(__n, __hint); } - - template - static constexpr pointer - _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer, ...) - { return __a.allocate(__n); } - - template - struct __construct_helper - { - template()->construct( - std::declval<_Tp*>(), std::declval<_Args>()...))> - static true_type __test(int); - - template - static false_type __test(...); - - using type = decltype(__test<_Alloc>(0)); - }; - - template - using __has_construct - = typename __construct_helper<_Tp, _Args...>::type; - - template - static constexpr _Require<__has_construct<_Tp, _Args...>> - _S_construct(_Alloc& __a, _Tp* __p, _Args&&... __args) - noexcept(noexcept(__a.construct(__p, std::forward<_Args>(__args)...))) - { __a.construct(__p, std::forward<_Args>(__args)...); } - - template - static constexpr - _Require<__and_<__not_<__has_construct<_Tp, _Args...>>, - is_constructible<_Tp, _Args...>>> - _S_construct(_Alloc&, _Tp* __p, _Args&&... __args) - noexcept(std::is_nothrow_constructible<_Tp, _Args...>::value) - { - - ::new((void*)__p) _Tp(std::forward<_Args>(__args)...); - - - - } - - template - static constexpr auto - _S_destroy(_Alloc2& __a, _Tp* __p, int) - noexcept(noexcept(__a.destroy(__p))) - -> decltype(__a.destroy(__p)) - { __a.destroy(__p); } - - template - static constexpr void - _S_destroy(_Alloc2&, _Tp* __p, ...) - noexcept(std::is_nothrow_destructible<_Tp>::value) - { std::_Destroy(__p); } - - template - static constexpr auto - _S_max_size(_Alloc2& __a, int) - -> decltype(__a.max_size()) - { return __a.max_size(); } - - template - static constexpr size_type - _S_max_size(_Alloc2&, ...) - { - - - return __gnu_cxx::__numeric_traits::__max - / sizeof(value_type); - } - - template - static constexpr auto - _S_select(_Alloc2& __a, int) - -> decltype(__a.select_on_container_copy_construction()) - { return __a.select_on_container_copy_construction(); } - - template - static constexpr _Alloc2 - _S_select(_Alloc2& __a, ...) - { return __a; } - - public: -# 316 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/alloc_traits.h" 3 - [[__nodiscard__]] static pointer - allocate(_Alloc& __a, size_type __n) - { return __a.allocate(__n); } -# 331 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/alloc_traits.h" 3 - [[__nodiscard__]] static pointer - allocate(_Alloc& __a, size_type __n, const_void_pointer __hint) - { return _S_allocate(__a, __n, __hint, 0); } -# 343 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/alloc_traits.h" 3 - static void - deallocate(_Alloc& __a, pointer __p, size_type __n) - { __a.deallocate(__p, __n); } -# 358 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/alloc_traits.h" 3 - template - static auto - construct(_Alloc& __a, _Tp* __p, _Args&&... __args) - noexcept(noexcept(_S_construct(__a, __p, - std::forward<_Args>(__args)...))) - -> decltype(_S_construct(__a, __p, std::forward<_Args>(__args)...)) - { _S_construct(__a, __p, std::forward<_Args>(__args)...); } -# 374 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/alloc_traits.h" 3 - template - static void - destroy(_Alloc& __a, _Tp* __p) - noexcept(noexcept(_S_destroy(__a, __p, 0))) - { _S_destroy(__a, __p, 0); } -# 388 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/alloc_traits.h" 3 - static size_type - max_size(const _Alloc& __a) noexcept - { return _S_max_size(__a, 0); } -# 400 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/alloc_traits.h" 3 - static _Alloc - select_on_container_copy_construction(const _Alloc& __rhs) - { return _S_select(__rhs, 0); } - }; - - - - - - - template - struct allocator_traits> - { - - using allocator_type = allocator<_Tp>; - - - using value_type = _Tp; - - - using pointer = _Tp*; - - - using const_pointer = const _Tp*; - - - using void_pointer = void*; - - - using const_void_pointer = const void*; - - - using difference_type = std::ptrdiff_t; - - - using size_type = std::size_t; - - - using propagate_on_container_copy_assignment = false_type; - - - using propagate_on_container_move_assignment = true_type; - - - using propagate_on_container_swap = false_type; - - - using is_always_equal = true_type; - - template - using rebind_alloc = allocator<_Up>; - - template - using rebind_traits = allocator_traits>; -# 462 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/alloc_traits.h" 3 - [[__nodiscard__]] static pointer - allocate(allocator_type& __a, size_type __n) - { return __a.allocate(__n); } -# 476 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/alloc_traits.h" 3 - [[__nodiscard__]] static pointer - allocate(allocator_type& __a, size_type __n, const_void_pointer __hint) - { - - return __a.allocate(__n, __hint); - - - - } -# 494 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/alloc_traits.h" 3 - static void - deallocate(allocator_type& __a, pointer __p, size_type __n) - { __a.deallocate(__p, __n); } -# 509 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/alloc_traits.h" 3 - template - static void - construct(allocator_type& __a __attribute__((__unused__)), _Up* __p, - _Args&&... __args) - noexcept(std::is_nothrow_constructible<_Up, _Args...>::value) - { - - __a.construct(__p, std::forward<_Args>(__args)...); - - - - } -# 529 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/alloc_traits.h" 3 - template - static void - destroy(allocator_type& __a __attribute__((__unused__)), _Up* __p) - noexcept(is_nothrow_destructible<_Up>::value) - { - - __a.destroy(__p); - - - - } - - - - - - - static size_type - max_size(const allocator_type& __a __attribute__((__unused__))) noexcept - { - - return __a.max_size(); - - - - } - - - - - - - static allocator_type - select_on_container_copy_construction(const allocator_type& __rhs) - { return __rhs; } - }; - - - template<> - struct allocator_traits> - { - - using allocator_type = allocator; - - - using value_type = void; - - - using pointer = void*; - - - using const_pointer = const void*; - - - using void_pointer = void*; - - - using const_void_pointer = const void*; - - - using difference_type = std::ptrdiff_t; - - - using size_type = std::size_t; - - - using propagate_on_container_copy_assignment = false_type; - - - using propagate_on_container_move_assignment = true_type; - - - using propagate_on_container_swap = false_type; - - - using is_always_equal = true_type; - - template - using rebind_alloc = allocator<_Up>; - - template - using rebind_traits = allocator_traits>; - - - static void* - allocate(allocator_type&, size_type, const void* = nullptr) = delete; - - - static void - deallocate(allocator_type&, void*, size_type) = delete; -# 631 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/alloc_traits.h" 3 - template - static void - construct(allocator_type&, _Up* __p, _Args&&... __args) - noexcept(std::is_nothrow_constructible<_Up, _Args...>::value) - { std::_Construct(__p, std::forward<_Args>(__args)...); } -# 644 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/alloc_traits.h" 3 - template - static void - destroy(allocator_type&, _Up* __p) - noexcept(is_nothrow_destructible<_Up>::value) - { std::_Destroy(__p); } - - - static size_type - max_size(const allocator_type&) = delete; - - - - - - - static allocator_type - select_on_container_copy_construction(const allocator_type& __rhs) - { return __rhs; } - }; -# 676 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/alloc_traits.h" 3 - template - constexpr inline void - __alloc_on_copy(_Alloc& __one, const _Alloc& __two) - { - typedef allocator_traits<_Alloc> __traits; - typedef typename __traits::propagate_on_container_copy_assignment __pocca; - - if constexpr (__pocca::value) - __one = __two; - - - - } - - template - constexpr _Alloc - __alloc_on_copy(const _Alloc& __a) - { - typedef allocator_traits<_Alloc> __traits; - return __traits::select_on_container_copy_construction(__a); - } -# 708 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/alloc_traits.h" 3 - template - constexpr inline void - __alloc_on_move(_Alloc& __one, _Alloc& __two) - { - typedef allocator_traits<_Alloc> __traits; - typedef typename __traits::propagate_on_container_move_assignment __pocma; - - if constexpr (__pocma::value) - __one = std::move(__two); - - - - } -# 735 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/alloc_traits.h" 3 - template - constexpr inline void - __alloc_on_swap(_Alloc& __one, _Alloc& __two) - { - typedef allocator_traits<_Alloc> __traits; - typedef typename __traits::propagate_on_container_swap __pocs; - - if constexpr (__pocs::value) - { - using std::swap; - swap(__one, __two); - } - - - - } - - template, - typename = void> - struct __is_alloc_insertable_impl - : false_type - { }; - - template - struct __is_alloc_insertable_impl<_Alloc, _Tp, _ValueT, - __void_t::construct( - std::declval<_Alloc&>(), std::declval<_ValueT*>(), - std::declval<_Tp>()))>> - : true_type - { }; - - - - - template - struct __is_copy_insertable - : __is_alloc_insertable_impl<_Alloc, - typename _Alloc::value_type const&>::type - { }; - - - template - struct __is_copy_insertable> - : is_copy_constructible<_Tp> - { }; - - - - - template - struct __is_move_insertable - : __is_alloc_insertable_impl<_Alloc, typename _Alloc::value_type>::type - { }; - - - template - struct __is_move_insertable> - : is_move_constructible<_Tp> - { }; - - - template - struct __is_allocator : false_type { }; - - template - struct __is_allocator<_Alloc, - __void_t().allocate(size_t{}))>> - : true_type { }; - - template - using _RequireAllocator - = typename enable_if<__is_allocator<_Alloc>::value, _Alloc>::type; - - template - using _RequireNotAllocator - = typename enable_if::value, _Alloc>::type; -# 829 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/alloc_traits.h" 3 - template - void - _Destroy(_ForwardIterator __first, _ForwardIterator __last, - _Allocator& __alloc) - { - for (; __first != __last; ++__first) - - - - allocator_traits<_Allocator>::destroy(__alloc, - std::__addressof(*__first)); - - } - - template - inline void - _Destroy(_ForwardIterator __first, _ForwardIterator __last, - allocator<_Tp>&) - { - _Destroy(__first, __last); - } - - -} -# 35 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/alloc_traits.h" 2 3 - - - - -namespace __gnu_cxx -{ - - - - - - -template - struct __alloc_traits - - : std::allocator_traits<_Alloc> - - { - typedef _Alloc allocator_type; - - typedef std::allocator_traits<_Alloc> _Base_type; - typedef typename _Base_type::value_type value_type; - typedef typename _Base_type::pointer pointer; - typedef typename _Base_type::const_pointer const_pointer; - typedef typename _Base_type::size_type size_type; - typedef typename _Base_type::difference_type difference_type; - - typedef value_type& reference; - typedef const value_type& const_reference; - using _Base_type::allocate; - using _Base_type::deallocate; - using _Base_type::construct; - using _Base_type::destroy; - using _Base_type::max_size; - - private: - template - using __is_custom_pointer - = std::__and_, - std::__not_>>; - - public: - - template - static constexpr - std::__enable_if_t<__is_custom_pointer<_Ptr>::value> - construct(_Alloc& __a, _Ptr __p, _Args&&... __args) - noexcept(noexcept(_Base_type::construct(__a, std::__to_address(__p), - std::forward<_Args>(__args)...))) - { - _Base_type::construct(__a, std::__to_address(__p), - std::forward<_Args>(__args)...); - } - - - template - static constexpr - std::__enable_if_t<__is_custom_pointer<_Ptr>::value> - destroy(_Alloc& __a, _Ptr __p) - noexcept(noexcept(_Base_type::destroy(__a, std::__to_address(__p)))) - { _Base_type::destroy(__a, std::__to_address(__p)); } - - static constexpr _Alloc _S_select_on_copy(const _Alloc& __a) - { return _Base_type::select_on_container_copy_construction(__a); } - - static constexpr void _S_on_swap(_Alloc& __a, _Alloc& __b) - { std::__alloc_on_swap(__a, __b); } - - static constexpr bool _S_propagate_on_copy_assign() - { return _Base_type::propagate_on_container_copy_assignment::value; } - - static constexpr bool _S_propagate_on_move_assign() - { return _Base_type::propagate_on_container_move_assignment::value; } - - static constexpr bool _S_propagate_on_swap() - { return _Base_type::propagate_on_container_swap::value; } - - static constexpr bool _S_always_equal() - { return _Base_type::is_always_equal::value; } - - static constexpr bool _S_nothrow_move() - { return _S_propagate_on_move_assign() || _S_always_equal(); } - - template - struct rebind - { typedef typename _Base_type::template rebind_alloc<_Tp> other; }; -# 166 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/alloc_traits.h" 3 - }; - - -} -# 41 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 2 3 - - - - - - - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/string_view" 1 3 -# 36 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/string_view" 3 - -# 37 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/string_view" 3 - - - - - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/functional_hash.h" 1 3 -# 33 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/functional_hash.h" 3 - -# 34 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/functional_hash.h" 3 - - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/hash_bytes.h" 1 3 -# 33 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/hash_bytes.h" 3 - -# 34 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/hash_bytes.h" 3 - - - -namespace std -{ - - - - - - - - size_t - _Hash_bytes(const void* __ptr, size_t __len, size_t __seed); - - - - - - size_t - _Fnv_hash_bytes(const void* __ptr, size_t __len, size_t __seed); - - -} -# 37 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/functional_hash.h" 2 3 - -namespace std -{ - -# 50 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/functional_hash.h" 3 - template - struct __hash_base - { - typedef _Result result_type [[__deprecated__]]; - typedef _Arg argument_type [[__deprecated__]]; - }; - - - template - struct hash; - - template - struct __poison_hash - { - static constexpr bool __enable_hash_call = false; - private: - - __poison_hash(__poison_hash&&); - ~__poison_hash(); - }; - - template - struct __poison_hash<_Tp, __void_t()(declval<_Tp>()))>> - { - static constexpr bool __enable_hash_call = true; - }; - - - template::value> - struct __hash_enum - { - private: - - __hash_enum(__hash_enum&&); - ~__hash_enum(); - }; - - - template - struct __hash_enum<_Tp, true> : public __hash_base - { - size_t - operator()(_Tp __val) const noexcept - { - using __type = typename underlying_type<_Tp>::type; - return hash<__type>{}(static_cast<__type>(__val)); - } - }; - - - - template - struct hash : __hash_enum<_Tp> - { }; - - - template - struct hash<_Tp*> : public __hash_base - { - size_t - operator()(_Tp* __p) const noexcept - { return reinterpret_cast(__p); } - }; -# 125 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/functional_hash.h" 3 - template<> struct hash : public __hash_base { size_t operator()(bool __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash : public __hash_base { size_t operator()(char __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash : public __hash_base { size_t operator()(signed char __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash : public __hash_base { size_t operator()(unsigned char __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash : public __hash_base { size_t operator()(wchar_t __val) const noexcept { return static_cast(__val); } }; - - - - - - - - template<> struct hash : public __hash_base { size_t operator()(char16_t __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash : public __hash_base { size_t operator()(char32_t __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash : public __hash_base { size_t operator()(short __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash : public __hash_base { size_t operator()(int __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash : public __hash_base { size_t operator()(long __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash : public __hash_base { size_t operator()(long long __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash : public __hash_base { size_t operator()(unsigned short __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash : public __hash_base { size_t operator()(unsigned int __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash : public __hash_base { size_t operator()(unsigned long __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash : public __hash_base { size_t operator()(unsigned long long __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash<__int128> : public __hash_base { size_t operator()(__int128 __val) const noexcept { return static_cast(__val); } }; - template<> struct hash<__int128 unsigned> : public __hash_base { size_t operator()(__int128 unsigned __val) const noexcept { return static_cast(__val); } }; -# 193 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/functional_hash.h" 3 - struct _Hash_impl - { - static size_t - hash(const void* __ptr, size_t __clength, - size_t __seed = static_cast(0xc70f6907UL)) - { return _Hash_bytes(__ptr, __clength, __seed); } - - template - static size_t - hash(const _Tp& __val) - { return hash(&__val, sizeof(__val)); } - - template - static size_t - __hash_combine(const _Tp& __val, size_t __hash) - { return hash(&__val, sizeof(__val), __hash); } - }; - - - struct _Fnv_hash_impl - { - static size_t - hash(const void* __ptr, size_t __clength, - size_t __seed = static_cast(2166136261UL)) - { return _Fnv_hash_bytes(__ptr, __clength, __seed); } - - template - static size_t - hash(const _Tp& __val) - { return hash(&__val, sizeof(__val)); } - - template - static size_t - __hash_combine(const _Tp& __val, size_t __hash) - { return hash(&__val, sizeof(__val), __hash); } - }; - - - template<> - struct hash : public __hash_base - { - size_t - operator()(float __val) const noexcept - { - - return __val != 0.0f ? std::_Hash_impl::hash(__val) : 0; - } - }; - - - template<> - struct hash : public __hash_base - { - size_t - operator()(double __val) const noexcept - { - - return __val != 0.0 ? std::_Hash_impl::hash(__val) : 0; - } - }; - - - template<> - struct hash - : public __hash_base - { - __attribute__ ((__pure__)) size_t - operator()(long double __val) const noexcept; - }; - - - template<> - struct hash : public __hash_base - { - size_t - operator()(nullptr_t) const noexcept - { return 0; } - }; -# 279 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/functional_hash.h" 3 - template - struct __is_fast_hash : public std::true_type - { }; - - template<> - struct __is_fast_hash> : public std::false_type - { }; - - -} -# 43 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/string_view" 2 3 -# 51 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/string_view" 3 -namespace std -{ - - - - - - - - - constexpr size_t - __sv_check(size_t __size, size_t __pos, const char* __s) - { - if (__pos > __size) - __throw_out_of_range_fmt(("%s: __pos (which is %zu) > __size " "(which is %zu)") - , __s, __pos, __size); - return __pos; - } - - - - constexpr size_t - __sv_limit(size_t __size, size_t __pos, size_t __off) noexcept - { - const bool __testoff = __off < __size - __pos; - return __testoff ? __off : __size - __pos; - } -# 97 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/string_view" 3 - template> - class basic_string_view - { - static_assert(!is_array_v<_CharT>); - static_assert(is_trivial_v<_CharT> && is_standard_layout_v<_CharT>); - static_assert(is_same_v<_CharT, typename _Traits::char_type>); - - public: - - - using traits_type = _Traits; - using value_type = _CharT; - using pointer = value_type*; - using const_pointer = const value_type*; - using reference = value_type&; - using const_reference = const value_type&; - using const_iterator = const value_type*; - using iterator = const_iterator; - using const_reverse_iterator = std::reverse_iterator; - using reverse_iterator = const_reverse_iterator; - using size_type = size_t; - using difference_type = ptrdiff_t; - static constexpr size_type npos = size_type(-1); - - - - constexpr - basic_string_view() noexcept - : _M_len{0}, _M_str{nullptr} - { } - - constexpr basic_string_view(const basic_string_view&) noexcept = default; - - __attribute__((__nonnull__)) constexpr - basic_string_view(const _CharT* __str) noexcept - : _M_len{traits_type::length(__str)}, - _M_str{__str} - { } - - constexpr - basic_string_view(const _CharT* __str, size_type __len) noexcept - : _M_len{__len}, _M_str{__str} - { } -# 171 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/string_view" 3 - constexpr basic_string_view& - operator=(const basic_string_view&) noexcept = default; - - - - constexpr const_iterator - begin() const noexcept - { return this->_M_str; } - - constexpr const_iterator - end() const noexcept - { return this->_M_str + this->_M_len; } - - constexpr const_iterator - cbegin() const noexcept - { return this->_M_str; } - - constexpr const_iterator - cend() const noexcept - { return this->_M_str + this->_M_len; } - - constexpr const_reverse_iterator - rbegin() const noexcept - { return const_reverse_iterator(this->end()); } - - constexpr const_reverse_iterator - rend() const noexcept - { return const_reverse_iterator(this->begin()); } - - constexpr const_reverse_iterator - crbegin() const noexcept - { return const_reverse_iterator(this->end()); } - - constexpr const_reverse_iterator - crend() const noexcept - { return const_reverse_iterator(this->begin()); } - - - - constexpr size_type - size() const noexcept - { return this->_M_len; } - - constexpr size_type - length() const noexcept - { return _M_len; } - - constexpr size_type - max_size() const noexcept - { - return (npos - sizeof(size_type) - sizeof(void*)) - / sizeof(value_type) / 4; - } - - [[nodiscard]] constexpr bool - empty() const noexcept - { return this->_M_len == 0; } - - - - constexpr const_reference - operator[](size_type __pos) const noexcept - { - do { if (__builtin_is_constant_evaluated() && !bool(__pos < this->_M_len)) __builtin_unreachable(); } while (false); - return *(this->_M_str + __pos); - } - - constexpr const_reference - at(size_type __pos) const - { - if (__pos >= _M_len) - __throw_out_of_range_fmt(("basic_string_view::at: __pos " "(which is %zu) >= this->size() " "(which is %zu)") - - , __pos, this->size()); - return *(this->_M_str + __pos); - } - - constexpr const_reference - front() const noexcept - { - do { if (__builtin_is_constant_evaluated() && !bool(this->_M_len > 0)) __builtin_unreachable(); } while (false); - return *this->_M_str; - } - - constexpr const_reference - back() const noexcept - { - do { if (__builtin_is_constant_evaluated() && !bool(this->_M_len > 0)) __builtin_unreachable(); } while (false); - return *(this->_M_str + this->_M_len - 1); - } - - constexpr const_pointer - data() const noexcept - { return this->_M_str; } - - - - constexpr void - remove_prefix(size_type __n) noexcept - { - do { if (__builtin_is_constant_evaluated() && !bool(this->_M_len >= __n)) __builtin_unreachable(); } while (false); - this->_M_str += __n; - this->_M_len -= __n; - } - - constexpr void - remove_suffix(size_type __n) noexcept - { - do { if (__builtin_is_constant_evaluated() && !bool(this->_M_len >= __n)) __builtin_unreachable(); } while (false); - this->_M_len -= __n; - } - - constexpr void - swap(basic_string_view& __sv) noexcept - { - auto __tmp = *this; - *this = __sv; - __sv = __tmp; - } - - - - - size_type - copy(_CharT* __str, size_type __n, size_type __pos = 0) const - { - ; - __pos = std::__sv_check(size(), __pos, "basic_string_view::copy"); - const size_type __rlen = std::min(__n, _M_len - __pos); - - - traits_type::copy(__str, data() + __pos, __rlen); - return __rlen; - } - - constexpr basic_string_view - substr(size_type __pos = 0, size_type __n = npos) const noexcept(false) - { - __pos = std::__sv_check(size(), __pos, "basic_string_view::substr"); - const size_type __rlen = std::min(__n, _M_len - __pos); - return basic_string_view{_M_str + __pos, __rlen}; - } - - constexpr int - compare(basic_string_view __str) const noexcept - { - const size_type __rlen = std::min(this->_M_len, __str._M_len); - int __ret = traits_type::compare(this->_M_str, __str._M_str, __rlen); - if (__ret == 0) - __ret = _S_compare(this->_M_len, __str._M_len); - return __ret; - } - - constexpr int - compare(size_type __pos1, size_type __n1, basic_string_view __str) const - { return this->substr(__pos1, __n1).compare(__str); } - - constexpr int - compare(size_type __pos1, size_type __n1, - basic_string_view __str, size_type __pos2, size_type __n2) const - { - return this->substr(__pos1, __n1).compare(__str.substr(__pos2, __n2)); - } - - __attribute__((__nonnull__)) constexpr int - compare(const _CharT* __str) const noexcept - { return this->compare(basic_string_view{__str}); } - - __attribute__((__nonnull__)) constexpr int - compare(size_type __pos1, size_type __n1, const _CharT* __str) const - { return this->substr(__pos1, __n1).compare(basic_string_view{__str}); } - - constexpr int - compare(size_type __pos1, size_type __n1, - const _CharT* __str, size_type __n2) const noexcept(false) - { - return this->substr(__pos1, __n1) - .compare(basic_string_view(__str, __n2)); - } -# 400 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/string_view" 3 - constexpr size_type - find(basic_string_view __str, size_type __pos = 0) const noexcept - { return this->find(__str._M_str, __pos, __str._M_len); } - - constexpr size_type - find(_CharT __c, size_type __pos = 0) const noexcept; - - constexpr size_type - find(const _CharT* __str, size_type __pos, size_type __n) const noexcept; - - __attribute__((__nonnull__)) constexpr size_type - find(const _CharT* __str, size_type __pos = 0) const noexcept - { return this->find(__str, __pos, traits_type::length(__str)); } - - constexpr size_type - rfind(basic_string_view __str, size_type __pos = npos) const noexcept - { return this->rfind(__str._M_str, __pos, __str._M_len); } - - constexpr size_type - rfind(_CharT __c, size_type __pos = npos) const noexcept; - - constexpr size_type - rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept; - - __attribute__((__nonnull__)) constexpr size_type - rfind(const _CharT* __str, size_type __pos = npos) const noexcept - { return this->rfind(__str, __pos, traits_type::length(__str)); } - - constexpr size_type - find_first_of(basic_string_view __str, size_type __pos = 0) const noexcept - { return this->find_first_of(__str._M_str, __pos, __str._M_len); } - - constexpr size_type - find_first_of(_CharT __c, size_type __pos = 0) const noexcept - { return this->find(__c, __pos); } - - constexpr size_type - find_first_of(const _CharT* __str, size_type __pos, - size_type __n) const noexcept; - - __attribute__((__nonnull__)) constexpr size_type - find_first_of(const _CharT* __str, size_type __pos = 0) const noexcept - { return this->find_first_of(__str, __pos, traits_type::length(__str)); } - - constexpr size_type - find_last_of(basic_string_view __str, - size_type __pos = npos) const noexcept - { return this->find_last_of(__str._M_str, __pos, __str._M_len); } - - constexpr size_type - find_last_of(_CharT __c, size_type __pos=npos) const noexcept - { return this->rfind(__c, __pos); } - - constexpr size_type - find_last_of(const _CharT* __str, size_type __pos, - size_type __n) const noexcept; - - __attribute__((__nonnull__)) constexpr size_type - find_last_of(const _CharT* __str, size_type __pos = npos) const noexcept - { return this->find_last_of(__str, __pos, traits_type::length(__str)); } - - constexpr size_type - find_first_not_of(basic_string_view __str, - size_type __pos = 0) const noexcept - { return this->find_first_not_of(__str._M_str, __pos, __str._M_len); } - - constexpr size_type - find_first_not_of(_CharT __c, size_type __pos = 0) const noexcept; - - constexpr size_type - find_first_not_of(const _CharT* __str, - size_type __pos, size_type __n) const noexcept; - - __attribute__((__nonnull__)) constexpr size_type - find_first_not_of(const _CharT* __str, size_type __pos = 0) const noexcept - { - return this->find_first_not_of(__str, __pos, - traits_type::length(__str)); - } - - constexpr size_type - find_last_not_of(basic_string_view __str, - size_type __pos = npos) const noexcept - { return this->find_last_not_of(__str._M_str, __pos, __str._M_len); } - - constexpr size_type - find_last_not_of(_CharT __c, size_type __pos = npos) const noexcept; - - constexpr size_type - find_last_not_of(const _CharT* __str, - size_type __pos, size_type __n) const noexcept; - - __attribute__((__nonnull__)) constexpr size_type - find_last_not_of(const _CharT* __str, - size_type __pos = npos) const noexcept - { - return this->find_last_not_of(__str, __pos, - traits_type::length(__str)); - } - - private: - - static constexpr int - _S_compare(size_type __n1, size_type __n2) noexcept - { - using __limits = __gnu_cxx::__int_traits; - const difference_type __diff = __n1 - __n2; - if (__diff > __limits::__max) - return __limits::__max; - if (__diff < __limits::__min) - return __limits::__min; - return static_cast(__diff); - } - - size_t _M_len; - const _CharT* _M_str; - }; -# 536 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/string_view" 3 - template - constexpr bool - operator==(basic_string_view<_CharT, _Traits> __x, - basic_string_view<_CharT, _Traits> __y) noexcept - { return __x.size() == __y.size() && __x.compare(__y) == 0; } - - template - constexpr bool - operator==(basic_string_view<_CharT, _Traits> __x, - __type_identity_t> __y) - noexcept - { return __x.size() == __y.size() && __x.compare(__y) == 0; } -# 565 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/string_view" 3 - template - constexpr bool - operator==(__type_identity_t> __x, - basic_string_view<_CharT, _Traits> __y) noexcept - { return __x.size() == __y.size() && __x.compare(__y) == 0; } - - template - constexpr bool - operator!=(basic_string_view<_CharT, _Traits> __x, - basic_string_view<_CharT, _Traits> __y) noexcept - { return !(__x == __y); } - - template - constexpr bool - operator!=(basic_string_view<_CharT, _Traits> __x, - __type_identity_t> __y) - noexcept - { return !(__x == __y); } - - template - constexpr bool - operator!=(__type_identity_t> __x, - basic_string_view<_CharT, _Traits> __y) noexcept - { return !(__x == __y); } - - template - constexpr bool - operator< (basic_string_view<_CharT, _Traits> __x, - basic_string_view<_CharT, _Traits> __y) noexcept - { return __x.compare(__y) < 0; } - - template - constexpr bool - operator< (basic_string_view<_CharT, _Traits> __x, - __type_identity_t> __y) - noexcept - { return __x.compare(__y) < 0; } - - template - constexpr bool - operator< (__type_identity_t> __x, - basic_string_view<_CharT, _Traits> __y) noexcept - { return __x.compare(__y) < 0; } - - template - constexpr bool - operator> (basic_string_view<_CharT, _Traits> __x, - basic_string_view<_CharT, _Traits> __y) noexcept - { return __x.compare(__y) > 0; } - - template - constexpr bool - operator> (basic_string_view<_CharT, _Traits> __x, - __type_identity_t> __y) - noexcept - { return __x.compare(__y) > 0; } - - template - constexpr bool - operator> (__type_identity_t> __x, - basic_string_view<_CharT, _Traits> __y) noexcept - { return __x.compare(__y) > 0; } - - template - constexpr bool - operator<=(basic_string_view<_CharT, _Traits> __x, - basic_string_view<_CharT, _Traits> __y) noexcept - { return __x.compare(__y) <= 0; } - - template - constexpr bool - operator<=(basic_string_view<_CharT, _Traits> __x, - __type_identity_t> __y) - noexcept - { return __x.compare(__y) <= 0; } - - template - constexpr bool - operator<=(__type_identity_t> __x, - basic_string_view<_CharT, _Traits> __y) noexcept - { return __x.compare(__y) <= 0; } - - template - constexpr bool - operator>=(basic_string_view<_CharT, _Traits> __x, - basic_string_view<_CharT, _Traits> __y) noexcept - { return __x.compare(__y) >= 0; } - - template - constexpr bool - operator>=(basic_string_view<_CharT, _Traits> __x, - __type_identity_t> __y) - noexcept - { return __x.compare(__y) >= 0; } - - template - constexpr bool - operator>=(__type_identity_t> __x, - basic_string_view<_CharT, _Traits> __y) noexcept - { return __x.compare(__y) >= 0; } - - - - template - inline basic_ostream<_CharT, _Traits>& - operator<<(basic_ostream<_CharT, _Traits>& __os, - basic_string_view<_CharT,_Traits> __str) - { return __ostream_insert(__os, __str.data(), __str.size()); } - - - - - using string_view = basic_string_view; - - using wstring_view = basic_string_view; - - - - - using u16string_view = basic_string_view; - using u32string_view = basic_string_view; - - - - template - struct hash; - - template<> - struct hash - : public __hash_base - { - size_t - operator()(const string_view& __str) const noexcept - { return std::_Hash_impl::hash(__str.data(), __str.length()); } - }; - - template<> - struct __is_fast_hash> : std::false_type - { }; - - - template<> - struct hash - : public __hash_base - { - size_t - operator()(const wstring_view& __s) const noexcept - { return std::_Hash_impl::hash(__s.data(), - __s.length() * sizeof(wchar_t)); } - }; - - template<> - struct __is_fast_hash> : std::false_type - { }; -# 736 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/string_view" 3 - template<> - struct hash - : public __hash_base - { - size_t - operator()(const u16string_view& __s) const noexcept - { return std::_Hash_impl::hash(__s.data(), - __s.length() * sizeof(char16_t)); } - }; - - template<> - struct __is_fast_hash> : std::false_type - { }; - - template<> - struct hash - : public __hash_base - { - size_t - operator()(const u32string_view& __s) const noexcept - { return std::_Hash_impl::hash(__s.data(), - __s.length() * sizeof(char32_t)); } - }; - - template<> - struct __is_fast_hash> : std::false_type - { }; - - inline namespace literals - { - inline namespace string_view_literals - { -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wliteral-suffix" - inline constexpr basic_string_view - operator""sv(const char* __str, size_t __len) noexcept - { return basic_string_view{__str, __len}; } - - - inline constexpr basic_string_view - operator""sv(const wchar_t* __str, size_t __len) noexcept - { return basic_string_view{__str, __len}; } -# 786 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/string_view" 3 - inline constexpr basic_string_view - operator""sv(const char16_t* __str, size_t __len) noexcept - { return basic_string_view{__str, __len}; } - - inline constexpr basic_string_view - operator""sv(const char32_t* __str, size_t __len) noexcept - { return basic_string_view{__str, __len}; } - -#pragma GCC diagnostic pop - } - } -# 812 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/string_view" 3 - -} - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/string_view.tcc" 1 3 -# 37 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/string_view.tcc" 3 - -# 38 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/string_view.tcc" 3 - - - -namespace std -{ - - - template - constexpr typename basic_string_view<_CharT, _Traits>::size_type - basic_string_view<_CharT, _Traits>:: - find(const _CharT* __str, size_type __pos, size_type __n) const noexcept - { - ; - - if (__n == 0) - return __pos <= _M_len ? __pos : npos; - if (__pos >= _M_len) - return npos; - - const _CharT __elem0 = __str[0]; - const _CharT* __first = _M_str + __pos; - const _CharT* const __last = _M_str + _M_len; - size_type __len = _M_len - __pos; - - while (__len >= __n) - { - - __first = traits_type::find(__first, __len - __n + 1, __elem0); - if (!__first) - return npos; - - - - if (traits_type::compare(__first, __str, __n) == 0) - return __first - _M_str; - __len = __last - ++__first; - } - return npos; - } - - template - constexpr typename basic_string_view<_CharT, _Traits>::size_type - basic_string_view<_CharT, _Traits>:: - find(_CharT __c, size_type __pos) const noexcept - { - size_type __ret = npos; - if (__pos < this->_M_len) - { - const size_type __n = this->_M_len - __pos; - const _CharT* __p = traits_type::find(this->_M_str + __pos, __n, __c); - if (__p) - __ret = __p - this->_M_str; - } - return __ret; - } - - template - constexpr typename basic_string_view<_CharT, _Traits>::size_type - basic_string_view<_CharT, _Traits>:: - rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept - { - ; - - if (__n <= this->_M_len) - { - __pos = std::min(size_type(this->_M_len - __n), __pos); - do - { - if (traits_type::compare(this->_M_str + __pos, __str, __n) == 0) - return __pos; - } - while (__pos-- > 0); - } - return npos; - } - - template - constexpr typename basic_string_view<_CharT, _Traits>::size_type - basic_string_view<_CharT, _Traits>:: - rfind(_CharT __c, size_type __pos) const noexcept - { - size_type __size = this->_M_len; - if (__size > 0) - { - if (--__size > __pos) - __size = __pos; - for (++__size; __size-- > 0; ) - if (traits_type::eq(this->_M_str[__size], __c)) - return __size; - } - return npos; - } - - template - constexpr typename basic_string_view<_CharT, _Traits>::size_type - basic_string_view<_CharT, _Traits>:: - find_first_of(const _CharT* __str, size_type __pos, - size_type __n) const noexcept - { - ; - for (; __n && __pos < this->_M_len; ++__pos) - { - const _CharT* __p = traits_type::find(__str, __n, - this->_M_str[__pos]); - if (__p) - return __pos; - } - return npos; - } - - template - constexpr typename basic_string_view<_CharT, _Traits>::size_type - basic_string_view<_CharT, _Traits>:: - find_last_of(const _CharT* __str, size_type __pos, - size_type __n) const noexcept - { - ; - size_type __size = this->size(); - if (__size && __n) - { - if (--__size > __pos) - __size = __pos; - do - { - if (traits_type::find(__str, __n, this->_M_str[__size])) - return __size; - } - while (__size-- != 0); - } - return npos; - } - - template - constexpr typename basic_string_view<_CharT, _Traits>::size_type - basic_string_view<_CharT, _Traits>:: - find_first_not_of(const _CharT* __str, size_type __pos, - size_type __n) const noexcept - { - ; - for (; __pos < this->_M_len; ++__pos) - if (!traits_type::find(__str, __n, this->_M_str[__pos])) - return __pos; - return npos; - } - - template - constexpr typename basic_string_view<_CharT, _Traits>::size_type - basic_string_view<_CharT, _Traits>:: - find_first_not_of(_CharT __c, size_type __pos) const noexcept - { - for (; __pos < this->_M_len; ++__pos) - if (!traits_type::eq(this->_M_str[__pos], __c)) - return __pos; - return npos; - } - - template - constexpr typename basic_string_view<_CharT, _Traits>::size_type - basic_string_view<_CharT, _Traits>:: - find_last_not_of(const _CharT* __str, size_type __pos, - size_type __n) const noexcept - { - ; - size_type __size = this->_M_len; - if (__size) - { - if (--__size > __pos) - __size = __pos; - do - { - if (!traits_type::find(__str, __n, this->_M_str[__size])) - return __size; - } - while (__size--); - } - return npos; - } - - template - constexpr typename basic_string_view<_CharT, _Traits>::size_type - basic_string_view<_CharT, _Traits>:: - find_last_not_of(_CharT __c, size_type __pos) const noexcept - { - size_type __size = this->_M_len; - if (__size) - { - if (--__size > __pos) - __size = __pos; - do - { - if (!traits_type::eq(this->_M_str[__size], __c)) - return __size; - } - while (__size--); - } - return npos; - } - - -} -# 816 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/string_view" 2 3 -# 49 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 2 3 - - -namespace std -{ - -# 3173 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - class basic_string - { - typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template - rebind<_CharT>::other _CharT_alloc_type; - typedef __gnu_cxx::__alloc_traits<_CharT_alloc_type> _CharT_alloc_traits; - - - public: - typedef _Traits traits_type; - typedef typename _Traits::char_type value_type; - typedef _Alloc allocator_type; - typedef typename _CharT_alloc_traits::size_type size_type; - typedef typename _CharT_alloc_traits::difference_type difference_type; - - - - - typedef value_type& reference; - typedef const value_type& const_reference; - - typedef typename _CharT_alloc_traits::pointer pointer; - typedef typename _CharT_alloc_traits::const_pointer const_pointer; - typedef __gnu_cxx::__normal_iterator iterator; - typedef __gnu_cxx::__normal_iterator - const_iterator; - typedef std::reverse_iterator const_reverse_iterator; - typedef std::reverse_iterator reverse_iterator; - - protected: - - typedef iterator __const_iterator; - - private: -# 3221 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - struct _Rep_base - { - size_type _M_length; - size_type _M_capacity; - _Atomic_word _M_refcount; - }; - - struct _Rep : _Rep_base - { - - typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template - rebind::other _Raw_bytes_alloc; -# 3247 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - static const size_type _S_max_size; - static const _CharT _S_terminal; - - - - static size_type _S_empty_rep_storage[]; - - static _Rep& - _S_empty_rep() noexcept - { - - - - void* __p = reinterpret_cast(&_S_empty_rep_storage); - return *reinterpret_cast<_Rep*>(__p); - } - - bool - _M_is_leaked() const noexcept - { - - - - - - return __atomic_load_n(&this->_M_refcount, 0) < 0; - - - - } - - bool - _M_is_shared() const noexcept - { - - - - - - - return __atomic_load_n(&this->_M_refcount, 2) > 0; - - - - } - - void - _M_set_leaked() noexcept - { this->_M_refcount = -1; } - - void - _M_set_sharable() noexcept - { this->_M_refcount = 0; } - - void - _M_set_length_and_sharable(size_type __n) noexcept - { - - if (__builtin_expect(this != &_S_empty_rep(), false)) - - { - this->_M_set_sharable(); - this->_M_length = __n; - traits_type::assign(this->_M_refdata()[__n], _S_terminal); - - - } - } - - _CharT* - _M_refdata() throw() - { return reinterpret_cast<_CharT*>(this + 1); } - - _CharT* - _M_grab(const _Alloc& __alloc1, const _Alloc& __alloc2) - { - return (!_M_is_leaked() && __alloc1 == __alloc2) - ? _M_refcopy() : _M_clone(__alloc1); - } - - - static _Rep* - _S_create(size_type, size_type, const _Alloc&); - - void - _M_dispose(const _Alloc& __a) noexcept - { - - if (__builtin_expect(this != &_S_empty_rep(), false)) - - { - - ; -# 3348 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - if (__gnu_cxx::__exchange_and_add_dispatch(&this->_M_refcount, - -1) <= 0) - { - ; - _M_destroy(__a); - } - } - } - - void - _M_destroy(const _Alloc&) throw(); - - _CharT* - _M_refcopy() throw() - { - - if (__builtin_expect(this != &_S_empty_rep(), false)) - - __gnu_cxx::__atomic_add_dispatch(&this->_M_refcount, 1); - return _M_refdata(); - } - - _CharT* - _M_clone(const _Alloc&, size_type __res = 0); - }; - - - struct _Alloc_hider : _Alloc - { - _Alloc_hider(_CharT* __dat, const _Alloc& __a) noexcept - : _Alloc(__a), _M_p(__dat) { } - - _CharT* _M_p; - }; - - public: - - - - - static const size_type npos = static_cast(-1); - - private: - - mutable _Alloc_hider _M_dataplus; - - _CharT* - _M_data() const noexcept - { return _M_dataplus._M_p; } - - _CharT* - _M_data(_CharT* __p) noexcept - { return (_M_dataplus._M_p = __p); } - - _Rep* - _M_rep() const noexcept - { return &((reinterpret_cast<_Rep*> (_M_data()))[-1]); } - - - - iterator - _M_ibegin() const noexcept - { return iterator(_M_data()); } - - iterator - _M_iend() const noexcept - { return iterator(_M_data() + this->size()); } - - void - _M_leak() - { - if (!_M_rep()->_M_is_leaked()) - _M_leak_hard(); - } - - size_type - _M_check(size_type __pos, const char* __s) const - { - if (__pos > this->size()) - __throw_out_of_range_fmt(("%s: __pos (which is %zu) > " "this->size() (which is %zu)") - , - __s, __pos, this->size()); - return __pos; - } - - void - _M_check_length(size_type __n1, size_type __n2, const char* __s) const - { - if (this->max_size() - (this->size() - __n1) < __n2) - __throw_length_error((__s)); - } - - - size_type - _M_limit(size_type __pos, size_type __off) const noexcept - { - const bool __testoff = __off < this->size() - __pos; - return __testoff ? __off : this->size() - __pos; - } - - - bool - _M_disjunct(const _CharT* __s) const noexcept - { - return (less()(__s, _M_data()) - || less()(_M_data() + this->size(), __s)); - } - - - - static void - _M_copy(_CharT* __d, const _CharT* __s, size_type __n) noexcept - { - if (__n == 1) - traits_type::assign(*__d, *__s); - else - traits_type::copy(__d, __s, __n); - } - - static void - _M_move(_CharT* __d, const _CharT* __s, size_type __n) noexcept - { - if (__n == 1) - traits_type::assign(*__d, *__s); - else - traits_type::move(__d, __s, __n); - } - - static void - _M_assign(_CharT* __d, size_type __n, _CharT __c) noexcept - { - if (__n == 1) - traits_type::assign(*__d, __c); - else - traits_type::assign(__d, __n, __c); - } - - - - template - static void - _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2) - { - for (; __k1 != __k2; ++__k1, (void)++__p) - traits_type::assign(*__p, *__k1); - } - - static void - _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2) noexcept - { _S_copy_chars(__p, __k1.base(), __k2.base()); } - - static void - _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2) - noexcept - { _S_copy_chars(__p, __k1.base(), __k2.base()); } - - static void - _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2) noexcept - { _M_copy(__p, __k1, __k2 - __k1); } - - static void - _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2) - noexcept - { _M_copy(__p, __k1, __k2 - __k1); } - - static int - _S_compare(size_type __n1, size_type __n2) noexcept - { - const difference_type __d = difference_type(__n1 - __n2); - - if (__d > __gnu_cxx::__numeric_traits::__max) - return __gnu_cxx::__numeric_traits::__max; - else if (__d < __gnu_cxx::__numeric_traits::__min) - return __gnu_cxx::__numeric_traits::__min; - else - return int(__d); - } - - void - _M_mutate(size_type __pos, size_type __len1, size_type __len2); - - void - _M_leak_hard(); - - static _Rep& - _S_empty_rep() noexcept - { return _Rep::_S_empty_rep(); } - - - - typedef basic_string_view<_CharT, _Traits> __sv_type; - - template - using _If_sv = enable_if_t< - __and_, - __not_>, - __not_>>::value, - _Res>; - - - static __sv_type - _S_to_string_view(__sv_type __svt) noexcept - { return __svt; } - - - - - - struct __sv_wrapper - { - explicit __sv_wrapper(__sv_type __sv) noexcept : _M_sv(__sv) { } - __sv_type _M_sv; - }; - - - - - - - - explicit - basic_string(__sv_wrapper __svw, const _Alloc& __a) - : basic_string(__svw._M_sv.data(), __svw._M_sv.size(), __a) { } - - - public: - - - - - - - - basic_string() - - noexcept - : _M_dataplus(_S_empty_rep()._M_refdata(), _Alloc()) - - - - { } - - - - - explicit - basic_string(const _Alloc& __a) - : _M_dataplus(_S_construct(size_type(), _CharT(), __a), __a) - { } - - - - - - - basic_string(const basic_string& __str) - : _M_dataplus(__str._M_rep()->_M_grab(_Alloc(__str.get_allocator()), - __str.get_allocator()), - __str.get_allocator()) - { } -# 3617 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string(const basic_string& __str, size_type __pos, - const _Alloc& __a = _Alloc()); - - - - - - - - basic_string(const basic_string& __str, size_type __pos, - size_type __n); - - - - - - - - basic_string(const basic_string& __str, size_type __pos, - size_type __n, const _Alloc& __a); -# 3647 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string(const _CharT* __s, size_type __n, - const _Alloc& __a = _Alloc()) - : _M_dataplus(_S_construct(__s, __s + __n, __a), __a) - { } -# 3660 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template> - - basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) - : _M_dataplus(_S_construct(__s, __s ? __s + traits_type::length(__s) : - __s + npos, __a), __a) - { } - - - - - - - - basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) - : _M_dataplus(_S_construct(__n, __c, __a), __a) - { } -# 3685 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string(basic_string&& __str) - - noexcept - - : _M_dataplus(std::move(__str._M_dataplus)) - { - - __str._M_data(_S_empty_rep()._M_refdata()); - - - - } - - - - - - - basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) - : _M_dataplus(_S_construct(__l.begin(), __l.end(), __a), __a) - { } - - basic_string(const basic_string& __str, const _Alloc& __a) - : _M_dataplus(__str._M_rep()->_M_grab(__a, __str.get_allocator()), __a) - { } - - basic_string(basic_string&& __str, const _Alloc& __a) - : _M_dataplus(__str._M_data(), __a) - { - if (__a == __str.get_allocator()) - { - - __str._M_data(_S_empty_rep()._M_refdata()); - - - - } - else - _M_dataplus._M_p = _S_construct(__str.begin(), __str.end(), __a); - } -# 3733 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - basic_string(_InputIterator __beg, _InputIterator __end, - const _Alloc& __a = _Alloc()) - : _M_dataplus(_S_construct(__beg, __end, __a), __a) - { } -# 3747 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template>> - basic_string(const _Tp& __t, size_type __pos, size_type __n, - const _Alloc& __a = _Alloc()) - : basic_string(_S_to_string_view(__t).substr(__pos, __n), __a) { } - - - - - - - template> - explicit - basic_string(const _Tp& __t, const _Alloc& __a = _Alloc()) - : basic_string(__sv_wrapper(_S_to_string_view(__t)), __a) { } - - - - - - ~basic_string() noexcept - { _M_rep()->_M_dispose(this->get_allocator()); } - - - - - - basic_string& - operator=(const basic_string& __str) - { return this->assign(__str); } - - - - - - basic_string& - operator=(const _CharT* __s) - { return this->assign(__s); } -# 3793 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string& - operator=(_CharT __c) - { - this->assign(1, __c); - return *this; - } -# 3808 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string& - operator=(basic_string&& __str) - noexcept(allocator_traits<_Alloc>::is_always_equal::value) - { - - this->swap(__str); - return *this; - } - - - - - - basic_string& - operator=(initializer_list<_CharT> __l) - { - this->assign(__l.begin(), __l.size()); - return *this; - } - - - - - - - - template - _If_sv<_Tp, basic_string&> - operator=(const _Tp& __svt) - { return this->assign(__svt); } - - - - - - operator __sv_type() const noexcept - { return __sv_type(data(), size()); } - - - - - - - - iterator - begin() - { - _M_leak(); - return iterator(_M_data()); - } - - - - - - const_iterator - begin() const noexcept - { return const_iterator(_M_data()); } - - - - - - iterator - end() - { - _M_leak(); - return iterator(_M_data() + this->size()); - } - - - - - - const_iterator - end() const noexcept - { return const_iterator(_M_data() + this->size()); } - - - - - - - reverse_iterator - rbegin() - { return reverse_iterator(this->end()); } - - - - - - - const_reverse_iterator - rbegin() const noexcept - { return const_reverse_iterator(this->end()); } - - - - - - - reverse_iterator - rend() - { return reverse_iterator(this->begin()); } - - - - - - - const_reverse_iterator - rend() const noexcept - { return const_reverse_iterator(this->begin()); } - - - - - - - const_iterator - cbegin() const noexcept - { return const_iterator(this->_M_data()); } - - - - - - const_iterator - cend() const noexcept - { return const_iterator(this->_M_data() + this->size()); } - - - - - - - const_reverse_iterator - crbegin() const noexcept - { return const_reverse_iterator(this->end()); } - - - - - - - const_reverse_iterator - crend() const noexcept - { return const_reverse_iterator(this->begin()); } - - - public: - - - - size_type - size() const noexcept - { return _M_rep()->_M_length; } - - - - size_type - length() const noexcept - { return _M_rep()->_M_length; } - - - size_type - max_size() const noexcept - { return _Rep::_S_max_size; } -# 3987 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - void - resize(size_type __n, _CharT __c); -# 4000 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - void - resize(size_type __n) - { this->resize(__n, _CharT()); } - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - - void - shrink_to_fit() noexcept - { reserve(); } -#pragma GCC diagnostic pop - - - - - - - size_type - capacity() const noexcept - { return _M_rep()->_M_capacity; } -# 4039 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - void - reserve(size_type __res_arg); - - - - - - void - reserve(); - - - - - - void - clear() noexcept - { - if (_M_rep()->_M_is_shared()) - { - _M_rep()->_M_dispose(this->get_allocator()); - _M_data(_S_empty_rep()._M_refdata()); - } - else - _M_rep()->_M_set_length_and_sharable(0); - } -# 4075 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - [[__nodiscard__]] bool - empty() const noexcept - { return this->size() == 0; } -# 4090 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - const_reference - operator[] (size_type __pos) const noexcept - { - do { if (__builtin_is_constant_evaluated() && !bool(__pos <= size())) __builtin_unreachable(); } while (false); - return _M_data()[__pos]; - } -# 4107 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - reference - operator[](size_type __pos) - { - - - do { if (__builtin_is_constant_evaluated() && !bool(__pos <= size())) __builtin_unreachable(); } while (false); - - ; - _M_leak(); - return _M_data()[__pos]; - } -# 4129 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - const_reference - at(size_type __n) const - { - if (__n >= this->size()) - __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)") - - , - __n, this->size()); - return _M_data()[__n]; - } -# 4151 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - reference - at(size_type __n) - { - if (__n >= size()) - __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)") - - , - __n, this->size()); - _M_leak(); - return _M_data()[__n]; - } - - - - - - - reference - front() - { - do { if (__builtin_is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false); - return operator[](0); - } - - - - - - const_reference - front() const noexcept - { - do { if (__builtin_is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false); - return operator[](0); - } - - - - - - reference - back() - { - do { if (__builtin_is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false); - return operator[](this->size() - 1); - } - - - - - - const_reference - back() const noexcept - { - do { if (__builtin_is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false); - return operator[](this->size() - 1); - } -# 4215 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string& - operator+=(const basic_string& __str) - { return this->append(__str); } - - - - - - - basic_string& - operator+=(const _CharT* __s) - { return this->append(__s); } - - - - - - - basic_string& - operator+=(_CharT __c) - { - this->push_back(__c); - return *this; - } - - - - - - - - basic_string& - operator+=(initializer_list<_CharT> __l) - { return this->append(__l.begin(), __l.size()); } -# 4257 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - _If_sv<_Tp, basic_string&> - operator+=(const _Tp& __svt) - { return this->append(__svt); } - - - - - - - - basic_string& - append(const basic_string& __str); -# 4284 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string& - append(const basic_string& __str, size_type __pos, size_type __n = npos); - - - - - - - - basic_string& - append(const _CharT* __s, size_type __n); - - - - - - - basic_string& - append(const _CharT* __s) - { - ; - return this->append(__s, traits_type::length(__s)); - } -# 4316 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string& - append(size_type __n, _CharT __c); - - - - - - - - basic_string& - append(initializer_list<_CharT> __l) - { return this->append(__l.begin(), __l.size()); } -# 4338 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - basic_string& - append(_InputIterator __first, _InputIterator __last) - { return this->replace(_M_iend(), _M_iend(), __first, __last); } - - - - - - - - template - _If_sv<_Tp, basic_string&> - append(const _Tp& __svt) - { - __sv_type __sv = __svt; - return this->append(__sv.data(), __sv.size()); - } -# 4365 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - _If_sv<_Tp, basic_string&> - append(const _Tp& __svt, size_type __pos, size_type __n = npos) - { - __sv_type __sv = __svt; - return append(__sv.data() - + std::__sv_check(__sv.size(), __pos, "basic_string::append"), - std::__sv_limit(__sv.size(), __pos, __n)); - } - - - - - - - void - push_back(_CharT __c) - { - const size_type __len = 1 + this->size(); - if (__len > this->capacity() || _M_rep()->_M_is_shared()) - this->reserve(__len); - traits_type::assign(_M_data()[this->size()], __c); - _M_rep()->_M_set_length_and_sharable(__len); - } - - - - - - - basic_string& - assign(const basic_string& __str); -# 4407 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string& - assign(basic_string&& __str) - noexcept(allocator_traits<_Alloc>::is_always_equal::value) - { - this->swap(__str); - return *this; - } -# 4429 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string& - assign(const basic_string& __str, size_type __pos, size_type __n = npos) - { return this->assign(__str._M_data() - + __str._M_check(__pos, "basic_string::assign"), - __str._M_limit(__pos, __n)); } -# 4445 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string& - assign(const _CharT* __s, size_type __n); -# 4457 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string& - assign(const _CharT* __s) - { - ; - return this->assign(__s, traits_type::length(__s)); - } -# 4473 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string& - assign(size_type __n, _CharT __c) - { return _M_replace_aux(size_type(0), this->size(), __n, __c); } -# 4485 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - basic_string& - assign(_InputIterator __first, _InputIterator __last) - { return this->replace(_M_ibegin(), _M_iend(), __first, __last); } - - - - - - - - basic_string& - assign(initializer_list<_CharT> __l) - { return this->assign(__l.begin(), __l.size()); } -# 4507 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - _If_sv<_Tp, basic_string&> - assign(const _Tp& __svt) - { - __sv_type __sv = __svt; - return this->assign(__sv.data(), __sv.size()); - } -# 4522 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - _If_sv<_Tp, basic_string&> - assign(const _Tp& __svt, size_type __pos, size_type __n = npos) - { - __sv_type __sv = __svt; - return assign(__sv.data() - + std::__sv_check(__sv.size(), __pos, "basic_string::assign"), - std::__sv_limit(__sv.size(), __pos, __n)); - } -# 4546 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - void - insert(iterator __p, size_type __n, _CharT __c) - { this->replace(__p, __p, __n, __c); } -# 4562 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - void - insert(iterator __p, _InputIterator __beg, _InputIterator __end) - { this->replace(__p, __p, __beg, __end); } -# 4574 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - void - insert(iterator __p, initializer_list<_CharT> __l) - { - ; - this->insert(__p - _M_ibegin(), __l.begin(), __l.size()); - } -# 4594 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string& - insert(size_type __pos1, const basic_string& __str) - { return this->insert(__pos1, __str, size_type(0), __str.size()); } -# 4616 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string& - insert(size_type __pos1, const basic_string& __str, - size_type __pos2, size_type __n = npos) - { return this->insert(__pos1, __str._M_data() - + __str._M_check(__pos2, "basic_string::insert"), - __str._M_limit(__pos2, __n)); } -# 4639 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string& - insert(size_type __pos, const _CharT* __s, size_type __n); -# 4657 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string& - insert(size_type __pos, const _CharT* __s) - { - ; - return this->insert(__pos, __s, traits_type::length(__s)); - } -# 4680 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string& - insert(size_type __pos, size_type __n, _CharT __c) - { return _M_replace_aux(_M_check(__pos, "basic_string::insert"), - size_type(0), __n, __c); } -# 4698 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - iterator - insert(iterator __p, _CharT __c) - { - ; - const size_type __pos = __p - _M_ibegin(); - _M_replace_aux(__pos, size_type(0), size_type(1), __c); - _M_rep()->_M_set_leaked(); - return iterator(_M_data() + __pos); - } -# 4715 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - _If_sv<_Tp, basic_string&> - insert(size_type __pos, const _Tp& __svt) - { - __sv_type __sv = __svt; - return this->insert(__pos, __sv.data(), __sv.size()); - } -# 4731 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - _If_sv<_Tp, basic_string&> - insert(size_type __pos1, const _Tp& __svt, - size_type __pos2, size_type __n = npos) - { - __sv_type __sv = __svt; - return this->replace(__pos1, size_type(0), __sv.data() - + std::__sv_check(__sv.size(), __pos2, "basic_string::insert"), - std::__sv_limit(__sv.size(), __pos2, __n)); - } -# 4758 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string& - erase(size_type __pos = 0, size_type __n = npos) - { - _M_mutate(_M_check(__pos, "basic_string::erase"), - _M_limit(__pos, __n), size_type(0)); - return *this; - } -# 4774 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - iterator - erase(iterator __position) - { - - ; - const size_type __pos = __position - _M_ibegin(); - _M_mutate(__pos, size_type(1), size_type(0)); - _M_rep()->_M_set_leaked(); - return iterator(_M_data() + __pos); - } -# 4794 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - iterator - erase(iterator __first, iterator __last); - - - - - - - - void - pop_back() - { - do { if (__builtin_is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false); - erase(size() - 1, 1); - } -# 4828 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string& - replace(size_type __pos, size_type __n, const basic_string& __str) - { return this->replace(__pos, __n, __str._M_data(), __str.size()); } -# 4850 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string& - replace(size_type __pos1, size_type __n1, const basic_string& __str, - size_type __pos2, size_type __n2 = npos) - { return this->replace(__pos1, __n1, __str._M_data() - + __str._M_check(__pos2, "basic_string::replace"), - __str._M_limit(__pos2, __n2)); } -# 4875 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string& - replace(size_type __pos, size_type __n1, const _CharT* __s, - size_type __n2); -# 4895 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string& - replace(size_type __pos, size_type __n1, const _CharT* __s) - { - ; - return this->replace(__pos, __n1, __s, traits_type::length(__s)); - } -# 4919 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string& - replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c) - { return _M_replace_aux(_M_check(__pos, "basic_string::replace"), - _M_limit(__pos, __n1), __n2, __c); } -# 4937 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string& - replace(iterator __i1, iterator __i2, const basic_string& __str) - { return this->replace(__i1, __i2, __str._M_data(), __str.size()); } -# 4956 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string& - replace(iterator __i1, iterator __i2, const _CharT* __s, size_type __n) - { - - ; - return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __s, __n); - } -# 4977 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string& - replace(iterator __i1, iterator __i2, const _CharT* __s) - { - ; - return this->replace(__i1, __i2, __s, traits_type::length(__s)); - } -# 4998 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string& - replace(iterator __i1, iterator __i2, size_type __n, _CharT __c) - { - - ; - return _M_replace_aux(__i1 - _M_ibegin(), __i2 - __i1, __n, __c); - } -# 5021 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - basic_string& - replace(iterator __i1, iterator __i2, - _InputIterator __k1, _InputIterator __k2) - { - - ; - ; - typedef typename std::__is_integer<_InputIterator>::__type _Integral; - return _M_replace_dispatch(__i1, __i2, __k1, __k2, _Integral()); - } - - - - basic_string& - replace(iterator __i1, iterator __i2, _CharT* __k1, _CharT* __k2) - { - - ; - ; - return this->replace(__i1 - _M_ibegin(), __i2 - __i1, - __k1, __k2 - __k1); - } - - basic_string& - replace(iterator __i1, iterator __i2, - const _CharT* __k1, const _CharT* __k2) - { - - ; - ; - return this->replace(__i1 - _M_ibegin(), __i2 - __i1, - __k1, __k2 - __k1); - } - - basic_string& - replace(iterator __i1, iterator __i2, iterator __k1, iterator __k2) - { - - ; - ; - return this->replace(__i1 - _M_ibegin(), __i2 - __i1, - __k1.base(), __k2 - __k1); - } - - basic_string& - replace(iterator __i1, iterator __i2, - const_iterator __k1, const_iterator __k2) - { - - ; - ; - return this->replace(__i1 - _M_ibegin(), __i2 - __i1, - __k1.base(), __k2 - __k1); - } -# 5092 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string& replace(iterator __i1, iterator __i2, - initializer_list<_CharT> __l) - { return this->replace(__i1, __i2, __l.begin(), __l.end()); } -# 5105 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - _If_sv<_Tp, basic_string&> - replace(size_type __pos, size_type __n, const _Tp& __svt) - { - __sv_type __sv = __svt; - return this->replace(__pos, __n, __sv.data(), __sv.size()); - } -# 5122 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - _If_sv<_Tp, basic_string&> - replace(size_type __pos1, size_type __n1, const _Tp& __svt, - size_type __pos2, size_type __n2 = npos) - { - __sv_type __sv = __svt; - return this->replace(__pos1, __n1, - __sv.data() - + std::__sv_check(__sv.size(), __pos2, "basic_string::replace"), - std::__sv_limit(__sv.size(), __pos2, __n2)); - } -# 5143 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - _If_sv<_Tp, basic_string&> - replace(const_iterator __i1, const_iterator __i2, const _Tp& __svt) - { - __sv_type __sv = __svt; - return this->replace(__i1 - begin(), __i2 - __i1, __sv); - } - - - private: - template - basic_string& - _M_replace_dispatch(iterator __i1, iterator __i2, _Integer __n, - _Integer __val, __true_type) - { return _M_replace_aux(__i1 - _M_ibegin(), __i2 - __i1, __n, __val); } - - template - basic_string& - _M_replace_dispatch(iterator __i1, iterator __i2, _InputIterator __k1, - _InputIterator __k2, __false_type); - - basic_string& - _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2, - _CharT __c); - - basic_string& - _M_replace_safe(size_type __pos1, size_type __n1, const _CharT* __s, - size_type __n2); - - - - template - static _CharT* - _S_construct_aux(_InIterator __beg, _InIterator __end, - const _Alloc& __a, __false_type) - { - typedef typename iterator_traits<_InIterator>::iterator_category _Tag; - return _S_construct(__beg, __end, __a, _Tag()); - } - - - - template - static _CharT* - _S_construct_aux(_Integer __beg, _Integer __end, - const _Alloc& __a, __true_type) - { return _S_construct_aux_2(static_cast(__beg), - __end, __a); } - - static _CharT* - _S_construct_aux_2(size_type __req, _CharT __c, const _Alloc& __a) - { return _S_construct(__req, __c, __a); } - - template - static _CharT* - _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a) - { - typedef typename std::__is_integer<_InIterator>::__type _Integral; - return _S_construct_aux(__beg, __end, __a, _Integral()); - } - - - template - static _CharT* - _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a, - input_iterator_tag); - - - - template - static _CharT* - _S_construct(_FwdIterator __beg, _FwdIterator __end, const _Alloc& __a, - forward_iterator_tag); - - static _CharT* - _S_construct(size_type __req, _CharT __c, const _Alloc& __a); - - public: -# 5234 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - size_type - copy(_CharT* __s, size_type __n, size_type __pos = 0) const; -# 5244 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - void - swap(basic_string& __s) - noexcept(allocator_traits<_Alloc>::is_always_equal::value); -# 5255 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - const _CharT* - c_str() const noexcept - { return _M_data(); } -# 5267 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - const _CharT* - data() const noexcept - { return _M_data(); } -# 5278 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - _CharT* - data() noexcept - { - _M_leak(); - return _M_data(); - } - - - - - - allocator_type - get_allocator() const noexcept - { return _M_dataplus; } -# 5305 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - size_type - find(const _CharT* __s, size_type __pos, size_type __n) const - noexcept; -# 5319 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - size_type - find(const basic_string& __str, size_type __pos = 0) const - noexcept - { return this->find(__str.data(), __pos, __str.size()); } -# 5334 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - size_type - find(const _CharT* __s, size_type __pos = 0) const noexcept - { - ; - return this->find(__s, __pos, traits_type::length(__s)); - } -# 5351 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - size_type - find(_CharT __c, size_type __pos = 0) const noexcept; -# 5361 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - _If_sv<_Tp, size_type> - find(const _Tp& __svt, size_type __pos = 0) const - noexcept(is_same<_Tp, __sv_type>::value) - { - __sv_type __sv = __svt; - return this->find(__sv.data(), __pos, __sv.size()); - } -# 5381 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - size_type - rfind(const basic_string& __str, size_type __pos = npos) const - noexcept - { return this->rfind(__str.data(), __pos, __str.size()); } -# 5398 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - size_type - rfind(const _CharT* __s, size_type __pos, size_type __n) const - noexcept; -# 5412 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - size_type - rfind(const _CharT* __s, size_type __pos = npos) const noexcept - { - ; - return this->rfind(__s, __pos, traits_type::length(__s)); - } -# 5429 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - size_type - rfind(_CharT __c, size_type __pos = npos) const noexcept; -# 5439 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - _If_sv<_Tp, size_type> - rfind(const _Tp& __svt, size_type __pos = npos) const - noexcept(is_same<_Tp, __sv_type>::value) - { - __sv_type __sv = __svt; - return this->rfind(__sv.data(), __pos, __sv.size()); - } -# 5460 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - size_type - find_first_of(const basic_string& __str, size_type __pos = 0) const - noexcept - { return this->find_first_of(__str.data(), __pos, __str.size()); } -# 5477 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - size_type - find_first_of(const _CharT* __s, size_type __pos, size_type __n) const - noexcept; -# 5491 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - size_type - find_first_of(const _CharT* __s, size_type __pos = 0) const - noexcept - { - ; - return this->find_first_of(__s, __pos, traits_type::length(__s)); - } -# 5511 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - size_type - find_first_of(_CharT __c, size_type __pos = 0) const noexcept - { return this->find(__c, __pos); } -# 5523 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - _If_sv<_Tp, size_type> - find_first_of(const _Tp& __svt, size_type __pos = 0) const - noexcept(is_same<_Tp, __sv_type>::value) - { - __sv_type __sv = __svt; - return this->find_first_of(__sv.data(), __pos, __sv.size()); - } -# 5544 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - size_type - find_last_of(const basic_string& __str, size_type __pos = npos) const - noexcept - { return this->find_last_of(__str.data(), __pos, __str.size()); } -# 5561 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - size_type - find_last_of(const _CharT* __s, size_type __pos, size_type __n) const - noexcept; -# 5575 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - size_type - find_last_of(const _CharT* __s, size_type __pos = npos) const - noexcept - { - ; - return this->find_last_of(__s, __pos, traits_type::length(__s)); - } -# 5595 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - size_type - find_last_of(_CharT __c, size_type __pos = npos) const noexcept - { return this->rfind(__c, __pos); } -# 5607 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - _If_sv<_Tp, size_type> - find_last_of(const _Tp& __svt, size_type __pos = npos) const - noexcept(is_same<_Tp, __sv_type>::value) - { - __sv_type __sv = __svt; - return this->find_last_of(__sv.data(), __pos, __sv.size()); - } -# 5627 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - size_type - find_first_not_of(const basic_string& __str, size_type __pos = 0) const - noexcept - { return this->find_first_not_of(__str.data(), __pos, __str.size()); } -# 5644 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - size_type - find_first_not_of(const _CharT* __s, size_type __pos, - size_type __n) const noexcept; -# 5658 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - size_type - find_first_not_of(const _CharT* __s, size_type __pos = 0) const - noexcept - { - ; - return this->find_first_not_of(__s, __pos, traits_type::length(__s)); - } -# 5676 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - size_type - find_first_not_of(_CharT __c, size_type __pos = 0) const - noexcept; -# 5688 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - _If_sv<_Tp, size_type> - find_first_not_of(const _Tp& __svt, size_type __pos = 0) const - noexcept(is_same<_Tp, __sv_type>::value) - { - __sv_type __sv = __svt; - return this->find_first_not_of(__sv.data(), __pos, __sv.size()); - } -# 5709 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - size_type - find_last_not_of(const basic_string& __str, size_type __pos = npos) const - noexcept - { return this->find_last_not_of(__str.data(), __pos, __str.size()); } -# 5726 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - size_type - find_last_not_of(const _CharT* __s, size_type __pos, - size_type __n) const noexcept; -# 5740 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - size_type - find_last_not_of(const _CharT* __s, size_type __pos = npos) const - noexcept - { - ; - return this->find_last_not_of(__s, __pos, traits_type::length(__s)); - } -# 5758 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - size_type - find_last_not_of(_CharT __c, size_type __pos = npos) const - noexcept; -# 5770 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - _If_sv<_Tp, size_type> - find_last_not_of(const _Tp& __svt, size_type __pos = npos) const - noexcept(is_same<_Tp, __sv_type>::value) - { - __sv_type __sv = __svt; - return this->find_last_not_of(__sv.data(), __pos, __sv.size()); - } -# 5792 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - basic_string - substr(size_type __pos = 0, size_type __n = npos) const - { return basic_string(*this, - _M_check(__pos, "basic_string::substr"), __n); } -# 5811 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - int - compare(const basic_string& __str) const - { - const size_type __size = this->size(); - const size_type __osize = __str.size(); - const size_type __len = std::min(__size, __osize); - - int __r = traits_type::compare(_M_data(), __str.data(), __len); - if (!__r) - __r = _S_compare(__size, __osize); - return __r; - } - - - - - - - - template - _If_sv<_Tp, int> - compare(const _Tp& __svt) const - noexcept(is_same<_Tp, __sv_type>::value) - { - __sv_type __sv = __svt; - const size_type __size = this->size(); - const size_type __osize = __sv.size(); - const size_type __len = std::min(__size, __osize); - - int __r = traits_type::compare(_M_data(), __sv.data(), __len); - if (!__r) - __r = _S_compare(__size, __osize); - return __r; - } -# 5854 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - _If_sv<_Tp, int> - compare(size_type __pos, size_type __n, const _Tp& __svt) const - noexcept(is_same<_Tp, __sv_type>::value) - { - __sv_type __sv = __svt; - return __sv_type(*this).substr(__pos, __n).compare(__sv); - } -# 5873 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - _If_sv<_Tp, int> - compare(size_type __pos1, size_type __n1, const _Tp& __svt, - size_type __pos2, size_type __n2 = npos) const - noexcept(is_same<_Tp, __sv_type>::value) - { - __sv_type __sv = __svt; - return __sv_type(*this) - .substr(__pos1, __n1).compare(__sv.substr(__pos2, __n2)); - } -# 5904 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - int - compare(size_type __pos, size_type __n, const basic_string& __str) const; -# 5930 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - int - compare(size_type __pos1, size_type __n1, const basic_string& __str, - size_type __pos2, size_type __n2 = npos) const; -# 5948 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - int - compare(const _CharT* __s) const noexcept; -# 5972 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - int - compare(size_type __pos, size_type __n1, const _CharT* __s) const; -# 5999 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - int - compare(size_type __pos, size_type __n1, const _CharT* __s, - size_type __n2) const; -# 6054 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - }; - - - - - template::value_type, - typename _Allocator = allocator<_CharT>, - typename = _RequireInputIter<_InputIterator>, - typename = _RequireAllocator<_Allocator>> - basic_string(_InputIterator, _InputIterator, _Allocator = _Allocator()) - -> basic_string<_CharT, char_traits<_CharT>, _Allocator>; - - - - template, - typename = _RequireAllocator<_Allocator>> - basic_string(basic_string_view<_CharT, _Traits>, const _Allocator& = _Allocator()) - -> basic_string<_CharT, _Traits, _Allocator>; - - template, - typename = _RequireAllocator<_Allocator>> - basic_string(basic_string_view<_CharT, _Traits>, - typename basic_string<_CharT, _Traits, _Allocator>::size_type, - typename basic_string<_CharT, _Traits, _Allocator>::size_type, - const _Allocator& = _Allocator()) - -> basic_string<_CharT, _Traits, _Allocator>; - -# 6093 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - basic_string<_CharT, _Traits, _Alloc> - operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) - { - basic_string<_CharT, _Traits, _Alloc> __str(__lhs); - __str.append(__rhs); - return __str; - } - - - - - - - - template - basic_string<_CharT,_Traits,_Alloc> - operator+(const _CharT* __lhs, - const basic_string<_CharT,_Traits,_Alloc>& __rhs); - - - - - - - - template - basic_string<_CharT,_Traits,_Alloc> - operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs); - - - - - - - - template - inline basic_string<_CharT, _Traits, _Alloc> - operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const _CharT* __rhs) - { - basic_string<_CharT, _Traits, _Alloc> __str(__lhs); - __str.append(__rhs); - return __str; - } - - - - - - - - template - inline basic_string<_CharT, _Traits, _Alloc> - operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs) - { - typedef basic_string<_CharT, _Traits, _Alloc> __string_type; - typedef typename __string_type::size_type __size_type; - __string_type __str(__lhs); - __str.append(__size_type(1), __rhs); - return __str; - } - - - template - inline basic_string<_CharT, _Traits, _Alloc> - operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) - { return std::move(__lhs.append(__rhs)); } - - template - inline basic_string<_CharT, _Traits, _Alloc> - operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - basic_string<_CharT, _Traits, _Alloc>&& __rhs) - { return std::move(__rhs.insert(0, __lhs)); } - - template - inline basic_string<_CharT, _Traits, _Alloc> - operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, - basic_string<_CharT, _Traits, _Alloc>&& __rhs) - { -# 6184 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - { - const auto __size = __lhs.size() + __rhs.size(); - if (__size > __lhs.capacity() && __size <= __rhs.capacity()) - return std::move(__rhs.insert(0, __lhs)); - } - return std::move(__lhs.append(__rhs)); - } - - template - inline basic_string<_CharT, _Traits, _Alloc> - operator+(const _CharT* __lhs, - basic_string<_CharT, _Traits, _Alloc>&& __rhs) - { return std::move(__rhs.insert(0, __lhs)); } - - template - inline basic_string<_CharT, _Traits, _Alloc> - operator+(_CharT __lhs, - basic_string<_CharT, _Traits, _Alloc>&& __rhs) - { return std::move(__rhs.insert(0, 1, __lhs)); } - - template - inline basic_string<_CharT, _Traits, _Alloc> - operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, - const _CharT* __rhs) - { return std::move(__lhs.append(__rhs)); } - - template - inline basic_string<_CharT, _Traits, _Alloc> - operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, - _CharT __rhs) - { return std::move(__lhs.append(1, __rhs)); } -# 6224 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - inline bool - operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) - noexcept - { return __lhs.compare(__rhs) == 0; } - - template - inline - typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, bool>::__type - operator==(const basic_string<_CharT>& __lhs, - const basic_string<_CharT>& __rhs) noexcept - { return (__lhs.size() == __rhs.size() - && !std::char_traits<_CharT>::compare(__lhs.data(), __rhs.data(), - __lhs.size())); } - - - - - - - - template - inline bool - operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const _CharT* __rhs) - { return __lhs.compare(__rhs) == 0; } -# 6287 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - inline bool - operator==(const _CharT* __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) - { return __rhs.compare(__lhs) == 0; } -# 6300 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - inline bool - operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) - noexcept - { return !(__lhs == __rhs); } - - - - - - - - template - inline bool - operator!=(const _CharT* __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) - { return !(__lhs == __rhs); } - - - - - - - - template - inline bool - operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const _CharT* __rhs) - { return !(__lhs == __rhs); } -# 6338 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - inline bool - operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) - noexcept - { return __lhs.compare(__rhs) < 0; } - - - - - - - - template - inline bool - operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const _CharT* __rhs) - { return __lhs.compare(__rhs) < 0; } - - - - - - - - template - inline bool - operator<(const _CharT* __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) - { return __rhs.compare(__lhs) > 0; } -# 6376 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - inline bool - operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) - noexcept - { return __lhs.compare(__rhs) > 0; } - - - - - - - - template - inline bool - operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const _CharT* __rhs) - { return __lhs.compare(__rhs) > 0; } - - - - - - - - template - inline bool - operator>(const _CharT* __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) - { return __rhs.compare(__lhs) < 0; } -# 6414 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - inline bool - operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) - noexcept - { return __lhs.compare(__rhs) <= 0; } - - - - - - - - template - inline bool - operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const _CharT* __rhs) - { return __lhs.compare(__rhs) <= 0; } - - - - - - - - template - inline bool - operator<=(const _CharT* __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) - { return __rhs.compare(__lhs) >= 0; } -# 6452 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - inline bool - operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) - noexcept - { return __lhs.compare(__rhs) >= 0; } - - - - - - - - template - inline bool - operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const _CharT* __rhs) - { return __lhs.compare(__rhs) >= 0; } - - - - - - - - template - inline bool - operator>=(const _CharT* __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) - { return __rhs.compare(__lhs) <= 0; } -# 6491 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - inline void - swap(basic_string<_CharT, _Traits, _Alloc>& __lhs, - basic_string<_CharT, _Traits, _Alloc>& __rhs) - noexcept(noexcept(__lhs.swap(__rhs))) - { __lhs.swap(__rhs); } -# 6511 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - basic_istream<_CharT, _Traits>& - operator>>(basic_istream<_CharT, _Traits>& __is, - basic_string<_CharT, _Traits, _Alloc>& __str); - - template<> - basic_istream& - operator>>(basic_istream& __is, basic_string& __str); -# 6529 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - inline basic_ostream<_CharT, _Traits>& - operator<<(basic_ostream<_CharT, _Traits>& __os, - const basic_string<_CharT, _Traits, _Alloc>& __str) - { - - - return __ostream_insert(__os, __str.data(), __str.size()); - } -# 6552 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - basic_istream<_CharT, _Traits>& - getline(basic_istream<_CharT, _Traits>& __is, - basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim); -# 6569 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template - inline basic_istream<_CharT, _Traits>& - getline(basic_istream<_CharT, _Traits>& __is, - basic_string<_CharT, _Traits, _Alloc>& __str) - { return std::getline(__is, __str, __is.widen('\n')); } - - - - template - inline basic_istream<_CharT, _Traits>& - getline(basic_istream<_CharT, _Traits>&& __is, - basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim) - { return std::getline(__is, __str, __delim); } - - - template - inline basic_istream<_CharT, _Traits>& - getline(basic_istream<_CharT, _Traits>&& __is, - basic_string<_CharT, _Traits, _Alloc>& __str) - { return std::getline(__is, __str); } - - - template<> - basic_istream& - getline(basic_istream& __in, basic_string& __str, - char __delim); - - - template<> - basic_istream& - getline(basic_istream& __in, basic_string& __str, - wchar_t __delim); - - - -} - - - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h" 1 3 -# 32 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h" 3 - -# 33 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h" 3 -# 41 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h" 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cstdlib" 1 3 -# 39 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cstdlib" 3 - -# 40 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cstdlib" 3 -# 75 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cstdlib" 3 -# 1 "/usr/include/stdlib.h" 1 3 4 -# 10 "/usr/include/stdlib.h" 3 4 -# 1 "/usr/include/machine/ieeefp.h" 1 3 4 -# 11 "/usr/include/stdlib.h" 2 3 4 - - - - - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/stddef.h" 1 3 4 -# 17 "/usr/include/stdlib.h" 2 3 4 - - - -# 1 "/usr/include/machine/stdlib.h" 1 3 4 -# 12 "/usr/include/machine/stdlib.h" 3 4 -extern "C" { - - -char *mkdtemp (char *); - - -} -# 21 "/usr/include/stdlib.h" 2 3 4 - -# 1 "/usr/include/alloca.h" 1 3 4 -# 23 "/usr/include/stdlib.h" 2 3 4 - - - -# 1 "/usr/include/cygwin/stdlib.h" 1 3 4 -# 13 "/usr/include/cygwin/stdlib.h" 3 4 -# 1 "/usr/include/cygwin/wait.h" 1 3 4 -# 14 "/usr/include/cygwin/stdlib.h" 2 3 4 - - -extern "C" -{ - - -const char *getprogname (void); -void setprogname (const char *); - - - - - -int unsetenv (const char *); - - -int clearenv (void); -# 51 "/usr/include/cygwin/stdlib.h" 3 4 -extern void *memalign (size_t, size_t); - -extern void *valloc (size_t); -# 84 "/usr/include/cygwin/stdlib.h" 3 4 -int getloadavg(double loadavg[], int nelem); - - - -} -# 27 "/usr/include/stdlib.h" 2 3 4 - - - - - - -extern "C" { - -typedef struct -{ - int quot; - int rem; -} div_t; - -typedef struct -{ - long quot; - long rem; -} ldiv_t; - - -typedef struct -{ - long long int quot; - long long int rem; -} lldiv_t; - - - - -typedef int (*__compar_fn_t) (const void *, const void *); - - - - - - - -int __locale_mb_cur_max (void); - - - -void abort (void) __attribute__ ((__noreturn__)); -int abs (int); - -__uint32_t arc4random (void); -__uint32_t arc4random_uniform (__uint32_t); -void arc4random_buf (void *, size_t); - -int atexit (void (*__func)(void)); -double atof (const char *__nptr); - -float atoff (const char *__nptr); - -int atoi (const char *__nptr); -int _atoi_r (struct _reent *, const char *__nptr); -long atol (const char *__nptr); -long _atol_r (struct _reent *, const char *__nptr); -void * bsearch (const void *__key, - const void *__base, - size_t __nmemb, - size_t __size, - __compar_fn_t _compar); -void *calloc(size_t, size_t) __attribute__((__malloc__)) __attribute__((__warn_unused_result__)) - __attribute__((__alloc_size__(1, 2))) __attribute__ ((__nothrow__)); -div_t div (int __numer, int __denom); -void exit (int __status) __attribute__ ((__noreturn__)); -void free (void *) __attribute__ ((__nothrow__)); -char * getenv (const char *__string); -char * _getenv_r (struct _reent *, const char *__string); - - - -char * _findenv (const char *, int *); -char * _findenv_r (struct _reent *, const char *, int *); - -extern char *suboptarg; -int getsubopt (char **, char * const *, char **); - -long labs (long); -ldiv_t ldiv (long __numer, long __denom); -void *malloc(size_t) __attribute__((__malloc__)) __attribute__((__warn_unused_result__)) __attribute__((__alloc_size__(1))) __attribute__ ((__nothrow__)); -int mblen (const char *, size_t); -int _mblen_r (struct _reent *, const char *, size_t, _mbstate_t *); -int mbtowc (wchar_t *__restrict, const char *__restrict, size_t); -int _mbtowc_r (struct _reent *, wchar_t *__restrict, const char *__restrict, size_t, _mbstate_t *); -int wctomb (char *, wchar_t); -int _wctomb_r (struct _reent *, char *, wchar_t, _mbstate_t *); -size_t mbstowcs (wchar_t *__restrict, const char *__restrict, size_t); -size_t _mbstowcs_r (struct _reent *, wchar_t *__restrict, const char *__restrict, size_t, _mbstate_t *); -size_t wcstombs (char *__restrict, const wchar_t *__restrict, size_t); -size_t _wcstombs_r (struct _reent *, char *__restrict, const wchar_t *__restrict, size_t, _mbstate_t *); - - -char * mkdtemp (char *); - - - - - - -int mkstemp (char *); - - -int mkstemps (char *, int); - - -char * mktemp (char *) __attribute__ ((__deprecated__("the use of `mktemp' is dangerous; use `mkstemp' instead"))); - - -char * _mkdtemp_r (struct _reent *, char *); -int _mkostemp_r (struct _reent *, char *, int); -int _mkostemps_r (struct _reent *, char *, int, int); -int _mkstemp_r (struct _reent *, char *); -int _mkstemps_r (struct _reent *, char *, int); -char * _mktemp_r (struct _reent *, char *) __attribute__ ((__deprecated__("the use of `mktemp' is dangerous; use `mkstemp' instead"))); -void qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t _compar); -int rand (void); -void *realloc(void *, size_t) __attribute__((__warn_unused_result__)) __attribute__((__alloc_size__(2))) __attribute__ ((__nothrow__)); - -void *reallocarray(void *, size_t, size_t) __attribute__((__warn_unused_result__)) __attribute__((__alloc_size__(2, 3))); -void *reallocf(void *, size_t) __attribute__((__warn_unused_result__)) __attribute__((__alloc_size__(2))); - - -char * realpath (const char *__restrict path, char *__restrict resolved_path); - - -int rpmatch (const char *response); - - - - -void srand (unsigned __seed); -double strtod (const char *__restrict __n, char **__restrict __end_PTR); -double _strtod_r (struct _reent *,const char *__restrict __n, char **__restrict __end_PTR); - -float strtof (const char *__restrict __n, char **__restrict __end_PTR); - - - - - - - -long strtol (const char *__restrict __n, char **__restrict __end_PTR, int __base); -long _strtol_r (struct _reent *,const char *__restrict __n, char **__restrict __end_PTR, int __base); -unsigned long strtoul (const char *__restrict __n, char **__restrict __end_PTR, int __base); -unsigned long _strtoul_r (struct _reent *,const char *__restrict __n, char **__restrict __end_PTR, int __base); -# 191 "/usr/include/stdlib.h" 3 4 -int system (const char *__string); - - -long a64l (const char *__input); -char * l64a (long __input); -char * _l64a_r (struct _reent *,long __input); - - -int on_exit (void (*__func)(int, void *),void *__arg); - - -void _Exit (int __status) __attribute__ ((__noreturn__)); - - -int putenv (char *__string); - -int _putenv_r (struct _reent *, char *__string); -void * _reallocf_r (struct _reent *, void *, size_t); - -int setenv (const char *__string, const char *__value, int __overwrite); - -int _setenv_r (struct _reent *, const char *__string, const char *__value, int __overwrite); -# 233 "/usr/include/stdlib.h" 3 4 -int rand_r (unsigned *__seed); - - - -double drand48 (void); -double _drand48_r (struct _reent *); -double erand48 (unsigned short [3]); -double _erand48_r (struct _reent *, unsigned short [3]); -long jrand48 (unsigned short [3]); -long _jrand48_r (struct _reent *, unsigned short [3]); -void lcong48 (unsigned short [7]); -void _lcong48_r (struct _reent *, unsigned short [7]); -long lrand48 (void); -long _lrand48_r (struct _reent *); -long mrand48 (void); -long _mrand48_r (struct _reent *); -long nrand48 (unsigned short [3]); -long _nrand48_r (struct _reent *, unsigned short [3]); -unsigned short * - seed48 (unsigned short [3]); -unsigned short * - _seed48_r (struct _reent *, unsigned short [3]); -void srand48 (long); -void _srand48_r (struct _reent *, long); - - -char * initstate (unsigned, char *, size_t); -long random (void); -char * setstate (char *); -void srandom (unsigned); - - -long long atoll (const char *__nptr); - -long long _atoll_r (struct _reent *, const char *__nptr); - -long long llabs (long long); -lldiv_t lldiv (long long __numer, long long __denom); -long long strtoll (const char *__restrict __n, char **__restrict __end_PTR, int __base); - -long long _strtoll_r (struct _reent *, const char *__restrict __n, char **__restrict __end_PTR, int __base); - -unsigned long long strtoull (const char *__restrict __n, char **__restrict __end_PTR, int __base); - -unsigned long long _strtoull_r (struct _reent *, const char *__restrict __n, char **__restrict __end_PTR, int __base); -# 290 "/usr/include/stdlib.h" 3 4 -int posix_memalign (void **, size_t, size_t) __attribute__((__nonnull__ (1))) - __attribute__((__warn_unused_result__)); - - -char * _dtoa_r (struct _reent *, double, int, int, int *, int*, char**); - - - - - - - -int _system_r (struct _reent *, const char *); - -void __eprintf (const char *, const char *, unsigned int, const char *); -# 314 "/usr/include/stdlib.h" 3 4 -void qsort_r (void *__base, size_t __nmemb, size_t __size, void *__thunk, int (*_compar)(void *, const void *, const void *)) - __asm__ ("" "__bsd_qsort_r"); -# 324 "/usr/include/stdlib.h" 3 4 -extern long double _strtold_r (struct _reent *, const char *__restrict, char **__restrict); - -extern long double strtold (const char *__restrict, char **__restrict); - - - - - - - -void * aligned_alloc(size_t, size_t) __attribute__((__malloc__)) __attribute__((__alloc_align__(1))) - __attribute__((__alloc_size__(2))) __attribute__((__warn_unused_result__)); -int at_quick_exit(void (*)(void)); -[[noreturn]] void - quick_exit(int); - - -} -# 76 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cstdlib" 2 3 - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/std_abs.h" 1 3 -# 33 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/std_abs.h" 3 - -# 34 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/std_abs.h" 3 -# 46 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/std_abs.h" 3 -extern "C++" -{ -namespace std -{ - - - using ::abs; - - - inline long - abs(long __i) { return __builtin_labs(__i); } - - - - inline long long - abs(long long __x) { return __builtin_llabs (__x); } -# 70 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/std_abs.h" 3 - inline constexpr double - abs(double __x) - { return __builtin_fabs(__x); } - - inline constexpr float - abs(float __x) - { return __builtin_fabsf(__x); } - - inline constexpr long double - abs(long double __x) - { return __builtin_fabsl(__x); } - - - - inline constexpr __int128 - abs(__int128 __x) { return __x >= 0 ? __x : -__x; } -# 101 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/std_abs.h" 3 - inline constexpr - __float128 - abs(__float128 __x) - { return __x < 0 ? -__x : __x; } - - - -} -} -# 78 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cstdlib" 2 3 -# 121 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cstdlib" 3 -extern "C++" -{ -namespace std -{ - - - using ::div_t; - using ::ldiv_t; - - using ::abort; - - using ::aligned_alloc; - - using ::atexit; - - - using ::at_quick_exit; - - - using ::atof; - using ::atoi; - using ::atol; - using ::bsearch; - using ::calloc; - using ::div; - using ::exit; - using ::free; - using ::getenv; - using ::labs; - using ::ldiv; - using ::malloc; - - using ::mblen; - using ::mbstowcs; - using ::mbtowc; - - using ::qsort; - - - using ::quick_exit; - - - using ::rand; - using ::realloc; - using ::srand; - using ::strtod; - using ::strtol; - using ::strtoul; - using ::system; - - using ::wcstombs; - using ::wctomb; - - - - inline ldiv_t - div(long __i, long __j) { return ldiv(__i, __j); } - - - - -} -# 195 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cstdlib" 3 -namespace __gnu_cxx -{ - - - - using ::lldiv_t; - - - - - - using ::_Exit; - - - - using ::llabs; - - inline lldiv_t - div(long long __n, long long __d) - { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; } - - using ::lldiv; -# 227 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cstdlib" 3 - using ::atoll; - using ::strtoll; - using ::strtoull; - - using ::strtof; - using ::strtold; - - -} - -namespace std -{ - - using ::__gnu_cxx::lldiv_t; - - using ::__gnu_cxx::_Exit; - - using ::__gnu_cxx::llabs; - using ::__gnu_cxx::div; - using ::__gnu_cxx::lldiv; - - using ::__gnu_cxx::atoll; - using ::__gnu_cxx::strtof; - using ::__gnu_cxx::strtoll; - using ::__gnu_cxx::strtoull; - using ::__gnu_cxx::strtold; -} - - - -} -# 42 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h" 2 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cwchar" 1 3 -# 39 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cwchar" 3 - -# 40 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cwchar" 3 -# 43 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h" 2 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cstdio" 1 3 -# 39 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cstdio" 3 - -# 40 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cstdio" 3 - - -# 1 "/usr/include/stdio.h" 1 3 4 -# 36 "/usr/include/stdio.h" 3 4 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/stddef.h" 1 3 4 -# 37 "/usr/include/stdio.h" 2 3 4 - - - -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/stdarg.h" 1 3 4 -# 41 "/usr/include/stdio.h" 2 3 4 -# 63 "/usr/include/stdio.h" 3 4 -extern "C" { - - - - - - -typedef _fpos_t fpos_t; -# 85 "/usr/include/stdio.h" 3 4 -# 1 "/usr/include/sys/stdio.h" 1 3 4 -# 33 "/usr/include/sys/stdio.h" 3 4 -extern "C" { - -ssize_t getline (char **, size_t *, FILE *); -ssize_t getdelim (char **, size_t *, int, FILE *); - -} -# 86 "/usr/include/stdio.h" 2 3 4 -# 187 "/usr/include/stdio.h" 3 4 -char * ctermid (char *); - - - - -FILE * tmpfile (void); -char * tmpnam (char *); - -char * tempnam (const char *, const char *) __attribute__((__malloc__)) __attribute__((__warn_unused_result__)); - -int fclose (FILE *); -int fflush (FILE *); -FILE * freopen (const char *__restrict, const char *__restrict, FILE *__restrict); -void setbuf (FILE *__restrict, char *__restrict); -int setvbuf (FILE *__restrict, char *__restrict, int, size_t); -int fprintf (FILE *__restrict, const char *__restrict, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); -int fscanf (FILE *__restrict, const char *__restrict, ...) - __attribute__ ((__format__ (__scanf__, 2, 3))); -int printf (const char *__restrict, ...) - __attribute__ ((__format__ (__printf__, 1, 2))); -int scanf (const char *__restrict, ...) - __attribute__ ((__format__ (__scanf__, 1, 2))); -int sscanf (const char *__restrict, const char *__restrict, ...) - __attribute__ ((__format__ (__scanf__, 2, 3))); -int vfprintf (FILE *__restrict, const char *__restrict, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 2, 0))); -int vprintf (const char *, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 1, 0))); -int vsprintf (char *__restrict, const char *__restrict, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 2, 0))); -int fgetc (FILE *); -char * fgets (char *__restrict, int, FILE *__restrict); -int fputc (int, FILE *); -int fputs (const char *__restrict, FILE *__restrict); -int getc (FILE *); -int getchar (void); -char * gets (char *); -int putc (int, FILE *); -int putchar (int); -int puts (const char *); -int ungetc (int, FILE *); -size_t fread (void *__restrict, size_t _size, size_t _n, FILE *__restrict); -size_t fwrite (const void *__restrict , size_t _size, size_t _n, FILE *); - - - -int fgetpos (FILE *__restrict, fpos_t *__restrict); - -int fseek (FILE *, long, int); - - - -int fsetpos (FILE *, const fpos_t *); - -long ftell ( FILE *); -void rewind (FILE *); -void clearerr (FILE *); -int feof (FILE *); -int ferror (FILE *); -void perror (const char *); - -FILE * fopen (const char *__restrict _name, const char *__restrict _type); -int sprintf (char *__restrict, const char *__restrict, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); -int remove (const char *); -int rename (const char *, const char *); -# 263 "/usr/include/stdio.h" 3 4 -int fseeko (FILE *, off_t, int); -off_t ftello (FILE *); - - - - - - - -int snprintf (char *__restrict, size_t, const char *__restrict, ...) - __attribute__ ((__format__ (__printf__, 3, 4))); -int vsnprintf (char *__restrict, size_t, const char *__restrict, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 3, 0))); -int vfscanf (FILE *__restrict, const char *__restrict, __gnuc_va_list) - __attribute__ ((__format__ (__scanf__, 2, 0))); -int vscanf (const char *, __gnuc_va_list) - __attribute__ ((__format__ (__scanf__, 1, 0))); -int vsscanf (const char *__restrict, const char *__restrict, __gnuc_va_list) - __attribute__ ((__format__ (__scanf__, 2, 0))); -# 290 "/usr/include/stdio.h" 3 4 -int asiprintf (char **, const char *, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); -char * asniprintf (char *, size_t *, const char *, ...) - __attribute__ ((__format__ (__printf__, 3, 4))); -char * asnprintf (char *__restrict, size_t *__restrict, const char *__restrict, ...) - __attribute__ ((__format__ (__printf__, 3, 4))); - -int diprintf (int, const char *, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); - -int fiprintf (FILE *, const char *, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); -int fiscanf (FILE *, const char *, ...) - __attribute__ ((__format__ (__scanf__, 2, 3))); -int iprintf (const char *, ...) - __attribute__ ((__format__ (__printf__, 1, 2))); -int iscanf (const char *, ...) - __attribute__ ((__format__ (__scanf__, 1, 2))); -int siprintf (char *, const char *, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); -int siscanf (const char *, const char *, ...) - __attribute__ ((__format__ (__scanf__, 2, 3))); -int sniprintf (char *, size_t, const char *, ...) - __attribute__ ((__format__ (__printf__, 3, 4))); -int vasiprintf (char **, const char *, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 2, 0))); -char * vasniprintf (char *, size_t *, const char *, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 3, 0))); -char * vasnprintf (char *, size_t *, const char *, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 3, 0))); -int vdiprintf (int, const char *, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 2, 0))); -int vfiprintf (FILE *, const char *, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 2, 0))); -int vfiscanf (FILE *, const char *, __gnuc_va_list) - __attribute__ ((__format__ (__scanf__, 2, 0))); -int viprintf (const char *, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 1, 0))); -int viscanf (const char *, __gnuc_va_list) - __attribute__ ((__format__ (__scanf__, 1, 0))); -int vsiprintf (char *, const char *, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 2, 0))); -int vsiscanf (const char *, const char *, __gnuc_va_list) - __attribute__ ((__format__ (__scanf__, 2, 0))); -int vsniprintf (char *, size_t, const char *, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 3, 0))); -# 345 "/usr/include/stdio.h" 3 4 -FILE * fdopen (int, const char *); - -int fileno (FILE *); - - -int pclose (FILE *); -FILE * popen (const char *, const char *); - - - -void setbuffer (FILE *, char *, int); -int setlinebuf (FILE *); - - - -int getw (FILE *); -int putw (int, FILE *); - - -int getc_unlocked (FILE *); -int getchar_unlocked (void); -void flockfile (FILE *); -int ftrylockfile (FILE *); -void funlockfile (FILE *); -int putc_unlocked (int, FILE *); -int putchar_unlocked (int); -# 380 "/usr/include/stdio.h" 3 4 -int dprintf (int, const char *__restrict, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); - -FILE * fmemopen (void *__restrict, size_t, const char *__restrict); - - -FILE * open_memstream (char **, size_t *); -int vdprintf (int, const char *__restrict, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 2, 0))); - - - -int renameat (int, const char *, int, const char *); - -int renameat2 (int, const char *, int, const char *, unsigned int); - - - - - - - -int _asiprintf_r (struct _reent *, char **, const char *, ...) - __attribute__ ((__format__ (__printf__, 3, 4))); -char * _asniprintf_r (struct _reent *, char *, size_t *, const char *, ...) - __attribute__ ((__format__ (__printf__, 4, 5))); -char * _asnprintf_r (struct _reent *, char *__restrict, size_t *__restrict, const char *__restrict, ...) - __attribute__ ((__format__ (__printf__, 4, 5))); -int _asprintf_r (struct _reent *, char **__restrict, const char *__restrict, ...) - __attribute__ ((__format__ (__printf__, 3, 4))); -int _diprintf_r (struct _reent *, int, const char *, ...) - __attribute__ ((__format__ (__printf__, 3, 4))); -int _dprintf_r (struct _reent *, int, const char *__restrict, ...) - __attribute__ ((__format__ (__printf__, 3, 4))); -int _fclose_r (struct _reent *, FILE *); -int _fcloseall_r (struct _reent *); -FILE * _fdopen_r (struct _reent *, int, const char *); -int _fflush_r (struct _reent *, FILE *); -int _fgetc_r (struct _reent *, FILE *); -int _fgetc_unlocked_r (struct _reent *, FILE *); -char * _fgets_r (struct _reent *, char *__restrict, int, FILE *__restrict); -char * _fgets_unlocked_r (struct _reent *, char *__restrict, int, FILE *__restrict); - - - - -int _fgetpos_r (struct _reent *, FILE *, fpos_t *); -int _fsetpos_r (struct _reent *, FILE *, const fpos_t *); - -int _fiprintf_r (struct _reent *, FILE *, const char *, ...) - __attribute__ ((__format__ (__printf__, 3, 4))); -int _fiscanf_r (struct _reent *, FILE *, const char *, ...) - __attribute__ ((__format__ (__scanf__, 3, 4))); -FILE * _fmemopen_r (struct _reent *, void *__restrict, size_t, const char *__restrict); -FILE * _fopen_r (struct _reent *, const char *__restrict, const char *__restrict); -FILE * _freopen_r (struct _reent *, const char *__restrict, const char *__restrict, FILE *__restrict); -int _fprintf_r (struct _reent *, FILE *__restrict, const char *__restrict, ...) - __attribute__ ((__format__ (__printf__, 3, 4))); -int _fpurge_r (struct _reent *, FILE *); -int _fputc_r (struct _reent *, int, FILE *); -int _fputc_unlocked_r (struct _reent *, int, FILE *); -int _fputs_r (struct _reent *, const char *__restrict, FILE *__restrict); -int _fputs_unlocked_r (struct _reent *, const char *__restrict, FILE *__restrict); -size_t _fread_r (struct _reent *, void *__restrict, size_t _size, size_t _n, FILE *__restrict); -size_t _fread_unlocked_r (struct _reent *, void *__restrict, size_t _size, size_t _n, FILE *__restrict); -int _fscanf_r (struct _reent *, FILE *__restrict, const char *__restrict, ...) - __attribute__ ((__format__ (__scanf__, 3, 4))); -int _fseek_r (struct _reent *, FILE *, long, int); -int _fseeko_r (struct _reent *, FILE *, _off_t, int); -long _ftell_r (struct _reent *, FILE *); -_off_t _ftello_r (struct _reent *, FILE *); -void _rewind_r (struct _reent *, FILE *); -size_t _fwrite_r (struct _reent *, const void *__restrict, size_t _size, size_t _n, FILE *__restrict); -size_t _fwrite_unlocked_r (struct _reent *, const void *__restrict, size_t _size, size_t _n, FILE *__restrict); -int _getc_r (struct _reent *, FILE *); -int _getc_unlocked_r (struct _reent *, FILE *); -int _getchar_r (struct _reent *); -int _getchar_unlocked_r (struct _reent *); -char * _gets_r (struct _reent *, char *); -int _iprintf_r (struct _reent *, const char *, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); -int _iscanf_r (struct _reent *, const char *, ...) - __attribute__ ((__format__ (__scanf__, 2, 3))); -FILE * _open_memstream_r (struct _reent *, char **, size_t *); -void _perror_r (struct _reent *, const char *); -int _printf_r (struct _reent *, const char *__restrict, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); -int _putc_r (struct _reent *, int, FILE *); -int _putc_unlocked_r (struct _reent *, int, FILE *); -int _putchar_unlocked_r (struct _reent *, int); -int _putchar_r (struct _reent *, int); -int _puts_r (struct _reent *, const char *); -int _remove_r (struct _reent *, const char *); -int _rename_r (struct _reent *, - const char *_old, const char *_new); -int _scanf_r (struct _reent *, const char *__restrict, ...) - __attribute__ ((__format__ (__scanf__, 2, 3))); -int _siprintf_r (struct _reent *, char *, const char *, ...) - __attribute__ ((__format__ (__printf__, 3, 4))); -int _siscanf_r (struct _reent *, const char *, const char *, ...) - __attribute__ ((__format__ (__scanf__, 3, 4))); -int _sniprintf_r (struct _reent *, char *, size_t, const char *, ...) - __attribute__ ((__format__ (__printf__, 4, 5))); -int _snprintf_r (struct _reent *, char *__restrict, size_t, const char *__restrict, ...) - __attribute__ ((__format__ (__printf__, 4, 5))); -int _sprintf_r (struct _reent *, char *__restrict, const char *__restrict, ...) - __attribute__ ((__format__ (__printf__, 3, 4))); -int _sscanf_r (struct _reent *, const char *__restrict, const char *__restrict, ...) - __attribute__ ((__format__ (__scanf__, 3, 4))); -char * _tempnam_r (struct _reent *, const char *, const char *); -FILE * _tmpfile_r (struct _reent *); -char * _tmpnam_r (struct _reent *, char *); -int _ungetc_r (struct _reent *, int, FILE *); -int _vasiprintf_r (struct _reent *, char **, const char *, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 3, 0))); -char * _vasniprintf_r (struct _reent*, char *, size_t *, const char *, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 4, 0))); -char * _vasnprintf_r (struct _reent*, char *, size_t *, const char *, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 4, 0))); -int _vasprintf_r (struct _reent *, char **, const char *, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 3, 0))); -int _vdiprintf_r (struct _reent *, int, const char *, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 3, 0))); -int _vdprintf_r (struct _reent *, int, const char *__restrict, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 3, 0))); -int _vfiprintf_r (struct _reent *, FILE *, const char *, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 3, 0))); -int _vfiscanf_r (struct _reent *, FILE *, const char *, __gnuc_va_list) - __attribute__ ((__format__ (__scanf__, 3, 0))); -int _vfprintf_r (struct _reent *, FILE *__restrict, const char *__restrict, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 3, 0))); -int _vfscanf_r (struct _reent *, FILE *__restrict, const char *__restrict, __gnuc_va_list) - __attribute__ ((__format__ (__scanf__, 3, 0))); -int _viprintf_r (struct _reent *, const char *, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 2, 0))); -int _viscanf_r (struct _reent *, const char *, __gnuc_va_list) - __attribute__ ((__format__ (__scanf__, 2, 0))); -int _vprintf_r (struct _reent *, const char *__restrict, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 2, 0))); -int _vscanf_r (struct _reent *, const char *__restrict, __gnuc_va_list) - __attribute__ ((__format__ (__scanf__, 2, 0))); -int _vsiprintf_r (struct _reent *, char *, const char *, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 3, 0))); -int _vsiscanf_r (struct _reent *, const char *, const char *, __gnuc_va_list) - __attribute__ ((__format__ (__scanf__, 3, 0))); -int _vsniprintf_r (struct _reent *, char *, size_t, const char *, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 4, 0))); -int _vsnprintf_r (struct _reent *, char *__restrict, size_t, const char *__restrict, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 4, 0))); -int _vsprintf_r (struct _reent *, char *__restrict, const char *__restrict, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 3, 0))); -int _vsscanf_r (struct _reent *, const char *__restrict, const char *__restrict, __gnuc_va_list) - __attribute__ ((__format__ (__scanf__, 3, 0))); - - - -int fpurge (FILE *); -ssize_t __getdelim (char **, size_t *, int, FILE *); -ssize_t __getline (char **, size_t *, FILE *); - - -void clearerr_unlocked (FILE *); -int feof_unlocked (FILE *); -int ferror_unlocked (FILE *); -int fileno_unlocked (FILE *); -int fflush_unlocked (FILE *); -int fgetc_unlocked (FILE *); -int fputc_unlocked (int, FILE *); -size_t fread_unlocked (void *__restrict, size_t _size, size_t _n, FILE *__restrict); -size_t fwrite_unlocked (const void *__restrict , size_t _size, size_t _n, FILE *); -# 583 "/usr/include/stdio.h" 3 4 -int __srget_r (struct _reent *, FILE *); -int __swbuf_r (struct _reent *, int, FILE *); -# 607 "/usr/include/stdio.h" 3 4 -FILE *funopen (const void *__cookie, - int (*__readfn)(void *__cookie, char *__buf, - size_t __n), - int (*__writefn)(void *__cookie, const char *__buf, - size_t __n), - fpos_t (*__seekfn)(void *__cookie, fpos_t __off, int __whence), - int (*__closefn)(void *__cookie)); -FILE *_funopen_r (struct _reent *, const void *__cookie, - int (*__readfn)(void *__cookie, char *__buf, - size_t __n), - int (*__writefn)(void *__cookie, const char *__buf, - size_t __n), - fpos_t (*__seekfn)(void *__cookie, fpos_t __off, int __whence), - int (*__closefn)(void *__cookie)); -# 671 "/usr/include/stdio.h" 3 4 -static __inline__ int __sgetc_r(struct _reent *__ptr, FILE *__p); - -static __inline__ int __sgetc_r(struct _reent *__ptr, FILE *__p) - { - int __c = (--(__p)->_r < 0 ? __srget_r(__ptr, __p) : (int)(*(__p)->_p++)); - if ((__p->_flags & 0x4000) && (__c == '\r')) - { - int __c2 = (--(__p)->_r < 0 ? __srget_r(__ptr, __p) : (int)(*(__p)->_p++)); - if (__c2 == '\n') - __c = __c2; - else - ungetc(__c2, __p); - } - return __c; - } - - - - - -static __inline__ int __sputc_r(struct _reent *_ptr, int _c, FILE *_p) { - - if ((_p->_flags & 0x4000) && _c == '\n') - __sputc_r (_ptr, '\r', _p); - - if (--_p->_w >= 0 || (_p->_w >= _p->_lbfsize && (char)_c != '\n')) - return (*_p->_p++ = _c); - else - return (__swbuf_r(_ptr, _c, _p)); -} -# 801 "/usr/include/stdio.h" 3 4 -} -# 43 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cstdio" 2 3 -# 96 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cstdio" 3 -namespace std -{ - using ::FILE; - using ::fpos_t; - - using ::clearerr; - using ::fclose; - using ::feof; - using ::ferror; - using ::fflush; - using ::fgetc; - using ::fgetpos; - using ::fgets; - using ::fopen; - using ::fprintf; - using ::fputc; - using ::fputs; - using ::fread; - using ::freopen; - using ::fscanf; - using ::fseek; - using ::fsetpos; - using ::ftell; - using ::fwrite; - using ::getc; - using ::getchar; - - - - - using ::perror; - using ::printf; - using ::putc; - using ::putchar; - using ::puts; - using ::remove; - using ::rename; - using ::rewind; - using ::scanf; - using ::setbuf; - using ::setvbuf; - using ::sprintf; - using ::sscanf; - using ::tmpfile; - - using ::tmpnam; - - using ::ungetc; - using ::vfprintf; - using ::vprintf; - using ::vsprintf; -} -# 157 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cstdio" 3 -namespace __gnu_cxx -{ -# 175 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cstdio" 3 - using ::snprintf; - using ::vfscanf; - using ::vscanf; - using ::vsnprintf; - using ::vsscanf; - -} - -namespace std -{ - using ::__gnu_cxx::snprintf; - using ::__gnu_cxx::vfscanf; - using ::__gnu_cxx::vscanf; - using ::__gnu_cxx::vsnprintf; - using ::__gnu_cxx::vsscanf; -} -# 44 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h" 2 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cerrno" 1 3 -# 39 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cerrno" 3 - -# 40 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cerrno" 3 - - -# 1 "/usr/include/errno.h" 1 3 4 - - - - -typedef int error_t; - - - -# 1 "/usr/include/sys/errno.h" 1 3 4 - - - - - - -extern "C" { -# 19 "/usr/include/sys/errno.h" 3 4 -extern int *__errno (void); - - - - - - -extern __attribute__((dllimport)) const char * const _sys_errlist[]; -extern __attribute__((dllimport)) int _sys_nerr; - -extern __attribute__((dllimport)) const char * const sys_errlist[]; -extern __attribute__((dllimport)) int sys_nerr; -extern __attribute__((dllimport)) char *program_invocation_name; -extern __attribute__((dllimport)) char *program_invocation_short_name; -# 196 "/usr/include/sys/errno.h" 3 4 -} -# 10 "/usr/include/errno.h" 2 3 4 -# 43 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/cerrno" 2 3 -# 45 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/string_conversions.h" 2 3 - -namespace __gnu_cxx -{ - - - - template - _Ret - __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...), - const char* __name, const _CharT* __str, std::size_t* __idx, - _Base... __base) - { - _Ret __ret; - - _CharT* __endptr; - - struct _Save_errno { - _Save_errno() : _M_errno((*__errno())) { (*__errno()) = 0; } - ~_Save_errno() { if ((*__errno()) == 0) (*__errno()) = _M_errno; } - int _M_errno; - } const __save_errno; - - struct _Range_chk { - static bool - _S_chk(_TRet, std::false_type) { return false; } - - static bool - _S_chk(_TRet __val, std::true_type) - { - return __val < _TRet(__numeric_traits::__min) - || __val > _TRet(__numeric_traits::__max); - } - }; - - const _TRet __tmp = __convf(__str, &__endptr, __base...); - - if (__endptr == __str) - std::__throw_invalid_argument(__name); - else if ((*__errno()) == 34 - || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{})) - std::__throw_out_of_range(__name); - else - __ret = __tmp; - - if (__idx) - *__idx = __endptr - __str; - - return __ret; - } - - - template - _String - __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*, - __builtin_va_list), std::size_t __n, - const _CharT* __fmt, ...) - { - - - _CharT* __s = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) - * __n)); - - __builtin_va_list __args; - __builtin_va_start(__args, __fmt); - - const int __len = __convf(__s, __n, __fmt, __args); - - __builtin_va_end(__args); - - return _String(__s, __s + __len); - } - - -} -# 6609 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 2 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/charconv.h" 1 3 -# 33 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/charconv.h" 3 - -# 34 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/charconv.h" 3 - - - - - -namespace std -{ - -namespace __detail -{ - - template - constexpr unsigned - __to_chars_len(_Tp __value, int __base = 10) noexcept - { - static_assert(is_integral<_Tp>::value, "implementation bug"); - static_assert(is_unsigned<_Tp>::value, "implementation bug"); - - unsigned __n = 1; - const unsigned __b2 = __base * __base; - const unsigned __b3 = __b2 * __base; - const unsigned long __b4 = __b3 * __base; - for (;;) - { - if (__value < (unsigned)__base) return __n; - if (__value < __b2) return __n + 1; - if (__value < __b3) return __n + 2; - if (__value < __b4) return __n + 3; - __value /= __b4; - __n += 4; - } - } - - - - - template - void - __to_chars_10_impl(char* __first, unsigned __len, _Tp __val) noexcept - { - static_assert(is_integral<_Tp>::value, "implementation bug"); - static_assert(is_unsigned<_Tp>::value, "implementation bug"); - - static constexpr char __digits[201] = - "0001020304050607080910111213141516171819" - "2021222324252627282930313233343536373839" - "4041424344454647484950515253545556575859" - "6061626364656667686970717273747576777879" - "8081828384858687888990919293949596979899"; - unsigned __pos = __len - 1; - while (__val >= 100) - { - auto const __num = (__val % 100) * 2; - __val /= 100; - __first[__pos] = __digits[__num + 1]; - __first[__pos - 1] = __digits[__num]; - __pos -= 2; - } - if (__val >= 10) - { - auto const __num = __val * 2; - __first[1] = __digits[__num + 1]; - __first[0] = __digits[__num]; - } - else - __first[0] = '0' + __val; - } - -} - -} -# 6610 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 2 3 - -namespace std -{ - - - - - - inline int - stoi(const string& __str, size_t* __idx = 0, int __base = 10) - { return __gnu_cxx::__stoa(&std::strtol, "stoi", __str.c_str(), - __idx, __base); } - - inline long - stol(const string& __str, size_t* __idx = 0, int __base = 10) - { return __gnu_cxx::__stoa(&std::strtol, "stol", __str.c_str(), - __idx, __base); } - - inline unsigned long - stoul(const string& __str, size_t* __idx = 0, int __base = 10) - { return __gnu_cxx::__stoa(&std::strtoul, "stoul", __str.c_str(), - __idx, __base); } - - inline long long - stoll(const string& __str, size_t* __idx = 0, int __base = 10) - { return __gnu_cxx::__stoa(&std::strtoll, "stoll", __str.c_str(), - __idx, __base); } - - inline unsigned long long - stoull(const string& __str, size_t* __idx = 0, int __base = 10) - { return __gnu_cxx::__stoa(&std::strtoull, "stoull", __str.c_str(), - __idx, __base); } - - - inline float - stof(const string& __str, size_t* __idx = 0) - { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); } - - inline double - stod(const string& __str, size_t* __idx = 0) - { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); } - - inline long double - stold(const string& __str, size_t* __idx = 0) - { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); } - - - - - inline string - to_string(int __val) - { - const bool __neg = __val < 0; - const unsigned __uval = __neg ? (unsigned)~__val + 1u : __val; - const auto __len = __detail::__to_chars_len(__uval); - string __str(__neg + __len, '-'); - __detail::__to_chars_10_impl(&__str[__neg], __len, __uval); - return __str; - } - - inline string - to_string(unsigned __val) - { - string __str(__detail::__to_chars_len(__val), '\0'); - __detail::__to_chars_10_impl(&__str[0], __str.size(), __val); - return __str; - } - - inline string - to_string(long __val) - { - const bool __neg = __val < 0; - const unsigned long __uval = __neg ? (unsigned long)~__val + 1ul : __val; - const auto __len = __detail::__to_chars_len(__uval); - string __str(__neg + __len, '-'); - __detail::__to_chars_10_impl(&__str[__neg], __len, __uval); - return __str; - } - - inline string - to_string(unsigned long __val) - { - string __str(__detail::__to_chars_len(__val), '\0'); - __detail::__to_chars_10_impl(&__str[0], __str.size(), __val); - return __str; - } - - inline string - to_string(long long __val) - { - const bool __neg = __val < 0; - const unsigned long long __uval - = __neg ? (unsigned long long)~__val + 1ull : __val; - const auto __len = __detail::__to_chars_len(__uval); - string __str(__neg + __len, '-'); - __detail::__to_chars_10_impl(&__str[__neg], __len, __uval); - return __str; - } - - inline string - to_string(unsigned long long __val) - { - string __str(__detail::__to_chars_len(__val), '\0'); - __detail::__to_chars_10_impl(&__str[0], __str.size(), __val); - return __str; - } - - - - - inline string - to_string(float __val) - { - const int __n = - __gnu_cxx::__numeric_traits::__max_exponent10 + 20; - return __gnu_cxx::__to_xstring(&std::vsnprintf, __n, - "%f", __val); - } - - inline string - to_string(double __val) - { - const int __n = - __gnu_cxx::__numeric_traits::__max_exponent10 + 20; - return __gnu_cxx::__to_xstring(&std::vsnprintf, __n, - "%f", __val); - } - - inline string - to_string(long double __val) - { - const int __n = - __gnu_cxx::__numeric_traits::__max_exponent10 + 20; - return __gnu_cxx::__to_xstring(&std::vsnprintf, __n, - "%Lf", __val); - } - - - - inline int - stoi(const wstring& __str, size_t* __idx = 0, int __base = 10) - { return __gnu_cxx::__stoa(&std::wcstol, "stoi", __str.c_str(), - __idx, __base); } - - inline long - stol(const wstring& __str, size_t* __idx = 0, int __base = 10) - { return __gnu_cxx::__stoa(&std::wcstol, "stol", __str.c_str(), - __idx, __base); } - - inline unsigned long - stoul(const wstring& __str, size_t* __idx = 0, int __base = 10) - { return __gnu_cxx::__stoa(&std::wcstoul, "stoul", __str.c_str(), - __idx, __base); } - - inline long long - stoll(const wstring& __str, size_t* __idx = 0, int __base = 10) - { return __gnu_cxx::__stoa(&std::wcstoll, "stoll", __str.c_str(), - __idx, __base); } - - inline unsigned long long - stoull(const wstring& __str, size_t* __idx = 0, int __base = 10) - { return __gnu_cxx::__stoa(&std::wcstoull, "stoull", __str.c_str(), - __idx, __base); } - - - inline float - stof(const wstring& __str, size_t* __idx = 0) - { return __gnu_cxx::__stoa(&std::wcstof, "stof", __str.c_str(), __idx); } - - inline double - stod(const wstring& __str, size_t* __idx = 0) - { return __gnu_cxx::__stoa(&std::wcstod, "stod", __str.c_str(), __idx); } - - inline long double - stold(const wstring& __str, size_t* __idx = 0) - { return __gnu_cxx::__stoa(&std::wcstold, "stold", __str.c_str(), __idx); } - - - - inline wstring - to_wstring(int __val) - { return __gnu_cxx::__to_xstring(&std::vswprintf, 4 * sizeof(int), - L"%d", __val); } - - inline wstring - to_wstring(unsigned __val) - { return __gnu_cxx::__to_xstring(&std::vswprintf, - 4 * sizeof(unsigned), - L"%u", __val); } - - inline wstring - to_wstring(long __val) - { return __gnu_cxx::__to_xstring(&std::vswprintf, 4 * sizeof(long), - L"%ld", __val); } - - inline wstring - to_wstring(unsigned long __val) - { return __gnu_cxx::__to_xstring(&std::vswprintf, - 4 * sizeof(unsigned long), - L"%lu", __val); } - - inline wstring - to_wstring(long long __val) - { return __gnu_cxx::__to_xstring(&std::vswprintf, - 4 * sizeof(long long), - L"%lld", __val); } - - inline wstring - to_wstring(unsigned long long __val) - { return __gnu_cxx::__to_xstring(&std::vswprintf, - 4 * sizeof(unsigned long long), - L"%llu", __val); } - - inline wstring - to_wstring(float __val) - { - const int __n = - __gnu_cxx::__numeric_traits::__max_exponent10 + 20; - return __gnu_cxx::__to_xstring(&std::vswprintf, __n, - L"%f", __val); - } - - inline wstring - to_wstring(double __val) - { - const int __n = - __gnu_cxx::__numeric_traits::__max_exponent10 + 20; - return __gnu_cxx::__to_xstring(&std::vswprintf, __n, - L"%f", __val); - } - - inline wstring - to_wstring(long double __val) - { - const int __n = - __gnu_cxx::__numeric_traits::__max_exponent10 + 20; - return __gnu_cxx::__to_xstring(&std::vswprintf, __n, - L"%Lf", __val); - } - - - - - -} - - - - - - - -namespace std -{ - - - - - - - template<> - struct hash - : public __hash_base - { - size_t - operator()(const string& __s) const noexcept - { return std::_Hash_impl::hash(__s.data(), __s.length()); } - }; - - template<> - struct __is_fast_hash> : std::false_type - { }; - - - - template<> - struct hash - : public __hash_base - { - size_t - operator()(const wstring& __s) const noexcept - { return std::_Hash_impl::hash(__s.data(), - __s.length() * sizeof(wchar_t)); } - }; - - template<> - struct __is_fast_hash> : std::false_type - { }; -# 6919 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - template<> - struct hash - : public __hash_base - { - size_t - operator()(const u16string& __s) const noexcept - { return std::_Hash_impl::hash(__s.data(), - __s.length() * sizeof(char16_t)); } - }; - - template<> - struct __is_fast_hash> : std::false_type - { }; - - - template<> - struct hash - : public __hash_base - { - size_t - operator()(const u32string& __s) const noexcept - { return std::_Hash_impl::hash(__s.data(), - __s.length() * sizeof(char32_t)); } - }; - - template<> - struct __is_fast_hash> : std::false_type - { }; - - - - - - inline namespace literals - { - inline namespace string_literals - { -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wliteral-suffix" - - inline basic_string - operator""s(const char* __str, size_t __len) - { return basic_string{__str, __len}; } - - - - inline basic_string - operator""s(const wchar_t* __str, size_t __len) - { return basic_string{__str, __len}; } -# 6977 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.h" 3 - - inline basic_string - operator""s(const char16_t* __str, size_t __len) - { return basic_string{__str, __len}; } - - - inline basic_string - operator""s(const char32_t* __str, size_t __len) - { return basic_string{__str, __len}; } - -#pragma GCC diagnostic pop - } - } - - - namespace __detail::__variant - { - template struct _Never_valueless_alt; - - - - template - struct _Never_valueless_alt> - : __and_< - is_nothrow_move_constructible>, - is_nothrow_move_assignable> - >::type - { }; - } - - - - -} -# 56 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/string" 2 3 -# 1 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.tcc" 1 3 -# 42 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.tcc" 3 - -# 43 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.tcc" 3 - - - -namespace std -{ - -# 520 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.tcc" 3 - template - const typename basic_string<_CharT, _Traits, _Alloc>::size_type - basic_string<_CharT, _Traits, _Alloc>:: - _Rep::_S_max_size = (((npos - sizeof(_Rep_base))/sizeof(_CharT)) - 1) / 4; - - template - const _CharT - basic_string<_CharT, _Traits, _Alloc>:: - _Rep::_S_terminal = _CharT(); - - template - const typename basic_string<_CharT, _Traits, _Alloc>::size_type - basic_string<_CharT, _Traits, _Alloc>::npos; - - - - template - typename basic_string<_CharT, _Traits, _Alloc>::size_type - basic_string<_CharT, _Traits, _Alloc>::_Rep::_S_empty_rep_storage[ - (sizeof(_Rep_base) + sizeof(_CharT) + sizeof(size_type) - 1) / - sizeof(size_type)]; - - - - - - template - template - _CharT* - basic_string<_CharT, _Traits, _Alloc>:: - _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a, - input_iterator_tag) - { - - if (__beg == __end && __a == _Alloc()) - return _S_empty_rep()._M_refdata(); - - - _CharT __buf[128]; - size_type __len = 0; - while (__beg != __end && __len < sizeof(__buf) / sizeof(_CharT)) - { - __buf[__len++] = *__beg; - ++__beg; - } - _Rep* __r = _Rep::_S_create(__len, size_type(0), __a); - _M_copy(__r->_M_refdata(), __buf, __len); - try - { - while (__beg != __end) - { - if (__len == __r->_M_capacity) - { - - _Rep* __another = _Rep::_S_create(__len + 1, __len, __a); - _M_copy(__another->_M_refdata(), __r->_M_refdata(), __len); - __r->_M_destroy(__a); - __r = __another; - } - __r->_M_refdata()[__len++] = *__beg; - ++__beg; - } - } - catch(...) - { - __r->_M_destroy(__a); - throw; - } - __r->_M_set_length_and_sharable(__len); - return __r->_M_refdata(); - } - - template - template - _CharT* - basic_string<_CharT, _Traits, _Alloc>:: - _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a, - forward_iterator_tag) - { - - if (__beg == __end && __a == _Alloc()) - return _S_empty_rep()._M_refdata(); - - - if (__gnu_cxx::__is_null_pointer(__beg) && __beg != __end) - __throw_logic_error(("basic_string::_S_construct null not valid")); - - const size_type __dnew = static_cast(std::distance(__beg, - __end)); - - _Rep* __r = _Rep::_S_create(__dnew, size_type(0), __a); - try - { _S_copy_chars(__r->_M_refdata(), __beg, __end); } - catch(...) - { - __r->_M_destroy(__a); - throw; - } - __r->_M_set_length_and_sharable(__dnew); - return __r->_M_refdata(); - } - - template - _CharT* - basic_string<_CharT, _Traits, _Alloc>:: - _S_construct(size_type __n, _CharT __c, const _Alloc& __a) - { - - if (__n == 0 && __a == _Alloc()) - return _S_empty_rep()._M_refdata(); - - - _Rep* __r = _Rep::_S_create(__n, size_type(0), __a); - if (__n) - _M_assign(__r->_M_refdata(), __n, __c); - - __r->_M_set_length_and_sharable(__n); - return __r->_M_refdata(); - } - - template - basic_string<_CharT, _Traits, _Alloc>:: - basic_string(const basic_string& __str, size_type __pos, const _Alloc& __a) - : _M_dataplus(_S_construct(__str._M_data() - + __str._M_check(__pos, - "basic_string::basic_string"), - __str._M_data() + __str._M_limit(__pos, npos) - + __pos, __a), __a) - { } - - template - basic_string<_CharT, _Traits, _Alloc>:: - basic_string(const basic_string& __str, size_type __pos, size_type __n) - : _M_dataplus(_S_construct(__str._M_data() - + __str._M_check(__pos, - "basic_string::basic_string"), - __str._M_data() + __str._M_limit(__pos, __n) - + __pos, _Alloc()), _Alloc()) - { } - - template - basic_string<_CharT, _Traits, _Alloc>:: - basic_string(const basic_string& __str, size_type __pos, - size_type __n, const _Alloc& __a) - : _M_dataplus(_S_construct(__str._M_data() - + __str._M_check(__pos, - "basic_string::basic_string"), - __str._M_data() + __str._M_limit(__pos, __n) - + __pos, __a), __a) - { } - - template - basic_string<_CharT, _Traits, _Alloc>& - basic_string<_CharT, _Traits, _Alloc>:: - assign(const basic_string& __str) - { - if (_M_rep() != __str._M_rep()) - { - - const allocator_type __a = this->get_allocator(); - _CharT* __tmp = __str._M_rep()->_M_grab(__a, __str.get_allocator()); - _M_rep()->_M_dispose(__a); - _M_data(__tmp); - } - return *this; - } - - template - basic_string<_CharT, _Traits, _Alloc>& - basic_string<_CharT, _Traits, _Alloc>:: - assign(const _CharT* __s, size_type __n) - { - ; - _M_check_length(this->size(), __n, "basic_string::assign"); - if (_M_disjunct(__s) || _M_rep()->_M_is_shared()) - return _M_replace_safe(size_type(0), this->size(), __s, __n); - else - { - - const size_type __pos = __s - _M_data(); - if (__pos >= __n) - _M_copy(_M_data(), __s, __n); - else if (__pos) - _M_move(_M_data(), __s, __n); - _M_rep()->_M_set_length_and_sharable(__n); - return *this; - } - } - - template - basic_string<_CharT, _Traits, _Alloc>& - basic_string<_CharT, _Traits, _Alloc>:: - append(size_type __n, _CharT __c) - { - if (__n) - { - _M_check_length(size_type(0), __n, "basic_string::append"); - const size_type __len = __n + this->size(); - if (__len > this->capacity() || _M_rep()->_M_is_shared()) - this->reserve(__len); - _M_assign(_M_data() + this->size(), __n, __c); - _M_rep()->_M_set_length_and_sharable(__len); - } - return *this; - } - - template - basic_string<_CharT, _Traits, _Alloc>& - basic_string<_CharT, _Traits, _Alloc>:: - append(const _CharT* __s, size_type __n) - { - ; - if (__n) - { - _M_check_length(size_type(0), __n, "basic_string::append"); - const size_type __len = __n + this->size(); - if (__len > this->capacity() || _M_rep()->_M_is_shared()) - { - if (_M_disjunct(__s)) - this->reserve(__len); - else - { - const size_type __off = __s - _M_data(); - this->reserve(__len); - __s = _M_data() + __off; - } - } - _M_copy(_M_data() + this->size(), __s, __n); - _M_rep()->_M_set_length_and_sharable(__len); - } - return *this; - } - - template - basic_string<_CharT, _Traits, _Alloc>& - basic_string<_CharT, _Traits, _Alloc>:: - append(const basic_string& __str) - { - const size_type __size = __str.size(); - if (__size) - { - const size_type __len = __size + this->size(); - if (__len > this->capacity() || _M_rep()->_M_is_shared()) - this->reserve(__len); - _M_copy(_M_data() + this->size(), __str._M_data(), __size); - _M_rep()->_M_set_length_and_sharable(__len); - } - return *this; - } - - template - basic_string<_CharT, _Traits, _Alloc>& - basic_string<_CharT, _Traits, _Alloc>:: - append(const basic_string& __str, size_type __pos, size_type __n) - { - __str._M_check(__pos, "basic_string::append"); - __n = __str._M_limit(__pos, __n); - if (__n) - { - const size_type __len = __n + this->size(); - if (__len > this->capacity() || _M_rep()->_M_is_shared()) - this->reserve(__len); - _M_copy(_M_data() + this->size(), __str._M_data() + __pos, __n); - _M_rep()->_M_set_length_and_sharable(__len); - } - return *this; - } - - template - basic_string<_CharT, _Traits, _Alloc>& - basic_string<_CharT, _Traits, _Alloc>:: - insert(size_type __pos, const _CharT* __s, size_type __n) - { - ; - _M_check(__pos, "basic_string::insert"); - _M_check_length(size_type(0), __n, "basic_string::insert"); - if (_M_disjunct(__s) || _M_rep()->_M_is_shared()) - return _M_replace_safe(__pos, size_type(0), __s, __n); - else - { - - const size_type __off = __s - _M_data(); - _M_mutate(__pos, 0, __n); - __s = _M_data() + __off; - _CharT* __p = _M_data() + __pos; - if (__s + __n <= __p) - _M_copy(__p, __s, __n); - else if (__s >= __p) - _M_copy(__p, __s + __n, __n); - else - { - const size_type __nleft = __p - __s; - _M_copy(__p, __s, __nleft); - _M_copy(__p + __nleft, __p + __n, __n - __nleft); - } - return *this; - } - } - - template - typename basic_string<_CharT, _Traits, _Alloc>::iterator - basic_string<_CharT, _Traits, _Alloc>:: - erase(iterator __first, iterator __last) - { - - ; - - - - - const size_type __size = __last - __first; - if (__size) - { - const size_type __pos = __first - _M_ibegin(); - _M_mutate(__pos, __size, size_type(0)); - _M_rep()->_M_set_leaked(); - return iterator(_M_data() + __pos); - } - else - return __first; - } - - template - basic_string<_CharT, _Traits, _Alloc>& - basic_string<_CharT, _Traits, _Alloc>:: - replace(size_type __pos, size_type __n1, const _CharT* __s, - size_type __n2) - { - ; - _M_check(__pos, "basic_string::replace"); - __n1 = _M_limit(__pos, __n1); - _M_check_length(__n1, __n2, "basic_string::replace"); - bool __left; - if (_M_disjunct(__s) || _M_rep()->_M_is_shared()) - return _M_replace_safe(__pos, __n1, __s, __n2); - else if ((__left = __s + __n2 <= _M_data() + __pos) - || _M_data() + __pos + __n1 <= __s) - { - - size_type __off = __s - _M_data(); - __left ? __off : (__off += __n2 - __n1); - _M_mutate(__pos, __n1, __n2); - _M_copy(_M_data() + __pos, _M_data() + __off, __n2); - return *this; - } - else - { - - const basic_string __tmp(__s, __n2); - return _M_replace_safe(__pos, __n1, __tmp._M_data(), __n2); - } - } - - template - void - basic_string<_CharT, _Traits, _Alloc>::_Rep:: - _M_destroy(const _Alloc& __a) throw () - { - const size_type __size = sizeof(_Rep_base) + - (this->_M_capacity + 1) * sizeof(_CharT); - _Raw_bytes_alloc(__a).deallocate(reinterpret_cast(this), __size); - } - - template - void - basic_string<_CharT, _Traits, _Alloc>:: - _M_leak_hard() - { - - if (_M_rep() == &_S_empty_rep()) - return; - - if (_M_rep()->_M_is_shared()) - _M_mutate(0, 0, 0); - _M_rep()->_M_set_leaked(); - } - - template - void - basic_string<_CharT, _Traits, _Alloc>:: - _M_mutate(size_type __pos, size_type __len1, size_type __len2) - { - const size_type __old_size = this->size(); - const size_type __new_size = __old_size + __len2 - __len1; - const size_type __how_much = __old_size - __pos - __len1; - - if (__new_size > this->capacity() || _M_rep()->_M_is_shared()) - { - - const allocator_type __a = get_allocator(); - _Rep* __r = _Rep::_S_create(__new_size, this->capacity(), __a); - - if (__pos) - _M_copy(__r->_M_refdata(), _M_data(), __pos); - if (__how_much) - _M_copy(__r->_M_refdata() + __pos + __len2, - _M_data() + __pos + __len1, __how_much); - - _M_rep()->_M_dispose(__a); - _M_data(__r->_M_refdata()); - } - else if (__how_much && __len1 != __len2) - { - - _M_move(_M_data() + __pos + __len2, - _M_data() + __pos + __len1, __how_much); - } - _M_rep()->_M_set_length_and_sharable(__new_size); - } - - template - void - basic_string<_CharT, _Traits, _Alloc>:: - reserve(size_type __res) - { - const size_type __capacity = capacity(); - - - - - - if (__res <= __capacity) - { - if (!_M_rep()->_M_is_shared()) - return; - - - __res = __capacity; - } - - const allocator_type __a = get_allocator(); - _CharT* __tmp = _M_rep()->_M_clone(__a, __res - this->size()); - _M_rep()->_M_dispose(__a); - _M_data(__tmp); - } - - template - void - basic_string<_CharT, _Traits, _Alloc>:: - swap(basic_string& __s) - noexcept(allocator_traits<_Alloc>::is_always_equal::value) - { - if (_M_rep()->_M_is_leaked()) - _M_rep()->_M_set_sharable(); - if (__s._M_rep()->_M_is_leaked()) - __s._M_rep()->_M_set_sharable(); - if (this->get_allocator() == __s.get_allocator()) - { - _CharT* __tmp = _M_data(); - _M_data(__s._M_data()); - __s._M_data(__tmp); - } - - else - { - const basic_string __tmp1(_M_ibegin(), _M_iend(), - __s.get_allocator()); - const basic_string __tmp2(__s._M_ibegin(), __s._M_iend(), - this->get_allocator()); - *this = __tmp2; - __s = __tmp1; - } - } - - template - typename basic_string<_CharT, _Traits, _Alloc>::_Rep* - basic_string<_CharT, _Traits, _Alloc>::_Rep:: - _S_create(size_type __capacity, size_type __old_capacity, - const _Alloc& __alloc) - { - - - if (__capacity > _S_max_size) - __throw_length_error(("basic_string::_S_create")); -# 1018 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.tcc" 3 - const size_type __pagesize = 4096; - const size_type __malloc_header_size = 4 * sizeof(void*); - - - - - - - - if (__capacity > __old_capacity && __capacity < 2 * __old_capacity) - __capacity = 2 * __old_capacity; - - - - - size_type __size = (__capacity + 1) * sizeof(_CharT) + sizeof(_Rep); - - const size_type __adj_size = __size + __malloc_header_size; - if (__adj_size > __pagesize && __capacity > __old_capacity) - { - const size_type __extra = __pagesize - __adj_size % __pagesize; - __capacity += __extra / sizeof(_CharT); - - if (__capacity > _S_max_size) - __capacity = _S_max_size; - __size = (__capacity + 1) * sizeof(_CharT) + sizeof(_Rep); - } - - - - void* __place = _Raw_bytes_alloc(__alloc).allocate(__size); - _Rep *__p = new (__place) _Rep; - __p->_M_capacity = __capacity; - - - - - - - - __p->_M_set_sharable(); - return __p; - } - - template - _CharT* - basic_string<_CharT, _Traits, _Alloc>::_Rep:: - _M_clone(const _Alloc& __alloc, size_type __res) - { - - const size_type __requested_cap = this->_M_length + __res; - _Rep* __r = _Rep::_S_create(__requested_cap, this->_M_capacity, - __alloc); - if (this->_M_length) - _M_copy(__r->_M_refdata(), _M_refdata(), this->_M_length); - - __r->_M_set_length_and_sharable(this->_M_length); - return __r->_M_refdata(); - } - - template - void - basic_string<_CharT, _Traits, _Alloc>:: - resize(size_type __n, _CharT __c) - { - const size_type __size = this->size(); - _M_check_length(__size, __n, "basic_string::resize"); - if (__size < __n) - this->append(__n - __size, __c); - else if (__n < __size) - this->erase(__n); - - } - - template - template - basic_string<_CharT, _Traits, _Alloc>& - basic_string<_CharT, _Traits, _Alloc>:: - _M_replace_dispatch(iterator __i1, iterator __i2, _InputIterator __k1, - _InputIterator __k2, __false_type) - { - const basic_string __s(__k1, __k2); - const size_type __n1 = __i2 - __i1; - _M_check_length(__n1, __s.size(), "basic_string::_M_replace_dispatch"); - return _M_replace_safe(__i1 - _M_ibegin(), __n1, __s._M_data(), - __s.size()); - } - - template - basic_string<_CharT, _Traits, _Alloc>& - basic_string<_CharT, _Traits, _Alloc>:: - _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2, - _CharT __c) - { - _M_check_length(__n1, __n2, "basic_string::_M_replace_aux"); - _M_mutate(__pos1, __n1, __n2); - if (__n2) - _M_assign(_M_data() + __pos1, __n2, __c); - return *this; - } - - template - basic_string<_CharT, _Traits, _Alloc>& - basic_string<_CharT, _Traits, _Alloc>:: - _M_replace_safe(size_type __pos1, size_type __n1, const _CharT* __s, - size_type __n2) - { - _M_mutate(__pos1, __n1, __n2); - if (__n2) - _M_copy(_M_data() + __pos1, __s, __n2); - return *this; - } - - template - void - basic_string<_CharT, _Traits, _Alloc>:: - reserve() - { - - if (length() < capacity() || _M_rep()->_M_is_shared()) - try - { - const allocator_type __a = get_allocator(); - _CharT* __tmp = _M_rep()->_M_clone(__a); - _M_rep()->_M_dispose(__a); - _M_data(__tmp); - } - catch (const __cxxabiv1::__forced_unwind&) - { throw; } - catch (...) - { } - - } - - template - typename basic_string<_CharT, _Traits, _Alloc>::size_type - basic_string<_CharT, _Traits, _Alloc>:: - copy(_CharT* __s, size_type __n, size_type __pos) const - { - _M_check(__pos, "basic_string::copy"); - __n = _M_limit(__pos, __n); - ; - if (__n) - _M_copy(__s, _M_data() + __pos, __n); - - return __n; - } - - - template - basic_string<_CharT, _Traits, _Alloc> - operator+(const _CharT* __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) - { - ; - typedef basic_string<_CharT, _Traits, _Alloc> __string_type; - typedef typename __string_type::size_type __size_type; - typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template - rebind<_CharT>::other _Char_alloc_type; - typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits; - const __size_type __len = _Traits::length(__lhs); - __string_type __str(_Alloc_traits::_S_select_on_copy( - __rhs.get_allocator())); - __str.reserve(__len + __rhs.size()); - __str.append(__lhs, __len); - __str.append(__rhs); - return __str; - } - - template - basic_string<_CharT, _Traits, _Alloc> - operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) - { - typedef basic_string<_CharT, _Traits, _Alloc> __string_type; - typedef typename __string_type::size_type __size_type; - typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template - rebind<_CharT>::other _Char_alloc_type; - typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits; - __string_type __str(_Alloc_traits::_S_select_on_copy( - __rhs.get_allocator())); - const __size_type __len = __rhs.size(); - __str.reserve(__len + 1); - __str.append(__size_type(1), __lhs); - __str.append(__rhs); - return __str; - } - - template - typename basic_string<_CharT, _Traits, _Alloc>::size_type - basic_string<_CharT, _Traits, _Alloc>:: - find(const _CharT* __s, size_type __pos, size_type __n) const - noexcept - { - ; - const size_type __size = this->size(); - - if (__n == 0) - return __pos <= __size ? __pos : npos; - if (__pos >= __size) - return npos; - - const _CharT __elem0 = __s[0]; - const _CharT* const __data = data(); - const _CharT* __first = __data + __pos; - const _CharT* const __last = __data + __size; - size_type __len = __size - __pos; - - while (__len >= __n) - { - - __first = traits_type::find(__first, __len - __n + 1, __elem0); - if (!__first) - return npos; - - - - if (traits_type::compare(__first, __s, __n) == 0) - return __first - __data; - __len = __last - ++__first; - } - return npos; - } - - template - typename basic_string<_CharT, _Traits, _Alloc>::size_type - basic_string<_CharT, _Traits, _Alloc>:: - find(_CharT __c, size_type __pos) const noexcept - { - size_type __ret = npos; - const size_type __size = this->size(); - if (__pos < __size) - { - const _CharT* __data = _M_data(); - const size_type __n = __size - __pos; - const _CharT* __p = traits_type::find(__data + __pos, __n, __c); - if (__p) - __ret = __p - __data; - } - return __ret; - } - - template - typename basic_string<_CharT, _Traits, _Alloc>::size_type - basic_string<_CharT, _Traits, _Alloc>:: - rfind(const _CharT* __s, size_type __pos, size_type __n) const - noexcept - { - ; - const size_type __size = this->size(); - if (__n <= __size) - { - __pos = std::min(size_type(__size - __n), __pos); - const _CharT* __data = _M_data(); - do - { - if (traits_type::compare(__data + __pos, __s, __n) == 0) - return __pos; - } - while (__pos-- > 0); - } - return npos; - } - - template - typename basic_string<_CharT, _Traits, _Alloc>::size_type - basic_string<_CharT, _Traits, _Alloc>:: - rfind(_CharT __c, size_type __pos) const noexcept - { - size_type __size = this->size(); - if (__size) - { - if (--__size > __pos) - __size = __pos; - for (++__size; __size-- > 0; ) - if (traits_type::eq(_M_data()[__size], __c)) - return __size; - } - return npos; - } - - template - typename basic_string<_CharT, _Traits, _Alloc>::size_type - basic_string<_CharT, _Traits, _Alloc>:: - find_first_of(const _CharT* __s, size_type __pos, size_type __n) const - noexcept - { - ; - for (; __n && __pos < this->size(); ++__pos) - { - const _CharT* __p = traits_type::find(__s, __n, _M_data()[__pos]); - if (__p) - return __pos; - } - return npos; - } - - template - typename basic_string<_CharT, _Traits, _Alloc>::size_type - basic_string<_CharT, _Traits, _Alloc>:: - find_last_of(const _CharT* __s, size_type __pos, size_type __n) const - noexcept - { - ; - size_type __size = this->size(); - if (__size && __n) - { - if (--__size > __pos) - __size = __pos; - do - { - if (traits_type::find(__s, __n, _M_data()[__size])) - return __size; - } - while (__size-- != 0); - } - return npos; - } - - template - typename basic_string<_CharT, _Traits, _Alloc>::size_type - basic_string<_CharT, _Traits, _Alloc>:: - find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const - noexcept - { - ; - for (; __pos < this->size(); ++__pos) - if (!traits_type::find(__s, __n, _M_data()[__pos])) - return __pos; - return npos; - } - - template - typename basic_string<_CharT, _Traits, _Alloc>::size_type - basic_string<_CharT, _Traits, _Alloc>:: - find_first_not_of(_CharT __c, size_type __pos) const noexcept - { - for (; __pos < this->size(); ++__pos) - if (!traits_type::eq(_M_data()[__pos], __c)) - return __pos; - return npos; - } - - template - typename basic_string<_CharT, _Traits, _Alloc>::size_type - basic_string<_CharT, _Traits, _Alloc>:: - find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const - noexcept - { - ; - size_type __size = this->size(); - if (__size) - { - if (--__size > __pos) - __size = __pos; - do - { - if (!traits_type::find(__s, __n, _M_data()[__size])) - return __size; - } - while (__size--); - } - return npos; - } - - template - typename basic_string<_CharT, _Traits, _Alloc>::size_type - basic_string<_CharT, _Traits, _Alloc>:: - find_last_not_of(_CharT __c, size_type __pos) const noexcept - { - size_type __size = this->size(); - if (__size) - { - if (--__size > __pos) - __size = __pos; - do - { - if (!traits_type::eq(_M_data()[__size], __c)) - return __size; - } - while (__size--); - } - return npos; - } - - template - int - basic_string<_CharT, _Traits, _Alloc>:: - compare(size_type __pos, size_type __n, const basic_string& __str) const - { - _M_check(__pos, "basic_string::compare"); - __n = _M_limit(__pos, __n); - const size_type __osize = __str.size(); - const size_type __len = std::min(__n, __osize); - int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len); - if (!__r) - __r = _S_compare(__n, __osize); - return __r; - } - - template - int - basic_string<_CharT, _Traits, _Alloc>:: - compare(size_type __pos1, size_type __n1, const basic_string& __str, - size_type __pos2, size_type __n2) const - { - _M_check(__pos1, "basic_string::compare"); - __str._M_check(__pos2, "basic_string::compare"); - __n1 = _M_limit(__pos1, __n1); - __n2 = __str._M_limit(__pos2, __n2); - const size_type __len = std::min(__n1, __n2); - int __r = traits_type::compare(_M_data() + __pos1, - __str.data() + __pos2, __len); - if (!__r) - __r = _S_compare(__n1, __n2); - return __r; - } - - template - int - basic_string<_CharT, _Traits, _Alloc>:: - compare(const _CharT* __s) const noexcept - { - ; - const size_type __size = this->size(); - const size_type __osize = traits_type::length(__s); - const size_type __len = std::min(__size, __osize); - int __r = traits_type::compare(_M_data(), __s, __len); - if (!__r) - __r = _S_compare(__size, __osize); - return __r; - } - - template - int - basic_string <_CharT, _Traits, _Alloc>:: - compare(size_type __pos, size_type __n1, const _CharT* __s) const - { - ; - _M_check(__pos, "basic_string::compare"); - __n1 = _M_limit(__pos, __n1); - const size_type __osize = traits_type::length(__s); - const size_type __len = std::min(__n1, __osize); - int __r = traits_type::compare(_M_data() + __pos, __s, __len); - if (!__r) - __r = _S_compare(__n1, __osize); - return __r; - } - - template - int - basic_string <_CharT, _Traits, _Alloc>:: - compare(size_type __pos, size_type __n1, const _CharT* __s, - size_type __n2) const - { - ; - _M_check(__pos, "basic_string::compare"); - __n1 = _M_limit(__pos, __n1); - const size_type __len = std::min(__n1, __n2); - int __r = traits_type::compare(_M_data() + __pos, __s, __len); - if (!__r) - __r = _S_compare(__n1, __n2); - return __r; - } - - - template - basic_istream<_CharT, _Traits>& - operator>>(basic_istream<_CharT, _Traits>& __in, - basic_string<_CharT, _Traits, _Alloc>& __str) - { - typedef basic_istream<_CharT, _Traits> __istream_type; - typedef basic_string<_CharT, _Traits, _Alloc> __string_type; - typedef typename __istream_type::ios_base __ios_base; - typedef typename __istream_type::int_type __int_type; - typedef typename __string_type::size_type __size_type; - typedef ctype<_CharT> __ctype_type; - typedef typename __ctype_type::ctype_base __ctype_base; - - __size_type __extracted = 0; - typename __ios_base::iostate __err = __ios_base::goodbit; - typename __istream_type::sentry __cerb(__in, false); - if (__cerb) - { - try - { - - __str.erase(); - _CharT __buf[128]; - __size_type __len = 0; - const streamsize __w = __in.width(); - const __size_type __n = __w > 0 ? static_cast<__size_type>(__w) - : __str.max_size(); - const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); - const __int_type __eof = _Traits::eof(); - __int_type __c = __in.rdbuf()->sgetc(); - - while (__extracted < __n - && !_Traits::eq_int_type(__c, __eof) - && !__ct.is(__ctype_base::space, - _Traits::to_char_type(__c))) - { - if (__len == sizeof(__buf) / sizeof(_CharT)) - { - __str.append(__buf, sizeof(__buf) / sizeof(_CharT)); - __len = 0; - } - __buf[__len++] = _Traits::to_char_type(__c); - ++__extracted; - __c = __in.rdbuf()->snextc(); - } - __str.append(__buf, __len); - - if (__extracted < __n && _Traits::eq_int_type(__c, __eof)) - __err |= __ios_base::eofbit; - __in.width(0); - } - catch(__cxxabiv1::__forced_unwind&) - { - __in._M_setstate(__ios_base::badbit); - throw; - } - catch(...) - { - - - - __in._M_setstate(__ios_base::badbit); - } - } - - if (!__extracted) - __err |= __ios_base::failbit; - if (__err) - __in.setstate(__err); - return __in; - } - - template - basic_istream<_CharT, _Traits>& - getline(basic_istream<_CharT, _Traits>& __in, - basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim) - { - typedef basic_istream<_CharT, _Traits> __istream_type; - typedef basic_string<_CharT, _Traits, _Alloc> __string_type; - typedef typename __istream_type::ios_base __ios_base; - typedef typename __istream_type::int_type __int_type; - typedef typename __string_type::size_type __size_type; - - __size_type __extracted = 0; - const __size_type __n = __str.max_size(); - typename __ios_base::iostate __err = __ios_base::goodbit; - typename __istream_type::sentry __cerb(__in, true); - if (__cerb) - { - try - { - __str.erase(); - const __int_type __idelim = _Traits::to_int_type(__delim); - const __int_type __eof = _Traits::eof(); - __int_type __c = __in.rdbuf()->sgetc(); - - while (__extracted < __n - && !_Traits::eq_int_type(__c, __eof) - && !_Traits::eq_int_type(__c, __idelim)) - { - __str += _Traits::to_char_type(__c); - ++__extracted; - __c = __in.rdbuf()->snextc(); - } - - if (_Traits::eq_int_type(__c, __eof)) - __err |= __ios_base::eofbit; - else if (_Traits::eq_int_type(__c, __idelim)) - { - ++__extracted; - __in.rdbuf()->sbumpc(); - } - else - __err |= __ios_base::failbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - __in._M_setstate(__ios_base::badbit); - throw; - } - catch(...) - { - - - - __in._M_setstate(__ios_base::badbit); - } - } - if (!__extracted) - __err |= __ios_base::failbit; - if (__err) - __in.setstate(__err); - return __in; - } -# 1627 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/basic_string.tcc" 3 - extern template class basic_string; - - - - - - - - extern template - basic_istream& - operator>>(basic_istream&, string&); - extern template - basic_ostream& - operator<<(basic_ostream&, const string&); - extern template - basic_istream& - getline(basic_istream&, string&, char); - extern template - basic_istream& - getline(basic_istream&, string&); - - - - extern template class basic_string; - - - - - - extern template - basic_istream& - operator>>(basic_istream&, wstring&); - extern template - basic_ostream& - operator<<(basic_ostream&, const wstring&); - extern template - basic_istream& - getline(basic_istream&, wstring&, wchar_t); - extern template - basic_istream& - getline(basic_istream&, wstring&); - - - - -} -# 57 "/usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/string" 2 3 -# 5 "include/Account.hxx" 2 - -# 5 "include/Account.hxx" -using namespace std; - -class Account -{ - public: - - Account() - { - myAccountNumber = 0; - myBalance = 0.0; - } - explicit Account(double initial) - { - myAccountNumber = 0; - myBalance = initial; -# 41 "include/Account.hxx" - } - - double getBalance() - { - return (myBalance); - } - int getAccountNumber() const - { - return (myAccountNumber); - } - - void setAccountNumber(int num) - { - myAccountNumber = num; - } - void setPassword(const char* password) - { - myPassword = password; - } - const char* getPassword() - { - return (myPassword.data()); - } - - double deposit(double amount); - - double debit(double amount); - - private: - - int myAccountNumber; - double myBalance; - string myPassword; -}; -# 2 "Account.cxx" 2 - -double Account::deposit(double amount) -{ - myBalance += amount; - return (getBalance()); -} - - -double Account::debit(double amount) -{ - myBalance -= amount; - return (getBalance()); -} diff --git a/.cpptest/cpptestcc/fe/a61394/0/Account.cxx.status b/.cpptest/cpptestcc/fe/a61394/0/Account.cxx.status deleted file mode 100644 index 50d8825..0000000 --- a/.cpptest/cpptestcc/fe/a61394/0/Account.cxx.status +++ /dev/null @@ -1,3 +0,0 @@ -xharness=1 -preprocess=0 -compiler=0 diff --git a/.github/workflows/branch1.yml b/.github/workflows/branch1.yml new file mode 100644 index 0000000..5e85d8a --- /dev/null +++ b/.github/workflows/branch1.yml @@ -0,0 +1,154 @@ +name: C/C++test with Make + +on: + # Triggers the workflow on push or pull request events but only for the branch1. + #push: + #branches: [ main, main ] + #branches: [ main ] + #branches: [ branch1 ] + #pull_request: + #branches: [ main, main ] + #branches: [ main ] + #branches: [ branch1 ] + + # Allows you to run this workflow manually from the Actions tab. + workflow_dispatch: + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel. +jobs: + run-cpptest-make: + name: Analyze project with C/C++test + + # Specifies required permissions for upload-sarif action + permissions: + # required for all workflows + security-events: write + # only required for workflows in private repositories + actions: read + contents: read + + # Specifies the type of runner that the job will run on. + runs-on: self-hosted + + # Steps represent a sequence of tasks that will be executed as part of the job. + steps: + + # Checks out your repository under $GITHUB_WORKSPACE, so that your job can access it. + #- name: Checkout code + # uses: actions/checkout@v4 + + # Builds your Make project using 'cpptesttrace' to collect input data for code analysis. + # Be sure 'cpptesttrace' is available on $PATH. + #- name: Build project + # run: cpptesttrace make clean all + - name: Checkout repository + # Use the 'run-cpptest-action' GitHub action. + uses: actions/checkout@v6 + with: + #ref: 'main' + set-safe-directory: 'D:/workspace/github/cpptest2025.2standard_runner/ATM' + fetch-depth: 0 + + # Runs code analysis with C/C++test. + #- name: show CppTest settings + #shell: cmd + # + # run: 'cpptestcli -data d:\workspace\github\cpptest_runner -resource ATM -config "user://MISRA C 2023 (MISRA C 2012) files modify or added" -report "_report" -localsettings "d:\workspace\cpptest\cpptest2025.1_runner.properties" -property "report.format=sarif" -appconsole stdout -showdetails' + # issue with naming of branch in Test configuration + #run: 'cpptestcli -data d:\workspace\github\cpptest_runner -resource ATM -config "user://MISRA C 2023 (MISRA C 2012) branch1 main" -report "_report" -localsettings "d:\workspace\cpptest\cpptest2025.1_runner.properties" -property "report.format=sarif" -appconsole stdout -showdetails' + # works fine + #run: 'cpptestcli -data d:\workspace\github\cpptest_runner -resource ATM -config "builtin://MISRA C 2023 (MISRA C 2012)" -report "_report" -localsettings "d:\workspace\cpptest\cpptest2025.1_runner.properties" -property "report.format=sarif" -appconsole stdout -showdetails' + # works fine + #run: '"C:\Parasoft\cpptest\2025.2_standalone\cpptestcli.exe" -data d:\workspace\github\cpptest_runner -resource ATM -config "builtin://MISRA C 2023 (MISRA C 2012)" -report "_report" -localsettings "d:\workspace\cpptest\cpptest2025.1_runner.properties" -property "report.format=sarif" -appconsole stdout -showdetails' + # issue with branch + #run: '"C:\Parasoft\cpptest\2025.2_standalone\cpptestcli.exe" -data d:\workspace\github\cpptest_runner -resource ATM -config "user://MISRA C 2023 (MISRA C 2012) branch1 main" -report "_report" -localsettings "d:\workspace\cpptest\cpptest2025.1_runner.properties" -property "report.format=sarif" -appconsole stdout -showdetails' + # issue with branch + #run: '"C:\Parasoft\cpptest\2025.2_standalone\cpptestcli.exe" -data d:\workspace\github\cpptest2025.2_runner -resource ATM -config "user://MISRA C 2023 (MISRA C 2012) branch1 main" -report "_report" -localsettings "d:\workspace\cpptest\cpptest2025.2_runner.properties" -property "report.format=sarif" -appconsole stdout -showdetails' + # branch issue + #run: '"c:\Parasoft\cpptest\2025.2_standard\cpptestcli.exe" -input "d:\workspace\github\cpptest2025.2standard_runner\ATM\ATM_github.bdf" -compiler gcc_9-64 -config "C:\Parasoft\cpptest\2025.2_standard\configs\user\MISRA C 2023 (MISRA C 2012) branch1 main.properties"' + # branch issue + # run: '"c:\Parasoft\cpptest\2025.2_standard\cpptestcli.exe" -showdetails -show-settings' + + #- name: Run C/C++test in shell + #shell: cmd + # + # run: 'cpptestcli -data d:\workspace\github\cpptest_runner -resource ATM -config "user://MISRA C 2023 (MISRA C 2012) files modify or added" -report "_report" -localsettings "d:\workspace\cpptest\cpptest2025.1_runner.properties" -property "report.format=sarif" -appconsole stdout -showdetails' + # issue with naming of branch in Test configuration + #run: 'cpptestcli -data d:\workspace\github\cpptest_runner -resource ATM -config "user://MISRA C 2023 (MISRA C 2012) branch1 main" -report "_report" -localsettings "d:\workspace\cpptest\cpptest2025.1_runner.properties" -property "report.format=sarif" -appconsole stdout -showdetails' + # works fine + #run: 'cpptestcli -data d:\workspace\github\cpptest_runner -resource ATM -config "builtin://MISRA C 2023 (MISRA C 2012)" -report "_report" -localsettings "d:\workspace\cpptest\cpptest2025.1_runner.properties" -property "report.format=sarif" -appconsole stdout -showdetails' + # works fine + #run: '"C:\Parasoft\cpptest\2025.2_standalone\cpptestcli.exe" -data d:\workspace\github\cpptest_runner -resource ATM -config "builtin://MISRA C 2023 (MISRA C 2012)" -report "_report" -localsettings "d:\workspace\cpptest\cpptest2025.1_runner.properties" -property "report.format=sarif" -appconsole stdout -showdetails' + # issue with branch + #run: '"C:\Parasoft\cpptest\2025.2_standalone\cpptestcli.exe" -data d:\workspace\github\cpptest_runner -resource ATM -config "user://MISRA C 2023 (MISRA C 2012) branch1 main" -report "_report" -localsettings "d:\workspace\cpptest\cpptest2025.1_runner.properties" -property "report.format=sarif" -appconsole stdout -showdetails' + # issue with branch + #run: '"C:\Parasoft\cpptest\2025.2_standalone\cpptestcli.exe" -data d:\workspace\github\cpptest2025.2_runner -resource ATM -config "user://MISRA C 2023 (MISRA C 2012) branch1 main" -report "_report" -localsettings "d:\workspace\cpptest\cpptest2025.2_runner.properties" -property "report.format=sarif" -appconsole stdout -showdetails' + # branch issue + #run: '"c:\Parasoft\cpptest\2025.2_standard\cpptestcli.exe" -input "d:\workspace\github\cpptest2025.2standard_runner\ATM\ATM_github.bdf" -compiler gcc_9-64 -config "C:\Parasoft\cpptest\2025.2_standard\configs\user\MISRA C 2023 (MISRA C 2012) branch1 main.properties"' + # branch issue + #run: '"c:\Parasoft\cpptest\2025.2_standard\cpptestcli.exe" -input "d:\workspace\github\cpptest2025.2standard_runner\ATM\ATM_github.bdf" -compiler gcc_9-64 -config "C:\Parasoft\cpptest\2025.2_standard\configs\builtin\MISRA C 2023 (MISRA C 2012).properties" -showdetails' + # branch issue + #run: '/home/sgrabinski/cpptest/2025.2_standard/cpptestcli -input "/home/sgrabinski/workspace2025.2_standard/ATM/ATM_github.bdf" -compiler gcc_9-64 -config "/home/sgrabinski/cpptest/2025.2_standard/configs/builtin/MISRA C 2023 (MISRA C 2012).properties" -showdetails' + #run: '"c:\Parasoft\cpptest\2025.2_standard\cpptestcli.exe" -input "d:\workspace\github\cpptest2025.2standard_runner\ATM\ATM_github.bdf" -compiler gcc_9-64 -config "C:\Parasoft\cpptest\2025.2_standard\configs\user\MISRA C 2023 (MISRA C 2012) branch1 main.properties"' + #commandLinePattern: '${cpptestcli} -data d:\workspace\github\cpptest_runner -resource ATM -config "builtin://MISRA C 2023 (MISRA C 2012)" -report "_report" -localsettings "d:\workspace\cpptest\cpptest2025.1.properties" -property "report.format=sarif"' + + #- name: Run C/C++test in shell + #shell: bash + #working-directory: /home/sgrabinski/workspace2025.2_standard + # works with branch but with below setup in properties file: + # scontrol.rep1.type=git + # scope.scontrol=true + # scope.scontrol.files.filter.mode=branch + # scope.scontrol.ref.branch=main + # scontrol.rep1.git.branch=branch1 + # scontrol.rep1.git.url=https\://github.com/stingerBoo/ATM.git + # scontrol.rep1.git.workspace=/home/sgrabinski/workspace2025.2_standard/ATM/ + #run: 'sudo -S <<< "password" /home/sgrabinski/cpptest/2025.2_standard/cpptestcli -input "/home/sgrabinski/workspace2025.2_standard/ATM/ATM_github.bdf" -compiler gcc_9-64 -config "/home/sgrabinski/cpptest/2025.2_standard/configs/builtin/MISRA C 2023 (MISRA C 2012).properties" -showdetails' + # + #run: 'sudo /home/sgrabinski/cpptest/2025.2_standard/cpptestcli -input "/home/sgrabinski/workspace2025.2_standard/ATM/ATM_github.bdf" -compiler gcc_9-64 -config "/home/sgrabinski/cpptest/2025.2_standard/configs/user/MISRA C 2023 (MISRA C 2012) branch1 main.properties" -showdetails' + # + #run: 'sudo /home/sgrabinski/cpptest/2025.2_standard/cpptestcli -input "/home/sgrabinski/workspace2025.2_standard/ATM/ATM_github.bdf" -compiler gcc_9-64 -config "/home/sgrabinski/cpptest/2025.2_standard/configs/user/MISRA C 2023 (MISRA C 2012) branch1 main.properties" -showdetails' + - name: a few commands + shell: cmd + run: git fetch --all | + git rev-parse --verify --quiet main | + git config --global --add safe.directory "D:\workspace\github\cpptest2025.2standard_runner\ATM" + + #- name: git fetch + #shell: cmd + #run: git fetch --all + + #- name: save.directory + # shell: cmd + # run: git config --global --add safe.directory "D:\workspace\github\cpptest2025.2standard_runner\ATM" + + #- name: re-parse main + #shell: cmd + #run: git rev-parse --verify --quiet main + + #Runs code analysis with C/C++test. + - name: Run C/C++test + # Use the 'run-cpptest-action' GitHub action. + uses: parasoft/run-cpptest-action@2.0.2 + with: + # + #additionalParams: "-J-Dscontrol.log=true" + #commandLinePattern: '${cpptestcli} -data d:\workspace\github\cpptest_runner -resource ATM -config "user://MISRA C 2023 (MISRA C 2012) branch1 main" -report "_report" -localsettings "d:\workspace\cpptest\cpptest2025.1.properties" -property "report.format=sarif" -appconsole stdout -showdetails' + #commandLinePattern: '${cpptestcli} -data d:\workspace\github\cpptest_runner -resource ATM -config "builtin://MISRA C 2023 (MISRA C 2012)" -report "_report" -localsettings "d:\workspace\cpptest\cpptest2025.1.properties" -property "report.format=sarif"' + #commandLinePattern: '${cpptestcli} -input "d:\workspace\github\cpptest2025.2standard_runner\ATM\ATM_github.bdf" -compiler gcc_9-64 -config "C:\Parasoft\cpptest\2025.2_standard\configs\builtin\MISRA C 2023 (MISRA C 2012).properties" -showdetails' + commandLinePattern: '${cpptestcli} -input "d:\workspace\github\cpptest2025.2standard_runner\ATM\ATM_github.bdf" -compiler gcc_9-64 -config "C:\Parasoft\cpptest\2025.2_standard\configs\user\MISRA C 2023 (MISRA C 2012) branch1 main.properties" -localsettings "D:\workspace\cpptest\cpptest2025.2_runner.properties" -showdetails' + + # Uploads analysis results in the SARIF format, so that they are displayed as GitHub code scanning alerts. + - name: Upload results (SARIF) + if: always() + uses: github/codeql-action/upload-sarif@v3 + with: + sarif_file: _report/report.sarif + + # Uploads an archive that includes all report files (.xml, .html, .sarif). + - name: Archive reports + if: always() + uses: actions/upload-artifact@v4 + with: + name: Static analysis reports + path: _report/*.* diff --git a/.github/workflows/main.yml b/.github/workflows/finalBranch_TestConfiguration_diff_between_branches.yml similarity index 50% rename from .github/workflows/main.yml rename to .github/workflows/finalBranch_TestConfiguration_diff_between_branches.yml index 4d76a30..3607c2f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/finalBranch_TestConfiguration_diff_between_branches.yml @@ -1,11 +1,15 @@ name: C/C++test with Make on: - # Triggers the workflow on push or pull request events but only for the master (main) branch. + # Triggers the workflow on push or pull request events but only for the branch1. push: - branches: [ master, main ] + #branches: [ main, main ] + #branches: [ main ] + branches: [ branch1 ] pull_request: - branches: [ master, main ] + #branches: [ main, main ] + #branches: [ main ] + branches: [ branch1 ] # Allows you to run this workflow manually from the Actions tab. workflow_dispatch: @@ -30,31 +34,34 @@ jobs: steps: # Checks out your repository under $GITHUB_WORKSPACE, so that your job can access it. - #- name: Checkout code - # uses: actions/checkout@v4 + - name: Checkout repository + # Use the 'run-cpptest-action' GitHub action. + uses: actions/checkout@v6 + with: + #ref: 'main' + set-safe-directory: 'D:/workspace/github/cpptest2025.2standard_runner/ATM' + fetch-depth: 0 + + # Use git command and add safe.directory which potentially solves + # the issue with Test Configuration > Scope > "Test only files modified between the current working branch and 'main'" + - name: Git commands and safe.directory + shell: cmd + run: git fetch --all | + git rev-parse --verify --quiet main | + git config --global --add safe.directory "D:\workspace\github\cpptest2025.2standard_runner\ATM" - # Builds your Make project using 'cpptesttrace' to collect input data for code analysis. - # Be sure 'cpptesttrace' is available on $PATH. - #- name: Build project - # run: cpptesttrace make clean all - - # Runs code analysis with C/C++test. + # Runs code analysis with C/C++test. - name: Run C/C++test # Use the 'run-cpptest-action' GitHub action. uses: parasoft/run-cpptest-action@2.0.2 with: - # To enable SARIF reporting, put additional configuration entries into config.properties file: - # - for C/C++test 2021.1 or newer - using built-in SARIF reporting: - # report.format=sarif - # - for older versions of C/C++test - using legacy SARIF reporting: - # report.format=custom - # report.custom.extension=sarif - # report.custom.xsl.file=${PARASOFT_SARIF_PRO_XSL} - # report.location_details=true - # additionalParams: '-localsettings config.properties' - # commandLinePattern: '${cpptestcli} -data ../workspace -config "builtin://Recommended Rules" -report "$_report/" ${additionalParams}' - commandLinePattern: '${cpptestcli} -data d:\workspace\2024.1 -resource ATM -config "builtin://SEI CERT C Guidelines" -report "_report" -localsettings "D:\workspace\cpptest2024.1.properties" -property "report.format=sarif"' - + # ${cpptestcli} is taken from System environemnt. + workingDir: 'd:\workspace\github\cpptest2025.2standard_runner\ATM\' + input: 'd:\workspace\github\cpptest2025.2standard_runner\ATM\ATM_github.bdf' + testConfig: 'C:\Parasoft\cpptest\2025.2_standard\configs\user\MISRA C 2023 (MISRA C 2012) branch1 main.properties' + installDir: 'c:\Parasoft\cpptest\2025.2_standard\' + commandLinePattern: '${cpptestcli} -input "${input}" -compiler gcc_9-64 -config "${testConfig}" -localsettings "D:\workspace\cpptest\cpptest2025.2_runner.properties" -showdetails' + # Uploads analysis results in the SARIF format, so that they are displayed as GitHub code scanning alerts. - name: Upload results (SARIF) if: always() diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml index 725172d..d5fb6e7 100644 --- a/.settings/language.settings.xml +++ b/.settings/language.settings.xml @@ -4,8 +4,8 @@ - - + + diff --git a/ATM.cxx b/ATM.cxx index ef323e2..e6e50c9 100644 --- a/ATM.cxx +++ b/ATM.cxx @@ -14,6 +14,16 @@ void ATM::viewAccount(int accountNumber, string password) myDisplay->showInfoToUser("Invalid account"); // } + if ( !(myCurrentAccount = myBank->getAccount(accountNumber, password)) ) + { + myDisplay->showInfoToUser("Invalid account"); + // + } + if ( !(myCurrentAccount = myBank->getAccount(accountNumber, password)) ) + { + myDisplay->showInfoToUser("Invalid account"); + // + } } void ATM::fillUserRequest(UserRequest request, double amount) diff --git a/ATM_github.bdf b/ATM_github.bdf new file mode 100644 index 0000000..60152da --- /dev/null +++ b/ATM_github.bdf @@ -0,0 +1,40 @@ +------- cpptestscan v.10.7.3.20251120B4516 (cpptesttrace) ------- +working_dir=d:\workspace\github\cpptest2025.2standard_runner\ATM +project_name=ATM_github +arg=C:\cygwin64\bin\g++.exe +arg=-g +arg=-Iinclude +arg=-o +arg=obj/ATM.o +arg=-c +arg=ATM.cxx +------- cpptestscan v.10.7.3.20251120B4516 (cpptesttrace) ------- +working_dir=d:\workspace\github\cpptest2025.2standard_runner\ATM +project_name=ATM_github +arg=C:\cygwin64\bin\g++.exe +arg=-g +arg=-Iinclude +arg=-o +arg=obj/Bank.o +arg=-c +arg=Bank.cxx +------- cpptestscan v.10.7.3.20251120B4516 (cpptesttrace) ------- +working_dir=d:\workspace\github\cpptest2025.2standard_runner\ATM +project_name=ATM_github +arg=C:\cygwin64\bin\g++.exe +arg=-g +arg=-Iinclude +arg=-o +arg=obj/BaseDisplay.o +arg=-c +arg=BaseDisplay.cxx +------- cpptestscan v.10.7.3.20251120B4516 (cpptesttrace) ------- +working_dir=d:\workspace\github\cpptest2025.2standard_runner\ATM +project_name=ATM_github +arg=C:\cygwin64\bin\g++.exe +arg=-g +arg=-Iinclude +arg=-o +arg=obj/Account.o +arg=-c +arg=Account.cxx diff --git a/Bank.cxx b/Bank.cxx index b08bceb..cd14967 100644 --- a/Bank.cxx +++ b/Bank.cxx @@ -1,6 +1,10 @@ #include "Bank.hxx" #include "Account.hxx" +// +// + +// Bank::Bank() : myAccounts() { myCurrentAccountNumber = 0; diff --git a/config.txt b/config.txt new file mode 100644 index 0000000..ef33b80 --- /dev/null +++ b/config.txt @@ -0,0 +1,52 @@ +diff.astextplain.textconv=astextplain +filter.lfs.clean=git-lfs clean -- %f +filter.lfs.smudge=git-lfs smudge -- %f +filter.lfs.process=git-lfs filter-process +filter.lfs.required=true +http.sslbackend=openssl +http.sslcainfo=C:/Program Files/Git/mingw64/etc/ssl/certs/ca-bundle.crt +core.autocrlf=true +core.fscache=true +core.symlinks=false +pull.rebase=false +credential.helper=manager +credential.https://dev.azure.com.usehttppath=true +init.defaultbranch=master +user.name=sgrabinski +user.email=sgrabinski@parasoft.com +difftool.sourcetree.cmd='' "$LOCAL" "$REMOTE" +mergetool.sourcetree.cmd='' +mergetool.sourcetree.trustexitcode=true +credential.helperselector.selected= +filter.lfs.clean=git-lfs clean -- %f +filter.lfs.smudge=git-lfs smudge -- %f +filter.lfs.process=git-lfs filter-process +filter.lfs.required=true +core.autocrlf=true +safe.direcotry=C:/Program Files (x86)/Jenkins/workspace/Git 2 +safe.directory=C:/Program Files/Git/cygdrive/c/Program Files (x86)/Jenkins/workspace/Git 2 +safe.directory=* +safe.directory=C:/Program Files/Git/cygdrive/c/Program Files (x86)/Jenkins/workspace/git 3 + +safe.directory=C:/Program Files/Git/cygdrive/c/Program Files (x86)/Jenkins/workspace/git 3 +safe.directory=D:/workspace/github/demo +safe.directory=D:/workspace/github/cpptest2025.2standard_runner/ATM +safe.directory=D:/workspace/github/cpptest2025.2standard_runner/ATM +safe.directory=D:\workspace\github\cpptest2025.2standard_runner\ATM +credential.helper=wincred +gpg.format=ssh +sgrabinski.signingkey=C:/Users/sgrabinski/.ssh/id_ed25519.pub +core.repositoryformatversion=0 +core.filemode=false +core.bare=false +core.logallrefupdates=true +core.symlinks=false +core.ignorecase=true +remote.origin.url=https://github.com/stingerBoo/ATM.git +remote.origin.fetch=+refs/heads/*:refs/remotes/origin/* +branch.main.remote=origin +branch.main.merge=refs/heads/main +branch.branch1.remote=origin +branch.branch1.merge=refs/heads/branch1 +branch.master.remote=origin +branch.master.merge=refs/heads/master diff --git a/obj/ATM.o b/obj/ATM.o new file mode 100644 index 0000000..0f88d42 Binary files /dev/null and b/obj/ATM.o differ diff --git a/obj/Account.o b/obj/Account.o new file mode 100644 index 0000000..8708dca Binary files /dev/null and b/obj/Account.o differ diff --git a/obj/Bank.o b/obj/Bank.o new file mode 100644 index 0000000..5d89511 Binary files /dev/null and b/obj/Bank.o differ diff --git a/obj/BaseDisplay.o b/obj/BaseDisplay.o new file mode 100644 index 0000000..5568aef Binary files /dev/null and b/obj/BaseDisplay.o differ