diff --git a/.idea/editor.xml b/.idea/editor.xml new file mode 100644 index 0000000..1f0ef49 --- /dev/null +++ b/.idea/editor.xml @@ -0,0 +1,580 @@ + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 750e551..a5826a0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,4 +11,6 @@ add_executable(NextFlick main.cpp admin.h Media.h Film.h - Series.h) + Series.h + CompressedTrie.cpp + CompressedTrie.h) diff --git a/CompressedTrie.cpp b/CompressedTrie.cpp new file mode 100644 index 0000000..ad4d03d --- /dev/null +++ b/CompressedTrie.cpp @@ -0,0 +1,135 @@ +// +// Created by ZBook Fury on 23/01/2025. +// + +#include "CompressedTrie.h" + +int CompressedTrie::findCommonPrefix(const string &str1, const string &str2) { + int i = 0; + while (i < str1.size() && i < str2.size() && str1[i] == str2[i]) { + ++i; + } + return i; +} + +void CompressedTrie::insert(Media *film) { + Node* current = root; + string remainingKey = film->getName(); + + while (!remainingKey.empty()) { + bool isEdgeFound = false; + + for (auto it = current->children.begin(); it != current->children.end(); ++it) { + string edgeLabel = it->first; + int commonPrefixLength = findCommonPrefix(remainingKey, edgeLabel); + + if (commonPrefixLength > 0) { + isEdgeFound = true; + + if (commonPrefixLength == edgeLabel.size()) { + current = it->second; + remainingKey = substring(remainingKey, commonPrefixLength); + } else { + Node* newNode = new Node(); + string remainingEdge = substring(edgeLabel, commonPrefixLength); + + Node* oldChild = it->second; + current->children.erase(it); + current->children[edgeLabel.substr(0, commonPrefixLength)] = newNode; + + newNode->children[remainingEdge] = oldChild; + + if (remainingKey.size() > commonPrefixLength) { + string remainingKeyPart = substring(remainingKey, commonPrefixLength); + newNode->children[remainingKeyPart] = new Node(); + newNode->children[remainingKeyPart]->isEnd = true; + newNode->children[remainingKeyPart]->mediaMap[film->getName()] = film; + } else { + newNode->isEnd = true; + newNode->mediaMap[film->getName()] = film; + } + } + break; + } + } + + if (!isEdgeFound) { + current->children[remainingKey] = new Node(); + current->children[remainingKey]->isEnd = true; + current->children[remainingKey]->mediaMap[film->getName()] = film; + return; + } + } + + current->isEnd = true; + current->mediaMap[film->getName()] = film; + + // Debug: Print the tree structure after inserting each film + cout << "Inserted: " << film->getName() << endl; + printTree(root, ""); +} + +void CompressedTrie::printTree(Node *node, const string &prefix) { + if (!node) return; + + for (const auto& child : node->children) { + cout << prefix << child.first << " -> "; + for (const auto& media : child.second->mediaMap) { + cout << media.first << " "; + } + cout << endl; + printTree(child.second, prefix + " "); + } +} + +void CompressedTrie::collectResults(Node* node, vector& results) { + if (node->isEnd) { + for (const auto& mediaPair : node->mediaMap) { + results.push_back(mediaPair.second); + } + } + + for (const auto& child : node->children) { + collectResults(child.second, results); + } +} +vector CompressedTrie:: search(const string& key) { + vector results; + Node* current = root; + string remainingKey = key; + + while (!remainingKey.empty()) { + bool isEdgeFound = false; + + + for (const auto& it : current->children) { + string edgeLabel = it.first; + int commonPrefixLength = findCommonPrefix(remainingKey, edgeLabel); + + if (commonPrefixLength > 0) { + isEdgeFound = true; + + if (commonPrefixLength == edgeLabel.size()) { + current = it.second; + remainingKey = substring(remainingKey, commonPrefixLength); + + + if (remainingKey.empty()) { + collectResults(current, results); + } + } else { + collectResults(it.second, results); + remainingKey.clear(); + break; + } + break; + } + } + + if (!isEdgeFound) { + break; + } + } + + return results; +} diff --git a/CompressedTrie.h b/CompressedTrie.h new file mode 100644 index 0000000..c033948 --- /dev/null +++ b/CompressedTrie.h @@ -0,0 +1,64 @@ +// +// Created by ZBook Fury on 23/01/2025. +// + +#ifndef COMPRESSEDTRIE_H +#define COMPRESSEDTRIE_H + +#include +#include +#include +#include +#include "Media.h" +using namespace std; + +class Node { +public: + unordered_map children; + unordered_map mediaMap; + bool isEnd; + + Node() : isEnd(false) {} +}; + + +class CompressedTrie { +private: + Node* root; + + + string substring(const string& str, int index) { + return str.substr(index); + } + + int findCommonPrefix(const string& str1, const string& str2); + +public: + // Constructor for the trie + CompressedTrie() { + root = new Node(); + } + + /* ~CompressedTrie() { + deleteTree(root); + }*/ + + /*void deleteTree(Node* node) { + if (!node) return; + for (auto& child : node->children) { + deleteTree(child.second); + } + delete node; + }*/ + + Node* getRoot() { + return root; + } + void insert(Media* film); + void printTree(Node* node, const string& prefix); + vector search(const string& query); + void collectResults(Node* node, vector& results); + +}; + +#endif //COMPRESSEDTRIE_H diff --git a/Film.h b/Film.h index b3bff71..dae166c 100644 --- a/Film.h +++ b/Film.h @@ -8,13 +8,13 @@ #include "Media.h" class Film : public Media { private: - int duration; + int duration{}; public: Film(const std::string& name, int releaseYear, int duration, const std::string& country, const std::string& genre, const std::string& language, double rating, const std::string& summary) : Media(name, releaseYear, country, genre, language, rating, summary), duration(duration) {} - + Film(const std::string &name) : Media(name) {} void displayDetails() const override { std::cout << "Film: " << name << "\n" << "Year: " << releaseYear << "\n" @@ -25,5 +25,6 @@ class Film : public Media { << "Rating: " << rating << "\n" << "Summary: " << summary << "\n"; } + }; #endif //NEXTFLICK_FILM_H diff --git a/Media.h b/Media.h index 725b25d..3106d13 100644 --- a/Media.h +++ b/Media.h @@ -22,9 +22,9 @@ class Media { public: Media(const std::string& name, int releaseYear, const std::string& country,const std::string& genre, const std::string& language, double rating, const std::string& summary) : name(name), releaseYear(releaseYear), country(country),genre(genre), language(language), rating(rating), summary(summary) {} - + Media(const std::string& name):name(name) {} virtual ~Media() = default; - + std::string getName() const { return name; } virtual void displayDetails() const = 0; }; diff --git a/cmake-build-debug/.cmake/api/v1/reply/cache-v2-d2b64f5df7d496fb9859.json b/cmake-build-debug/.cmake/api/v1/reply/cache-v2-4b4068ffa991af72a628.json similarity index 79% rename from cmake-build-debug/.cmake/api/v1/reply/cache-v2-d2b64f5df7d496fb9859.json rename to cmake-build-debug/.cmake/api/v1/reply/cache-v2-4b4068ffa991af72a628.json index 8aa2514..b3da940 100644 --- a/cmake-build-debug/.cmake/api/v1/reply/cache-v2-d2b64f5df7d496fb9859.json +++ b/cmake-build-debug/.cmake/api/v1/reply/cache-v2-4b4068ffa991af72a628.json @@ -15,7 +15,7 @@ } ], "type" : "FILEPATH", - "value" : "/usr/bin/addr2line" + "value" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/addr2line.exe" }, { "name" : "CMAKE_AR", @@ -31,7 +31,7 @@ } ], "type" : "FILEPATH", - "value" : "/usr/bin/ar" + "value" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/ar.exe" }, { "name" : "CMAKE_BUILD_TYPE", @@ -55,7 +55,7 @@ } ], "type" : "INTERNAL", - "value" : "/home/ghazal/CLionProjects/NextFlick/cmake-build-debug" + "value" : "c:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug" }, { "name" : "CMAKE_CACHE_MAJOR_VERSION", @@ -115,7 +115,7 @@ } ], "type" : "INTERNAL", - "value" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/bin/cmake" + "value" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/bin/cmake.exe" }, { "name" : "CMAKE_CPACK_COMMAND", @@ -127,7 +127,7 @@ } ], "type" : "INTERNAL", - "value" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/bin/cpack" + "value" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/bin/cpack.exe" }, { "name" : "CMAKE_CTEST_COMMAND", @@ -139,7 +139,7 @@ } ], "type" : "INTERNAL", - "value" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/bin/ctest" + "value" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/bin/ctest.exe" }, { "name" : "CMAKE_CXX_COMPILER", @@ -155,7 +155,7 @@ } ], "type" : "FILEPATH", - "value" : "/usr/bin/c++" + "value" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/g++.exe" }, { "name" : "CMAKE_CXX_COMPILER_AR", @@ -171,7 +171,7 @@ } ], "type" : "FILEPATH", - "value" : "/usr/bin/gcc-ar" + "value" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/gcc-ar.exe" }, { "name" : "CMAKE_CXX_COMPILER_RANLIB", @@ -187,7 +187,7 @@ } ], "type" : "FILEPATH", - "value" : "/usr/bin/gcc-ranlib" + "value" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/gcc-ranlib.exe" }, { "name" : "CMAKE_CXX_FLAGS", @@ -269,6 +269,22 @@ "type" : "STRING", "value" : "-O2 -g -DNDEBUG" }, + { + "name" : "CMAKE_CXX_STANDARD_LIBRARIES", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Libraries linked by default with all C++ applications." + } + ], + "type" : "STRING", + "value" : "-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32" + }, { "name" : "CMAKE_C_COMPILER", "properties" : @@ -283,7 +299,7 @@ } ], "type" : "FILEPATH", - "value" : "/usr/bin/cc" + "value" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/gcc.exe" }, { "name" : "CMAKE_C_COMPILER_AR", @@ -299,7 +315,7 @@ } ], "type" : "FILEPATH", - "value" : "/usr/bin/gcc-ar" + "value" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/gcc-ar.exe" }, { "name" : "CMAKE_C_COMPILER_RANLIB", @@ -315,7 +331,7 @@ } ], "type" : "FILEPATH", - "value" : "/usr/bin/gcc-ranlib" + "value" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/gcc-ranlib.exe" }, { "name" : "CMAKE_C_FLAGS", @@ -397,6 +413,22 @@ "type" : "STRING", "value" : "-O2 -g -DNDEBUG" }, + { + "name" : "CMAKE_C_STANDARD_LIBRARIES", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Libraries linked by default with all C applications." + } + ], + "type" : "STRING", + "value" : "-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32" + }, { "name" : "CMAKE_DLLTOOL", "properties" : @@ -411,7 +443,7 @@ } ], "type" : "FILEPATH", - "value" : "CMAKE_DLLTOOL-NOTFOUND" + "value" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/dlltool.exe" }, { "name" : "CMAKE_EXECUTABLE_FORMAT", @@ -423,7 +455,7 @@ } ], "type" : "INTERNAL", - "value" : "ELF" + "value" : "Unknown" }, { "name" : "CMAKE_EXE_LINKER_FLAGS", @@ -505,22 +537,6 @@ "type" : "STRING", "value" : "" }, - { - "name" : "CMAKE_EXPORT_COMPILE_COMMANDS", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Enable/Disable output of compile commands during generation." - } - ], - "type" : "BOOL", - "value" : "" - }, { "name" : "CMAKE_EXTRA_GENERATOR", "properties" : @@ -543,7 +559,7 @@ } ], "type" : "STATIC", - "value" : "/home/ghazal/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/pkgRedirects" + "value" : "C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/pkgRedirects" }, { "name" : "CMAKE_GENERATOR", @@ -555,7 +571,7 @@ } ], "type" : "INTERNAL", - "value" : "Ninja" + "value" : "MinGW Makefiles" }, { "name" : "CMAKE_GENERATOR_INSTANCE", @@ -594,40 +610,40 @@ "value" : "" }, { - "name" : "CMAKE_HOME_DIRECTORY", + "name" : "CMAKE_GNUtoMS", "properties" : [ { "name" : "HELPSTRING", - "value" : "Source directory with the top level CMakeLists.txt file for this project" + "value" : "Convert GNU import libraries to MS format (requires Visual Studio)" } ], - "type" : "INTERNAL", - "value" : "/home/ghazal/CLionProjects/NextFlick" + "type" : "BOOL", + "value" : "OFF" }, { - "name" : "CMAKE_INSTALL_PREFIX", + "name" : "CMAKE_HOME_DIRECTORY", "properties" : [ { "name" : "HELPSTRING", - "value" : "Install path prefix, prepended onto install directories." + "value" : "Source directory with the top level CMakeLists.txt file for this project" } ], - "type" : "PATH", - "value" : "/usr/local" + "type" : "INTERNAL", + "value" : "C:/Users/ZBook Fury/CLionProjects/NextFlick" }, { - "name" : "CMAKE_INSTALL_SO_NO_EXE", + "name" : "CMAKE_INSTALL_PREFIX", "properties" : [ { "name" : "HELPSTRING", - "value" : "Install .so files without execute permission." + "value" : "Install path prefix, prepended onto install directories." } ], - "type" : "INTERNAL", - "value" : "0" + "type" : "PATH", + "value" : "C:/Program Files (x86)/NextFlick" }, { "name" : "CMAKE_LINKER", @@ -643,19 +659,23 @@ } ], "type" : "FILEPATH", - "value" : "/usr/bin/ld" + "value" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/ld.exe" }, { "name" : "CMAKE_MAKE_PROGRAM", "properties" : [ + { + "name" : "ADVANCED", + "value" : "1" + }, { "name" : "HELPSTRING", - "value" : "No help, variable specified on the command line." + "value" : "make program" } ], - "type" : "UNINITIALIZED", - "value" : "/home/ghazal/Downloads/clion-2024.3/bin/ninja/linux/x64/ninja" + "type" : "FILEPATH", + "value" : "C:/Users/ZBOOKF~1/AppData/Local/JETBRA~1/CLION2~1.2/bin/mingw/bin/mingw32-make.exe" }, { "name" : "CMAKE_MODULE_LINKER_FLAGS", @@ -751,7 +771,7 @@ } ], "type" : "FILEPATH", - "value" : "/usr/bin/nm" + "value" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/nm.exe" }, { "name" : "CMAKE_NUMBER_OF_MAKEFILES", @@ -779,7 +799,7 @@ } ], "type" : "FILEPATH", - "value" : "/usr/bin/objcopy" + "value" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/objcopy.exe" }, { "name" : "CMAKE_OBJDUMP", @@ -795,7 +815,7 @@ } ], "type" : "FILEPATH", - "value" : "/usr/bin/objdump" + "value" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/objdump.exe" }, { "name" : "CMAKE_PLATFORM_INFO_INITIALIZED", @@ -859,7 +879,115 @@ } ], "type" : "FILEPATH", - "value" : "/usr/bin/ranlib" + "value" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/ranlib.exe" + }, + { + "name" : "CMAKE_RC_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "RC compiler" + } + ], + "type" : "FILEPATH", + "value" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/windres.exe" + }, + { + "name" : "CMAKE_RC_COMPILER_WORKS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_RC_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags for Windows Resource Compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_RC_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags for Windows Resource Compiler during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_RC_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags for Windows Resource Compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_RC_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags for Windows Resource Compiler during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_RC_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags for Windows Resource Compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" }, { "name" : "CMAKE_READELF", @@ -875,7 +1003,7 @@ } ], "type" : "FILEPATH", - "value" : "/usr/bin/readelf" + "value" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/readelf.exe" }, { "name" : "CMAKE_ROOT", @@ -887,7 +1015,7 @@ } ], "type" : "INTERNAL", - "value" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30" + "value" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30" }, { "name" : "CMAKE_SHARED_LINKER_FLAGS", @@ -1095,7 +1223,7 @@ } ], "type" : "FILEPATH", - "value" : "/usr/bin/strip" + "value" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/strip.exe" }, { "name" : "CMAKE_TAPI", @@ -1113,18 +1241,6 @@ "type" : "FILEPATH", "value" : "CMAKE_TAPI-NOTFOUND" }, - { - "name" : "CMAKE_UNAME", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "uname command" - } - ], - "type" : "INTERNAL", - "value" : "/usr/bin/uname" - }, { "name" : "CMAKE_VERBOSE_MAKEFILE", "properties" : @@ -1151,7 +1267,7 @@ } ], "type" : "STATIC", - "value" : "/home/ghazal/CLionProjects/NextFlick/cmake-build-debug" + "value" : "C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug" }, { "name" : "NextFlick_IS_TOP_LEVEL", @@ -1175,7 +1291,7 @@ } ], "type" : "STATIC", - "value" : "/home/ghazal/CLionProjects/NextFlick" + "value" : "C:/Users/ZBook Fury/CLionProjects/NextFlick" }, { "name" : "_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED", diff --git a/cmake-build-debug/.cmake/api/v1/reply/cmakeFiles-v1-2dea7ada1b8cdde1e7e0.json b/cmake-build-debug/.cmake/api/v1/reply/cmakeFiles-v1-2dea7ada1b8cdde1e7e0.json deleted file mode 100644 index 88f3ccd..0000000 --- a/cmake-build-debug/.cmake/api/v1/reply/cmakeFiles-v1-2dea7ada1b8cdde1e7e0.json +++ /dev/null @@ -1,141 +0,0 @@ -{ - "inputs" : - [ - { - "path" : "CMakeLists.txt" - }, - { - "isGenerated" : true, - "path" : "cmake-build-debug/CMakeFiles/3.30.5/CMakeSystem.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeSystemSpecificInitialize.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux-Initialize.cmake" - }, - { - "isGenerated" : true, - "path" : "cmake-build-debug/CMakeFiles/3.30.5/CMakeCCompiler.cmake" - }, - { - "isGenerated" : true, - "path" : "cmake-build-debug/CMakeFiles/3.30.5/CMakeCXXCompiler.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeSystemSpecificInformation.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeGenericSystem.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeInitializeConfigs.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/UnixPaths.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCInformation.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeLanguageInformation.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/Compiler/GNU-C.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/Compiler/GNU.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/Compiler/CMakeCommonCompilerMacros.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux-GNU-C.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux-GNU.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCommonLanguageInclude.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCXXInformation.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeLanguageInformation.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/Compiler/GNU-CXX.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/Compiler/GNU.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux-GNU-CXX.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux-GNU.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCommonLanguageInclude.cmake" - } - ], - "kind" : "cmakeFiles", - "paths" : - { - "build" : "/home/ghazal/CLionProjects/NextFlick/cmake-build-debug", - "source" : "/home/ghazal/CLionProjects/NextFlick" - }, - "version" : - { - "major" : 1, - "minor" : 1 - } -} diff --git a/cmake-build-debug/.cmake/api/v1/reply/cmakeFiles-v1-2f6f3e3933c7b037b26a.json b/cmake-build-debug/.cmake/api/v1/reply/cmakeFiles-v1-2f6f3e3933c7b037b26a.json new file mode 100644 index 0000000..3cdef53 --- /dev/null +++ b/cmake-build-debug/.cmake/api/v1/reply/cmakeFiles-v1-2f6f3e3933c7b037b26a.json @@ -0,0 +1,165 @@ +{ + "inputs" : + [ + { + "path" : "CMakeLists.txt" + }, + { + "isGenerated" : true, + "path" : "cmake-build-debug/CMakeFiles/3.30.5/CMakeSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeSystemSpecificInitialize.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Platform/Windows-Initialize.cmake" + }, + { + "isGenerated" : true, + "path" : "cmake-build-debug/CMakeFiles/3.30.5/CMakeCCompiler.cmake" + }, + { + "isGenerated" : true, + "path" : "cmake-build-debug/CMakeFiles/3.30.5/CMakeCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeSystemSpecificInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeGenericSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeInitializeConfigs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Platform/Windows.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Platform/WindowsPaths.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeCInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Compiler/GNU-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Compiler/GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Platform/Windows-GNU-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Platform/Windows-GNU.cmake" + }, + { + "isGenerated" : true, + "path" : "cmake-build-debug/CMakeFiles/3.30.5/CMakeRCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeRCInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Platform/Windows-windres.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Platform/Windows-GNU-C-ABI.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeCXXInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Compiler/GNU-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Compiler/GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Platform/Windows-GNU-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Platform/Windows-GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Platform/Windows-GNU-CXX-ABI.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeCommonLanguageInclude.cmake" + } + ], + "kind" : "cmakeFiles", + "paths" : + { + "build" : "C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug", + "source" : "C:/Users/ZBook Fury/CLionProjects/NextFlick" + }, + "version" : + { + "major" : 1, + "minor" : 1 + } +} diff --git a/cmake-build-debug/.cmake/api/v1/reply/codemodel-v2-6fdc8a744e682a9a049c.json b/cmake-build-debug/.cmake/api/v1/reply/codemodel-v2-170fd3b4577ad88b164e.json similarity index 72% rename from cmake-build-debug/.cmake/api/v1/reply/codemodel-v2-6fdc8a744e682a9a049c.json rename to cmake-build-debug/.cmake/api/v1/reply/codemodel-v2-170fd3b4577ad88b164e.json index b656d36..8a72b32 100644 --- a/cmake-build-debug/.cmake/api/v1/reply/codemodel-v2-6fdc8a744e682a9a049c.json +++ b/cmake-build-debug/.cmake/api/v1/reply/codemodel-v2-170fd3b4577ad88b164e.json @@ -6,7 +6,7 @@ [ { "build" : ".", - "jsonFile" : "directory-.-Debug-f5ebdc15457944623624.json", + "jsonFile" : "directory-.-Debug-d0094a50bb2071803777.json", "minimumCMakeVersion" : { "string" : "3.30" @@ -39,7 +39,7 @@ { "directoryIndex" : 0, "id" : "NextFlick::@6890427a1f51a3e7e1df", - "jsonFile" : "target-NextFlick-Debug-50cca67830a050799aab.json", + "jsonFile" : "target-NextFlick-Debug-207f5a7eaf805f58e927.json", "name" : "NextFlick", "projectIndex" : 0 } @@ -49,8 +49,8 @@ "kind" : "codemodel", "paths" : { - "build" : "/home/ghazal/CLionProjects/NextFlick/cmake-build-debug", - "source" : "/home/ghazal/CLionProjects/NextFlick" + "build" : "C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug", + "source" : "C:/Users/ZBook Fury/CLionProjects/NextFlick" }, "version" : { diff --git a/cmake-build-debug/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json b/cmake-build-debug/.cmake/api/v1/reply/directory-.-Debug-d0094a50bb2071803777.json similarity index 100% rename from cmake-build-debug/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json rename to cmake-build-debug/.cmake/api/v1/reply/directory-.-Debug-d0094a50bb2071803777.json diff --git a/cmake-build-debug/.cmake/api/v1/reply/index-2025-01-23T06-40-42-0040.json b/cmake-build-debug/.cmake/api/v1/reply/index-2025-01-23T15-14-22-0444.json similarity index 54% rename from cmake-build-debug/.cmake/api/v1/reply/index-2025-01-23T06-40-42-0040.json rename to cmake-build-debug/.cmake/api/v1/reply/index-2025-01-23T15-14-22-0444.json index 2b1f557..d88a920 100644 --- a/cmake-build-debug/.cmake/api/v1/reply/index-2025-01-23T06-40-42-0040.json +++ b/cmake-build-debug/.cmake/api/v1/reply/index-2025-01-23T15-14-22-0444.json @@ -4,14 +4,14 @@ "generator" : { "multiConfig" : false, - "name" : "Ninja" + "name" : "MinGW Makefiles" }, "paths" : { - "cmake" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/bin/cmake", - "cpack" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/bin/cpack", - "ctest" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/bin/ctest", - "root" : "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30" + "cmake" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/bin/cmake.exe", + "cpack" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/bin/cpack.exe", + "ctest" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/bin/ctest.exe", + "root" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30" }, "version" : { @@ -26,7 +26,7 @@ "objects" : [ { - "jsonFile" : "codemodel-v2-6fdc8a744e682a9a049c.json", + "jsonFile" : "codemodel-v2-170fd3b4577ad88b164e.json", "kind" : "codemodel", "version" : { @@ -35,7 +35,7 @@ } }, { - "jsonFile" : "cache-v2-d2b64f5df7d496fb9859.json", + "jsonFile" : "cache-v2-4b4068ffa991af72a628.json", "kind" : "cache", "version" : { @@ -44,7 +44,7 @@ } }, { - "jsonFile" : "cmakeFiles-v1-2dea7ada1b8cdde1e7e0.json", + "jsonFile" : "cmakeFiles-v1-2f6f3e3933c7b037b26a.json", "kind" : "cmakeFiles", "version" : { @@ -53,7 +53,7 @@ } }, { - "jsonFile" : "toolchains-v1-6b404eeb2db299b518ca.json", + "jsonFile" : "toolchains-v1-85eb8df44f8ece363688.json", "kind" : "toolchains", "version" : { @@ -66,7 +66,7 @@ { "cache-v2" : { - "jsonFile" : "cache-v2-d2b64f5df7d496fb9859.json", + "jsonFile" : "cache-v2-4b4068ffa991af72a628.json", "kind" : "cache", "version" : { @@ -76,7 +76,7 @@ }, "cmakeFiles-v1" : { - "jsonFile" : "cmakeFiles-v1-2dea7ada1b8cdde1e7e0.json", + "jsonFile" : "cmakeFiles-v1-2f6f3e3933c7b037b26a.json", "kind" : "cmakeFiles", "version" : { @@ -86,7 +86,7 @@ }, "codemodel-v2" : { - "jsonFile" : "codemodel-v2-6fdc8a744e682a9a049c.json", + "jsonFile" : "codemodel-v2-170fd3b4577ad88b164e.json", "kind" : "codemodel", "version" : { @@ -96,7 +96,7 @@ }, "toolchains-v1" : { - "jsonFile" : "toolchains-v1-6b404eeb2db299b518ca.json", + "jsonFile" : "toolchains-v1-85eb8df44f8ece363688.json", "kind" : "toolchains", "version" : { diff --git a/cmake-build-debug/.cmake/api/v1/reply/target-NextFlick-Debug-50cca67830a050799aab.json b/cmake-build-debug/.cmake/api/v1/reply/target-NextFlick-Debug-207f5a7eaf805f58e927.json similarity index 79% rename from cmake-build-debug/.cmake/api/v1/reply/target-NextFlick-Debug-50cca67830a050799aab.json rename to cmake-build-debug/.cmake/api/v1/reply/target-NextFlick-Debug-207f5a7eaf805f58e927.json index 7bd86de..b5c57d7 100644 --- a/cmake-build-debug/.cmake/api/v1/reply/target-NextFlick-Debug-50cca67830a050799aab.json +++ b/cmake-build-debug/.cmake/api/v1/reply/target-NextFlick-Debug-207f5a7eaf805f58e927.json @@ -2,7 +2,10 @@ "artifacts" : [ { - "path" : "NextFlick" + "path" : "NextFlick.exe" + }, + { + "path" : "NextFlick.pdb" } ], "backtrace" : 1, @@ -51,7 +54,8 @@ [ 0, 1, - 4 + 4, + 9 ] } ], @@ -67,12 +71,16 @@ { "fragment" : "", "role" : "flags" + }, + { + "fragment" : "-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32", + "role" : "libraries" } ], "language" : "CXX" }, "name" : "NextFlick", - "nameOnDisk" : "NextFlick", + "nameOnDisk" : "NextFlick.exe", "paths" : { "build" : ".", @@ -86,7 +94,8 @@ [ 0, 1, - 4 + 4, + 9 ] }, { @@ -98,7 +107,8 @@ 5, 6, 7, - 8 + 8, + 10 ] } ], @@ -151,6 +161,17 @@ "backtrace" : 1, "path" : "Series.h", "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "CompressedTrie.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "CompressedTrie.h", + "sourceGroupIndex" : 1 } ], "type" : "EXECUTABLE" diff --git a/cmake-build-debug/.cmake/api/v1/reply/toolchains-v1-6b404eeb2db299b518ca.json b/cmake-build-debug/.cmake/api/v1/reply/toolchains-v1-6b404eeb2db299b518ca.json deleted file mode 100644 index e66f362..0000000 --- a/cmake-build-debug/.cmake/api/v1/reply/toolchains-v1-6b404eeb2db299b518ca.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "kind" : "toolchains", - "toolchains" : - [ - { - "compiler" : - { - "id" : "GNU", - "implicit" : - { - "includeDirectories" : - [ - "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include", - "/usr/local/include", - "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include-fixed", - "/usr/include" - ], - "linkDirectories" : - [ - "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1", - "/usr/lib", - "/lib" - ], - "linkFrameworkDirectories" : [], - "linkLibraries" : - [ - "gcc", - "gcc_s", - "c", - "gcc", - "gcc_s" - ] - }, - "path" : "/usr/bin/cc", - "version" : "14.1.1" - }, - "language" : "C", - "sourceFileExtensions" : - [ - "c", - "m" - ] - }, - { - "compiler" : - { - "id" : "GNU", - "implicit" : - { - "includeDirectories" : - [ - "/usr/include/c++/14.1.1", - "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu", - "/usr/include/c++/14.1.1/backward", - "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include", - "/usr/local/include", - "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include-fixed", - "/usr/include" - ], - "linkDirectories" : - [ - "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1", - "/usr/lib", - "/lib" - ], - "linkFrameworkDirectories" : [], - "linkLibraries" : - [ - "stdc++", - "m", - "gcc_s", - "gcc", - "c", - "gcc_s", - "gcc" - ] - }, - "path" : "/usr/bin/c++", - "version" : "14.1.1" - }, - "language" : "CXX", - "sourceFileExtensions" : - [ - "C", - "M", - "c++", - "cc", - "cpp", - "cxx", - "mm", - "mpp", - "CPP", - "ixx", - "cppm", - "ccm", - "cxxm", - "c++m" - ] - } - ], - "version" : - { - "major" : 1, - "minor" : 0 - } -} diff --git a/cmake-build-debug/.cmake/api/v1/reply/toolchains-v1-85eb8df44f8ece363688.json b/cmake-build-debug/.cmake/api/v1/reply/toolchains-v1-85eb8df44f8ece363688.json new file mode 100644 index 0000000..ac6311e --- /dev/null +++ b/cmake-build-debug/.cmake/api/v1/reply/toolchains-v1-85eb8df44f8ece363688.json @@ -0,0 +1,93 @@ +{ + "kind" : "toolchains", + "toolchains" : + [ + { + "compiler" : + { + "id" : "GNU", + "implicit" : + { + "includeDirectories" : + [ + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include", + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/include", + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed", + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include" + ], + "linkDirectories" : [], + "linkFrameworkDirectories" : [], + "linkLibraries" : [] + }, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/gcc.exe", + "version" : "13.1.0" + }, + "language" : "C", + "sourceFileExtensions" : + [ + "c", + "m" + ] + }, + { + "compiler" : + { + "id" : "GNU", + "implicit" : + { + "includeDirectories" : + [ + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++", + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32", + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward", + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include", + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/include", + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed", + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include" + ], + "linkDirectories" : [], + "linkFrameworkDirectories" : [], + "linkLibraries" : [] + }, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/g++.exe", + "version" : "13.1.0" + }, + "language" : "CXX", + "sourceFileExtensions" : + [ + "C", + "M", + "c++", + "cc", + "cpp", + "cxx", + "mm", + "mpp", + "CPP", + "ixx", + "cppm", + "ccm", + "cxxm", + "c++m" + ] + }, + { + "compiler" : + { + "implicit" : {}, + "path" : "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/windres.exe" + }, + "language" : "RC", + "sourceFileExtensions" : + [ + "rc", + "RC" + ] + } + ], + "version" : + { + "major" : 1, + "minor" : 0 + } +} diff --git a/cmake-build-debug/CMakeCache.txt b/cmake-build-debug/CMakeCache.txt index 2fff3a5..f8f1041 100644 --- a/cmake-build-debug/CMakeCache.txt +++ b/cmake-build-debug/CMakeCache.txt @@ -1,6 +1,6 @@ # This is the CMakeCache file. -# For build in directory: /home/ghazal/CLionProjects/NextFlick/cmake-build-debug -# It was generated by CMake: /home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/bin/cmake +# For build in directory: c:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug +# It was generated by CMake: C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/bin/cmake.exe # You can edit this file to change values found and used by cmake. # If you do not want to change any of the values, simply exit the editor. # If you do want to change a value, simply edit, save, and exit the editor. @@ -15,10 +15,10 @@ ######################## //Path to a program. -CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line +CMAKE_ADDR2LINE:FILEPATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/addr2line.exe //Path to a program. -CMAKE_AR:FILEPATH=/usr/bin/ar +CMAKE_AR:FILEPATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/ar.exe //Choose the type of build, options are: None Debug Release RelWithDebInfo // MinSizeRel ... @@ -28,15 +28,15 @@ CMAKE_BUILD_TYPE:STRING=Debug CMAKE_COLOR_DIAGNOSTICS:BOOL=ON //CXX compiler -CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ +CMAKE_CXX_COMPILER:FILEPATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/g++.exe //A wrapper around 'ar' adding the appropriate '--plugin' option // for the GCC compiler -CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar +CMAKE_CXX_COMPILER_AR:FILEPATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/gcc-ar.exe //A wrapper around 'ranlib' adding the appropriate '--plugin' option // for the GCC compiler -CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/gcc-ranlib.exe //Flags used by the CXX compiler during all build types. CMAKE_CXX_FLAGS:STRING= @@ -53,16 +53,19 @@ CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG //Flags used by the CXX compiler during RELWITHDEBINFO builds. CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG +//Libraries linked by default with all C++ applications. +CMAKE_CXX_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 + //C compiler -CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc +CMAKE_C_COMPILER:FILEPATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/gcc.exe //A wrapper around 'ar' adding the appropriate '--plugin' option // for the GCC compiler -CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar +CMAKE_C_COMPILER_AR:FILEPATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/gcc-ar.exe //A wrapper around 'ranlib' adding the appropriate '--plugin' option // for the GCC compiler -CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib +CMAKE_C_COMPILER_RANLIB:FILEPATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/gcc-ranlib.exe //Flags used by the C compiler during all build types. CMAKE_C_FLAGS:STRING= @@ -79,8 +82,11 @@ CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG //Flags used by the C compiler during RELWITHDEBINFO builds. CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG +//Libraries linked by default with all C applications. +CMAKE_C_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 + //Path to a program. -CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND +CMAKE_DLLTOOL:FILEPATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/dlltool.exe //Flags used by the linker during all build types. CMAKE_EXE_LINKER_FLAGS:STRING= @@ -97,20 +103,20 @@ CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= //Flags used by the linker during RELWITHDEBINFO builds. CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= -//Enable/Disable output of compile commands during generation. -CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= - //Value Computed by CMake. -CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/ghazal/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/pkgRedirects +CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/pkgRedirects + +//Convert GNU import libraries to MS format (requires Visual Studio) +CMAKE_GNUtoMS:BOOL=OFF //Install path prefix, prepended onto install directories. -CMAKE_INSTALL_PREFIX:PATH=/usr/local +CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/NextFlick //Path to a program. -CMAKE_LINKER:FILEPATH=/usr/bin/ld +CMAKE_LINKER:FILEPATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/ld.exe -//No help, variable specified on the command line. -CMAKE_MAKE_PROGRAM:UNINITIALIZED=/home/ghazal/Downloads/clion-2024.3/bin/ninja/linux/x64/ninja +//make program +CMAKE_MAKE_PROGRAM:FILEPATH=C:/Users/ZBOOKF~1/AppData/Local/JETBRA~1/CLION2~1.2/bin/mingw/bin/mingw32-make.exe //Flags used by the linker during the creation of modules during // all build types. @@ -133,13 +139,13 @@ CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= //Path to a program. -CMAKE_NM:FILEPATH=/usr/bin/nm +CMAKE_NM:FILEPATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/nm.exe //Path to a program. -CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy +CMAKE_OBJCOPY:FILEPATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/objcopy.exe //Path to a program. -CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump +CMAKE_OBJDUMP:FILEPATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/objdump.exe //Value Computed by CMake CMAKE_PROJECT_DESCRIPTION:STATIC= @@ -151,10 +157,28 @@ CMAKE_PROJECT_HOMEPAGE_URL:STATIC= CMAKE_PROJECT_NAME:STATIC=NextFlick //Path to a program. -CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib +CMAKE_RANLIB:FILEPATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/ranlib.exe + +//RC compiler +CMAKE_RC_COMPILER:FILEPATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/windres.exe + +//Flags for Windows Resource Compiler during all build types. +CMAKE_RC_FLAGS:STRING= + +//Flags for Windows Resource Compiler during DEBUG builds. +CMAKE_RC_FLAGS_DEBUG:STRING= + +//Flags for Windows Resource Compiler during MINSIZEREL builds. +CMAKE_RC_FLAGS_MINSIZEREL:STRING= + +//Flags for Windows Resource Compiler during RELEASE builds. +CMAKE_RC_FLAGS_RELEASE:STRING= + +//Flags for Windows Resource Compiler during RELWITHDEBINFO builds. +CMAKE_RC_FLAGS_RELWITHDEBINFO:STRING= //Path to a program. -CMAKE_READELF:FILEPATH=/usr/bin/readelf +CMAKE_READELF:FILEPATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/readelf.exe //Flags used by the linker during the creation of shared libraries // during all build types. @@ -204,7 +228,7 @@ CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= //Path to a program. -CMAKE_STRIP:FILEPATH=/usr/bin/strip +CMAKE_STRIP:FILEPATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/strip.exe //Path to a program. CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND @@ -216,13 +240,13 @@ CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE //Value Computed by CMake -NextFlick_BINARY_DIR:STATIC=/home/ghazal/CLionProjects/NextFlick/cmake-build-debug +NextFlick_BINARY_DIR:STATIC=C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug //Value Computed by CMake NextFlick_IS_TOP_LEVEL:STATIC=ON //Value Computed by CMake -NextFlick_SOURCE_DIR:STATIC=/home/ghazal/CLionProjects/NextFlick +NextFlick_SOURCE_DIR:STATIC=C:/Users/ZBook Fury/CLionProjects/NextFlick ######################## @@ -234,7 +258,7 @@ CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_AR CMAKE_AR-ADVANCED:INTERNAL=1 //This is the directory where this CMakeCache.txt was created -CMAKE_CACHEFILE_DIR:INTERNAL=/home/ghazal/CLionProjects/NextFlick/cmake-build-debug +CMAKE_CACHEFILE_DIR:INTERNAL=c:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug //Major version of cmake used to create the current loaded cache CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 //Minor version of cmake used to create the current loaded cache @@ -242,11 +266,11 @@ CMAKE_CACHE_MINOR_VERSION:INTERNAL=30 //Patch version of cmake used to create the current loaded cache CMAKE_CACHE_PATCH_VERSION:INTERNAL=5 //Path to CMake executable. -CMAKE_COMMAND:INTERNAL=/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/bin/cmake +CMAKE_COMMAND:INTERNAL=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/bin/cmake.exe //Path to cpack program executable. -CMAKE_CPACK_COMMAND:INTERNAL=/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/bin/cpack +CMAKE_CPACK_COMMAND:INTERNAL=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/bin/cpack.exe //Path to ctest program executable. -CMAKE_CTEST_COMMAND:INTERNAL=/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/bin/ctest +CMAKE_CTEST_COMMAND:INTERNAL=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/bin/ctest.exe //ADVANCED property for variable: CMAKE_CXX_COMPILER CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_COMPILER_AR @@ -263,6 +287,8 @@ CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES +CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_COMPILER CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_COMPILER_AR @@ -279,10 +305,12 @@ CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES +CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_DLLTOOL CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 //Executable file format -CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG @@ -293,12 +321,10 @@ CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS -CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 //Name of external makefile project generator. CMAKE_EXTRA_GENERATOR:INTERNAL= //Name of generator. -CMAKE_GENERATOR:INTERNAL=Ninja +CMAKE_GENERATOR:INTERNAL=MinGW Makefiles //Generator instance identifier. CMAKE_GENERATOR_INSTANCE:INTERNAL= //Name of generator platform. @@ -307,11 +333,11 @@ CMAKE_GENERATOR_PLATFORM:INTERNAL= CMAKE_GENERATOR_TOOLSET:INTERNAL= //Source directory with the top level CMakeLists.txt file for this // project -CMAKE_HOME_DIRECTORY:INTERNAL=/home/ghazal/CLionProjects/NextFlick -//Install .so files without execute permission. -CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0 +CMAKE_HOME_DIRECTORY:INTERNAL=C:/Users/ZBook Fury/CLionProjects/NextFlick //ADVANCED property for variable: CMAKE_LINKER CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MAKE_PROGRAM +CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG @@ -334,10 +360,23 @@ CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 //ADVANCED property for variable: CMAKE_RANLIB CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_COMPILER +CMAKE_RC_COMPILER-ADVANCED:INTERNAL=1 +CMAKE_RC_COMPILER_WORKS:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS +CMAKE_RC_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS_DEBUG +CMAKE_RC_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS_MINSIZEREL +CMAKE_RC_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS_RELEASE +CMAKE_RC_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS_RELWITHDEBINFO +CMAKE_RC_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_READELF CMAKE_READELF-ADVANCED:INTERNAL=1 //Path to CMake installation. -CMAKE_ROOT:INTERNAL=/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30 +CMAKE_ROOT:INTERNAL=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG @@ -366,8 +405,6 @@ CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 CMAKE_STRIP-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_TAPI CMAKE_TAPI-ADVANCED:INTERNAL=1 -//uname command -CMAKE_UNAME:INTERNAL=/usr/bin/uname //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 //linker supports push/pop state diff --git a/cmake-build-debug/CMakeFiles/3.30.5/CMakeCCompiler.cmake b/cmake-build-debug/CMakeFiles/3.30.5/CMakeCCompiler.cmake index 77fc419..25022a8 100644 --- a/cmake-build-debug/CMakeFiles/3.30.5/CMakeCCompiler.cmake +++ b/cmake-build-debug/CMakeFiles/3.30.5/CMakeCCompiler.cmake @@ -1,7 +1,7 @@ -set(CMAKE_C_COMPILER "/usr/bin/cc") +set(CMAKE_C_COMPILER "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/gcc.exe") set(CMAKE_C_COMPILER_ARG1 "") set(CMAKE_C_COMPILER_ID "GNU") -set(CMAKE_C_COMPILER_VERSION "14.1.1") +set(CMAKE_C_COMPILER_VERSION "13.1.0") set(CMAKE_C_COMPILER_VERSION_INTERNAL "") set(CMAKE_C_COMPILER_WRAPPER "") set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17") @@ -14,7 +14,7 @@ set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") set(CMAKE_C17_COMPILE_FEATURES "c_std_17") set(CMAKE_C23_COMPILE_FEATURES "c_std_23") -set(CMAKE_C_PLATFORM_ID "Linux") +set(CMAKE_C_PLATFORM_ID "MinGW") set(CMAKE_C_SIMULATE_ID "") set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU") set(CMAKE_C_SIMULATE_VERSION "") @@ -22,16 +22,16 @@ set(CMAKE_C_SIMULATE_VERSION "") -set(CMAKE_AR "/usr/bin/ar") -set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar") -set(CMAKE_RANLIB "/usr/bin/ranlib") -set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib") -set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_AR "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/ar.exe") +set(CMAKE_C_COMPILER_AR "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/gcc-ar.exe") +set(CMAKE_RANLIB "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/ranlib.exe") +set(CMAKE_C_COMPILER_RANLIB "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/gcc-ranlib.exe") +set(CMAKE_LINKER "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/ld.exe") set(CMAKE_LINKER_LINK "") set(CMAKE_LINKER_LLD "") -set(CMAKE_C_COMPILER_LINKER "/usr/bin/ld") +set(CMAKE_C_COMPILER_LINKER "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/ld.exe") set(CMAKE_C_COMPILER_LINKER_ID "GNU") -set(CMAKE_C_COMPILER_LINKER_VERSION 2.42.0) +set(CMAKE_C_COMPILER_LINKER_VERSION 2.40) set(CMAKE_C_COMPILER_LINKER_FRONTEND_VARIANT GNU) set(CMAKE_MT "") set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND") @@ -50,7 +50,7 @@ set(CMAKE_C_LINKER_DEPFILE_SUPPORTED FALSE) # Save compiler ABI information. set(CMAKE_C_SIZEOF_DATA_PTR "8") -set(CMAKE_C_COMPILER_ABI "ELF") +set(CMAKE_C_COMPILER_ABI "") set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") set(CMAKE_C_LIBRARY_ARCHITECTURE "") @@ -75,7 +75,7 @@ endif() -set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include;/usr/local/include;/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include-fixed;/usr/include") -set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s") -set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1;/usr/lib;/lib") +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/include;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "") set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/cmake-build-debug/CMakeFiles/3.30.5/CMakeCXXCompiler.cmake b/cmake-build-debug/CMakeFiles/3.30.5/CMakeCXXCompiler.cmake index 5a8c9d0..7dd9425 100644 --- a/cmake-build-debug/CMakeFiles/3.30.5/CMakeCXXCompiler.cmake +++ b/cmake-build-debug/CMakeFiles/3.30.5/CMakeCXXCompiler.cmake @@ -1,22 +1,22 @@ -set(CMAKE_CXX_COMPILER "/usr/bin/c++") +set(CMAKE_CXX_COMPILER "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/g++.exe") set(CMAKE_CXX_COMPILER_ARG1 "") set(CMAKE_CXX_COMPILER_ID "GNU") -set(CMAKE_CXX_COMPILER_VERSION "14.1.1") +set(CMAKE_CXX_COMPILER_VERSION "13.1.0") set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") set(CMAKE_CXX_COMPILER_WRAPPER "") set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17") set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON") -set(CMAKE_CXX_STANDARD_LATEST "26") -set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23;cxx_std_26") +set(CMAKE_CXX_STANDARD_LATEST "23") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23") set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23") -set(CMAKE_CXX26_COMPILE_FEATURES "cxx_std_26") +set(CMAKE_CXX26_COMPILE_FEATURES "") -set(CMAKE_CXX_PLATFORM_ID "Linux") +set(CMAKE_CXX_PLATFORM_ID "MinGW") set(CMAKE_CXX_SIMULATE_ID "") set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU") set(CMAKE_CXX_SIMULATE_VERSION "") @@ -24,16 +24,16 @@ set(CMAKE_CXX_SIMULATE_VERSION "") -set(CMAKE_AR "/usr/bin/ar") -set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar") -set(CMAKE_RANLIB "/usr/bin/ranlib") -set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib") -set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_AR "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/ar.exe") +set(CMAKE_CXX_COMPILER_AR "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/gcc-ar.exe") +set(CMAKE_RANLIB "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/ranlib.exe") +set(CMAKE_CXX_COMPILER_RANLIB "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/gcc-ranlib.exe") +set(CMAKE_LINKER "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/ld.exe") set(CMAKE_LINKER_LINK "") set(CMAKE_LINKER_LLD "") -set(CMAKE_CXX_COMPILER_LINKER "/usr/bin/ld") +set(CMAKE_CXX_COMPILER_LINKER "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/ld.exe") set(CMAKE_CXX_COMPILER_LINKER_ID "GNU") -set(CMAKE_CXX_COMPILER_LINKER_VERSION 2.42.0) +set(CMAKE_CXX_COMPILER_LINKER_VERSION 2.40) set(CMAKE_CXX_COMPILER_LINKER_FRONTEND_VARIANT GNU) set(CMAKE_MT "") set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND") @@ -62,7 +62,7 @@ set(CMAKE_CXX_LINKER_DEPFILE_SUPPORTED FALSE) # Save compiler ABI information. set(CMAKE_CXX_SIZEOF_DATA_PTR "8") -set(CMAKE_CXX_COMPILER_ABI "ELF") +set(CMAKE_CXX_COMPILER_ABI "") set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") set(CMAKE_CXX_LIBRARY_ARCHITECTURE "") @@ -87,19 +87,15 @@ endif() -set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/14.1.1;/usr/include/c++/14.1.1/x86_64-pc-linux-gnu;/usr/include/c++/14.1.1/backward;/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include;/usr/local/include;/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include-fixed;/usr/include") -set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc") -set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1;/usr/lib;/lib") +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/include;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "") set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") set(CMAKE_CXX_COMPILER_CLANG_RESOURCE_DIR "") set(CMAKE_CXX_COMPILER_IMPORT_STD "") ### Imported target for C++23 standard library -set(CMAKE_CXX23_COMPILER_IMPORT_STD_NOT_FOUND_MESSAGE "Toolchain does not support discovering `import std` support") - - -### Imported target for C++26 standard library -set(CMAKE_CXX26_COMPILER_IMPORT_STD_NOT_FOUND_MESSAGE "Toolchain does not support discovering `import std` support") +set(CMAKE_CXX23_COMPILER_IMPORT_STD_NOT_FOUND_MESSAGE "Unsupported generator: MinGW Makefiles") diff --git a/cmake-build-debug/CMakeFiles/3.30.5/CMakeDetermineCompilerABI_C.bin b/cmake-build-debug/CMakeFiles/3.30.5/CMakeDetermineCompilerABI_C.bin index 04c8c71..fbe3777 100755 Binary files a/cmake-build-debug/CMakeFiles/3.30.5/CMakeDetermineCompilerABI_C.bin and b/cmake-build-debug/CMakeFiles/3.30.5/CMakeDetermineCompilerABI_C.bin differ diff --git a/cmake-build-debug/CMakeFiles/3.30.5/CMakeDetermineCompilerABI_CXX.bin b/cmake-build-debug/CMakeFiles/3.30.5/CMakeDetermineCompilerABI_CXX.bin index d4115da..3196246 100755 Binary files a/cmake-build-debug/CMakeFiles/3.30.5/CMakeDetermineCompilerABI_CXX.bin and b/cmake-build-debug/CMakeFiles/3.30.5/CMakeDetermineCompilerABI_CXX.bin differ diff --git a/cmake-build-debug/CMakeFiles/3.30.5/CMakeRCCompiler.cmake b/cmake-build-debug/CMakeFiles/3.30.5/CMakeRCCompiler.cmake new file mode 100644 index 0000000..23b91e5 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/3.30.5/CMakeRCCompiler.cmake @@ -0,0 +1,6 @@ +set(CMAKE_RC_COMPILER "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/windres.exe") +set(CMAKE_RC_COMPILER_ARG1 "") +set(CMAKE_RC_COMPILER_LOADED 1) +set(CMAKE_RC_SOURCE_FILE_EXTENSIONS rc;RC) +set(CMAKE_RC_OUTPUT_EXTENSION .obj) +set(CMAKE_RC_COMPILER_ENV_VAR "RC") diff --git a/cmake-build-debug/CMakeFiles/3.30.5/CMakeSystem.cmake b/cmake-build-debug/CMakeFiles/3.30.5/CMakeSystem.cmake index 01b4866..909db20 100644 --- a/cmake-build-debug/CMakeFiles/3.30.5/CMakeSystem.cmake +++ b/cmake-build-debug/CMakeFiles/3.30.5/CMakeSystem.cmake @@ -1,14 +1,14 @@ -set(CMAKE_HOST_SYSTEM "Linux-6.9.10-1-MANJARO") -set(CMAKE_HOST_SYSTEM_NAME "Linux") -set(CMAKE_HOST_SYSTEM_VERSION "6.9.10-1-MANJARO") -set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") +set(CMAKE_HOST_SYSTEM "Windows-10.0.19045") +set(CMAKE_HOST_SYSTEM_NAME "Windows") +set(CMAKE_HOST_SYSTEM_VERSION "10.0.19045") +set(CMAKE_HOST_SYSTEM_PROCESSOR "AMD64") -set(CMAKE_SYSTEM "Linux-6.9.10-1-MANJARO") -set(CMAKE_SYSTEM_NAME "Linux") -set(CMAKE_SYSTEM_VERSION "6.9.10-1-MANJARO") -set(CMAKE_SYSTEM_PROCESSOR "x86_64") +set(CMAKE_SYSTEM "Windows-10.0.19045") +set(CMAKE_SYSTEM_NAME "Windows") +set(CMAKE_SYSTEM_VERSION "10.0.19045") +set(CMAKE_SYSTEM_PROCESSOR "AMD64") set(CMAKE_CROSSCOMPILING "FALSE") diff --git a/cmake-build-debug/CMakeFiles/3.30.5/CompilerIdC/a.exe b/cmake-build-debug/CMakeFiles/3.30.5/CompilerIdC/a.exe new file mode 100644 index 0000000..593e0ab Binary files /dev/null and b/cmake-build-debug/CMakeFiles/3.30.5/CompilerIdC/a.exe differ diff --git a/cmake-build-debug/CMakeFiles/3.30.5/CompilerIdC/a.out b/cmake-build-debug/CMakeFiles/3.30.5/CompilerIdC/a.out deleted file mode 100755 index 7559f73..0000000 Binary files a/cmake-build-debug/CMakeFiles/3.30.5/CompilerIdC/a.out and /dev/null differ diff --git a/cmake-build-debug/CMakeFiles/3.30.5/CompilerIdCXX/a.exe b/cmake-build-debug/CMakeFiles/3.30.5/CompilerIdCXX/a.exe new file mode 100644 index 0000000..3e02630 Binary files /dev/null and b/cmake-build-debug/CMakeFiles/3.30.5/CompilerIdCXX/a.exe differ diff --git a/cmake-build-debug/CMakeFiles/3.30.5/CompilerIdCXX/a.out b/cmake-build-debug/CMakeFiles/3.30.5/CompilerIdCXX/a.out deleted file mode 100755 index 3f6cf98..0000000 Binary files a/cmake-build-debug/CMakeFiles/3.30.5/CompilerIdCXX/a.out and /dev/null differ diff --git a/cmake-build-debug/CMakeFiles/CMakeConfigureLog.yaml b/cmake-build-debug/CMakeFiles/CMakeConfigureLog.yaml index bac2528..15fca10 100644 --- a/cmake-build-debug/CMakeFiles/CMakeConfigureLog.yaml +++ b/cmake-build-debug/CMakeFiles/CMakeConfigureLog.yaml @@ -4,20 +4,20 @@ events: - kind: "message-v1" backtrace: - - "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineSystem.cmake:205 (message)" + - "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeDetermineSystem.cmake:205 (message)" - "CMakeLists.txt:2 (project)" message: | - The system is: Linux - 6.9.10-1-MANJARO - x86_64 + The system is: Windows - 10.0.19045 - AMD64 - kind: "message-v1" backtrace: - - "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:17 (message)" - - "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" - - "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" + - "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" - "CMakeLists.txt:2 (project)" message: | Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. - Compiler: /usr/bin/cc + Compiler: C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/gcc.exe Build flags: Id flags: @@ -25,21 +25,21 @@ events: 0 - Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.exe" The C compiler identification is GNU, found in: - /home/ghazal/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/3.30.5/CompilerIdC/a.out + C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/3.30.5/CompilerIdC/a.exe - kind: "message-v1" backtrace: - - "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:17 (message)" - - "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" - - "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)" + - "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)" - "CMakeLists.txt:2 (project)" message: | Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. - Compiler: /usr/bin/c++ + Compiler: C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/g++.exe Build flags: Id flags: @@ -47,22 +47,22 @@ events: 0 - Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.exe" The CXX compiler identification is GNU, found in: - /home/ghazal/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/3.30.5/CompilerIdCXX/a.out + C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/3.30.5/CompilerIdCXX/a.exe - kind: "try_compile-v1" backtrace: - - "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:74 (try_compile)" - - "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:74 (try_compile)" + - "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" - "CMakeLists.txt:2 (project)" checks: - "Detecting C compiler ABI info" directories: - source: "/home/ghazal/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-21O892" - binary: "/home/ghazal/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-21O892" + source: "C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-bimkm4" + binary: "C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-bimkm4" cmakeVariables: CMAKE_C_FLAGS: "" CMAKE_C_FLAGS_DEBUG: "-g" @@ -71,215 +71,204 @@ events: variable: "CMAKE_C_ABI_COMPILED" cached: true stdout: | - Change Dir: '/home/ghazal/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-21O892' + Change Dir: 'C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-bimkm4' - Run Build Command(s): /home/ghazal/Downloads/clion-2024.3/bin/ninja/linux/x64/ninja -v cmTC_98c34 - [1/2] /usr/bin/cc -fdiagnostics-color=always -v -o CMakeFiles/cmTC_98c34.dir/CMakeCCompilerABI.c.o -c /home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCCompilerABI.c + Run Build Command(s): "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/bin/cmake.exe" -E env VERBOSE=1 C:/Users/ZBOOKF~1/AppData/Local/JETBRA~1/CLION2~1.2/bin/mingw/bin/mingw32-make.exe -f Makefile cmTC_922d9/fast + C:/Users/ZBOOKF~1/AppData/Local/JETBRA~1/CLION2~1.2/bin/mingw/bin/mingw32-make.exe -f CMakeFiles\\cmTC_922d9.dir\\build.make CMakeFiles/cmTC_922d9.dir/build + mingw32-make[1]: Entering directory 'C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-bimkm4' + Building C object CMakeFiles/cmTC_922d9.dir/CMakeCCompilerABI.c.obj + C:\\Users\\ZBOOKF~1\\AppData\\Local\\JETBRA~1\\CLION2~1.2\\bin\\mingw\\bin\\gcc.exe -fdiagnostics-color=always -v -o CMakeFiles\\cmTC_922d9.dir\\CMakeCCompilerABI.c.obj -c "C:\\Users\\ZBook Fury\\AppData\\Local\\JetBrains\\CLion 2024.3.2\\bin\\cmake\\win\\x64\\share\\cmake-3.30\\Modules\\CMakeCCompilerABI.c" Using built-in specs. - COLLECT_GCC=/usr/bin/cc - Target: x86_64-pc-linux-gnu - Configured with: /build/gcc/src/gcc/configure --enable-languages=ada,c,c++,d,fortran,go,lto,m2,objc,obj-c++,rust --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://gitlab.archlinux.org/archlinux/packaging/packages/gcc/-/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror + COLLECT_GCC=C:\\Users\\ZBOOKF~1\\AppData\\Local\\JETBRA~1\\CLION2~1.2\\bin\\mingw\\bin\\gcc.exe + Target: x86_64-w64-mingw32 + Configured with: ../gcc-13.1.0/configure --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --build=x86_64-alpine-linux-musl --prefix=/win --enable-checking=release --enable-fully-dynamic-string --enable-languages=c,c++ --with-arch=nocona --with-tune=generic --enable-libatomic --enable-libgomp --enable-libstdcxx-filesystem-ts --enable-libstdcxx-time --enable-seh-exceptions --enable-shared --enable-static --enable-threads=posix --enable-version-specific-runtime-libs --disable-bootstrap --disable-graphite --disable-libada --disable-libstdcxx-pch --disable-libstdcxx-debug --disable-libquadmath --disable-lto --disable-nls --disable-multilib --disable-rpath --disable-symvers --disable-werror --disable-win32-registry --with-gnu-as --with-gnu-ld --with-system-libiconv --with-system-libz --with-gmp=/win/makedepends --with-mpfr=/win/makedepends --with-mpc=/win/makedepends Thread model: posix - Supported LTO compression algorithms: zlib zstd - gcc version 14.1.1 20240522 (GCC) - COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_98c34.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_98c34.dir/' - /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/cc1 -quiet -v /home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_98c34.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -o /tmp/cczOYZPQ.s - GNU C17 (GCC) version 14.1.1 20240522 (x86_64-pc-linux-gnu) - compiled by GNU C version 14.1.1 20240522, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP - + Supported LTO compression algorithms: zlib + gcc version 13.1.0 (GCC) + COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles\\cmTC_922d9.dir\\CMakeCCompilerABI.c.obj' '-c' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles\\cmTC_922d9.dir\\' + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/cc1.exe -quiet -v -iprefix C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/ -D_REENTRANT C:\\Users\\ZBook Fury\\AppData\\Local\\JetBrains\\CLion 2024.3.2\\bin\\cmake\\win\\x64\\share\\cmake-3.30\\Modules\\CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles\\cmTC_922d9.dir\\ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=nocona -version -fdiagnostics-color=always -o C:\\Users\\ZBOOKF~1\\AppData\\Local\\Temp\\ccViPUGH.s + GNU C17 (GCC) version 13.1.0 (x86_64-w64-mingw32) + compiled by GNU C version 13.1.0, GMP version 6.2.1, MPFR version 4.2.0-p4, MPC version 1.3.1, isl version none GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 - ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../x86_64-pc-linux-gnu/include" + ignoring duplicate directory "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/include" + ignoring nonexistent directory "/win/include" + ignoring duplicate directory "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/../../include" + ignoring duplicate directory "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed" + ignoring duplicate directory "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/include" + ignoring nonexistent directory "/mingw/include" #include "..." search starts here: #include <...> search starts here: - /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include - /usr/local/include - /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include-fixed - /usr/include + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/include End of search list. - Compiler executable checksum: 555662f6736d29692f90e28e958fc3de - COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_98c34.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_98c34.dir/' - as -v --64 -o CMakeFiles/cmTC_98c34.dir/CMakeCCompilerABI.c.o /tmp/cczOYZPQ.s - GNU assembler version 2.42.0 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.42.0 - COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/ - LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_98c34.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_98c34.dir/CMakeCCompilerABI.c.' - [2/2] : && /usr/bin/cc -v -Wl,-v CMakeFiles/cmTC_98c34.dir/CMakeCCompilerABI.c.o -o cmTC_98c34 && : + Compiler executable checksum: 2aa4fcf5c9208168c5e2d38a58fc2a97 + COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles\\cmTC_922d9.dir\\CMakeCCompilerABI.c.obj' '-c' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles\\cmTC_922d9.dir\\' + as -v -o CMakeFiles\\cmTC_922d9.dir\\CMakeCCompilerABI.c.obj C:\\Users\\ZBOOKF~1\\AppData\\Local\\Temp\\ccViPUGH.s + GNU assembler version 2.40 (x86_64-w64-mingw32) using BFD version (GNU Binutils) 2.40 + COMPILER_PATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../libexec/gcc/ + LIBRARY_PATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../ + COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles\\cmTC_922d9.dir\\CMakeCCompilerABI.c.obj' '-c' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles\\cmTC_922d9.dir\\CMakeCCompilerABI.c.' + Linking C executable cmTC_922d9.exe + "C:\\Users\\ZBook Fury\\AppData\\Local\\JetBrains\\CLion 2024.3.2\\bin\\cmake\\win\\x64\\bin\\cmake.exe" -E cmake_link_script CMakeFiles\\cmTC_922d9.dir\\link.txt --verbose=1 + "C:\\Users\\ZBook Fury\\AppData\\Local\\JetBrains\\CLion 2024.3.2\\bin\\cmake\\win\\x64\\bin\\cmake.exe" -E rm -f CMakeFiles\\cmTC_922d9.dir/objects.a + C:\\Users\\ZBOOKF~1\\AppData\\Local\\JETBRA~1\\CLION2~1.2\\bin\\mingw\\bin\\ar.exe qc CMakeFiles\\cmTC_922d9.dir/objects.a @CMakeFiles\\cmTC_922d9.dir\\objects1.rsp + C:\\Users\\ZBOOKF~1\\AppData\\Local\\JETBRA~1\\CLION2~1.2\\bin\\mingw\\bin\\gcc.exe -v -Wl,-v -Wl,--whole-archive CMakeFiles\\cmTC_922d9.dir/objects.a -Wl,--no-whole-archive -o cmTC_922d9.exe -Wl,--out-implib,libcmTC_922d9.dll.a -Wl,--major-image-version,0,--minor-image-version,0 Using built-in specs. - COLLECT_GCC=/usr/bin/cc - COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/lto-wrapper - Target: x86_64-pc-linux-gnu - Configured with: /build/gcc/src/gcc/configure --enable-languages=ada,c,c++,d,fortran,go,lto,m2,objc,obj-c++,rust --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://gitlab.archlinux.org/archlinux/packaging/packages/gcc/-/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror + COLLECT_GCC=C:\\Users\\ZBOOKF~1\\AppData\\Local\\JETBRA~1\\CLION2~1.2\\bin\\mingw\\bin\\gcc.exe + COLLECT_LTO_WRAPPER=C:/Users/ZBook\\ Fury/AppData/Local/JetBrains/CLion\\ 2024.3.2/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/lto-wrapper.exe + Target: x86_64-w64-mingw32 + Configured with: ../gcc-13.1.0/configure --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --build=x86_64-alpine-linux-musl --prefix=/win --enable-checking=release --enable-fully-dynamic-string --enable-languages=c,c++ --with-arch=nocona --with-tune=generic --enable-libatomic --enable-libgomp --enable-libstdcxx-filesystem-ts --enable-libstdcxx-time --enable-seh-exceptions --enable-shared --enable-static --enable-threads=posix --enable-version-specific-runtime-libs --disable-bootstrap --disable-graphite --disable-libada --disable-libstdcxx-pch --disable-libstdcxx-debug --disable-libquadmath --disable-lto --disable-nls --disable-multilib --disable-rpath --disable-symvers --disable-werror --disable-win32-registry --with-gnu-as --with-gnu-ld --with-system-libiconv --with-system-libz --with-gmp=/win/makedepends --with-mpfr=/win/makedepends --with-mpc=/win/makedepends Thread model: posix - Supported LTO compression algorithms: zlib zstd - gcc version 14.1.1 20240522 (GCC) - COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/ - LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_98c34' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_98c34.' - /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccxaYp54.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_98c34 /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../.. -v CMakeFiles/cmTC_98c34.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/crtn.o - collect2 version 14.1.1 20240522 - /usr/bin/ld -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccxaYp54.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_98c34 /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../.. -v CMakeFiles/cmTC_98c34.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/crtn.o - GNU ld (GNU Binutils) 2.42.0 - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_98c34' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_98c34.' + Supported LTO compression algorithms: zlib + gcc version 13.1.0 (GCC) + COMPILER_PATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../libexec/gcc/ + LIBRARY_PATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../ + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_922d9.exe' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_922d9.' + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/collect2.exe -m i386pep -Bdynamic -o cmTC_922d9.exe C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0 -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../.. -v --whole-archive CMakeFiles\\cmTC_922d9.dir/objects.a --no-whole-archive --out-implib libcmTC_922d9.dll.a --major-image-version 0 --minor-image-version 0 -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -liconv -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -lkernel32 C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/default-manifest.o C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o + collect2 version 13.1.0 + C:\\Users\\ZBook Fury\\AppData\\Local\\JetBrains\\CLion 2024.3.2\\bin\\mingw\\bin/ld.exe -m i386pep -Bdynamic -o cmTC_922d9.exe C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0 -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../.. -v --whole-archive CMakeFiles\\cmTC_922d9.dir/objects.a --no-whole-archive --out-implib libcmTC_922d9.dll.a --major-image-version 0 --minor-image-version 0 -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -liconv -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -lkernel32 C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/default-manifest.o C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o + GNU ld (GNU Binutils) 2.40 + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_922d9.exe' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_922d9.' + mingw32-make[1]: Leaving directory 'C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-bimkm4' exitCode: 0 - kind: "message-v1" backtrace: - - "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:182 (message)" - - "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:182 (message)" + - "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" - "CMakeLists.txt:2 (project)" message: | Parsed C implicit include dir info: rv=done found start of include info found start of implicit include info - add: [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include] - add: [/usr/local/include] - add: [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include-fixed] - add: [/usr/include] + add: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include] + add: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include] + add: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed] + add: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/include] end of search list found - collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include] - collapse include dir [/usr/local/include] ==> [/usr/local/include] - collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include-fixed] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include-fixed] - collapse include dir [/usr/include] ==> [/usr/include] - implicit include dirs: [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include;/usr/local/include;/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include-fixed;/usr/include] + collapse include dir [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include] ==> [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include] + collapse include dir [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include] ==> [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/include] + collapse include dir [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed] ==> [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed] + collapse include dir [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/include] ==> [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include] + implicit include dirs: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/include;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include] - kind: "message-v1" backtrace: - - "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:218 (message)" - - "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:218 (message)" + - "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" - "CMakeLists.txt:2 (project)" message: | Parsed C implicit link information: link line regex: [^( *|.*[/\\])(ld[0-9]*(\\.[a-z]+)?|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] linker tool regex: [^[ ]*(->|")?[ ]*(([^"]*[/\\])?(ld[0-9]*(\\.[a-z]+)?))("|,| |$)] - ignore line: [Change Dir: '/home/ghazal/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-21O892'] + ignore line: [Change Dir: 'C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-bimkm4'] ignore line: [] - ignore line: [Run Build Command(s): /home/ghazal/Downloads/clion-2024.3/bin/ninja/linux/x64/ninja -v cmTC_98c34] - ignore line: [[1/2] /usr/bin/cc -fdiagnostics-color=always -v -o CMakeFiles/cmTC_98c34.dir/CMakeCCompilerABI.c.o -c /home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCCompilerABI.c] + ignore line: [Run Build Command(s): "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/bin/cmake.exe" -E env VERBOSE=1 C:/Users/ZBOOKF~1/AppData/Local/JETBRA~1/CLION2~1.2/bin/mingw/bin/mingw32-make.exe -f Makefile cmTC_922d9/fast] + ignore line: [C:/Users/ZBOOKF~1/AppData/Local/JETBRA~1/CLION2~1.2/bin/mingw/bin/mingw32-make.exe -f CMakeFiles\\cmTC_922d9.dir\\build.make CMakeFiles/cmTC_922d9.dir/build] + ignore line: [mingw32-make[1]: Entering directory 'C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-bimkm4'] + ignore line: [Building C object CMakeFiles/cmTC_922d9.dir/CMakeCCompilerABI.c.obj] + ignore line: [C:\\Users\\ZBOOKF~1\\AppData\\Local\\JETBRA~1\\CLION2~1.2\\bin\\mingw\\bin\\gcc.exe -fdiagnostics-color=always -v -o CMakeFiles\\cmTC_922d9.dir\\CMakeCCompilerABI.c.obj -c "C:\\Users\\ZBook Fury\\AppData\\Local\\JetBrains\\CLion 2024.3.2\\bin\\cmake\\win\\x64\\share\\cmake-3.30\\Modules\\CMakeCCompilerABI.c"] ignore line: [Using built-in specs.] - ignore line: [COLLECT_GCC=/usr/bin/cc] - ignore line: [Target: x86_64-pc-linux-gnu] - ignore line: [Configured with: /build/gcc/src/gcc/configure --enable-languages=ada c c++ d fortran go lto m2 objc obj-c++ rust --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://gitlab.archlinux.org/archlinux/packaging/packages/gcc/-/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror] + ignore line: [COLLECT_GCC=C:\\Users\\ZBOOKF~1\\AppData\\Local\\JETBRA~1\\CLION2~1.2\\bin\\mingw\\bin\\gcc.exe] + ignore line: [Target: x86_64-w64-mingw32] + ignore line: [Configured with: ../gcc-13.1.0/configure --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --build=x86_64-alpine-linux-musl --prefix=/win --enable-checking=release --enable-fully-dynamic-string --enable-languages=c,c++ --with-arch=nocona --with-tune=generic --enable-libatomic --enable-libgomp --enable-libstdcxx-filesystem-ts --enable-libstdcxx-time --enable-seh-exceptions --enable-shared --enable-static --enable-threads=posix --enable-version-specific-runtime-libs --disable-bootstrap --disable-graphite --disable-libada --disable-libstdcxx-pch --disable-libstdcxx-debug --disable-libquadmath --disable-lto --disable-nls --disable-multilib --disable-rpath --disable-symvers --disable-werror --disable-win32-registry --with-gnu-as --with-gnu-ld --with-system-libiconv --with-system-libz --with-gmp=/win/makedepends --with-mpfr=/win/makedepends --with-mpc=/win/makedepends] ignore line: [Thread model: posix] - ignore line: [Supported LTO compression algorithms: zlib zstd] - ignore line: [gcc version 14.1.1 20240522 (GCC) ] - ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_98c34.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_98c34.dir/'] - ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/cc1 -quiet -v /home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_98c34.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -o /tmp/cczOYZPQ.s] - ignore line: [GNU C17 (GCC) version 14.1.1 20240522 (x86_64-pc-linux-gnu)] - ignore line: [ compiled by GNU C version 14.1.1 20240522 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] - ignore line: [] + ignore line: [Supported LTO compression algorithms: zlib] + ignore line: [gcc version 13.1.0 (GCC) ] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles\\cmTC_922d9.dir\\CMakeCCompilerABI.c.obj' '-c' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles\\cmTC_922d9.dir\\'] + ignore line: [ C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/cc1.exe -quiet -v -iprefix C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/ -D_REENTRANT C:\\Users\\ZBook Fury\\AppData\\Local\\JetBrains\\CLion 2024.3.2\\bin\\cmake\\win\\x64\\share\\cmake-3.30\\Modules\\CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles\\cmTC_922d9.dir\\ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=nocona -version -fdiagnostics-color=always -o C:\\Users\\ZBOOKF~1\\AppData\\Local\\Temp\\ccViPUGH.s] + ignore line: [GNU C17 (GCC) version 13.1.0 (x86_64-w64-mingw32)] + ignore line: [ compiled by GNU C version 13.1.0 GMP version 6.2.1 MPFR version 4.2.0-p4 MPC version 1.3.1 isl version none] ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] - ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../x86_64-pc-linux-gnu/include"] + ignore line: [ignoring duplicate directory "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/include"] + ignore line: [ignoring nonexistent directory "/win/include"] + ignore line: [ignoring duplicate directory "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/../../include"] + ignore line: [ignoring duplicate directory "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed"] + ignore line: [ignoring duplicate directory "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/include"] + ignore line: [ignoring nonexistent directory "/mingw/include"] ignore line: [#include "..." search starts here:] ignore line: [#include <...> search starts here:] - ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include] - ignore line: [ /usr/local/include] - ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include-fixed] - ignore line: [ /usr/include] + ignore line: [ C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include] + ignore line: [ C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include] + ignore line: [ C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed] + ignore line: [ C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/include] ignore line: [End of search list.] - ignore line: [Compiler executable checksum: 555662f6736d29692f90e28e958fc3de] - ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_98c34.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_98c34.dir/'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_98c34.dir/CMakeCCompilerABI.c.o /tmp/cczOYZPQ.s] - ignore line: [GNU assembler version 2.42.0 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.42.0] - ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/] - ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_98c34.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_98c34.dir/CMakeCCompilerABI.c.'] - ignore line: [[2/2] : && /usr/bin/cc -v -Wl -v CMakeFiles/cmTC_98c34.dir/CMakeCCompilerABI.c.o -o cmTC_98c34 && :] + ignore line: [Compiler executable checksum: 2aa4fcf5c9208168c5e2d38a58fc2a97] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles\\cmTC_922d9.dir\\CMakeCCompilerABI.c.obj' '-c' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles\\cmTC_922d9.dir\\'] + ignore line: [ as -v -o CMakeFiles\\cmTC_922d9.dir\\CMakeCCompilerABI.c.obj C:\\Users\\ZBOOKF~1\\AppData\\Local\\Temp\\ccViPUGH.s] + ignore line: [GNU assembler version 2.40 (x86_64-w64-mingw32) using BFD version (GNU Binutils) 2.40] + ignore line: [COMPILER_PATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/] + ignore line: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../libexec/gcc/] + ignore line: [LIBRARY_PATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/] + ignore line: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/] + ignore line: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/] + ignore line: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/] + ignore line: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/] + ignore line: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles\\cmTC_922d9.dir\\CMakeCCompilerABI.c.obj' '-c' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles\\cmTC_922d9.dir\\CMakeCCompilerABI.c.'] + ignore line: [Linking C executable cmTC_922d9.exe] + ignore line: ["C:\\Users\\ZBook Fury\\AppData\\Local\\JetBrains\\CLion 2024.3.2\\bin\\cmake\\win\\x64\\bin\\cmake.exe" -E cmake_link_script CMakeFiles\\cmTC_922d9.dir\\link.txt --verbose=1] + ignore line: ["C:\\Users\\ZBook Fury\\AppData\\Local\\JetBrains\\CLion 2024.3.2\\bin\\cmake\\win\\x64\\bin\\cmake.exe" -E rm -f CMakeFiles\\cmTC_922d9.dir/objects.a] + ignore line: [C:\\Users\\ZBOOKF~1\\AppData\\Local\\JETBRA~1\\CLION2~1.2\\bin\\mingw\\bin\\ar.exe qc CMakeFiles\\cmTC_922d9.dir/objects.a @CMakeFiles\\cmTC_922d9.dir\\objects1.rsp] + ignore line: [C:\\Users\\ZBOOKF~1\\AppData\\Local\\JETBRA~1\\CLION2~1.2\\bin\\mingw\\bin\\gcc.exe -v -Wl -v -Wl --whole-archive CMakeFiles\\cmTC_922d9.dir/objects.a -Wl --no-whole-archive -o cmTC_922d9.exe -Wl --out-implib libcmTC_922d9.dll.a -Wl --major-image-version 0 --minor-image-version 0] ignore line: [Using built-in specs.] - ignore line: [COLLECT_GCC=/usr/bin/cc] - ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/lto-wrapper] - ignore line: [Target: x86_64-pc-linux-gnu] - ignore line: [Configured with: /build/gcc/src/gcc/configure --enable-languages=ada c c++ d fortran go lto m2 objc obj-c++ rust --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://gitlab.archlinux.org/archlinux/packaging/packages/gcc/-/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror] + ignore line: [COLLECT_GCC=C:\\Users\\ZBOOKF~1\\AppData\\Local\\JETBRA~1\\CLION2~1.2\\bin\\mingw\\bin\\gcc.exe] + ignore line: [COLLECT_LTO_WRAPPER=C:/Users/ZBook\\ Fury/AppData/Local/JetBrains/CLion\\ 2024.3.2/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/lto-wrapper.exe] + ignore line: [Target: x86_64-w64-mingw32] + ignore line: [Configured with: ../gcc-13.1.0/configure --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --build=x86_64-alpine-linux-musl --prefix=/win --enable-checking=release --enable-fully-dynamic-string --enable-languages=c,c++ --with-arch=nocona --with-tune=generic --enable-libatomic --enable-libgomp --enable-libstdcxx-filesystem-ts --enable-libstdcxx-time --enable-seh-exceptions --enable-shared --enable-static --enable-threads=posix --enable-version-specific-runtime-libs --disable-bootstrap --disable-graphite --disable-libada --disable-libstdcxx-pch --disable-libstdcxx-debug --disable-libquadmath --disable-lto --disable-nls --disable-multilib --disable-rpath --disable-symvers --disable-werror --disable-win32-registry --with-gnu-as --with-gnu-ld --with-system-libiconv --with-system-libz --with-gmp=/win/makedepends --with-mpfr=/win/makedepends --with-mpc=/win/makedepends] ignore line: [Thread model: posix] - ignore line: [Supported LTO compression algorithms: zlib zstd] - ignore line: [gcc version 14.1.1 20240522 (GCC) ] - ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/] - ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_98c34' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_98c34.'] - link line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccxaYp54.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_98c34 /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../.. -v CMakeFiles/cmTC_98c34.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/crtn.o] - arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/collect2] ==> ignore - arg [-plugin] ==> ignore - arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/liblto_plugin.so] ==> ignore - arg [-plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/ccxaYp54.res] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore - arg [-plugin-opt=-pass-through=-lc] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore - arg [--build-id] ==> ignore - arg [--eh-frame-hdr] ==> ignore - arg [--hash-style=gnu] ==> ignore - arg [-m] ==> ignore - arg [elf_x86_64] ==> ignore - arg [-dynamic-linker] ==> ignore - arg [/lib64/ld-linux-x86-64.so.2] ==> ignore - arg [-pie] ==> ignore - arg [-o] ==> ignore - arg [cmTC_98c34] ==> ignore - arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/Scrt1.o] - arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/crti.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/crti.o] - arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/crtbeginS.o] - arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1] - arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib] - arg [-L/lib/../lib] ==> dir [/lib/../lib] - arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] - arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../..] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../..] - arg [-v] ==> ignore - arg [CMakeFiles/cmTC_98c34.dir/CMakeCCompilerABI.c.o] ==> ignore - arg [-lgcc] ==> lib [gcc] - arg [--push-state] ==> ignore - arg [--as-needed] ==> ignore - arg [-lgcc_s] ==> lib [gcc_s] - arg [--pop-state] ==> ignore - arg [-lc] ==> lib [c] - arg [-lgcc] ==> lib [gcc] - arg [--push-state] ==> ignore - arg [--as-needed] ==> ignore - arg [-lgcc_s] ==> lib [gcc_s] - arg [--pop-state] ==> ignore - arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/crtendS.o] - arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/crtn.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/crtn.o] - ignore line: [collect2 version 14.1.1 20240522] - ignore line: [/usr/bin/ld -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccxaYp54.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_98c34 /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../.. -v CMakeFiles/cmTC_98c34.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/crtn.o] - linker tool for 'C': /usr/bin/ld - collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/Scrt1.o] ==> [/usr/lib/Scrt1.o] - collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/crti.o] ==> [/usr/lib/crti.o] - collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/crtn.o] ==> [/usr/lib/crtn.o] - collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1] - collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib] ==> [/usr/lib] - collapse library dir [/lib/../lib] ==> [/lib] - collapse library dir [/usr/lib/../lib] ==> [/usr/lib] - collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../..] ==> [/usr/lib] - implicit libs: [gcc;gcc_s;c;gcc;gcc_s] - implicit objs: [/usr/lib/Scrt1.o;/usr/lib/crti.o;/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/crtbeginS.o;/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/crtendS.o;/usr/lib/crtn.o] - implicit dirs: [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1;/usr/lib;/lib] + ignore line: [Supported LTO compression algorithms: zlib] + ignore line: [gcc version 13.1.0 (GCC) ] + ignore line: [COMPILER_PATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/] + ignore line: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../libexec/gcc/] + ignore line: [LIBRARY_PATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/] + ignore line: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/] + ignore line: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/] + ignore line: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/] + ignore line: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/] + ignore line: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_922d9.exe' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_922d9.'] + ignore line: [ C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/collect2.exe -m i386pep -Bdynamic -o cmTC_922d9.exe C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0 -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../.. -v --whole-archive CMakeFiles\\cmTC_922d9.dir/objects.a --no-whole-archive --out-implib libcmTC_922d9.dll.a --major-image-version 0 --minor-image-version 0 -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -liconv -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -lkernel32 C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/default-manifest.o C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o] + ignore line: [collect2 version 13.1.0] + ignore line: [C:\\Users\\ZBook Fury\\AppData\\Local\\JetBrains\\CLion 2024.3.2\\bin\\mingw\\bin/ld.exe -m i386pep -Bdynamic -o cmTC_922d9.exe C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0 -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../.. -v --whole-archive CMakeFiles\\cmTC_922d9.dir/objects.a --no-whole-archive --out-implib libcmTC_922d9.dll.a --major-image-version 0 --minor-image-version 0 -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -liconv -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -lkernel32 C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/default-manifest.o C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o] + ignore line: [GNU ld (GNU Binutils) 2.40] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_922d9.exe' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_922d9.'] + ignore line: [mingw32-make[1]: Leaving directory 'C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-bimkm4'] + ignore line: [] + ignore line: [] + linker tool for 'C': C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/ld.exe + implicit libs: [] + implicit objs: [] + implicit dirs: [] implicit fwks: [] - kind: "message-v1" backtrace: - - "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/Internal/CMakeDetermineLinkerId.cmake:40 (message)" - - "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:255 (cmake_determine_linker_id)" - - "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Internal/CMakeDetermineLinkerId.cmake:40 (message)" + - "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:255 (cmake_determine_linker_id)" + - "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" - "CMakeLists.txt:2 (project)" message: | - Running the C compiler's linker: "/usr/bin/ld" "-v" - GNU ld (GNU Binutils) 2.42.0 + Running the C compiler's linker: "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/ld.exe" "-v" + GNU ld (GNU Binutils) 2.40 - kind: "try_compile-v1" backtrace: - - "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:74 (try_compile)" - - "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:74 (try_compile)" + - "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" - "CMakeLists.txt:2 (project)" checks: - "Detecting CXX compiler ABI info" directories: - source: "/home/ghazal/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-ga1P6n" - binary: "/home/ghazal/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-ga1P6n" + source: "C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-8i081k" + binary: "C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-8i081k" cmakeVariables: CMAKE_CXX_FLAGS: "" CMAKE_CXX_FLAGS_DEBUG: "-g" @@ -289,210 +278,209 @@ events: variable: "CMAKE_CXX_ABI_COMPILED" cached: true stdout: | - Change Dir: '/home/ghazal/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-ga1P6n' + Change Dir: 'C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-8i081k' - Run Build Command(s): /home/ghazal/Downloads/clion-2024.3/bin/ninja/linux/x64/ninja -v cmTC_b089b - [1/2] /usr/bin/c++ -fdiagnostics-color=always -v -o CMakeFiles/cmTC_b089b.dir/CMakeCXXCompilerABI.cpp.o -c /home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp + Run Build Command(s): "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/bin/cmake.exe" -E env VERBOSE=1 C:/Users/ZBOOKF~1/AppData/Local/JETBRA~1/CLION2~1.2/bin/mingw/bin/mingw32-make.exe -f Makefile cmTC_6af13/fast + C:/Users/ZBOOKF~1/AppData/Local/JETBRA~1/CLION2~1.2/bin/mingw/bin/mingw32-make.exe -f CMakeFiles\\cmTC_6af13.dir\\build.make CMakeFiles/cmTC_6af13.dir/build + mingw32-make[1]: Entering directory 'C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-8i081k' + Building CXX object CMakeFiles/cmTC_6af13.dir/CMakeCXXCompilerABI.cpp.obj + C:\\Users\\ZBOOKF~1\\AppData\\Local\\JETBRA~1\\CLION2~1.2\\bin\\mingw\\bin\\G__~1.EXE -fdiagnostics-color=always -v -o CMakeFiles\\cmTC_6af13.dir\\CMakeCXXCompilerABI.cpp.obj -c "C:\\Users\\ZBook Fury\\AppData\\Local\\JetBrains\\CLion 2024.3.2\\bin\\cmake\\win\\x64\\share\\cmake-3.30\\Modules\\CMakeCXXCompilerABI.cpp" Using built-in specs. - COLLECT_GCC=/usr/bin/c++ - Target: x86_64-pc-linux-gnu - Configured with: /build/gcc/src/gcc/configure --enable-languages=ada,c,c++,d,fortran,go,lto,m2,objc,obj-c++,rust --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://gitlab.archlinux.org/archlinux/packaging/packages/gcc/-/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror + COLLECT_GCC=C:\\Users\\ZBOOKF~1\\AppData\\Local\\JETBRA~1\\CLION2~1.2\\bin\\mingw\\bin\\G__~1.EXE + Target: x86_64-w64-mingw32 + Configured with: ../gcc-13.1.0/configure --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --build=x86_64-alpine-linux-musl --prefix=/win --enable-checking=release --enable-fully-dynamic-string --enable-languages=c,c++ --with-arch=nocona --with-tune=generic --enable-libatomic --enable-libgomp --enable-libstdcxx-filesystem-ts --enable-libstdcxx-time --enable-seh-exceptions --enable-shared --enable-static --enable-threads=posix --enable-version-specific-runtime-libs --disable-bootstrap --disable-graphite --disable-libada --disable-libstdcxx-pch --disable-libstdcxx-debug --disable-libquadmath --disable-lto --disable-nls --disable-multilib --disable-rpath --disable-symvers --disable-werror --disable-win32-registry --with-gnu-as --with-gnu-ld --with-system-libiconv --with-system-libz --with-gmp=/win/makedepends --with-mpfr=/win/makedepends --with-mpc=/win/makedepends Thread model: posix - Supported LTO compression algorithms: zlib zstd - gcc version 14.1.1 20240522 (GCC) - COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_b089b.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_b089b.dir/' - /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/cc1plus -quiet -v -D_GNU_SOURCE /home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_b089b.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -o /tmp/ccyiU2cL.s - GNU C++17 (GCC) version 14.1.1 20240522 (x86_64-pc-linux-gnu) - compiled by GNU C version 14.1.1 20240522, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP - + Supported LTO compression algorithms: zlib + gcc version 13.1.0 (GCC) + COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles\\cmTC_6af13.dir\\CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles\\cmTC_6af13.dir\\' + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/cc1plus.exe -quiet -v -iprefix C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/ -D_REENTRANT C:\\Users\\ZBook Fury\\AppData\\Local\\JetBrains\\CLion 2024.3.2\\bin\\cmake\\win\\x64\\share\\cmake-3.30\\Modules\\CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles\\cmTC_6af13.dir\\ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=nocona -version -fdiagnostics-color=always -o C:\\Users\\ZBOOKF~1\\AppData\\Local\\Temp\\ccFKAjTa.s + GNU C++17 (GCC) version 13.1.0 (x86_64-w64-mingw32) + compiled by GNU C version 13.1.0, GMP version 6.2.1, MPFR version 4.2.0-p4, MPC version 1.3.1, isl version none GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 - ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../x86_64-pc-linux-gnu/include" + ignoring duplicate directory "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++" + ignoring duplicate directory "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32" + ignoring duplicate directory "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward" + ignoring duplicate directory "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/include" + ignoring nonexistent directory "/win/include" + ignoring duplicate directory "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/../../include" + ignoring duplicate directory "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed" + ignoring duplicate directory "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/include" + ignoring nonexistent directory "/mingw/include" #include "..." search starts here: #include <...> search starts here: - /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../include/c++/14.1.1 - /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../include/c++/14.1.1/x86_64-pc-linux-gnu - /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../include/c++/14.1.1/backward - /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include - /usr/local/include - /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include-fixed - /usr/include + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++ + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32 + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/include End of search list. - Compiler executable checksum: 29a4cbac9a82c8094a8662004ee682d4 - COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_b089b.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_b089b.dir/' - as -v --64 -o CMakeFiles/cmTC_b089b.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccyiU2cL.s - GNU assembler version 2.42.0 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.42.0 - COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/ - LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_b089b.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_b089b.dir/CMakeCXXCompilerABI.cpp.' - [2/2] : && /usr/bin/c++ -v -Wl,-v CMakeFiles/cmTC_b089b.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_b089b && : + Compiler executable checksum: e75de627edc3c57e31324b930b15b056 + COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles\\cmTC_6af13.dir\\CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles\\cmTC_6af13.dir\\' + as -v -o CMakeFiles\\cmTC_6af13.dir\\CMakeCXXCompilerABI.cpp.obj C:\\Users\\ZBOOKF~1\\AppData\\Local\\Temp\\ccFKAjTa.s + GNU assembler version 2.40 (x86_64-w64-mingw32) using BFD version (GNU Binutils) 2.40 + COMPILER_PATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../libexec/gcc/ + LIBRARY_PATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../ + COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles\\cmTC_6af13.dir\\CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles\\cmTC_6af13.dir\\CMakeCXXCompilerABI.cpp.' + Linking CXX executable cmTC_6af13.exe + "C:\\Users\\ZBook Fury\\AppData\\Local\\JetBrains\\CLion 2024.3.2\\bin\\cmake\\win\\x64\\bin\\cmake.exe" -E cmake_link_script CMakeFiles\\cmTC_6af13.dir\\link.txt --verbose=1 + "C:\\Users\\ZBook Fury\\AppData\\Local\\JetBrains\\CLion 2024.3.2\\bin\\cmake\\win\\x64\\bin\\cmake.exe" -E rm -f CMakeFiles\\cmTC_6af13.dir/objects.a + C:\\Users\\ZBOOKF~1\\AppData\\Local\\JETBRA~1\\CLION2~1.2\\bin\\mingw\\bin\\ar.exe qc CMakeFiles\\cmTC_6af13.dir/objects.a @CMakeFiles\\cmTC_6af13.dir\\objects1.rsp + C:\\Users\\ZBOOKF~1\\AppData\\Local\\JETBRA~1\\CLION2~1.2\\bin\\mingw\\bin\\G__~1.EXE -v -Wl,-v -Wl,--whole-archive CMakeFiles\\cmTC_6af13.dir/objects.a -Wl,--no-whole-archive -o cmTC_6af13.exe -Wl,--out-implib,libcmTC_6af13.dll.a -Wl,--major-image-version,0,--minor-image-version,0 Using built-in specs. - COLLECT_GCC=/usr/bin/c++ - COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/lto-wrapper - Target: x86_64-pc-linux-gnu - Configured with: /build/gcc/src/gcc/configure --enable-languages=ada,c,c++,d,fortran,go,lto,m2,objc,obj-c++,rust --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://gitlab.archlinux.org/archlinux/packaging/packages/gcc/-/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror + COLLECT_GCC=C:\\Users\\ZBOOKF~1\\AppData\\Local\\JETBRA~1\\CLION2~1.2\\bin\\mingw\\bin\\G__~1.EXE + COLLECT_LTO_WRAPPER=C:/Users/ZBook\\ Fury/AppData/Local/JetBrains/CLion\\ 2024.3.2/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/lto-wrapper.exe + Target: x86_64-w64-mingw32 + Configured with: ../gcc-13.1.0/configure --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --build=x86_64-alpine-linux-musl --prefix=/win --enable-checking=release --enable-fully-dynamic-string --enable-languages=c,c++ --with-arch=nocona --with-tune=generic --enable-libatomic --enable-libgomp --enable-libstdcxx-filesystem-ts --enable-libstdcxx-time --enable-seh-exceptions --enable-shared --enable-static --enable-threads=posix --enable-version-specific-runtime-libs --disable-bootstrap --disable-graphite --disable-libada --disable-libstdcxx-pch --disable-libstdcxx-debug --disable-libquadmath --disable-lto --disable-nls --disable-multilib --disable-rpath --disable-symvers --disable-werror --disable-win32-registry --with-gnu-as --with-gnu-ld --with-system-libiconv --with-system-libz --with-gmp=/win/makedepends --with-mpfr=/win/makedepends --with-mpc=/win/makedepends Thread model: posix - Supported LTO compression algorithms: zlib zstd - gcc version 14.1.1 20240522 (GCC) - COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/ - LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_b089b' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_b089b.' - /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccee1hAe.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_b089b /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../.. -v CMakeFiles/cmTC_b089b.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/crtn.o - collect2 version 14.1.1 20240522 - /usr/bin/ld -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccee1hAe.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_b089b /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../.. -v CMakeFiles/cmTC_b089b.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/crtn.o - GNU ld (GNU Binutils) 2.42.0 - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_b089b' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_b089b.' + Supported LTO compression algorithms: zlib + gcc version 13.1.0 (GCC) + COMPILER_PATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../libexec/gcc/ + LIBRARY_PATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../ + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_6af13.exe' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_6af13.' + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/collect2.exe -m i386pep -Bdynamic -o cmTC_6af13.exe C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0 -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../.. -v --whole-archive CMakeFiles\\cmTC_6af13.dir/objects.a --no-whole-archive --out-implib libcmTC_6af13.dll.a --major-image-version 0 --minor-image-version 0 -lstdc++ -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -liconv -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/default-manifest.o C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o + collect2 version 13.1.0 + C:\\Users\\ZBook Fury\\AppData\\Local\\JetBrains\\CLion 2024.3.2\\bin\\mingw\\bin/ld.exe -m i386pep -Bdynamic -o cmTC_6af13.exe C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0 -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../.. -v --whole-archive CMakeFiles\\cmTC_6af13.dir/objects.a --no-whole-archive --out-implib libcmTC_6af13.dll.a --major-image-version 0 --minor-image-version 0 -lstdc++ -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -liconv -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/default-manifest.o C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o + GNU ld (GNU Binutils) 2.40 + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_6af13.exe' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_6af13.' + mingw32-make[1]: Leaving directory 'C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-8i081k' exitCode: 0 - kind: "message-v1" backtrace: - - "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:182 (message)" - - "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:182 (message)" + - "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" - "CMakeLists.txt:2 (project)" message: | Parsed CXX implicit include dir info: rv=done found start of include info found start of implicit include info - add: [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../include/c++/14.1.1] - add: [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../include/c++/14.1.1/x86_64-pc-linux-gnu] - add: [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../include/c++/14.1.1/backward] - add: [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include] - add: [/usr/local/include] - add: [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include-fixed] - add: [/usr/include] + add: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++] + add: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32] + add: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward] + add: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include] + add: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include] + add: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed] + add: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/include] end of search list found - collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../include/c++/14.1.1] ==> [/usr/include/c++/14.1.1] - collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../include/c++/14.1.1/x86_64-pc-linux-gnu] ==> [/usr/include/c++/14.1.1/x86_64-pc-linux-gnu] - collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../include/c++/14.1.1/backward] ==> [/usr/include/c++/14.1.1/backward] - collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include] - collapse include dir [/usr/local/include] ==> [/usr/local/include] - collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include-fixed] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include-fixed] - collapse include dir [/usr/include] ==> [/usr/include] - implicit include dirs: [/usr/include/c++/14.1.1;/usr/include/c++/14.1.1/x86_64-pc-linux-gnu;/usr/include/c++/14.1.1/backward;/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include;/usr/local/include;/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include-fixed;/usr/include] + collapse include dir [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++] ==> [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++] + collapse include dir [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32] ==> [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32] + collapse include dir [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward] ==> [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward] + collapse include dir [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include] ==> [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include] + collapse include dir [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include] ==> [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/include] + collapse include dir [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed] ==> [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed] + collapse include dir [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/include] ==> [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include] + implicit include dirs: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/include;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed;C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include] - kind: "message-v1" backtrace: - - "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:218 (message)" - - "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:218 (message)" + - "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" - "CMakeLists.txt:2 (project)" message: | Parsed CXX implicit link information: link line regex: [^( *|.*[/\\])(ld[0-9]*(\\.[a-z]+)?|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] linker tool regex: [^[ ]*(->|")?[ ]*(([^"]*[/\\])?(ld[0-9]*(\\.[a-z]+)?))("|,| |$)] - ignore line: [Change Dir: '/home/ghazal/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-ga1P6n'] + ignore line: [Change Dir: 'C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-8i081k'] ignore line: [] - ignore line: [Run Build Command(s): /home/ghazal/Downloads/clion-2024.3/bin/ninja/linux/x64/ninja -v cmTC_b089b] - ignore line: [[1/2] /usr/bin/c++ -fdiagnostics-color=always -v -o CMakeFiles/cmTC_b089b.dir/CMakeCXXCompilerABI.cpp.o -c /home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Run Build Command(s): "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/bin/cmake.exe" -E env VERBOSE=1 C:/Users/ZBOOKF~1/AppData/Local/JETBRA~1/CLION2~1.2/bin/mingw/bin/mingw32-make.exe -f Makefile cmTC_6af13/fast] + ignore line: [C:/Users/ZBOOKF~1/AppData/Local/JETBRA~1/CLION2~1.2/bin/mingw/bin/mingw32-make.exe -f CMakeFiles\\cmTC_6af13.dir\\build.make CMakeFiles/cmTC_6af13.dir/build] + ignore line: [mingw32-make[1]: Entering directory 'C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-8i081k'] + ignore line: [Building CXX object CMakeFiles/cmTC_6af13.dir/CMakeCXXCompilerABI.cpp.obj] + ignore line: [C:\\Users\\ZBOOKF~1\\AppData\\Local\\JETBRA~1\\CLION2~1.2\\bin\\mingw\\bin\\G__~1.EXE -fdiagnostics-color=always -v -o CMakeFiles\\cmTC_6af13.dir\\CMakeCXXCompilerABI.cpp.obj -c "C:\\Users\\ZBook Fury\\AppData\\Local\\JetBrains\\CLion 2024.3.2\\bin\\cmake\\win\\x64\\share\\cmake-3.30\\Modules\\CMakeCXXCompilerABI.cpp"] ignore line: [Using built-in specs.] - ignore line: [COLLECT_GCC=/usr/bin/c++] - ignore line: [Target: x86_64-pc-linux-gnu] - ignore line: [Configured with: /build/gcc/src/gcc/configure --enable-languages=ada c c++ d fortran go lto m2 objc obj-c++ rust --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://gitlab.archlinux.org/archlinux/packaging/packages/gcc/-/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror] + ignore line: [COLLECT_GCC=C:\\Users\\ZBOOKF~1\\AppData\\Local\\JETBRA~1\\CLION2~1.2\\bin\\mingw\\bin\\G__~1.EXE] + ignore line: [Target: x86_64-w64-mingw32] + ignore line: [Configured with: ../gcc-13.1.0/configure --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --build=x86_64-alpine-linux-musl --prefix=/win --enable-checking=release --enable-fully-dynamic-string --enable-languages=c,c++ --with-arch=nocona --with-tune=generic --enable-libatomic --enable-libgomp --enable-libstdcxx-filesystem-ts --enable-libstdcxx-time --enable-seh-exceptions --enable-shared --enable-static --enable-threads=posix --enable-version-specific-runtime-libs --disable-bootstrap --disable-graphite --disable-libada --disable-libstdcxx-pch --disable-libstdcxx-debug --disable-libquadmath --disable-lto --disable-nls --disable-multilib --disable-rpath --disable-symvers --disable-werror --disable-win32-registry --with-gnu-as --with-gnu-ld --with-system-libiconv --with-system-libz --with-gmp=/win/makedepends --with-mpfr=/win/makedepends --with-mpc=/win/makedepends] ignore line: [Thread model: posix] - ignore line: [Supported LTO compression algorithms: zlib zstd] - ignore line: [gcc version 14.1.1 20240522 (GCC) ] - ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_b089b.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_b089b.dir/'] - ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/cc1plus -quiet -v -D_GNU_SOURCE /home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_b089b.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -o /tmp/ccyiU2cL.s] - ignore line: [GNU C++17 (GCC) version 14.1.1 20240522 (x86_64-pc-linux-gnu)] - ignore line: [ compiled by GNU C version 14.1.1 20240522 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] - ignore line: [] + ignore line: [Supported LTO compression algorithms: zlib] + ignore line: [gcc version 13.1.0 (GCC) ] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles\\cmTC_6af13.dir\\CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles\\cmTC_6af13.dir\\'] + ignore line: [ C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/cc1plus.exe -quiet -v -iprefix C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/ -D_REENTRANT C:\\Users\\ZBook Fury\\AppData\\Local\\JetBrains\\CLion 2024.3.2\\bin\\cmake\\win\\x64\\share\\cmake-3.30\\Modules\\CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles\\cmTC_6af13.dir\\ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=nocona -version -fdiagnostics-color=always -o C:\\Users\\ZBOOKF~1\\AppData\\Local\\Temp\\ccFKAjTa.s] + ignore line: [GNU C++17 (GCC) version 13.1.0 (x86_64-w64-mingw32)] + ignore line: [ compiled by GNU C version 13.1.0 GMP version 6.2.1 MPFR version 4.2.0-p4 MPC version 1.3.1 isl version none] ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] - ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../x86_64-pc-linux-gnu/include"] + ignore line: [ignoring duplicate directory "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++"] + ignore line: [ignoring duplicate directory "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32"] + ignore line: [ignoring duplicate directory "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward"] + ignore line: [ignoring duplicate directory "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/include"] + ignore line: [ignoring nonexistent directory "/win/include"] + ignore line: [ignoring duplicate directory "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/../../include"] + ignore line: [ignoring duplicate directory "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed"] + ignore line: [ignoring duplicate directory "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/include"] + ignore line: [ignoring nonexistent directory "/mingw/include"] ignore line: [#include "..." search starts here:] ignore line: [#include <...> search starts here:] - ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../include/c++/14.1.1] - ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../include/c++/14.1.1/x86_64-pc-linux-gnu] - ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../include/c++/14.1.1/backward] - ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include] - ignore line: [ /usr/local/include] - ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include-fixed] - ignore line: [ /usr/include] + ignore line: [ C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++] + ignore line: [ C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32] + ignore line: [ C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward] + ignore line: [ C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include] + ignore line: [ C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include] + ignore line: [ C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed] + ignore line: [ C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/include] ignore line: [End of search list.] - ignore line: [Compiler executable checksum: 29a4cbac9a82c8094a8662004ee682d4] - ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_b089b.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_b089b.dir/'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_b089b.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccyiU2cL.s] - ignore line: [GNU assembler version 2.42.0 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.42.0] - ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/] - ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_b089b.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_b089b.dir/CMakeCXXCompilerABI.cpp.'] - ignore line: [[2/2] : && /usr/bin/c++ -v -Wl -v CMakeFiles/cmTC_b089b.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_b089b && :] + ignore line: [Compiler executable checksum: e75de627edc3c57e31324b930b15b056] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles\\cmTC_6af13.dir\\CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles\\cmTC_6af13.dir\\'] + ignore line: [ as -v -o CMakeFiles\\cmTC_6af13.dir\\CMakeCXXCompilerABI.cpp.obj C:\\Users\\ZBOOKF~1\\AppData\\Local\\Temp\\ccFKAjTa.s] + ignore line: [GNU assembler version 2.40 (x86_64-w64-mingw32) using BFD version (GNU Binutils) 2.40] + ignore line: [COMPILER_PATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/] + ignore line: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../libexec/gcc/] + ignore line: [LIBRARY_PATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/] + ignore line: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/] + ignore line: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/] + ignore line: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/] + ignore line: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/] + ignore line: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles\\cmTC_6af13.dir\\CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles\\cmTC_6af13.dir\\CMakeCXXCompilerABI.cpp.'] + ignore line: [Linking CXX executable cmTC_6af13.exe] + ignore line: ["C:\\Users\\ZBook Fury\\AppData\\Local\\JetBrains\\CLion 2024.3.2\\bin\\cmake\\win\\x64\\bin\\cmake.exe" -E cmake_link_script CMakeFiles\\cmTC_6af13.dir\\link.txt --verbose=1] + ignore line: ["C:\\Users\\ZBook Fury\\AppData\\Local\\JetBrains\\CLion 2024.3.2\\bin\\cmake\\win\\x64\\bin\\cmake.exe" -E rm -f CMakeFiles\\cmTC_6af13.dir/objects.a] + ignore line: [C:\\Users\\ZBOOKF~1\\AppData\\Local\\JETBRA~1\\CLION2~1.2\\bin\\mingw\\bin\\ar.exe qc CMakeFiles\\cmTC_6af13.dir/objects.a @CMakeFiles\\cmTC_6af13.dir\\objects1.rsp] + ignore line: [C:\\Users\\ZBOOKF~1\\AppData\\Local\\JETBRA~1\\CLION2~1.2\\bin\\mingw\\bin\\G__~1.EXE -v -Wl -v -Wl --whole-archive CMakeFiles\\cmTC_6af13.dir/objects.a -Wl --no-whole-archive -o cmTC_6af13.exe -Wl --out-implib libcmTC_6af13.dll.a -Wl --major-image-version 0 --minor-image-version 0] ignore line: [Using built-in specs.] - ignore line: [COLLECT_GCC=/usr/bin/c++] - ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/lto-wrapper] - ignore line: [Target: x86_64-pc-linux-gnu] - ignore line: [Configured with: /build/gcc/src/gcc/configure --enable-languages=ada c c++ d fortran go lto m2 objc obj-c++ rust --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://gitlab.archlinux.org/archlinux/packaging/packages/gcc/-/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror] + ignore line: [COLLECT_GCC=C:\\Users\\ZBOOKF~1\\AppData\\Local\\JETBRA~1\\CLION2~1.2\\bin\\mingw\\bin\\G__~1.EXE] + ignore line: [COLLECT_LTO_WRAPPER=C:/Users/ZBook\\ Fury/AppData/Local/JetBrains/CLion\\ 2024.3.2/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/lto-wrapper.exe] + ignore line: [Target: x86_64-w64-mingw32] + ignore line: [Configured with: ../gcc-13.1.0/configure --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --build=x86_64-alpine-linux-musl --prefix=/win --enable-checking=release --enable-fully-dynamic-string --enable-languages=c,c++ --with-arch=nocona --with-tune=generic --enable-libatomic --enable-libgomp --enable-libstdcxx-filesystem-ts --enable-libstdcxx-time --enable-seh-exceptions --enable-shared --enable-static --enable-threads=posix --enable-version-specific-runtime-libs --disable-bootstrap --disable-graphite --disable-libada --disable-libstdcxx-pch --disable-libstdcxx-debug --disable-libquadmath --disable-lto --disable-nls --disable-multilib --disable-rpath --disable-symvers --disable-werror --disable-win32-registry --with-gnu-as --with-gnu-ld --with-system-libiconv --with-system-libz --with-gmp=/win/makedepends --with-mpfr=/win/makedepends --with-mpc=/win/makedepends] ignore line: [Thread model: posix] - ignore line: [Supported LTO compression algorithms: zlib zstd] - ignore line: [gcc version 14.1.1 20240522 (GCC) ] - ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/] - ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_b089b' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_b089b.'] - link line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccee1hAe.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_b089b /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../.. -v CMakeFiles/cmTC_b089b.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/crtn.o] - arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/collect2] ==> ignore - arg [-plugin] ==> ignore - arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/liblto_plugin.so] ==> ignore - arg [-plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/ccee1hAe.res] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc] ==> ignore - arg [-plugin-opt=-pass-through=-lc] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc] ==> ignore - arg [--build-id] ==> ignore - arg [--eh-frame-hdr] ==> ignore - arg [--hash-style=gnu] ==> ignore - arg [-m] ==> ignore - arg [elf_x86_64] ==> ignore - arg [-dynamic-linker] ==> ignore - arg [/lib64/ld-linux-x86-64.so.2] ==> ignore - arg [-pie] ==> ignore - arg [-o] ==> ignore - arg [cmTC_b089b] ==> ignore - arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/Scrt1.o] - arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/crti.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/crti.o] - arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/crtbeginS.o] - arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1] - arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib] - arg [-L/lib/../lib] ==> dir [/lib/../lib] - arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] - arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../..] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../..] - arg [-v] ==> ignore - arg [CMakeFiles/cmTC_b089b.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore - arg [-lstdc++] ==> lib [stdc++] - arg [-lm] ==> lib [m] - arg [-lgcc_s] ==> lib [gcc_s] - arg [-lgcc] ==> lib [gcc] - arg [-lc] ==> lib [c] - arg [-lgcc_s] ==> lib [gcc_s] - arg [-lgcc] ==> lib [gcc] - arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/crtendS.o] - arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/crtn.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/crtn.o] - ignore line: [collect2 version 14.1.1 20240522] - ignore line: [/usr/bin/ld -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccee1hAe.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_b089b /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../.. -v CMakeFiles/cmTC_b089b.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/crtn.o] - linker tool for 'CXX': /usr/bin/ld - collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/Scrt1.o] ==> [/usr/lib/Scrt1.o] - collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/crti.o] ==> [/usr/lib/crti.o] - collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib/crtn.o] ==> [/usr/lib/crtn.o] - collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1] - collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../lib] ==> [/usr/lib] - collapse library dir [/lib/../lib] ==> [/lib] - collapse library dir [/usr/lib/../lib] ==> [/usr/lib] - collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/../../..] ==> [/usr/lib] - implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc] - implicit objs: [/usr/lib/Scrt1.o;/usr/lib/crti.o;/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/crtbeginS.o;/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/crtendS.o;/usr/lib/crtn.o] - implicit dirs: [/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1;/usr/lib;/lib] + ignore line: [Supported LTO compression algorithms: zlib] + ignore line: [gcc version 13.1.0 (GCC) ] + ignore line: [COMPILER_PATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/] + ignore line: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../libexec/gcc/] + ignore line: [LIBRARY_PATH=C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/] + ignore line: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/] + ignore line: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/] + ignore line: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/] + ignore line: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/] + ignore line: [C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_6af13.exe' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_6af13.'] + ignore line: [ C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/collect2.exe -m i386pep -Bdynamic -o cmTC_6af13.exe C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0 -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../.. -v --whole-archive CMakeFiles\\cmTC_6af13.dir/objects.a --no-whole-archive --out-implib libcmTC_6af13.dll.a --major-image-version 0 --minor-image-version 0 -lstdc++ -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -liconv -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/default-manifest.o C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o] + ignore line: [collect2 version 13.1.0] + ignore line: [C:\\Users\\ZBook Fury\\AppData\\Local\\JetBrains\\CLion 2024.3.2\\bin\\mingw\\bin/ld.exe -m i386pep -Bdynamic -o cmTC_6af13.exe C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0 -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib -LC:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../.. -v --whole-archive CMakeFiles\\cmTC_6af13.dir/objects.a --no-whole-archive --out-implib libcmTC_6af13.dll.a --major-image-version 0 --minor-image-version 0 -lstdc++ -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -liconv -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/default-manifest.o C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o] + ignore line: [GNU ld (GNU Binutils) 2.40] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_6af13.exe' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_6af13.'] + ignore line: [mingw32-make[1]: Leaving directory 'C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-8i081k'] + ignore line: [] + ignore line: [] + linker tool for 'CXX': C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/ld.exe + implicit libs: [] + implicit objs: [] + implicit dirs: [] implicit fwks: [] - kind: "message-v1" backtrace: - - "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/Internal/CMakeDetermineLinkerId.cmake:40 (message)" - - "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:255 (cmake_determine_linker_id)" - - "/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Internal/CMakeDetermineLinkerId.cmake:40 (message)" + - "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:255 (cmake_determine_linker_id)" + - "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" - "CMakeLists.txt:2 (project)" message: | - Running the CXX compiler's linker: "/usr/bin/ld" "-v" - GNU ld (GNU Binutils) 2.42.0 + Running the CXX compiler's linker: "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/ld.exe" "-v" + GNU ld (GNU Binutils) 2.40 ... diff --git a/cmake-build-debug/CMakeFiles/CMakeDirectoryInformation.cmake b/cmake-build-debug/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..6732aff --- /dev/null +++ b/cmake-build-debug/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "MinGW Makefiles" Generator, CMake Version 3.30 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "C:/Users/ZBook Fury/CLionProjects/NextFlick") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/cmake-build-debug/CMakeFiles/Makefile.cmake b/cmake-build-debug/CMakeFiles/Makefile.cmake new file mode 100644 index 0000000..87d36f0 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/Makefile.cmake @@ -0,0 +1,53 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "MinGW Makefiles" Generator, CMake Version 3.30 + +# The generator used is: +set(CMAKE_DEPENDS_GENERATOR "MinGW Makefiles") + +# The top level Makefile was generated from the following files: +set(CMAKE_MAKEFILE_DEPENDS + "CMakeCache.txt" + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeCInformation.cmake" + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeCXXInformation.cmake" + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeCommonLanguageInclude.cmake" + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeGenericSystem.cmake" + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeInitializeConfigs.cmake" + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeLanguageInformation.cmake" + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeRCInformation.cmake" + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeSystemSpecificInformation.cmake" + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/CMakeSystemSpecificInitialize.cmake" + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Compiler/GNU-C.cmake" + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Compiler/GNU-CXX.cmake" + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Compiler/GNU.cmake" + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Platform/Windows-GNU-C-ABI.cmake" + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Platform/Windows-GNU-C.cmake" + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Platform/Windows-GNU-CXX-ABI.cmake" + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Platform/Windows-GNU-CXX.cmake" + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Platform/Windows-GNU.cmake" + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Platform/Windows-Initialize.cmake" + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Platform/Windows-windres.cmake" + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Platform/Windows.cmake" + "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/cmake/win/x64/share/cmake-3.30/Modules/Platform/WindowsPaths.cmake" + "C:/Users/ZBook Fury/CLionProjects/NextFlick/CMakeLists.txt" + "CMakeFiles/3.30.5/CMakeCCompiler.cmake" + "CMakeFiles/3.30.5/CMakeCXXCompiler.cmake" + "CMakeFiles/3.30.5/CMakeRCCompiler.cmake" + "CMakeFiles/3.30.5/CMakeSystem.cmake" + ) + +# The corresponding makefile is: +set(CMAKE_MAKEFILE_OUTPUTS + "Makefile" + "CMakeFiles/cmake.check_cache" + ) + +# Byproducts of CMake generate step: +set(CMAKE_MAKEFILE_PRODUCTS + "CMakeFiles/CMakeDirectoryInformation.cmake" + ) + +# Dependency information for all targets: +set(CMAKE_DEPEND_INFO_FILES + "CMakeFiles/NextFlick.dir/DependInfo.cmake" + ) diff --git a/cmake-build-debug/CMakeFiles/Makefile2 b/cmake-build-debug/CMakeFiles/Makefile2 new file mode 100644 index 0000000..dcee7c1 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/Makefile2 @@ -0,0 +1,111 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "MinGW Makefiles" Generator, CMake Version 3.30 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +SHELL = cmd.exe + +# The CMake executable. +CMAKE_COMMAND = "C:\Users\ZBook Fury\AppData\Local\JetBrains\CLion 2024.3.2\bin\cmake\win\x64\bin\cmake.exe" + +# The command to remove a file. +RM = "C:\Users\ZBook Fury\AppData\Local\JetBrains\CLion 2024.3.2\bin\cmake\win\x64\bin\cmake.exe" -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = "C:\Users\ZBook Fury\CLionProjects\NextFlick" + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = "C:\Users\ZBook Fury\CLionProjects\NextFlick\cmake-build-debug" + +#============================================================================= +# Directory level rules for the build root directory + +# The main recursive "all" target. +all: CMakeFiles/NextFlick.dir/all +.PHONY : all + +# The main recursive "preinstall" target. +preinstall: +.PHONY : preinstall + +# The main recursive "clean" target. +clean: CMakeFiles/NextFlick.dir/clean +.PHONY : clean + +#============================================================================= +# Target rules for target CMakeFiles/NextFlick.dir + +# All Build rule for target. +CMakeFiles/NextFlick.dir/all: + $(MAKE) $(MAKESILENT) -f CMakeFiles\NextFlick.dir\build.make CMakeFiles/NextFlick.dir/depend + $(MAKE) $(MAKESILENT) -f CMakeFiles\NextFlick.dir\build.make CMakeFiles/NextFlick.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir="C:\Users\ZBook Fury\CLionProjects\NextFlick\cmake-build-debug\CMakeFiles" --progress-num=1,2,3,4,5 "Built target NextFlick" +.PHONY : CMakeFiles/NextFlick.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/NextFlick.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start "C:\Users\ZBook Fury\CLionProjects\NextFlick\cmake-build-debug\CMakeFiles" 5 + $(MAKE) $(MAKESILENT) -f CMakeFiles\Makefile2 CMakeFiles/NextFlick.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start "C:\Users\ZBook Fury\CLionProjects\NextFlick\cmake-build-debug\CMakeFiles" 0 +.PHONY : CMakeFiles/NextFlick.dir/rule + +# Convenience name for target. +NextFlick: CMakeFiles/NextFlick.dir/rule +.PHONY : NextFlick + +# clean rule for target. +CMakeFiles/NextFlick.dir/clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles\NextFlick.dir\build.make CMakeFiles/NextFlick.dir/clean +.PHONY : CMakeFiles/NextFlick.dir/clean + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles\Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/CXX.dd b/cmake-build-debug/CMakeFiles/NextFlick.dir/CXX.dd deleted file mode 100644 index cdf8b1c..0000000 --- a/cmake-build-debug/CMakeFiles/NextFlick.dir/CXX.dd +++ /dev/null @@ -1,7 +0,0 @@ -ninja_dyndep_version = 1.0 -build CMakeFiles/NextFlick.dir/main.cpp.o: dyndep - -build CMakeFiles/NextFlick.dir/users.cpp.o: dyndep - -build CMakeFiles/NextFlick.dir/admin.cpp.o: dyndep - diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/CXXDependInfo.json b/cmake-build-debug/CMakeFiles/NextFlick.dir/CXXDependInfo.json deleted file mode 100644 index 350abe1..0000000 --- a/cmake-build-debug/CMakeFiles/NextFlick.dir/CXXDependInfo.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "bmi-installation" : null, - "compiler-frontend-variant" : "GNU", - "compiler-id" : "GNU", - "compiler-simulate-id" : "", - "config" : "Debug", - "cxx-modules" : {}, - "dir-cur-bld" : "/home/ghazal/CLionProjects/NextFlick/cmake-build-debug", - "dir-cur-src" : "/home/ghazal/CLionProjects/NextFlick", - "dir-top-bld" : "/home/ghazal/CLionProjects/NextFlick/cmake-build-debug", - "dir-top-src" : "/home/ghazal/CLionProjects/NextFlick", - "exports" : [], - "forward-modules-from-target-dirs" : [], - "include-dirs" : [], - "language" : "CXX", - "linked-target-dirs" : [], - "module-dir" : "/home/ghazal/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/NextFlick.dir" -} \ No newline at end of file diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/CXXModules.json b/cmake-build-debug/CMakeFiles/NextFlick.dir/CXXModules.json deleted file mode 100644 index b5d5868..0000000 --- a/cmake-build-debug/CMakeFiles/NextFlick.dir/CXXModules.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "modules" : {}, - "references" : {}, - "usages" : {} -} \ No newline at end of file diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/CompressedTrie.cpp.obj b/cmake-build-debug/CMakeFiles/NextFlick.dir/CompressedTrie.cpp.obj new file mode 100644 index 0000000..6fa4bad Binary files /dev/null and b/cmake-build-debug/CMakeFiles/NextFlick.dir/CompressedTrie.cpp.obj differ diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/CompressedTrie.cpp.obj.d b/cmake-build-debug/CMakeFiles/NextFlick.dir/CompressedTrie.cpp.obj.d new file mode 100644 index 0000000..ab57c60 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/NextFlick.dir/CompressedTrie.cpp.obj.d @@ -0,0 +1,188 @@ +CMakeFiles/NextFlick.dir/CompressedTrie.cpp.obj: \ + C:\Users\ZBook\ Fury\CLionProjects\NextFlick\CompressedTrie.cpp \ + C:\Users\ZBook\ Fury\CLionProjects\NextFlick\CompressedTrie.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/iostream \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/requires_hosted.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++config.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/os_defines.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/cpu_defines.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/pstl/pstl_config.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ostream \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ios \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/iosfwd \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stringfwd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/memoryfwd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/postypes.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cwchar \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/wchar.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_mac.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_secapi.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/vadefs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sdks/_mingw_ddk.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_stdio_config.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_wstdlib.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_off_t.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_stat64.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/swprintf.inl \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/wchar_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/exception \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception_ptr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception_defines.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cxxabi_init_exception.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/stddef.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stddef.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/crtdefs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/typeinfo \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/hash_bytes.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/new \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/move.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/type_traits \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/nested_exception.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/char_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/compare \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/concepts \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_construct.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_types.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/iterator_concepts.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ptr_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_cmp.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_funcs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/concept_check.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/debug/assertions.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/localefwd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++locale.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/clocale \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/locale.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdio.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/stdio_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cctype \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/ctype.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ios_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/atomicity.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/gthr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/gthr-default.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/errno.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sys/types.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/process.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_startup.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/limits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/syslimits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/limits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/signal.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_signal.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/time.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sys/timeb.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/sys/timeb_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_timeval.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_time.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_compat.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_unistd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/atomic_word.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_classes.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/string \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/new_allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/functexcept.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cpp_type_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ostream_insert.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cxxabi_forced.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/type_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_function.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward/binders.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/numeric_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_algobase.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_pair.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/utility.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/debug/debug.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/predefined_ops.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bit \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/refwrap.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/invoke.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/range_access.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/initializer_list \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_string.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/alloc_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/alloc_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/string_view \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/functional_hash.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/max_size_type.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/numbers \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/string_view.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/string_conversions.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstdlib \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdlib.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/stdlib_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/stdlib.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/malloc.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/mm_malloc.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/std_abs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstdio \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cerrno \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/charconv.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_string.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/memory_resource.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstddef \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/uses_allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/uses_allocator_args.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/tuple \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_util.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_classes.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/system_error \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/error_constants.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/stdexcept \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/streambuf \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/streambuf.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_ios.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_facets.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cwctype \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/wctype.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/streambuf_iterator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_inline.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_facets.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_ios.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ostream.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/istream \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/istream.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/vector \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_uninitialized.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_vector.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_bvector.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/vector.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/unordered_map \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/unordered_map.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/hashtable.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/hashtable_policy.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/aligned_buffer.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/enable_special_members.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/node_handle.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/erase_if.h \ + C:\Users\ZBook\ Fury\CLionProjects\NextFlick\Media.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/memory \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_tempbuf.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_raw_storage_iter.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/align.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/stdint.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdint.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/unique_ptr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/shared_ptr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/shared_ptr_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/allocated_ptr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/concurrence.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/shared_ptr_atomic.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/atomic_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/atomic_lockfree_defines.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/atomic_wait.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/std_mutex.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward/auto_ptr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_uninitialized.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_algobase.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/pstl/glue_memory_defs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/pstl/execution_defs.h diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/DependInfo.cmake b/cmake-build-debug/CMakeFiles/NextFlick.dir/DependInfo.cmake new file mode 100644 index 0000000..c1be26b --- /dev/null +++ b/cmake-build-debug/CMakeFiles/NextFlick.dir/DependInfo.cmake @@ -0,0 +1,26 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "C:/Users/ZBook Fury/CLionProjects/NextFlick/CompressedTrie.cpp" "CMakeFiles/NextFlick.dir/CompressedTrie.cpp.obj" "gcc" "CMakeFiles/NextFlick.dir/CompressedTrie.cpp.obj.d" + "C:/Users/ZBook Fury/CLionProjects/NextFlick/admin.cpp" "CMakeFiles/NextFlick.dir/admin.cpp.obj" "gcc" "CMakeFiles/NextFlick.dir/admin.cpp.obj.d" + "C:/Users/ZBook Fury/CLionProjects/NextFlick/main.cpp" "CMakeFiles/NextFlick.dir/main.cpp.obj" "gcc" "CMakeFiles/NextFlick.dir/main.cpp.obj.d" + "C:/Users/ZBook Fury/CLionProjects/NextFlick/users.cpp" "CMakeFiles/NextFlick.dir/users.cpp.obj" "gcc" "CMakeFiles/NextFlick.dir/users.cpp.obj.d" + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/admin.cpp.ddi b/cmake-build-debug/CMakeFiles/NextFlick.dir/admin.cpp.ddi deleted file mode 100644 index 35deb6f..0000000 --- a/cmake-build-debug/CMakeFiles/NextFlick.dir/admin.cpp.ddi +++ /dev/null @@ -1,11 +0,0 @@ -{ -"rules": [ -{ -"primary-output": "CMakeFiles/NextFlick.dir/admin.cpp.o", -"requires": [ -] -} -], -"version": 0, -"revision": 0 -} diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/admin.cpp.o b/cmake-build-debug/CMakeFiles/NextFlick.dir/admin.cpp.o deleted file mode 100644 index eac38bf..0000000 Binary files a/cmake-build-debug/CMakeFiles/NextFlick.dir/admin.cpp.o and /dev/null differ diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/admin.cpp.o.ddi b/cmake-build-debug/CMakeFiles/NextFlick.dir/admin.cpp.o.ddi deleted file mode 100644 index 35deb6f..0000000 --- a/cmake-build-debug/CMakeFiles/NextFlick.dir/admin.cpp.o.ddi +++ /dev/null @@ -1,11 +0,0 @@ -{ -"rules": [ -{ -"primary-output": "CMakeFiles/NextFlick.dir/admin.cpp.o", -"requires": [ -] -} -], -"version": 0, -"revision": 0 -} diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/admin.cpp.o.ddi.d b/cmake-build-debug/CMakeFiles/NextFlick.dir/admin.cpp.o.ddi.d deleted file mode 100644 index 061230a..0000000 --- a/cmake-build-debug/CMakeFiles/NextFlick.dir/admin.cpp.o.ddi.d +++ /dev/null @@ -1,146 +0,0 @@ -CMakeFiles/NextFlick.dir/admin.cpp.o.ddi: \ - /home/ghazal/CLionProjects/NextFlick/admin.cpp \ - /usr/include/stdc-predef.h /home/ghazal/CLionProjects/NextFlick/admin.h \ - /usr/include/c++/14.1.1/iostream \ - /usr/include/c++/14.1.1/bits/requires_hosted.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/os_defines.h \ - /usr/include/features.h /usr/include/features-time64.h \ - /usr/include/bits/wordsize.h /usr/include/bits/timesize.h \ - /usr/include/sys/cdefs.h /usr/include/bits/long-double.h \ - /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/cpu_defines.h \ - /usr/include/c++/14.1.1/pstl/pstl_config.h \ - /usr/include/c++/14.1.1/ostream /usr/include/c++/14.1.1/ios \ - /usr/include/c++/14.1.1/iosfwd /usr/include/c++/14.1.1/bits/stringfwd.h \ - /usr/include/c++/14.1.1/bits/memoryfwd.h \ - /usr/include/c++/14.1.1/bits/postypes.h /usr/include/c++/14.1.1/cwchar \ - /usr/include/wchar.h /usr/include/bits/libc-header-start.h \ - /usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \ - /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h \ - /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stdarg.h \ - /usr/include/bits/wchar.h /usr/include/bits/types/wint_t.h \ - /usr/include/bits/types/mbstate_t.h \ - /usr/include/bits/types/__mbstate_t.h /usr/include/bits/types/__FILE.h \ - /usr/include/bits/types/FILE.h /usr/include/bits/types/locale_t.h \ - /usr/include/bits/types/__locale_t.h /usr/include/c++/14.1.1/exception \ - /usr/include/c++/14.1.1/bits/exception.h \ - /usr/include/c++/14.1.1/bits/version.h \ - /usr/include/c++/14.1.1/bits/exception_ptr.h \ - /usr/include/c++/14.1.1/bits/exception_defines.h \ - /usr/include/c++/14.1.1/bits/cxxabi_init_exception.h \ - /usr/include/c++/14.1.1/typeinfo \ - /usr/include/c++/14.1.1/bits/hash_bytes.h /usr/include/c++/14.1.1/new \ - /usr/include/c++/14.1.1/bits/move.h /usr/include/c++/14.1.1/type_traits \ - /usr/include/c++/14.1.1/bits/nested_exception.h \ - /usr/include/c++/14.1.1/bits/char_traits.h \ - /usr/include/c++/14.1.1/compare /usr/include/c++/14.1.1/concepts \ - /usr/include/c++/14.1.1/bits/stl_construct.h \ - /usr/include/c++/14.1.1/bits/stl_iterator_base_types.h \ - /usr/include/c++/14.1.1/bits/iterator_concepts.h \ - /usr/include/c++/14.1.1/bits/ptr_traits.h \ - /usr/include/c++/14.1.1/bits/ranges_cmp.h \ - /usr/include/c++/14.1.1/bits/stl_iterator_base_funcs.h \ - /usr/include/c++/14.1.1/bits/concept_check.h \ - /usr/include/c++/14.1.1/debug/assertions.h \ - /usr/include/c++/14.1.1/bits/localefwd.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++locale.h \ - /usr/include/c++/14.1.1/clocale /usr/include/locale.h \ - /usr/include/bits/locale.h /usr/include/c++/14.1.1/cctype \ - /usr/include/ctype.h /usr/include/bits/types.h \ - /usr/include/bits/typesizes.h /usr/include/bits/time64.h \ - /usr/include/bits/endian.h /usr/include/bits/endianness.h \ - /usr/include/c++/14.1.1/bits/ios_base.h \ - /usr/include/c++/14.1.1/ext/atomicity.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h \ - /usr/include/pthread.h /usr/include/sched.h \ - /usr/include/bits/types/time_t.h \ - /usr/include/bits/types/struct_timespec.h /usr/include/bits/sched.h \ - /usr/include/bits/types/struct_sched_param.h /usr/include/bits/cpu-set.h \ - /usr/include/time.h /usr/include/bits/time.h /usr/include/bits/timex.h \ - /usr/include/bits/types/struct_timeval.h \ - /usr/include/bits/types/clock_t.h /usr/include/bits/types/struct_tm.h \ - /usr/include/bits/types/clockid_t.h /usr/include/bits/types/timer_t.h \ - /usr/include/bits/types/struct_itimerspec.h \ - /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \ - /usr/include/bits/pthreadtypes-arch.h \ - /usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \ - /usr/include/bits/struct_rwlock.h /usr/include/bits/setjmp.h \ - /usr/include/bits/types/__sigset_t.h \ - /usr/include/bits/types/struct___jmp_buf_tag.h \ - /usr/include/bits/pthread_stack_min-dynamic.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/atomic_word.h \ - /usr/include/sys/single_threaded.h \ - /usr/include/c++/14.1.1/bits/locale_classes.h \ - /usr/include/c++/14.1.1/string /usr/include/c++/14.1.1/bits/allocator.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h \ - /usr/include/c++/14.1.1/bits/new_allocator.h \ - /usr/include/c++/14.1.1/bits/functexcept.h \ - /usr/include/c++/14.1.1/bits/cpp_type_traits.h \ - /usr/include/c++/14.1.1/bits/ostream_insert.h \ - /usr/include/c++/14.1.1/bits/cxxabi_forced.h \ - /usr/include/c++/14.1.1/bits/stl_iterator.h \ - /usr/include/c++/14.1.1/ext/type_traits.h \ - /usr/include/c++/14.1.1/bits/stl_function.h \ - /usr/include/c++/14.1.1/backward/binders.h \ - /usr/include/c++/14.1.1/ext/numeric_traits.h \ - /usr/include/c++/14.1.1/bits/stl_algobase.h \ - /usr/include/c++/14.1.1/bits/stl_pair.h \ - /usr/include/c++/14.1.1/bits/utility.h \ - /usr/include/c++/14.1.1/debug/debug.h \ - /usr/include/c++/14.1.1/bits/predefined_ops.h \ - /usr/include/c++/14.1.1/bit /usr/include/c++/14.1.1/bits/refwrap.h \ - /usr/include/c++/14.1.1/bits/invoke.h \ - /usr/include/c++/14.1.1/bits/range_access.h \ - /usr/include/c++/14.1.1/initializer_list \ - /usr/include/c++/14.1.1/bits/basic_string.h \ - /usr/include/c++/14.1.1/ext/alloc_traits.h \ - /usr/include/c++/14.1.1/bits/alloc_traits.h \ - /usr/include/c++/14.1.1/string_view \ - /usr/include/c++/14.1.1/bits/functional_hash.h \ - /usr/include/c++/14.1.1/bits/ranges_base.h \ - /usr/include/c++/14.1.1/bits/max_size_type.h \ - /usr/include/c++/14.1.1/numbers \ - /usr/include/c++/14.1.1/bits/string_view.tcc \ - /usr/include/c++/14.1.1/ext/string_conversions.h \ - /usr/include/c++/14.1.1/cstdlib /usr/include/stdlib.h \ - /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ - /usr/include/sys/types.h /usr/include/bits/stdint-intn.h \ - /usr/include/endian.h /usr/include/bits/byteswap.h \ - /usr/include/bits/uintn-identity.h /usr/include/sys/select.h \ - /usr/include/bits/select.h /usr/include/bits/types/sigset_t.h \ - /usr/include/alloca.h /usr/include/bits/stdlib-float.h \ - /usr/include/c++/14.1.1/bits/std_abs.h /usr/include/c++/14.1.1/cstdio \ - /usr/include/stdio.h /usr/include/bits/types/__fpos_t.h \ - /usr/include/bits/types/__fpos64_t.h \ - /usr/include/bits/types/struct_FILE.h \ - /usr/include/bits/types/cookie_io_functions_t.h \ - /usr/include/bits/stdio_lim.h /usr/include/c++/14.1.1/cerrno \ - /usr/include/errno.h /usr/include/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/bits/types/error_t.h \ - /usr/include/c++/14.1.1/bits/charconv.h \ - /usr/include/c++/14.1.1/bits/basic_string.tcc \ - /usr/include/c++/14.1.1/bits/memory_resource.h \ - /usr/include/c++/14.1.1/cstddef \ - /usr/include/c++/14.1.1/bits/uses_allocator.h \ - /usr/include/c++/14.1.1/bits/uses_allocator_args.h \ - /usr/include/c++/14.1.1/tuple /usr/include/c++/14.1.1/bits/ranges_util.h \ - /usr/include/c++/14.1.1/bits/locale_classes.tcc \ - /usr/include/c++/14.1.1/system_error \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/error_constants.h \ - /usr/include/c++/14.1.1/stdexcept /usr/include/c++/14.1.1/streambuf \ - /usr/include/c++/14.1.1/bits/streambuf.tcc \ - /usr/include/c++/14.1.1/bits/basic_ios.h \ - /usr/include/c++/14.1.1/bits/locale_facets.h \ - /usr/include/c++/14.1.1/cwctype /usr/include/wctype.h \ - /usr/include/bits/wctype-wchar.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/ctype_base.h \ - /usr/include/c++/14.1.1/bits/streambuf_iterator.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/ctype_inline.h \ - /usr/include/c++/14.1.1/bits/locale_facets.tcc \ - /usr/include/c++/14.1.1/bits/basic_ios.tcc \ - /usr/include/c++/14.1.1/bits/ostream.tcc /usr/include/c++/14.1.1/istream \ - /usr/include/c++/14.1.1/bits/istream.tcc diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/admin.cpp.o.ddi.i b/cmake-build-debug/CMakeFiles/NextFlick.dir/admin.cpp.o.ddi.i deleted file mode 100644 index faac21b..0000000 --- a/cmake-build-debug/CMakeFiles/NextFlick.dir/admin.cpp.o.ddi.i +++ /dev/null @@ -1,43326 +0,0 @@ -# 0 "/home/ghazal/CLionProjects/NextFlick/admin.cpp" -# 1 "/home/ghazal/CLionProjects/NextFlick/cmake-build-debug//" -# 0 "" -# 0 "" -# 1 "/usr/include/stdc-predef.h" 1 3 4 -# 0 "" 2 -# 1 "/home/ghazal/CLionProjects/NextFlick/admin.cpp" - - - - -# 1 "/home/ghazal/CLionProjects/NextFlick/admin.h" 1 - - - - - - -# 1 "/usr/include/c++/14.1.1/iostream" 1 3 -# 36 "/usr/include/c++/14.1.1/iostream" 3 - -# 37 "/usr/include/c++/14.1.1/iostream" 3 - -# 1 "/usr/include/c++/14.1.1/bits/requires_hosted.h" 1 3 -# 31 "/usr/include/c++/14.1.1/bits/requires_hosted.h" 3 -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 1 3 -# 33 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 - -# 34 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 -# 308 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 - -# 308 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 -namespace std -{ - typedef long unsigned int size_t; - typedef long int ptrdiff_t; - - - typedef decltype(nullptr) nullptr_t; - - -#pragma GCC visibility push(default) - - - extern "C++" __attribute__ ((__noreturn__, __always_inline__)) - inline void __terminate() noexcept - { - void terminate() noexcept __attribute__ ((__noreturn__,__cold__)); - terminate(); - } -#pragma GCC visibility pop -} -# 341 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 -namespace std -{ - inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } -} -namespace __gnu_cxx -{ - inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } -} -# 534 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 -namespace std -{ -#pragma GCC visibility push(default) - - - - - __attribute__((__always_inline__)) - constexpr inline bool - __is_constant_evaluated() noexcept - { - - - - - - return __builtin_is_constant_evaluated(); - - - - } -#pragma GCC visibility pop -} -# 573 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 -namespace std -{ -#pragma GCC visibility push(default) - - extern "C++" __attribute__ ((__noreturn__)) - void - __glibcxx_assert_fail - (const char* __file, int __line, const char* __function, - const char* __condition) - noexcept; -#pragma GCC visibility pop -} -# 601 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 -namespace std -{ - __attribute__((__always_inline__,__visibility__("default"))) - inline void - __glibcxx_assert_fail() - { } -} -# 680 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/os_defines.h" 1 3 -# 39 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/os_defines.h" 3 -# 1 "/usr/include/features.h" 1 3 4 -# 394 "/usr/include/features.h" 3 4 -# 1 "/usr/include/features-time64.h" 1 3 4 -# 20 "/usr/include/features-time64.h" 3 4 -# 1 "/usr/include/bits/wordsize.h" 1 3 4 -# 21 "/usr/include/features-time64.h" 2 3 4 -# 1 "/usr/include/bits/timesize.h" 1 3 4 -# 19 "/usr/include/bits/timesize.h" 3 4 -# 1 "/usr/include/bits/wordsize.h" 1 3 4 -# 20 "/usr/include/bits/timesize.h" 2 3 4 -# 22 "/usr/include/features-time64.h" 2 3 4 -# 395 "/usr/include/features.h" 2 3 4 -# 503 "/usr/include/features.h" 3 4 -# 1 "/usr/include/sys/cdefs.h" 1 3 4 -# 576 "/usr/include/sys/cdefs.h" 3 4 -# 1 "/usr/include/bits/wordsize.h" 1 3 4 -# 577 "/usr/include/sys/cdefs.h" 2 3 4 -# 1 "/usr/include/bits/long-double.h" 1 3 4 -# 578 "/usr/include/sys/cdefs.h" 2 3 4 -# 504 "/usr/include/features.h" 2 3 4 -# 527 "/usr/include/features.h" 3 4 -# 1 "/usr/include/gnu/stubs.h" 1 3 4 -# 10 "/usr/include/gnu/stubs.h" 3 4 -# 1 "/usr/include/gnu/stubs-64.h" 1 3 4 -# 11 "/usr/include/gnu/stubs.h" 2 3 4 -# 528 "/usr/include/features.h" 2 3 4 -# 40 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/os_defines.h" 2 3 -# 681 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 2 3 - - -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/cpu_defines.h" 1 3 -# 684 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 2 3 -# 825 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 -namespace __gnu_cxx -{ - typedef __decltype(0.0bf16) __bfloat16_t; -} -# 887 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 -# 1 "/usr/include/c++/14.1.1/pstl/pstl_config.h" 1 3 -# 888 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 2 3 -# 32 "/usr/include/c++/14.1.1/bits/requires_hosted.h" 2 3 -# 39 "/usr/include/c++/14.1.1/iostream" 2 3 - - -# 1 "/usr/include/c++/14.1.1/ostream" 1 3 -# 36 "/usr/include/c++/14.1.1/ostream" 3 - -# 37 "/usr/include/c++/14.1.1/ostream" 3 - - - -# 1 "/usr/include/c++/14.1.1/ios" 1 3 -# 36 "/usr/include/c++/14.1.1/ios" 3 - -# 37 "/usr/include/c++/14.1.1/ios" 3 - - - -# 1 "/usr/include/c++/14.1.1/iosfwd" 1 3 -# 36 "/usr/include/c++/14.1.1/iosfwd" 3 - -# 37 "/usr/include/c++/14.1.1/iosfwd" 3 - - - - -# 1 "/usr/include/c++/14.1.1/bits/stringfwd.h" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/stringfwd.h" 3 - -# 38 "/usr/include/c++/14.1.1/bits/stringfwd.h" 3 - - -# 1 "/usr/include/c++/14.1.1/bits/memoryfwd.h" 1 3 -# 46 "/usr/include/c++/14.1.1/bits/memoryfwd.h" 3 - -# 47 "/usr/include/c++/14.1.1/bits/memoryfwd.h" 3 - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 64 "/usr/include/c++/14.1.1/bits/memoryfwd.h" 3 - template - class allocator; - - template<> - class allocator; - - - - template - struct uses_allocator; - - template - struct allocator_traits; - - - - - -} -# 41 "/usr/include/c++/14.1.1/bits/stringfwd.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - - - template - struct char_traits; - - template<> struct char_traits; - - template<> struct char_traits; - - - template<> struct char_traits; - - - - template<> struct char_traits; - template<> struct char_traits; - - -namespace __cxx11 { - - template, - typename _Alloc = allocator<_CharT> > - class basic_string; - -} - - - typedef basic_string string; - - - typedef basic_string wstring; - - - - typedef basic_string u8string; - - - - - typedef basic_string u16string; - - - typedef basic_string u32string; - - - - - -} -# 42 "/usr/include/c++/14.1.1/iosfwd" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/postypes.h" 1 3 -# 38 "/usr/include/c++/14.1.1/bits/postypes.h" 3 - -# 39 "/usr/include/c++/14.1.1/bits/postypes.h" 3 - -# 1 "/usr/include/c++/14.1.1/cwchar" 1 3 -# 39 "/usr/include/c++/14.1.1/cwchar" 3 - -# 40 "/usr/include/c++/14.1.1/cwchar" 3 - - - - -# 1 "/usr/include/wchar.h" 1 3 4 -# 27 "/usr/include/wchar.h" 3 4 -# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 -# 28 "/usr/include/wchar.h" 2 3 4 - - -# 1 "/usr/include/bits/floatn.h" 1 3 4 -# 119 "/usr/include/bits/floatn.h" 3 4 -# 1 "/usr/include/bits/floatn-common.h" 1 3 4 -# 24 "/usr/include/bits/floatn-common.h" 3 4 -# 1 "/usr/include/bits/long-double.h" 1 3 4 -# 25 "/usr/include/bits/floatn-common.h" 2 3 4 -# 120 "/usr/include/bits/floatn.h" 2 3 4 -# 31 "/usr/include/wchar.h" 2 3 4 - - - - -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 214 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 3 4 -typedef long unsigned int size_t; -# 36 "/usr/include/wchar.h" 2 3 4 - - -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stdarg.h" 1 3 4 -# 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stdarg.h" 3 4 -typedef __builtin_va_list __gnuc_va_list; -# 39 "/usr/include/wchar.h" 2 3 4 - - - - -typedef __gnuc_va_list va_list; - - - - - - - -# 1 "/usr/include/bits/wchar.h" 1 3 4 -# 52 "/usr/include/wchar.h" 2 3 4 -# 1 "/usr/include/bits/types/wint_t.h" 1 3 4 -# 20 "/usr/include/bits/types/wint_t.h" 3 4 -typedef unsigned int wint_t; -# 53 "/usr/include/wchar.h" 2 3 4 -# 1 "/usr/include/bits/types/mbstate_t.h" 1 3 4 - - - -# 1 "/usr/include/bits/types/__mbstate_t.h" 1 3 4 -# 13 "/usr/include/bits/types/__mbstate_t.h" 3 4 -typedef struct -{ - int __count; - union - { - unsigned int __wch; - char __wchb[4]; - } __value; -} __mbstate_t; -# 5 "/usr/include/bits/types/mbstate_t.h" 2 3 4 - -typedef __mbstate_t mbstate_t; -# 54 "/usr/include/wchar.h" 2 3 4 -# 1 "/usr/include/bits/types/__FILE.h" 1 3 4 - - - -struct _IO_FILE; -typedef struct _IO_FILE __FILE; -# 55 "/usr/include/wchar.h" 2 3 4 - - -# 1 "/usr/include/bits/types/FILE.h" 1 3 4 - - - -struct _IO_FILE; - - -typedef struct _IO_FILE FILE; -# 58 "/usr/include/wchar.h" 2 3 4 - - -# 1 "/usr/include/bits/types/locale_t.h" 1 3 4 -# 22 "/usr/include/bits/types/locale_t.h" 3 4 -# 1 "/usr/include/bits/types/__locale_t.h" 1 3 4 -# 27 "/usr/include/bits/types/__locale_t.h" 3 4 -struct __locale_struct -{ - - struct __locale_data *__locales[13]; - - - const unsigned short int *__ctype_b; - const int *__ctype_tolower; - const int *__ctype_toupper; - - - const char *__names[13]; -}; - -typedef struct __locale_struct *__locale_t; -# 23 "/usr/include/bits/types/locale_t.h" 2 3 4 - -typedef __locale_t locale_t; -# 61 "/usr/include/wchar.h" 2 3 4 -# 90 "/usr/include/wchar.h" 3 4 -extern "C" { - - - -struct tm; - - - -extern wchar_t *wcscpy (wchar_t *__restrict __dest, - const wchar_t *__restrict __src) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern wchar_t *wcsncpy (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, size_t __n) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - - -extern size_t wcslcpy (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, size_t __n) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 3))); - - - -extern size_t wcslcat (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, size_t __n) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__read_write__, 1, 3))); - - - -extern wchar_t *wcscat (wchar_t *__restrict __dest, - const wchar_t *__restrict __src) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - -extern wchar_t *wcsncat (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, size_t __n) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2) - noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); - -extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) - noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); - - - -extern int wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) noexcept (true); - - -extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2, - size_t __n) noexcept (true); - - - -extern int wcscasecmp_l (const wchar_t *__s1, const wchar_t *__s2, - locale_t __loc) noexcept (true); - -extern int wcsncasecmp_l (const wchar_t *__s1, const wchar_t *__s2, - size_t __n, locale_t __loc) noexcept (true); - - - - -extern int wcscoll (const wchar_t *__s1, const wchar_t *__s2) noexcept (true); - - - -extern size_t wcsxfrm (wchar_t *__restrict __s1, - const wchar_t *__restrict __s2, size_t __n) noexcept (true); - - - - - - - -extern int wcscoll_l (const wchar_t *__s1, const wchar_t *__s2, - locale_t __loc) noexcept (true); - - - - -extern size_t wcsxfrm_l (wchar_t *__s1, const wchar_t *__s2, - size_t __n, locale_t __loc) noexcept (true); - - -extern wchar_t *wcsdup (const wchar_t *__s) noexcept (true) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (__builtin_free, 1))); - - - - -extern "C++" wchar_t *wcschr (wchar_t *__wcs, wchar_t __wc) - noexcept (true) __asm ("wcschr") __attribute__ ((__pure__)); -extern "C++" const wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc) - noexcept (true) __asm ("wcschr") __attribute__ ((__pure__)); - - - - - - -extern "C++" wchar_t *wcsrchr (wchar_t *__wcs, wchar_t __wc) - noexcept (true) __asm ("wcsrchr") __attribute__ ((__pure__)); -extern "C++" const wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc) - noexcept (true) __asm ("wcsrchr") __attribute__ ((__pure__)); -# 206 "/usr/include/wchar.h" 3 4 -extern wchar_t *wcschrnul (const wchar_t *__s, wchar_t __wc) - noexcept (true) __attribute__ ((__pure__)); - - - - -extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject) - noexcept (true) __attribute__ ((__pure__)); - - -extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept) - noexcept (true) __attribute__ ((__pure__)); - - -extern "C++" wchar_t *wcspbrk (wchar_t *__wcs, const wchar_t *__accept) - noexcept (true) __asm ("wcspbrk") __attribute__ ((__pure__)); -extern "C++" const wchar_t *wcspbrk (const wchar_t *__wcs, - const wchar_t *__accept) - noexcept (true) __asm ("wcspbrk") __attribute__ ((__pure__)); - - - - - - -extern "C++" wchar_t *wcsstr (wchar_t *__haystack, const wchar_t *__needle) - noexcept (true) __asm ("wcsstr") __attribute__ ((__pure__)); -extern "C++" const wchar_t *wcsstr (const wchar_t *__haystack, - const wchar_t *__needle) - noexcept (true) __asm ("wcsstr") __attribute__ ((__pure__)); - - - - - - -extern wchar_t *wcstok (wchar_t *__restrict __s, - const wchar_t *__restrict __delim, - wchar_t **__restrict __ptr) noexcept (true); - - -extern size_t wcslen (const wchar_t *__s) noexcept (true) __attribute__ ((__pure__)); - - - - -extern "C++" wchar_t *wcswcs (wchar_t *__haystack, const wchar_t *__needle) - noexcept (true) __asm ("wcswcs") __attribute__ ((__pure__)); -extern "C++" const wchar_t *wcswcs (const wchar_t *__haystack, - const wchar_t *__needle) - noexcept (true) __asm ("wcswcs") __attribute__ ((__pure__)); -# 265 "/usr/include/wchar.h" 3 4 -extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen) - noexcept (true) __attribute__ ((__pure__)); - - - - - -extern "C++" wchar_t *wmemchr (wchar_t *__s, wchar_t __c, size_t __n) - noexcept (true) __asm ("wmemchr") __attribute__ ((__pure__)); -extern "C++" const wchar_t *wmemchr (const wchar_t *__s, wchar_t __c, - size_t __n) - noexcept (true) __asm ("wmemchr") __attribute__ ((__pure__)); - - - - - - -extern int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) - noexcept (true) __attribute__ ((__pure__)); - - -extern wchar_t *wmemcpy (wchar_t *__restrict __s1, - const wchar_t *__restrict __s2, size_t __n) noexcept (true); - - - -extern wchar_t *wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n) - noexcept (true); - - -extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) noexcept (true); - - - - -extern wchar_t *wmempcpy (wchar_t *__restrict __s1, - const wchar_t *__restrict __s2, size_t __n) - noexcept (true); - - - - - -extern wint_t btowc (int __c) noexcept (true); - - - -extern int wctob (wint_t __c) noexcept (true); - - - -extern int mbsinit (const mbstate_t *__ps) noexcept (true) __attribute__ ((__pure__)); - - - -extern size_t mbrtowc (wchar_t *__restrict __pwc, - const char *__restrict __s, size_t __n, - mbstate_t *__restrict __p) noexcept (true); - - -extern size_t wcrtomb (char *__restrict __s, wchar_t __wc, - mbstate_t *__restrict __ps) noexcept (true); - - -extern size_t __mbrlen (const char *__restrict __s, size_t __n, - mbstate_t *__restrict __ps) noexcept (true); -extern size_t mbrlen (const char *__restrict __s, size_t __n, - mbstate_t *__restrict __ps) noexcept (true); -# 362 "/usr/include/wchar.h" 3 4 -extern size_t mbsrtowcs (wchar_t *__restrict __dst, - const char **__restrict __src, size_t __len, - mbstate_t *__restrict __ps) noexcept (true); - - - -extern size_t wcsrtombs (char *__restrict __dst, - const wchar_t **__restrict __src, size_t __len, - mbstate_t *__restrict __ps) noexcept (true); - - - - - -extern size_t mbsnrtowcs (wchar_t *__restrict __dst, - const char **__restrict __src, size_t __nmc, - size_t __len, mbstate_t *__restrict __ps) noexcept (true); - - - -extern size_t wcsnrtombs (char *__restrict __dst, - const wchar_t **__restrict __src, - size_t __nwc, size_t __len, - mbstate_t *__restrict __ps) noexcept (true); - - - - - - -extern int wcwidth (wchar_t __c) noexcept (true); - - - -extern int wcswidth (const wchar_t *__s, size_t __n) noexcept (true); - - - - - -extern double wcstod (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) noexcept (true); - - - -extern float wcstof (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) noexcept (true); -extern long double wcstold (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) noexcept (true); -# 422 "/usr/include/wchar.h" 3 4 -extern _Float32 wcstof32 (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) noexcept (true); - - - -extern _Float64 wcstof64 (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) noexcept (true); - - - -extern _Float128 wcstof128 (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) noexcept (true); - - - -extern _Float32x wcstof32x (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) noexcept (true); - - - -extern _Float64x wcstof64x (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) noexcept (true); -# 455 "/usr/include/wchar.h" 3 4 -extern long int wcstol (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, int __base) noexcept (true); - - - -extern unsigned long int wcstoul (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, int __base) - noexcept (true); - - - - -__extension__ -extern long long int wcstoll (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, int __base) - noexcept (true); - - - -__extension__ -extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - int __base) noexcept (true); - - - - - -__extension__ -extern long long int wcstoq (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, int __base) - noexcept (true); - - - -__extension__ -extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - int __base) noexcept (true); - - - - - - -extern long int wcstol (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstol") - - ; -extern unsigned long int wcstoul (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstoul") - - - ; -__extension__ -extern long long int wcstoll (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstoll") - - - ; -__extension__ -extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstoull") - - - ; - -__extension__ -extern long long int wcstoq (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstoll") - - ; -__extension__ -extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstoull") - - - ; -# 561 "/usr/include/wchar.h" 3 4 -extern long int wcstol_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, int __base, - locale_t __loc) noexcept (true); - -extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - int __base, locale_t __loc) noexcept (true); - -__extension__ -extern long long int wcstoll_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - int __base, locale_t __loc) noexcept (true); - -__extension__ -extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - int __base, locale_t __loc) - noexcept (true); - - - - - -extern long int wcstol_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_wcstol_l") - - - ; -extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_wcstoul_l") - - - - ; -__extension__ -extern long long int wcstoll_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_wcstoll_l") - - - - ; -__extension__ -extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_wcstoull_l") - - - - ; -# 630 "/usr/include/wchar.h" 3 4 -extern double wcstod_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, locale_t __loc) - noexcept (true); - -extern float wcstof_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, locale_t __loc) - noexcept (true); - -extern long double wcstold_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - locale_t __loc) noexcept (true); -# 649 "/usr/include/wchar.h" 3 4 -extern _Float32 wcstof32_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - locale_t __loc) noexcept (true); - - - -extern _Float64 wcstof64_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - locale_t __loc) noexcept (true); - - - -extern _Float128 wcstof128_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - locale_t __loc) noexcept (true); - - - -extern _Float32x wcstof32x_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - locale_t __loc) noexcept (true); - - - -extern _Float64x wcstof64x_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - locale_t __loc) noexcept (true); -# 689 "/usr/include/wchar.h" 3 4 -extern wchar_t *wcpcpy (wchar_t *__restrict __dest, - const wchar_t *__restrict __src) noexcept (true); - - - -extern wchar_t *wcpncpy (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, size_t __n) - noexcept (true); -# 718 "/usr/include/wchar.h" 3 4 -extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) noexcept (true) - __attribute__ ((__malloc__)) ; - - - - - -extern int fwide (__FILE *__fp, int __mode) noexcept (true); - - - - - - -extern int fwprintf (__FILE *__restrict __stream, - const wchar_t *__restrict __format, ...) - ; - - - - -extern int wprintf (const wchar_t *__restrict __format, ...) - ; - -extern int swprintf (wchar_t *__restrict __s, size_t __n, - const wchar_t *__restrict __format, ...) - noexcept (true) ; - - - - - -extern int vfwprintf (__FILE *__restrict __s, - const wchar_t *__restrict __format, - __gnuc_va_list __arg) - ; - - - - -extern int vwprintf (const wchar_t *__restrict __format, - __gnuc_va_list __arg) - ; - - -extern int vswprintf (wchar_t *__restrict __s, size_t __n, - const wchar_t *__restrict __format, - __gnuc_va_list __arg) - noexcept (true) ; - - - - - - -extern int fwscanf (__FILE *__restrict __stream, - const wchar_t *__restrict __format, ...) - ; - - - - -extern int wscanf (const wchar_t *__restrict __format, ...) - ; - -extern int swscanf (const wchar_t *__restrict __s, - const wchar_t *__restrict __format, ...) - noexcept (true) ; -# 795 "/usr/include/wchar.h" 3 4 -extern int fwscanf (__FILE *__restrict __stream, const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc23_fwscanf") - - - ; -extern int wscanf (const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc23_wscanf") - - ; -extern int swscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, ...) noexcept (true) __asm__ ("" "__isoc23_swscanf") - - - ; -# 851 "/usr/include/wchar.h" 3 4 -extern int vfwscanf (__FILE *__restrict __s, - const wchar_t *__restrict __format, - __gnuc_va_list __arg) - ; - - - - -extern int vwscanf (const wchar_t *__restrict __format, - __gnuc_va_list __arg) - ; - -extern int vswscanf (const wchar_t *__restrict __s, - const wchar_t *__restrict __format, - __gnuc_va_list __arg) - noexcept (true) ; -# 875 "/usr/include/wchar.h" 3 4 -extern int vfwscanf (__FILE *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc23_vfwscanf") - - - ; -extern int vwscanf (const wchar_t *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc23_vwscanf") - - ; -extern int vswscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) noexcept (true) __asm__ ("" "__isoc23_vswscanf") - - - ; -# 935 "/usr/include/wchar.h" 3 4 -extern wint_t fgetwc (__FILE *__stream); -extern wint_t getwc (__FILE *__stream); - - - - - -extern wint_t getwchar (void); - - - - - - -extern wint_t fputwc (wchar_t __wc, __FILE *__stream); -extern wint_t putwc (wchar_t __wc, __FILE *__stream); - - - - - -extern wint_t putwchar (wchar_t __wc); - - - - - - - -extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n, - __FILE *__restrict __stream); - - - - - -extern int fputws (const wchar_t *__restrict __ws, - __FILE *__restrict __stream); - - - - - - -extern wint_t ungetwc (wint_t __wc, __FILE *__stream); -# 990 "/usr/include/wchar.h" 3 4 -extern wint_t getwc_unlocked (__FILE *__stream); -extern wint_t getwchar_unlocked (void); - - - - - - - -extern wint_t fgetwc_unlocked (__FILE *__stream); - - - - - - - -extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream); -# 1016 "/usr/include/wchar.h" 3 4 -extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream); -extern wint_t putwchar_unlocked (wchar_t __wc); -# 1026 "/usr/include/wchar.h" 3 4 -extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n, - __FILE *__restrict __stream); - - - - - - - -extern int fputws_unlocked (const wchar_t *__restrict __ws, - __FILE *__restrict __stream); - - - - - - -extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize, - const wchar_t *__restrict __format, - const struct tm *__restrict __tp) noexcept (true); - - - - -extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize, - const wchar_t *__restrict __format, - const struct tm *__restrict __tp, - locale_t __loc) noexcept (true); -# 1073 "/usr/include/wchar.h" 3 4 -} -# 45 "/usr/include/c++/14.1.1/cwchar" 2 3 -# 62 "/usr/include/c++/14.1.1/cwchar" 3 -namespace std -{ - using ::mbstate_t; -} -# 135 "/usr/include/c++/14.1.1/cwchar" 3 -extern "C++" -{ -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - 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; -# 234 "/usr/include/c++/14.1.1/cwchar" 3 - -} -} - - - - - - - -namespace __gnu_cxx -{ - - - - - - using ::wcstold; -# 260 "/usr/include/c++/14.1.1/cwchar" 3 - using ::wcstoll; - using ::wcstoull; - -} - -namespace std -{ - using ::__gnu_cxx::wcstold; - using ::__gnu_cxx::wcstoll; - using ::__gnu_cxx::wcstoull; -} -# 280 "/usr/include/c++/14.1.1/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/include/c++/14.1.1/bits/postypes.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 62 "/usr/include/c++/14.1.1/bits/postypes.h" 3 - typedef long int streamoff; - - - - - - typedef ptrdiff_t streamsize; -# 81 "/usr/include/c++/14.1.1/bits/postypes.h" 3 - template - class fpos - { - private: - streamoff _M_off; - _StateT _M_state; - - public: - - - - - fpos() - : _M_off(0), _M_state() { } -# 103 "/usr/include/c++/14.1.1/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; - - - - typedef fpos u8streampos; - - - - - typedef fpos u16streampos; - - typedef fpos u32streampos; - - - -} -# 43 "/usr/include/c++/14.1.1/iosfwd" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 76 "/usr/include/c++/14.1.1/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; - - -namespace __cxx11 { - - 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; - - - - template, - typename _Allocator = allocator<_CharT>> - class basic_syncbuf; - template, - typename _Allocator = allocator<_CharT>> - class basic_osyncstream; - - using syncbuf = basic_syncbuf; - using osyncstream = basic_osyncstream; - - - using wsyncbuf = basic_syncbuf; - using wosyncstream = basic_osyncstream; -# 255 "/usr/include/c++/14.1.1/iosfwd" 3 - -} -# 41 "/usr/include/c++/14.1.1/ios" 2 3 -# 1 "/usr/include/c++/14.1.1/exception" 1 3 -# 33 "/usr/include/c++/14.1.1/exception" 3 - -# 34 "/usr/include/c++/14.1.1/exception" 3 - - -# 1 "/usr/include/c++/14.1.1/bits/exception.h" 1 3 -# 34 "/usr/include/c++/14.1.1/bits/exception.h" 3 - -# 35 "/usr/include/c++/14.1.1/bits/exception.h" 3 - - - -extern "C++" { - -namespace std __attribute__ ((__visibility__ ("default"))) -{ -# 59 "/usr/include/c++/14.1.1/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; - }; - - - -} - -} -# 37 "/usr/include/c++/14.1.1/exception" 2 3 - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 40 "/usr/include/c++/14.1.1/exception" 2 3 - -extern "C++" { - -namespace std __attribute__ ((__visibility__ ("default"))) -{ -# 54 "/usr/include/c++/14.1.1/exception" 3 - class bad_exception : public exception - { - public: - bad_exception() noexcept { } - - - - virtual ~bad_exception() noexcept; - - - virtual const char* - what() const noexcept; - }; - - - typedef void (*terminate_handler) (); - - - terminate_handler set_terminate(terminate_handler) noexcept; - - - - terminate_handler get_terminate() noexcept; - - - - - void terminate() noexcept __attribute__ ((__noreturn__,__cold__)); - - - - typedef void (*__attribute__ ((__deprecated__)) unexpected_handler) (); - - - - - - __attribute__ ((__deprecated__)) - unexpected_handler set_unexpected(unexpected_handler) noexcept; - - - - - - - - __attribute__ ((__deprecated__)) - unexpected_handler get_unexpected() noexcept; - - - - - - - - __attribute__ ((__deprecated__)) - void unexpected() __attribute__ ((__noreturn__,__cold__)); -# 124 "/usr/include/c++/14.1.1/exception" 3 - __attribute__ ((__deprecated__ ("use '" "std::uncaught_exceptions()" "' instead"))) - bool uncaught_exception() noexcept __attribute__ ((__pure__)); - - - - - - - int uncaught_exceptions() noexcept __attribute__ ((__pure__)); - - - -} - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - -# 158 "/usr/include/c++/14.1.1/exception" 3 - void __verbose_terminate_handler(); - - -} - -} - - -# 1 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 1 3 -# 35 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 3 -# 1 "/usr/include/c++/14.1.1/bits/exception_defines.h" 1 3 -# 36 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/cxxabi_init_exception.h" 1 3 -# 34 "/usr/include/c++/14.1.1/bits/cxxabi_init_exception.h" 3 - -# 35 "/usr/include/c++/14.1.1/bits/cxxabi_init_exception.h" 3 - -#pragma GCC visibility push(default) - -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 145 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 3 4 -typedef long int ptrdiff_t; -# 425 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/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)))); -# 436 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 3 4 -} max_align_t; - - - - - - - typedef decltype(nullptr) nullptr_t; -# 39 "/usr/include/c++/14.1.1/bits/cxxabi_init_exception.h" 2 3 -# 50 "/usr/include/c++/14.1.1/bits/cxxabi_init_exception.h" 3 -namespace std -{ - class type_info; -} - -namespace __cxxabiv1 -{ - struct __cxa_refcounted_exception; - - extern "C" - { - - void* - __cxa_allocate_exception(size_t) noexcept; - - void - __cxa_free_exception(void*) noexcept; - - - __cxa_refcounted_exception* - __cxa_init_primary_exception(void *__object, std::type_info *__tinfo, - void ( *__dest) (void *)) - noexcept; - - } -} - - - -#pragma GCC visibility pop -# 37 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 2 3 -# 1 "/usr/include/c++/14.1.1/typeinfo" 1 3 -# 32 "/usr/include/c++/14.1.1/typeinfo" 3 - -# 33 "/usr/include/c++/14.1.1/typeinfo" 3 - - - -# 1 "/usr/include/c++/14.1.1/bits/hash_bytes.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/hash_bytes.h" 3 - -# 34 "/usr/include/c++/14.1.1/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/include/c++/14.1.1/typeinfo" 2 3 - - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 41 "/usr/include/c++/14.1.1/typeinfo" 2 3 - -#pragma GCC visibility push(default) - -extern "C++" { - -namespace __cxxabiv1 -{ - class __class_type_info; -} -# 83 "/usr/include/c++/14.1.1/typeinfo" 3 -namespace std -{ - - - - - - - class type_info - { - public: - - - - - virtual ~type_info(); - - - - const char* name() const noexcept - { return __name[0] == '*' ? __name + 1 : __name; } - - - - bool before(const type_info& __arg) const noexcept; - - - bool operator==(const type_info& __arg) const noexcept; - - - - - - - - size_t hash_code() const noexcept - { - - return _Hash_bytes(name(), __builtin_strlen(name()), - static_cast(0xc70f6907UL)); - - - - } - - - - virtual bool __is_pointer_p() const; - - - virtual bool __is_function_p() const; - - - - - - - - virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj, - unsigned __outer) const; - - - virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target, - void **__obj_ptr) const; - - protected: - const char *__name; - - explicit type_info(const char *__n): __name(__n) { } - - private: - - - type_info& operator=(const type_info&) = delete; - type_info(const type_info&) = delete; -# 166 "/usr/include/c++/14.1.1/typeinfo" 3 - }; - - - inline bool - type_info::before(const type_info& __arg) const noexcept - { - - - - - if (__name[0] != '*' || __arg.__name[0] != '*') - return __builtin_strcmp (__name, __arg.__name) < 0; -# 186 "/usr/include/c++/14.1.1/typeinfo" 3 - return __name < __arg.__name; - } - - - - inline bool - type_info::operator==(const type_info& __arg) const noexcept - { - if (std::__is_constant_evaluated()) - return this == &__arg; - - if (__name == __arg.__name) - return true; - - - - - - - return __name[0] != '*' && __builtin_strcmp (__name, __arg.name()) == 0; - - - - } -# 219 "/usr/include/c++/14.1.1/typeinfo" 3 - class bad_cast : public exception - { - public: - bad_cast() noexcept { } - - - - virtual ~bad_cast() noexcept; - - - virtual const char* what() const noexcept; - }; - - - - - - class bad_typeid : public exception - { - public: - bad_typeid () noexcept { } - - - - virtual ~bad_typeid() noexcept; - - - virtual const char* what() const noexcept; - }; -} - -} - -#pragma GCC visibility pop -# 38 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 2 3 -# 1 "/usr/include/c++/14.1.1/new" 1 3 -# 38 "/usr/include/c++/14.1.1/new" 3 - -# 39 "/usr/include/c++/14.1.1/new" 3 - - - - - - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 47 "/usr/include/c++/14.1.1/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; - -} -# 131 "/usr/include/c++/14.1.1/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; - - - - inline constexpr size_t hardware_destructive_interference_size = 64; - inline constexpr size_t hardware_constructive_interference_size = 64; - -} - - - - -namespace std -{ - - - struct destroying_delete_t - { - explicit destroying_delete_t() = default; - }; - - inline constexpr destroying_delete_t destroying_delete{}; -} - - -#pragma GCC visibility pop -# 39 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 2 3 - - -# 1 "/usr/include/c++/14.1.1/bits/move.h" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/move.h" 3 -# 1 "/usr/include/c++/14.1.1/type_traits" 1 3 -# 32 "/usr/include/c++/14.1.1/type_traits" 3 - -# 33 "/usr/include/c++/14.1.1/type_traits" 3 -# 63 "/usr/include/c++/14.1.1/type_traits" 3 -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 64 "/usr/include/c++/14.1.1/type_traits" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - class reference_wrapper; -# 86 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct integral_constant - { - static constexpr _Tp value = __v; - using value_type = _Tp; - using type = integral_constant<_Tp, __v>; - constexpr operator value_type() const noexcept { return value; } - - - constexpr value_type operator()() const noexcept { return value; } - - }; -# 106 "/usr/include/c++/14.1.1/type_traits" 3 - template - using __bool_constant = integral_constant; - - - - using true_type = __bool_constant; - - - using false_type = __bool_constant; - - - - - template - using bool_constant = __bool_constant<__v>; - - - - - - - template - struct enable_if - { }; - - - template - struct enable_if - { using type = _Tp; }; - - - template - using __enable_if_t = typename enable_if<_Cond, _Tp>::type; - - template - struct __conditional - { - template - using type = _Tp; - }; - - template<> - struct __conditional - { - template - using type = _Up; - }; - - - template - using __conditional_t - = typename __conditional<_Cond>::template type<_If, _Else>; - - - template - struct __type_identity - { using type = _Type; }; - - template - using __type_identity_t = typename __type_identity<_Tp>::type; - - namespace __detail - { - - template - using __first_t = _Tp; - - - template - auto __or_fn(int) -> __first_t...>; - - template - auto __or_fn(...) -> true_type; - - template - auto __and_fn(int) -> __first_t...>; - - template - auto __and_fn(...) -> false_type; - } - - - - - template - struct __or_ - : decltype(__detail::__or_fn<_Bn...>(0)) - { }; - - template - struct __and_ - : decltype(__detail::__and_fn<_Bn...>(0)) - { }; - - template - struct __not_ - : __bool_constant - { }; - - - - - - template - inline constexpr bool __or_v = __or_<_Bn...>::value; - template - inline constexpr bool __and_v = __and_<_Bn...>::value; - - namespace __detail - { - template - struct __disjunction_impl - { using type = _B1; }; - - template - struct __disjunction_impl<__enable_if_t, _B1, _B2, _Bn...> - { using type = typename __disjunction_impl::type; }; - - template - struct __conjunction_impl - { using type = _B1; }; - - template - struct __conjunction_impl<__enable_if_t, _B1, _B2, _Bn...> - { using type = typename __conjunction_impl::type; }; - } - - - template - struct conjunction - : __detail::__conjunction_impl::type - { }; - - template<> - struct conjunction<> - : true_type - { }; - - template - struct disjunction - : __detail::__disjunction_impl::type - { }; - - template<> - struct disjunction<> - : false_type - { }; - - template - struct negation - : __not_<_Pp>::type - { }; - - - - - 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 - using __remove_cv_t = typename remove_cv<_Tp>::type; - - - - - - template - struct is_void - : public false_type { }; - - template<> - struct is_void - : public true_type { }; - - template<> - struct is_void - : public true_type { }; - - template<> - struct is_void - : public true_type { }; - - template<> - struct is_void - : public true_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 { }; - - - 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 - : public true_type { }; - - - - - __extension__ - template<> - struct __is_integral_helper<__int128> - : public true_type { }; - - __extension__ - template<> - struct __is_integral_helper - : public true_type { }; -# 460 "/usr/include/c++/14.1.1/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 { }; -# 513 "/usr/include/c++/14.1.1/type_traits" 3 - 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 __bool_constant<__is_array(_Tp)> - { }; -# 545 "/usr/include/c++/14.1.1/type_traits" 3 - 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 - : public __bool_constant<__is_member_object_pointer(_Tp)> - { }; -# 601 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct is_member_function_pointer - : public __bool_constant<__is_member_function_pointer(_Tp)> - { }; -# 622 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct is_enum - : public __bool_constant<__is_enum(_Tp)> - { }; - - - template - struct is_union - : public __bool_constant<__is_union(_Tp)> - { }; - - - template - struct is_class - : public __bool_constant<__is_class(_Tp)> - { }; - - - - template - struct is_function - : public __bool_constant<__is_function(_Tp)> - { }; -# 661 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct is_null_pointer - : public false_type { }; - - template<> - struct is_null_pointer - : public true_type { }; - - template<> - struct is_null_pointer - : public true_type { }; - - template<> - struct is_null_pointer - : public true_type { }; - - template<> - struct is_null_pointer - : public true_type { }; - - - - template - struct __is_nullptr_t - : public is_null_pointer<_Tp> - { } __attribute__ ((__deprecated__ ("use '" "std::is_null_pointer" "' instead"))); - - - - - - - template - struct is_reference - : public __bool_constant<__is_reference(_Tp)> - { }; -# 715 "/usr/include/c++/14.1.1/type_traits" 3 - 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 __bool_constant<__is_object(_Tp)> - { }; -# 741 "/usr/include/c++/14.1.1/type_traits" 3 - 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 __bool_constant::value> { }; - - - - template - struct is_member_pointer - : public __bool_constant<__is_member_pointer(_Tp)> - { }; -# 779 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct is_same; - - - template - using __is_one_of = __or_...>; - - - __extension__ - 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 -# 804 "/usr/include/c++/14.1.1/type_traits" 3 - >; - - - __extension__ - 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 -# 824 "/usr/include/c++/14.1.1/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_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 __bool_constant<__is_trivial(_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_copyable - : public __bool_constant<__is_trivially_copyable(_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_standard_layout - : public __bool_constant<__is_standard_layout(_Tp)> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - - - - - template - struct - __attribute__ ((__deprecated__ ("use '" "is_standard_layout && is_trivial" "' instead"))) - is_pod - : public __bool_constant<__is_pod(_Tp)> - { - 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 __bool_constant<__is_literal_type(_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_empty - : public __bool_constant<__is_empty(_Tp)> - { }; - - - template - struct is_polymorphic - : public __bool_constant<__is_polymorphic(_Tp)> - { }; - - - - - template - struct is_final - : public __bool_constant<__is_final(_Tp)> - { }; - - - - template - struct is_abstract - : public __bool_constant<__is_abstract(_Tp)> - { }; - - - template::value> - struct __is_signed_helper - : public false_type { }; - - template - struct __is_signed_helper<_Tp, true> - : public __bool_constant<_Tp(-1) < _Tp(0)> - { }; - - - - template - struct is_signed - : public __is_signed_helper<_Tp>::type - { }; - - - template - struct is_unsigned - : public __and_, __not_>>::type - { }; - - - template - _Up - __declval(int); - - template - _Tp - __declval(long); - - - template - auto declval() noexcept -> decltype(__declval<_Tp>(0)); - - template - struct remove_all_extents; - - - template - struct __is_array_known_bounds - : public false_type - { }; - - template - struct __is_array_known_bounds<_Tp[_Size]> - : public true_type - { }; - - template - struct __is_array_unknown_bounds - : public false_type - { }; - - template - struct __is_array_unknown_bounds<_Tp[]> - : public true_type - { }; -# 1006 "/usr/include/c++/14.1.1/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 - { - using type = decltype(__test<_Tp>(0)); - }; - - 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 - { - using type = decltype(__test<_Tp>(0)); - }; - - 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 - using __is_constructible_impl - = __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> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - template - struct __add_lvalue_reference_helper - { using type = _Tp; }; - - template - struct __add_lvalue_reference_helper<_Tp, __void_t<_Tp&>> - { using type = _Tp&; }; - - template - using __add_lval_ref_t = typename __add_lvalue_reference_helper<_Tp>::type; - - - - template - struct is_copy_constructible - : public __is_constructible_impl<_Tp, __add_lval_ref_t> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - template - struct __add_rvalue_reference_helper - { using type = _Tp; }; - - template - struct __add_rvalue_reference_helper<_Tp, __void_t<_Tp&&>> - { using type = _Tp&&; }; - - template - using __add_rval_ref_t = typename __add_rvalue_reference_helper<_Tp>::type; - - - - template - struct is_move_constructible - : public __is_constructible_impl<_Tp, __add_rval_ref_t<_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...> - { - 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 __is_nothrow_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_nothrow_copy_constructible - : public __is_nothrow_constructible_impl<_Tp, __add_lval_ref_t> - { - 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_move_constructible - : public __is_nothrow_constructible_impl<_Tp, __add_rval_ref_t<_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_assignable_impl = __bool_constant<__is_assignable(_Tp, _Up)>; - - - - template - struct is_assignable - : public __is_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 - struct is_copy_assignable - : public __is_assignable_impl<__add_lval_ref_t<_Tp>, - __add_lval_ref_t> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - template - struct is_move_assignable - : public __is_assignable_impl<__add_lval_ref_t<_Tp>, __add_rval_ref_t<_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_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 - struct is_nothrow_copy_assignable - : public __is_nothrow_assignable_impl<__add_lval_ref_t<_Tp>, - __add_lval_ref_t> - { - 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_move_assignable - : public __is_nothrow_assignable_impl<__add_lval_ref_t<_Tp>, - __add_rval_ref_t<_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_trivially_constructible_impl - = __bool_constant<__is_trivially_constructible(_Tp, _Args...)>; - - - - template - struct is_trivially_constructible - : public __is_trivially_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_trivially_default_constructible - : public __is_trivially_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 - constexpr bool __is_implicitly_default_constructible_v - = requires (void(&__f)(_Tp)) { __f({}); }; - - template - struct __is_implicitly_default_constructible - : __bool_constant<__is_implicitly_default_constructible_v<_Tp>> - { }; -# 1351 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct is_trivially_copy_constructible - : public __is_trivially_constructible_impl<_Tp, __add_lval_ref_t> - { - 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_move_constructible - : public __is_trivially_constructible_impl<_Tp, __add_rval_ref_t<_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_trivially_assignable_impl - = __bool_constant<__is_trivially_assignable(_Tp, _Up)>; - - - - template - struct is_trivially_assignable - : public __is_trivially_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 - struct is_trivially_copy_assignable - : public __is_trivially_assignable_impl<__add_lval_ref_t<_Tp>, - __add_lval_ref_t> - { - 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_move_assignable - : public __is_trivially_assignable_impl<__add_lval_ref_t<_Tp>, - __add_rval_ref_t<_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)>>::type - { - 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 __bool_constant<__has_virtual_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 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], 0> - : public integral_constant { }; - - template - struct extent<_Tp[_Size], _Uint> - : public extent<_Tp, _Uint - 1>::type { }; - - template - struct extent<_Tp[], 0> - : public integral_constant { }; - - template - struct extent<_Tp[], _Uint> - : public extent<_Tp, _Uint - 1>::type { }; - - - - - - - template - struct is_same - : public __bool_constant<__is_same(_Tp, _Up)> - { }; -# 1491 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct is_base_of - : public __bool_constant<__is_base_of(_Base, _Derived)> - { }; - - - template - struct is_convertible - : public __bool_constant<__is_convertible(_From, _To)> - { }; -# 1540 "/usr/include/c++/14.1.1/type_traits" 3 - template - using __is_array_convertible - = is_convertible<_FromElementType(*)[], _ToElementType(*)[]>; - - - - - - template - inline constexpr bool is_nothrow_convertible_v - = __is_nothrow_convertible(_From, _To); - - - template - struct is_nothrow_convertible - : public bool_constant> - { }; -# 1603 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct remove_const - { using type = _Tp; }; - - template - struct remove_const<_Tp const> - { using type = _Tp; }; - - - template - struct remove_volatile - { using type = _Tp; }; - - template - struct remove_volatile<_Tp volatile> - { using type = _Tp; }; - - - - template - struct remove_cv - { using type = __remove_cv(_Tp); }; -# 1644 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct add_const - { using type = _Tp const; }; - - - template - struct add_volatile - { using type = _Tp volatile; }; - - - template - struct add_cv - { using type = _Tp const volatile; }; - - - - 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 - { using type = __remove_reference(_Tp); }; -# 1706 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct add_lvalue_reference - { using type = __add_lval_ref_t<_Tp>; }; - - - template - struct add_rvalue_reference - { using type = __add_rval_ref_t<_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> - { using __type = _Unqualified; }; - - template - struct __cv_selector<_Unqualified, false, true> - { using __type = volatile _Unqualified; }; - - template - struct __cv_selector<_Unqualified, true, false> - { using __type = const _Unqualified; }; - - template - struct __cv_selector<_Unqualified, true, true> - { using __type = const volatile _Unqualified; }; - - template::value, - bool _IsVol = is_volatile<_Qualified>::value> - class __match_cv_qualifiers - { - using __match = __cv_selector<_Unqualified, _IsConst, _IsVol>; - - public: - using __type = typename __match::__type; - }; - - - template - struct __make_unsigned - { using __type = _Tp; }; - - template<> - struct __make_unsigned - { using __type = unsigned char; }; - - template<> - struct __make_unsigned - { using __type = unsigned char; }; - - template<> - struct __make_unsigned - { using __type = unsigned short; }; - - template<> - struct __make_unsigned - { using __type = unsigned int; }; - - template<> - struct __make_unsigned - { using __type = unsigned long; }; - - template<> - struct __make_unsigned - { using __type = unsigned long long; }; - - - __extension__ - template<> - struct __make_unsigned<__int128> - { using __type = unsigned __int128; }; -# 1819 "/usr/include/c++/14.1.1/type_traits" 3 - template::value, - bool _IsEnum = __is_enum(_Tp)> - 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; - }; - - - 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 - { - using __type - = typename __make_unsigned_selector::__type; - }; - - - - - - - template - struct make_unsigned - { using type = typename __make_unsigned_selector<_Tp>::__type; }; - - - template<> struct make_unsigned; - template<> struct make_unsigned; - template<> struct make_unsigned; - template<> struct make_unsigned; - - - - - template - struct __make_signed - { using __type = _Tp; }; - - template<> - struct __make_signed - { using __type = signed char; }; - - template<> - struct __make_signed - { using __type = signed char; }; - - template<> - struct __make_signed - { using __type = signed short; }; - - template<> - struct __make_signed - { using __type = signed int; }; - - template<> - struct __make_signed - { using __type = signed long; }; - - template<> - struct __make_signed - { using __type = signed long long; }; - - - __extension__ - template<> - struct __make_signed - { using __type = __int128; }; -# 1979 "/usr/include/c++/14.1.1/type_traits" 3 - template::value, - bool _IsEnum = __is_enum(_Tp)> - 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> - { - using __unsigned_type = typename __make_unsigned_selector<_Tp>::__type; - - public: - using __type = typename __make_signed_selector<__unsigned_type>::__type; - }; - - - - - - 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 - { - using __type - = typename __make_signed_selector::__type; - }; - - template<> - struct __make_signed - { - using __type - = typename __make_signed_selector::__type; - }; - - - - - - - template - struct make_signed - { using type = typename __make_signed_selector<_Tp>::__type; }; - - - template<> struct make_signed; - template<> struct make_signed; - template<> struct make_signed; - 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 - { using type = _Tp; }; - - template - struct remove_extent<_Tp[_Size]> - { using type = _Tp; }; - - template - struct remove_extent<_Tp[]> - { using type = _Tp; }; - - - template - struct remove_all_extents - { using type = _Tp; }; - - template - struct remove_all_extents<_Tp[_Size]> - { using type = typename remove_all_extents<_Tp>::type; }; - - template - struct remove_all_extents<_Tp[]> - { using type = typename remove_all_extents<_Tp>::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 - { using type = __remove_pointer(_Tp); }; -# 2124 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct __add_pointer_helper - { using type = _Tp; }; - - template - struct __add_pointer_helper<_Tp, __void_t<_Tp*>> - { using type = _Tp*; }; - - - template - struct add_pointer - : public __add_pointer_helper<_Tp> - { }; - - template - struct add_pointer<_Tp&> - { using type = _Tp*; }; - - template - struct add_pointer<_Tp&&> - { using type = _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; - }; - }; -# 2179 "/usr/include/c++/14.1.1/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; - }; - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" -# 2225 "/usr/include/c++/14.1.1/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; - - using type = typename aligned_storage<_S_len, alignment_value>::type; - }; - - template - const size_t aligned_union<_Len, _Types...>::alignment_value; -#pragma GCC diagnostic pop - - - - - - template - struct __decay_selector - : __conditional_t::value, - remove_cv<_Up>, - add_pointer<_Up>> - { }; - - template - struct __decay_selector<_Up[_Nm]> - { using type = _Up*; }; - - template - struct __decay_selector<_Up[]> - { using type = _Up*; }; - - - - - template - struct decay - { using type = typename __decay_selector<_Tp>::type; }; - - template - struct decay<_Tp&> - { using type = typename __decay_selector<_Tp>::type; }; - - template - struct decay<_Tp&&> - { using type = typename __decay_selector<_Tp>::type; }; - - - - - template - struct __strip_reference_wrapper - { - using __type = _Tp; - }; - - template - struct __strip_reference_wrapper > - { - using __type = _Tp&; - }; - - - template - using __decay_t = typename decay<_Tp>::type; - - template - using __decay_and_strip = __strip_reference_wrapper<__decay_t<_Tp>>; - - - - - - template - using _Require = __enable_if_t<__and_<_Cond...>::value>; - - - template - using __remove_cvref_t - = typename remove_cv::type>::type; - - - - - template - struct conditional - { using type = _Iftrue; }; - - - template - struct conditional - { using type = _Iffalse; }; - - - template - struct common_type; -# 2340 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct __success_type - { using type = _Tp; }; - - struct __failure_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); - - - - - template - static __success_type<__remove_cvref_t<__cond_t>> - _S_test_2(int); - - - 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 - 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 - { - using type = decltype(_S_test<_MemPtr, _Arg, _Args...>(0)); - }; - - - 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 - { - using type = decltype(_S_test<_MemPtr, _Arg, _Args...>(0)); - }; - - - 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 - { - using type = decltype(_S_test<_MemPtr, _Arg>(0)); - }; - - - 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 - { - using type = decltype(_S_test<_MemPtr, _Arg>(0)); - }; - - template - struct __result_of_memobj; - - template - struct __result_of_memobj<_Res _Class::*, _Arg> - { - using _Argval = __remove_cvref_t<_Arg>; - using _MemPtr = _Res _Class::*; - using type = typename __conditional_t<__or_, - is_base_of<_Class, _Argval>>::value, - __result_of_memobj_ref<_MemPtr, _Arg>, - __result_of_memobj_deref<_MemPtr, _Arg> - >::type; - }; - - template - struct __result_of_memfun; - - template - struct __result_of_memfun<_Res _Class::*, _Arg, _Args...> - { - using _Argval = typename remove_reference<_Arg>::type; - using _MemPtr = _Res _Class::*; - using type = typename __conditional_t::value, - __result_of_memfun_ref<_MemPtr, _Arg, _Args...>, - __result_of_memfun_deref<_MemPtr, _Arg, _Args...> - >::type; - }; - - - - - - - template> - struct __inv_unwrap - { - using type = _Tp; - }; - - template - struct __inv_unwrap<_Tp, reference_wrapper<_Up>> - { - using type = _Up&; - }; - - template - struct __result_of_impl - { - using type = __failure_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 - { - using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); - }; - - - 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 - using __invoke_result_t = typename __invoke_result<_Fn, _Args...>::type; - - - template - struct result_of<_Functor(_ArgTypes...)> - : public __invoke_result<_Functor, _ArgTypes...> - { } __attribute__ ((__deprecated__ ("use '" "std::invoke_result" "' instead"))); - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - - template::__type)> - using aligned_storage_t = typename aligned_storage<_Len, _Align>::type; - - template - using aligned_union_t = typename aligned_union<_Len, _Types...>::type; -#pragma GCC diagnostic pop - - - 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; -# 2727 "/usr/include/c++/14.1.1/type_traits" 3 - template class _Op, typename... _Args> - struct __detected_or - { - using type = _Def; - using __is_detected = false_type; - }; - - - template class _Op, typename... _Args> - requires requires { typename _Op<_Args...>; } - struct __detected_or<_Def, _Op, _Args...> - { - using type = _Op<_Args...>; - using __is_detected = true_type; - }; -# 2767 "/usr/include/c++/14.1.1/type_traits" 3 - template class _Op, - typename... _Args> - using __detected_or_t - = typename __detected_or<_Default, _Op, _Args...>::type; -# 2786 "/usr/include/c++/14.1.1/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 - : public __is_tuple_like_impl<__remove_cvref_t<_Tp>>::type - { }; - - - template - constexpr - 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 - constexpr - 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 - { - using type = decltype(__test<_Tp>(0)); - }; - - template - struct __is_nothrow_swappable_impl - : public __swappable_details::__do_is_nothrow_swappable_impl - { - using type = decltype(__test<_Tp>(0)); - }; - - 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 - { - using type = decltype(__test<_Tp, _Up>(0)); - }; - - - template - struct __is_swappable_with_impl<_Tp&, _Tp&> - : public __swappable_details::__do_is_swappable_impl - { - using type = decltype(__test<_Tp&>(0)); - }; - - template - struct __is_nothrow_swappable_with_impl - : public __swappable_with_details::__do_is_nothrow_swappable_with_impl - { - using type = decltype(__test<_Tp, _Up>(0)); - }; - - - template - struct __is_nothrow_swappable_with_impl<_Tp&, _Tp&> - : public __swappable_details::__do_is_nothrow_swappable_impl - { - using type = decltype(__test<_Tp&>(0)); - }; - - - - 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; -# 3008 "/usr/include/c++/14.1.1/type_traits" 3 - template::value, typename = void> - struct __is_invocable_impl - : false_type - { - using __nothrow_conv = false_type; - }; - - - template - struct __is_invocable_impl<_Result, _Ret, - true, - __void_t> - : true_type - { - using __nothrow_conv = true_type; - }; - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wctor-dtor-privacy" - - template - struct __is_invocable_impl<_Result, _Ret, - false, - __void_t> - { - private: - - using _Res_t = typename _Result::type; - - - - static _Res_t _S_get() noexcept; - - - template - static void _S_conv(__type_identity_t<_Tp>) noexcept; - - - template(_S_get())), - typename = decltype(_S_conv<_Tp>(_S_get())), - - bool _Dangle = __reference_converts_from_temporary(_Tp, _Res_t) - - - - > - static __bool_constant<_Nothrow && !_Dangle> - _S_test(int); - - template - static false_type - _S_test(...); - - public: - - using type = decltype(_S_test<_Ret, true>(1)); - - - using __nothrow_conv = decltype(_S_test<_Ret>(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_conv; - - - - 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"); - }; -# 3236 "/usr/include/c++/14.1.1/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); -# 3257 "/usr/include/c++/14.1.1/type_traits" 3 -template - inline constexpr bool is_pointer_v = is_pointer<_Tp>::value; -template - inline constexpr bool is_lvalue_reference_v = false; -template - inline constexpr bool is_lvalue_reference_v<_Tp&> = true; -template - inline constexpr bool is_rvalue_reference_v = false; -template - inline constexpr bool is_rvalue_reference_v<_Tp&&> = true; - - -template - inline constexpr bool is_member_object_pointer_v = - __is_member_object_pointer(_Tp); - - - - - - - -template - inline constexpr bool is_member_function_pointer_v = - __is_member_function_pointer(_Tp); - - - - - - -template - inline constexpr bool is_enum_v = __is_enum(_Tp); -template - inline constexpr bool is_union_v = __is_union(_Tp); -template - inline constexpr bool is_class_v = __is_class(_Tp); - - - -template - inline constexpr bool is_reference_v = __is_reference(_Tp); -# 3308 "/usr/include/c++/14.1.1/type_traits" 3 -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); - - - - - -template - inline constexpr bool is_scalar_v = is_scalar<_Tp>::value; -template - inline constexpr bool is_compound_v = !is_fundamental_v<_Tp>; - - -template - inline constexpr bool is_member_pointer_v = __is_member_pointer(_Tp); - - - - - -template - inline constexpr bool is_const_v = false; -template - inline constexpr bool is_const_v = true; - - -template - inline constexpr bool is_function_v = __is_function(_Tp); -# 3351 "/usr/include/c++/14.1.1/type_traits" 3 -template - inline constexpr bool is_volatile_v = false; -template - inline constexpr bool is_volatile_v = true; - -template - inline constexpr bool is_trivial_v = __is_trivial(_Tp); -template - inline constexpr bool is_trivially_copyable_v = __is_trivially_copyable(_Tp); -template - inline constexpr bool is_standard_layout_v = __is_standard_layout(_Tp); -template - __attribute__ ((__deprecated__ ("use '" "is_standard_layout_v && is_trivial_v" "' instead"))) - inline constexpr bool is_pod_v = __is_pod(_Tp); -template - [[__deprecated__]] - inline constexpr bool is_literal_type_v = __is_literal_type(_Tp); -template - inline constexpr bool is_empty_v = __is_empty(_Tp); -template - inline constexpr bool is_polymorphic_v = __is_polymorphic(_Tp); -template - inline constexpr bool is_abstract_v = __is_abstract(_Tp); -template - inline constexpr bool is_final_v = __is_final(_Tp); - -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...); -template - inline constexpr bool is_default_constructible_v = __is_constructible(_Tp); -template - inline constexpr bool is_copy_constructible_v - = __is_constructible(_Tp, __add_lval_ref_t); -template - inline constexpr bool is_move_constructible_v - = __is_constructible(_Tp, __add_rval_ref_t<_Tp>); - -template - inline constexpr bool is_assignable_v = __is_assignable(_Tp, _Up); -template - inline constexpr bool is_copy_assignable_v - = __is_assignable(__add_lval_ref_t<_Tp>, __add_lval_ref_t); -template - inline constexpr bool is_move_assignable_v - = __is_assignable(__add_lval_ref_t<_Tp>, __add_rval_ref_t<_Tp>); - -template - inline constexpr bool is_destructible_v = is_destructible<_Tp>::value; - -template - inline constexpr bool is_trivially_constructible_v - = __is_trivially_constructible(_Tp, _Args...); -template - inline constexpr bool is_trivially_default_constructible_v - = __is_trivially_constructible(_Tp); -template - inline constexpr bool is_trivially_copy_constructible_v - = __is_trivially_constructible(_Tp, __add_lval_ref_t); -template - inline constexpr bool is_trivially_move_constructible_v - = __is_trivially_constructible(_Tp, __add_rval_ref_t<_Tp>); - -template - inline constexpr bool is_trivially_assignable_v - = __is_trivially_assignable(_Tp, _Up); -template - inline constexpr bool is_trivially_copy_assignable_v - = __is_trivially_assignable(__add_lval_ref_t<_Tp>, - __add_lval_ref_t); -template - inline constexpr bool is_trivially_move_assignable_v - = __is_trivially_assignable(__add_lval_ref_t<_Tp>, - __add_rval_ref_t<_Tp>); - - -template - inline constexpr bool is_trivially_destructible_v = false; - -template - requires (!is_reference_v<_Tp>) && requires (_Tp& __t) { __t.~_Tp(); } - inline constexpr bool is_trivially_destructible_v<_Tp> - = __has_trivial_destructor(_Tp); -template - inline constexpr bool is_trivially_destructible_v<_Tp&> = true; -template - inline constexpr bool is_trivially_destructible_v<_Tp&&> = true; -template - inline constexpr bool is_trivially_destructible_v<_Tp[_Nm]> - = is_trivially_destructible_v<_Tp>; - - - - - - -template - inline constexpr bool is_nothrow_constructible_v - = __is_nothrow_constructible(_Tp, _Args...); -template - inline constexpr bool is_nothrow_default_constructible_v - = __is_nothrow_constructible(_Tp); -template - inline constexpr bool is_nothrow_copy_constructible_v - = __is_nothrow_constructible(_Tp, __add_lval_ref_t); -template - inline constexpr bool is_nothrow_move_constructible_v - = __is_nothrow_constructible(_Tp, __add_rval_ref_t<_Tp>); - -template - inline constexpr bool is_nothrow_assignable_v - = __is_nothrow_assignable(_Tp, _Up); -template - inline constexpr bool is_nothrow_copy_assignable_v - = __is_nothrow_assignable(__add_lval_ref_t<_Tp>, - __add_lval_ref_t); -template - inline constexpr bool is_nothrow_move_assignable_v - = __is_nothrow_assignable(__add_lval_ref_t<_Tp>, __add_rval_ref_t<_Tp>); - -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); - -template - inline constexpr size_t alignment_of_v = alignment_of<_Tp>::value; - -template - inline constexpr size_t rank_v = 0; -template - inline constexpr size_t rank_v<_Tp[_Size]> = 1 + rank_v<_Tp>; -template - inline constexpr size_t rank_v<_Tp[]> = 1 + rank_v<_Tp>; - -template - inline constexpr size_t extent_v = 0; -template - inline constexpr size_t extent_v<_Tp[_Size], 0> = _Size; -template - inline constexpr size_t extent_v<_Tp[_Size], _Idx> = extent_v<_Tp, _Idx - 1>; -template - inline constexpr size_t extent_v<_Tp[], 0> = 0; -template - inline constexpr size_t extent_v<_Tp[], _Idx> = extent_v<_Tp, _Idx - 1>; - - -template - inline constexpr bool is_same_v = __is_same(_Tp, _Up); - - - - - - -template - inline constexpr bool is_base_of_v = __is_base_of(_Base, _Derived); - -template - inline constexpr bool is_convertible_v = __is_convertible(_From, _To); - - - - -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(remove_cv_t<_Tp>); -# 3581 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct remove_cvref - { using type = __remove_cvref(_Tp); }; -# 3598 "/usr/include/c++/14.1.1/type_traits" 3 - template - using remove_cvref_t = typename remove_cvref<_Tp>::type; -# 3608 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct type_identity { using type = _Tp; }; - - template - using type_identity_t = typename type_identity<_Tp>::type; -# 3621 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct unwrap_reference { using type = _Tp; }; - - template - struct unwrap_reference> { using type = _Tp&; }; - - template - using unwrap_reference_t = typename unwrap_reference<_Tp>::type; - - - - - - - template - struct unwrap_ref_decay { using type = unwrap_reference_t>; }; - - template - using unwrap_ref_decay_t = typename unwrap_ref_decay<_Tp>::type; -# 3648 "/usr/include/c++/14.1.1/type_traits" 3 - template - inline constexpr bool is_bounded_array_v = __is_bounded_array(_Tp); -# 3661 "/usr/include/c++/14.1.1/type_traits" 3 - template - inline constexpr bool is_unbounded_array_v = false; - - template - inline constexpr bool is_unbounded_array_v<_Tp[]> = true; - - - - template - struct is_bounded_array - : public bool_constant> - { }; - - - - template - struct is_unbounded_array - : public bool_constant> - { }; - - - - - - template - struct is_layout_compatible - : bool_constant<__is_layout_compatible(_Tp, _Up)> - { }; - - - - template - constexpr bool is_layout_compatible_v - = __is_layout_compatible(_Tp, _Up); - - - - - - - - template - constexpr bool - is_corresponding_member(_M1 _S1::*__m1, _M2 _S2::*__m2) noexcept - { return __builtin_is_corresponding_member(__m1, __m2); } - - - - - - - - template - struct is_pointer_interconvertible_base_of - : bool_constant<__is_pointer_interconvertible_base_of(_Base, _Derived)> - { }; - - - - template - constexpr bool is_pointer_interconvertible_base_of_v - = __is_pointer_interconvertible_base_of(_Base, _Derived); -# 3732 "/usr/include/c++/14.1.1/type_traits" 3 - template - constexpr bool - is_pointer_interconvertible_with_class(_Mem _Tp::*__mp) noexcept - { return __builtin_is_pointer_interconvertible_with_class(__mp); } -# 3816 "/usr/include/c++/14.1.1/type_traits" 3 - constexpr inline bool - is_constant_evaluated() noexcept - { - - - - return __builtin_is_constant_evaluated(); - - } - - - - - template - using __copy_cv = typename __match_cv_qualifiers<_From, _To>::__type; - - template - using __cond_res - = decltype(false ? declval<_Xp(&)()>()() : declval<_Yp(&)()>()()); - - template - struct __common_ref_impl - { }; - - - template - using __common_ref = typename __common_ref_impl<_Ap, _Bp>::type; - - - template - using __condres_cvref - = __cond_res<__copy_cv<_Xp, _Yp>&, __copy_cv<_Yp, _Xp>&>; - - - template - struct __common_ref_impl<_Xp&, _Yp&, __void_t<__condres_cvref<_Xp, _Yp>>> - : enable_if>, - __condres_cvref<_Xp, _Yp>> - { }; - - - template - using __common_ref_C = remove_reference_t<__common_ref<_Xp&, _Yp&>>&&; - - - template - struct __common_ref_impl<_Xp&&, _Yp&&, - _Require>, - is_convertible<_Yp&&, __common_ref_C<_Xp, _Yp>>>> - { using type = __common_ref_C<_Xp, _Yp>; }; - - - template - using __common_ref_D = __common_ref; - - - template - struct __common_ref_impl<_Xp&&, _Yp&, - _Require>>> - { using type = __common_ref_D<_Xp, _Yp>; }; - - - template - struct __common_ref_impl<_Xp&, _Yp&&> - : __common_ref_impl<_Yp&&, _Xp&> - { }; - - - template class _TQual, template class _UQual> - struct basic_common_reference - { }; - - - template - struct __xref - { template using __type = __copy_cv<_Tp, _Up>; }; - - template - struct __xref<_Tp&> - { template using __type = __copy_cv<_Tp, _Up>&; }; - - template - struct __xref<_Tp&&> - { template using __type = __copy_cv<_Tp, _Up>&&; }; - - template - using __basic_common_ref - = typename basic_common_reference, - remove_cvref_t<_Tp2>, - __xref<_Tp1>::template __type, - __xref<_Tp2>::template __type>::type; - - - template - struct common_reference; - - template - using common_reference_t = typename common_reference<_Tp...>::type; - - - template<> - struct common_reference<> - { }; - - - template - struct common_reference<_Tp0> - { using type = _Tp0; }; - - - template - struct __common_reference_impl - : __common_reference_impl<_Tp1, _Tp2, _Bullet + 1> - { }; - - - template - struct common_reference<_Tp1, _Tp2> - : __common_reference_impl<_Tp1, _Tp2> - { }; - - - template - struct __common_reference_impl<_Tp1&, _Tp2&, 1, - void_t<__common_ref<_Tp1&, _Tp2&>>> - { using type = __common_ref<_Tp1&, _Tp2&>; }; - - template - struct __common_reference_impl<_Tp1&&, _Tp2&&, 1, - void_t<__common_ref<_Tp1&&, _Tp2&&>>> - { using type = __common_ref<_Tp1&&, _Tp2&&>; }; - - template - struct __common_reference_impl<_Tp1&, _Tp2&&, 1, - void_t<__common_ref<_Tp1&, _Tp2&&>>> - { using type = __common_ref<_Tp1&, _Tp2&&>; }; - - template - struct __common_reference_impl<_Tp1&&, _Tp2&, 1, - void_t<__common_ref<_Tp1&&, _Tp2&>>> - { using type = __common_ref<_Tp1&&, _Tp2&>; }; - - - template - struct __common_reference_impl<_Tp1, _Tp2, 2, - void_t<__basic_common_ref<_Tp1, _Tp2>>> - { using type = __basic_common_ref<_Tp1, _Tp2>; }; - - - template - struct __common_reference_impl<_Tp1, _Tp2, 3, - void_t<__cond_res<_Tp1, _Tp2>>> - { using type = __cond_res<_Tp1, _Tp2>; }; - - - template - struct __common_reference_impl<_Tp1, _Tp2, 4, - void_t>> - { using type = common_type_t<_Tp1, _Tp2>; }; - - - template - struct __common_reference_impl<_Tp1, _Tp2, 5, void> - { }; - - - template - struct common_reference<_Tp1, _Tp2, _Rest...> - : __common_type_fold, - __common_type_pack<_Rest...>> - { }; - - - template - struct __common_type_fold, - __common_type_pack<_Rest...>, - void_t>> - : public common_reference, _Rest...> - { }; - - - - - - - -} -# 38 "/usr/include/c++/14.1.1/bits/move.h" 2 3 - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - - template - inline constexpr _Tp* - __addressof(_Tp& __r) noexcept - { return __builtin_addressof(__r); } -# 67 "/usr/include/c++/14.1.1/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); - } -# 123 "/usr/include/c++/14.1.1/bits/move.h" 3 - 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 { }; -# 143 "/usr/include/c++/14.1.1/bits/move.h" 3 - template - [[__nodiscard__]] - constexpr - __conditional_t<__move_if_noexcept_cond<_Tp>::value, const _Tp&, _Tp&&> - move_if_noexcept(_Tp& __x) noexcept - { return std::move(__x); } -# 159 "/usr/include/c++/14.1.1/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 - constexpr - inline _Tp - __exchange(_Tp& __obj, _Up&& __new_val) - { - _Tp __old_val = std::move(__obj); - __obj = std::forward<_Up>(__new_val); - return __old_val; - } -# 203 "/usr/include/c++/14.1.1/bits/move.h" 3 - template - constexpr - 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 - constexpr - 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]); - } - - - -} -# 42 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 2 3 -# 50 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 3 -extern "C++" { - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - class type_info; - - - - - - - namespace __exception_ptr - { - class exception_ptr; - } - - using __exception_ptr::exception_ptr; -# 75 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 3 - exception_ptr current_exception() noexcept; - - template - exception_ptr make_exception_ptr(_Ex) noexcept; - - - void rethrow_exception(exception_ptr) __attribute__ ((__noreturn__)); - - namespace __exception_ptr - { - using std::rethrow_exception; -# 97 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 3 - class exception_ptr - { - void* _M_exception_object; - - explicit exception_ptr(void* __e) noexcept; - - void _M_addref() noexcept; - void _M_release() noexcept; - - void *_M_get() const noexcept __attribute__ ((__pure__)); - - friend exception_ptr std::current_exception() noexcept; - friend void std::rethrow_exception(exception_ptr); - template - friend exception_ptr std::make_exception_ptr(_Ex) noexcept; - - public: - exception_ptr() noexcept; - - exception_ptr(const exception_ptr&) noexcept; - - - exception_ptr(nullptr_t) noexcept - : _M_exception_object(nullptr) - { } - - exception_ptr(exception_ptr&& __o) noexcept - : _M_exception_object(__o._M_exception_object) - { __o._M_exception_object = nullptr; } -# 135 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 3 - exception_ptr& - operator=(const exception_ptr&) noexcept; - - - exception_ptr& - operator=(exception_ptr&& __o) noexcept - { - exception_ptr(static_cast(__o)).swap(*this); - return *this; - } - - - ~exception_ptr() noexcept; - - void - swap(exception_ptr&) noexcept; -# 162 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 3 - explicit operator bool() const noexcept - { return _M_exception_object; } - - - - - friend bool - operator==(const exception_ptr&, const exception_ptr&) noexcept = default; -# 182 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 3 - const class std::type_info* - __cxa_exception_type() const noexcept - __attribute__ ((__pure__)); - }; - - - inline - exception_ptr::exception_ptr() noexcept - : _M_exception_object(0) - { } - - - inline - exception_ptr::exception_ptr(const exception_ptr& __other) - noexcept - : _M_exception_object(__other._M_exception_object) - { - if (_M_exception_object) - _M_addref(); - } - - - inline - exception_ptr::~exception_ptr() noexcept - { - if (_M_exception_object) - _M_release(); - } - - - inline exception_ptr& - exception_ptr::operator=(const exception_ptr& __other) noexcept - { - exception_ptr(__other).swap(*this); - return *this; - } - - - inline void - exception_ptr::swap(exception_ptr &__other) noexcept - { - void *__tmp = _M_exception_object; - _M_exception_object = __other._M_exception_object; - __other._M_exception_object = __tmp; - } - - - inline void - swap(exception_ptr& __lhs, exception_ptr& __rhs) - { __lhs.swap(__rhs); } - - - template - - inline void - __dest_thunk(void* __x) - { static_cast<_Ex*>(__x)->~_Ex(); } - - - } - - using __exception_ptr::swap; - - - - template - exception_ptr - make_exception_ptr(_Ex __ex) noexcept - { - - using _Ex2 = typename decay<_Ex>::type; - void* __e = __cxxabiv1::__cxa_allocate_exception(sizeof(_Ex)); - (void) __cxxabiv1::__cxa_init_primary_exception( - __e, const_cast(&typeid(_Ex)), - __exception_ptr::__dest_thunk<_Ex2>); - try - { - ::new (__e) _Ex2(__ex); - return exception_ptr(__e); - } - catch(...) - { - __cxxabiv1::__cxa_free_exception(__e); - return current_exception(); - } -# 277 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 3 - } -# 291 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 3 -} - -} -# 167 "/usr/include/c++/14.1.1/exception" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/nested_exception.h" 1 3 -# 40 "/usr/include/c++/14.1.1/bits/nested_exception.h" 3 -extern "C++" { - -namespace std __attribute__ ((__visibility__ ("default"))) -{ -# 59 "/usr/include/c++/14.1.1/bits/nested_exception.h" 3 - class nested_exception - { - exception_ptr _M_ptr; - - public: - - nested_exception() noexcept : _M_ptr(current_exception()) { } - - nested_exception(const nested_exception&) noexcept = default; - - nested_exception& operator=(const nested_exception&) noexcept = default; - - virtual ~nested_exception() noexcept; - - - [[noreturn]] - void - rethrow_nested() const - { - if (_M_ptr) - rethrow_exception(_M_ptr); - std::terminate(); - } - - - exception_ptr - nested_ptr() const noexcept - { return _M_ptr; } - }; - - - - template - struct _Nested_exception : public _Except, public nested_exception - { - explicit _Nested_exception(const _Except& __ex) - : _Except(__ex) - { } - - explicit _Nested_exception(_Except&& __ex) - : _Except(static_cast<_Except&&>(__ex)) - { } - }; -# 145 "/usr/include/c++/14.1.1/bits/nested_exception.h" 3 - template - [[noreturn]] - inline void - throw_with_nested(_Tp&& __t) - { - using _Up = typename decay<_Tp>::type; - using _CopyConstructible - = __and_, is_move_constructible<_Up>>; - static_assert(_CopyConstructible::value, - "throw_with_nested argument must be CopyConstructible"); - - - if constexpr (is_class_v<_Up>) - if constexpr (!is_final_v<_Up>) - if constexpr (!is_base_of_v) - throw _Nested_exception<_Up>{std::forward<_Tp>(__t)}; - throw std::forward<_Tp>(__t); - - - - - - } -# 203 "/usr/include/c++/14.1.1/bits/nested_exception.h" 3 - template - - - - inline void - rethrow_if_nested(const _Ex& __ex) - { - const _Ex* __ptr = __builtin_addressof(__ex); -# 223 "/usr/include/c++/14.1.1/bits/nested_exception.h" 3 - if constexpr (!is_polymorphic_v<_Ex>) - return; - else if constexpr (is_base_of_v - && !is_convertible_v<_Ex*, nested_exception*>) - return; - - - - - else if (auto __ne_ptr = dynamic_cast(__ptr)) - __ne_ptr->rethrow_nested(); - - } - - -} - -} -# 168 "/usr/include/c++/14.1.1/exception" 2 3 -# 42 "/usr/include/c++/14.1.1/ios" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/char_traits.h" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/char_traits.h" 3 - -# 38 "/usr/include/c++/14.1.1/bits/char_traits.h" 3 -# 46 "/usr/include/c++/14.1.1/bits/char_traits.h" 3 -# 1 "/usr/include/c++/14.1.1/cwchar" 1 3 -# 39 "/usr/include/c++/14.1.1/cwchar" 3 - -# 40 "/usr/include/c++/14.1.1/cwchar" 3 -# 47 "/usr/include/c++/14.1.1/bits/char_traits.h" 2 3 -# 56 "/usr/include/c++/14.1.1/bits/char_traits.h" 3 -# 1 "/usr/include/c++/14.1.1/compare" 1 3 -# 33 "/usr/include/c++/14.1.1/compare" 3 - -# 34 "/usr/include/c++/14.1.1/compare" 3 - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 37 "/usr/include/c++/14.1.1/compare" 2 3 - - - -# 1 "/usr/include/c++/14.1.1/concepts" 1 3 -# 33 "/usr/include/c++/14.1.1/concepts" 3 - -# 34 "/usr/include/c++/14.1.1/concepts" 3 - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 37 "/usr/include/c++/14.1.1/concepts" 2 3 -# 48 "/usr/include/c++/14.1.1/concepts" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - namespace __detail - { - template - concept __same_as = std::is_same_v<_Tp, _Up>; - } - - - template - concept same_as - = __detail::__same_as<_Tp, _Up> && __detail::__same_as<_Up, _Tp>; - - namespace __detail - { - template - concept __different_from - = !same_as, remove_cvref_t<_Up>>; - } - - - template - concept derived_from = __is_base_of(_Base, _Derived) - && is_convertible_v; - - - template - concept convertible_to = is_convertible_v<_From, _To> - && requires { static_cast<_To>(std::declval<_From>()); }; - - - template - concept common_reference_with - = same_as, common_reference_t<_Up, _Tp>> - && convertible_to<_Tp, common_reference_t<_Tp, _Up>> - && convertible_to<_Up, common_reference_t<_Tp, _Up>>; - - - template - concept common_with - = same_as, common_type_t<_Up, _Tp>> - && requires { - static_cast>(std::declval<_Tp>()); - static_cast>(std::declval<_Up>()); - } - && common_reference_with, - add_lvalue_reference_t> - && common_reference_with>, - common_reference_t< - add_lvalue_reference_t, - add_lvalue_reference_t>>; - - - - template - concept integral = is_integral_v<_Tp>; - - template - concept signed_integral = integral<_Tp> && is_signed_v<_Tp>; - - template - concept unsigned_integral = integral<_Tp> && !signed_integral<_Tp>; - - template - concept floating_point = is_floating_point_v<_Tp>; - - namespace __detail - { - template - using __cref = const remove_reference_t<_Tp>&; - - template - concept __class_or_enum - = is_class_v<_Tp> || is_union_v<_Tp> || is_enum_v<_Tp>; - - template - constexpr bool __destructible_impl = false; - template - requires requires(_Tp& __t) { { __t.~_Tp() } noexcept; } - constexpr bool __destructible_impl<_Tp> = true; - - template - constexpr bool __destructible = __destructible_impl<_Tp>; - template - constexpr bool __destructible<_Tp&> = true; - template - constexpr bool __destructible<_Tp&&> = true; - template - constexpr bool __destructible<_Tp[_Nm]> = __destructible<_Tp>; - - } - - - template - concept assignable_from - = is_lvalue_reference_v<_Lhs> - && common_reference_with<__detail::__cref<_Lhs>, __detail::__cref<_Rhs>> - && requires(_Lhs __lhs, _Rhs&& __rhs) { - { __lhs = static_cast<_Rhs&&>(__rhs) } -> same_as<_Lhs>; - }; - - - template - concept destructible = __detail::__destructible<_Tp>; - - - template - concept constructible_from - = destructible<_Tp> && is_constructible_v<_Tp, _Args...>; - - - template - concept default_initializable = constructible_from<_Tp> - && requires - { - _Tp{}; - (void) ::new _Tp; - }; - - - template - concept move_constructible - = constructible_from<_Tp, _Tp> && convertible_to<_Tp, _Tp>; - - - template - concept copy_constructible - = move_constructible<_Tp> - && constructible_from<_Tp, _Tp&> && convertible_to<_Tp&, _Tp> - && constructible_from<_Tp, const _Tp&> && convertible_to - && constructible_from<_Tp, const _Tp> && convertible_to; - - - - namespace ranges - { - - namespace __swap - { - template void swap(_Tp&, _Tp&) = delete; - - template - concept __adl_swap - = (std::__detail::__class_or_enum> - || std::__detail::__class_or_enum>) - && requires(_Tp&& __t, _Up&& __u) { - swap(static_cast<_Tp&&>(__t), static_cast<_Up&&>(__u)); - }; - - struct _Swap - { - private: - template - static constexpr bool - _S_noexcept() - { - if constexpr (__adl_swap<_Tp, _Up>) - return noexcept(swap(std::declval<_Tp>(), std::declval<_Up>())); - else - return is_nothrow_move_constructible_v> - && is_nothrow_move_assignable_v>; - } - - public: - template - requires __adl_swap<_Tp, _Up> - || (same_as<_Tp, _Up> && is_lvalue_reference_v<_Tp> - && move_constructible> - && assignable_from<_Tp, remove_reference_t<_Tp>>) - constexpr void - operator()(_Tp&& __t, _Up&& __u) const - noexcept(_S_noexcept<_Tp, _Up>()) - { - if constexpr (__adl_swap<_Tp, _Up>) - swap(static_cast<_Tp&&>(__t), static_cast<_Up&&>(__u)); - else - { - auto __tmp = static_cast&&>(__t); - __t = static_cast&&>(__u); - __u = static_cast&&>(__tmp); - } - } - - template - requires requires(const _Swap& __swap, _Tp& __e1, _Up& __e2) { - __swap(__e1, __e2); - } - constexpr void - operator()(_Tp (&__e1)[_Num], _Up (&__e2)[_Num]) const - noexcept(noexcept(std::declval()(*__e1, *__e2))) - { - for (size_t __n = 0; __n < _Num; ++__n) - (*this)(__e1[__n], __e2[__n]); - } - }; - } - - - inline namespace _Cpo { - inline constexpr __swap::_Swap swap{}; - } - } - - template - concept swappable - = requires(_Tp& __a, _Tp& __b) { ranges::swap(__a, __b); }; - - template - concept swappable_with = common_reference_with<_Tp, _Up> - && requires(_Tp&& __t, _Up&& __u) { - ranges::swap(static_cast<_Tp&&>(__t), static_cast<_Tp&&>(__t)); - ranges::swap(static_cast<_Up&&>(__u), static_cast<_Up&&>(__u)); - ranges::swap(static_cast<_Tp&&>(__t), static_cast<_Up&&>(__u)); - ranges::swap(static_cast<_Up&&>(__u), static_cast<_Tp&&>(__t)); - }; - - - - template - concept movable = is_object_v<_Tp> && move_constructible<_Tp> - && assignable_from<_Tp&, _Tp> && swappable<_Tp>; - - template - concept copyable = copy_constructible<_Tp> && movable<_Tp> - && assignable_from<_Tp&, _Tp&> && assignable_from<_Tp&, const _Tp&> - && assignable_from<_Tp&, const _Tp>; - - template - concept semiregular = copyable<_Tp> && default_initializable<_Tp>; - - - - - namespace __detail - { - template - concept __boolean_testable_impl = convertible_to<_Tp, bool>; - - template - concept __boolean_testable - = __boolean_testable_impl<_Tp> - && requires(_Tp&& __t) - { { !static_cast<_Tp&&>(__t) } -> __boolean_testable_impl; }; - } - - - - namespace __detail - { - template - concept __weakly_eq_cmp_with - = requires(__detail::__cref<_Tp> __t, __detail::__cref<_Up> __u) { - { __t == __u } -> __boolean_testable; - { __t != __u } -> __boolean_testable; - { __u == __t } -> __boolean_testable; - { __u != __t } -> __boolean_testable; - }; - } - - template - concept equality_comparable = __detail::__weakly_eq_cmp_with<_Tp, _Tp>; - - template - concept equality_comparable_with - = equality_comparable<_Tp> && equality_comparable<_Up> - && common_reference_with<__detail::__cref<_Tp>, __detail::__cref<_Up>> - && equality_comparable, - __detail::__cref<_Up>>> - && __detail::__weakly_eq_cmp_with<_Tp, _Up>; - - namespace __detail - { - template - concept __partially_ordered_with - = requires(const remove_reference_t<_Tp>& __t, - const remove_reference_t<_Up>& __u) { - { __t < __u } -> __boolean_testable; - { __t > __u } -> __boolean_testable; - { __t <= __u } -> __boolean_testable; - { __t >= __u } -> __boolean_testable; - { __u < __t } -> __boolean_testable; - { __u > __t } -> __boolean_testable; - { __u <= __t } -> __boolean_testable; - { __u >= __t } -> __boolean_testable; - }; - } - - - template - concept totally_ordered - = equality_comparable<_Tp> - && __detail::__partially_ordered_with<_Tp, _Tp>; - - template - concept totally_ordered_with - = totally_ordered<_Tp> && totally_ordered<_Up> - && equality_comparable_with<_Tp, _Up> - && totally_ordered, - __detail::__cref<_Up>>> - && __detail::__partially_ordered_with<_Tp, _Up>; - - template - concept regular = semiregular<_Tp> && equality_comparable<_Tp>; - - - - - template - concept invocable = is_invocable_v<_Fn, _Args...>; - - - template - concept regular_invocable = invocable<_Fn, _Args...>; - - - template - concept predicate = regular_invocable<_Fn, _Args...> - && __detail::__boolean_testable>; - - - template - concept relation - = predicate<_Rel, _Tp, _Tp> && predicate<_Rel, _Up, _Up> - && predicate<_Rel, _Tp, _Up> && predicate<_Rel, _Up, _Tp>; - - - template - concept equivalence_relation = relation<_Rel, _Tp, _Up>; - - - template - concept strict_weak_order = relation<_Rel, _Tp, _Up>; - - -} -# 41 "/usr/include/c++/14.1.1/compare" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - namespace __cmp_cat - { - using type = signed char; - - enum class _Ord : type { equivalent = 0, less = -1, greater = 1 }; - - enum class _Ncmp : type { _Unordered = 2 }; - - struct __unspec - { - consteval __unspec(__unspec*) noexcept { } - }; - } - - class partial_ordering - { - - __cmp_cat::type _M_value; - - constexpr explicit - partial_ordering(__cmp_cat::_Ord __v) noexcept - : _M_value(__cmp_cat::type(__v)) - { } - - constexpr explicit - partial_ordering(__cmp_cat::_Ncmp __v) noexcept - : _M_value(__cmp_cat::type(__v)) - { } - - friend class weak_ordering; - friend class strong_ordering; - - public: - - static const partial_ordering less; - static const partial_ordering equivalent; - static const partial_ordering greater; - static const partial_ordering unordered; - - - [[nodiscard]] - friend constexpr bool - operator==(partial_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value == 0; } - - [[nodiscard]] - friend constexpr bool - operator==(partial_ordering, partial_ordering) noexcept = default; - - [[nodiscard]] - friend constexpr bool - operator< (partial_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value == -1; } - - [[nodiscard]] - friend constexpr bool - operator> (partial_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value == 1; } - - [[nodiscard]] - friend constexpr bool - operator<=(partial_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value <= 0; } - - [[nodiscard]] - friend constexpr bool - operator>=(partial_ordering __v, __cmp_cat::__unspec) noexcept - { return __cmp_cat::type(__v._M_value & 1) == __v._M_value; } - - [[nodiscard]] - friend constexpr bool - operator< (__cmp_cat::__unspec, partial_ordering __v) noexcept - { return __v._M_value == 1; } - - [[nodiscard]] - friend constexpr bool - operator> (__cmp_cat::__unspec, partial_ordering __v) noexcept - { return __v._M_value == -1; } - - [[nodiscard]] - friend constexpr bool - operator<=(__cmp_cat::__unspec, partial_ordering __v) noexcept - { return __cmp_cat::type(__v._M_value & 1) == __v._M_value; } - - [[nodiscard]] - friend constexpr bool - operator>=(__cmp_cat::__unspec, partial_ordering __v) noexcept - { return 0 >= __v._M_value; } - - [[nodiscard]] - friend constexpr partial_ordering - operator<=>(partial_ordering __v, __cmp_cat::__unspec) noexcept - { return __v; } - - [[nodiscard]] - friend constexpr partial_ordering - operator<=>(__cmp_cat::__unspec, partial_ordering __v) noexcept - { - if (__v._M_value & 1) - return partial_ordering(__cmp_cat::_Ord(-__v._M_value)); - else - return __v; - } - }; - - - inline constexpr partial_ordering - partial_ordering::less(__cmp_cat::_Ord::less); - - inline constexpr partial_ordering - partial_ordering::equivalent(__cmp_cat::_Ord::equivalent); - - inline constexpr partial_ordering - partial_ordering::greater(__cmp_cat::_Ord::greater); - - inline constexpr partial_ordering - partial_ordering::unordered(__cmp_cat::_Ncmp::_Unordered); - - class weak_ordering - { - __cmp_cat::type _M_value; - - constexpr explicit - weak_ordering(__cmp_cat::_Ord __v) noexcept : _M_value(__cmp_cat::type(__v)) - { } - - friend class strong_ordering; - - public: - - static const weak_ordering less; - static const weak_ordering equivalent; - static const weak_ordering greater; - - [[nodiscard]] - constexpr operator partial_ordering() const noexcept - { return partial_ordering(__cmp_cat::_Ord(_M_value)); } - - - [[nodiscard]] - friend constexpr bool - operator==(weak_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value == 0; } - - [[nodiscard]] - friend constexpr bool - operator==(weak_ordering, weak_ordering) noexcept = default; - - [[nodiscard]] - friend constexpr bool - operator< (weak_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value < 0; } - - [[nodiscard]] - friend constexpr bool - operator> (weak_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value > 0; } - - [[nodiscard]] - friend constexpr bool - operator<=(weak_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value <= 0; } - - [[nodiscard]] - friend constexpr bool - operator>=(weak_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value >= 0; } - - [[nodiscard]] - friend constexpr bool - operator< (__cmp_cat::__unspec, weak_ordering __v) noexcept - { return 0 < __v._M_value; } - - [[nodiscard]] - friend constexpr bool - operator> (__cmp_cat::__unspec, weak_ordering __v) noexcept - { return 0 > __v._M_value; } - - [[nodiscard]] - friend constexpr bool - operator<=(__cmp_cat::__unspec, weak_ordering __v) noexcept - { return 0 <= __v._M_value; } - - [[nodiscard]] - friend constexpr bool - operator>=(__cmp_cat::__unspec, weak_ordering __v) noexcept - { return 0 >= __v._M_value; } - - [[nodiscard]] - friend constexpr weak_ordering - operator<=>(weak_ordering __v, __cmp_cat::__unspec) noexcept - { return __v; } - - [[nodiscard]] - friend constexpr weak_ordering - operator<=>(__cmp_cat::__unspec, weak_ordering __v) noexcept - { return weak_ordering(__cmp_cat::_Ord(-__v._M_value)); } - }; - - - inline constexpr weak_ordering - weak_ordering::less(__cmp_cat::_Ord::less); - - inline constexpr weak_ordering - weak_ordering::equivalent(__cmp_cat::_Ord::equivalent); - - inline constexpr weak_ordering - weak_ordering::greater(__cmp_cat::_Ord::greater); - - class strong_ordering - { - __cmp_cat::type _M_value; - - constexpr explicit - strong_ordering(__cmp_cat::_Ord __v) noexcept - : _M_value(__cmp_cat::type(__v)) - { } - - public: - - static const strong_ordering less; - static const strong_ordering equal; - static const strong_ordering equivalent; - static const strong_ordering greater; - - [[nodiscard]] - constexpr operator partial_ordering() const noexcept - { return partial_ordering(__cmp_cat::_Ord(_M_value)); } - - [[nodiscard]] - constexpr operator weak_ordering() const noexcept - { return weak_ordering(__cmp_cat::_Ord(_M_value)); } - - - [[nodiscard]] - friend constexpr bool - operator==(strong_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value == 0; } - - [[nodiscard]] - friend constexpr bool - operator==(strong_ordering, strong_ordering) noexcept = default; - - [[nodiscard]] - friend constexpr bool - operator< (strong_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value < 0; } - - [[nodiscard]] - friend constexpr bool - operator> (strong_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value > 0; } - - [[nodiscard]] - friend constexpr bool - operator<=(strong_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value <= 0; } - - [[nodiscard]] - friend constexpr bool - operator>=(strong_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value >= 0; } - - [[nodiscard]] - friend constexpr bool - operator< (__cmp_cat::__unspec, strong_ordering __v) noexcept - { return 0 < __v._M_value; } - - [[nodiscard]] - friend constexpr bool - operator> (__cmp_cat::__unspec, strong_ordering __v) noexcept - { return 0 > __v._M_value; } - - [[nodiscard]] - friend constexpr bool - operator<=(__cmp_cat::__unspec, strong_ordering __v) noexcept - { return 0 <= __v._M_value; } - - [[nodiscard]] - friend constexpr bool - operator>=(__cmp_cat::__unspec, strong_ordering __v) noexcept - { return 0 >= __v._M_value; } - - [[nodiscard]] - friend constexpr strong_ordering - operator<=>(strong_ordering __v, __cmp_cat::__unspec) noexcept - { return __v; } - - [[nodiscard]] - friend constexpr strong_ordering - operator<=>(__cmp_cat::__unspec, strong_ordering __v) noexcept - { return strong_ordering(__cmp_cat::_Ord(-__v._M_value)); } - }; - - - inline constexpr strong_ordering - strong_ordering::less(__cmp_cat::_Ord::less); - - inline constexpr strong_ordering - strong_ordering::equal(__cmp_cat::_Ord::equivalent); - - inline constexpr strong_ordering - strong_ordering::equivalent(__cmp_cat::_Ord::equivalent); - - inline constexpr strong_ordering - strong_ordering::greater(__cmp_cat::_Ord::greater); - - - - [[nodiscard]] - constexpr bool - is_eq(partial_ordering __cmp) noexcept - { return __cmp == 0; } - - [[nodiscard]] - constexpr bool - is_neq(partial_ordering __cmp) noexcept - { return __cmp != 0; } - - [[nodiscard]] - constexpr bool - is_lt (partial_ordering __cmp) noexcept - { return __cmp < 0; } - - [[nodiscard]] - constexpr bool - is_lteq(partial_ordering __cmp) noexcept - { return __cmp <= 0; } - - [[nodiscard]] - constexpr bool - is_gt (partial_ordering __cmp) noexcept - { return __cmp > 0; } - - [[nodiscard]] - constexpr bool - is_gteq(partial_ordering __cmp) noexcept - { return __cmp >= 0; } - - namespace __detail - { - template - inline constexpr unsigned __cmp_cat_id = 1; - template<> - inline constexpr unsigned __cmp_cat_id = 2; - template<> - inline constexpr unsigned __cmp_cat_id = 4; - template<> - inline constexpr unsigned __cmp_cat_id = 8; - - template - constexpr auto __common_cmp_cat() - { - constexpr unsigned __cats = (__cmp_cat_id<_Ts> | ...); - - if constexpr (__cats & 1) - return; - - - else if constexpr (bool(__cats & __cmp_cat_id)) - return partial_ordering::equivalent; - - - else if constexpr (bool(__cats & __cmp_cat_id)) - return weak_ordering::equivalent; - - else - return strong_ordering::equivalent; - } - } - - - template - struct common_comparison_category - { - using type = decltype(__detail::__common_cmp_cat<_Ts...>()); - }; - - - - template - struct common_comparison_category<_Tp> - { using type = void; }; - - template<> - struct common_comparison_category - { using type = partial_ordering; }; - - template<> - struct common_comparison_category - { using type = weak_ordering; }; - - template<> - struct common_comparison_category - { using type = strong_ordering; }; - - template<> - struct common_comparison_category<> - { using type = strong_ordering; }; - - template - using common_comparison_category_t - = typename common_comparison_category<_Ts...>::type; - - - - namespace __detail - { - template - concept __compares_as - = same_as, _Cat>; - } - - - template - concept three_way_comparable - = __detail::__weakly_eq_cmp_with<_Tp, _Tp> - && __detail::__partially_ordered_with<_Tp, _Tp> - && requires(const remove_reference_t<_Tp>& __a, - const remove_reference_t<_Tp>& __b) - { - { __a <=> __b } -> __detail::__compares_as<_Cat>; - }; - - template - concept three_way_comparable_with - = three_way_comparable<_Tp, _Cat> - && three_way_comparable<_Up, _Cat> - && common_reference_with&, - const remove_reference_t<_Up>&> - && three_way_comparable< - common_reference_t&, - const remove_reference_t<_Up>&>, _Cat> - && __detail::__weakly_eq_cmp_with<_Tp, _Up> - && __detail::__partially_ordered_with<_Tp, _Up> - && requires(const remove_reference_t<_Tp>& __t, - const remove_reference_t<_Up>& __u) - { - { __t <=> __u } -> __detail::__compares_as<_Cat>; - { __u <=> __t } -> __detail::__compares_as<_Cat>; - }; - - namespace __detail - { - template - using __cmp3way_res_t - = decltype(std::declval<_Tp>() <=> std::declval<_Up>()); - - - - - - - template - struct __cmp3way_res_impl - { }; - - template - requires requires { typename __cmp3way_res_t<__cref<_Tp>, __cref<_Up>>; } - struct __cmp3way_res_impl<_Tp, _Up> - { - using type = __cmp3way_res_t<__cref<_Tp>, __cref<_Up>>; - }; - } - - - template - struct compare_three_way_result - : __detail::__cmp3way_res_impl<_Tp, _Up> - { }; - - - template - using compare_three_way_result_t - = typename __detail::__cmp3way_res_impl<_Tp, _Up>::type; - - namespace __detail - { - - - - - template - concept __3way_builtin_ptr_cmp - = requires(_Tp&& __t, _Up&& __u) - { static_cast<_Tp&&>(__t) <=> static_cast<_Up&&>(__u); } - && convertible_to<_Tp, const volatile void*> - && convertible_to<_Up, const volatile void*> - && ! requires(_Tp&& __t, _Up&& __u) - { operator<=>(static_cast<_Tp&&>(__t), static_cast<_Up&&>(__u)); } - && ! requires(_Tp&& __t, _Up&& __u) - { static_cast<_Tp&&>(__t).operator<=>(static_cast<_Up&&>(__u)); }; - } - - - - - - struct compare_three_way - { - template - requires three_way_comparable_with<_Tp, _Up> - constexpr auto - operator() [[nodiscard]] (_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::declval<_Tp>() <=> std::declval<_Up>())) - { - if constexpr (__detail::__3way_builtin_ptr_cmp<_Tp, _Up>) - { - auto __pt = static_cast(__t); - auto __pu = static_cast(__u); - if (std::__is_constant_evaluated()) - return __pt <=> __pu; - auto __it = reinterpret_cast(__pt); - auto __iu = reinterpret_cast(__pu); - return __it <=> __iu; - } - else - return static_cast<_Tp&&>(__t) <=> static_cast<_Up&&>(__u); - } - - using is_transparent = void; - }; - - - - namespace __compare - { - template - constexpr weak_ordering - __fp_weak_ordering(_Tp __e, _Tp __f) - { - - - auto __cat = [](_Tp __fp) -> int { - const int __sign = __builtin_signbit(__fp) ? -1 : 1; - if (__builtin_isnormal(__fp)) - return (__fp == 0 ? 1 : 3) * __sign; - if (__builtin_isnan(__fp)) - return 5 * __sign; - if (int __inf = __builtin_isinf_sign(__fp)) - return 4 * __inf; - return 2 * __sign; - }; - - auto __po = __e <=> __f; - if (is_lt(__po)) - return weak_ordering::less; - else if (is_gt(__po)) - return weak_ordering::greater; - else if (__po == partial_ordering::equivalent) - return weak_ordering::equivalent; - else - { - - auto __isnan_sign = [](_Tp __fp) -> int { - return __builtin_isnan(__fp) - ? __builtin_signbit(__fp) ? -1 : 1 - : 0; - }; - auto __ord = __isnan_sign(__e) <=> __isnan_sign(__f); - if (is_eq(__ord)) - return weak_ordering::equivalent; - else if (is_lt(__ord)) - return weak_ordering::less; - else - return weak_ordering::greater; - } - } - - void strong_order() = delete; - - template - concept __adl_strong = requires(_Tp&& __t, _Up&& __u) - { - strong_ordering(strong_order(static_cast<_Tp&&>(__t), - static_cast<_Up&&>(__u))); - }; - - void weak_order() = delete; - - template - concept __adl_weak = requires(_Tp&& __t, _Up&& __u) - { - weak_ordering(weak_order(static_cast<_Tp&&>(__t), - static_cast<_Up&&>(__u))); - }; - - void partial_order() = delete; - - template - concept __adl_partial = requires(_Tp&& __t, _Up&& __u) - { - partial_ordering(partial_order(static_cast<_Tp&&>(__t), - static_cast<_Up&&>(__u))); - }; - - template - concept __cmp3way = requires(_Tp&& __t, _Up&& __u, compare_three_way __c) - { - _Ord(__c(static_cast<_Tp&&>(__t), static_cast<_Up&&>(__u))); - }; - - template - concept __strongly_ordered - = __adl_strong<_Tp, _Up> - || floating_point> - || __cmp3way; - - template - concept __decayed_same_as = same_as, decay_t<_Up>>; - - class _Strong_order - { - template - static constexpr bool - _S_noexcept() - { - if constexpr (floating_point>) - return true; - else if constexpr (__adl_strong<_Tp, _Up>) - return noexcept(strong_ordering(strong_order(std::declval<_Tp>(), - std::declval<_Up>()))); - else if constexpr (__cmp3way) - return noexcept(compare_three_way()(std::declval<_Tp>(), - std::declval<_Up>())); - } - - friend class _Weak_order; - friend class _Strong_fallback; - - - enum class _Fp_fmt - { - _Binary16, _Binary32, _Binary64, _Binary128, - _X86_80bit, - _M68k_80bit, - _Dbldbl, - _Bfloat16, - }; -# 699 "/usr/include/c++/14.1.1/compare" 3 - template - static consteval _Fp_fmt - _S_fp_fmt() noexcept - { - - using enum _Fp_fmt; -# 719 "/usr/include/c++/14.1.1/compare" 3 - if constexpr (__is_same(_Tp, long double)) - return (-16381) == -16381 ? _X86_80bit : _M68k_80bit; - - - if constexpr (__is_same(_Tp, __float80)) - return _X86_80bit; - - - - - - - constexpr int __width = sizeof(_Tp) * 8; - - if constexpr (__width == 16) - return _Binary16; - else if constexpr (__width == 32) - return _Binary32; - else if constexpr (__width == 64) - return _Binary64; - else if constexpr (__width == 128) - return _Binary128; - } - - - using int64_t = long int; - using int32_t = int; - using int16_t = short int; - using uint64_t = long unsigned int; - using uint16_t = short unsigned int; - - - template - struct _Int - { - - uint64_t _M_lo; - _Tp _M_hi; - - - - - - constexpr explicit - _Int(_Tp __hi, uint64_t __lo) noexcept : _M_hi(__hi) - { _M_lo = __lo; } - - constexpr explicit - _Int(uint64_t __lo) noexcept : _M_hi(0) - { _M_lo = __lo; } - - constexpr bool operator==(const _Int&) const = default; -# 781 "/usr/include/c++/14.1.1/compare" 3 - constexpr _Int& - operator^=(const _Int& __rhs) noexcept - { - _M_hi ^= __rhs._M_hi; - _M_lo ^= __rhs._M_lo; - return *this; - } - - constexpr strong_ordering - operator<=>(const _Int& __rhs) const noexcept - { - strong_ordering __cmp = _M_hi <=> __rhs._M_hi; - if (__cmp != strong_ordering::equal) - return __cmp; - return _M_lo <=> __rhs._M_lo; - } - }; - - template - static constexpr _Tp - _S_compl(_Tp __t) noexcept - { - constexpr int __width = sizeof(_Tp) * 8; - - make_unsigned_t<_Tp> __sign = __t >> (__width - 1); - - - return __t ^ (__sign >> 1); - } - - - template - static constexpr _Int<_Tp> - _S_compl(_Int<_Tp> __t) noexcept - { - constexpr int __width = sizeof(_Tp) * 8; - make_unsigned_t<_Tp> __sign = __t._M_hi >> (__width - 1); - __t._M_hi ^= (__sign >> 1 ); - uint64_t __sign64 = (_Tp)__sign; - __t._M_lo ^= __sign64; - return __t; - } - - - template - constexpr static auto - _S_fp_bits(_Tp __val) noexcept - { - if constexpr (sizeof(_Tp) == sizeof(int64_t)) - return __builtin_bit_cast(int64_t, __val); - else if constexpr (sizeof(_Tp) == sizeof(int32_t)) - return __builtin_bit_cast(int32_t, __val); - else if constexpr (sizeof(_Tp) == sizeof(int16_t)) - return __builtin_bit_cast(int16_t, __val); - else - { - - using enum _Fp_fmt; - - constexpr auto __fmt = _S_fp_fmt<_Tp>(); - if constexpr (__fmt == _X86_80bit || __fmt == _M68k_80bit) - { - if constexpr (sizeof(_Tp) == 3 * sizeof(int32_t)) - { - auto __ival = __builtin_bit_cast(_Int, __val); - return _Int(__ival._M_hi, __ival._M_lo); - } - else - { - auto __ival = __builtin_bit_cast(_Int, __val); - return _Int(__ival._M_hi, __ival._M_lo); - } - } - else if constexpr (sizeof(_Tp) == 2 * sizeof(int64_t)) - { - - return __builtin_bit_cast(__int128, __val); - - - - } - else - static_assert(sizeof(_Tp) == sizeof(int64_t), - "unsupported floating-point type"); - } - } - - template - static constexpr strong_ordering - _S_fp_cmp(_Tp __x, _Tp __y) noexcept - { -# 885 "/usr/include/c++/14.1.1/compare" 3 - auto __ix = _S_fp_bits(__x); - auto __iy = _S_fp_bits(__y); - - if (__ix == __iy) - return strong_ordering::equal; - - - using enum _Fp_fmt; - - constexpr auto __fmt = _S_fp_fmt<_Tp>(); - - if constexpr (__fmt == _Dbldbl) - { - - - struct _Unpacked { double _M_hi; int64_t _M_lo; }; - auto __x2 = __builtin_bit_cast(_Unpacked, __x); - auto __y2 = __builtin_bit_cast(_Unpacked, __y); - - - auto __cmp = _S_fp_cmp(__x2._M_hi, __y2._M_hi); - if (__cmp != strong_ordering::equal) - return __cmp; - - - - if (__builtin_isnan(__x2._M_hi)) - return strong_ordering::equal; - - - if (((__x2._M_lo | __y2._M_lo) & 0x7fffffffffffffffULL) == 0) - return strong_ordering::equal; - - - return _S_compl(__x2._M_lo) <=> _S_compl(__y2._M_lo); - } - else - { - if constexpr (__fmt == _M68k_80bit) - { - - - - constexpr uint16_t __maxexp = 0x7fff; - if ((__ix._M_hi & __maxexp) == __maxexp) - __ix._M_lo |= 1ull << 63; - if ((__iy._M_hi & __maxexp) == __maxexp) - __iy._M_lo |= 1ull << 63; - } - else - { -# 952 "/usr/include/c++/14.1.1/compare" 3 - } - return _S_compl(__ix) <=> _S_compl(__iy); - } - } - - public: - template _Up> - requires __strongly_ordered<_Tp, _Up> - constexpr strong_ordering - operator() [[nodiscard]] (_Tp&& __e, _Up&& __f) const - noexcept(_S_noexcept<_Tp, _Up>()) - { - if constexpr (floating_point>) - return _S_fp_cmp(__e, __f); - else if constexpr (__adl_strong<_Tp, _Up>) - return strong_ordering(strong_order(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f))); - else if constexpr (__cmp3way) - return compare_three_way()(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f)); - } - }; - - template - concept __weakly_ordered - = floating_point> - || __adl_weak<_Tp, _Up> - || __cmp3way - || __strongly_ordered<_Tp, _Up>; - - class _Weak_order - { - template - static constexpr bool - _S_noexcept() - { - if constexpr (floating_point>) - return true; - else if constexpr (__adl_weak<_Tp, _Up>) - return noexcept(weak_ordering(weak_order(std::declval<_Tp>(), - std::declval<_Up>()))); - else if constexpr (__cmp3way) - return noexcept(compare_three_way()(std::declval<_Tp>(), - std::declval<_Up>())); - else if constexpr (__strongly_ordered<_Tp, _Up>) - return _Strong_order::_S_noexcept<_Tp, _Up>(); - } - - friend class _Partial_order; - friend class _Weak_fallback; - - public: - template _Up> - requires __weakly_ordered<_Tp, _Up> - constexpr weak_ordering - operator() [[nodiscard]] (_Tp&& __e, _Up&& __f) const - noexcept(_S_noexcept<_Tp, _Up>()) - { - if constexpr (floating_point>) - return __compare::__fp_weak_ordering(__e, __f); - else if constexpr (__adl_weak<_Tp, _Up>) - return weak_ordering(weak_order(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f))); - else if constexpr (__cmp3way) - return compare_three_way()(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f)); - else if constexpr (__strongly_ordered<_Tp, _Up>) - return _Strong_order{}(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f)); - } - }; - - template - concept __partially_ordered - = __adl_partial<_Tp, _Up> - || __cmp3way - || __weakly_ordered<_Tp, _Up>; - - class _Partial_order - { - template - static constexpr bool - _S_noexcept() - { - if constexpr (__adl_partial<_Tp, _Up>) - return noexcept(partial_ordering(partial_order(std::declval<_Tp>(), - std::declval<_Up>()))); - else if constexpr (__cmp3way) - return noexcept(compare_three_way()(std::declval<_Tp>(), - std::declval<_Up>())); - else if constexpr (__weakly_ordered<_Tp, _Up>) - return _Weak_order::_S_noexcept<_Tp, _Up>(); - } - - friend class _Partial_fallback; - - public: - template _Up> - requires __partially_ordered<_Tp, _Up> - constexpr partial_ordering - operator() [[nodiscard]] (_Tp&& __e, _Up&& __f) const - noexcept(_S_noexcept<_Tp, _Up>()) - { - if constexpr (__adl_partial<_Tp, _Up>) - return partial_ordering(partial_order(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f))); - else if constexpr (__cmp3way) - return compare_three_way()(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f)); - else if constexpr (__weakly_ordered<_Tp, _Up>) - return _Weak_order{}(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f)); - } - }; - - template - concept __op_eq_lt = requires(_Tp&& __t, _Up&& __u) - { - { static_cast<_Tp&&>(__t) == static_cast<_Up&&>(__u) } - -> convertible_to; - { static_cast<_Tp&&>(__t) < static_cast<_Up&&>(__u) } - -> convertible_to; - }; - - class _Strong_fallback - { - template - static constexpr bool - _S_noexcept() - { - if constexpr (__strongly_ordered<_Tp, _Up>) - return _Strong_order::_S_noexcept<_Tp, _Up>(); - else - return noexcept(bool(std::declval<_Tp>() == std::declval<_Up>())) - && noexcept(bool(std::declval<_Tp>() < std::declval<_Up>())); - } - - public: - template _Up> - requires __strongly_ordered<_Tp, _Up> || __op_eq_lt<_Tp, _Up> - constexpr strong_ordering - operator() [[nodiscard]] (_Tp&& __e, _Up&& __f) const - noexcept(_S_noexcept<_Tp, _Up>()) - { - if constexpr (__strongly_ordered<_Tp, _Up>) - return _Strong_order{}(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f)); - else - return static_cast<_Tp&&>(__e) == static_cast<_Up&&>(__f) - ? strong_ordering::equal - : static_cast<_Tp&&>(__e) < static_cast<_Up&&>(__f) - ? strong_ordering::less - : strong_ordering::greater; - } - }; - - class _Weak_fallback - { - template - static constexpr bool - _S_noexcept() - { - if constexpr (__weakly_ordered<_Tp, _Up>) - return _Weak_order::_S_noexcept<_Tp, _Up>(); - else - return noexcept(bool(std::declval<_Tp>() == std::declval<_Up>())) - && noexcept(bool(std::declval<_Tp>() < std::declval<_Up>())); - } - - public: - template _Up> - requires __weakly_ordered<_Tp, _Up> || __op_eq_lt<_Tp, _Up> - constexpr weak_ordering - operator() [[nodiscard]] (_Tp&& __e, _Up&& __f) const - noexcept(_S_noexcept<_Tp, _Up>()) - { - if constexpr (__weakly_ordered<_Tp, _Up>) - return _Weak_order{}(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f)); - else - return static_cast<_Tp&&>(__e) == static_cast<_Up&&>(__f) - ? weak_ordering::equivalent - : static_cast<_Tp&&>(__e) < static_cast<_Up&&>(__f) - ? weak_ordering::less - : weak_ordering::greater; - } - }; - - - - template - concept __op_eq_lt_lt = __op_eq_lt<_Tp, _Up> - && requires(_Tp&& __t, _Up&& __u) - { - { static_cast<_Up&&>(__u) < static_cast<_Tp&&>(__t) } - -> convertible_to; - }; - - class _Partial_fallback - { - template - static constexpr bool - _S_noexcept() - { - if constexpr (__partially_ordered<_Tp, _Up>) - return _Partial_order::_S_noexcept<_Tp, _Up>(); - else - return noexcept(bool(std::declval<_Tp>() == std::declval<_Up>())) - && noexcept(bool(std::declval<_Tp>() < std::declval<_Up>())); - } - - public: - template _Up> - requires __partially_ordered<_Tp, _Up> || __op_eq_lt_lt<_Tp, _Up> - constexpr partial_ordering - operator() [[nodiscard]] (_Tp&& __e, _Up&& __f) const - noexcept(_S_noexcept<_Tp, _Up>()) - { - if constexpr (__partially_ordered<_Tp, _Up>) - return _Partial_order{}(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f)); - else - return static_cast<_Tp&&>(__e) == static_cast<_Up&&>(__f) - ? partial_ordering::equivalent - : static_cast<_Tp&&>(__e) < static_cast<_Up&&>(__f) - ? partial_ordering::less - : static_cast<_Up&&>(__f) < static_cast<_Tp&&>(__e) - ? partial_ordering::greater - : partial_ordering::unordered; - } - }; - } - - - - inline namespace _Cpo - { - inline constexpr __compare::_Strong_order strong_order{}; - - inline constexpr __compare::_Weak_order weak_order{}; - - inline constexpr __compare::_Partial_order partial_order{}; - - inline constexpr __compare::_Strong_fallback - compare_strong_order_fallback{}; - - inline constexpr __compare::_Weak_fallback - compare_weak_order_fallback{}; - - inline constexpr __compare::_Partial_fallback - compare_partial_order_fallback{}; - } - - - namespace __detail - { - - inline constexpr struct _Synth3way - { - template - static constexpr bool - _S_noexcept(const _Tp* __t = nullptr, const _Up* __u = nullptr) - { - if constexpr (three_way_comparable_with<_Tp, _Up>) - return noexcept(*__t <=> *__u); - else - return noexcept(*__t < *__u) && noexcept(*__u < *__t); - } - - template - [[nodiscard]] - constexpr auto - operator()(const _Tp& __t, const _Up& __u) const - noexcept(_S_noexcept<_Tp, _Up>()) - requires requires - { - { __t < __u } -> __boolean_testable; - { __u < __t } -> __boolean_testable; - } - { - if constexpr (three_way_comparable_with<_Tp, _Up>) - return __t <=> __u; - else - { - if (__t < __u) - return weak_ordering::less; - else if (__u < __t) - return weak_ordering::greater; - else - return weak_ordering::equivalent; - } - } - } __synth3way = {}; - - - template - using __synth3way_t - = decltype(__detail::__synth3way(std::declval<_Tp&>(), - std::declval<_Up&>())); - } - - -} -# 57 "/usr/include/c++/14.1.1/bits/char_traits.h" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/stl_construct.h" 1 3 -# 61 "/usr/include/c++/14.1.1/bits/stl_construct.h" 3 -# 1 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 1 3 -# 62 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 3 - -# 63 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 3 -# 71 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 3 -# 1 "/usr/include/c++/14.1.1/bits/iterator_concepts.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/iterator_concepts.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/iterator_concepts.h" 3 - - - -# 1 "/usr/include/c++/14.1.1/bits/ptr_traits.h" 1 3 -# 39 "/usr/include/c++/14.1.1/bits/ptr_traits.h" 3 -namespace __gnu_debug { struct _Safe_iterator_base; } - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - class __undefined; - - - - template - struct __get_first_arg - { using type = __undefined; }; - - template class _SomeTemplate, typename _Tp, - typename... _Types> - struct __get_first_arg<_SomeTemplate<_Tp, _Types...>> - { using type = _Tp; }; - - - - template - struct __replace_first_arg - { }; - - template class _SomeTemplate, typename _Up, - typename _Tp, typename... _Types> - struct __replace_first_arg<_SomeTemplate<_Tp, _Types...>, _Up> - { using type = _SomeTemplate<_Up, _Types...>; }; - - - template - struct __ptr_traits_elem : __get_first_arg<_Ptr> - { }; - - - - template requires requires { typename _Ptr::element_type; } - struct __ptr_traits_elem<_Ptr, void> - { using type = typename _Ptr::element_type; }; - - - - - - - template - using __ptr_traits_elem_t = typename __ptr_traits_elem<_Ptr>::type; - - - - - template::value> - struct __ptr_traits_ptr_to - { - using pointer = _Ptr; - using element_type = _Elt; - - - - - - - - static pointer - pointer_to(element_type& __r) - - requires requires { - { pointer::pointer_to(__r) } -> convertible_to; - } - - { return pointer::pointer_to(__r); } - }; - - - template - struct __ptr_traits_ptr_to<_Ptr, _Elt, true> - { }; - - - template - struct __ptr_traits_ptr_to<_Tp*, _Tp, false> - { - using pointer = _Tp*; - using element_type = _Tp; - - - - - - - static constexpr pointer - pointer_to(element_type& __r) noexcept - { return std::addressof(__r); } - }; - - template - struct __ptr_traits_impl : __ptr_traits_ptr_to<_Ptr, _Elt> - { - private: - template - using __diff_t = typename _Tp::difference_type; - - template - using __rebind = __type_identity>; - - public: - - using pointer = _Ptr; - - - using element_type = _Elt; - - - using difference_type = __detected_or_t; - - - template - using rebind = typename __detected_or_t<__replace_first_arg<_Ptr, _Up>, - __rebind, _Ptr, _Up>::type; - }; - - - - template - struct __ptr_traits_impl<_Ptr, __undefined> - { }; - - - - - - - - template - struct pointer_traits : __ptr_traits_impl<_Ptr, __ptr_traits_elem_t<_Ptr>> - { }; - - - - - - - - template - struct pointer_traits<_Tp*> : __ptr_traits_ptr_to<_Tp*, _Tp> - { - - typedef _Tp* pointer; - - typedef _Tp element_type; - - typedef ptrdiff_t difference_type; - - template using rebind = _Up*; - }; - - - 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 auto - __to_address(const _Ptr& __ptr) noexcept - -> decltype(std::pointer_traits<_Ptr>::to_address(__ptr)) - { return std::pointer_traits<_Ptr>::to_address(__ptr); } - - template - constexpr auto - __to_address(const _Ptr& __ptr, _None...) noexcept - { - if constexpr (is_base_of_v<__gnu_debug::_Safe_iterator_base, _Ptr>) - return std::__to_address(__ptr.base().operator->()); - else - return std::__to_address(__ptr.operator->()); - } - - - - - - - - template - constexpr _Tp* - to_address(_Tp* __ptr) noexcept - { return std::__to_address(__ptr); } -# 251 "/usr/include/c++/14.1.1/bits/ptr_traits.h" 3 - template - constexpr auto - to_address(const _Ptr& __ptr) noexcept - { return std::__to_address(__ptr); } - - - -} -# 38 "/usr/include/c++/14.1.1/bits/iterator_concepts.h" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/ranges_cmp.h" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/ranges_cmp.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - struct __is_transparent; - - - - - - struct identity - { - template - [[nodiscard]] - constexpr _Tp&& - operator()(_Tp&& __t) const noexcept - { return std::forward<_Tp>(__t); } - - using is_transparent = __is_transparent; - }; - - -namespace ranges -{ - namespace __detail - { - - - - template - concept __less_builtin_ptr_cmp - = requires (_Tp&& __t, _Up&& __u) { { __t < __u } -> same_as; } - && convertible_to<_Tp, const volatile void*> - && convertible_to<_Up, const volatile void*> - && (! requires(_Tp&& __t, _Up&& __u) - { operator<(std::forward<_Tp>(__t), std::forward<_Up>(__u)); } - && ! requires(_Tp&& __t, _Up&& __u) - { std::forward<_Tp>(__t).operator<(std::forward<_Up>(__u)); }); - } - - - - - - - - struct equal_to - { - template - requires equality_comparable_with<_Tp, _Up> - constexpr bool - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::declval<_Tp>() == std::declval<_Up>())) - { return std::forward<_Tp>(__t) == std::forward<_Up>(__u); } - - using is_transparent = __is_transparent; - }; - - - struct not_equal_to - { - template - requires equality_comparable_with<_Tp, _Up> - constexpr bool - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::declval<_Up>() == std::declval<_Tp>())) - { return !equal_to{}(std::forward<_Tp>(__t), std::forward<_Up>(__u)); } - - using is_transparent = __is_transparent; - }; - - - struct less - { - template - requires totally_ordered_with<_Tp, _Up> - constexpr bool - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::declval<_Tp>() < std::declval<_Up>())) - { - if constexpr (__detail::__less_builtin_ptr_cmp<_Tp, _Up>) - { - if (std::__is_constant_evaluated()) - return __t < __u; - - auto __x = reinterpret_cast( - static_cast(std::forward<_Tp>(__t))); - auto __y = reinterpret_cast( - static_cast(std::forward<_Up>(__u))); - return __x < __y; - } - else - return std::forward<_Tp>(__t) < std::forward<_Up>(__u); - } - - using is_transparent = __is_transparent; - }; - - - struct greater - { - template - requires totally_ordered_with<_Tp, _Up> - constexpr bool - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::declval<_Up>() < std::declval<_Tp>())) - { return less{}(std::forward<_Up>(__u), std::forward<_Tp>(__t)); } - - using is_transparent = __is_transparent; - }; - - - struct greater_equal - { - template - requires totally_ordered_with<_Tp, _Up> - constexpr bool - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::declval<_Tp>() < std::declval<_Up>())) - { return !less{}(std::forward<_Tp>(__t), std::forward<_Up>(__u)); } - - using is_transparent = __is_transparent; - }; - - - struct less_equal - { - template - requires totally_ordered_with<_Tp, _Up> - constexpr bool - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::declval<_Up>() < std::declval<_Tp>())) - { return !less{}(std::forward<_Up>(__u), std::forward<_Tp>(__t)); } - - using is_transparent = __is_transparent; - }; - -} - - -} -# 39 "/usr/include/c++/14.1.1/bits/iterator_concepts.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 58 "/usr/include/c++/14.1.1/bits/iterator_concepts.h" 3 - struct default_sentinel_t { }; - - - inline constexpr default_sentinel_t default_sentinel{}; - - - struct input_iterator_tag; - struct output_iterator_tag; - struct forward_iterator_tag; - struct bidirectional_iterator_tag; - struct random_access_iterator_tag; - struct contiguous_iterator_tag; - - template - struct iterator_traits; - - template requires is_object_v<_Tp> - struct iterator_traits<_Tp*>; - - template - struct __iterator_traits; - - namespace __detail - { - template - using __with_ref = _Tp&; - - template - concept __can_reference = requires { typename __with_ref<_Tp>; }; - - template - concept __dereferenceable = requires(_Tp& __t) - { - { *__t } -> __can_reference; - }; - } - - template<__detail::__dereferenceable _Tp> - using iter_reference_t = decltype(*std::declval<_Tp&>()); - - namespace ranges - { - - namespace __imove - { - void iter_move() = delete; - - template - concept __adl_imove - = (std::__detail::__class_or_enum>) - && requires(_Tp&& __t) { iter_move(static_cast<_Tp&&>(__t)); }; - - struct _IterMove - { - private: - template - struct __result - { using type = iter_reference_t<_Tp>; }; - - template - requires __adl_imove<_Tp> - struct __result<_Tp> - { using type = decltype(iter_move(std::declval<_Tp>())); }; - - template - requires (!__adl_imove<_Tp>) - && is_lvalue_reference_v> - struct __result<_Tp> - { using type = remove_reference_t>&&; }; - - template - static constexpr bool - _S_noexcept() - { - if constexpr (__adl_imove<_Tp>) - return noexcept(iter_move(std::declval<_Tp>())); - else - return noexcept(*std::declval<_Tp>()); - } - - public: - - template - using __type = typename __result<_Tp>::type; - - template - [[nodiscard]] - constexpr __type<_Tp> - operator()(_Tp&& __e) const - noexcept(_S_noexcept<_Tp>()) - { - if constexpr (__adl_imove<_Tp>) - return iter_move(static_cast<_Tp&&>(__e)); - else if constexpr (is_lvalue_reference_v>) - return static_cast<__type<_Tp>>(*__e); - else - return *__e; - } - }; - } - - - inline namespace _Cpo { - inline constexpr __imove::_IterMove iter_move{}; - } - } - - template<__detail::__dereferenceable _Tp> - requires __detail::__can_reference> - using iter_rvalue_reference_t = ranges::__imove::_IterMove::__type<_Tp&>; - - template struct incrementable_traits { }; - - template requires is_object_v<_Tp> - struct incrementable_traits<_Tp*> - { using difference_type = ptrdiff_t; }; - - template - struct incrementable_traits - : incrementable_traits<_Iter> { }; - - template requires requires { typename _Tp::difference_type; } - struct incrementable_traits<_Tp> - { using difference_type = typename _Tp::difference_type; }; - - template - requires (!requires { typename _Tp::difference_type; } - && requires(const _Tp& __a, const _Tp& __b) - { { __a - __b } -> integral; }) - struct incrementable_traits<_Tp> - { - using difference_type - = make_signed_t() - std::declval<_Tp>())>; - }; -# 204 "/usr/include/c++/14.1.1/bits/iterator_concepts.h" 3 - namespace __detail - { - - - template - concept __primary_traits_iter - = __is_base_of(__iterator_traits<_Iter, void>, iterator_traits<_Iter>); - - template - struct __iter_traits_impl - { using type = iterator_traits<_Iter>; }; - - template - requires __primary_traits_iter<_Iter> - struct __iter_traits_impl<_Iter, _Tp> - { using type = _Tp; }; - - - template - using __iter_traits = typename __iter_traits_impl<_Iter, _Tp>::type; - - template - using __iter_diff_t = typename - __iter_traits<_Tp, incrementable_traits<_Tp>>::difference_type; - } - - template - using iter_difference_t = __detail::__iter_diff_t>; - - namespace __detail - { - template struct __cond_value_type { }; - - template requires is_object_v<_Tp> - struct __cond_value_type<_Tp> - { using value_type = remove_cv_t<_Tp>; }; - - template - concept __has_member_value_type - = requires { typename _Tp::value_type; }; - - template - concept __has_member_element_type - = requires { typename _Tp::element_type; }; - - } - - template struct indirectly_readable_traits { }; - - template - struct indirectly_readable_traits<_Tp*> - : __detail::__cond_value_type<_Tp> - { }; - - template requires is_array_v<_Iter> - struct indirectly_readable_traits<_Iter> - { using value_type = remove_cv_t>; }; - - template - struct indirectly_readable_traits - : indirectly_readable_traits<_Iter> - { }; - - template<__detail::__has_member_value_type _Tp> - struct indirectly_readable_traits<_Tp> - : __detail::__cond_value_type - { }; - - template<__detail::__has_member_element_type _Tp> - struct indirectly_readable_traits<_Tp> - : __detail::__cond_value_type - { }; - - - - template<__detail::__has_member_value_type _Tp> - requires __detail::__has_member_element_type<_Tp> - && same_as, - remove_cv_t> - struct indirectly_readable_traits<_Tp> - : __detail::__cond_value_type - { }; - - - - template<__detail::__has_member_value_type _Tp> - requires __detail::__has_member_element_type<_Tp> - struct indirectly_readable_traits<_Tp> - { }; - - namespace __detail - { - template - using __iter_value_t = typename - __iter_traits<_Tp, indirectly_readable_traits<_Tp>>::value_type; - } - - template - using iter_value_t = __detail::__iter_value_t>; - - namespace __detail - { - - - template - concept __cpp17_iterator = requires(_Iter __it) - { - { *__it } -> __can_reference; - { ++__it } -> same_as<_Iter&>; - { *__it++ } -> __can_reference; - } && copyable<_Iter>; - - template - concept __cpp17_input_iterator = __cpp17_iterator<_Iter> - && equality_comparable<_Iter> - && requires(_Iter __it) - { - typename incrementable_traits<_Iter>::difference_type; - typename indirectly_readable_traits<_Iter>::value_type; - typename common_reference_t&&, - typename indirectly_readable_traits<_Iter>::value_type&>; - typename common_reference_t::value_type&>; - requires signed_integral< - typename incrementable_traits<_Iter>::difference_type>; - }; - - template - concept __cpp17_fwd_iterator = __cpp17_input_iterator<_Iter> - && constructible_from<_Iter> - && is_lvalue_reference_v> - && same_as>, - typename indirectly_readable_traits<_Iter>::value_type> - && requires(_Iter __it) - { - { __it++ } -> convertible_to; - { *__it++ } -> same_as>; - }; - - template - concept __cpp17_bidi_iterator = __cpp17_fwd_iterator<_Iter> - && requires(_Iter __it) - { - { --__it } -> same_as<_Iter&>; - { __it-- } -> convertible_to; - { *__it-- } -> same_as>; - }; - - template - concept __cpp17_randacc_iterator = __cpp17_bidi_iterator<_Iter> - && totally_ordered<_Iter> - && requires(_Iter __it, - typename incrementable_traits<_Iter>::difference_type __n) - { - { __it += __n } -> same_as<_Iter&>; - { __it -= __n } -> same_as<_Iter&>; - { __it + __n } -> same_as<_Iter>; - { __n + __it } -> same_as<_Iter>; - { __it - __n } -> same_as<_Iter>; - { __it - __it } -> same_as; - { __it[__n] } -> convertible_to>; - }; - - template - concept __iter_with_nested_types = requires { - typename _Iter::iterator_category; - typename _Iter::value_type; - typename _Iter::difference_type; - typename _Iter::reference; - }; - - template - concept __iter_without_nested_types = !__iter_with_nested_types<_Iter>; - - template - concept __iter_without_category - = !requires { typename _Iter::iterator_category; }; - - } - - template - requires __detail::__iter_with_nested_types<_Iterator> - struct __iterator_traits<_Iterator, void> - { - private: - template - struct __ptr - { using type = void; }; - - template requires requires { typename _Iter::pointer; } - struct __ptr<_Iter> - { using type = typename _Iter::pointer; }; - - public: - using iterator_category = typename _Iterator::iterator_category; - using value_type = typename _Iterator::value_type; - using difference_type = typename _Iterator::difference_type; - using pointer = typename __ptr<_Iterator>::type; - using reference = typename _Iterator::reference; - }; - - template - requires __detail::__iter_without_nested_types<_Iterator> - && __detail::__cpp17_input_iterator<_Iterator> - struct __iterator_traits<_Iterator, void> - { - private: - template - struct __cat - { using type = input_iterator_tag; }; - - template - requires requires { typename _Iter::iterator_category; } - struct __cat<_Iter> - { using type = typename _Iter::iterator_category; }; - - template - requires __detail::__iter_without_category<_Iter> - && __detail::__cpp17_randacc_iterator<_Iter> - struct __cat<_Iter> - { using type = random_access_iterator_tag; }; - - template - requires __detail::__iter_without_category<_Iter> - && __detail::__cpp17_bidi_iterator<_Iter> - struct __cat<_Iter> - { using type = bidirectional_iterator_tag; }; - - template - requires __detail::__iter_without_category<_Iter> - && __detail::__cpp17_fwd_iterator<_Iter> - struct __cat<_Iter> - { using type = forward_iterator_tag; }; - - template - struct __ptr - { using type = void; }; - - template requires requires { typename _Iter::pointer; } - struct __ptr<_Iter> - { using type = typename _Iter::pointer; }; - - template - requires (!requires { typename _Iter::pointer; } - && requires(_Iter& __it) { __it.operator->(); }) - struct __ptr<_Iter> - { using type = decltype(std::declval<_Iter&>().operator->()); }; - - template - struct __ref - { using type = iter_reference_t<_Iter>; }; - - template requires requires { typename _Iter::reference; } - struct __ref<_Iter> - { using type = typename _Iter::reference; }; - - public: - using iterator_category = typename __cat<_Iterator>::type; - using value_type - = typename indirectly_readable_traits<_Iterator>::value_type; - using difference_type - = typename incrementable_traits<_Iterator>::difference_type; - using pointer = typename __ptr<_Iterator>::type; - using reference = typename __ref<_Iterator>::type; - }; - - template - requires __detail::__iter_without_nested_types<_Iterator> - && __detail::__cpp17_iterator<_Iterator> - struct __iterator_traits<_Iterator, void> - { - private: - template - struct __diff - { using type = void; }; - - template - requires requires - { typename incrementable_traits<_Iter>::difference_type; } - struct __diff<_Iter> - { - using type = typename incrementable_traits<_Iter>::difference_type; - }; - - public: - using iterator_category = output_iterator_tag; - using value_type = void; - using difference_type = typename __diff<_Iterator>::type; - using pointer = void; - using reference = void; - }; - - namespace __detail - { - template - struct __iter_concept_impl; - - - template - requires requires { typename __iter_traits<_Iter>::iterator_concept; } - struct __iter_concept_impl<_Iter> - { using type = typename __iter_traits<_Iter>::iterator_concept; }; - - - template - requires (!requires { typename __iter_traits<_Iter>::iterator_concept; } - && requires { typename __iter_traits<_Iter>::iterator_category; }) - struct __iter_concept_impl<_Iter> - { using type = typename __iter_traits<_Iter>::iterator_category; }; - - - template - requires (!requires { typename __iter_traits<_Iter>::iterator_concept; } - && !requires { typename __iter_traits<_Iter>::iterator_category; } - && __primary_traits_iter<_Iter>) - struct __iter_concept_impl<_Iter> - { using type = random_access_iterator_tag; }; - - - template - struct __iter_concept_impl - { }; - - - template - using __iter_concept = typename __iter_concept_impl<_Iter>::type; - - template - concept __indirectly_readable_impl = requires - { - typename iter_value_t<_In>; - typename iter_reference_t<_In>; - typename iter_rvalue_reference_t<_In>; - requires same_as, - iter_reference_t<_In>>; - requires same_as, - iter_rvalue_reference_t<_In>>; - } - && common_reference_with&&, iter_value_t<_In>&> - && common_reference_with&&, - iter_rvalue_reference_t<_In>&&> - && common_reference_with&&, - const iter_value_t<_In>&>; - - } - - - template - concept indirectly_readable - = __detail::__indirectly_readable_impl>; - - template - using iter_common_reference_t - = common_reference_t, iter_value_t<_Tp>&>; - - - template - concept indirectly_writable = requires(_Out&& __o, _Tp&& __t) - { - *__o = std::forward<_Tp>(__t); - *std::forward<_Out>(__o) = std::forward<_Tp>(__t); - const_cast&&>(*__o) - = std::forward<_Tp>(__t); - const_cast&&>(*std::forward<_Out>(__o)) - = std::forward<_Tp>(__t); - }; - - namespace ranges::__detail - { - class __max_diff_type; - class __max_size_type; - - __extension__ - template - concept __is_signed_int128 - - = same_as<_Tp, __int128>; - - - - - __extension__ - template - concept __is_unsigned_int128 - - = same_as<_Tp, unsigned __int128>; - - - - - template - concept __cv_bool = same_as; - - template - concept __integral_nonbool = integral<_Tp> && !__cv_bool<_Tp>; - - template - concept __is_int128 = __is_signed_int128<_Tp> || __is_unsigned_int128<_Tp>; - - template - concept __is_integer_like = __integral_nonbool<_Tp> - || __is_int128<_Tp> - || same_as<_Tp, __max_diff_type> || same_as<_Tp, __max_size_type>; - - template - concept __is_signed_integer_like = signed_integral<_Tp> - || __is_signed_int128<_Tp> - || same_as<_Tp, __max_diff_type>; - - } - - namespace __detail { using ranges::__detail::__is_signed_integer_like; } - - - template - concept weakly_incrementable = movable<_Iter> - && requires(_Iter __i) - { - typename iter_difference_t<_Iter>; - requires __detail::__is_signed_integer_like>; - { ++__i } -> same_as<_Iter&>; - __i++; - }; - - template - concept incrementable = regular<_Iter> && weakly_incrementable<_Iter> - && requires(_Iter __i) { { __i++ } -> same_as<_Iter>; }; - - template - concept input_or_output_iterator - = requires(_Iter __i) { { *__i } -> __detail::__can_reference; } - && weakly_incrementable<_Iter>; - - template - concept sentinel_for = semiregular<_Sent> - && input_or_output_iterator<_Iter> - && __detail::__weakly_eq_cmp_with<_Sent, _Iter>; - - template - inline constexpr bool disable_sized_sentinel_for = false; - - template - concept sized_sentinel_for = sentinel_for<_Sent, _Iter> - && !disable_sized_sentinel_for, remove_cv_t<_Iter>> - && requires(const _Iter& __i, const _Sent& __s) - { - { __s - __i } -> same_as>; - { __i - __s } -> same_as>; - }; - - template - concept input_iterator = input_or_output_iterator<_Iter> - && indirectly_readable<_Iter> - && requires { typename __detail::__iter_concept<_Iter>; } - && derived_from<__detail::__iter_concept<_Iter>, input_iterator_tag>; - - template - concept output_iterator = input_or_output_iterator<_Iter> - && indirectly_writable<_Iter, _Tp> - && requires(_Iter __i, _Tp&& __t) { *__i++ = std::forward<_Tp>(__t); }; - - template - concept forward_iterator = input_iterator<_Iter> - && derived_from<__detail::__iter_concept<_Iter>, forward_iterator_tag> - && incrementable<_Iter> && sentinel_for<_Iter, _Iter>; - - template - concept bidirectional_iterator = forward_iterator<_Iter> - && derived_from<__detail::__iter_concept<_Iter>, - bidirectional_iterator_tag> - && requires(_Iter __i) - { - { --__i } -> same_as<_Iter&>; - { __i-- } -> same_as<_Iter>; - }; - - template - concept random_access_iterator = bidirectional_iterator<_Iter> - && derived_from<__detail::__iter_concept<_Iter>, - random_access_iterator_tag> - && totally_ordered<_Iter> && sized_sentinel_for<_Iter, _Iter> - && requires(_Iter __i, const _Iter __j, - const iter_difference_t<_Iter> __n) - { - { __i += __n } -> same_as<_Iter&>; - { __j + __n } -> same_as<_Iter>; - { __n + __j } -> same_as<_Iter>; - { __i -= __n } -> same_as<_Iter&>; - { __j - __n } -> same_as<_Iter>; - { __j[__n] } -> same_as>; - }; - - template - concept contiguous_iterator = random_access_iterator<_Iter> - && derived_from<__detail::__iter_concept<_Iter>, contiguous_iterator_tag> - && is_lvalue_reference_v> - && same_as, remove_cvref_t>> - && requires(const _Iter& __i) - { - { std::to_address(__i) } - -> same_as>>; - }; - - - - - - template - concept indirectly_unary_invocable = indirectly_readable<_Iter> - && copy_constructible<_Fn> && invocable<_Fn&, iter_value_t<_Iter>&> - && invocable<_Fn&, iter_reference_t<_Iter>> - && invocable<_Fn&, iter_common_reference_t<_Iter>> - && common_reference_with&>, - invoke_result_t<_Fn&, iter_reference_t<_Iter>>>; - - template - concept indirectly_regular_unary_invocable = indirectly_readable<_Iter> - && copy_constructible<_Fn> - && regular_invocable<_Fn&, iter_value_t<_Iter>&> - && regular_invocable<_Fn&, iter_reference_t<_Iter>> - && regular_invocable<_Fn&, iter_common_reference_t<_Iter>> - && common_reference_with&>, - invoke_result_t<_Fn&, iter_reference_t<_Iter>>>; - - template - concept indirect_unary_predicate = indirectly_readable<_Iter> - && copy_constructible<_Fn> && predicate<_Fn&, iter_value_t<_Iter>&> - && predicate<_Fn&, iter_reference_t<_Iter>> - && predicate<_Fn&, iter_common_reference_t<_Iter>>; - - template - concept indirect_binary_predicate - = indirectly_readable<_I1> && indirectly_readable<_I2> - && copy_constructible<_Fn> - && predicate<_Fn&, iter_value_t<_I1>&, iter_value_t<_I2>&> - && predicate<_Fn&, iter_value_t<_I1>&, iter_reference_t<_I2>> - && predicate<_Fn&, iter_reference_t<_I1>, iter_value_t<_I2>&> - && predicate<_Fn&, iter_reference_t<_I1>, iter_reference_t<_I2>> - && predicate<_Fn&, iter_common_reference_t<_I1>, - iter_common_reference_t<_I2>>; - - template - concept indirect_equivalence_relation - = indirectly_readable<_I1> && indirectly_readable<_I2> - && copy_constructible<_Fn> - && equivalence_relation<_Fn&, iter_value_t<_I1>&, iter_value_t<_I2>&> - && equivalence_relation<_Fn&, iter_value_t<_I1>&, iter_reference_t<_I2>> - && equivalence_relation<_Fn&, iter_reference_t<_I1>, iter_value_t<_I2>&> - && equivalence_relation<_Fn&, iter_reference_t<_I1>, - iter_reference_t<_I2>> - && equivalence_relation<_Fn&, iter_common_reference_t<_I1>, - iter_common_reference_t<_I2>>; - - template - concept indirect_strict_weak_order - = indirectly_readable<_I1> && indirectly_readable<_I2> - && copy_constructible<_Fn> - && strict_weak_order<_Fn&, iter_value_t<_I1>&, iter_value_t<_I2>&> - && strict_weak_order<_Fn&, iter_value_t<_I1>&, iter_reference_t<_I2>> - && strict_weak_order<_Fn&, iter_reference_t<_I1>, iter_value_t<_I2>&> - && strict_weak_order<_Fn&, iter_reference_t<_I1>, iter_reference_t<_I2>> - && strict_weak_order<_Fn&, iter_common_reference_t<_I1>, - iter_common_reference_t<_I2>>; - - template - requires (indirectly_readable<_Is> && ...) - && invocable<_Fn, iter_reference_t<_Is>...> - using indirect_result_t = invoke_result_t<_Fn, iter_reference_t<_Is>...>; - - namespace __detail - { - template - struct __projected - { - struct __type - { - using value_type = remove_cvref_t>; - indirect_result_t<_Proj&, _Iter> operator*() const; - }; - }; - - template - struct __projected<_Iter, _Proj> - { - struct __type - { - using value_type = remove_cvref_t>; - using difference_type = iter_difference_t<_Iter>; - indirect_result_t<_Proj&, _Iter> operator*() const; - }; - }; - } - - - template _Proj> - using projected = typename __detail::__projected<_Iter, _Proj>::__type; - - - - - - template - concept indirectly_movable = indirectly_readable<_In> - && indirectly_writable<_Out, iter_rvalue_reference_t<_In>>; - - template - concept indirectly_movable_storable = indirectly_movable<_In, _Out> - && indirectly_writable<_Out, iter_value_t<_In>> - && movable> - && constructible_from, iter_rvalue_reference_t<_In>> - && assignable_from&, iter_rvalue_reference_t<_In>>; - - - template - concept indirectly_copyable = indirectly_readable<_In> - && indirectly_writable<_Out, iter_reference_t<_In>>; - - template - concept indirectly_copyable_storable = indirectly_copyable<_In, _Out> - && indirectly_writable<_Out, iter_value_t<_In>&> - && indirectly_writable<_Out, const iter_value_t<_In>&> - && indirectly_writable<_Out, iter_value_t<_In>&&> - && indirectly_writable<_Out, const iter_value_t<_In>&&> - && copyable> - && constructible_from, iter_reference_t<_In>> - && assignable_from&, iter_reference_t<_In>>; - -namespace ranges -{ - - namespace __iswap - { - template - void iter_swap(_It1, _It2) = delete; - - template - concept __adl_iswap - = (std::__detail::__class_or_enum> - || std::__detail::__class_or_enum>) - && requires(_Tp&& __t, _Up&& __u) { - iter_swap(static_cast<_Tp&&>(__t), static_cast<_Up&&>(__u)); - }; - - template - constexpr iter_value_t<_Xp> - __iter_exchange_move(_Xp&& __x, _Yp&& __y) - noexcept(noexcept(iter_value_t<_Xp>(iter_move(__x))) - && noexcept(*__x = iter_move(__y))) - { - iter_value_t<_Xp> __old_value(iter_move(__x)); - *__x = iter_move(__y); - return __old_value; - } - - struct _IterSwap - { - private: - template - static constexpr bool - _S_noexcept() - { - if constexpr (__adl_iswap<_Tp, _Up>) - return noexcept(iter_swap(std::declval<_Tp>(), - std::declval<_Up>())); - else if constexpr (indirectly_readable<_Tp> - && indirectly_readable<_Up> - && swappable_with, iter_reference_t<_Up>>) - return noexcept(ranges::swap(*std::declval<_Tp>(), - *std::declval<_Up>())); - else - return noexcept(*std::declval<_Tp>() - = __iswap::__iter_exchange_move(std::declval<_Up>(), - std::declval<_Tp>())); - } - - public: - template - requires __adl_iswap<_Tp, _Up> - || (indirectly_readable> - && indirectly_readable> - && swappable_with, iter_reference_t<_Up>>) - || (indirectly_movable_storable<_Tp, _Up> - && indirectly_movable_storable<_Up, _Tp>) - constexpr void - operator()(_Tp&& __e1, _Up&& __e2) const - noexcept(_S_noexcept<_Tp, _Up>()) - { - if constexpr (__adl_iswap<_Tp, _Up>) - iter_swap(static_cast<_Tp&&>(__e1), static_cast<_Up&&>(__e2)); - else if constexpr (indirectly_readable<_Tp> - && indirectly_readable<_Up> - && swappable_with, iter_reference_t<_Up>>) - ranges::swap(*__e1, *__e2); - else - *__e1 = __iswap::__iter_exchange_move(__e2, __e1); - } - }; - } - - - inline namespace _Cpo { - inline constexpr __iswap::_IterSwap iter_swap{}; - } - -} - - - template - concept indirectly_swappable - = indirectly_readable<_I1> && indirectly_readable<_I2> - && requires(const _I1 __i1, const _I2 __i2) - { - ranges::iter_swap(__i1, __i1); - ranges::iter_swap(__i2, __i2); - ranges::iter_swap(__i1, __i2); - ranges::iter_swap(__i2, __i1); - }; - - - template - concept indirectly_comparable - = indirect_binary_predicate<_Rel, projected<_I1, _P1>, - projected<_I2, _P2>>; - - - template - concept permutable = forward_iterator<_Iter> - && indirectly_movable_storable<_Iter, _Iter> - && indirectly_swappable<_Iter, _Iter>; - - - template - concept mergeable = input_iterator<_I1> && input_iterator<_I2> - && weakly_incrementable<_Out> && indirectly_copyable<_I1, _Out> - && indirectly_copyable<_I2, _Out> - && indirect_strict_weak_order<_Rel, projected<_I1, _P1>, - projected<_I2, _P2>>; - - - template - concept sortable = permutable<_Iter> - && indirect_strict_weak_order<_Rel, projected<_Iter, _Proj>>; - - struct unreachable_sentinel_t - { - template - friend constexpr bool - operator==(unreachable_sentinel_t, const _It&) noexcept - { return false; } - }; - - inline constexpr unreachable_sentinel_t unreachable_sentinel{}; - - - namespace ranges::__access - { - using std::__detail::__class_or_enum; - - struct _Decay_copy final - { - template - constexpr decay_t<_Tp> - operator()(_Tp&& __t) const - noexcept(is_nothrow_convertible_v<_Tp, decay_t<_Tp>>) - { return std::forward<_Tp>(__t); } - } inline constexpr __decay_copy{}; - - template - concept __member_begin = requires(_Tp& __t) - { - { __decay_copy(__t.begin()) } -> input_or_output_iterator; - }; - - - void begin() = delete; - - template - concept __adl_begin = __class_or_enum> - && requires(_Tp& __t) - { - { __decay_copy(begin(__t)) } -> input_or_output_iterator; - }; - - - - template - requires is_array_v<_Tp> || __member_begin<_Tp&> || __adl_begin<_Tp&> - auto - __begin(_Tp& __t) - { - if constexpr (is_array_v<_Tp>) - return __t + 0; - else if constexpr (__member_begin<_Tp&>) - return __t.begin(); - else - return begin(__t); - } - } - - namespace __detail - { - - template - using __range_iter_t - = decltype(ranges::__access::__begin(std::declval<_Tp&>())); - - } - - - -} -# 72 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 2 3 - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 93 "/usr/include/c++/14.1.1/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 { }; - - - - struct contiguous_iterator_tag : public random_access_iterator_tag { }; -# 125 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 3 - template - struct [[__deprecated__]] iterator - { - - typedef _Category iterator_category; - - typedef _Tp value_type; - - typedef _Distance difference_type; - - typedef _Pointer pointer; - - typedef _Reference reference; - }; -# 149 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 3 - template - struct iterator_traits; - - - - - template> - struct __iterator_traits { }; -# 176 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 3 - template - struct iterator_traits - : public __iterator_traits<_Iterator> { }; -# 194 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 3 - template - - requires is_object_v<_Tp> - - struct iterator_traits<_Tp*> - { - using iterator_concept = contiguous_iterator_tag; - using iterator_category = random_access_iterator_tag; - using value_type = remove_cv_t<_Tp>; - using difference_type = ptrdiff_t; - using pointer = _Tp*; - using reference = _Tp&; - }; -# 235 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 3 - template - __attribute__((__always_inline__)) - inline constexpr - typename iterator_traits<_Iter>::iterator_category - __iterator_category(const _Iter&) - { return typename iterator_traits<_Iter>::iterator_category(); } - - - - - template - using __iter_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 }; - }; - - - - - - - - -} -# 62 "/usr/include/c++/14.1.1/bits/stl_construct.h" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/stl_iterator_base_funcs.h" 1 3 -# 62 "/usr/include/c++/14.1.1/bits/stl_iterator_base_funcs.h" 3 - -# 63 "/usr/include/c++/14.1.1/bits/stl_iterator_base_funcs.h" 3 - -# 1 "/usr/include/c++/14.1.1/bits/concept_check.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/concept_check.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/concept_check.h" 3 -# 65 "/usr/include/c++/14.1.1/bits/stl_iterator_base_funcs.h" 2 3 -# 1 "/usr/include/c++/14.1.1/debug/assertions.h" 1 3 -# 66 "/usr/include/c++/14.1.1/bits/stl_iterator_base_funcs.h" 2 3 - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - 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 - __attribute__((__always_inline__)) - inline constexpr - typename iterator_traits<_RandomAccessIterator>::difference_type - __distance(_RandomAccessIterator __first, _RandomAccessIterator __last, - random_access_iterator_tag) - { - - - - return __last - __first; - } - - - - template - ptrdiff_t - __distance(std::_List_iterator<_Tp>, - std::_List_iterator<_Tp>, - input_iterator_tag); - - template - ptrdiff_t - __distance(std::_List_const_iterator<_Tp>, - std::_List_const_iterator<_Tp>, - input_iterator_tag); - - - - - template - void - __distance(_OutputIterator, _OutputIterator, output_iterator_tag) = delete; -# 144 "/usr/include/c++/14.1.1/bits/stl_iterator_base_funcs.h" 3 - template - [[__nodiscard__]] __attribute__((__always_inline__)) - 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 (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__n >= 0), false)) std::__glibcxx_assert_fail(); } 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; - } - - - - template - void - __advance(_OutputIterator&, _Distance, output_iterator_tag) = delete; -# 217 "/usr/include/c++/14.1.1/bits/stl_iterator_base_funcs.h" 3 - template - __attribute__((__always_inline__)) - 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 - [[__nodiscard__]] [[__gnu__::__always_inline__]] - inline constexpr _InputIterator - next(_InputIterator __x, typename - iterator_traits<_InputIterator>::difference_type __n = 1) - { - - - std::advance(__x, __n); - return __x; - } - - template - [[__nodiscard__]] [[__gnu__::__always_inline__]] - inline constexpr _BidirectionalIterator - prev(_BidirectionalIterator __x, typename - iterator_traits<_BidirectionalIterator>::difference_type __n = 1) - { - - - - std::advance(__x, -__n); - return __x; - } - - - - -} -# 63 "/usr/include/c++/14.1.1/bits/stl_construct.h" 2 3 -# 73 "/usr/include/c++/14.1.1/bits/stl_construct.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - template - constexpr inline void - destroy_at(_Tp* __location) - { - if constexpr (202002L > 201703L && is_array_v<_Tp>) - { - for (auto& __x : *__location) - std::destroy_at(std::__addressof(__x)); - } - else - __location->~_Tp(); - } - - - template - constexpr auto - construct_at(_Tp* __location, _Args&&... __args) - noexcept(noexcept(::new((void*)0) _Tp(std::declval<_Args>()...))) - -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...)) - { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } -# 106 "/usr/include/c++/14.1.1/bits/stl_construct.h" 3 - template - constexpr - inline void - _Construct(_Tp* __p, _Args&&... __args) - { - - if (std::__is_constant_evaluated()) - { - - std::construct_at(__p, std::forward<_Args>(__args)...); - return; - } - - ::new((void*)__p) _Tp(std::forward<_Args>(__args)...); - } -# 132 "/usr/include/c++/14.1.1/bits/stl_construct.h" 3 - template - inline void - _Construct_novalue(_T1* __p) - { ::new((void*)__p) _T1; } - - template - constexpr void - _Destroy(_ForwardIterator __first, _ForwardIterator __last); - - - - - template - constexpr inline void - _Destroy(_Tp* __pointer) - { - - std::destroy_at(__pointer); - - - - } - - template - struct _Destroy_aux - { - template - static constexpr 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 - constexpr 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"); - - - if (std::__is_constant_evaluated()) - return std::_Destroy_aux::__destroy(__first, __last); - - std::_Destroy_aux<__has_trivial_destructor(_Value_type)>:: - __destroy(__first, __last); - } - - template - struct _Destroy_n_aux - { - template - static constexpr _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 - constexpr 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"); - - - if (std::__is_constant_evaluated()) - return std::_Destroy_n_aux::__destroy_n(__first, __count); - - return std::_Destroy_n_aux<__has_trivial_destructor(_Value_type)>:: - __destroy_n(__first, __count); - } - - - template - constexpr inline void - destroy(_ForwardIterator __first, _ForwardIterator __last) - { - std::_Destroy(__first, __last); - } - - template - constexpr inline _ForwardIterator - destroy_n(_ForwardIterator __first, _Size __count) - { - return std::_Destroy_n(__first, __count); - } - - - -} -# 58 "/usr/include/c++/14.1.1/bits/char_traits.h" 2 3 - - - - - - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - - - -# 68 "/usr/include/c++/14.1.1/bits/char_traits.h" 3 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wstringop-overflow" -#pragma GCC diagnostic ignored "-Wstringop-overread" -#pragma GCC diagnostic ignored "-Warray-bounds" -# 83 "/usr/include/c++/14.1.1/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; - - }; -# 110 "/usr/include/c++/14.1.1/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; - - - using comparison_category = std::strong_ordering; - - - static constexpr void - assign(char_type& __c1, const char_type& __c2) - { - - if (std::__is_constant_evaluated()) - std::construct_at(__builtin_addressof(__c1), __c2); - else - - __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 constexpr char_type* - move(char_type* __s1, const char_type* __s2, std::size_t __n); - - static constexpr char_type* - copy(char_type* __s1, const char_type* __s2, std::size_t __n); - - static constexpr 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 - constexpr - 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; - - if (std::__is_constant_evaluated()) - { - - if (__builtin_constant_p(__s2 < __s1) - && __s1 > __s2 && __s1 < (__s2 + __n)) - { - do - { - --__n; - assign(__s1[__n], __s2[__n]); - } - while (__n > 0); - } - else - copy(__s1, __s2, __n); - return __s1; - } - - __builtin_memmove(__s1, __s2, __n * sizeof(char_type)); - return __s1; - } - - template - constexpr - typename char_traits<_CharT>::char_type* - char_traits<_CharT>:: - copy(char_type* __s1, const char_type* __s2, std::size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - { - for (std::size_t __i = 0; __i < __n; ++__i) - std::construct_at(__s1 + __i, __s2[__i]); - return __s1; - } - - __builtin_memcpy(__s1, __s2, __n * sizeof(char_type)); - return __s1; - } - - template - constexpr - typename char_traits<_CharT>::char_type* - char_traits<_CharT>:: - assign(char_type* __s, std::size_t __n, char_type __a) - { - - if (std::__is_constant_evaluated()) - { - for (std::size_t __i = 0; __i < __n; ++__i) - std::construct_at(__s + __i, __a); - return __s; - } - - - if constexpr (sizeof(_CharT) == 1 && __is_trivial(_CharT)) - { - if (__n) - { - unsigned char __c; - __builtin_memcpy(&__c, __builtin_addressof(__a), 1); - __builtin_memset(__s, __c, __n); - } - } - else - { - for (std::size_t __i = 0; __i < __n; ++__i) - __s[__i] = __a; - } - return __s; - } - - -} - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 322 "/usr/include/c++/14.1.1/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; - - - using comparison_category = strong_ordering; - - - static constexpr void - assign(char_type& __c1, const char_type& __c2) noexcept - { - - if (std::__is_constant_evaluated()) - std::construct_at(__builtin_addressof(__c1), __c2); - else - - __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 (std::__is_constant_evaluated()) - { - 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 (std::__is_constant_evaluated()) - 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 (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::find(__s, __n, __a); - - return static_cast(__builtin_memchr(__s, __a, __n)); - } - - static constexpr char_type* - move(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::move(__s1, __s2, __n); - - return static_cast(__builtin_memmove(__s1, __s2, __n)); - } - - static constexpr char_type* - copy(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::copy(__s1, __s2, __n); - - return static_cast(__builtin_memcpy(__s1, __s2, __n)); - } - - static constexpr char_type* - assign(char_type* __s, size_t __n, char_type __a) - { - if (__n == 0) - return __s; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::assign(__s, __n, __a); - - 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; - - - using comparison_category = strong_ordering; - - - static constexpr void - assign(char_type& __c1, const char_type& __c2) noexcept - { - - if (std::__is_constant_evaluated()) - std::construct_at(__builtin_addressof(__c1), __c2); - else - - __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 (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::compare(__s1, __s2, __n); - - return wmemcmp(__s1, __s2, __n); - } - - static constexpr size_t - length(const char_type* __s) - { - - if (std::__is_constant_evaluated()) - 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 (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::find(__s, __n, __a); - - return wmemchr(__s, __a, __n); - } - - static constexpr char_type* - move(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::move(__s1, __s2, __n); - - return wmemmove(__s1, __s2, __n); - } - - static constexpr char_type* - copy(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::copy(__s1, __s2, __n); - - return wmemcpy(__s1, __s2, __n); - } - - static constexpr char_type* - assign(char_type* __s, size_t __n, char_type __a) - { - if (__n == 0) - return __s; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::assign(__s, __n, __a); - - 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((0xffffffffu)); } - - static constexpr int_type - not_eof(const int_type& __c) noexcept - { return eq_int_type(__c, eof()) ? 0 : __c; } - - }; - - - - - - - - template<> - struct char_traits - { - typedef char8_t char_type; - typedef unsigned int int_type; - - typedef u8streampos pos_type; - typedef streamoff off_type; - typedef mbstate_t state_type; - - - using comparison_category = strong_ordering; - - - static constexpr void - assign(char_type& __c1, const char_type& __c2) noexcept - { - - if (std::__is_constant_evaluated()) - std::construct_at(__builtin_addressof(__c1), __c2); - else - - __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 (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::compare(__s1, __s2, __n); - - return __builtin_memcmp(__s1, __s2, __n); - } - - static constexpr size_t - length(const char_type* __s) - { - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::length(__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) - { - if (__n == 0) - return 0; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::find(__s, __n, __a); - - return static_cast(__builtin_memchr(__s, __a, __n)); - } - - static constexpr char_type* - move(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::move(__s1, __s2, __n); - - return static_cast(__builtin_memmove(__s1, __s2, __n)); - } - - static constexpr char_type* - copy(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::copy(__s1, __s2, __n); - - return static_cast(__builtin_memcpy(__s1, __s2, __n)); - } - - static constexpr char_type* - assign(char_type* __s, size_t __n, char_type __a) - { - if (__n == 0) - return __s; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::assign(__s, __n, __a); - - return static_cast(__builtin_memset(__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(-1); } - - static constexpr int_type - not_eof(const int_type& __c) noexcept - { return eq_int_type(__c, eof()) ? 0 : __c; } - - }; - - - -} - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template<> - struct char_traits - { - typedef char16_t char_type; - - typedef short unsigned int int_type; - - - - - typedef streamoff off_type; - typedef u16streampos pos_type; - typedef mbstate_t state_type; - - - using comparison_category = strong_ordering; - - - static constexpr void - assign(char_type& __c1, const char_type& __c2) noexcept - { - - if (std::__is_constant_evaluated()) - std::construct_at(__builtin_addressof(__c1), __c2); - else - - __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 constexpr char_type* - move(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::move(__s1, __s2, __n); - - return (static_cast - (__builtin_memmove(__s1, __s2, __n * sizeof(char_type)))); - } - - static constexpr char_type* - copy(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::copy(__s1, __s2, __n); - - return (static_cast - (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type)))); - } - - static constexpr 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 bool - eq_int_type(const int_type& __c1, const int_type& __c2) noexcept - { return __c1 == __c2; } - - - static constexpr int_type - to_int_type(const char_type& __c) noexcept - { return __c == eof() ? int_type(0xfffd) : int_type(__c); } - - 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 unsigned int int_type; - - - - - typedef streamoff off_type; - typedef u32streampos pos_type; - typedef mbstate_t state_type; - - - using comparison_category = strong_ordering; - - - static constexpr void - assign(char_type& __c1, const char_type& __c2) noexcept - { - - if (std::__is_constant_evaluated()) - std::construct_at(__builtin_addressof(__c1), __c2); - else - - __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 constexpr char_type* - move(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::move(__s1, __s2, __n); - - return (static_cast - (__builtin_memmove(__s1, __s2, __n * sizeof(char_type)))); - } - - static constexpr char_type* - copy(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::copy(__s1, __s2, __n); - - return (static_cast - (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type)))); - } - - static constexpr 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; } - - }; - - - namespace __detail - { - template - constexpr auto - __char_traits_cmp_cat(int __cmp) noexcept - { - if constexpr (requires { typename _ChTraits::comparison_category; }) - { - using _Cat = typename _ChTraits::comparison_category; - static_assert( !is_void_v> ); - return static_cast<_Cat>(__cmp <=> 0); - } - else - return static_cast(__cmp <=> 0); - } - } - - -#pragma GCC diagnostic pop - - -} -# 43 "/usr/include/c++/14.1.1/ios" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/localefwd.h" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/localefwd.h" 3 - -# 38 "/usr/include/c++/14.1.1/bits/localefwd.h" 3 - - -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++locale.h" 1 3 -# 39 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++locale.h" 3 - -# 40 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++locale.h" 3 - -# 1 "/usr/include/c++/14.1.1/clocale" 1 3 -# 39 "/usr/include/c++/14.1.1/clocale" 3 - -# 40 "/usr/include/c++/14.1.1/clocale" 3 - - -# 1 "/usr/include/locale.h" 1 3 4 -# 28 "/usr/include/locale.h" 3 4 -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 29 "/usr/include/locale.h" 2 3 4 -# 1 "/usr/include/bits/locale.h" 1 3 4 -# 30 "/usr/include/locale.h" 2 3 4 - -extern "C" { -# 51 "/usr/include/locale.h" 3 4 -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_p_cs_precedes; - - char int_p_sep_by_space; - - char int_n_cs_precedes; - - char int_n_sep_by_space; - - - - - - - char int_p_sign_posn; - char int_n_sign_posn; -# 118 "/usr/include/locale.h" 3 4 -}; - - - -extern char *setlocale (int __category, const char *__locale) noexcept (true); - - -extern struct lconv *localeconv (void) noexcept (true); -# 141 "/usr/include/locale.h" 3 4 -extern locale_t newlocale (int __category_mask, const char *__locale, - locale_t __base) noexcept (true); -# 176 "/usr/include/locale.h" 3 4 -extern locale_t duplocale (locale_t __dataset) noexcept (true); - - - -extern void freelocale (locale_t __dataset) noexcept (true); - - - - - - -extern locale_t uselocale (locale_t __dataset) noexcept (true); - - - - - - - -} -# 43 "/usr/include/c++/14.1.1/clocale" 2 3 -# 51 "/usr/include/c++/14.1.1/clocale" 3 -namespace std -{ - using ::lconv; - using ::setlocale; - using ::localeconv; -} -# 42 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++locale.h" 2 3 - - - - - - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - - - extern "C" __typeof(uselocale) __uselocale; - - -} - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - typedef __locale_t __c_locale; -# 73 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++locale.h" 3 - inline int - __convert_from_v(const __c_locale& __cloc __attribute__ ((__unused__)), - char* __out, - const int __size __attribute__ ((__unused__)), - const char* __fmt, ...) - { - - __c_locale __old = __gnu_cxx::__uselocale(__cloc); -# 93 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++locale.h" 3 - __builtin_va_list __args; - __builtin_va_start(__args, __fmt); - - - const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); - - - - - __builtin_va_end(__args); - - - __gnu_cxx::__uselocale(__old); - - - - - - - - return __ret; - } - - - - - - - -} -# 41 "/usr/include/c++/14.1.1/bits/localefwd.h" 2 3 - -# 1 "/usr/include/c++/14.1.1/cctype" 1 3 -# 39 "/usr/include/c++/14.1.1/cctype" 3 - -# 40 "/usr/include/c++/14.1.1/cctype" 3 - - -# 1 "/usr/include/ctype.h" 1 3 4 -# 26 "/usr/include/ctype.h" 3 4 -# 1 "/usr/include/bits/types.h" 1 3 4 -# 27 "/usr/include/bits/types.h" 3 4 -# 1 "/usr/include/bits/wordsize.h" 1 3 4 -# 28 "/usr/include/bits/types.h" 2 3 4 -# 1 "/usr/include/bits/timesize.h" 1 3 4 -# 19 "/usr/include/bits/timesize.h" 3 4 -# 1 "/usr/include/bits/wordsize.h" 1 3 4 -# 20 "/usr/include/bits/timesize.h" 2 3 4 -# 29 "/usr/include/bits/types.h" 2 3 4 - - -typedef unsigned char __u_char; -typedef unsigned short int __u_short; -typedef unsigned int __u_int; -typedef unsigned long int __u_long; - - -typedef signed char __int8_t; -typedef unsigned char __uint8_t; -typedef signed short int __int16_t; -typedef unsigned short int __uint16_t; -typedef signed int __int32_t; -typedef unsigned int __uint32_t; - -typedef signed long int __int64_t; -typedef unsigned long int __uint64_t; - - - - - - -typedef __int8_t __int_least8_t; -typedef __uint8_t __uint_least8_t; -typedef __int16_t __int_least16_t; -typedef __uint16_t __uint_least16_t; -typedef __int32_t __int_least32_t; -typedef __uint32_t __uint_least32_t; -typedef __int64_t __int_least64_t; -typedef __uint64_t __uint_least64_t; - - - -typedef long int __quad_t; -typedef unsigned long int __u_quad_t; - - - - - - - -typedef long int __intmax_t; -typedef unsigned long int __uintmax_t; -# 141 "/usr/include/bits/types.h" 3 4 -# 1 "/usr/include/bits/typesizes.h" 1 3 4 -# 142 "/usr/include/bits/types.h" 2 3 4 -# 1 "/usr/include/bits/time64.h" 1 3 4 -# 143 "/usr/include/bits/types.h" 2 3 4 - - -typedef unsigned long int __dev_t; -typedef unsigned int __uid_t; -typedef unsigned int __gid_t; -typedef unsigned long int __ino_t; -typedef unsigned long int __ino64_t; -typedef unsigned int __mode_t; -typedef unsigned long int __nlink_t; -typedef long int __off_t; -typedef long int __off64_t; -typedef int __pid_t; -typedef struct { int __val[2]; } __fsid_t; -typedef long int __clock_t; -typedef unsigned long int __rlim_t; -typedef unsigned long int __rlim64_t; -typedef unsigned int __id_t; -typedef long int __time_t; -typedef unsigned int __useconds_t; -typedef long int __suseconds_t; -typedef long int __suseconds64_t; - -typedef int __daddr_t; -typedef int __key_t; - - -typedef int __clockid_t; - - -typedef void * __timer_t; - - -typedef long int __blksize_t; - - - - -typedef long int __blkcnt_t; -typedef long int __blkcnt64_t; - - -typedef unsigned long int __fsblkcnt_t; -typedef unsigned long int __fsblkcnt64_t; - - -typedef unsigned long int __fsfilcnt_t; -typedef unsigned long int __fsfilcnt64_t; - - -typedef long int __fsword_t; - -typedef long int __ssize_t; - - -typedef long int __syscall_slong_t; - -typedef unsigned long int __syscall_ulong_t; - - - -typedef __off64_t __loff_t; -typedef char *__caddr_t; - - -typedef long int __intptr_t; - - -typedef unsigned int __socklen_t; - - - - -typedef int __sig_atomic_t; -# 27 "/usr/include/ctype.h" 2 3 4 - -extern "C" { -# 39 "/usr/include/ctype.h" 3 4 -# 1 "/usr/include/bits/endian.h" 1 3 4 -# 35 "/usr/include/bits/endian.h" 3 4 -# 1 "/usr/include/bits/endianness.h" 1 3 4 -# 36 "/usr/include/bits/endian.h" 2 3 4 -# 40 "/usr/include/ctype.h" 2 3 4 - - - - - - -enum -{ - _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), - _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), - _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), - _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), - _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), - _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), - _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), - _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), - _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), - _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), - _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), - _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) -}; -# 79 "/usr/include/ctype.h" 3 4 -extern const unsigned short int **__ctype_b_loc (void) - noexcept (true) __attribute__ ((__const__)); -extern const __int32_t **__ctype_tolower_loc (void) - noexcept (true) __attribute__ ((__const__)); -extern const __int32_t **__ctype_toupper_loc (void) - noexcept (true) __attribute__ ((__const__)); -# 108 "/usr/include/ctype.h" 3 4 -extern int isalnum (int) noexcept (true); -extern int isalpha (int) noexcept (true); -extern int iscntrl (int) noexcept (true); -extern int isdigit (int) noexcept (true); -extern int islower (int) noexcept (true); -extern int isgraph (int) noexcept (true); -extern int isprint (int) noexcept (true); -extern int ispunct (int) noexcept (true); -extern int isspace (int) noexcept (true); -extern int isupper (int) noexcept (true); -extern int isxdigit (int) noexcept (true); - - - -extern int tolower (int __c) noexcept (true); - - -extern int toupper (int __c) noexcept (true); - - - - -extern int isblank (int) noexcept (true); - - - - -extern int isctype (int __c, int __mask) noexcept (true); - - - - - - -extern int isascii (int __c) noexcept (true); - - - -extern int toascii (int __c) noexcept (true); - - - -extern int _toupper (int) noexcept (true); -extern int _tolower (int) noexcept (true); -# 251 "/usr/include/ctype.h" 3 4 -extern int isalnum_l (int, locale_t) noexcept (true); -extern int isalpha_l (int, locale_t) noexcept (true); -extern int iscntrl_l (int, locale_t) noexcept (true); -extern int isdigit_l (int, locale_t) noexcept (true); -extern int islower_l (int, locale_t) noexcept (true); -extern int isgraph_l (int, locale_t) noexcept (true); -extern int isprint_l (int, locale_t) noexcept (true); -extern int ispunct_l (int, locale_t) noexcept (true); -extern int isspace_l (int, locale_t) noexcept (true); -extern int isupper_l (int, locale_t) noexcept (true); -extern int isxdigit_l (int, locale_t) noexcept (true); - -extern int isblank_l (int, locale_t) noexcept (true); - - - -extern int __tolower_l (int __c, locale_t __l) noexcept (true); -extern int tolower_l (int __c, locale_t __l) noexcept (true); - - -extern int __toupper_l (int __c, locale_t __l) noexcept (true); -extern int toupper_l (int __c, locale_t __l) noexcept (true); -# 327 "/usr/include/ctype.h" 3 4 -} -# 43 "/usr/include/c++/14.1.1/cctype" 2 3 -# 62 "/usr/include/c++/14.1.1/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/include/c++/14.1.1/bits/localefwd.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 55 "/usr/include/c++/14.1.1/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; - template<> class codecvt; - - - template - class codecvt_byname; - - - - template > - class num_get; - template > - class num_put; - -namespace __cxx11 { - template class numpunct; - template class numpunct_byname; -} - -namespace __cxx11 { - - template - class collate; - template - class collate_byname; -} - - - class time_base; -namespace __cxx11 { - template > - class time_get; - template > - class time_get_byname; -} - template > - class time_put; - template > - class time_put_byname; - - - class money_base; -namespace __cxx11 { - template > - class money_get; - template > - class money_put; -} -namespace __cxx11 { - template - class moneypunct; - template - class moneypunct_byname; -} - - - struct messages_base; -namespace __cxx11 { - template - class messages; - template - class messages_byname; -} - - -} -# 44 "/usr/include/c++/14.1.1/ios" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/ios_base.h" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - -# 38 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - -# 1 "/usr/include/c++/14.1.1/ext/atomicity.h" 1 3 -# 32 "/usr/include/c++/14.1.1/ext/atomicity.h" 3 - -# 33 "/usr/include/c++/14.1.1/ext/atomicity.h" 3 - - -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr.h" 1 3 -# 30 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr.h" 3 -#pragma GCC visibility push(default) -# 157 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr.h" 3 -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h" 1 3 -# 35 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h" 3 -# 1 "/usr/include/pthread.h" 1 3 4 -# 22 "/usr/include/pthread.h" 3 4 -# 1 "/usr/include/sched.h" 1 3 4 -# 29 "/usr/include/sched.h" 3 4 -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 30 "/usr/include/sched.h" 2 3 4 - -# 1 "/usr/include/bits/types/time_t.h" 1 3 4 -# 10 "/usr/include/bits/types/time_t.h" 3 4 -typedef __time_t time_t; -# 32 "/usr/include/sched.h" 2 3 4 -# 1 "/usr/include/bits/types/struct_timespec.h" 1 3 4 -# 11 "/usr/include/bits/types/struct_timespec.h" 3 4 -struct timespec -{ - - - - __time_t tv_sec; - - - - - __syscall_slong_t tv_nsec; -# 31 "/usr/include/bits/types/struct_timespec.h" 3 4 -}; -# 33 "/usr/include/sched.h" 2 3 4 - - - - - -typedef __pid_t pid_t; - - - - -# 1 "/usr/include/bits/sched.h" 1 3 4 -# 80 "/usr/include/bits/sched.h" 3 4 -# 1 "/usr/include/bits/types/struct_sched_param.h" 1 3 4 -# 23 "/usr/include/bits/types/struct_sched_param.h" 3 4 -struct sched_param -{ - int sched_priority; -}; -# 81 "/usr/include/bits/sched.h" 2 3 4 - -extern "C" { - - - -extern int clone (int (*__fn) (void *__arg), void *__child_stack, - int __flags, void *__arg, ...) noexcept (true); - - -extern int unshare (int __flags) noexcept (true); - - -extern int sched_getcpu (void) noexcept (true); - - -extern int getcpu (unsigned int *, unsigned int *) noexcept (true); - - -extern int setns (int __fd, int __nstype) noexcept (true); - - -} -# 44 "/usr/include/sched.h" 2 3 4 -# 1 "/usr/include/bits/cpu-set.h" 1 3 4 -# 32 "/usr/include/bits/cpu-set.h" 3 4 -typedef unsigned long int __cpu_mask; - - - - - - -typedef struct -{ - __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))]; -} cpu_set_t; -# 115 "/usr/include/bits/cpu-set.h" 3 4 -extern "C" { - -extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp) - noexcept (true); -extern cpu_set_t *__sched_cpualloc (size_t __count) noexcept (true) ; -extern void __sched_cpufree (cpu_set_t *__set) noexcept (true); - -} -# 45 "/usr/include/sched.h" 2 3 4 - - - - - - -extern "C" { - - -extern int sched_setparam (__pid_t __pid, const struct sched_param *__param) - noexcept (true); - - -extern int sched_getparam (__pid_t __pid, struct sched_param *__param) noexcept (true); - - -extern int sched_setscheduler (__pid_t __pid, int __policy, - const struct sched_param *__param) noexcept (true); - - -extern int sched_getscheduler (__pid_t __pid) noexcept (true); - - -extern int sched_yield (void) noexcept (true); - - -extern int sched_get_priority_max (int __algorithm) noexcept (true); - - -extern int sched_get_priority_min (int __algorithm) noexcept (true); - - - -extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) noexcept (true); -# 130 "/usr/include/sched.h" 3 4 -extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize, - const cpu_set_t *__cpuset) noexcept (true); - - -extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize, - cpu_set_t *__cpuset) noexcept (true); - - -} -# 23 "/usr/include/pthread.h" 2 3 4 -# 1 "/usr/include/time.h" 1 3 4 -# 29 "/usr/include/time.h" 3 4 -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 30 "/usr/include/time.h" 2 3 4 - - - -# 1 "/usr/include/bits/time.h" 1 3 4 -# 73 "/usr/include/bits/time.h" 3 4 -# 1 "/usr/include/bits/timex.h" 1 3 4 -# 22 "/usr/include/bits/timex.h" 3 4 -# 1 "/usr/include/bits/types/struct_timeval.h" 1 3 4 - - - - - - - -struct timeval -{ - - - - - __time_t tv_sec; - __suseconds_t tv_usec; - -}; -# 23 "/usr/include/bits/timex.h" 2 3 4 - - - -struct timex -{ -# 58 "/usr/include/bits/timex.h" 3 4 - unsigned int modes; - __syscall_slong_t offset; - __syscall_slong_t freq; - __syscall_slong_t maxerror; - __syscall_slong_t esterror; - int status; - __syscall_slong_t constant; - __syscall_slong_t precision; - __syscall_slong_t tolerance; - struct timeval time; - __syscall_slong_t tick; - __syscall_slong_t ppsfreq; - __syscall_slong_t jitter; - int shift; - __syscall_slong_t stabil; - __syscall_slong_t jitcnt; - __syscall_slong_t calcnt; - __syscall_slong_t errcnt; - __syscall_slong_t stbcnt; - - int tai; - - - int :32; int :32; int :32; int :32; - int :32; int :32; int :32; int :32; - int :32; int :32; int :32; - -}; -# 74 "/usr/include/bits/time.h" 2 3 4 - -extern "C" { - - -extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) noexcept (true) __attribute__ ((__nonnull__ (2))); -# 90 "/usr/include/bits/time.h" 3 4 -} -# 34 "/usr/include/time.h" 2 3 4 - - - -# 1 "/usr/include/bits/types/clock_t.h" 1 3 4 - - - - - - -typedef __clock_t clock_t; -# 38 "/usr/include/time.h" 2 3 4 - -# 1 "/usr/include/bits/types/struct_tm.h" 1 3 4 - - - - - - -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 int tm_gmtoff; - const char *tm_zone; - - - - -}; -# 40 "/usr/include/time.h" 2 3 4 - - - - - - -# 1 "/usr/include/bits/types/clockid_t.h" 1 3 4 - - - - - - -typedef __clockid_t clockid_t; -# 47 "/usr/include/time.h" 2 3 4 -# 1 "/usr/include/bits/types/timer_t.h" 1 3 4 - - - - - - -typedef __timer_t timer_t; -# 48 "/usr/include/time.h" 2 3 4 -# 1 "/usr/include/bits/types/struct_itimerspec.h" 1 3 4 - - - - - - - -struct itimerspec - { - struct timespec it_interval; - struct timespec it_value; - }; -# 49 "/usr/include/time.h" 2 3 4 -struct sigevent; -# 68 "/usr/include/time.h" 3 4 -extern "C" { - - - -extern clock_t clock (void) noexcept (true); - - - -extern time_t time (time_t *__timer) noexcept (true); - - -extern double difftime (time_t __time1, time_t __time0) - noexcept (true) __attribute__ ((__const__)); - - -extern time_t mktime (struct tm *__tp) noexcept (true); -# 100 "/usr/include/time.h" 3 4 -extern size_t strftime (char *__restrict __s, size_t __maxsize, - const char *__restrict __format, - const struct tm *__restrict __tp) - noexcept (true) __attribute__ ((__nonnull__ (1, 3, 4))); - - - - -extern char *strptime (const char *__restrict __s, - const char *__restrict __fmt, struct tm *__tp) - noexcept (true); - - - - - - -extern size_t strftime_l (char *__restrict __s, size_t __maxsize, - const char *__restrict __format, - const struct tm *__restrict __tp, - locale_t __loc) noexcept (true); - - - -extern char *strptime_l (const char *__restrict __s, - const char *__restrict __fmt, struct tm *__tp, - locale_t __loc) noexcept (true); - - - - - - -extern struct tm *gmtime (const time_t *__timer) noexcept (true); - - - -extern struct tm *localtime (const time_t *__timer) noexcept (true); -# 155 "/usr/include/time.h" 3 4 -extern struct tm *gmtime_r (const time_t *__restrict __timer, - struct tm *__restrict __tp) noexcept (true); - - - -extern struct tm *localtime_r (const time_t *__restrict __timer, - struct tm *__restrict __tp) noexcept (true); -# 180 "/usr/include/time.h" 3 4 -extern char *asctime (const struct tm *__tp) noexcept (true); - - - -extern char *ctime (const time_t *__timer) noexcept (true); -# 198 "/usr/include/time.h" 3 4 -extern char *asctime_r (const struct tm *__restrict __tp, - char *__restrict __buf) noexcept (true); - - - -extern char *ctime_r (const time_t *__restrict __timer, - char *__restrict __buf) noexcept (true); -# 218 "/usr/include/time.h" 3 4 -extern char *__tzname[2]; -extern int __daylight; -extern long int __timezone; - - - - -extern char *tzname[2]; - - - -extern void tzset (void) noexcept (true); - - - -extern int daylight; -extern long int timezone; -# 247 "/usr/include/time.h" 3 4 -extern time_t timegm (struct tm *__tp) noexcept (true); -# 264 "/usr/include/time.h" 3 4 -extern time_t timelocal (struct tm *__tp) noexcept (true); - - - - - - - -extern int dysize (int __year) noexcept (true) __attribute__ ((__const__)); -# 282 "/usr/include/time.h" 3 4 -extern int nanosleep (const struct timespec *__requested_time, - struct timespec *__remaining); - - -extern int clock_getres (clockid_t __clock_id, struct timespec *__res) noexcept (true); - - -extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) - noexcept (true) __attribute__ ((__nonnull__ (2))); - - -extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp) - noexcept (true) __attribute__ ((__nonnull__ (2))); -# 324 "/usr/include/time.h" 3 4 -extern int clock_nanosleep (clockid_t __clock_id, int __flags, - const struct timespec *__req, - struct timespec *__rem); -# 339 "/usr/include/time.h" 3 4 -extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) noexcept (true); - - - - -extern int timer_create (clockid_t __clock_id, - struct sigevent *__restrict __evp, - timer_t *__restrict __timerid) noexcept (true); - - -extern int timer_delete (timer_t __timerid) noexcept (true); - - - -extern int timer_settime (timer_t __timerid, int __flags, - const struct itimerspec *__restrict __value, - struct itimerspec *__restrict __ovalue) noexcept (true); - - -extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) - noexcept (true); -# 377 "/usr/include/time.h" 3 4 -extern int timer_getoverrun (timer_t __timerid) noexcept (true); - - - - - - -extern int timespec_get (struct timespec *__ts, int __base) - noexcept (true) __attribute__ ((__nonnull__ (1))); -# 400 "/usr/include/time.h" 3 4 -extern int timespec_getres (struct timespec *__ts, int __base) - noexcept (true); -# 426 "/usr/include/time.h" 3 4 -extern int getdate_err; -# 435 "/usr/include/time.h" 3 4 -extern struct tm *getdate (const char *__string); -# 449 "/usr/include/time.h" 3 4 -extern int getdate_r (const char *__restrict __string, - struct tm *__restrict __resbufp); - - -} -# 24 "/usr/include/pthread.h" 2 3 4 - - -# 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 -# 23 "/usr/include/bits/pthreadtypes.h" 3 4 -# 1 "/usr/include/bits/thread-shared-types.h" 1 3 4 -# 44 "/usr/include/bits/thread-shared-types.h" 3 4 -# 1 "/usr/include/bits/pthreadtypes-arch.h" 1 3 4 -# 21 "/usr/include/bits/pthreadtypes-arch.h" 3 4 -# 1 "/usr/include/bits/wordsize.h" 1 3 4 -# 22 "/usr/include/bits/pthreadtypes-arch.h" 2 3 4 -# 45 "/usr/include/bits/thread-shared-types.h" 2 3 4 - -# 1 "/usr/include/bits/atomic_wide_counter.h" 1 3 4 -# 25 "/usr/include/bits/atomic_wide_counter.h" 3 4 -typedef union -{ - __extension__ unsigned long long int __value64; - struct - { - unsigned int __low; - unsigned int __high; - } __value32; -} __atomic_wide_counter; -# 47 "/usr/include/bits/thread-shared-types.h" 2 3 4 - - - - -typedef struct __pthread_internal_list -{ - struct __pthread_internal_list *__prev; - struct __pthread_internal_list *__next; -} __pthread_list_t; - -typedef struct __pthread_internal_slist -{ - struct __pthread_internal_slist *__next; -} __pthread_slist_t; -# 76 "/usr/include/bits/thread-shared-types.h" 3 4 -# 1 "/usr/include/bits/struct_mutex.h" 1 3 4 -# 22 "/usr/include/bits/struct_mutex.h" 3 4 -struct __pthread_mutex_s -{ - int __lock; - unsigned int __count; - int __owner; - - unsigned int __nusers; - - - - int __kind; - - short __spins; - short __elision; - __pthread_list_t __list; -# 53 "/usr/include/bits/struct_mutex.h" 3 4 -}; -# 77 "/usr/include/bits/thread-shared-types.h" 2 3 4 -# 89 "/usr/include/bits/thread-shared-types.h" 3 4 -# 1 "/usr/include/bits/struct_rwlock.h" 1 3 4 -# 23 "/usr/include/bits/struct_rwlock.h" 3 4 -struct __pthread_rwlock_arch_t -{ - unsigned int __readers; - unsigned int __writers; - unsigned int __wrphase_futex; - unsigned int __writers_futex; - unsigned int __pad3; - unsigned int __pad4; - - int __cur_writer; - int __shared; - signed char __rwelision; - - - - - unsigned char __pad1[7]; - - - unsigned long int __pad2; - - - unsigned int __flags; -# 55 "/usr/include/bits/struct_rwlock.h" 3 4 -}; -# 90 "/usr/include/bits/thread-shared-types.h" 2 3 4 - - - - -struct __pthread_cond_s -{ - __atomic_wide_counter __wseq; - __atomic_wide_counter __g1_start; - unsigned int __g_refs[2] ; - unsigned int __g_size[2]; - unsigned int __g1_orig_size; - unsigned int __wrefs; - unsigned int __g_signals[2]; -}; - -typedef unsigned int __tss_t; -typedef unsigned long int __thrd_t; - -typedef struct -{ - int __data ; -} __once_flag; -# 24 "/usr/include/bits/pthreadtypes.h" 2 3 4 - - - -typedef unsigned long int pthread_t; - - - - -typedef union -{ - char __size[4]; - int __align; -} pthread_mutexattr_t; - - - - -typedef union -{ - char __size[4]; - int __align; -} pthread_condattr_t; - - - -typedef unsigned int pthread_key_t; - - - -typedef int pthread_once_t; - - -union pthread_attr_t -{ - char __size[56]; - long int __align; -}; - -typedef union pthread_attr_t pthread_attr_t; - - - - -typedef union -{ - struct __pthread_mutex_s __data; - char __size[40]; - long int __align; -} pthread_mutex_t; - - -typedef union -{ - struct __pthread_cond_s __data; - char __size[48]; - __extension__ long long int __align; -} pthread_cond_t; - - - - - -typedef union -{ - struct __pthread_rwlock_arch_t __data; - char __size[56]; - long int __align; -} pthread_rwlock_t; - -typedef union -{ - char __size[8]; - long int __align; -} pthread_rwlockattr_t; - - - - - -typedef volatile int pthread_spinlock_t; - - - - -typedef union -{ - char __size[32]; - long int __align; -} pthread_barrier_t; - -typedef union -{ - char __size[4]; - int __align; -} pthread_barrierattr_t; -# 27 "/usr/include/pthread.h" 2 3 4 -# 1 "/usr/include/bits/setjmp.h" 1 3 4 -# 26 "/usr/include/bits/setjmp.h" 3 4 -# 1 "/usr/include/bits/wordsize.h" 1 3 4 -# 27 "/usr/include/bits/setjmp.h" 2 3 4 - - - - -typedef long int __jmp_buf[8]; -# 28 "/usr/include/pthread.h" 2 3 4 -# 1 "/usr/include/bits/wordsize.h" 1 3 4 -# 29 "/usr/include/pthread.h" 2 3 4 - -# 1 "/usr/include/bits/types/__sigset_t.h" 1 3 4 - - - - -typedef struct -{ - unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; -} __sigset_t; -# 31 "/usr/include/pthread.h" 2 3 4 -# 1 "/usr/include/bits/types/struct___jmp_buf_tag.h" 1 3 4 -# 26 "/usr/include/bits/types/struct___jmp_buf_tag.h" 3 4 -struct __jmp_buf_tag - { - - - - - __jmp_buf __jmpbuf; - int __mask_was_saved; - __sigset_t __saved_mask; - }; -# 32 "/usr/include/pthread.h" 2 3 4 - -# 1 "/usr/include/bits/pthread_stack_min-dynamic.h" 1 3 4 -# 23 "/usr/include/bits/pthread_stack_min-dynamic.h" 3 4 -extern "C" { -extern long int __sysconf (int __name) noexcept (true); -} -# 34 "/usr/include/pthread.h" 2 3 4 - - - -enum -{ - PTHREAD_CREATE_JOINABLE, - - PTHREAD_CREATE_DETACHED - -}; - - - -enum -{ - PTHREAD_MUTEX_TIMED_NP, - PTHREAD_MUTEX_RECURSIVE_NP, - PTHREAD_MUTEX_ERRORCHECK_NP, - PTHREAD_MUTEX_ADAPTIVE_NP - - , - PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP, - PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP, - PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP, - PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL - - - - , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP - -}; - - - - -enum -{ - PTHREAD_MUTEX_STALLED, - PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED, - PTHREAD_MUTEX_ROBUST, - PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST -}; - - - - - -enum -{ - PTHREAD_PRIO_NONE, - PTHREAD_PRIO_INHERIT, - PTHREAD_PRIO_PROTECT -}; -# 104 "/usr/include/pthread.h" 3 4 -enum -{ - PTHREAD_RWLOCK_PREFER_READER_NP, - PTHREAD_RWLOCK_PREFER_WRITER_NP, - PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, - PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP -}; -# 124 "/usr/include/pthread.h" 3 4 -enum -{ - PTHREAD_INHERIT_SCHED, - - PTHREAD_EXPLICIT_SCHED - -}; - - - -enum -{ - PTHREAD_SCOPE_SYSTEM, - - PTHREAD_SCOPE_PROCESS - -}; - - - -enum -{ - PTHREAD_PROCESS_PRIVATE, - - PTHREAD_PROCESS_SHARED - -}; -# 159 "/usr/include/pthread.h" 3 4 -struct _pthread_cleanup_buffer -{ - void (*__routine) (void *); - void *__arg; - int __canceltype; - struct _pthread_cleanup_buffer *__prev; -}; - - -enum -{ - PTHREAD_CANCEL_ENABLE, - - PTHREAD_CANCEL_DISABLE - -}; -enum -{ - PTHREAD_CANCEL_DEFERRED, - - PTHREAD_CANCEL_ASYNCHRONOUS - -}; -# 197 "/usr/include/pthread.h" 3 4 -extern "C" { - - - - -extern int pthread_create (pthread_t *__restrict __newthread, - const pthread_attr_t *__restrict __attr, - void *(*__start_routine) (void *), - void *__restrict __arg) noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - - - - - -extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__)); - - - - - - - -extern int pthread_join (pthread_t __th, void **__thread_return); - - - - -extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) noexcept (true); -# 233 "/usr/include/pthread.h" 3 4 -extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return, - const struct timespec *__abstime); -# 243 "/usr/include/pthread.h" 3 4 -extern int pthread_clockjoin_np (pthread_t __th, void **__thread_return, - clockid_t __clockid, - const struct timespec *__abstime); -# 269 "/usr/include/pthread.h" 3 4 -extern int pthread_detach (pthread_t __th) noexcept (true); - - - -extern pthread_t pthread_self (void) noexcept (true) __attribute__ ((__const__)); - - -extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) - noexcept (true) __attribute__ ((__const__)); - - - - - - - -extern int pthread_attr_init (pthread_attr_t *__attr) noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_attr_destroy (pthread_attr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_attr_getdetachstate (const pthread_attr_t *__attr, - int *__detachstate) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_attr_setdetachstate (pthread_attr_t *__attr, - int __detachstate) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_attr_getguardsize (const pthread_attr_t *__attr, - size_t *__guardsize) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_attr_setguardsize (pthread_attr_t *__attr, - size_t __guardsize) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_attr_getschedparam (const pthread_attr_t *__restrict __attr, - struct sched_param *__restrict __param) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr, - const struct sched_param *__restrict - __param) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_attr_getschedpolicy (const pthread_attr_t *__restrict - __attr, int *__restrict __policy) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_attr_getinheritsched (const pthread_attr_t *__restrict - __attr, int *__restrict __inherit) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_attr_setinheritsched (pthread_attr_t *__attr, - int __inherit) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_attr_getscope (const pthread_attr_t *__restrict __attr, - int *__restrict __scope) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_attr_getstackaddr (const pthread_attr_t *__restrict - __attr, void **__restrict __stackaddr) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__)); - - - - - -extern int pthread_attr_setstackaddr (pthread_attr_t *__attr, - void *__stackaddr) - noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)); - - -extern int pthread_attr_getstacksize (const pthread_attr_t *__restrict - __attr, size_t *__restrict __stacksize) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - - - -extern int pthread_attr_setstacksize (pthread_attr_t *__attr, - size_t __stacksize) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_attr_getstack (const pthread_attr_t *__restrict __attr, - void **__restrict __stackaddr, - size_t *__restrict __stacksize) - noexcept (true) __attribute__ ((__nonnull__ (1, 2, 3))); - - - - -extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr, - size_t __stacksize) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - -extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr, - size_t __cpusetsize, - const cpu_set_t *__cpuset) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - - - -extern int pthread_attr_getaffinity_np (const pthread_attr_t *__attr, - size_t __cpusetsize, - cpu_set_t *__cpuset) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - - -extern int pthread_getattr_default_np (pthread_attr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_attr_setsigmask_np (pthread_attr_t *__attr, - const __sigset_t *sigmask); - - - - -extern int pthread_attr_getsigmask_np (const pthread_attr_t *__attr, - __sigset_t *sigmask); - - - - - - - -extern int pthread_setattr_default_np (const pthread_attr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - -extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (2))); - - - - - - - -extern int pthread_setschedparam (pthread_t __target_thread, int __policy, - const struct sched_param *__param) - noexcept (true) __attribute__ ((__nonnull__ (3))); - - -extern int pthread_getschedparam (pthread_t __target_thread, - int *__restrict __policy, - struct sched_param *__restrict __param) - noexcept (true) __attribute__ ((__nonnull__ (2, 3))); - - -extern int pthread_setschedprio (pthread_t __target_thread, int __prio) - noexcept (true); - - - - -extern int pthread_getname_np (pthread_t __target_thread, char *__buf, - size_t __buflen) - noexcept (true) __attribute__ ((__nonnull__ (2))); - - -extern int pthread_setname_np (pthread_t __target_thread, const char *__name) - noexcept (true) __attribute__ ((__nonnull__ (2))); - - - - - -extern int pthread_getconcurrency (void) noexcept (true); - - -extern int pthread_setconcurrency (int __level) noexcept (true); - - - -extern int pthread_yield (void) noexcept (true); - -extern int pthread_yield (void) noexcept (true) __asm__ ("" "sched_yield") - __attribute__ ((__deprecated__ ("pthread_yield is deprecated, use sched_yield instead"))) - ; - - - - - - - -extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize, - const cpu_set_t *__cpuset) - noexcept (true) __attribute__ ((__nonnull__ (3))); - - -extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize, - cpu_set_t *__cpuset) - noexcept (true) __attribute__ ((__nonnull__ (3))); -# 509 "/usr/include/pthread.h" 3 4 -extern int pthread_once (pthread_once_t *__once_control, - void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2))); -# 521 "/usr/include/pthread.h" 3 4 -extern int pthread_setcancelstate (int __state, int *__oldstate); - - - -extern int pthread_setcanceltype (int __type, int *__oldtype); - - -extern int pthread_cancel (pthread_t __th); - - - - -extern void pthread_testcancel (void); - - - - -struct __cancel_jmp_buf_tag -{ - __jmp_buf __cancel_jmp_buf; - int __mask_was_saved; -}; - -typedef struct -{ - struct __cancel_jmp_buf_tag __cancel_jmp_buf[1]; - void *__pad[4]; -} __pthread_unwind_buf_t __attribute__ ((__aligned__)); -# 557 "/usr/include/pthread.h" 3 4 -struct __pthread_cleanup_frame -{ - void (*__cancel_routine) (void *); - void *__cancel_arg; - int __do_it; - int __cancel_type; -}; - - - - -class __pthread_cleanup_class -{ - void (*__cancel_routine) (void *); - void *__cancel_arg; - int __do_it; - int __cancel_type; - - public: - __pthread_cleanup_class (void (*__fct) (void *), void *__arg) - : __cancel_routine (__fct), __cancel_arg (__arg), __do_it (1) { } - ~__pthread_cleanup_class () { if (__do_it) __cancel_routine (__cancel_arg); } - void __setdoit (int __newval) { __do_it = __newval; } - void __defer () { pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED, - &__cancel_type); } - void __restore () const { pthread_setcanceltype (__cancel_type, 0); } -}; -# 766 "/usr/include/pthread.h" 3 4 -extern int __sigsetjmp_cancel (struct __cancel_jmp_buf_tag __env[1], int __savemask) noexcept (true) __asm__ ("" "__sigsetjmp") - - - __attribute__ ((__returns_twice__)); -# 781 "/usr/include/pthread.h" 3 4 -extern int pthread_mutex_init (pthread_mutex_t *__mutex, - const pthread_mutexattr_t *__mutexattr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_mutex_destroy (pthread_mutex_t *__mutex) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_mutex_trylock (pthread_mutex_t *__mutex) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_mutex_lock (pthread_mutex_t *__mutex) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - -extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex, - const struct timespec *__restrict - __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); -# 817 "/usr/include/pthread.h" 3 4 -extern int pthread_mutex_clocklock (pthread_mutex_t *__restrict __mutex, - clockid_t __clockid, - const struct timespec *__restrict - __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3))); -# 835 "/usr/include/pthread.h" 3 4 -extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_mutex_getprioceiling (const pthread_mutex_t * - __restrict __mutex, - int *__restrict __prioceiling) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - - -extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex, - int __prioceiling, - int *__restrict __old_ceiling) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - - - - -extern int pthread_mutex_consistent (pthread_mutex_t *__mutex) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_mutex_consistent_np (pthread_mutex_t *) noexcept (true) __asm__ ("" "pthread_mutex_consistent") - __attribute__ ((__nonnull__ (1))) - __attribute__ ((__deprecated__ ("pthread_mutex_consistent_np is deprecated, use pthread_mutex_consistent"))) - ; -# 874 "/usr/include/pthread.h" 3 4 -extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_mutexattr_getpshared (const pthread_mutexattr_t * - __restrict __attr, - int *__restrict __pshared) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr, - int __pshared) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_mutexattr_gettype (const pthread_mutexattr_t *__restrict - __attr, int *__restrict __kind) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - - - -extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_mutexattr_getprotocol (const pthread_mutexattr_t * - __restrict __attr, - int *__restrict __protocol) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - - -extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr, - int __protocol) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t * - __restrict __attr, - int *__restrict __prioceiling) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr, - int __prioceiling) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_mutexattr_getrobust (const pthread_mutexattr_t *__attr, - int *__robustness) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_mutexattr_getrobust_np (pthread_mutexattr_t *, int *) noexcept (true) __asm__ ("" "pthread_mutexattr_getrobust") - - __attribute__ ((__nonnull__ (1))) - __attribute__ ((__deprecated__ ("pthread_mutexattr_getrobust_np is deprecated, use pthread_mutexattr_getrobust"))) - ; - - - - - - -extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr, - int __robustness) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *, int) noexcept (true) __asm__ ("" "pthread_mutexattr_setrobust") - - __attribute__ ((__nonnull__ (1))) - __attribute__ ((__deprecated__ ("pthread_mutexattr_setrobust_np is deprecated, use pthread_mutexattr_setrobust"))) - ; -# 967 "/usr/include/pthread.h" 3 4 -extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock, - const pthread_rwlockattr_t *__restrict - __attr) noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - -extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock, - const struct timespec *__restrict - __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); -# 1004 "/usr/include/pthread.h" 3 4 -extern int pthread_rwlock_clockrdlock (pthread_rwlock_t *__restrict __rwlock, - clockid_t __clockid, - const struct timespec *__restrict - __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3))); -# 1023 "/usr/include/pthread.h" 3 4 -extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - -extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock, - const struct timespec *__restrict - __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); -# 1051 "/usr/include/pthread.h" 3 4 -extern int pthread_rwlock_clockwrlock (pthread_rwlock_t *__restrict __rwlock, - clockid_t __clockid, - const struct timespec *__restrict - __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3))); -# 1071 "/usr/include/pthread.h" 3 4 -extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - -extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t * - __restrict __attr, - int *__restrict __pshared) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr, - int __pshared) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_rwlockattr_getkind_np (const pthread_rwlockattr_t * - __restrict __attr, - int *__restrict __pref) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr, - int __pref) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - - - -extern int pthread_cond_init (pthread_cond_t *__restrict __cond, - const pthread_condattr_t *__restrict __cond_attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_cond_destroy (pthread_cond_t *__cond) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_cond_signal (pthread_cond_t *__cond) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_cond_broadcast (pthread_cond_t *__cond) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - - -extern int pthread_cond_wait (pthread_cond_t *__restrict __cond, - pthread_mutex_t *__restrict __mutex) - __attribute__ ((__nonnull__ (1, 2))); -# 1145 "/usr/include/pthread.h" 3 4 -extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond, - pthread_mutex_t *__restrict __mutex, - const struct timespec *__restrict __abstime) - __attribute__ ((__nonnull__ (1, 2, 3))); -# 1171 "/usr/include/pthread.h" 3 4 -extern int pthread_cond_clockwait (pthread_cond_t *__restrict __cond, - pthread_mutex_t *__restrict __mutex, - __clockid_t __clock_id, - const struct timespec *__restrict __abstime) - __attribute__ ((__nonnull__ (1, 2, 4))); -# 1194 "/usr/include/pthread.h" 3 4 -extern int pthread_condattr_init (pthread_condattr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_condattr_destroy (pthread_condattr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_condattr_getpshared (const pthread_condattr_t * - __restrict __attr, - int *__restrict __pshared) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_condattr_setpshared (pthread_condattr_t *__attr, - int __pshared) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_condattr_getclock (const pthread_condattr_t * - __restrict __attr, - __clockid_t *__restrict __clock_id) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_condattr_setclock (pthread_condattr_t *__attr, - __clockid_t __clock_id) - noexcept (true) __attribute__ ((__nonnull__ (1))); -# 1230 "/usr/include/pthread.h" 3 4 -extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_spin_destroy (pthread_spinlock_t *__lock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_spin_lock (pthread_spinlock_t *__lock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_spin_trylock (pthread_spinlock_t *__lock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_spin_unlock (pthread_spinlock_t *__lock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - - -extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier, - const pthread_barrierattr_t *__restrict - __attr, unsigned int __count) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_barrier_destroy (pthread_barrier_t *__barrier) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_barrier_wait (pthread_barrier_t *__barrier) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_barrierattr_getpshared (const pthread_barrierattr_t * - __restrict __attr, - int *__restrict __pshared) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr, - int __pshared) - noexcept (true) __attribute__ ((__nonnull__ (1))); -# 1297 "/usr/include/pthread.h" 3 4 -extern int pthread_key_create (pthread_key_t *__key, - void (*__destr_function) (void *)) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_key_delete (pthread_key_t __key) noexcept (true); - - -extern void *pthread_getspecific (pthread_key_t __key) noexcept (true); - - -extern int pthread_setspecific (pthread_key_t __key, - const void *__pointer) - noexcept (true) __attribute__ ((__access__ (__none__, 2))); - - - - -extern int pthread_getcpuclockid (pthread_t __thread_id, - __clockid_t *__clock_id) - noexcept (true) __attribute__ ((__nonnull__ (2))); -# 1332 "/usr/include/pthread.h" 3 4 -extern int pthread_atfork (void (*__prepare) (void), - void (*__parent) (void), - void (*__child) (void)) noexcept (true); -# 1346 "/usr/include/pthread.h" 3 4 -} -# 36 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h" 2 3 -# 47 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/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; -# 108 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h" 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# 312 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h" 3 -static inline int -__gthread_active_p (void) -{ - return 1; -} -# 672 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/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; -} -# 821 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/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); -} -# 863 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/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); -} -# 158 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr.h" 2 3 - - -#pragma GCC visibility pop -# 36 "/usr/include/c++/14.1.1/ext/atomicity.h" 2 3 -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/atomic_word.h" 1 3 -# 32 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/atomic_word.h" 3 -typedef int _Atomic_word; -# 37 "/usr/include/c++/14.1.1/ext/atomicity.h" 2 3 - -# 1 "/usr/include/sys/single_threaded.h" 1 3 4 -# 24 "/usr/include/sys/single_threaded.h" 3 4 -extern "C" { - - - - -extern char __libc_single_threaded; - -} -# 39 "/usr/include/c++/14.1.1/ext/atomicity.h" 2 3 - - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - - - __attribute__((__always_inline__)) - inline bool - __is_single_threaded() noexcept - { - - - - return ::__libc_single_threaded; - - - - } - - - - - - - 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/include/c++/14.1.1/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/include/c++/14.1.1/bits/ios_base.h" 2 3 - -# 1 "/usr/include/c++/14.1.1/bits/locale_classes.h" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - -# 38 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - - -# 1 "/usr/include/c++/14.1.1/string" 1 3 -# 36 "/usr/include/c++/14.1.1/string" 3 - -# 37 "/usr/include/c++/14.1.1/string" 3 - - - - - - -# 1 "/usr/include/c++/14.1.1/bits/allocator.h" 1 3 -# 46 "/usr/include/c++/14.1.1/bits/allocator.h" 3 -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h" 1 3 -# 33 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h" 3 -# 1 "/usr/include/c++/14.1.1/bits/new_allocator.h" 1 3 -# 35 "/usr/include/c++/14.1.1/bits/new_allocator.h" 3 -# 1 "/usr/include/c++/14.1.1/bits/functexcept.h" 1 3 -# 42 "/usr/include/c++/14.1.1/bits/functexcept.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - 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__,__cold__)); - - void - __throw_bad_typeid(void) __attribute__((__noreturn__,__cold__)); - - - void - __throw_logic_error(const char*) __attribute__((__noreturn__,__cold__)); - - void - __throw_domain_error(const char*) __attribute__((__noreturn__,__cold__)); - - void - __throw_invalid_argument(const char*) __attribute__((__noreturn__,__cold__)); - - void - __throw_length_error(const char*) __attribute__((__noreturn__,__cold__)); - - void - __throw_out_of_range(const char*) __attribute__((__noreturn__,__cold__)); - - void - __throw_out_of_range_fmt(const char*, ...) __attribute__((__noreturn__,__cold__)) - __attribute__((__format__(__gnu_printf__, 1, 2))); - - void - __throw_runtime_error(const char*) __attribute__((__noreturn__,__cold__)); - - void - __throw_range_error(const char*) __attribute__((__noreturn__,__cold__)); - - void - __throw_overflow_error(const char*) __attribute__((__noreturn__,__cold__)); - - void - __throw_underflow_error(const char*) __attribute__((__noreturn__,__cold__)); - - - void - __throw_ios_failure(const char*) __attribute__((__noreturn__,__cold__)); - - void - __throw_ios_failure(const char*, int) __attribute__((__noreturn__,__cold__)); - - - void - __throw_system_error(int) __attribute__((__noreturn__,__cold__)); - - - void - __throw_future_error(int) __attribute__((__noreturn__,__cold__)); - - - void - __throw_bad_function_call() __attribute__((__noreturn__,__cold__)); -# 140 "/usr/include/c++/14.1.1/bits/functexcept.h" 3 - -} -# 36 "/usr/include/c++/14.1.1/bits/new_allocator.h" 2 3 - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 62 "/usr/include/c++/14.1.1/bits/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; -# 83 "/usr/include/c++/14.1.1/bits/new_allocator.h" 3 - typedef std::true_type propagate_on_container_move_assignment; - - - __attribute__((__always_inline__)) - constexpr - __new_allocator() noexcept { } - - __attribute__((__always_inline__)) - constexpr - __new_allocator(const __new_allocator&) noexcept { } - - template - __attribute__((__always_inline__)) - constexpr - __new_allocator(const __new_allocator<_Tp1>&) noexcept { } - - - __new_allocator& operator=(const __new_allocator&) = default; -# 125 "/usr/include/c++/14.1.1/bits/new_allocator.h" 3 - [[__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 __n __attribute__ ((__unused__))) - { - - - - - - - - if (alignof(_Tp) > 16) - { - ::operator delete((__p), (__n) * sizeof(_Tp), - std::align_val_t(alignof(_Tp))); - return; - } - - ::operator delete((__p), (__n) * sizeof(_Tp)); - } -# 213 "/usr/include/c++/14.1.1/bits/new_allocator.h" 3 - template - friend __attribute__((__always_inline__)) constexpr bool - operator==(const __new_allocator&, const __new_allocator<_Up>&) - noexcept - { return true; } -# 227 "/usr/include/c++/14.1.1/bits/new_allocator.h" 3 - private: - __attribute__((__always_inline__)) - constexpr size_type - _M_max_size() const noexcept - { - - return std::size_t(0x7fffffffffffffffL) / sizeof(_Tp); - - - - } - }; - - -} -# 34 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h" 2 3 - - -namespace std -{ -# 46 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h" 3 - template - using __allocator_base = __new_allocator<_Tp>; -} -# 47 "/usr/include/c++/14.1.1/bits/allocator.h" 2 3 - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 72 "/usr/include/c++/14.1.1/bits/allocator.h" 3 - template<> - class allocator - { - public: - typedef void value_type; - typedef size_t size_type; - typedef ptrdiff_t difference_type; -# 93 "/usr/include/c++/14.1.1/bits/allocator.h" 3 - using propagate_on_container_move_assignment = true_type; - - using is_always_equal - __attribute__ ((__deprecated__ ("use '" "std::allocator_traits::is_always_equal" "' instead"))) - = true_type; - - - - - allocator() = default; - ~allocator() = default; - - template - __attribute__((__always_inline__)) - constexpr - allocator(const allocator<_Up>&) noexcept { } - - - - - - - }; -# 127 "/usr/include/c++/14.1.1/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; -# 150 "/usr/include/c++/14.1.1/bits/allocator.h" 3 - using propagate_on_container_move_assignment = true_type; - - using is_always_equal - __attribute__ ((__deprecated__ ("use '" "std::allocator_traits::is_always_equal" "' instead"))) - = true_type; - - - - - __attribute__((__always_inline__)) - constexpr - allocator() noexcept { } - - __attribute__((__always_inline__)) - constexpr - allocator(const allocator& __a) noexcept - : __allocator_base<_Tp>(__a) { } - - - - allocator& operator=(const allocator&) = default; - - - template - __attribute__((__always_inline__)) - constexpr - allocator(const allocator<_Tp1>&) noexcept { } - - __attribute__((__always_inline__)) - - constexpr - - ~allocator() noexcept { } - - - [[nodiscard,__gnu__::__always_inline__]] - constexpr _Tp* - allocate(size_t __n) - { - if (std::__is_constant_evaluated()) - { - if (__builtin_mul_overflow(__n, sizeof(_Tp), &__n)) - std::__throw_bad_array_new_length(); - return static_cast<_Tp*>(::operator new(__n)); - } - - return __allocator_base<_Tp>::allocate(__n, 0); - } - - [[__gnu__::__always_inline__]] - constexpr void - deallocate(_Tp* __p, size_t __n) - { - if (std::__is_constant_evaluated()) - { - ::operator delete(__p); - return; - } - __allocator_base<_Tp>::deallocate(__p, __n); - } - - - friend __attribute__((__always_inline__)) constexpr - bool - operator==(const allocator&, const allocator&) noexcept - { return true; } -# 225 "/usr/include/c++/14.1.1/bits/allocator.h" 3 - }; - - - - - - - template - __attribute__((__always_inline__)) - inline constexpr bool - operator==(const allocator<_T1>&, const allocator<_T2>&) - noexcept - { return true; } -# 252 "/usr/include/c++/14.1.1/bits/allocator.h" 3 - template - class allocator - { - public: - typedef _Tp value_type; - allocator() { } - template allocator(const allocator<_Up>&) { } - }; - - template - class allocator - { - public: - typedef _Tp value_type; - allocator() { } - template allocator(const allocator<_Up>&) { } - }; - - template - class allocator - { - public: - typedef _Tp value_type; - allocator() { } - template allocator(const allocator<_Up>&) { } - }; - - - - - - - - extern template class allocator; - extern template class allocator; - - - - - - -} -# 44 "/usr/include/c++/14.1.1/string" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/cpp_type_traits.h" 1 3 -# 35 "/usr/include/c++/14.1.1/bits/cpp_type_traits.h" 3 - -# 36 "/usr/include/c++/14.1.1/bits/cpp_type_traits.h" 3 -# 67 "/usr/include/c++/14.1.1/bits/cpp_type_traits.h" 3 -extern "C++" { - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - 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; - }; - - - - 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; - }; - - template<> - struct __is_integer - { - enum { __value = 1 }; - typedef __true_type __type; - }; -# 272 "/usr/include/c++/14.1.1/bits/cpp_type_traits.h" 3 -__extension__ template<> struct __is_integer<__int128> { enum { __value = 1 }; typedef __true_type __type; }; __extension__ template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; -# 289 "/usr/include/c++/14.1.1/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; - }; -# 366 "/usr/include/c++/14.1.1/bits/cpp_type_traits.h" 3 - 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; - }; - - - - template<> - struct __is_byte - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - - 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; - }; -# 579 "/usr/include/c++/14.1.1/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 - constexpr - inline _Iterator - __miter_base(_Iterator __it) - { return __it; } - - -} -} -# 45 "/usr/include/c++/14.1.1/string" 2 3 - -# 1 "/usr/include/c++/14.1.1/bits/ostream_insert.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/ostream_insert.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/ostream_insert.h" 3 - - -# 1 "/usr/include/c++/14.1.1/bits/cxxabi_forced.h" 1 3 -# 34 "/usr/include/c++/14.1.1/bits/cxxabi_forced.h" 3 - -# 35 "/usr/include/c++/14.1.1/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/include/c++/14.1.1/bits/ostream_insert.h" 2 3 - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - 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); - - - - - - -} -# 47 "/usr/include/c++/14.1.1/string" 2 3 - -# 1 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 1 3 -# 65 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 -# 1 "/usr/include/c++/14.1.1/ext/type_traits.h" 1 3 -# 32 "/usr/include/c++/14.1.1/ext/type_traits.h" 3 - -# 33 "/usr/include/c++/14.1.1/ext/type_traits.h" 3 - - - - -extern "C++" { - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - - - - 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 - constexpr - inline bool - __is_null_pointer(_Type* __ptr) - { return __ptr == 0; } - - template - constexpr - inline bool - __is_null_pointer(_Type) - { return false; } - - - constexpr 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; }; -# 225 "/usr/include/c++/14.1.1/ext/type_traits.h" 3 - template - using __promoted_t = decltype((typename __promote<_Tp>::__type(0) + ...)); - - - - template - using __promote_2 = __promote<__promoted_t<_Tp, _Up>>; - - template - using __promote_3 = __promote<__promoted_t<_Tp, _Up, _Vp>>; - - template - using __promote_4 = __promote<__promoted_t<_Tp, _Up, _Vp, _Wp>>; -# 269 "/usr/include/c++/14.1.1/ext/type_traits.h" 3 - -} -} -# 66 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 2 3 -# 85 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - - - namespace __detail - { - - - template - using __clamp_iter_cat - = __conditional_t, _Limit, _Otherwise>; - } - - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" -# 128 "/usr/include/c++/14.1.1/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; - - - - - template - static constexpr bool __convertible = !is_same_v<_Iter, _Iterator> - && convertible_to; - - - protected: - _Iterator current; - - typedef iterator_traits<_Iterator> __traits_type; - - public: - typedef _Iterator iterator_type; - typedef typename __traits_type::pointer pointer; - - - - - using iterator_concept - = __conditional_t, - random_access_iterator_tag, - bidirectional_iterator_tag>; - using iterator_category - = __detail::__clamp_iter_cat; - using value_type = iter_value_t<_Iterator>; - using difference_type = iter_difference_t<_Iterator>; - using reference = iter_reference_t<_Iterator>; -# 178 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - constexpr - reverse_iterator() - noexcept(noexcept(_Iterator())) - : current() - { } - - - - - explicit constexpr - reverse_iterator(iterator_type __x) - noexcept(noexcept(_Iterator(__x))) - : current(__x) - { } - - - - - constexpr - reverse_iterator(const reverse_iterator& __x) - noexcept(noexcept(_Iterator(__x.current))) - : current(__x.current) - { } - - - reverse_iterator& operator=(const reverse_iterator&) = default; - - - - - - - template - - requires __convertible<_Iter> - - constexpr - reverse_iterator(const reverse_iterator<_Iter>& __x) - noexcept(noexcept(_Iterator(__x.current))) - : current(__x.current) - { } - - - template - - requires __convertible<_Iter> - && assignable_from<_Iterator&, const _Iter&> - - constexpr - reverse_iterator& - operator=(const reverse_iterator<_Iter>& __x) - noexcept(noexcept(current = __x.current)) - { - current = __x.current; - return *this; - } - - - - - - [[__nodiscard__]] - constexpr iterator_type - base() const - noexcept(noexcept(_Iterator(current))) - { return current; } -# 255 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - [[__nodiscard__]] - constexpr reference - operator*() const - { - _Iterator __tmp = current; - return *--__tmp; - } - - - - - - - [[__nodiscard__]] - constexpr pointer - operator->() const - - requires is_pointer_v<_Iterator> - || requires(const _Iterator __i) { __i.operator->(); } - - { - - - _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; - } - - - - - - - [[__nodiscard__]] - constexpr reverse_iterator - operator+(difference_type __n) const - { return reverse_iterator(current - __n); } - - - - - - - - constexpr reverse_iterator& - operator+=(difference_type __n) - { - current -= __n; - return *this; - } - - - - - - - [[__nodiscard__]] - constexpr reverse_iterator - operator-(difference_type __n) const - { return reverse_iterator(current + __n); } - - - - - - - - constexpr reverse_iterator& - operator-=(difference_type __n) - { - current += __n; - return *this; - } - - - - - - - [[__nodiscard__]] - constexpr reference - operator[](difference_type __n) const - { return *(*this + __n); } - - - [[nodiscard]] - friend constexpr iter_rvalue_reference_t<_Iterator> - iter_move(const reverse_iterator& __i) - noexcept(is_nothrow_copy_constructible_v<_Iterator> - && noexcept(ranges::iter_move(--std::declval<_Iterator&>()))) - { - auto __tmp = __i.base(); - return ranges::iter_move(--__tmp); - } - - template _Iter2> - friend constexpr void - iter_swap(const reverse_iterator& __x, - const reverse_iterator<_Iter2>& __y) - noexcept(is_nothrow_copy_constructible_v<_Iterator> - && is_nothrow_copy_constructible_v<_Iter2> - && noexcept(ranges::iter_swap(--std::declval<_Iterator&>(), - --std::declval<_Iter2&>()))) - { - auto __xtmp = __x.base(); - auto __ytmp = __y.base(); - ranges::iter_swap(--__xtmp, --__ytmp); - } - - - private: - template - static constexpr _Tp* - _S_to_pointer(_Tp* __p) - { return __p; } - - template - static constexpr pointer - _S_to_pointer(_Tp __t) - { return __t.operator->(); } - }; -# 524 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - [[nodiscard]] - constexpr bool - operator==(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - requires requires { { __x.base() == __y.base() } -> convertible_to; } - { return __x.base() == __y.base(); } - - template - [[nodiscard]] - constexpr bool - operator!=(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - requires requires { { __x.base() != __y.base() } -> convertible_to; } - { return __x.base() != __y.base(); } - - template - [[nodiscard]] - constexpr bool - operator<(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - requires requires { { __x.base() > __y.base() } -> convertible_to; } - { return __x.base() > __y.base(); } - - template - [[nodiscard]] - constexpr bool - operator>(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - requires requires { { __x.base() < __y.base() } -> convertible_to; } - { return __x.base() < __y.base(); } - - template - [[nodiscard]] - constexpr bool - operator<=(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - requires requires { { __x.base() >= __y.base() } -> convertible_to; } - { return __x.base() >= __y.base(); } - - template - [[nodiscard]] - constexpr bool - operator>=(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - requires requires { { __x.base() <= __y.base() } -> convertible_to; } - { return __x.base() <= __y.base(); } - - template _IteratorR> - [[nodiscard]] - constexpr compare_three_way_result_t<_IteratorL, _IteratorR> - operator<=>(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - { return __y.base() <=> __x.base(); } - - - - - template - [[nodiscard]] - constexpr bool - operator==(const reverse_iterator<_Iterator>& __x, - const reverse_iterator<_Iterator>& __y) - requires requires { { __x.base() == __y.base() } -> convertible_to; } - { return __x.base() == __y.base(); } - - template - [[nodiscard]] - constexpr compare_three_way_result_t<_Iterator, _Iterator> - operator<=>(const reverse_iterator<_Iterator>& __x, - const reverse_iterator<_Iterator>& __y) - { return __y.base() <=> __x.base(); } -# 615 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - [[__nodiscard__]] - 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 - [[__nodiscard__]] - 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 - [[__nodiscard__]] - inline constexpr reverse_iterator<_Iterator> - make_reverse_iterator(_Iterator __i) - { return reverse_iterator<_Iterator>(__i); } - - - template - requires (!sized_sentinel_for<_Iterator1, _Iterator2>) - inline constexpr bool - disable_sized_sentinel_for, - reverse_iterator<_Iterator2>> = true; - - - - template - constexpr - 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 - constexpr - auto - __miter_base(reverse_iterator<_Iterator> __it) - -> decltype(__make_reverse_iterator(__miter_base(__it.base()))) - { return __make_reverse_iterator(__miter_base(__it.base())); } -# 688 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - class back_insert_iterator - : public iterator - { - protected: - _Container* container; - - public: - - typedef _Container container_type; - - using difference_type = ptrdiff_t; - - - - explicit constexpr - back_insert_iterator(_Container& __x) - : container(std::__addressof(__x)) { } -# 726 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - constexpr - back_insert_iterator& - operator=(const typename _Container::value_type& __value) - { - container->push_back(__value); - return *this; - } - - constexpr - back_insert_iterator& - operator=(typename _Container::value_type&& __value) - { - container->push_back(std::move(__value)); - return *this; - } - - - - [[__nodiscard__]] constexpr - back_insert_iterator& - operator*() - { return *this; } - - - constexpr - back_insert_iterator& - operator++() - { return *this; } - - - constexpr - back_insert_iterator - operator++(int) - { return *this; } - }; -# 773 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - [[__nodiscard__]] constexpr - inline back_insert_iterator<_Container> - back_inserter(_Container& __x) - { return back_insert_iterator<_Container>(__x); } -# 789 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - class front_insert_iterator - : public iterator - { - protected: - _Container* container; - - public: - - typedef _Container container_type; - - using difference_type = ptrdiff_t; - - - - explicit constexpr - front_insert_iterator(_Container& __x) - : container(std::__addressof(__x)) { } -# 827 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - constexpr - front_insert_iterator& - operator=(const typename _Container::value_type& __value) - { - container->push_front(__value); - return *this; - } - - constexpr - front_insert_iterator& - operator=(typename _Container::value_type&& __value) - { - container->push_front(std::move(__value)); - return *this; - } - - - - [[__nodiscard__]] constexpr - front_insert_iterator& - operator*() - { return *this; } - - - constexpr - front_insert_iterator& - operator++() - { return *this; } - - - constexpr - front_insert_iterator - operator++(int) - { return *this; } - }; -# 874 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - [[__nodiscard__]] constexpr - inline front_insert_iterator<_Container> - front_inserter(_Container& __x) - { return front_insert_iterator<_Container>(__x); } -# 894 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - class insert_iterator - : public iterator - { - - using _Iter = std::__detail::__range_iter_t<_Container>; - - - - protected: - _Container* container; - _Iter iter; - - public: - - typedef _Container container_type; - - - using difference_type = ptrdiff_t; - - - - - - - constexpr - insert_iterator(_Container& __x, _Iter __i) - : container(std::__addressof(__x)), iter(__i) {} -# 955 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - constexpr - insert_iterator& - operator=(const typename _Container::value_type& __value) - { - iter = container->insert(iter, __value); - ++iter; - return *this; - } - - constexpr - insert_iterator& - operator=(typename _Container::value_type&& __value) - { - iter = container->insert(iter, std::move(__value)); - ++iter; - return *this; - } - - - - [[__nodiscard__]] constexpr - insert_iterator& - operator*() - { return *this; } - - - constexpr - insert_iterator& - operator++() - { return *this; } - - - constexpr - insert_iterator& - operator++(int) - { return *this; } - }; - -#pragma GCC diagnostic pop -# 1008 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - [[nodiscard]] - constexpr insert_iterator<_Container> - inserter(_Container& __x, std::__detail::__range_iter_t<_Container> __i) - { return insert_iterator<_Container>(__x, __i); } -# 1023 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - -} - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - -# 1037 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - class __normal_iterator - { - protected: - _Iterator _M_current; - - typedef std::iterator_traits<_Iterator> __traits_type; - - - template - using __convertible_from - = std::__enable_if_t::value>; - - - 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; - - - using iterator_concept = std::__detail::__iter_concept<_Iterator>; - - - constexpr __normal_iterator() noexcept - : _M_current(_Iterator()) { } - - explicit constexpr - __normal_iterator(const _Iterator& __i) noexcept - : _M_current(__i) { } - - - - template> - constexpr - __normal_iterator(const __normal_iterator<_Iter, _Container>& __i) - noexcept -# 1085 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - : _M_current(__i.base()) { } - - - constexpr - reference - operator*() const noexcept - { return *_M_current; } - - constexpr - pointer - operator->() const noexcept - { return _M_current; } - - constexpr - __normal_iterator& - operator++() noexcept - { - ++_M_current; - return *this; - } - - constexpr - __normal_iterator - operator++(int) noexcept - { return __normal_iterator(_M_current++); } - - - constexpr - __normal_iterator& - operator--() noexcept - { - --_M_current; - return *this; - } - - constexpr - __normal_iterator - operator--(int) noexcept - { return __normal_iterator(_M_current--); } - - - constexpr - reference - operator[](difference_type __n) const noexcept - { return _M_current[__n]; } - - constexpr - __normal_iterator& - operator+=(difference_type __n) noexcept - { _M_current += __n; return *this; } - - constexpr - __normal_iterator - operator+(difference_type __n) const noexcept - { return __normal_iterator(_M_current + __n); } - - constexpr - __normal_iterator& - operator-=(difference_type __n) noexcept - { _M_current -= __n; return *this; } - - constexpr - __normal_iterator - operator-(difference_type __n) const noexcept - { return __normal_iterator(_M_current - __n); } - - constexpr - const _Iterator& - base() const noexcept - { return _M_current; } - }; -# 1166 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - [[nodiscard]] - constexpr bool - operator==(const __normal_iterator<_IteratorL, _Container>& __lhs, - const __normal_iterator<_IteratorR, _Container>& __rhs) - noexcept(noexcept(__lhs.base() == __rhs.base())) - requires requires { - { __lhs.base() == __rhs.base() } -> std::convertible_to; - } - { return __lhs.base() == __rhs.base(); } - - template - [[nodiscard]] - constexpr std::__detail::__synth3way_t<_IteratorR, _IteratorL> - operator<=>(const __normal_iterator<_IteratorL, _Container>& __lhs, - const __normal_iterator<_IteratorR, _Container>& __rhs) - noexcept(noexcept(std::__detail::__synth3way(__lhs.base(), __rhs.base()))) - { return std::__detail::__synth3way(__lhs.base(), __rhs.base()); } - - template - [[nodiscard]] - constexpr bool - operator==(const __normal_iterator<_Iterator, _Container>& __lhs, - const __normal_iterator<_Iterator, _Container>& __rhs) - noexcept(noexcept(__lhs.base() == __rhs.base())) - requires requires { - { __lhs.base() == __rhs.base() } -> std::convertible_to; - } - { return __lhs.base() == __rhs.base(); } - - template - [[nodiscard]] - constexpr std::__detail::__synth3way_t<_Iterator> - operator<=>(const __normal_iterator<_Iterator, _Container>& __lhs, - const __normal_iterator<_Iterator, _Container>& __rhs) - noexcept(noexcept(std::__detail::__synth3way(__lhs.base(), __rhs.base()))) - { return std::__detail::__synth3way(__lhs.base(), __rhs.base()); } -# 1307 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - - - [[__nodiscard__]] constexpr - 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 - [[__nodiscard__]] constexpr - 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 - [[__nodiscard__]] constexpr - 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 __attribute__ ((__visibility__ ("default"))) -{ - - - template - constexpr - _Iterator - __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it) - noexcept(std::is_nothrow_copy_constructible<_Iterator>::value) - { return __it.base(); } -# 1371 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - class move_sentinel - { - public: - constexpr - move_sentinel() - noexcept(is_nothrow_default_constructible_v<_Sent>) - : _M_last() { } - - constexpr explicit - move_sentinel(_Sent __s) - noexcept(is_nothrow_move_constructible_v<_Sent>) - : _M_last(std::move(__s)) { } - - template requires convertible_to - constexpr - move_sentinel(const move_sentinel<_S2>& __s) - noexcept(is_nothrow_constructible_v<_Sent, const _S2&>) - : _M_last(__s.base()) - { } - - template requires assignable_from<_Sent&, const _S2&> - constexpr move_sentinel& - operator=(const move_sentinel<_S2>& __s) - noexcept(is_nothrow_assignable_v<_Sent, const _S2&>) - { - _M_last = __s.base(); - return *this; - } - - [[nodiscard]] - constexpr _Sent - base() const - noexcept(is_nothrow_copy_constructible_v<_Sent>) - { return _M_last; } - - private: - _Sent _M_last; - }; - - - namespace __detail - { - - template - struct __move_iter_cat - { }; - - template - requires requires { typename __iter_category_t<_Iterator>; } - struct __move_iter_cat<_Iterator> - { - using iterator_category - = __clamp_iter_cat<__iter_category_t<_Iterator>, - random_access_iterator_tag>; - }; - - } -# 1439 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - class move_iterator - - : public __detail::__move_iter_cat<_Iterator> - - { - _Iterator _M_current; - - using __traits_type = iterator_traits<_Iterator>; - - - - - template - friend class move_iterator; - - - - - template - static constexpr bool __convertible = !is_same_v<_Iter2, _Iterator> - && convertible_to; - - - - static auto - _S_iter_concept() - { - if constexpr (random_access_iterator<_Iterator>) - return random_access_iterator_tag{}; - else if constexpr (bidirectional_iterator<_Iterator>) - return bidirectional_iterator_tag{}; - else if constexpr (forward_iterator<_Iterator>) - return forward_iterator_tag{}; - else - return input_iterator_tag{}; - } - - - public: - using iterator_type = _Iterator; - - - using iterator_concept = decltype(_S_iter_concept()); - - - using value_type = iter_value_t<_Iterator>; - using difference_type = iter_difference_t<_Iterator>; - using pointer = _Iterator; - using reference = iter_rvalue_reference_t<_Iterator>; -# 1503 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - constexpr - move_iterator() - : _M_current() { } - - explicit constexpr - move_iterator(iterator_type __i) - : _M_current(std::move(__i)) { } - - template - - requires __convertible<_Iter> - - constexpr - move_iterator(const move_iterator<_Iter>& __i) - : _M_current(__i._M_current) { } - - template - - requires __convertible<_Iter> - && assignable_from<_Iterator&, const _Iter&> - - constexpr - move_iterator& operator=(const move_iterator<_Iter>& __i) - { - _M_current = __i._M_current; - return *this; - } - - - - - - - - [[nodiscard]] - constexpr const iterator_type& - base() const & noexcept - { return _M_current; } - - [[nodiscard]] - constexpr iterator_type - base() && - { return std::move(_M_current); } - - - [[__nodiscard__]] - constexpr reference - operator*() const - - { return ranges::iter_move(_M_current); } - - - - - [[__nodiscard__]] - 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 void - operator++(int) requires (!forward_iterator<_Iterator>) - { ++_M_current; } - - - constexpr move_iterator& - operator--() - { - --_M_current; - return *this; - } - - constexpr move_iterator - operator--(int) - { - move_iterator __tmp = *this; - --_M_current; - return __tmp; - } - - [[__nodiscard__]] - 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; - } - - [[__nodiscard__]] - 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; - } - - [[__nodiscard__]] - constexpr reference - operator[](difference_type __n) const - - { return ranges::iter_move(_M_current + __n); } - - - - - - template _Sent> - [[nodiscard]] - friend constexpr bool - operator==(const move_iterator& __x, const move_sentinel<_Sent>& __y) - { return __x.base() == __y.base(); } - - template _Sent> - [[nodiscard]] - friend constexpr iter_difference_t<_Iterator> - operator-(const move_sentinel<_Sent>& __x, const move_iterator& __y) - { return __x.base() - __y.base(); } - - template _Sent> - [[nodiscard]] - friend constexpr iter_difference_t<_Iterator> - operator-(const move_iterator& __x, const move_sentinel<_Sent>& __y) - { return __x.base() - __y.base(); } - - [[nodiscard]] - friend constexpr iter_rvalue_reference_t<_Iterator> - iter_move(const move_iterator& __i) - noexcept(noexcept(ranges::iter_move(__i._M_current))) - { return ranges::iter_move(__i._M_current); } - - template _Iter2> - friend constexpr void - iter_swap(const move_iterator& __x, const move_iterator<_Iter2>& __y) - noexcept(noexcept(ranges::iter_swap(__x._M_current, __y._M_current))) - { return ranges::iter_swap(__x._M_current, __y._M_current); } - - }; - - template - [[__nodiscard__]] - inline constexpr bool - operator==(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - - requires requires { { __x.base() == __y.base() } -> convertible_to; } - - { return __x.base() == __y.base(); } - - - template _IteratorR> - [[__nodiscard__]] - constexpr compare_three_way_result_t<_IteratorL, _IteratorR> - operator<=>(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - { return __x.base() <=> __y.base(); } -# 1691 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - [[__nodiscard__]] - inline constexpr bool - operator<(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - - requires requires { { __x.base() < __y.base() } -> convertible_to; } - - { return __x.base() < __y.base(); } - - template - [[__nodiscard__]] - inline constexpr bool - operator<=(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - - requires requires { { __y.base() < __x.base() } -> convertible_to; } - - { return !(__y < __x); } - - template - [[__nodiscard__]] - inline constexpr bool - operator>(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - - requires requires { { __y.base() < __x.base() } -> convertible_to; } - - { return __y < __x; } - - template - [[__nodiscard__]] - inline constexpr bool - operator>=(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - - requires requires { { __x.base() < __y.base() } -> convertible_to; } - - { return !(__x < __y); } - - - - - template - [[__nodiscard__]] - inline constexpr bool - operator==(const move_iterator<_Iterator>& __x, - const move_iterator<_Iterator>& __y) - { return __x.base() == __y.base(); } - - - template - [[__nodiscard__]] - constexpr compare_three_way_result_t<_Iterator> - operator<=>(const move_iterator<_Iterator>& __x, - const move_iterator<_Iterator>& __y) - { return __x.base() <=> __y.base(); } -# 1786 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - [[__nodiscard__]] - 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 - [[__nodiscard__]] - inline constexpr move_iterator<_Iterator> - operator+(typename move_iterator<_Iterator>::difference_type __n, - const move_iterator<_Iterator>& __x) - { return __x + __n; } - - template - [[__nodiscard__]] - 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>>> - inline constexpr _ReturnType - __make_move_if_noexcept_iterator(_Iterator __i) - { return _ReturnType(__i); } - - - - template::value, - const _Tp*, move_iterator<_Tp*>>> - inline constexpr _ReturnType - __make_move_if_noexcept_iterator(_Tp* __i) - { return _ReturnType(__i); } - - - - - namespace __detail - { - template - concept __common_iter_has_arrow = indirectly_readable - && (requires(const _It& __it) { __it.operator->(); } - || is_reference_v> - || constructible_from, iter_reference_t<_It>>); - - template - concept __common_iter_use_postfix_proxy - = (!requires (_It& __i) { { *__i++ } -> __can_reference; }) - && constructible_from, iter_reference_t<_It>> - && move_constructible>; - } - - - template _Sent> - requires (!same_as<_It, _Sent>) && copyable<_It> - class common_iterator - { - template - static constexpr bool - _S_noexcept1() - { - if constexpr (is_trivially_default_constructible_v<_Tp>) - return is_nothrow_assignable_v<_Tp&, _Up>; - else - return is_nothrow_constructible_v<_Tp, _Up>; - } - - template - static constexpr bool - _S_noexcept() - { return _S_noexcept1<_It, _It2>() && _S_noexcept1<_Sent, _Sent2>(); } - - class __arrow_proxy - { - iter_value_t<_It> _M_keep; - - constexpr - __arrow_proxy(iter_reference_t<_It>&& __x) - : _M_keep(std::move(__x)) { } - - friend class common_iterator; - - public: - constexpr const iter_value_t<_It>* - operator->() const noexcept - { return std::__addressof(_M_keep); } - }; - - class __postfix_proxy - { - iter_value_t<_It> _M_keep; - - constexpr - __postfix_proxy(iter_reference_t<_It>&& __x) - : _M_keep(std::forward>(__x)) { } - - friend class common_iterator; - - public: - constexpr const iter_value_t<_It>& - operator*() const noexcept - { return _M_keep; } - }; - - public: - constexpr - common_iterator() - noexcept(is_nothrow_default_constructible_v<_It>) - requires default_initializable<_It> - : _M_it(), _M_index(0) - { } - - constexpr - common_iterator(_It __i) - noexcept(is_nothrow_move_constructible_v<_It>) - : _M_it(std::move(__i)), _M_index(0) - { } - - constexpr - common_iterator(_Sent __s) - noexcept(is_nothrow_move_constructible_v<_Sent>) - : _M_sent(std::move(__s)), _M_index(1) - { } - - template - requires convertible_to - && convertible_to - constexpr - common_iterator(const common_iterator<_It2, _Sent2>& __x) - noexcept(_S_noexcept()) - : _M_valueless(), _M_index(__x._M_index) - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__x._M_has_value()), false)) std::__glibcxx_assert_fail(); } while (false); - if (_M_index == 0) - { - if constexpr (is_trivially_default_constructible_v<_It>) - _M_it = std::move(__x._M_it); - else - std::construct_at(std::__addressof(_M_it), __x._M_it); - } - else if (_M_index == 1) - { - if constexpr (is_trivially_default_constructible_v<_Sent>) - _M_sent = std::move(__x._M_sent); - else - std::construct_at(std::__addressof(_M_sent), __x._M_sent); - } - } - - common_iterator(const common_iterator&) = default; - - constexpr - common_iterator(const common_iterator& __x) - noexcept(_S_noexcept()) - requires (!is_trivially_copyable_v<_It> || !is_trivially_copyable_v<_Sent>) - : _M_valueless(), _M_index(__x._M_index) - { - if (_M_index == 0) - { - if constexpr (is_trivially_default_constructible_v<_It>) - _M_it = __x._M_it; - else - std::construct_at(std::__addressof(_M_it), __x._M_it); - } - else if (_M_index == 1) - { - if constexpr (is_trivially_default_constructible_v<_Sent>) - _M_sent = __x._M_sent; - else - std::construct_at(std::__addressof(_M_sent), __x._M_sent); - } - } - - common_iterator(common_iterator&&) = default; - - constexpr - common_iterator(common_iterator&& __x) - noexcept(_S_noexcept<_It, _Sent>()) - requires (!is_trivially_copyable_v<_It> || !is_trivially_copyable_v<_Sent>) - : _M_valueless(), _M_index(__x._M_index) - { - if (_M_index == 0) - { - if constexpr (is_trivially_default_constructible_v<_It>) - _M_it = std::move(__x._M_it); - else - std::construct_at(std::__addressof(_M_it), std::move(__x._M_it)); - } - else if (_M_index == 1) - { - if constexpr (is_trivially_default_constructible_v<_Sent>) - _M_sent = std::move(__x._M_sent); - else - std::construct_at(std::__addressof(_M_sent), - std::move(__x._M_sent)); - } - } - - constexpr common_iterator& - operator=(const common_iterator&) = default; - - constexpr common_iterator& - operator=(const common_iterator& __x) - noexcept(is_nothrow_copy_assignable_v<_It> - && is_nothrow_copy_assignable_v<_Sent> - && is_nothrow_copy_constructible_v<_It> - && is_nothrow_copy_constructible_v<_Sent>) - requires (!is_trivially_copy_assignable_v<_It> - || !is_trivially_copy_assignable_v<_Sent>) - { - _M_assign(__x); - return *this; - } - - constexpr common_iterator& - operator=(common_iterator&&) = default; - - constexpr common_iterator& - operator=(common_iterator&& __x) - noexcept(is_nothrow_move_assignable_v<_It> - && is_nothrow_move_assignable_v<_Sent> - && is_nothrow_move_constructible_v<_It> - && is_nothrow_move_constructible_v<_Sent>) - requires (!is_trivially_move_assignable_v<_It> - || !is_trivially_move_assignable_v<_Sent>) - { - _M_assign(std::move(__x)); - return *this; - } - - template - requires convertible_to - && convertible_to - && assignable_from<_It&, const _It2&> - && assignable_from<_Sent&, const _Sent2&> - constexpr common_iterator& - operator=(const common_iterator<_It2, _Sent2>& __x) - noexcept(is_nothrow_constructible_v<_It, const _It2&> - && is_nothrow_constructible_v<_Sent, const _Sent2&> - && is_nothrow_assignable_v<_It&, const _It2&> - && is_nothrow_assignable_v<_Sent&, const _Sent2&>) - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__x._M_has_value()), false)) std::__glibcxx_assert_fail(); } while (false); - _M_assign(__x); - return *this; - } - - - ~common_iterator() = default; - - constexpr - ~common_iterator() - requires (!is_trivially_destructible_v<_It> - || !is_trivially_destructible_v<_Sent>) - - - - - { - if (_M_index == 0) - _M_it.~_It(); - else if (_M_index == 1) - _M_sent.~_Sent(); - } - - [[nodiscard]] - constexpr decltype(auto) - operator*() - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_M_index == 0), false)) std::__glibcxx_assert_fail(); } while (false); - return *_M_it; - } - - [[nodiscard]] - constexpr decltype(auto) - operator*() const requires __detail::__dereferenceable - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_M_index == 0), false)) std::__glibcxx_assert_fail(); } while (false); - return *_M_it; - } - - [[nodiscard]] - constexpr auto - operator->() const requires __detail::__common_iter_has_arrow<_It> - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_M_index == 0), false)) std::__glibcxx_assert_fail(); } while (false); - if constexpr (is_pointer_v<_It> || requires { _M_it.operator->(); }) - return _M_it; - else if constexpr (is_reference_v>) - { - auto&& __tmp = *_M_it; - return std::__addressof(__tmp); - } - else - return __arrow_proxy{*_M_it}; - } - - constexpr common_iterator& - operator++() - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_M_index == 0), false)) std::__glibcxx_assert_fail(); } while (false); - ++_M_it; - return *this; - } - - constexpr decltype(auto) - operator++(int) - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_M_index == 0), false)) std::__glibcxx_assert_fail(); } while (false); - if constexpr (forward_iterator<_It>) - { - common_iterator __tmp = *this; - ++*this; - return __tmp; - } - else if constexpr (!__detail::__common_iter_use_postfix_proxy<_It>) - return _M_it++; - else - { - __postfix_proxy __p(**this); - ++*this; - return __p; - } - } - - template _Sent2> - requires sentinel_for<_Sent, _It2> - friend constexpr bool - operator== [[nodiscard]] (const common_iterator& __x, - const common_iterator<_It2, _Sent2>& __y) - { - switch(__x._M_index << 2 | __y._M_index) - { - case 0b0000: - case 0b0101: - return true; - case 0b0001: - return __x._M_it == __y._M_sent; - case 0b0100: - return __x._M_sent == __y._M_it; - default: - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__x._M_has_value()), false)) std::__glibcxx_assert_fail(); } while (false); - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__y._M_has_value()), false)) std::__glibcxx_assert_fail(); } while (false); - __builtin_unreachable(); - } - } - - template _Sent2> - requires sentinel_for<_Sent, _It2> && equality_comparable_with<_It, _It2> - friend constexpr bool - operator== [[nodiscard]] (const common_iterator& __x, - const common_iterator<_It2, _Sent2>& __y) - { - switch(__x._M_index << 2 | __y._M_index) - { - case 0b0101: - return true; - case 0b0000: - return __x._M_it == __y._M_it; - case 0b0001: - return __x._M_it == __y._M_sent; - case 0b0100: - return __x._M_sent == __y._M_it; - default: - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__x._M_has_value()), false)) std::__glibcxx_assert_fail(); } while (false); - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__y._M_has_value()), false)) std::__glibcxx_assert_fail(); } while (false); - __builtin_unreachable(); - } - } - - template _It2, sized_sentinel_for<_It> _Sent2> - requires sized_sentinel_for<_Sent, _It2> - friend constexpr iter_difference_t<_It2> - operator- [[nodiscard]] (const common_iterator& __x, - const common_iterator<_It2, _Sent2>& __y) - { - switch(__x._M_index << 2 | __y._M_index) - { - case 0b0101: - return 0; - case 0b0000: - return __x._M_it - __y._M_it; - case 0b0001: - return __x._M_it - __y._M_sent; - case 0b0100: - return __x._M_sent - __y._M_it; - default: - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__x._M_has_value()), false)) std::__glibcxx_assert_fail(); } while (false); - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__y._M_has_value()), false)) std::__glibcxx_assert_fail(); } while (false); - __builtin_unreachable(); - } - } - - [[nodiscard]] - friend constexpr iter_rvalue_reference_t<_It> - iter_move(const common_iterator& __i) - noexcept(noexcept(ranges::iter_move(std::declval()))) - requires input_iterator<_It> - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__i._M_index == 0), false)) std::__glibcxx_assert_fail(); } while (false); - return ranges::iter_move(__i._M_it); - } - - template _It2, typename _Sent2> - friend constexpr void - iter_swap(const common_iterator& __x, - const common_iterator<_It2, _Sent2>& __y) - noexcept(noexcept(ranges::iter_swap(std::declval(), - std::declval()))) - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__x._M_index == 0), false)) std::__glibcxx_assert_fail(); } while (false); - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__y._M_index == 0), false)) std::__glibcxx_assert_fail(); } while (false); - return ranges::iter_swap(__x._M_it, __y._M_it); - } - - private: - template _Sent2> - requires (!same_as<_It2, _Sent2>) && copyable<_It2> - friend class common_iterator; - - constexpr bool - _M_has_value() const noexcept { return _M_index != _S_valueless; } - - template - constexpr void - _M_assign(_CIt&& __x) - { - if (_M_index == __x._M_index) - { - if (_M_index == 0) - _M_it = std::forward<_CIt>(__x)._M_it; - else if (_M_index == 1) - _M_sent = std::forward<_CIt>(__x)._M_sent; - } - else - { - if (_M_index == 0) - _M_it.~_It(); - else if (_M_index == 1) - _M_sent.~_Sent(); - _M_index = _S_valueless; - - if (__x._M_index == 0) - std::construct_at(std::__addressof(_M_it), - std::forward<_CIt>(__x)._M_it); - else if (__x._M_index == 1) - std::construct_at(std::__addressof(_M_sent), - std::forward<_CIt>(__x)._M_sent); - _M_index = __x._M_index; - } - } - - union - { - _It _M_it; - _Sent _M_sent; - unsigned char _M_valueless; - }; - unsigned char _M_index; - - static constexpr unsigned char _S_valueless{2}; - }; - - template - struct incrementable_traits> - { - using difference_type = iter_difference_t<_It>; - }; - - template - struct iterator_traits> - { - private: - template - struct __ptr - { - using type = void; - }; - - template - requires __detail::__common_iter_has_arrow<_Iter> - struct __ptr<_Iter> - { - using _CIter = common_iterator<_Iter, _Sent>; - using type = decltype(std::declval().operator->()); - }; - - static auto - _S_iter_cat() - { - if constexpr (requires { requires derived_from<__iter_category_t<_It>, - forward_iterator_tag>; }) - return forward_iterator_tag{}; - else - return input_iterator_tag{}; - } - - public: - using iterator_concept = __conditional_t, - forward_iterator_tag, - input_iterator_tag>; - using iterator_category = decltype(_S_iter_cat()); - using value_type = iter_value_t<_It>; - using difference_type = iter_difference_t<_It>; - using pointer = typename __ptr<_It>::type; - using reference = iter_reference_t<_It>; - }; - - - - namespace __detail - { - template - struct __counted_iter_value_type - { }; - - template - struct __counted_iter_value_type<_It> - { using value_type = iter_value_t<_It>; }; - - template - struct __counted_iter_concept - { }; - - template - requires requires { typename _It::iterator_concept; } - struct __counted_iter_concept<_It> - { using iterator_concept = typename _It::iterator_concept; }; - - template - struct __counted_iter_cat - { }; - - template - requires requires { typename _It::iterator_category; } - struct __counted_iter_cat<_It> - { using iterator_category = typename _It::iterator_category; }; - } - - - template - class counted_iterator - : public __detail::__counted_iter_value_type<_It>, - public __detail::__counted_iter_concept<_It>, - public __detail::__counted_iter_cat<_It> - { - public: - using iterator_type = _It; - - using difference_type = iter_difference_t<_It>; - - - - constexpr counted_iterator() requires default_initializable<_It> = default; - - constexpr - counted_iterator(_It __i, iter_difference_t<_It> __n) - : _M_current(std::move(__i)), _M_length(__n) - { do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__n >= 0), false)) std::__glibcxx_assert_fail(); } while (false); } - - template - requires convertible_to - constexpr - counted_iterator(const counted_iterator<_It2>& __x) - : _M_current(__x._M_current), _M_length(__x._M_length) - { } - - template - requires assignable_from<_It&, const _It2&> - constexpr counted_iterator& - operator=(const counted_iterator<_It2>& __x) - { - _M_current = __x._M_current; - _M_length = __x._M_length; - return *this; - } - - [[nodiscard]] - constexpr const _It& - base() const & noexcept - { return _M_current; } - - [[nodiscard]] - constexpr _It - base() && - noexcept(is_nothrow_move_constructible_v<_It>) - { return std::move(_M_current); } - - [[nodiscard]] - constexpr iter_difference_t<_It> - count() const noexcept { return _M_length; } - - [[nodiscard]] - constexpr decltype(auto) - operator*() - noexcept(noexcept(*_M_current)) - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_M_length > 0), false)) std::__glibcxx_assert_fail(); } while (false); - return *_M_current; - } - - [[nodiscard]] - constexpr decltype(auto) - operator*() const - noexcept(noexcept(*_M_current)) - requires __detail::__dereferenceable - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_M_length > 0), false)) std::__glibcxx_assert_fail(); } while (false); - return *_M_current; - } - - [[nodiscard]] - constexpr auto - operator->() const noexcept - requires contiguous_iterator<_It> - { return std::to_address(_M_current); } - - constexpr counted_iterator& - operator++() - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_M_length > 0), false)) std::__glibcxx_assert_fail(); } while (false); - ++_M_current; - --_M_length; - return *this; - } - - constexpr decltype(auto) - operator++(int) - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_M_length > 0), false)) std::__glibcxx_assert_fail(); } while (false); - --_M_length; - try - { - return _M_current++; - } catch(...) { - ++_M_length; - throw; - } - } - - constexpr counted_iterator - operator++(int) requires forward_iterator<_It> - { - auto __tmp = *this; - ++*this; - return __tmp; - } - - constexpr counted_iterator& - operator--() requires bidirectional_iterator<_It> - { - --_M_current; - ++_M_length; - return *this; - } - - constexpr counted_iterator - operator--(int) requires bidirectional_iterator<_It> - { - auto __tmp = *this; - --*this; - return __tmp; - } - - [[nodiscard]] - constexpr counted_iterator - operator+(iter_difference_t<_It> __n) const - requires random_access_iterator<_It> - { return counted_iterator(_M_current + __n, _M_length - __n); } - - [[nodiscard]] - friend constexpr counted_iterator - operator+(iter_difference_t<_It> __n, const counted_iterator& __x) - requires random_access_iterator<_It> - { return __x + __n; } - - constexpr counted_iterator& - operator+=(iter_difference_t<_It> __n) - requires random_access_iterator<_It> - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__n <= _M_length), false)) std::__glibcxx_assert_fail(); } while (false); - _M_current += __n; - _M_length -= __n; - return *this; - } - - [[nodiscard]] - constexpr counted_iterator - operator-(iter_difference_t<_It> __n) const - requires random_access_iterator<_It> - { return counted_iterator(_M_current - __n, _M_length + __n); } - - template _It2> - [[nodiscard]] - friend constexpr iter_difference_t<_It2> - operator-(const counted_iterator& __x, - const counted_iterator<_It2>& __y) - { return __y._M_length - __x._M_length; } - - [[nodiscard]] - friend constexpr iter_difference_t<_It> - operator-(const counted_iterator& __x, default_sentinel_t) - { return -__x._M_length; } - - [[nodiscard]] - friend constexpr iter_difference_t<_It> - operator-(default_sentinel_t, const counted_iterator& __y) - { return __y._M_length; } - - constexpr counted_iterator& - operator-=(iter_difference_t<_It> __n) - requires random_access_iterator<_It> - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(-__n <= _M_length), false)) std::__glibcxx_assert_fail(); } while (false); - _M_current -= __n; - _M_length += __n; - return *this; - } - - [[nodiscard]] - constexpr decltype(auto) - operator[](iter_difference_t<_It> __n) const - noexcept(noexcept(_M_current[__n])) - requires random_access_iterator<_It> - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__n < _M_length), false)) std::__glibcxx_assert_fail(); } while (false); - return _M_current[__n]; - } - - template _It2> - [[nodiscard]] - friend constexpr bool - operator==(const counted_iterator& __x, - const counted_iterator<_It2>& __y) - { return __x._M_length == __y._M_length; } - - [[nodiscard]] - friend constexpr bool - operator==(const counted_iterator& __x, default_sentinel_t) - { return __x._M_length == 0; } - - template _It2> - [[nodiscard]] - friend constexpr strong_ordering - operator<=>(const counted_iterator& __x, - const counted_iterator<_It2>& __y) - { return __y._M_length <=> __x._M_length; } - - [[nodiscard]] - friend constexpr iter_rvalue_reference_t<_It> - iter_move(const counted_iterator& __i) - noexcept(noexcept(ranges::iter_move(__i._M_current))) - requires input_iterator<_It> - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__i._M_length > 0), false)) std::__glibcxx_assert_fail(); } while (false); - return ranges::iter_move(__i._M_current); - } - - template _It2> - friend constexpr void - iter_swap(const counted_iterator& __x, - const counted_iterator<_It2>& __y) - noexcept(noexcept(ranges::iter_swap(__x._M_current, __y._M_current))) - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__x._M_length > 0 && __y._M_length > 0), false)) std::__glibcxx_assert_fail(); } while (false); - ranges::iter_swap(__x._M_current, __y._M_current); - } - - private: - template friend class counted_iterator; - - _It _M_current = _It(); - iter_difference_t<_It> _M_length = 0; - }; - - template - requires same_as<__detail::__iter_traits<_It>, iterator_traits<_It>> - struct iterator_traits> : iterator_traits<_It> - { - using pointer = __conditional_t, - add_pointer_t>, - void>; - }; -# 2952 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - constexpr - 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 - constexpr - auto - __miter_base(move_iterator<_Iterator> __it) - -> decltype(__miter_base(__it.base())) - { return __miter_base(__it.base()); } -# 2984 "/usr/include/c++/14.1.1/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>>; - - - -} -# 49 "/usr/include/c++/14.1.1/string" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/stl_function.h" 1 3 -# 63 "/usr/include/c++/14.1.1/bits/stl_function.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 116 "/usr/include/c++/14.1.1/bits/stl_function.h" 3 - template - struct unary_function - { - - typedef _Arg argument_type; - - - typedef _Result result_type; - } __attribute__ ((__deprecated__)); - - - - - - template - struct binary_function - { - - typedef _Arg1 first_argument_type; - - - typedef _Arg2 second_argument_type; - - - typedef _Result result_type; - } __attribute__ ((__deprecated__)); -# 157 "/usr/include/c++/14.1.1/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; - - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - - - 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; } - }; -#pragma GCC diagnostic pop - - - 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; - }; -# 346 "/usr/include/c++/14.1.1/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; - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - - - 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 (std::__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 (std::__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 (std::__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 (std::__is_constant_evaluated()) - return __x <= __y; - - return (long unsigned int)__x <= (long unsigned int)__y; - } - }; -#pragma GCC diagnostic pop - - - - 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*>>; - }; -# 778 "/usr/include/c++/14.1.1/bits/stl_function.h" 3 - template - struct logical_and; - - template - struct logical_or; - - template - struct logical_not; - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - - - 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; } - }; -#pragma GCC diagnostic pop - - - - 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; - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - - - - 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; } - }; -#pragma GCC diagnostic pop - - - 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; - }; - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" -# 1020 "/usr/include/c++/14.1.1/bits/stl_function.h" 3 - template - class [[__deprecated__]] 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 - __attribute__ ((__deprecated__ ("use '" "std::not_fn" "' instead"))) - constexpr - inline unary_negate<_Predicate> - not1(const _Predicate& __pred) - { return unary_negate<_Predicate>(__pred); } - - - template - class [[__deprecated__]] 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 - __attribute__ ((__deprecated__ ("use '" "std::not_fn" "' instead"))) - constexpr - inline binary_negate<_Predicate> - not2(const _Predicate& __pred) - { return binary_negate<_Predicate>(__pred); } -# 1101 "/usr/include/c++/14.1.1/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); } - } __attribute__ ((__deprecated__)); - - - template - __attribute__ ((__deprecated__ ("use '" "std::function" "' instead"))) - 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); } - } __attribute__ ((__deprecated__)); - - - template - __attribute__ ((__deprecated__ ("use '" "std::function" "' instead"))) - 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; } - }; -# 1228 "/usr/include/c++/14.1.1/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)(); - } __attribute__ ((__deprecated__)); - - - 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; - } __attribute__ ((__deprecated__)); - - - 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)(); - } __attribute__ ((__deprecated__)); - - - 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; - } __attribute__ ((__deprecated__)); - - - 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); - } __attribute__ ((__deprecated__)); - - - 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; - } __attribute__ ((__deprecated__)); - - - 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); - } __attribute__ ((__deprecated__)); - - - 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; - } __attribute__ ((__deprecated__)); - - - - template - __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) - inline mem_fun_t<_Ret, _Tp> - mem_fun(_Ret (_Tp::*__f)()) - { return mem_fun_t<_Ret, _Tp>(__f); } - - template - __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) - inline const_mem_fun_t<_Ret, _Tp> - mem_fun(_Ret (_Tp::*__f)() const) - { return const_mem_fun_t<_Ret, _Tp>(__f); } - - template - __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) - inline mem_fun_ref_t<_Ret, _Tp> - mem_fun_ref(_Ret (_Tp::*__f)()) - { return mem_fun_ref_t<_Ret, _Tp>(__f); } - - template - __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) - 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 - __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) - inline mem_fun1_t<_Ret, _Tp, _Arg> - mem_fun(_Ret (_Tp::*__f)(_Arg)) - { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); } - - template - __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) - 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 - __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) - 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 - __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) - 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); } -#pragma GCC diagnostic pop - - - - - 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/include/c++/14.1.1/backward/binders.h" 1 3 -# 60 "/usr/include/c++/14.1.1/backward/binders.h" 3 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 107 "/usr/include/c++/14.1.1/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 - __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead"))) - 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 - __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead"))) - 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 -# 1436 "/usr/include/c++/14.1.1/bits/stl_function.h" 2 3 -# 50 "/usr/include/c++/14.1.1/string" 2 3 -# 1 "/usr/include/c++/14.1.1/ext/numeric_traits.h" 1 3 -# 32 "/usr/include/c++/14.1.1/ext/numeric_traits.h" 3 - -# 33 "/usr/include/c++/14.1.1/ext/numeric_traits.h" 3 - - - - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - -# 50 "/usr/include/c++/14.1.1/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; -# 137 "/usr/include/c++/14.1.1/ext/numeric_traits.h" 3 - template - using __int_traits = __numeric_traits_integer<_Tp>; -# 157 "/usr/include/c++/14.1.1/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 - { }; -# 238 "/usr/include/c++/14.1.1/ext/numeric_traits.h" 3 - -} -# 51 "/usr/include/c++/14.1.1/string" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 1 3 -# 64 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 -# 1 "/usr/include/c++/14.1.1/bits/stl_pair.h" 1 3 -# 62 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 -# 1 "/usr/include/c++/14.1.1/bits/utility.h" 1 3 -# 36 "/usr/include/c++/14.1.1/bits/utility.h" 3 - -# 37 "/usr/include/c++/14.1.1/bits/utility.h" 3 - - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - template - struct tuple_size; - - - - - - template::type, - typename = typename enable_if::value>::type, - size_t = tuple_size<_Tp>::value> - using __enable_if_has_tuple_size = _Tp; - - template - struct tuple_size> - : public tuple_size<_Tp> { }; - - template - struct tuple_size> - : public tuple_size<_Tp> { }; - - template - struct tuple_size> - : public tuple_size<_Tp> { }; - - - template - inline constexpr size_t tuple_size_v = tuple_size<_Tp>::value; - - - - template - struct tuple_element; - - - template - using __tuple_element_t = typename tuple_element<__i, _Tp>::type; - - template - struct tuple_element<__i, const _Tp> - { - using type = const __tuple_element_t<__i, _Tp>; - }; - - template - struct tuple_element<__i, volatile _Tp> - { - using type = volatile __tuple_element_t<__i, _Tp>; - }; - - template - struct tuple_element<__i, const volatile _Tp> - { - using type = const volatile __tuple_element_t<__i, _Tp>; - }; - - - - - - template - constexpr size_t - __find_uniq_type_in_pack() - { - constexpr size_t __sz = sizeof...(_Types); - constexpr bool __found[__sz] = { __is_same(_Tp, _Types) ... }; - size_t __n = __sz; - for (size_t __i = 0; __i < __sz; ++__i) - { - if (__found[__i]) - { - if (__n < __sz) - return __sz; - __n = __i; - } - } - return __n; - } -# 134 "/usr/include/c++/14.1.1/bits/utility.h" 3 - template - using tuple_element_t = typename tuple_element<__i, _Tp>::type; - - - - - template struct _Index_tuple { }; - - - template - struct _Build_index_tuple - { -# 154 "/usr/include/c++/14.1.1/bits/utility.h" 3 - using __type = _Index_tuple<__integer_pack(_Num)...>; - - }; - - - - - template - struct integer_sequence - { - - static_assert(is_integral_v<_Tp>); - - typedef _Tp value_type; - static constexpr size_t size() noexcept { return sizeof...(_Idx); } - }; - - - template - using make_integer_sequence - - - - = integer_sequence<_Tp, __integer_pack(_Num)...>; - - - - template - using index_sequence = integer_sequence; - - - template - using make_index_sequence = make_integer_sequence; - - - template - using index_sequence_for = make_index_sequence; - - - - - struct in_place_t { - explicit in_place_t() = default; - }; - - inline constexpr in_place_t in_place{}; - - template struct in_place_type_t - { - explicit in_place_type_t() = default; - }; - - template - inline constexpr in_place_type_t<_Tp> in_place_type{}; - - template struct in_place_index_t - { - explicit in_place_index_t() = default; - }; - - template - inline constexpr in_place_index_t<_Idx> in_place_index{}; - - template - inline constexpr bool __is_in_place_type_v = false; - - template - inline constexpr bool __is_in_place_type_v> = true; - - template - using __is_in_place_type = bool_constant<__is_in_place_type_v<_Tp>>; - - template - inline constexpr bool __is_in_place_index_v = false; - - template - inline constexpr bool __is_in_place_index_v> = true; - - - - - template - struct _Nth_type - { using type = __type_pack_element<_Np, _Types...>; }; -# 276 "/usr/include/c++/14.1.1/bits/utility.h" 3 - namespace ranges::__detail - { - template - inline constexpr bool __is_subrange = false; - } - - - -} -# 63 "/usr/include/c++/14.1.1/bits/stl_pair.h" 2 3 - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 79 "/usr/include/c++/14.1.1/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 - struct pair; - - template - class tuple; - - - - - - template - struct array; - - template - struct _Index_tuple; - - template - constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type& - get(pair<_Tp1, _Tp2>& __in) noexcept; - - template - constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&& - get(pair<_Tp1, _Tp2>&& __in) noexcept; - - template - constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type& - get(const pair<_Tp1, _Tp2>& __in) noexcept; - - template - constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&& - get(const pair<_Tp1, _Tp2>&& __in) noexcept; - - template - constexpr __tuple_element_t<__i, tuple<_Elements...>>& - get(tuple<_Elements...>& __t) noexcept; - - template - constexpr const __tuple_element_t<__i, tuple<_Elements...>>& - get(const tuple<_Elements...>& __t) noexcept; - - template - constexpr __tuple_element_t<__i, tuple<_Elements...>>&& - get(tuple<_Elements...>&& __t) noexcept; - - template - constexpr const __tuple_element_t<__i, tuple<_Elements...>>&& - get(const tuple<_Elements...>&& __t) noexcept; - - template - constexpr _Tp& - get(array<_Tp, _Nm>&) noexcept; - - template - constexpr _Tp&& - get(array<_Tp, _Nm>&&) noexcept; - - template - constexpr const _Tp& - get(const array<_Tp, _Nm>&) noexcept; - - template - constexpr const _Tp&& - get(const array<_Tp, _Nm>&&) noexcept; -# 260 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - template class __pair_base - { - - - - - - - - }; -# 283 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - template - struct pair - : public __pair_base<_T1, _T2> - { - typedef _T1 first_type; - typedef _T2 second_type; - - _T1 first; - _T2 second; - - - constexpr pair(const pair&) = default; - constexpr pair(pair&&) = default; - - template - constexpr - pair(piecewise_construct_t, tuple<_Args1...>, tuple<_Args2...>); - - - constexpr 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); - } -# 331 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - private: - template - constexpr - pair(tuple<_Args1...>&, tuple<_Args2...>&, - _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>); - public: - - - - - - constexpr - explicit(__not_<__and_<__is_implicitly_default_constructible<_T1>, - __is_implicitly_default_constructible<_T2>>>()) - pair() - requires is_default_constructible_v<_T1> - && is_default_constructible_v<_T2> - : first(), second() - { } - - private: - - - template - static constexpr bool - _S_constructible() - { - if constexpr (is_constructible_v<_T1, _U1>) - return is_constructible_v<_T2, _U2>; - return false; - } - - template - static constexpr bool - _S_nothrow_constructible() - { - if constexpr (is_nothrow_constructible_v<_T1, _U1>) - return is_nothrow_constructible_v<_T2, _U2>; - return false; - } - - template - static constexpr bool - _S_convertible() - { - if constexpr (is_convertible_v<_U1, _T1>) - return is_convertible_v<_U2, _T2>; - return false; - } - - - template - static constexpr bool - _S_dangles() - { - - if constexpr (__reference_constructs_from_temporary(_T1, _U1&&)) - return true; - else - return __reference_constructs_from_temporary(_T2, _U2&&); - - - - } -# 424 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - public: - - - constexpr explicit(!_S_convertible()) - pair(const _T1& __x, const _T2& __y) - noexcept(_S_nothrow_constructible()) - requires (_S_constructible()) - : first(__x), second(__y) - { } - - - - - - template - - requires (_S_constructible<_U1, _U2>()) && (!_S_dangles<_U1, _U2>()) - constexpr explicit(!_S_convertible<_U1, _U2>()) - pair(_U1&& __x, _U2&& __y) - noexcept(_S_nothrow_constructible<_U1, _U2>()) - : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) - { } - - - - - template - - requires (_S_constructible<_U1, _U2>()) && (_S_dangles<_U1, _U2>()) - constexpr explicit(!_S_convertible<_U1, _U2>()) - pair(_U1&&, _U2&&) = delete; - - - template - requires (_S_constructible()) - && (!_S_dangles<_U1, _U2>()) - constexpr explicit(!_S_convertible()) - pair(const pair<_U1, _U2>& __p) - noexcept(_S_nothrow_constructible()) - : first(__p.first), second(__p.second) - { } - - template - requires (_S_constructible()) - && (_S_dangles()) - constexpr explicit(!_S_convertible()) - pair(const pair<_U1, _U2>&) = delete; - - - template - requires (_S_constructible<_U1, _U2>()) && (!_S_dangles<_U1, _U2>()) - constexpr explicit(!_S_convertible<_U1, _U2>()) - pair(pair<_U1, _U2>&& __p) - noexcept(_S_nothrow_constructible<_U1, _U2>()) - : first(std::forward<_U1>(__p.first)), - second(std::forward<_U2>(__p.second)) - { } - - template - requires (_S_constructible<_U1, _U2>()) && (_S_dangles<_U1, _U2>()) - constexpr explicit(!_S_convertible<_U1, _U2>()) - pair(pair<_U1, _U2>&&) = delete; -# 537 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - private: - - template - static constexpr bool - _S_assignable() - { - if constexpr (is_assignable_v<_T1&, _U1>) - return is_assignable_v<_T2&, _U2>; - return false; - } - - template - static constexpr bool - _S_const_assignable() - { - if constexpr (is_assignable_v) - return is_assignable_v; - return false; - } - - template - static constexpr bool - _S_nothrow_assignable() - { - if constexpr (is_nothrow_assignable_v<_T1&, _U1>) - return is_nothrow_assignable_v<_T2&, _U2>; - return false; - } -# 585 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - public: - - pair& operator=(const pair&) = delete; - - - constexpr pair& - operator=(const pair& __p) - noexcept(_S_nothrow_assignable()) - requires (_S_assignable()) - { - first = __p.first; - second = __p.second; - return *this; - } - - - constexpr pair& - operator=(pair&& __p) - noexcept(_S_nothrow_assignable<_T1, _T2>()) - requires (_S_assignable<_T1, _T2>()) - { - first = std::forward(__p.first); - second = std::forward(__p.second); - return *this; - } - - - template - constexpr pair& - operator=(const pair<_U1, _U2>& __p) - noexcept(_S_nothrow_assignable()) - requires (_S_assignable()) - { - first = __p.first; - second = __p.second; - return *this; - } - - - template - constexpr pair& - operator=(pair<_U1, _U2>&& __p) - noexcept(_S_nothrow_assignable<_U1, _U2>()) - requires (_S_assignable<_U1, _U2>()) - { - first = std::forward<_U1>(__p.first); - second = std::forward<_U2>(__p.second); - return *this; - } -# 995 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - }; - - - - - template pair(_T1, _T2) -> pair<_T1, _T2>; - - - - - - - - template - inline constexpr bool - operator==(const pair<_T1, _T2>& __x, const pair<_U1, _U2>& __y) - { return __x.first == __y.first && __x.second == __y.second; } -# 1020 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - template - constexpr common_comparison_category_t<__detail::__synth3way_t<_T1, _U1>, - __detail::__synth3way_t<_T2, _U2>> - operator<=>(const pair<_T1, _T2>& __x, const pair<_U1, _U2>& __y) - { - if (auto __c = __detail::__synth3way(__x.first, __y.first); __c != 0) - return __c; - return __detail::__synth3way(__x.second, __y.second); - } -# 1080 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - template - constexpr 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); } -# 1103 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - template - typename enable_if, - __is_swappable<_T2>>::value>::type - swap(pair<_T1, _T2>&, pair<_T1, _T2>&) = delete; -# 1129 "/usr/include/c++/14.1.1/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)); - } -# 1152 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - template - struct __is_tuple_like_impl> : true_type - { }; - - - - template - struct tuple_size> - : public integral_constant { }; - - - template - struct tuple_element<0, pair<_Tp1, _Tp2>> - { typedef _Tp1 type; }; - - - template - struct tuple_element<1, pair<_Tp1, _Tp2>> - { typedef _Tp2 type; }; - - - - template - struct tuple_element<__i, tuple<_Types...>>; - - - template - inline constexpr size_t tuple_size_v> = 2; - - template - inline constexpr size_t tuple_size_v> = 2; - - template - inline constexpr bool __is_pair = false; - - template - inline constexpr bool __is_pair> = true; - - - - template - struct __pair_get; - - template<> - struct __pair_get<0> - { - template - static constexpr _Tp1& - __get(pair<_Tp1, _Tp2>& __pair) noexcept - { return __pair.first; } - - template - static constexpr _Tp1&& - __move_get(pair<_Tp1, _Tp2>&& __pair) noexcept - { return std::forward<_Tp1>(__pair.first); } - - template - static constexpr const _Tp1& - __const_get(const pair<_Tp1, _Tp2>& __pair) noexcept - { return __pair.first; } - - template - static constexpr const _Tp1&& - __const_move_get(const pair<_Tp1, _Tp2>&& __pair) noexcept - { return std::forward(__pair.first); } - }; - - template<> - struct __pair_get<1> - { - template - static constexpr _Tp2& - __get(pair<_Tp1, _Tp2>& __pair) noexcept - { return __pair.second; } - - template - static constexpr _Tp2&& - __move_get(pair<_Tp1, _Tp2>&& __pair) noexcept - { return std::forward<_Tp2>(__pair.second); } - - template - static constexpr const _Tp2& - __const_get(const pair<_Tp1, _Tp2>& __pair) noexcept - { return __pair.second; } - - template - static constexpr const _Tp2&& - __const_move_get(const pair<_Tp1, _Tp2>&& __pair) noexcept - { return std::forward(__pair.second); } - }; - - - - - - - template - constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type& - get(pair<_Tp1, _Tp2>& __in) noexcept - { return __pair_get<_Int>::__get(__in); } - - template - constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&& - get(pair<_Tp1, _Tp2>&& __in) noexcept - { return __pair_get<_Int>::__move_get(std::move(__in)); } - - template - constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type& - get(const pair<_Tp1, _Tp2>& __in) noexcept - { return __pair_get<_Int>::__const_get(__in); } - - template - constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&& - get(const pair<_Tp1, _Tp2>&& __in) noexcept - { return __pair_get<_Int>::__const_move_get(std::move(__in)); } - - - - template - constexpr _Tp& - get(pair<_Tp, _Up>& __p) noexcept - { return __p.first; } - - template - constexpr const _Tp& - get(const pair<_Tp, _Up>& __p) noexcept - { return __p.first; } - - template - constexpr _Tp&& - get(pair<_Tp, _Up>&& __p) noexcept - { return std::move(__p.first); } - - template - constexpr const _Tp&& - get(const pair<_Tp, _Up>&& __p) noexcept - { return std::move(__p.first); } - - template - constexpr _Tp& - get(pair<_Up, _Tp>& __p) noexcept - { return __p.second; } - - template - constexpr const _Tp& - get(const pair<_Up, _Tp>& __p) noexcept - { return __p.second; } - - template - constexpr _Tp&& - get(pair<_Up, _Tp>&& __p) noexcept - { return std::move(__p.second); } - - template - constexpr const _Tp&& - get(const pair<_Up, _Tp>&& __p) noexcept - { return std::move(__p.second); } -# 1332 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - -} -# 65 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 2 3 - - - - -# 1 "/usr/include/c++/14.1.1/debug/debug.h" 1 3 -# 48 "/usr/include/c++/14.1.1/debug/debug.h" 3 -namespace std -{ - namespace __debug { } -} - - - - -namespace __gnu_debug -{ - using namespace std::__debug; - - template - struct _Safe_iterator; -} -# 70 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 2 3 - -# 1 "/usr/include/c++/14.1.1/bits/predefined_ops.h" 1 3 -# 35 "/usr/include/c++/14.1.1/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; - - - - - constexpr - explicit - _Iter_less_val(_Iter_less_iter) { } - - template - constexpr - bool - operator()(_Iterator __it, _Value& __val) const - { return *__it < __val; } - }; - - constexpr - inline _Iter_less_val - __iter_less_val() - { return _Iter_less_val(); } - - constexpr - inline _Iter_less_val - __iter_comp_val(_Iter_less_iter) - { return _Iter_less_val(); } - - struct _Val_less_iter - { - - constexpr _Val_less_iter() = default; - - - - - constexpr - explicit - _Val_less_iter(_Iter_less_iter) { } - - template - constexpr - bool - operator()(_Value& __val, _Iterator __it) const - { return __val < *__it; } - }; - - constexpr - inline _Val_less_iter - __val_less_iter() - { return _Val_less_iter(); } - - constexpr - inline _Val_less_iter - __val_comp_iter(_Iter_less_iter) - { return _Val_less_iter(); } - - struct _Iter_equal_to_iter - { - template - constexpr - bool - operator()(_Iterator1 __it1, _Iterator2 __it2) const - { return *__it1 == *__it2; } - }; - - constexpr - inline _Iter_equal_to_iter - __iter_equal_to_iter() - { return _Iter_equal_to_iter(); } - - struct _Iter_equal_to_val - { - template - constexpr - bool - operator()(_Iterator __it, _Value& __val) const - { return *__it == __val; } - }; - - constexpr - inline _Iter_equal_to_val - __iter_equal_to_val() - { return _Iter_equal_to_val(); } - - constexpr - 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; - - constexpr - explicit - _Iter_comp_val(_Compare __comp) - : _M_comp(std::move(__comp)) - { } - - constexpr - explicit - _Iter_comp_val(const _Iter_comp_iter<_Compare>& __comp) - : _M_comp(__comp._M_comp) - { } - - - constexpr - explicit - _Iter_comp_val(_Iter_comp_iter<_Compare>&& __comp) - : _M_comp(std::move(__comp._M_comp)) - { } - - - template - constexpr - bool - operator()(_Iterator __it, _Value& __val) - { return bool(_M_comp(*__it, __val)); } - }; - - template - constexpr - inline _Iter_comp_val<_Compare> - __iter_comp_val(_Compare __comp) - { return _Iter_comp_val<_Compare>(std::move(__comp)); } - - template - constexpr - 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; - - constexpr - explicit - _Val_comp_iter(_Compare __comp) - : _M_comp(std::move(__comp)) - { } - - constexpr - explicit - _Val_comp_iter(const _Iter_comp_iter<_Compare>& __comp) - : _M_comp(__comp._M_comp) - { } - - - constexpr - explicit - _Val_comp_iter(_Iter_comp_iter<_Compare>&& __comp) - : _M_comp(std::move(__comp._M_comp)) - { } - - - template - constexpr - bool - operator()(_Value& __val, _Iterator __it) - { return bool(_M_comp(__val, *__it)); } - }; - - template - constexpr - inline _Val_comp_iter<_Compare> - __val_comp_iter(_Compare __comp) - { return _Val_comp_iter<_Compare>(std::move(__comp)); } - - template - constexpr - 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; - - constexpr - explicit - _Iter_equals_val(_Value& __value) - : _M_value(__value) - { } - - template - constexpr - bool - operator()(_Iterator __it) - { return *__it == _M_value; } - }; - - template - constexpr - inline _Iter_equals_val<_Value> - __iter_equals_val(_Value& __val) - { return _Iter_equals_val<_Value>(__val); } - - template - struct _Iter_equals_iter - { - _Iterator1 _M_it1; - - constexpr - explicit - _Iter_equals_iter(_Iterator1 __it1) - : _M_it1(__it1) - { } - - template - constexpr - bool - operator()(_Iterator2 __it2) - { return *__it2 == *_M_it1; } - }; - - template - constexpr - 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; - - constexpr - explicit - _Iter_pred(_Predicate __pred) - : _M_pred(std::move(__pred)) - { } - - template - constexpr - bool - operator()(_Iterator __it) - { return bool(_M_pred(*__it)); } - }; - - template - constexpr - 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; - - constexpr - _Iter_comp_to_val(_Compare __comp, _Value& __value) - : _M_comp(std::move(__comp)), _M_value(__value) - { } - - template - constexpr - bool - operator()(_Iterator __it) - { return bool(_M_comp(*__it, _M_value)); } - }; - - template - _Iter_comp_to_val<_Compare, _Value> - constexpr - __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; - - constexpr - _Iter_comp_to_iter(_Compare __comp, _Iterator1 __it1) - : _M_comp(std::move(__comp)), _M_it1(__it1) - { } - - template - constexpr - bool - operator()(_Iterator2 __it2) - { return bool(_M_comp(*__it2, *_M_it1)); } - }; - - template - constexpr - 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; - - constexpr - explicit - _Iter_negate(_Predicate __pred) - : _M_pred(std::move(__pred)) - { } - - template - constexpr - bool - operator()(_Iterator __it) - { return !bool(_M_pred(*__it)); } - }; - - template - constexpr - inline _Iter_negate<_Predicate> - __negate(_Iter_pred<_Predicate> __pred) - { return _Iter_negate<_Predicate>(std::move(__pred._M_pred)); } - -} -} -# 72 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 2 3 - - - - -# 1 "/usr/include/c++/14.1.1/bit" 1 3 -# 32 "/usr/include/c++/14.1.1/bit" 3 - -# 33 "/usr/include/c++/14.1.1/bit" 3 -# 61 "/usr/include/c++/14.1.1/bit" 3 -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 62 "/usr/include/c++/14.1.1/bit" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 85 "/usr/include/c++/14.1.1/bit" 3 - template - [[nodiscard]] - constexpr _To - bit_cast(const _From& __from) noexcept - - requires (sizeof(_To) == sizeof(_From)) - && is_trivially_copyable_v<_To> && is_trivially_copyable_v<_From> - - { - return __builtin_bit_cast(_To, __from); - } -# 155 "/usr/include/c++/14.1.1/bit" 3 - template - constexpr _Tp - __rotl(_Tp __x, int __s) noexcept - { - constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits; - if constexpr ((_Nd & (_Nd - 1)) == 0) - { - - - constexpr unsigned __uNd = _Nd; - const unsigned __r = __s; - return (__x << (__r % __uNd)) | (__x >> ((-__r) % __uNd)); - } - const int __r = __s % _Nd; - if (__r == 0) - return __x; - else if (__r > 0) - return (__x << __r) | (__x >> ((_Nd - __r) % _Nd)); - else - return (__x >> -__r) | (__x << ((_Nd + __r) % _Nd)); - } - - template - constexpr _Tp - __rotr(_Tp __x, int __s) noexcept - { - constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits; - if constexpr ((_Nd & (_Nd - 1)) == 0) - { - - - constexpr unsigned __uNd = _Nd; - const unsigned __r = __s; - return (__x >> (__r % __uNd)) | (__x << ((-__r) % __uNd)); - } - const int __r = __s % _Nd; - if (__r == 0) - return __x; - else if (__r > 0) - return (__x >> __r) | (__x << ((_Nd - __r) % _Nd)); - else - return (__x << -__r) | (__x >> ((_Nd + __r) % _Nd)); - } - - template - constexpr int - __countl_zero(_Tp __x) noexcept - { - using __gnu_cxx::__int_traits; - constexpr auto _Nd = __int_traits<_Tp>::__digits; - - if (__x == 0) - return _Nd; - - constexpr auto _Nd_ull = __int_traits::__digits; - constexpr auto _Nd_ul = __int_traits::__digits; - constexpr auto _Nd_u = __int_traits::__digits; - - if constexpr (_Nd <= _Nd_u) - { - constexpr int __diff = _Nd_u - _Nd; - return __builtin_clz(__x) - __diff; - } - else if constexpr (_Nd <= _Nd_ul) - { - constexpr int __diff = _Nd_ul - _Nd; - return __builtin_clzl(__x) - __diff; - } - else if constexpr (_Nd <= _Nd_ull) - { - constexpr int __diff = _Nd_ull - _Nd; - return __builtin_clzll(__x) - __diff; - } - else - { - static_assert(_Nd <= (2 * _Nd_ull), - "Maximum supported integer size is 128-bit"); - - unsigned long long __high = __x >> _Nd_ull; - if (__high != 0) - { - constexpr int __diff = (2 * _Nd_ull) - _Nd; - return __builtin_clzll(__high) - __diff; - } - constexpr auto __max_ull = __int_traits::__max; - unsigned long long __low = __x & __max_ull; - return (_Nd - _Nd_ull) + __builtin_clzll(__low); - } - } - - template - constexpr int - __countl_one(_Tp __x) noexcept - { - return std::__countl_zero<_Tp>((_Tp)~__x); - } - - template - constexpr int - __countr_zero(_Tp __x) noexcept - { - using __gnu_cxx::__int_traits; - constexpr auto _Nd = __int_traits<_Tp>::__digits; - - if (__x == 0) - return _Nd; - - constexpr auto _Nd_ull = __int_traits::__digits; - constexpr auto _Nd_ul = __int_traits::__digits; - constexpr auto _Nd_u = __int_traits::__digits; - - if constexpr (_Nd <= _Nd_u) - return __builtin_ctz(__x); - else if constexpr (_Nd <= _Nd_ul) - return __builtin_ctzl(__x); - else if constexpr (_Nd <= _Nd_ull) - return __builtin_ctzll(__x); - else - { - static_assert(_Nd <= (2 * _Nd_ull), - "Maximum supported integer size is 128-bit"); - - constexpr auto __max_ull = __int_traits::__max; - unsigned long long __low = __x & __max_ull; - if (__low != 0) - return __builtin_ctzll(__low); - unsigned long long __high = __x >> _Nd_ull; - return __builtin_ctzll(__high) + _Nd_ull; - } - } - - template - constexpr int - __countr_one(_Tp __x) noexcept - { - return std::__countr_zero((_Tp)~__x); - } - - template - constexpr int - __popcount(_Tp __x) noexcept - { - using __gnu_cxx::__int_traits; - constexpr auto _Nd = __int_traits<_Tp>::__digits; - - constexpr auto _Nd_ull = __int_traits::__digits; - constexpr auto _Nd_ul = __int_traits::__digits; - constexpr auto _Nd_u = __int_traits::__digits; - - if constexpr (_Nd <= _Nd_u) - return __builtin_popcount(__x); - else if constexpr (_Nd <= _Nd_ul) - return __builtin_popcountl(__x); - else if constexpr (_Nd <= _Nd_ull) - return __builtin_popcountll(__x); - else - { - static_assert(_Nd <= (2 * _Nd_ull), - "Maximum supported integer size is 128-bit"); - - constexpr auto __max_ull = __int_traits::__max; - unsigned long long __low = __x & __max_ull; - unsigned long long __high = __x >> _Nd_ull; - return __builtin_popcountll(__low) + __builtin_popcountll(__high); - } - } - - template - constexpr bool - __has_single_bit(_Tp __x) noexcept - { return std::__popcount(__x) == 1; } - - template - constexpr _Tp - __bit_ceil(_Tp __x) noexcept - { - using __gnu_cxx::__int_traits; - constexpr auto _Nd = __int_traits<_Tp>::__digits; - if (__x == 0 || __x == 1) - return 1; - auto __shift_exponent = _Nd - std::__countl_zero((_Tp)(__x - 1u)); - - - - - if (!std::__is_constant_evaluated()) - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__shift_exponent != __int_traits<_Tp>::__digits), false)) std::__glibcxx_assert_fail(); } while (false); - } - - using __promoted_type = decltype(__x << 1); - if constexpr (!is_same<__promoted_type, _Tp>::value) - { - - - - - - const int __extra_exp = sizeof(__promoted_type) / sizeof(_Tp) / 2; - __shift_exponent |= (__shift_exponent & _Nd) << __extra_exp; - } - return (_Tp)1u << __shift_exponent; - } - - template - constexpr _Tp - __bit_floor(_Tp __x) noexcept - { - constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits; - if (__x == 0) - return 0; - return (_Tp)1u << (_Nd - std::__countl_zero((_Tp)(__x >> 1))); - } - - template - constexpr int - __bit_width(_Tp __x) noexcept - { - constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits; - return _Nd - std::__countl_zero(__x); - } - - - - - - - template - concept __unsigned_integer = __is_unsigned_integer<_Tp>::value; - - - - - - template<__unsigned_integer _Tp> - [[nodiscard]] constexpr _Tp - rotl(_Tp __x, int __s) noexcept - { return std::__rotl(__x, __s); } - - - template<__unsigned_integer _Tp> - [[nodiscard]] constexpr _Tp - rotr(_Tp __x, int __s) noexcept - { return std::__rotr(__x, __s); } - - - - - template<__unsigned_integer _Tp> - constexpr int - countl_zero(_Tp __x) noexcept - { return std::__countl_zero(__x); } - - - template<__unsigned_integer _Tp> - constexpr int - countl_one(_Tp __x) noexcept - { return std::__countl_one(__x); } - - - template<__unsigned_integer _Tp> - constexpr int - countr_zero(_Tp __x) noexcept - { return std::__countr_zero(__x); } - - - template<__unsigned_integer _Tp> - constexpr int - countr_one(_Tp __x) noexcept - { return std::__countr_one(__x); } - - - template<__unsigned_integer _Tp> - constexpr int - popcount(_Tp __x) noexcept - { return std::__popcount(__x); } - - - - - - - template<__unsigned_integer _Tp> - constexpr bool - has_single_bit(_Tp __x) noexcept - { return std::__has_single_bit(__x); } - - - template<__unsigned_integer _Tp> - constexpr _Tp - bit_ceil(_Tp __x) noexcept - { return std::__bit_ceil(__x); } - - - template<__unsigned_integer _Tp> - constexpr _Tp - bit_floor(_Tp __x) noexcept - { return std::__bit_floor(__x); } - - - - - template<__unsigned_integer _Tp> - constexpr int - bit_width(_Tp __x) noexcept - { return std::__bit_width(__x); } -# 472 "/usr/include/c++/14.1.1/bit" 3 - enum class endian - { - little = 1234, - big = 4321, - native = 1234 - }; - - - - - -} -# 77 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 2 3 - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - 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"); - - - if (std::is_constant_evaluated()) - { - for(; __num > 0; ++__first1, ++__first2, --__num) - if (*__first1 != *__first2) - return *__first1 < *__first2 ? -1 : 1; - return 0; - } - else - - return __builtin_memcmp(__first1, __first2, sizeof(_Tp) * __num); - } -# 152 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - inline void - iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) - { - - - - -# 185 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - swap(*__a, *__b); - - } -# 201 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - _ForwardIterator2 - swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1, - _ForwardIterator2 __first2) - { - - - - - - ; - - for (; __first1 != __last1; ++__first1, (void)++__first2) - std::iter_swap(__first1, __first2); - return __first2; - } -# 230 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline const _Tp& - min(const _Tp& __a, const _Tp& __b) - { - - - - if (__b < __a) - return __b; - return __a; - } -# 254 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline const _Tp& - max(const _Tp& __a, const _Tp& __b) - { - - - - if (__a < __b) - return __b; - return __a; - } -# 278 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline const _Tp& - min(const _Tp& __a, const _Tp& __b, _Compare __comp) - { - - if (__comp(__b, __a)) - return __b; - return __a; - } -# 300 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline const _Tp& - max(const _Tp& __a, const _Tp& __b, _Compare __comp) - { - - if (__comp(__a, __b)) - return __b; - return __a; - } - - - - template - constexpr - inline _Iterator - __niter_base(_Iterator __it) - noexcept(std::is_nothrow_copy_constructible<_Iterator>::value) - { return __it; } -# 332 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - decltype(std::__niter_base(std::declval<_Ite>())) - __niter_base(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, - std::random_access_iterator_tag>&) - noexcept(std::is_nothrow_copy_constructible<_Ite>::value); - - - - - - template - constexpr - inline _From - __niter_wrap(_From __from, _To __res) - { return __from + (std::__niter_base(__res) - std::__niter_base(__from)); } - - - template - constexpr - inline _Iterator - __niter_wrap(const _Iterator&, _Iterator __res) - { return __res; } - - - - - - - - template - struct __copy_move - { - template - constexpr - 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 - constexpr - 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 - constexpr - 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 - static void - __assign_one(_Tp* __to, _Up* __from) - { *__to = *__from; } - }; - - - template<> - struct __copy_move - { - template - constexpr - 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 - static void - __assign_one(_Tp* __to, _Up* __from) - { *__to = std::move(*__from); } - }; - - - template - struct __copy_move<_IsMove, true, random_access_iterator_tag> - { - template - constexpr - static _Up* - __copy_m(_Tp* __first, _Tp* __last, _Up* __result) - { - const ptrdiff_t _Num = __last - __first; - if (__builtin_expect(_Num > 1, true)) - __builtin_memmove(__result, __first, sizeof(_Tp) * _Num); - else if (_Num == 1) - std::__copy_move<_IsMove, false, random_access_iterator_tag>:: - __assign_one(__result, __first); - 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 - constexpr - inline _OI - __copy_move_a2(_II __first, _II __last, _OI __result) - { - typedef typename iterator_traits<_II>::iterator_category _Category; - - if (std::is_constant_evaluated()) - return std::__copy_move<_IsMove, false, _Category>:: - __copy_m(__first, __last, __result); - - 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 - constexpr - inline _OI - __copy_move_a1(_II __first, _II __last, _OI __result) - { return std::__copy_move_a2<_IsMove>(__first, __last, __result); } - - template - constexpr - 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 - constexpr - _OI - __copy_move_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, - const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, - _OI); - - template - constexpr - __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat> - __copy_move_a(_II, _II, - const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&); - - template - constexpr - ::__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 - constexpr - _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); -# 639 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - 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); - } -# 672 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - 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 - constexpr - static _BI2 - __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) - { - while (__first != __last) - *--__result = *--__last; - return __result; - } - }; - - - template - struct __copy_move_backward - { - template - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - static _Up* - __copy_move_b(_Tp* __first, _Tp* __last, _Up* __result) - { - const ptrdiff_t _Num = __last - __first; - if (__builtin_expect(_Num > 1, true)) - __builtin_memmove(__result - _Num, __first, sizeof(_Tp) * _Num); - else if (_Num == 1) - std::__copy_move<_IsMove, false, random_access_iterator_tag>:: - __assign_one(__result - 1, __first); - return __result - _Num; - } - }; - - template - constexpr - inline _BI2 - __copy_move_backward_a2(_BI1 __first, _BI1 __last, _BI2 __result) - { - typedef typename iterator_traits<_BI1>::iterator_category _Category; - - if (std::is_constant_evaluated()) - return std::__copy_move_backward<_IsMove, false, _Category>:: - __copy_move_b(__first, __last, __result); - - return std::__copy_move_backward<_IsMove, - __memcpyable<_BI2, _BI1>::__value, - _Category>::__copy_move_b(__first, - __last, - __result); - } - - template - constexpr - 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 - constexpr - 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 - constexpr - _OI - __copy_move_backward_a( - const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, - const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, - _OI); - - template - constexpr - __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat> - __copy_move_backward_a(_II, _II, - const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&); - - template - constexpr - ::__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>&); -# 875 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - 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); - } -# 910 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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; - - if (std::is_constant_evaluated()) - { - for (; __first != __last; ++__first) - *__first = __tmp; - return; - } - - if (const size_t __len = __last - __first) - __builtin_memset(__first, static_cast(__tmp), __len); - } - - template - constexpr - 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&); - - constexpr - void - __fill_a1(std::_Bit_iterator, std::_Bit_iterator, - const bool&); - - template - constexpr - inline void - __fill_a(_FIte __first, _FIte __last, const _Tp& __value) - { std::__fill_a1(__first, __last, __value); } - - template - constexpr - void - __fill_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, - const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, - const _Tp&); -# 1019 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - 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; } - - - __extension__ inline constexpr __int128 - __size_to_integer(__int128 __n) { return __n; } - __extension__ inline constexpr unsigned __int128 - __size_to_integer(unsigned __int128 __n) { return __n; } -# 1071 "/usr/include/c++/14.1.1/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; } - - __extension__ inline constexpr long long - __size_to_integer(__float128 __n) { return (long long)__n; } - - - template - constexpr - 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 - constexpr - 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 - constexpr - ::__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 - constexpr - 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 - constexpr - 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 - constexpr - 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; - } -# 1172 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - bool - __equal_aux(const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&, - const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&, - _II2); - - template - constexpr - bool - __equal_aux(_II1, _II1, - const ::__gnu_debug::_Safe_iterator<_II2, _Seq2, _Cat2>&); - - template - constexpr - 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 - constexpr - static _II1 - __newlast1(_II1, _II1 __last1, _II2, _II2) - { return __last1; } - - template - constexpr - static bool - __cnd2(_II __first, _II __last) - { return __first != __last; } - }; - - template<> - struct __lc_rai - { - template - constexpr - 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 constexpr bool - __cnd2(_RAI, _RAI) - { return true; } - }; - - template - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - static bool - __lc(const _Tp* __first1, const _Tp* __last1, - const _Up* __first2, const _Up* __last2) - { return __3way(__first1, __last1, __first2, __last2) < 0; } - - template - constexpr - 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 - constexpr - 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 - - - - - && !is_volatile_v>> - && !is_volatile_v>> - - ); - - 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 - constexpr - 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 - constexpr - bool - __lexicographical_compare_aux( - const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&, - const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&, - _II2, _II2); - - template - constexpr - bool - __lexicographical_compare_aux( - _II1, _II1, - const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&, - const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&); - - template - constexpr - 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 - constexpr - _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; - } -# 1524 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline _ForwardIterator - lower_bound(_ForwardIterator __first, _ForwardIterator __last, - const _Tp& __val) - { - - - - - ; - - return std::__lower_bound(__first, __last, __val, - __gnu_cxx::__ops::__iter_less_val()); - } - - - - template - inline constexpr _Tp - __lg(_Tp __n) - { - - return std::__bit_width(make_unsigned_t<_Tp>(__n)) - 1; -# 1557 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - } - - -# 1573 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline bool - equal(_II1 __first1, _II1 __last1, _II2 __first2) - { - - - - - - - ; - - return std::__equal_aux(__first1, __last1, __first2); - } -# 1604 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - 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 - constexpr - 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 - constexpr - 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; - } -# 1691 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline bool - equal(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) - { - - - - - - - ; - ; - - return std::__equal4(__first1, __last1, __first2, __last2); - } -# 1724 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline bool - equal(_IIter1 __first1, _IIter1 __last1, - _IIter2 __first2, _IIter2 __last2, _BinaryPredicate __binary_pred) - { - - - - ; - ; - - return std::__equal4(__first1, __last1, __first2, __last2, - __binary_pred); - } -# 1756 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline bool - lexicographical_compare(_II1 __first1, _II1 __last1, - _II2 __first2, _II2 __last2) - { - - - - - - - - - - ; - ; - - return std::__lexicographical_compare_aux(__first1, __last1, - __first2, __last2); - } -# 1791 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - 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)); - } - - - - - - template - concept __memcmp_ordered_with - = (__is_memcmp_ordered_with, - iter_value_t<_Iter2>>::__value) - && contiguous_iterator<_Iter1> && contiguous_iterator<_Iter2>; - - - - template - constexpr auto - __min_cmp(_Tp __x, _Tp __y) - { - struct _Res { - _Tp _M_min; - decltype(__x <=> __y) _M_cmp; - }; - auto __c = __x <=> __y; - if (__c > 0) - return _Res{__y, __c}; - return _Res{__x, __c}; - } -# 1845 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[nodiscard]] constexpr auto - lexicographical_compare_three_way(_InputIter1 __first1, - _InputIter1 __last1, - _InputIter2 __first2, - _InputIter2 __last2, - _Comp __comp) - -> decltype(__comp(*__first1, *__first2)) - { - - - - ; - ; - - using _Cat = decltype(__comp(*__first1, *__first2)); - static_assert(same_as, _Cat>); - - if (!std::__is_constant_evaluated()) - if constexpr (same_as<_Comp, __detail::_Synth3way> - || same_as<_Comp, compare_three_way>) - if constexpr (__memcmp_ordered_with<_InputIter1, _InputIter2>) - { - const auto [__len, __lencmp] = std:: - __min_cmp(__last1 - __first1, __last2 - __first2); - if (__len) - { - const auto __blen = __len * sizeof(*__first1); - const auto __c - = __builtin_memcmp(&*__first1, &*__first2, __blen) <=> 0; - if (__c != 0) - return __c; - } - return __lencmp; - } - - while (__first1 != __last1) - { - if (__first2 == __last2) - return strong_ordering::greater; - if (auto __cmp = __comp(*__first1, *__first2); __cmp != 0) - return __cmp; - ++__first1; - ++__first2; - } - return (__first2 == __last2) <=> true; - } - - template - constexpr auto - lexicographical_compare_three_way(_InputIter1 __first1, - _InputIter1 __last1, - _InputIter2 __first2, - _InputIter2 __last2) - { - return std:: - lexicographical_compare_three_way(__first1, __last1, __first2, __last2, - compare_three_way{}); - } - - - template - constexpr - 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); - } -# 1934 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline pair<_InputIterator1, _InputIterator2> - mismatch(_InputIterator1 __first1, _InputIterator1 __last1, - _InputIterator2 __first2) - { - - - - - - - ; - - return std::__mismatch(__first1, __last1, __first2, - __gnu_cxx::__ops::__iter_equal_to_iter()); - } -# 1968 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - 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 - constexpr - 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); - } -# 2016 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - 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()); - } -# 2052 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - 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 - constexpr - inline _InputIterator - __find_if(_InputIterator __first, _InputIterator __last, - _Predicate __pred, input_iterator_tag) - { - while (__first != __last && !__pred(__first)) - ++__first; - return __first; - } - - - template - constexpr - _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 - constexpr - inline _Iterator - __find_if(_Iterator __first, _Iterator __last, _Predicate __pred) - { - return __find_if(__first, __last, __pred, - std::__iterator_category(__first)); - } - - template - constexpr - 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 - constexpr - _ForwardIterator - __remove_if(_ForwardIterator __first, _ForwardIterator __last, - _Predicate __pred) - { - __first = std::__find_if(__first, __last, __pred); - if (__first == __last) - return __first; - _ForwardIterator __result = __first; - ++__first; - for (; __first != __last; ++__first) - if (!__pred(__first)) - { - *__result = std::move(*__first); - ++__result; - } - return __result; - } - - template - constexpr - _ForwardIterator1 - __search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, - _ForwardIterator2 __first2, _ForwardIterator2 __last2, - _BinaryPredicate __predicate) - { - - if (__first1 == __last1 || __first2 == __last2) - return __first1; - - - _ForwardIterator2 __p1(__first2); - if (++__p1 == __last2) - return std::__find_if(__first1, __last1, - __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2)); - - - _ForwardIterator1 __current = __first1; - - for (;;) - { - __first1 = - std::__find_if(__first1, __last1, - __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2)); - - if (__first1 == __last1) - return __last1; - - _ForwardIterator2 __p = __p1; - __current = __first1; - if (++__current == __last1) - return __last1; - - while (__predicate(__current, __p)) - { - if (++__p == __last2) - return __first1; - if (++__current == __last1) - return __last1; - } - ++__first1; - } - return __first1; - } - - - template - constexpr - 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; - } -# 2276 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - inline bool - is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, - _ForwardIterator2 __first2) - { - - - - - - - ; - - return std::__is_permutation(__first1, __last1, __first2, - __gnu_cxx::__ops::__iter_equal_to_iter()); - } - - - -# 2318 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - inline _ForwardIterator1 - search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, - _ForwardIterator2 __first2, _ForwardIterator2 __last2, - _BinaryPredicate __predicate) - { - - - - - - - ; - ; - - return std::__search(__first1, __last1, __first2, __last2, - __gnu_cxx::__ops::__iter_comp_iter(__predicate)); - } - - - -} -# 52 "/usr/include/c++/14.1.1/string" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/refwrap.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/refwrap.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/refwrap.h" 3 - - - - -# 1 "/usr/include/c++/14.1.1/bits/invoke.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/invoke.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/invoke.h" 3 -# 42 "/usr/include/c++/14.1.1/bits/invoke.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 53 "/usr/include/c++/14.1.1/bits/invoke.h" 3 - template::type> - constexpr _Up&& - __invfwd(typename remove_reference<_Tp>::type& __t) noexcept - { return static_cast<_Up&&>(__t); } - - template - constexpr _Res - __invoke_impl(__invoke_other, _Fn&& __f, _Args&&... __args) - { return std::forward<_Fn>(__f)(std::forward<_Args>(__args)...); } - - template - constexpr _Res - __invoke_impl(__invoke_memfun_ref, _MemFun&& __f, _Tp&& __t, - _Args&&... __args) - { return (__invfwd<_Tp>(__t).*__f)(std::forward<_Args>(__args)...); } - - template - constexpr _Res - __invoke_impl(__invoke_memfun_deref, _MemFun&& __f, _Tp&& __t, - _Args&&... __args) - { - return ((*std::forward<_Tp>(__t)).*__f)(std::forward<_Args>(__args)...); - } - - template - constexpr _Res - __invoke_impl(__invoke_memobj_ref, _MemPtr&& __f, _Tp&& __t) - { return __invfwd<_Tp>(__t).*__f; } - - template - constexpr _Res - __invoke_impl(__invoke_memobj_deref, _MemPtr&& __f, _Tp&& __t) - { return (*std::forward<_Tp>(__t)).*__f; } - - - template - constexpr typename __invoke_result<_Callable, _Args...>::type - __invoke(_Callable&& __fn, _Args&&... __args) - noexcept(__is_nothrow_invocable<_Callable, _Args...>::value) - { - using __result = __invoke_result<_Callable, _Args...>; - using __type = typename __result::type; - using __tag = typename __result::__invoke_type; - return std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn), - std::forward<_Args>(__args)...); - } - - - - template - constexpr enable_if_t, _Res> - __invoke_r(_Callable&& __fn, _Args&&... __args) - noexcept(is_nothrow_invocable_r_v<_Res, _Callable, _Args...>) - { - using __result = __invoke_result<_Callable, _Args...>; - using __type = typename __result::type; - using __tag = typename __result::__invoke_type; - if constexpr (is_void_v<_Res>) - std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn), - std::forward<_Args>(__args)...); - else - return std::__invoke_impl<__type>(__tag{}, - std::forward<_Callable>(__fn), - std::forward<_Args>(__args)...); - } -# 155 "/usr/include/c++/14.1.1/bits/invoke.h" 3 - -} -# 39 "/usr/include/c++/14.1.1/bits/refwrap.h" 2 3 - - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 56 "/usr/include/c++/14.1.1/bits/refwrap.h" 3 - template - struct _Maybe_unary_or_binary_function { }; - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - - - template - struct _Maybe_unary_or_binary_function<_Res, _T1> - : std::unary_function<_T1, _Res> { }; - - - template - struct _Maybe_unary_or_binary_function<_Res, _T1, _T2> - : std::binary_function<_T1, _T2, _Res> { }; - -#pragma GCC diagnostic pop - - template - struct _Mem_fn_traits; - - template - struct _Mem_fn_traits_base - { - using __result_type = _Res; - using __maybe_type - = _Maybe_unary_or_binary_function<_Res, _Class*, _ArgTypes...>; - using __arity = integral_constant; - }; -# 107 "/usr/include/c++/14.1.1/bits/refwrap.h" 3 -template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; -template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; -template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; - - -template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; -template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) & noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) & noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const & noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const & noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile & noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile & noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile & noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile & noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; -template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) && noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) && noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const && noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const && noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile && noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile && noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile && noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile && noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; - - - - - - - template> - struct _Maybe_get_result_type - { }; - - template - struct _Maybe_get_result_type<_Functor, - __void_t> - { typedef typename _Functor::result_type result_type; }; - - - - - - template - struct _Weak_result_type_impl - : _Maybe_get_result_type<_Functor> - { }; - - - template - struct _Weak_result_type_impl<_Res(_ArgTypes...) noexcept (_NE)> - { typedef _Res result_type; }; - - - template - struct _Weak_result_type_impl<_Res(_ArgTypes......) noexcept (_NE)> - { typedef _Res result_type; }; - - - template - struct _Weak_result_type_impl<_Res(*)(_ArgTypes...) noexcept (_NE)> - { typedef _Res result_type; }; - - - template - struct - _Weak_result_type_impl<_Res(*)(_ArgTypes......) noexcept (_NE)> - { typedef _Res result_type; }; - - - template::value> - struct _Weak_result_type_memfun - : _Weak_result_type_impl<_Functor> - { }; - - - template - struct _Weak_result_type_memfun<_MemFunPtr, true> - { - using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type; - }; - - - template - struct _Weak_result_type_memfun<_Func _Class::*, false> - { }; - - - - - - template - struct _Weak_result_type - : _Weak_result_type_memfun::type> - { }; -# 306 "/usr/include/c++/14.1.1/bits/refwrap.h" 3 - template - class reference_wrapper - - - - - - { - _Tp* _M_data; - - constexpr - static _Tp* _S_fun(_Tp& __r) noexcept { return std::__addressof(__r); } - - static void _S_fun(_Tp&&) = delete; - - template> - using __not_same - = typename enable_if::value>::type; - - public: - typedef _Tp type; - - - - - template, typename - = decltype(reference_wrapper::_S_fun(std::declval<_Up>()))> - constexpr - reference_wrapper(_Up&& __uref) - noexcept(noexcept(reference_wrapper::_S_fun(std::declval<_Up>()))) - : _M_data(reference_wrapper::_S_fun(std::forward<_Up>(__uref))) - { } - - reference_wrapper(const reference_wrapper&) = default; - - reference_wrapper& - operator=(const reference_wrapper&) = default; - - constexpr - operator _Tp&() const noexcept - { return this->get(); } - - constexpr - _Tp& - get() const noexcept - { return *_M_data; } - - template - constexpr - typename __invoke_result<_Tp&, _Args...>::type - operator()(_Args&&... __args) const - noexcept(__is_nothrow_invocable<_Tp&, _Args...>::value) - { - - if constexpr (is_object_v) - static_assert(sizeof(type), "type must be complete"); - - return std::__invoke(get(), std::forward<_Args>(__args)...); - } -# 412 "/usr/include/c++/14.1.1/bits/refwrap.h" 3 - }; - - - template - reference_wrapper(_Tp&) -> reference_wrapper<_Tp>; - - - - - - template - constexpr - inline reference_wrapper<_Tp> - ref(_Tp& __t) noexcept - { return reference_wrapper<_Tp>(__t); } - - - template - constexpr - inline reference_wrapper - cref(const _Tp& __t) noexcept - { return reference_wrapper(__t); } - - template - void ref(const _Tp&&) = delete; - - template - void cref(const _Tp&&) = delete; - - - template - constexpr - inline reference_wrapper<_Tp> - ref(reference_wrapper<_Tp> __t) noexcept - { return __t; } - - - template - constexpr - inline reference_wrapper - cref(reference_wrapper<_Tp> __t) noexcept - { return { __t.get() }; } - - - - -} -# 53 "/usr/include/c++/14.1.1/string" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/range_access.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/range_access.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/range_access.h" 3 - - -# 1 "/usr/include/c++/14.1.1/initializer_list" 1 3 -# 33 "/usr/include/c++/14.1.1/initializer_list" 3 - -# 34 "/usr/include/c++/14.1.1/initializer_list" 3 - - - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - 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(); } -} -# 37 "/usr/include/c++/14.1.1/bits/range_access.h" 2 3 - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - begin(_Container& __cont) -> decltype(__cont.begin()) - { return __cont.begin(); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - begin(const _Container& __cont) -> decltype(__cont.begin()) - { return __cont.begin(); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - end(_Container& __cont) -> decltype(__cont.end()) - { return __cont.end(); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - end(const _Container& __cont) -> decltype(__cont.end()) - { return __cont.end(); } - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr _Tp* - begin(_Tp (&__arr)[_Nm]) noexcept - { return __arr; } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - 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 - [[__nodiscard__, __gnu__::__always_inline__]] - constexpr auto - cbegin(const _Container& __cont) noexcept(noexcept(std::begin(__cont))) - -> decltype(std::begin(__cont)) - { return std::begin(__cont); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - constexpr auto - cend(const _Container& __cont) noexcept(noexcept(std::end(__cont))) - -> decltype(std::end(__cont)) - { return std::end(__cont); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - rbegin(_Container& __cont) -> decltype(__cont.rbegin()) - { return __cont.rbegin(); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - rbegin(const _Container& __cont) -> decltype(__cont.rbegin()) - { return __cont.rbegin(); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - rend(_Container& __cont) -> decltype(__cont.rend()) - { return __cont.rend(); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - rend(const _Container& __cont) -> decltype(__cont.rend()) - { return __cont.rend(); } - - - - - - - template - [[__nodiscard__]] - inline constexpr reverse_iterator<_Tp*> - rbegin(_Tp (&__arr)[_Nm]) noexcept - { return reverse_iterator<_Tp*>(__arr + _Nm); } - - - - - - - template - [[__nodiscard__]] - inline constexpr reverse_iterator<_Tp*> - rend(_Tp (&__arr)[_Nm]) noexcept - { return reverse_iterator<_Tp*>(__arr); } - - - - - - - template - [[__nodiscard__]] - inline constexpr reverse_iterator - rbegin(initializer_list<_Tp> __il) noexcept - { return reverse_iterator(__il.end()); } - - - - - - - template - [[__nodiscard__]] - inline constexpr reverse_iterator - rend(initializer_list<_Tp> __il) noexcept - { return reverse_iterator(__il.begin()); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - crbegin(const _Container& __cont) -> decltype(std::rbegin(__cont)) - { return std::rbegin(__cont); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - crend(const _Container& __cont) -> decltype(std::rend(__cont)) - { return std::rend(__cont); } -# 259 "/usr/include/c++/14.1.1/bits/range_access.h" 3 - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr auto - size(const _Container& __cont) noexcept(noexcept(__cont.size())) - -> decltype(__cont.size()) - { return __cont.size(); } - - - - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr size_t - size(const _Tp (&)[_Nm]) noexcept - { return _Nm; } - - - - - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr auto - empty(const _Container& __cont) noexcept(noexcept(__cont.empty())) - -> decltype(__cont.empty()) - { return __cont.empty(); } - - - - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr bool - empty(const _Tp (&)[_Nm]) noexcept - { return false; } - - - - - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr bool - empty(initializer_list<_Tp> __il) noexcept - { return __il.size() == 0;} - - - - - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr auto - data(_Container& __cont) noexcept(noexcept(__cont.data())) - -> decltype(__cont.data()) - { return __cont.data(); } - - - - - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr auto - data(const _Container& __cont) noexcept(noexcept(__cont.data())) - -> decltype(__cont.data()) - { return __cont.data(); } - - - - - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr _Tp* - data(_Tp (&__array)[_Nm]) noexcept - { return __array; } - - - - - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr const _Tp* - data(initializer_list<_Tp> __il) noexcept - { return __il.begin(); } - - - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr auto - ssize(const _Container& __cont) - noexcept(noexcept(__cont.size())) - -> common_type_t> - { - using type = make_signed_t; - return static_cast>(__cont.size()); - } - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr ptrdiff_t - ssize(const _Tp (&)[_Num]) noexcept - { return _Num; } - - -} -# 54 "/usr/include/c++/14.1.1/string" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/basic_string.h" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - -# 38 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - -# 1 "/usr/include/c++/14.1.1/ext/alloc_traits.h" 1 3 -# 32 "/usr/include/c++/14.1.1/ext/alloc_traits.h" 3 - -# 33 "/usr/include/c++/14.1.1/ext/alloc_traits.h" 3 - -# 1 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 1 3 -# 46 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - struct __allocator_traits_base - { - template - struct __rebind : __replace_first_arg<_Tp, _Up> - { - static_assert(is_same< - typename __replace_first_arg<_Tp, typename _Tp::value_type>::type, - _Tp>::value, - "allocator_traits::rebind_alloc must be A"); - }; - - template - struct __rebind<_Tp, _Up, - __void_t::other>> - { - using type = typename _Tp::template rebind<_Up>::other; - - static_assert(is_same< - typename _Tp::template rebind::other, - _Tp>::value, - "allocator_traits::rebind_alloc must be A"); - }; - - 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 = __type_identity; - }; - - template - using __alloc_rebind - = typename __allocator_traits_base::template __rebind<_Alloc, _Up>::type; -# 105 "/usr/include/c++/14.1.1/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 - = typename __detected_or_t, __equal, _Alloc>::type; - - 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) - { - - - - std::construct_at(__p, 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: -# 332 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - [[__nodiscard__]] static constexpr pointer - allocate(_Alloc& __a, size_type __n) - { return __a.allocate(__n); } -# 347 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - [[__nodiscard__]] static constexpr pointer - allocate(_Alloc& __a, size_type __n, const_void_pointer __hint) - { return _S_allocate(__a, __n, __hint, 0); } -# 359 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - static constexpr void - deallocate(_Alloc& __a, pointer __p, size_type __n) - { __a.deallocate(__p, __n); } -# 374 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - static constexpr 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)...); } -# 390 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - static constexpr void - destroy(_Alloc& __a, _Tp* __p) - noexcept(noexcept(_S_destroy(__a, __p, 0))) - { _S_destroy(__a, __p, 0); } -# 404 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - static constexpr size_type - max_size(const _Alloc& __a) noexcept - { return _S_max_size(__a, 0); } -# 416 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - static constexpr _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>; -# 475 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - [[__nodiscard__,__gnu__::__always_inline__]] - static constexpr pointer - allocate(allocator_type& __a, size_type __n) - { return __a.allocate(__n); } -# 490 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - [[__nodiscard__,__gnu__::__always_inline__]] - static constexpr pointer - allocate(allocator_type& __a, size_type __n, - [[maybe_unused]] const_void_pointer __hint) - { - - - - return __a.allocate(__n); - - } -# 510 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - [[__gnu__::__always_inline__]] - static constexpr void - deallocate(allocator_type& __a, pointer __p, size_type __n) - { __a.deallocate(__p, __n); } -# 526 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - [[__gnu__::__always_inline__]] - static constexpr void - construct(allocator_type& __a __attribute__((__unused__)), _Up* __p, - _Args&&... __args) - noexcept(std::is_nothrow_constructible<_Up, _Args...>::value) - { - - - - std::construct_at(__p, std::forward<_Args>(__args)...); - - } -# 547 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - [[__gnu__::__always_inline__]] - static constexpr void - destroy(allocator_type& __a __attribute__((__unused__)), _Up* __p) - noexcept(is_nothrow_destructible<_Up>::value) - { - - - - std::destroy_at(__p); - - } - - - - - - - [[__gnu__::__always_inline__]] - static constexpr size_type - max_size(const allocator_type& __a __attribute__((__unused__))) noexcept - { - - - - return size_t(-1) / sizeof(value_type); - - } - - - - - - - [[__gnu__::__always_inline__]] - static constexpr 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; -# 652 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - [[__gnu__::__always_inline__]] - static constexpr void - construct(allocator_type&, _Up* __p, _Args&&... __args) - noexcept(std::is_nothrow_constructible<_Up, _Args...>::value) - { std::_Construct(__p, std::forward<_Args>(__args)...); } -# 666 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - [[__gnu__::__always_inline__]] - static constexpr void - destroy(allocator_type&, _Up* __p) - noexcept(is_nothrow_destructible<_Up>::value) - { std::_Destroy(__p); } - - - static size_type - max_size(const allocator_type&) = delete; - - - - - - - [[__gnu__::__always_inline__]] - static constexpr allocator_type - select_on_container_copy_construction(const allocator_type& __rhs) - { return __rhs; } - }; -# 704 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - [[__gnu__::__always_inline__]] - constexpr inline void - __alloc_on_copy(_Alloc& __one, const _Alloc& __two) - { - using __traits = allocator_traits<_Alloc>; - using __pocca = - typename __traits::propagate_on_container_copy_assignment::type; - - if constexpr (__pocca::value) - __one = __two; - - - - } - - template - [[__gnu__::__always_inline__]] - constexpr _Alloc - __alloc_on_copy(const _Alloc& __a) - { - typedef allocator_traits<_Alloc> __traits; - return __traits::select_on_container_copy_construction(__a); - } -# 741 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - [[__gnu__::__always_inline__]] - constexpr inline void - __alloc_on_move(_Alloc& __one, _Alloc& __two) - { - using __traits = allocator_traits<_Alloc>; - using __pocma - = typename __traits::propagate_on_container_move_assignment::type; - - if constexpr (__pocma::value) - __one = std::move(__two); - - - - } -# 772 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - [[__gnu__::__always_inline__]] - constexpr inline void - __alloc_on_swap(_Alloc& __one, _Alloc& __two) - { - using __traits = allocator_traits<_Alloc>; - using __pocs = typename __traits::propagate_on_container_swap::type; - - 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; - - - template - concept __allocator_like = requires (_Alloc& __a) { - typename _Alloc::value_type; - __a.deallocate(__a.allocate(1u), 1u); - }; - - - - - - - - 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, - 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> - { - constexpr - 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; } - - - - } - }; -# 922 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - constexpr - void - _Destroy(_ForwardIterator __first, _ForwardIterator __last, - _Allocator& __alloc) - { - for (; __first != __last; ++__first) - - - - allocator_traits<_Allocator>::destroy(__alloc, - std::__addressof(*__first)); - - } - - - template - __attribute__((__always_inline__)) constexpr - inline void - _Destroy(_ForwardIterator __first, _ForwardIterator __last, - allocator<_Tp>&) - { - std::_Destroy(__first, __last); - } - - - - -} -# 35 "/usr/include/c++/14.1.1/ext/alloc_traits.h" 2 3 - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - - - - - - -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 - [[__gnu__::__always_inline__]] - 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 - [[__gnu__::__always_inline__]] - 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)); } - - [[__gnu__::__always_inline__]] - static constexpr _Alloc _S_select_on_copy(const _Alloc& __a) - { return _Base_type::select_on_container_copy_construction(__a); } - - [[__gnu__::__always_inline__]] - static constexpr void _S_on_swap(_Alloc& __a, _Alloc& __b) - { std::__alloc_on_swap(__a, __b); } - - [[__gnu__::__always_inline__]] - static constexpr bool _S_propagate_on_copy_assign() - { return _Base_type::propagate_on_container_copy_assignment::value; } - - [[__gnu__::__always_inline__]] - static constexpr bool _S_propagate_on_move_assign() - { return _Base_type::propagate_on_container_move_assignment::value; } - - [[__gnu__::__always_inline__]] - static constexpr bool _S_propagate_on_swap() - { return _Base_type::propagate_on_container_swap::value; } - - [[__gnu__::__always_inline__]] - static constexpr bool _S_always_equal() - { return _Base_type::is_always_equal::value; } - - __attribute__((__always_inline__)) - 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; }; -# 180 "/usr/include/c++/14.1.1/ext/alloc_traits.h" 3 - }; - - -} -# 40 "/usr/include/c++/14.1.1/bits/basic_string.h" 2 3 - - - - - - - -# 1 "/usr/include/c++/14.1.1/string_view" 1 3 -# 36 "/usr/include/c++/14.1.1/string_view" 3 - -# 37 "/usr/include/c++/14.1.1/string_view" 3 - - - - - - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 45 "/usr/include/c++/14.1.1/string_view" 2 3 - - - - - -# 1 "/usr/include/c++/14.1.1/bits/functional_hash.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/functional_hash.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/functional_hash.h" 3 - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 50 "/usr/include/c++/14.1.1/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/include/c++/14.1.1/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()(char8_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); } }; - - - __extension__ - template<> struct hash<__int128> : public __hash_base { size_t operator()(__int128 __val) const noexcept { return static_cast(__val); } }; - __extension__ - template<> struct hash<__int128 unsigned> : public __hash_base { size_t operator()(__int128 unsigned __val) const noexcept { return static_cast(__val); } }; -# 201 "/usr/include/c++/14.1.1/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; } - }; -# 294 "/usr/include/c++/14.1.1/bits/functional_hash.h" 3 - template - struct __is_fast_hash : public std::true_type - { }; - - template<> - struct __is_fast_hash> : public std::false_type - { }; - - -} -# 51 "/usr/include/c++/14.1.1/string_view" 2 3 - - - - - -# 1 "/usr/include/c++/14.1.1/bits/ranges_base.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - - - - - -# 1 "/usr/include/c++/14.1.1/bits/max_size_type.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/max_size_type.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/max_size_type.h" 3 - - - -# 1 "/usr/include/c++/14.1.1/numbers" 1 3 -# 32 "/usr/include/c++/14.1.1/numbers" 3 - -# 33 "/usr/include/c++/14.1.1/numbers" 3 - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 36 "/usr/include/c++/14.1.1/numbers" 2 3 - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - - -namespace numbers -{ - - - template - using _Enable_if_floating = enable_if_t, _Tp>; - - - - template - inline constexpr _Tp e_v - = _Enable_if_floating<_Tp>(2.718281828459045235360287471352662498L); - - - template - inline constexpr _Tp log2e_v - = _Enable_if_floating<_Tp>(1.442695040888963407359924681001892137L); - - - template - inline constexpr _Tp log10e_v - = _Enable_if_floating<_Tp>(0.434294481903251827651128918916605082L); - - - template - inline constexpr _Tp pi_v - = _Enable_if_floating<_Tp>(3.141592653589793238462643383279502884L); - - - template - inline constexpr _Tp inv_pi_v - = _Enable_if_floating<_Tp>(0.318309886183790671537767526745028724L); - - - template - inline constexpr _Tp inv_sqrtpi_v - = _Enable_if_floating<_Tp>(0.564189583547756286948079451560772586L); - - - template - inline constexpr _Tp ln2_v - = _Enable_if_floating<_Tp>(0.693147180559945309417232121458176568L); - - - template - inline constexpr _Tp ln10_v - = _Enable_if_floating<_Tp>(2.302585092994045684017991454684364208L); - - - template - inline constexpr _Tp sqrt2_v - = _Enable_if_floating<_Tp>(1.414213562373095048801688724209698079L); - - - template - inline constexpr _Tp sqrt3_v - = _Enable_if_floating<_Tp>(1.732050807568877293527446341505872367L); - - - template - inline constexpr _Tp inv_sqrt3_v - = _Enable_if_floating<_Tp>(0.577350269189625764509148780501957456L); - - - template - inline constexpr _Tp egamma_v - = _Enable_if_floating<_Tp>(0.577215664901532860606512090082402431L); - - - template - inline constexpr _Tp phi_v - = _Enable_if_floating<_Tp>(1.618033988749894848204586834365638118L); - - inline constexpr double e = e_v; - inline constexpr double log2e = log2e_v; - inline constexpr double log10e = log10e_v; - inline constexpr double pi = pi_v; - inline constexpr double inv_pi = inv_pi_v; - inline constexpr double inv_sqrtpi = inv_sqrtpi_v; - inline constexpr double ln2 = ln2_v; - inline constexpr double ln10 = ln10_v; - inline constexpr double sqrt2 = sqrt2_v; - inline constexpr double sqrt3 = sqrt3_v; - inline constexpr double inv_sqrt3 = inv_sqrt3_v; - inline constexpr double egamma = egamma_v; - inline constexpr double phi = phi_v; -# 225 "/usr/include/c++/14.1.1/numbers" 3 -template<> inline constexpr __float128 e_v<__float128> = 2.718281828459045235360287471352662498Q; template<> inline constexpr __float128 log2e_v<__float128> = 1.442695040888963407359924681001892137Q; template<> inline constexpr __float128 log10e_v<__float128> = 0.434294481903251827651128918916605082Q; template<> inline constexpr __float128 pi_v<__float128> = 3.141592653589793238462643383279502884Q; template<> inline constexpr __float128 inv_pi_v<__float128> = 0.318309886183790671537767526745028724Q; template<> inline constexpr __float128 inv_sqrtpi_v<__float128> = 0.564189583547756286948079451560772586Q; template<> inline constexpr __float128 ln2_v<__float128> = 0.693147180559945309417232121458176568Q; template<> inline constexpr __float128 ln10_v<__float128> = 2.302585092994045684017991454684364208Q; template<> inline constexpr __float128 sqrt2_v<__float128> = 1.414213562373095048801688724209698079Q; template<> inline constexpr __float128 sqrt3_v<__float128> = 1.732050807568877293527446341505872367Q; template<> inline constexpr __float128 inv_sqrt3_v<__float128> = 0.577350269189625764509148780501957456Q; template<> inline constexpr __float128 egamma_v<__float128> = 0.577215664901532860606512090082402431Q; template<> inline constexpr __float128 phi_v<__float128> = 1.618033988749894848204586834365638118Q; - - - - -} - - -} -# 38 "/usr/include/c++/14.1.1/bits/max_size_type.h" 2 3 -# 48 "/usr/include/c++/14.1.1/bits/max_size_type.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - -template - struct numeric_limits; - -namespace ranges -{ - namespace __detail - { - class __max_size_type - { - public: - __max_size_type() = default; - - template requires integral<_Tp> || __is_int128<_Tp> - constexpr - __max_size_type(_Tp __i) noexcept - : _M_val(__i), _M_msb(__i < 0) - { } - - constexpr explicit - __max_size_type(const __max_diff_type& __d) noexcept; - - template requires integral<_Tp> || __is_int128<_Tp> - constexpr explicit - operator _Tp() const noexcept - { return _M_val; } - - constexpr explicit - operator bool() const noexcept - { return _M_val != 0 || _M_msb != 0; } - - constexpr __max_size_type - operator+() const noexcept - { return *this; } - - constexpr __max_size_type - operator~() const noexcept - { return __max_size_type{~_M_val, !_M_msb}; } - - constexpr __max_size_type - operator-() const noexcept - { return operator~() + 1; } - - constexpr __max_size_type& - operator++() noexcept - { return *this += 1; } - - constexpr __max_size_type - operator++(int) noexcept - { - auto __tmp = *this; - ++*this; - return __tmp; - } - - constexpr __max_size_type& - operator--() noexcept - { return *this -= 1; } - - constexpr __max_size_type - operator--(int) noexcept - { - auto __tmp = *this; - --*this; - return __tmp; - } - - constexpr __max_size_type& - operator+=(const __max_size_type& __r) noexcept - { - const auto __sum = _M_val + __r._M_val; - const bool __overflow = (__sum < _M_val); - _M_msb = _M_msb ^ __r._M_msb ^ __overflow; - _M_val = __sum; - return *this; - } - - constexpr __max_size_type& - operator-=(const __max_size_type& __r) noexcept - { return *this += -__r; } - - constexpr __max_size_type& - operator*=(__max_size_type __r) noexcept - { - constexpr __max_size_type __threshold - = __rep(1) << (_S_rep_bits / 2 - 1); - if (_M_val < __threshold && __r < __threshold) - - - _M_val = _M_val * __r._M_val; - else - { - - - - const bool __lsb = _M_val & 1; - const bool __rlsb = __r._M_val & 1; - *this >>= 1; - __r >>= 1; - _M_val = (2 * _M_val * __r._M_val - + _M_val * __rlsb + __r._M_val * __lsb); - *this <<= 1; - *this += __rlsb * __lsb; - } - - return *this; - } - - constexpr __max_size_type& - operator/=(const __max_size_type& __r) noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__r != 0), false)) std::__glibcxx_assert_fail(); } while (false); - - if (!_M_msb && !__r._M_msb) [[likely]] - _M_val /= __r._M_val; - else if (_M_msb && __r._M_msb) - { - _M_val = (_M_val >= __r._M_val); - _M_msb = 0; - } - else if (!_M_msb && __r._M_msb) - _M_val = 0; - else if (_M_msb && !__r._M_msb) - { - - - - - const auto __orig = *this; - *this >>= 1; - _M_val /= __r._M_val; - *this <<= 1; - if (__orig - *this * __r >= __r) - ++_M_val; - } - return *this; - } - - constexpr __max_size_type& - operator%=(const __max_size_type& __r) noexcept - { - if (!_M_msb && !__r._M_msb) [[likely]] - _M_val %= __r._M_val; - else - *this -= (*this / __r) * __r; - return *this; - } - - constexpr __max_size_type& - operator<<=(const __max_size_type& __r) noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__r <= _S_rep_bits), false)) std::__glibcxx_assert_fail(); } while (false); - if (__r != 0) - { - _M_msb = (_M_val >> (_S_rep_bits - __r._M_val)) & 1; - - if (__r._M_val == _S_rep_bits) [[unlikely]] - _M_val = 0; - else - _M_val <<= __r._M_val; - } - return *this; - } - - constexpr __max_size_type& - operator>>=(const __max_size_type& __r) noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__r <= _S_rep_bits), false)) std::__glibcxx_assert_fail(); } while (false); - if (__r != 0) - { - if (__r._M_val == _S_rep_bits) [[unlikely]] - _M_val = 0; - else - _M_val >>= __r._M_val; - - if (_M_msb) [[unlikely]] - { - _M_val |= __rep(1) << (_S_rep_bits - __r._M_val); - _M_msb = 0; - } - } - return *this; - } - - constexpr __max_size_type& - operator&=(const __max_size_type& __r) noexcept - { - _M_val &= __r._M_val; - _M_msb &= __r._M_msb; - return *this; - } - - constexpr __max_size_type& - operator|=(const __max_size_type& __r) noexcept - { - _M_val |= __r._M_val; - _M_msb |= __r._M_msb; - return *this; - } - - constexpr __max_size_type& - operator^=(const __max_size_type& __r) noexcept - { - _M_val ^= __r._M_val; - _M_msb ^= __r._M_msb; - return *this; - } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator+=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a + __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator-=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a - __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator*=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a * __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator/=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a / __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator%=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a % __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator&=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a & __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator|=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a | __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator^=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a ^ __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator<<=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a << __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator>>=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a >> __b)); } - - friend constexpr __max_size_type - operator+(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l += __r; - return __l; - } - - friend constexpr __max_size_type - operator-(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l -= __r; - return __l; - } - - friend constexpr __max_size_type - operator*(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l *= __r; - return __l; - } - - friend constexpr __max_size_type - operator/(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l /= __r; - return __l; - } - - friend constexpr __max_size_type - operator%(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l %= __r; - return __l; - } - - friend constexpr __max_size_type - operator<<(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l <<= __r; - return __l; - } - - friend constexpr __max_size_type - operator>>(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l >>= __r; - return __l; - } - - friend constexpr __max_size_type - operator&(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l &= __r; - return __l; - } - - friend constexpr __max_size_type - operator|(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l |= __r; - return __l; - } - - friend constexpr __max_size_type - operator^(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l ^= __r; - return __l; - } - - friend constexpr bool - operator==(const __max_size_type& __l, const __max_size_type& __r) noexcept - { return __l._M_val == __r._M_val && __l._M_msb == __r._M_msb; } - - - friend constexpr strong_ordering - operator<=>(const __max_size_type& __l, const __max_size_type& __r) noexcept - { - if (__l._M_msb ^ __r._M_msb) - return __l._M_msb ? strong_ordering::greater : strong_ordering::less; - else - return __l._M_val <=> __r._M_val; - } -# 420 "/usr/include/c++/14.1.1/bits/max_size_type.h" 3 - __extension__ - using __rep = unsigned __int128; - - - - static constexpr size_t _S_rep_bits = sizeof(__rep) * 8; - private: - __rep _M_val = 0; - unsigned _M_msb:1 = 0; - - constexpr explicit - __max_size_type(__rep __val, int __msb) noexcept - : _M_val(__val), _M_msb(__msb) - { } - - friend __max_diff_type; - friend std::numeric_limits<__max_size_type>; - friend std::numeric_limits<__max_diff_type>; - }; - - class __max_diff_type - { - public: - __max_diff_type() = default; - - template requires integral<_Tp> || __is_int128<_Tp> - constexpr - __max_diff_type(_Tp __i) noexcept - : _M_rep(__i) - { } - - constexpr explicit - __max_diff_type(const __max_size_type& __d) noexcept - : _M_rep(__d) - { } - - template requires integral<_Tp> || __is_int128<_Tp> - constexpr explicit - operator _Tp() const noexcept - { return static_cast<_Tp>(_M_rep); } - - constexpr explicit - operator bool() const noexcept - { return _M_rep != 0; } - - constexpr __max_diff_type - operator+() const noexcept - { return *this; } - - constexpr __max_diff_type - operator-() const noexcept - { return __max_diff_type(-_M_rep); } - - constexpr __max_diff_type - operator~() const noexcept - { return __max_diff_type(~_M_rep); } - - constexpr __max_diff_type& - operator++() noexcept - { return *this += 1; } - - constexpr __max_diff_type - operator++(int) noexcept - { - auto __tmp = *this; - ++*this; - return __tmp; - } - - constexpr __max_diff_type& - operator--() noexcept - { return *this -= 1; } - - constexpr __max_diff_type - operator--(int) noexcept - { - auto __tmp = *this; - --*this; - return __tmp; - } - - constexpr __max_diff_type& - operator+=(const __max_diff_type& __r) noexcept - { - _M_rep += __r._M_rep; - return *this; - } - - constexpr __max_diff_type& - operator-=(const __max_diff_type& __r) noexcept - { - _M_rep -= __r._M_rep; - return *this; - } - - constexpr __max_diff_type& - operator*=(const __max_diff_type& __r) noexcept - { - _M_rep *= __r._M_rep; - return *this; - } - - constexpr __max_diff_type& - operator/=(const __max_diff_type& __r) noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__r != 0), false)) std::__glibcxx_assert_fail(); } while (false); - const bool __neg = *this < 0; - const bool __rneg = __r < 0; - if (!__neg && !__rneg) - _M_rep = _M_rep / __r._M_rep; - else if (__neg && __rneg) - _M_rep = -_M_rep / -__r._M_rep; - else if (__neg && !__rneg) - _M_rep = -(-_M_rep / __r._M_rep); - else - _M_rep = -(_M_rep / -__r._M_rep); - return *this ; - } - - constexpr __max_diff_type& - operator%=(const __max_diff_type& __r) noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__r != 0), false)) std::__glibcxx_assert_fail(); } while (false); - if (*this >= 0 && __r > 0) - _M_rep %= __r._M_rep; - else - *this -= (*this / __r) * __r; - return *this; - } - - constexpr __max_diff_type& - operator<<=(const __max_diff_type& __r) noexcept - { - _M_rep.operator<<=(__r._M_rep); - return *this; - } - - constexpr __max_diff_type& - operator>>=(const __max_diff_type& __r) noexcept - { - - const auto __msb = _M_rep._M_msb; - _M_rep >>= __r._M_rep; - if (__msb) - _M_rep |= ~(__max_size_type(-1) >> __r._M_rep); - return *this; - } - - constexpr __max_diff_type& - operator&=(const __max_diff_type& __r) noexcept - { - _M_rep &= __r._M_rep; - return *this; - } - - constexpr __max_diff_type& - operator|=(const __max_diff_type& __r) noexcept - { - _M_rep |= __r._M_rep; - return *this; - } - - constexpr __max_diff_type& - operator^=(const __max_diff_type& __r) noexcept - { - _M_rep ^= __r._M_rep; - return *this; - } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator+=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a + __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator-=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a - __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator*=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a * __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator/=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a / __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator%=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a % __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator&=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a & __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator|=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a | __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator^=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a ^ __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator<<=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a << __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator>>=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a >> __b)); } - - friend constexpr __max_diff_type - operator+(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l += __r; - return __l; - } - - friend constexpr __max_diff_type - operator-(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l -= __r; - return __l; - } - - friend constexpr __max_diff_type - operator*(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l *= __r; - return __l; - } - - friend constexpr __max_diff_type - operator/(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l /= __r; - return __l; - } - - friend constexpr __max_diff_type - operator%(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l %= __r; - return __l; - } - - friend constexpr __max_diff_type - operator<<(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l <<= __r; - return __l; - } - - friend constexpr __max_diff_type - operator>>(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l >>= __r; - return __l; - } - - friend constexpr __max_diff_type - operator&(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l &= __r; - return __l; - } - - friend constexpr __max_diff_type - operator|(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l |= __r; - return __l; - } - - friend constexpr __max_diff_type - operator^(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l ^= __r; - return __l; - } - - friend constexpr bool - operator==(const __max_diff_type& __l, const __max_diff_type& __r) noexcept - { return __l._M_rep == __r._M_rep; } - - - constexpr strong_ordering - operator<=>(const __max_diff_type& __r) const noexcept - { - const auto __lsign = _M_rep._M_msb; - const auto __rsign = __r._M_rep._M_msb; - if (__lsign ^ __rsign) - return __lsign ? strong_ordering::less : strong_ordering::greater; - else - return _M_rep <=> __r._M_rep; - } -# 753 "/usr/include/c++/14.1.1/bits/max_size_type.h" 3 - private: - __max_size_type _M_rep = 0; - - friend class __max_size_type; - }; - - constexpr - __max_size_type::__max_size_type(const __max_diff_type& __d) noexcept - : __max_size_type(__d._M_rep) - { } - - } -} - - template<> - struct numeric_limits - { - using _Sp = ranges::__detail::__max_size_type; - static constexpr bool is_specialized = true; - static constexpr bool is_signed = false; - static constexpr bool is_integer = true; - static constexpr bool is_exact = true; - static constexpr int digits - = __gnu_cxx::__int_traits<_Sp::__rep>::__digits + 1; - static constexpr int digits10 - = static_cast(digits * numbers::ln2 / numbers::ln10); - - static constexpr _Sp - min() noexcept - { return 0; } - - static constexpr _Sp - max() noexcept - { return _Sp(static_cast<_Sp::__rep>(-1), 1); } - - static constexpr _Sp - lowest() noexcept - { return min(); } - }; - - template<> - struct numeric_limits - { - using _Dp = ranges::__detail::__max_diff_type; - using _Sp = ranges::__detail::__max_size_type; - static constexpr bool is_specialized = true; - static constexpr bool is_signed = true; - static constexpr bool is_integer = true; - static constexpr bool is_exact = true; - static constexpr int digits = numeric_limits<_Sp>::digits - 1; - static constexpr int digits10 - = static_cast(digits * numbers::ln2 / numbers::ln10); - - static constexpr _Dp - min() noexcept - { return _Dp(_Sp(0, 1)); } - - static constexpr _Dp - max() noexcept - { return _Dp(_Sp(static_cast<_Sp::__rep>(-1), 0)); } - - static constexpr _Dp - lowest() noexcept - { return min(); } - }; - - -} -# 40 "/usr/include/c++/14.1.1/bits/ranges_base.h" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 41 "/usr/include/c++/14.1.1/bits/ranges_base.h" 2 3 - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -namespace ranges -{ - template - inline constexpr bool disable_sized_range = false; - - template - inline constexpr bool enable_borrowed_range = false; - - namespace __detail - { - constexpr __max_size_type - __to_unsigned_like(__max_size_type __t) noexcept - { return __t; } - - constexpr __max_size_type - __to_unsigned_like(__max_diff_type __t) noexcept - { return __max_size_type(__t); } - - template - constexpr auto - __to_unsigned_like(_Tp __t) noexcept - { return static_cast>(__t); } -# 79 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - template - using __make_unsigned_like_t - = decltype(__detail::__to_unsigned_like(std::declval<_Tp>())); - - - template - concept __maybe_borrowed_range - = is_lvalue_reference_v<_Tp> - || enable_borrowed_range>; - - } - - - namespace __access - { - using std::ranges::__detail::__maybe_borrowed_range; - using std::__detail::__range_iter_t; - - struct _Begin - { - private: - template - static constexpr bool - _S_noexcept() - { - if constexpr (is_array_v>) - return true; - else if constexpr (__member_begin<_Tp>) - return noexcept(__decay_copy(std::declval<_Tp&>().begin())); - else - return noexcept(__decay_copy(begin(std::declval<_Tp&>()))); - } - - public: - template<__maybe_borrowed_range _Tp> - requires is_array_v> || __member_begin<_Tp> - || __adl_begin<_Tp> - constexpr auto - operator()[[nodiscard]](_Tp&& __t) const noexcept(_S_noexcept<_Tp&>()) - { - if constexpr (is_array_v>) - { - static_assert(is_lvalue_reference_v<_Tp>); - return __t + 0; - } - else if constexpr (__member_begin<_Tp>) - return __t.begin(); - else - return begin(__t); - } - }; - - template - concept __member_end = requires(_Tp& __t) - { - { __decay_copy(__t.end()) } -> sentinel_for<__range_iter_t<_Tp>>; - }; - - - void end() = delete; - - template - concept __adl_end = __class_or_enum> - && requires(_Tp& __t) - { - { __decay_copy(end(__t)) } -> sentinel_for<__range_iter_t<_Tp>>; - }; - - struct _End - { - private: - template - static constexpr bool - _S_noexcept() - { - if constexpr (is_bounded_array_v>) - return true; - else if constexpr (__member_end<_Tp>) - return noexcept(__decay_copy(std::declval<_Tp&>().end())); - else - return noexcept(__decay_copy(end(std::declval<_Tp&>()))); - } - - public: - template<__maybe_borrowed_range _Tp> - requires is_bounded_array_v> - || __member_end<_Tp> || __adl_end<_Tp> - constexpr auto - operator()[[nodiscard]](_Tp&& __t) const noexcept(_S_noexcept<_Tp&>()) - { - if constexpr (is_bounded_array_v>) - { - static_assert(is_lvalue_reference_v<_Tp>); - return __t + extent_v>; - } - else if constexpr (__member_end<_Tp>) - return __t.end(); - else - return end(__t); - } - }; - - template - concept __member_rbegin = requires(_Tp& __t) - { - { __decay_copy(__t.rbegin()) } -> input_or_output_iterator; - }; - - void rbegin() = delete; - - template - concept __adl_rbegin = __class_or_enum> - && requires(_Tp& __t) - { - { __decay_copy(rbegin(__t)) } -> input_or_output_iterator; - }; - - template - concept __reversable = requires(_Tp& __t) - { - { _Begin{}(__t) } -> bidirectional_iterator; - { _End{}(__t) } -> same_as; - }; - - struct _RBegin - { - private: - template - static constexpr bool - _S_noexcept() - { - if constexpr (__member_rbegin<_Tp>) - return noexcept(__decay_copy(std::declval<_Tp&>().rbegin())); - else if constexpr (__adl_rbegin<_Tp>) - return noexcept(__decay_copy(rbegin(std::declval<_Tp&>()))); - else - { - if constexpr (noexcept(_End{}(std::declval<_Tp&>()))) - { - using _It = decltype(_End{}(std::declval<_Tp&>())); - - return is_nothrow_copy_constructible_v<_It>; - } - else - return false; - } - } - - public: - template<__maybe_borrowed_range _Tp> - requires __member_rbegin<_Tp> || __adl_rbegin<_Tp> || __reversable<_Tp> - constexpr auto - operator()[[nodiscard]](_Tp&& __t) const - noexcept(_S_noexcept<_Tp&>()) - { - if constexpr (__member_rbegin<_Tp>) - return __t.rbegin(); - else if constexpr (__adl_rbegin<_Tp>) - return rbegin(__t); - else - return std::make_reverse_iterator(_End{}(__t)); - } - }; - - template - concept __member_rend = requires(_Tp& __t) - { - { __decay_copy(__t.rend()) } - -> sentinel_for(__t)))>; - }; - - void rend() = delete; - - template - concept __adl_rend = __class_or_enum> - && requires(_Tp& __t) - { - { __decay_copy(rend(__t)) } - -> sentinel_for(__t)))>; - }; - - struct _REnd - { - private: - template - static constexpr bool - _S_noexcept() - { - if constexpr (__member_rend<_Tp>) - return noexcept(__decay_copy(std::declval<_Tp&>().rend())); - else if constexpr (__adl_rend<_Tp>) - return noexcept(__decay_copy(rend(std::declval<_Tp&>()))); - else - { - if constexpr (noexcept(_Begin{}(std::declval<_Tp&>()))) - { - using _It = decltype(_Begin{}(std::declval<_Tp&>())); - - return is_nothrow_copy_constructible_v<_It>; - } - else - return false; - } - } - - public: - template<__maybe_borrowed_range _Tp> - requires __member_rend<_Tp> || __adl_rend<_Tp> || __reversable<_Tp> - constexpr auto - operator()[[nodiscard]](_Tp&& __t) const - noexcept(_S_noexcept<_Tp&>()) - { - if constexpr (__member_rend<_Tp>) - return __t.rend(); - else if constexpr (__adl_rend<_Tp>) - return rend(__t); - else - return std::make_reverse_iterator(_Begin{}(__t)); - } - }; - - template - concept __member_size = !disable_sized_range> - && requires(_Tp& __t) - { - { __decay_copy(__t.size()) } -> __detail::__is_integer_like; - }; - - void size() = delete; - - template - concept __adl_size = __class_or_enum> - && !disable_sized_range> - && requires(_Tp& __t) - { - { __decay_copy(size(__t)) } -> __detail::__is_integer_like; - }; - - template - concept __sentinel_size = requires(_Tp& __t) - { - requires (!is_unbounded_array_v>); - - { _Begin{}(__t) } -> forward_iterator; - - { _End{}(__t) } -> sized_sentinel_for; - - __detail::__to_unsigned_like(_End{}(__t) - _Begin{}(__t)); - }; - - struct _Size - { - private: - template - static constexpr bool - _S_noexcept() - { - if constexpr (is_bounded_array_v>) - return true; - else if constexpr (__member_size<_Tp>) - return noexcept(__decay_copy(std::declval<_Tp&>().size())); - else if constexpr (__adl_size<_Tp>) - return noexcept(__decay_copy(size(std::declval<_Tp&>()))); - else if constexpr (__sentinel_size<_Tp>) - return noexcept(_End{}(std::declval<_Tp&>()) - - _Begin{}(std::declval<_Tp&>())); - } - - public: - template - requires is_bounded_array_v> - || __member_size<_Tp> || __adl_size<_Tp> || __sentinel_size<_Tp> - constexpr auto - operator()[[nodiscard]](_Tp&& __t) const noexcept(_S_noexcept<_Tp&>()) - { - if constexpr (is_bounded_array_v>) - return extent_v>; - else if constexpr (__member_size<_Tp>) - return __t.size(); - else if constexpr (__adl_size<_Tp>) - return size(__t); - else if constexpr (__sentinel_size<_Tp>) - return __detail::__to_unsigned_like(_End{}(__t) - _Begin{}(__t)); - } - }; - - struct _SSize - { - - - template - requires requires (_Tp& __t) { _Size{}(__t); } - constexpr auto - operator()[[nodiscard]](_Tp&& __t) const noexcept(noexcept(_Size{}(__t))) - { - auto __size = _Size{}(__t); - using __size_type = decltype(__size); - - if constexpr (integral<__size_type>) - { - using __gnu_cxx::__int_traits; - if constexpr (__int_traits<__size_type>::__digits - < __int_traits::__digits) - return static_cast(__size); - else - return static_cast>(__size); - } - - - - - - else - return __detail::__max_diff_type(__size); - } - }; - - template - concept __member_empty = requires(_Tp& __t) { bool(__t.empty()); }; - - template - concept __size0_empty = requires(_Tp& __t) { _Size{}(__t) == 0; }; - - template - concept __eq_iter_empty = requires(_Tp& __t) - { - requires (!is_unbounded_array_v>); - - { _Begin{}(__t) } -> forward_iterator; - - bool(_Begin{}(__t) == _End{}(__t)); - }; - - struct _Empty - { - private: - template - static constexpr bool - _S_noexcept() - { - if constexpr (__member_empty<_Tp>) - return noexcept(bool(std::declval<_Tp&>().empty())); - else if constexpr (__size0_empty<_Tp>) - return noexcept(_Size{}(std::declval<_Tp&>()) == 0); - else - return noexcept(bool(_Begin{}(std::declval<_Tp&>()) - == _End{}(std::declval<_Tp&>()))); - } - - public: - template - requires __member_empty<_Tp> || __size0_empty<_Tp> - || __eq_iter_empty<_Tp> - constexpr bool - operator()[[nodiscard]](_Tp&& __t) const noexcept(_S_noexcept<_Tp&>()) - { - if constexpr (__member_empty<_Tp>) - return bool(__t.empty()); - else if constexpr (__size0_empty<_Tp>) - return _Size{}(__t) == 0; - else - return bool(_Begin{}(__t) == _End{}(__t)); - } - }; - - template - concept __pointer_to_object = is_pointer_v<_Tp> - && is_object_v>; - - template - concept __member_data = requires(_Tp& __t) - { - { __decay_copy(__t.data()) } -> __pointer_to_object; - }; - - template - concept __begin_data = contiguous_iterator<__range_iter_t<_Tp>>; - - struct _Data - { - private: - template - static constexpr bool - _S_noexcept() - { - if constexpr (__member_data<_Tp>) - return noexcept(__decay_copy(std::declval<_Tp&>().data())); - else - return noexcept(_Begin{}(std::declval<_Tp&>())); - } - - public: - template<__maybe_borrowed_range _Tp> - requires __member_data<_Tp> || __begin_data<_Tp> - constexpr auto - operator()[[nodiscard]](_Tp&& __t) const noexcept(_S_noexcept<_Tp>()) - { - if constexpr (__member_data<_Tp>) - return __t.data(); - else - return std::to_address(_Begin{}(__t)); - } - }; - - } - - inline namespace _Cpo - { - inline constexpr ranges::__access::_Begin begin{}; - inline constexpr ranges::__access::_End end{}; - inline constexpr ranges::__access::_RBegin rbegin{}; - inline constexpr ranges::__access::_REnd rend{}; - inline constexpr ranges::__access::_Size size{}; - inline constexpr ranges::__access::_SSize ssize{}; - inline constexpr ranges::__access::_Empty empty{}; - inline constexpr ranges::__access::_Data data{}; - } - - - template - concept range = requires(_Tp& __t) - { - ranges::begin(__t); - ranges::end(__t); - }; - - - template - concept borrowed_range - = range<_Tp> && __detail::__maybe_borrowed_range<_Tp>; - - template - using iterator_t = std::__detail::__range_iter_t<_Tp>; - - template - using sentinel_t = decltype(ranges::end(std::declval<_Range&>())); -# 527 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - template - using range_difference_t = iter_difference_t>; - - template - using range_value_t = iter_value_t>; - - template - using range_reference_t = iter_reference_t>; - - template - using range_rvalue_reference_t - = iter_rvalue_reference_t>; - - - template - concept sized_range = range<_Tp> - && requires(_Tp& __t) { ranges::size(__t); }; - - template - using range_size_t = decltype(ranges::size(std::declval<_Range&>())); - - template - requires is_class_v<_Derived> && same_as<_Derived, remove_cv_t<_Derived>> - class view_interface; - - namespace __detail - { - template - requires (!same_as<_Tp, view_interface<_Up>>) - void __is_derived_from_view_interface_fn(const _Tp&, - const view_interface<_Up>&); - - - - template - concept __is_derived_from_view_interface - = requires (_Tp __t) { __is_derived_from_view_interface_fn(__t, __t); }; - } - - - struct view_base { }; - - - template - inline constexpr bool enable_view = derived_from<_Tp, view_base> - || __detail::__is_derived_from_view_interface<_Tp>; - - - template - concept view - = range<_Tp> && movable<_Tp> && enable_view<_Tp>; - - - - - template - concept output_range - = range<_Range> && output_iterator, _Tp>; - - - template - concept input_range = range<_Tp> && input_iterator>; - - - template - concept forward_range - = input_range<_Tp> && forward_iterator>; - - - template - concept bidirectional_range - = forward_range<_Tp> && bidirectional_iterator>; - - - template - concept random_access_range - = bidirectional_range<_Tp> && random_access_iterator>; - - - template - concept contiguous_range - = random_access_range<_Tp> && contiguous_iterator> - && requires(_Tp& __t) - { - { ranges::data(__t) } -> same_as>>; - }; - - - template - concept common_range - = range<_Tp> && same_as, sentinel_t<_Tp>>; - - - - - - - - namespace __access - { -# 639 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - template - constexpr decltype(auto) - __as_const(_Tp& __t) noexcept - { - static_assert(std::is_same_v<_To&, _Tp&>); - - if constexpr (is_lvalue_reference_v<_To>) - return const_cast(__t); - else - return static_cast(__t); - } - - - struct _CBegin - { -# 668 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - template - [[nodiscard]] - constexpr auto - operator()(_Tp&& __e) const - noexcept(noexcept(_Begin{}(__access::__as_const<_Tp>(__e)))) - requires requires { _Begin{}(__access::__as_const<_Tp>(__e)); } - { - return _Begin{}(__access::__as_const<_Tp>(__e)); - } - - }; - - struct _CEnd final - { -# 696 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - template - [[nodiscard]] - constexpr auto - operator()(_Tp&& __e) const - noexcept(noexcept(_End{}(__access::__as_const<_Tp>(__e)))) - requires requires { _End{}(__access::__as_const<_Tp>(__e)); } - { - return _End{}(__access::__as_const<_Tp>(__e)); - } - - }; - - struct _CRBegin - { -# 724 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - template - [[nodiscard]] - constexpr auto - operator()(_Tp&& __e) const - noexcept(noexcept(_RBegin{}(__access::__as_const<_Tp>(__e)))) - requires requires { _RBegin{}(__access::__as_const<_Tp>(__e)); } - { - return _RBegin{}(__access::__as_const<_Tp>(__e)); - } - - }; - - struct _CREnd - { -# 752 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - template - [[nodiscard]] - constexpr auto - operator()(_Tp&& __e) const - noexcept(noexcept(_REnd{}(__access::__as_const<_Tp>(__e)))) - requires requires { _REnd{}(__access::__as_const<_Tp>(__e)); } - { - return _REnd{}(__access::__as_const<_Tp>(__e)); - } - - }; - - struct _CData - { -# 775 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - template - [[nodiscard]] - constexpr auto - operator()(_Tp&& __e) const - noexcept(noexcept(_Data{}(__access::__as_const<_Tp>(__e)))) - requires requires { _Data{}(__access::__as_const<_Tp>(__e)); } - { - return _Data{}(__access::__as_const<_Tp>(__e)); - } - - }; - } - - inline namespace _Cpo - { - inline constexpr ranges::__access::_CBegin cbegin{}; - inline constexpr ranges::__access::_CEnd cend{}; - inline constexpr ranges::__access::_CRBegin crbegin{}; - inline constexpr ranges::__access::_CREnd crend{}; - inline constexpr ranges::__access::_CData cdata{}; - } - - namespace __detail - { - template - inline constexpr bool __is_initializer_list = false; - - template - inline constexpr bool __is_initializer_list> = true; - } - - - template - concept viewable_range = range<_Tp> - && ((view> && constructible_from, _Tp>) - || (!view> - && (is_lvalue_reference_v<_Tp> - || (movable> - && !__detail::__is_initializer_list>)))); - - - - struct __advance_fn final - { - template - constexpr void - operator()(_It& __it, iter_difference_t<_It> __n) const - { - if constexpr (random_access_iterator<_It>) - __it += __n; - else if constexpr (bidirectional_iterator<_It>) - { - if (__n > 0) - { - do - { - ++__it; - } - while (--__n); - } - else if (__n < 0) - { - do - { - --__it; - } - while (++__n); - } - } - else - { - - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__n >= 0), false)) std::__glibcxx_assert_fail(); } while (false); - while (__n-- > 0) - ++__it; - } - } - - template _Sent> - constexpr void - operator()(_It& __it, _Sent __bound) const - { - if constexpr (assignable_from<_It&, _Sent>) - __it = std::move(__bound); - else if constexpr (sized_sentinel_for<_Sent, _It>) - (*this)(__it, __bound - __it); - else - { - while (__it != __bound) - ++__it; - } - } - - template _Sent> - constexpr iter_difference_t<_It> - operator()(_It& __it, iter_difference_t<_It> __n, _Sent __bound) const - { - if constexpr (sized_sentinel_for<_Sent, _It>) - { - const auto __diff = __bound - __it; - - if (__diff == 0) - return __n; - else if (__diff > 0 ? __n >= __diff : __n <= __diff) - { - (*this)(__it, __bound); - return __n - __diff; - } - else if (__n != 0) [[likely]] - { - - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool((__n < 0) == (__diff < 0)), false)) std::__glibcxx_assert_fail(); } while (false); - - (*this)(__it, __n); - return 0; - } - else - return 0; - } - else if (__it == __bound || __n == 0) - return __n; - else if (__n > 0) - { - iter_difference_t<_It> __m = 0; - do - { - ++__it; - ++__m; - } - while (__m != __n && __it != __bound); - return __n - __m; - } - else if constexpr (bidirectional_iterator<_It> && same_as<_It, _Sent>) - { - iter_difference_t<_It> __m = 0; - do - { - --__it; - --__m; - } - while (__m != __n && __it != __bound); - return __n - __m; - } - else - { - - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__n >= 0), false)) std::__glibcxx_assert_fail(); } while (false); - return __n; - } - } - - void operator&() const = delete; - }; - - inline constexpr __advance_fn advance{}; - - struct __distance_fn final - { - template _Sent> - requires (!sized_sentinel_for<_Sent, _It>) - constexpr iter_difference_t<_It> - operator()[[nodiscard]](_It __first, _Sent __last) const - { - iter_difference_t<_It> __n = 0; - while (__first != __last) - { - ++__first; - ++__n; - } - return __n; - } - - template _Sent> - [[nodiscard]] - constexpr iter_difference_t<_It> - operator()(const _It& __first, const _Sent& __last) const - { - return __last - __first; - } - - template - [[nodiscard]] - constexpr range_difference_t<_Range> - operator()(_Range&& __r) const - { - if constexpr (sized_range<_Range>) - return static_cast>(ranges::size(__r)); - else - return (*this)(ranges::begin(__r), ranges::end(__r)); - } - - void operator&() const = delete; - }; - - inline constexpr __distance_fn distance{}; - - struct __next_fn final - { - template - [[nodiscard]] - constexpr _It - operator()(_It __x) const - { - ++__x; - return __x; - } - - template - [[nodiscard]] - constexpr _It - operator()(_It __x, iter_difference_t<_It> __n) const - { - ranges::advance(__x, __n); - return __x; - } - - template _Sent> - [[nodiscard]] - constexpr _It - operator()(_It __x, _Sent __bound) const - { - ranges::advance(__x, __bound); - return __x; - } - - template _Sent> - [[nodiscard]] - constexpr _It - operator()(_It __x, iter_difference_t<_It> __n, _Sent __bound) const - { - ranges::advance(__x, __n, __bound); - return __x; - } - - void operator&() const = delete; - }; - - inline constexpr __next_fn next{}; - - struct __prev_fn final - { - template - [[nodiscard]] - constexpr _It - operator()(_It __x) const - { - --__x; - return __x; - } - - template - [[nodiscard]] - constexpr _It - operator()(_It __x, iter_difference_t<_It> __n) const - { - ranges::advance(__x, -__n); - return __x; - } - - template - [[nodiscard]] - constexpr _It - operator()(_It __x, iter_difference_t<_It> __n, _It __bound) const - { - ranges::advance(__x, -__n, __bound); - return __x; - } - - void operator&() const = delete; - }; - - inline constexpr __prev_fn prev{}; - - - struct dangling - { - constexpr dangling() noexcept = default; - template - constexpr dangling(_Args&&...) noexcept { } - }; - - template - using borrowed_iterator_t = __conditional_t, - iterator_t<_Range>, - dangling>; -} - - - - - - - -} -# 57 "/usr/include/c++/14.1.1/string_view" 2 3 - - - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - 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; - } -# 105 "/usr/include/c++/14.1.1/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; - - [[__gnu__::__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} - { } - - - template _End> - requires same_as, _CharT> - && (!convertible_to<_End, size_type>) - constexpr - basic_string_view(_It __first, _End __last) - noexcept(noexcept(__last - __first)) - : _M_len(__last - __first), _M_str(std::to_address(__first)) - { } -# 180 "/usr/include/c++/14.1.1/string_view" 3 - constexpr basic_string_view& - operator=(const basic_string_view&) noexcept = default; - - - - [[nodiscard]] - constexpr const_iterator - begin() const noexcept - { return this->_M_str; } - - [[nodiscard]] - constexpr const_iterator - end() const noexcept - { return this->_M_str + this->_M_len; } - - [[nodiscard]] - constexpr const_iterator - cbegin() const noexcept - { return this->_M_str; } - - [[nodiscard]] - constexpr const_iterator - cend() const noexcept - { return this->_M_str + this->_M_len; } - - [[nodiscard]] - constexpr const_reverse_iterator - rbegin() const noexcept - { return const_reverse_iterator(this->end()); } - - [[nodiscard]] - constexpr const_reverse_iterator - rend() const noexcept - { return const_reverse_iterator(this->begin()); } - - [[nodiscard]] - constexpr const_reverse_iterator - crbegin() const noexcept - { return const_reverse_iterator(this->end()); } - - [[nodiscard]] - constexpr const_reverse_iterator - crend() const noexcept - { return const_reverse_iterator(this->begin()); } - - - - [[nodiscard]] - constexpr size_type - size() const noexcept - { return this->_M_len; } - - [[nodiscard]] - constexpr size_type - length() const noexcept - { return _M_len; } - - [[nodiscard]] - 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; } - - - - [[nodiscard]] - constexpr const_reference - operator[](size_type __pos) const noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__pos < this->_M_len), false)) std::__glibcxx_assert_fail(); } while (false); - return *(this->_M_str + __pos); - } - - [[nodiscard]] - 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); - } - - [[nodiscard]] - constexpr const_reference - front() const noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(this->_M_len > 0), false)) std::__glibcxx_assert_fail(); } while (false); - return *this->_M_str; - } - - [[nodiscard]] - constexpr const_reference - back() const noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(this->_M_len > 0), false)) std::__glibcxx_assert_fail(); } while (false); - return *(this->_M_str + this->_M_len - 1); - } - - [[nodiscard]] - constexpr const_pointer - data() const noexcept - { return this->_M_str; } - - - - constexpr void - remove_prefix(size_type __n) noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(this->_M_len >= __n), false)) std::__glibcxx_assert_fail(); } while (false); - this->_M_str += __n; - this->_M_len -= __n; - } - - constexpr void - remove_suffix(size_type __n) noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(this->_M_len >= __n), false)) std::__glibcxx_assert_fail(); } while (false); - this->_M_len -= __n; - } - - constexpr void - swap(basic_string_view& __sv) noexcept - { - auto __tmp = *this; - *this = __sv; - __sv = __tmp; - } - - - - constexpr - 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; - } - - [[nodiscard]] - 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}; - } - - [[nodiscard]] - 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; - } - - [[nodiscard]] - constexpr int - compare(size_type __pos1, size_type __n1, basic_string_view __str) const - { return this->substr(__pos1, __n1).compare(__str); } - - [[nodiscard]] - 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)); - } - - [[nodiscard, __gnu__::__nonnull__]] - constexpr int - compare(const _CharT* __str) const noexcept - { return this->compare(basic_string_view{__str}); } - - [[nodiscard, __gnu__::__nonnull__]] - constexpr int - compare(size_type __pos1, size_type __n1, const _CharT* __str) const - { return this->substr(__pos1, __n1).compare(basic_string_view{__str}); } - - [[nodiscard]] - 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)); - } - - - [[nodiscard]] - constexpr bool - starts_with(basic_string_view __x) const noexcept - { return this->substr(0, __x.size()) == __x; } - - [[nodiscard]] - constexpr bool - starts_with(_CharT __x) const noexcept - { return !this->empty() && traits_type::eq(this->front(), __x); } - - [[nodiscard, __gnu__::__nonnull__]] - constexpr bool - starts_with(const _CharT* __x) const noexcept - { return this->starts_with(basic_string_view(__x)); } - - [[nodiscard]] - constexpr bool - ends_with(basic_string_view __x) const noexcept - { - const auto __len = this->size(); - const auto __xlen = __x.size(); - return __len >= __xlen - && traits_type::compare(end() - __xlen, __x.data(), __xlen) == 0; - } - - [[nodiscard]] - constexpr bool - ends_with(_CharT __x) const noexcept - { return !this->empty() && traits_type::eq(this->back(), __x); } - - [[nodiscard, __gnu__::__nonnull__]] - constexpr bool - ends_with(const _CharT* __x) const noexcept - { return this->ends_with(basic_string_view(__x)); } -# 445 "/usr/include/c++/14.1.1/string_view" 3 - [[nodiscard]] - constexpr size_type - find(basic_string_view __str, size_type __pos = 0) const noexcept - { return this->find(__str._M_str, __pos, __str._M_len); } - - [[nodiscard]] - constexpr size_type - find(_CharT __c, size_type __pos = 0) const noexcept; - - [[nodiscard]] - constexpr size_type - find(const _CharT* __str, size_type __pos, size_type __n) const noexcept; - - [[nodiscard, __gnu__::__nonnull__]] - constexpr size_type - find(const _CharT* __str, size_type __pos = 0) const noexcept - { return this->find(__str, __pos, traits_type::length(__str)); } - - [[nodiscard]] - constexpr size_type - rfind(basic_string_view __str, size_type __pos = npos) const noexcept - { return this->rfind(__str._M_str, __pos, __str._M_len); } - - [[nodiscard]] - constexpr size_type - rfind(_CharT __c, size_type __pos = npos) const noexcept; - - [[nodiscard]] - constexpr size_type - rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept; - - [[nodiscard, __gnu__::__nonnull__]] - constexpr size_type - rfind(const _CharT* __str, size_type __pos = npos) const noexcept - { return this->rfind(__str, __pos, traits_type::length(__str)); } - - [[nodiscard]] - 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); } - - [[nodiscard]] - constexpr size_type - find_first_of(_CharT __c, size_type __pos = 0) const noexcept - { return this->find(__c, __pos); } - - [[nodiscard]] - constexpr size_type - find_first_of(const _CharT* __str, size_type __pos, - size_type __n) const noexcept; - - [[nodiscard, __gnu__::__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)); } - - [[nodiscard]] - 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); } - - [[nodiscard]] - constexpr size_type - find_last_of(_CharT __c, size_type __pos=npos) const noexcept - { return this->rfind(__c, __pos); } - - [[nodiscard]] - constexpr size_type - find_last_of(const _CharT* __str, size_type __pos, - size_type __n) const noexcept; - - [[nodiscard, __gnu__::__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)); } - - [[nodiscard]] - 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); } - - [[nodiscard]] - constexpr size_type - find_first_not_of(_CharT __c, size_type __pos = 0) const noexcept; - - [[nodiscard]] - constexpr size_type - find_first_not_of(const _CharT* __str, - size_type __pos, size_type __n) const noexcept; - - [[nodiscard, __gnu__::__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)); - } - - [[nodiscard]] - 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); } - - [[nodiscard]] - constexpr size_type - find_last_not_of(_CharT __c, size_type __pos = npos) const noexcept; - - [[nodiscard]] - constexpr size_type - find_last_not_of(const _CharT* __str, - size_type __pos, size_type __n) const noexcept; - - [[nodiscard, __gnu__::__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; - }; - - - template _End> - basic_string_view(_It, _End) -> basic_string_view>; -# 606 "/usr/include/c++/14.1.1/string_view" 3 - template - [[nodiscard]] - constexpr bool - operator==(basic_string_view<_CharT, _Traits> __x, - type_identity_t> __y) - noexcept - { return __x.size() == __y.size() && __x.compare(__y) == 0; } - - template - [[nodiscard]] - constexpr auto - operator<=>(basic_string_view<_CharT, _Traits> __x, - __type_identity_t> __y) - noexcept - -> decltype(__detail::__char_traits_cmp_cat<_Traits>(0)) - { return __detail::__char_traits_cmp_cat<_Traits>(__x.compare(__y)); } -# 758 "/usr/include/c++/14.1.1/string_view" 3 - 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 u8string_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 - { - [[nodiscard]] - 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 - { - [[nodiscard]] - 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 - { }; - - - template<> - struct hash - : public __hash_base - { - [[nodiscard]] - size_t - operator()(const u8string_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 - { - [[nodiscard]] - 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 - { - [[nodiscard]] - 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}; } - - - inline constexpr basic_string_view - operator""sv(const char8_t* __str, size_t __len) noexcept - { return basic_string_view{__str, __len}; } - - - 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 - } - } - - - namespace ranges - { - - template - inline constexpr bool - enable_borrowed_range> = true; - - - template - inline constexpr bool - enable_view> = true; - } - - -} - -# 1 "/usr/include/c++/14.1.1/bits/string_view.tcc" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/string_view.tcc" 3 - -# 38 "/usr/include/c++/14.1.1/bits/string_view.tcc" 3 - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - 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; - } - - -} -# 905 "/usr/include/c++/14.1.1/string_view" 2 3 -# 48 "/usr/include/c++/14.1.1/bits/basic_string.h" 2 3 - - - - - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 55 "/usr/include/c++/14.1.1/bits/basic_string.h" 2 3 - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -namespace __cxx11 { -# 85 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - class basic_string - { - - static_assert(is_same_v<_CharT, typename _Traits::char_type>); - static_assert(is_same_v<_CharT, typename _Alloc::value_type>); - using _Char_alloc_type = _Alloc; - - - - - - typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits; - - - public: - typedef _Traits traits_type; - typedef typename _Traits::char_type value_type; - typedef _Char_alloc_type allocator_type; - typedef typename _Alloc_traits::size_type size_type; - typedef typename _Alloc_traits::difference_type difference_type; - typedef typename _Alloc_traits::reference reference; - typedef typename _Alloc_traits::const_reference const_reference; - typedef typename _Alloc_traits::pointer pointer; - typedef typename _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; - - - static const size_type npos = static_cast(-1); - - protected: - - - - - typedef const_iterator __const_iterator; - - - private: - static constexpr pointer - _S_allocate(_Char_alloc_type& __a, size_type __n) - { - pointer __p = _Alloc_traits::allocate(__a, __n); - - - - if constexpr (!is_same_v<_Traits, char_traits<_CharT>>) - if (std::__is_constant_evaluated()) - - for (size_type __i = 0; __i < __n; ++__i) - std::construct_at(__builtin_addressof(__p[__i])); - - return __p; - } - - - - typedef basic_string_view<_CharT, _Traits> __sv_type; - - template - using _If_sv = enable_if_t< - __and_, - __not_>, - __not_>>::value, - _Res>; - - - constexpr - static __sv_type - _S_to_string_view(__sv_type __svt) noexcept - { return __svt; } - - - - - - struct __sv_wrapper - { - constexpr explicit - __sv_wrapper(__sv_type __sv) noexcept : _M_sv(__sv) { } - - __sv_type _M_sv; - }; - - - - - - - - constexpr - explicit - basic_string(__sv_wrapper __svw, const _Alloc& __a) - : basic_string(__svw._M_sv.data(), __svw._M_sv.size(), __a) { } - - - - struct _Alloc_hider : allocator_type - { - - - - - constexpr - _Alloc_hider(pointer __dat, const _Alloc& __a) - : allocator_type(__a), _M_p(__dat) { } - - constexpr - _Alloc_hider(pointer __dat, _Alloc&& __a = _Alloc()) - : allocator_type(std::move(__a)), _M_p(__dat) { } - - - pointer _M_p; - }; - - _Alloc_hider _M_dataplus; - size_type _M_string_length; - - enum { _S_local_capacity = 15 / sizeof(_CharT) }; - - union - { - _CharT _M_local_buf[_S_local_capacity + 1]; - size_type _M_allocated_capacity; - }; - - constexpr - void - _M_data(pointer __p) - { _M_dataplus._M_p = __p; } - - constexpr - void - _M_length(size_type __length) - { _M_string_length = __length; } - - constexpr - pointer - _M_data() const - { return _M_dataplus._M_p; } - - constexpr - pointer - _M_local_data() - { - - return std::pointer_traits::pointer_to(*_M_local_buf); - - - - } - - constexpr - const_pointer - _M_local_data() const - { - - return std::pointer_traits::pointer_to(*_M_local_buf); - - - - } - - constexpr - void - _M_capacity(size_type __capacity) - { _M_allocated_capacity = __capacity; } - - constexpr - void - _M_set_length(size_type __n) - { - _M_length(__n); - traits_type::assign(_M_data()[__n], _CharT()); - } - - constexpr - bool - _M_is_local() const - { - if (_M_data() == _M_local_data()) - { - if (_M_string_length > _S_local_capacity) - __builtin_unreachable(); - return true; - } - return false; - } - - - constexpr - pointer - _M_create(size_type&, size_type); - - constexpr - void - _M_dispose() - { - if (!_M_is_local()) - _M_destroy(_M_allocated_capacity); - } - - constexpr - void - _M_destroy(size_type __size) throw() - { _Alloc_traits::deallocate(_M_get_allocator(), _M_data(), __size + 1); } -# 321 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - void - _M_construct(_InIterator __beg, _InIterator __end, - std::input_iterator_tag); - - - - template - constexpr - void - _M_construct(_FwdIterator __beg, _FwdIterator __end, - std::forward_iterator_tag); - - constexpr - void - _M_construct(size_type __req, _CharT __c); - - constexpr - allocator_type& - _M_get_allocator() - { return _M_dataplus; } - - constexpr - const allocator_type& - _M_get_allocator() const - { return _M_dataplus; } - - - __attribute__((__always_inline__)) - constexpr - void - _M_init_local_buf() noexcept - { - - if (std::is_constant_evaluated()) - for (size_type __i = 0; __i <= _S_local_capacity; ++__i) - _M_local_buf[__i] = _CharT(); - - } - - __attribute__((__always_inline__)) - constexpr - pointer - _M_use_local_data() noexcept - { - - _M_init_local_buf(); - - return _M_local_data(); - } - - private: -# 389 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - 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; - } - - constexpr - 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)); - } - - - - constexpr - 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)); - } - - - - constexpr - static void - _S_copy(_CharT* __d, const _CharT* __s, size_type __n) - { - if (__n == 1) - traits_type::assign(*__d, *__s); - else - traits_type::copy(__d, __s, __n); - } - - constexpr - static void - _S_move(_CharT* __d, const _CharT* __s, size_type __n) - { - if (__n == 1) - traits_type::assign(*__d, *__s); - else - traits_type::move(__d, __s, __n); - } - - constexpr - static void - _S_assign(_CharT* __d, size_type __n, _CharT __c) - { - if (__n == 1) - traits_type::assign(*__d, __c); - else - traits_type::assign(__d, __n, __c); - } - - - - template - constexpr - static void - _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2) - { - for (; __k1 != __k2; ++__k1, (void)++__p) - traits_type::assign(*__p, *__k1); - } - - constexpr - static void - _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2) noexcept - { _S_copy_chars(__p, __k1.base(), __k2.base()); } - - constexpr - static void - _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2) - noexcept - { _S_copy_chars(__p, __k1.base(), __k2.base()); } - - constexpr - static void - _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2) noexcept - { _S_copy(__p, __k1, __k2 - __k1); } - - constexpr - static void - _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2) - noexcept - { _S_copy(__p, __k1, __k2 - __k1); } - - constexpr - 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); - } - - constexpr - void - _M_assign(const basic_string&); - - constexpr - void - _M_mutate(size_type __pos, size_type __len1, const _CharT* __s, - size_type __len2); - - constexpr - void - _M_erase(size_type __pos, size_type __n); - - public: - - - - - - - - constexpr - basic_string() - noexcept(is_nothrow_default_constructible<_Alloc>::value) - : _M_dataplus(_M_local_data()) - { - _M_init_local_buf(); - _M_set_length(0); - } - - - - - constexpr - explicit - basic_string(const _Alloc& __a) noexcept - : _M_dataplus(_M_local_data(), __a) - { - _M_init_local_buf(); - _M_set_length(0); - } - - - - - - constexpr - basic_string(const basic_string& __str) - : _M_dataplus(_M_local_data(), - _Alloc_traits::_S_select_on_copy(__str._M_get_allocator())) - { - _M_construct(__str._M_data(), __str._M_data() + __str.length(), - std::forward_iterator_tag()); - } -# 568 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string(const basic_string& __str, size_type __pos, - const _Alloc& __a = _Alloc()) - : _M_dataplus(_M_local_data(), __a) - { - const _CharT* __start = __str._M_data() - + __str._M_check(__pos, "basic_string::basic_string"); - _M_construct(__start, __start + __str._M_limit(__pos, npos), - std::forward_iterator_tag()); - } - - - - - - - - constexpr - basic_string(const basic_string& __str, size_type __pos, - size_type __n) - : _M_dataplus(_M_local_data()) - { - const _CharT* __start = __str._M_data() - + __str._M_check(__pos, "basic_string::basic_string"); - _M_construct(__start, __start + __str._M_limit(__pos, __n), - std::forward_iterator_tag()); - } -# 603 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string(const basic_string& __str, size_type __pos, - size_type __n, const _Alloc& __a) - : _M_dataplus(_M_local_data(), __a) - { - const _CharT* __start - = __str._M_data() + __str._M_check(__pos, "string::string"); - _M_construct(__start, __start + __str._M_limit(__pos, __n), - std::forward_iterator_tag()); - } -# 623 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string(const _CharT* __s, size_type __n, - const _Alloc& __a = _Alloc()) - : _M_dataplus(_M_local_data(), __a) - { - - if (__s == 0 && __n > 0) - std::__throw_logic_error(("basic_string: " "construction from null is not valid") - ); - _M_construct(__s, __s + __n, std::forward_iterator_tag()); - } -# 643 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template> - - constexpr - basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) - : _M_dataplus(_M_local_data(), __a) - { - - if (__s == 0) - std::__throw_logic_error(("basic_string: " "construction from null is not valid") - ); - const _CharT* __end = __s + traits_type::length(__s); - _M_construct(__s, __end, forward_iterator_tag()); - } -# 666 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template> - - constexpr - basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) - : _M_dataplus(_M_local_data(), __a) - { _M_construct(__n, __c); } -# 681 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string(basic_string&& __str) noexcept - : _M_dataplus(_M_local_data(), std::move(__str._M_get_allocator())) - { - if (__str._M_is_local()) - { - _M_init_local_buf(); - traits_type::copy(_M_local_buf, __str._M_local_buf, - __str.length() + 1); - } - else - { - _M_data(__str._M_data()); - _M_capacity(__str._M_allocated_capacity); - } - - - - - _M_length(__str.length()); - __str._M_data(__str._M_use_local_data()); - __str._M_set_length(0); - } - - - - - - - constexpr - basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) - : _M_dataplus(_M_local_data(), __a) - { _M_construct(__l.begin(), __l.end(), std::forward_iterator_tag()); } - - constexpr - basic_string(const basic_string& __str, const _Alloc& __a) - : _M_dataplus(_M_local_data(), __a) - { _M_construct(__str.begin(), __str.end(), std::forward_iterator_tag()); } - - constexpr - basic_string(basic_string&& __str, const _Alloc& __a) - noexcept(_Alloc_traits::_S_always_equal()) - : _M_dataplus(_M_local_data(), __a) - { - if (__str._M_is_local()) - { - _M_init_local_buf(); - traits_type::copy(_M_local_buf, __str._M_local_buf, - __str.length() + 1); - _M_length(__str.length()); - __str._M_set_length(0); - } - else if (_Alloc_traits::_S_always_equal() - || __str.get_allocator() == __a) - { - _M_data(__str._M_data()); - _M_length(__str.length()); - _M_capacity(__str._M_allocated_capacity); - __str._M_data(__str._M_use_local_data()); - __str._M_set_length(0); - } - else - _M_construct(__str.begin(), __str.end(), std::forward_iterator_tag()); - } -# 759 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template> - - - - constexpr - basic_string(_InputIterator __beg, _InputIterator __end, - const _Alloc& __a = _Alloc()) - : _M_dataplus(_M_local_data(), __a), _M_string_length(0) - { - - _M_construct(__beg, __end, std::__iterator_category(__beg)); - - - - - } -# 785 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template>> - constexpr - 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> - constexpr - explicit - basic_string(const _Tp& __t, const _Alloc& __a = _Alloc()) - : basic_string(__sv_wrapper(_S_to_string_view(__t)), __a) { } - - - - - - constexpr - ~basic_string() - { _M_dispose(); } - - - - - - constexpr - basic_string& - operator=(const basic_string& __str) - { - return this->assign(__str); - } - - - - - - constexpr - basic_string& - operator=(const _CharT* __s) - { return this->assign(__s); } -# 838 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - operator=(_CharT __c) - { - this->assign(1, __c); - return *this; - } -# 856 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - operator=(basic_string&& __str) - noexcept(_Alloc_traits::_S_nothrow_move()) - { - const bool __equal_allocs = _Alloc_traits::_S_always_equal() - || _M_get_allocator() == __str._M_get_allocator(); - if (!_M_is_local() && _Alloc_traits::_S_propagate_on_move_assign() - && !__equal_allocs) - { - - _M_destroy(_M_allocated_capacity); - _M_data(_M_local_data()); - _M_set_length(0); - } - - std::__alloc_on_move(_M_get_allocator(), __str._M_get_allocator()); - - if (__str._M_is_local()) - { - - - - if (__builtin_expect(std::__addressof(__str) != this, true)) - { - if (__str.size()) - this->_S_copy(_M_data(), __str._M_data(), __str.size()); - _M_set_length(__str.size()); - } - } - else if (_Alloc_traits::_S_propagate_on_move_assign() || __equal_allocs) - { - - pointer __data = nullptr; - size_type __capacity; - if (!_M_is_local()) - { - if (__equal_allocs) - { - - __data = _M_data(); - __capacity = _M_allocated_capacity; - } - else - _M_destroy(_M_allocated_capacity); - } - - _M_data(__str._M_data()); - _M_length(__str.length()); - _M_capacity(__str._M_allocated_capacity); - if (__data) - { - __str._M_data(__data); - __str._M_capacity(__capacity); - } - else - __str._M_data(__str._M_use_local_data()); - } - else - assign(__str); - __str.clear(); - return *this; - } - - - - - - constexpr - basic_string& - operator=(initializer_list<_CharT> __l) - { - this->assign(__l.begin(), __l.size()); - return *this; - } - - - - - - - - template - constexpr - _If_sv<_Tp, basic_string&> - operator=(const _Tp& __svt) - { return this->assign(__svt); } - - - - - - constexpr - operator __sv_type() const noexcept - { return __sv_type(data(), size()); } - - - - - - - - [[__nodiscard__]] constexpr - iterator - begin() noexcept - { return iterator(_M_data()); } - - - - - - [[__nodiscard__]] constexpr - const_iterator - begin() const noexcept - { return const_iterator(_M_data()); } - - - - - - [[__nodiscard__]] constexpr - iterator - end() noexcept - { return iterator(_M_data() + this->size()); } - - - - - - [[__nodiscard__]] constexpr - const_iterator - end() const noexcept - { return const_iterator(_M_data() + this->size()); } - - - - - - - [[__nodiscard__]] constexpr - reverse_iterator - rbegin() noexcept - { return reverse_iterator(this->end()); } - - - - - - - [[__nodiscard__]] constexpr - const_reverse_iterator - rbegin() const noexcept - { return const_reverse_iterator(this->end()); } - - - - - - - [[__nodiscard__]] constexpr - reverse_iterator - rend() noexcept - { return reverse_iterator(this->begin()); } - - - - - - - [[__nodiscard__]] constexpr - const_reverse_iterator - rend() const noexcept - { return const_reverse_iterator(this->begin()); } - - - - - - - [[__nodiscard__]] constexpr - const_iterator - cbegin() const noexcept - { return const_iterator(this->_M_data()); } - - - - - - [[__nodiscard__]] constexpr - const_iterator - cend() const noexcept - { return const_iterator(this->_M_data() + this->size()); } - - - - - - - [[__nodiscard__]] constexpr - const_reverse_iterator - crbegin() const noexcept - { return const_reverse_iterator(this->end()); } - - - - - - - [[__nodiscard__]] constexpr - const_reverse_iterator - crend() const noexcept - { return const_reverse_iterator(this->begin()); } - - - public: - - - - [[__nodiscard__]] constexpr - size_type - size() const noexcept - { return _M_string_length; } - - - - [[__nodiscard__]] constexpr - size_type - length() const noexcept - { return _M_string_length; } - - - [[__nodiscard__]] constexpr - size_type - max_size() const noexcept - { return (_Alloc_traits::max_size(_M_get_allocator()) - 1) / 2; } -# 1102 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - void - resize(size_type __n, _CharT __c); -# 1116 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - void - resize(size_type __n) - { this->resize(__n, _CharT()); } - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - - constexpr - void - shrink_to_fit() noexcept - { reserve(); } -#pragma GCC diagnostic pop -# 1169 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr void - __resize_and_overwrite(size_type __n, _Operation __op); - - - - - - - [[__nodiscard__]] constexpr - size_type - capacity() const noexcept - { - return _M_is_local() ? size_type(_S_local_capacity) - : _M_allocated_capacity; - } -# 1203 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - void - reserve(size_type __res_arg); - - - - - - [[deprecated("use shrink_to_fit() instead")]] - - constexpr - void - reserve(); - - - - - constexpr - void - clear() noexcept - { _M_set_length(0); } - - - - - - [[__nodiscard__]] constexpr - bool - empty() const noexcept - { return this->size() == 0; } -# 1245 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - const_reference - operator[] (size_type __pos) const noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__pos <= size()), false)) std::__glibcxx_assert_fail(); } while (false); - return _M_data()[__pos]; - } -# 1263 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - reference - operator[](size_type __pos) - { - - - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__pos <= size()), false)) std::__glibcxx_assert_fail(); } while (false); - - ; - return _M_data()[__pos]; - } -# 1285 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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]; - } -# 1307 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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()); - return _M_data()[__n]; - } - - - - - - - [[__nodiscard__]] constexpr - reference - front() noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); - return operator[](0); - } - - - - - - [[__nodiscard__]] constexpr - const_reference - front() const noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); - return operator[](0); - } - - - - - - [[__nodiscard__]] constexpr - reference - back() noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); - return operator[](this->size() - 1); - } - - - - - - [[__nodiscard__]] constexpr - const_reference - back() const noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); - return operator[](this->size() - 1); - } -# 1375 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - operator+=(const basic_string& __str) - { return this->append(__str); } - - - - - - - constexpr - basic_string& - operator+=(const _CharT* __s) - { return this->append(__s); } - - - - - - - constexpr - basic_string& - operator+=(_CharT __c) - { - this->push_back(__c); - return *this; - } - - - - - - - - constexpr - basic_string& - operator+=(initializer_list<_CharT> __l) - { return this->append(__l.begin(), __l.size()); } -# 1421 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - _If_sv<_Tp, basic_string&> - operator+=(const _Tp& __svt) - { return this->append(__svt); } - - - - - - - - constexpr - basic_string& - append(const basic_string& __str) - { return this->append(__str._M_data(), __str.size()); } -# 1451 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - append(const basic_string& __str, size_type __pos, size_type __n = npos) - { return this->append(__str._M_data() - + __str._M_check(__pos, "basic_string::append"), - __str._M_limit(__pos, __n)); } - - - - - - - - constexpr - basic_string& - append(const _CharT* __s, size_type __n) - { - ; - _M_check_length(size_type(0), __n, "basic_string::append"); - return _M_append(__s, __n); - } - - - - - - - constexpr - basic_string& - append(const _CharT* __s) - { - ; - const size_type __n = traits_type::length(__s); - _M_check_length(size_type(0), __n, "basic_string::append"); - return _M_append(__s, __n); - } -# 1496 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - append(size_type __n, _CharT __c) - { return _M_replace_aux(this->size(), size_type(0), __n, __c); } - - - - - - - - constexpr - basic_string& - append(initializer_list<_CharT> __l) - { return this->append(__l.begin(), __l.size()); } -# 1522 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template> - constexpr - - - - basic_string& - append(_InputIterator __first, _InputIterator __last) - { return this->replace(end(), end(), __first, __last); } - - - - - - - - template - constexpr - _If_sv<_Tp, basic_string&> - append(const _Tp& __svt) - { - __sv_type __sv = __svt; - return this->append(__sv.data(), __sv.size()); - } -# 1554 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - _If_sv<_Tp, basic_string&> - append(const _Tp& __svt, size_type __pos, size_type __n = npos) - { - __sv_type __sv = __svt; - return _M_append(__sv.data() - + std::__sv_check(__sv.size(), __pos, "basic_string::append"), - std::__sv_limit(__sv.size(), __pos, __n)); - } - - - - - - - constexpr - void - push_back(_CharT __c) - { - const size_type __size = this->size(); - if (__size + 1 > this->capacity()) - this->_M_mutate(__size, size_type(0), 0, size_type(1)); - traits_type::assign(this->_M_data()[__size], __c); - this->_M_set_length(__size + 1); - } - - - - - - - constexpr - basic_string& - assign(const basic_string& __str) - { - - if (_Alloc_traits::_S_propagate_on_copy_assign()) - { - if (!_Alloc_traits::_S_always_equal() && !_M_is_local() - && _M_get_allocator() != __str._M_get_allocator()) - { - - - if (__str.size() <= _S_local_capacity) - { - _M_destroy(_M_allocated_capacity); - _M_data(_M_use_local_data()); - _M_set_length(0); - } - else - { - const auto __len = __str.size(); - auto __alloc = __str._M_get_allocator(); - - auto __ptr = _S_allocate(__alloc, __len + 1); - _M_destroy(_M_allocated_capacity); - _M_data(__ptr); - _M_capacity(__len); - _M_set_length(__len); - } - } - std::__alloc_on_copy(_M_get_allocator(), __str._M_get_allocator()); - } - - this->_M_assign(__str); - return *this; - } -# 1632 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - assign(basic_string&& __str) - noexcept(_Alloc_traits::_S_nothrow_move()) - { - - - return *this = std::move(__str); - } -# 1656 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - assign(const basic_string& __str, size_type __pos, size_type __n = npos) - { return _M_replace(size_type(0), this->size(), __str._M_data() - + __str._M_check(__pos, "basic_string::assign"), - __str._M_limit(__pos, __n)); } -# 1673 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - assign(const _CharT* __s, size_type __n) - { - ; - return _M_replace(size_type(0), this->size(), __s, __n); - } -# 1690 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - assign(const _CharT* __s) - { - ; - return _M_replace(size_type(0), this->size(), __s, - traits_type::length(__s)); - } -# 1708 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - assign(size_type __n, _CharT __c) - { return _M_replace_aux(size_type(0), this->size(), __n, __c); } -# 1722 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wc++17-extensions" - template> - constexpr - basic_string& - assign(_InputIterator __first, _InputIterator __last) - { - - if constexpr (contiguous_iterator<_InputIterator> - && is_same_v, _CharT>) - - - - - { - ; - return _M_replace(size_type(0), size(), - std::__to_address(__first), __last - __first); - } - else - return *this = basic_string(__first, __last, get_allocator()); - } -#pragma GCC diagnostic pop -# 1759 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - assign(initializer_list<_CharT> __l) - { - - - const size_type __n = __l.size(); - if (__n > capacity()) - *this = basic_string(__l.begin(), __l.end(), get_allocator()); - else - { - if (__n) - _S_copy(_M_data(), __l.begin(), __n); - _M_set_length(__n); - } - return *this; - } -# 1784 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - _If_sv<_Tp, basic_string&> - assign(const _Tp& __svt) - { - __sv_type __sv = __svt; - return this->assign(__sv.data(), __sv.size()); - } -# 1800 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - _If_sv<_Tp, basic_string&> - assign(const _Tp& __svt, size_type __pos, size_type __n = npos) - { - __sv_type __sv = __svt; - return _M_replace(size_type(0), this->size(), - __sv.data() - + std::__sv_check(__sv.size(), __pos, "basic_string::assign"), - std::__sv_limit(__sv.size(), __pos, __n)); - } -# 1829 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - iterator - insert(const_iterator __p, size_type __n, _CharT __c) - { - ; - const size_type __pos = __p - begin(); - this->replace(__p, __p, __n, __c); - return iterator(this->_M_data() + __pos); - } -# 1872 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template> - constexpr - iterator - insert(const_iterator __p, _InputIterator __beg, _InputIterator __end) - { - ; - const size_type __pos = __p - begin(); - this->replace(__p, __p, __beg, __end); - return iterator(this->_M_data() + __pos); - } -# 1909 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - iterator - insert(const_iterator __p, initializer_list<_CharT> __l) - { return this->insert(__p, __l.begin(), __l.end()); } -# 1937 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - insert(size_type __pos1, const basic_string& __str) - { return this->replace(__pos1, size_type(0), - __str._M_data(), __str.size()); } -# 1961 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - insert(size_type __pos1, const basic_string& __str, - size_type __pos2, size_type __n = npos) - { return this->replace(__pos1, size_type(0), __str._M_data() - + __str._M_check(__pos2, "basic_string::insert"), - __str._M_limit(__pos2, __n)); } -# 1985 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - insert(size_type __pos, const _CharT* __s, size_type __n) - { return this->replace(__pos, size_type(0), __s, __n); } -# 2005 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - insert(size_type __pos, const _CharT* __s) - { - ; - return this->replace(__pos, size_type(0), __s, - traits_type::length(__s)); - } -# 2030 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - 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); } -# 2049 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - iterator - insert(__const_iterator __p, _CharT __c) - { - ; - const size_type __pos = __p - begin(); - _M_replace_aux(__pos, size_type(0), size_type(1), __c); - return iterator(_M_data() + __pos); - } -# 2066 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - _If_sv<_Tp, basic_string&> - insert(size_type __pos, const _Tp& __svt) - { - __sv_type __sv = __svt; - return this->insert(__pos, __sv.data(), __sv.size()); - } -# 2083 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - _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)); - } -# 2112 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - erase(size_type __pos = 0, size_type __n = npos) - { - _M_check(__pos, "basic_string::erase"); - if (__n == npos) - this->_M_set_length(__pos); - else if (__n != 0) - this->_M_erase(__pos, _M_limit(__pos, __n)); - return *this; - } -# 2132 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - iterator - erase(__const_iterator __position) - { - - ; - const size_type __pos = __position - begin(); - this->_M_erase(__pos, size_type(1)); - return iterator(_M_data() + __pos); - } -# 2152 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - iterator - erase(__const_iterator __first, __const_iterator __last) - { - - ; - const size_type __pos = __first - begin(); - if (__last == end()) - this->_M_set_length(__pos); - else - this->_M_erase(__pos, __last - __first); - return iterator(this->_M_data() + __pos); - } - - - - - - - - constexpr - void - pop_back() noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); - _M_erase(size() - 1, 1); - } -# 2198 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - replace(size_type __pos, size_type __n, const basic_string& __str) - { return this->replace(__pos, __n, __str._M_data(), __str.size()); } -# 2221 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - 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)); } -# 2247 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - replace(size_type __pos, size_type __n1, const _CharT* __s, - size_type __n2) - { - ; - return _M_replace(_M_check(__pos, "basic_string::replace"), - _M_limit(__pos, __n1), __s, __n2); - } -# 2273 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - replace(size_type __pos, size_type __n1, const _CharT* __s) - { - ; - return this->replace(__pos, __n1, __s, traits_type::length(__s)); - } -# 2298 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - 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); } -# 2317 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, - const basic_string& __str) - { return this->replace(__i1, __i2, __str._M_data(), __str.size()); } -# 2338 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, - const _CharT* __s, size_type __n) - { - - ; - return this->replace(__i1 - begin(), __i2 - __i1, __s, __n); - } -# 2361 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, const _CharT* __s) - { - ; - return this->replace(__i1, __i2, __s, traits_type::length(__s)); - } -# 2383 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, size_type __n, - _CharT __c) - { - - ; - return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __c); - } -# 2409 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template> - constexpr - basic_string& - replace(const_iterator __i1, const_iterator __i2, - _InputIterator __k1, _InputIterator __k2) - { - - ; - ; - return this->_M_replace_dispatch(__i1, __i2, __k1, __k2, - std::__false_type()); - } -# 2442 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, - _CharT* __k1, _CharT* __k2) - { - - ; - ; - return this->replace(__i1 - begin(), __i2 - __i1, - __k1, __k2 - __k1); - } - - constexpr - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, - const _CharT* __k1, const _CharT* __k2) - { - - ; - ; - return this->replace(__i1 - begin(), __i2 - __i1, - __k1, __k2 - __k1); - } - - constexpr - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, - iterator __k1, iterator __k2) - { - - ; - ; - return this->replace(__i1 - begin(), __i2 - __i1, - __k1.base(), __k2 - __k1); - } - - constexpr - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, - const_iterator __k1, const_iterator __k2) - { - - ; - ; - return this->replace(__i1 - begin(), __i2 - __i1, - __k1.base(), __k2 - __k1); - } -# 2505 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& replace(const_iterator __i1, const_iterator __i2, - initializer_list<_CharT> __l) - { return this->replace(__i1, __i2, __l.begin(), __l.size()); } -# 2519 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - _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()); - } -# 2537 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - _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)); - } -# 2559 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - _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 - constexpr - basic_string& - _M_replace_dispatch(const_iterator __i1, const_iterator __i2, - _Integer __n, _Integer __val, __true_type) - { return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __val); } - - template - constexpr - basic_string& - _M_replace_dispatch(const_iterator __i1, const_iterator __i2, - _InputIterator __k1, _InputIterator __k2, - __false_type); - - constexpr - basic_string& - _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2, - _CharT __c); - - __attribute__((__noinline__, __noclone__, __cold__)) void - _M_replace_cold(pointer __p, size_type __len1, const _CharT* __s, - const size_type __len2, const size_type __how_much); - - constexpr - basic_string& - _M_replace(size_type __pos, size_type __len1, const _CharT* __s, - const size_type __len2); - - constexpr - basic_string& - _M_append(const _CharT* __s, size_type __n); - - public: -# 2616 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - size_type - copy(_CharT* __s, size_type __n, size_type __pos = 0) const; -# 2627 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - void - swap(basic_string& __s) noexcept; -# 2638 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - const _CharT* - c_str() const noexcept - { return _M_data(); } -# 2651 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - const _CharT* - data() const noexcept - { return _M_data(); } -# 2663 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - _CharT* - data() noexcept - { return _M_data(); } - - - - - - [[__nodiscard__]] constexpr - allocator_type - get_allocator() const noexcept - { return _M_get_allocator(); } -# 2689 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find(const _CharT* __s, size_type __pos, size_type __n) const - noexcept; -# 2704 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find(const basic_string& __str, size_type __pos = 0) const - noexcept - { return this->find(__str.data(), __pos, __str.size()); } -# 2717 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - _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()); - } -# 2738 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find(const _CharT* __s, size_type __pos = 0) const noexcept - { - ; - return this->find(__s, __pos, traits_type::length(__s)); - } -# 2756 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find(_CharT __c, size_type __pos = 0) const noexcept; -# 2770 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - rfind(const basic_string& __str, size_type __pos = npos) const - noexcept - { return this->rfind(__str.data(), __pos, __str.size()); } -# 2783 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - _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()); - } -# 2806 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - rfind(const _CharT* __s, size_type __pos, size_type __n) const - noexcept; -# 2821 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - rfind(const _CharT* __s, size_type __pos = npos) const - { - ; - return this->rfind(__s, __pos, traits_type::length(__s)); - } -# 2839 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - rfind(_CharT __c, size_type __pos = npos) const noexcept; -# 2854 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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()); } -# 2868 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - _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()); - } -# 2891 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find_first_of(const _CharT* __s, size_type __pos, size_type __n) const - noexcept; -# 2906 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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)); - } -# 2927 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find_first_of(_CharT __c, size_type __pos = 0) const noexcept - { return this->find(__c, __pos); } -# 2943 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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()); } -# 2957 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - _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()); - } -# 2980 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find_last_of(const _CharT* __s, size_type __pos, size_type __n) const - noexcept; -# 2995 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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)); - } -# 3016 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find_last_of(_CharT __c, size_type __pos = npos) const noexcept - { return this->rfind(__c, __pos); } -# 3031 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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()); } -# 3045 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - _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()); - } -# 3068 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find_first_not_of(const _CharT* __s, size_type __pos, - size_type __n) const noexcept; -# 3083 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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)); - } -# 3102 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find_first_not_of(_CharT __c, size_type __pos = 0) const - noexcept; -# 3118 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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()); } -# 3132 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - _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()); - } -# 3155 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find_last_not_of(const _CharT* __s, size_type __pos, - size_type __n) const noexcept; -# 3170 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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)); - } -# 3189 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find_last_not_of(_CharT __c, size_type __pos = npos) const - noexcept; -# 3206 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - basic_string - substr(size_type __pos = 0, size_type __n = npos) const - { return basic_string(*this, - _M_check(__pos, "basic_string::substr"), __n); } -# 3226 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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 - [[__nodiscard__]] constexpr - _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; - } -# 3271 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - _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); - } -# 3291 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - _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)); - } -# 3323 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - int - 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; - } -# 3360 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - int - compare(size_type __pos1, size_type __n1, const basic_string& __str, - size_type __pos2, size_type __n2 = npos) 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; - } -# 3391 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - int - 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; - } -# 3426 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - int - 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; - } -# 3465 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - int - 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; - } - - - [[nodiscard]] - constexpr bool - starts_with(basic_string_view<_CharT, _Traits> __x) const noexcept - { return __sv_type(this->data(), this->size()).starts_with(__x); } - - [[nodiscard]] - constexpr bool - starts_with(_CharT __x) const noexcept - { return __sv_type(this->data(), this->size()).starts_with(__x); } - - [[nodiscard, __gnu__::__nonnull__]] - constexpr bool - starts_with(const _CharT* __x) const noexcept - { return __sv_type(this->data(), this->size()).starts_with(__x); } - - [[nodiscard]] - constexpr bool - ends_with(basic_string_view<_CharT, _Traits> __x) const noexcept - { return __sv_type(this->data(), this->size()).ends_with(__x); } - - [[nodiscard]] - constexpr bool - ends_with(_CharT __x) const noexcept - { return __sv_type(this->data(), this->size()).ends_with(__x); } - - [[nodiscard, __gnu__::__nonnull__]] - constexpr bool - ends_with(const _CharT* __x) const noexcept - { return __sv_type(this->data(), this->size()).ends_with(__x); } -# 3530 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template friend class basic_stringbuf; - }; -} - -} - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - -namespace __cxx11 { - 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>; -} - - - template - constexpr - inline _Str - __str_concat(typename _Str::value_type const* __lhs, - typename _Str::size_type __lhs_len, - typename _Str::value_type const* __rhs, - typename _Str::size_type __rhs_len, - typename _Str::allocator_type const& __a) - { - typedef typename _Str::allocator_type allocator_type; - typedef __gnu_cxx::__alloc_traits _Alloc_traits; - _Str __str(_Alloc_traits::_S_select_on_copy(__a)); - __str.reserve(__lhs_len + __rhs_len); - __str.append(__lhs, __lhs_len); - __str.append(__rhs, __rhs_len); - return __str; - } -# 3595 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - inline basic_string<_CharT, _Traits, _Alloc> - operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) - { - typedef basic_string<_CharT, _Traits, _Alloc> _Str; - return std::__str_concat<_Str>(__lhs.c_str(), __lhs.size(), - __rhs.c_str(), __rhs.size(), - __lhs.get_allocator()); - } - - - - - - - - template - [[__nodiscard__]] constexpr - inline basic_string<_CharT,_Traits,_Alloc> - operator+(const _CharT* __lhs, - const basic_string<_CharT,_Traits,_Alloc>& __rhs) - { - ; - typedef basic_string<_CharT, _Traits, _Alloc> _Str; - return std::__str_concat<_Str>(__lhs, _Traits::length(__lhs), - __rhs.c_str(), __rhs.size(), - __rhs.get_allocator()); - } - - - - - - - - template - [[__nodiscard__]] constexpr - inline basic_string<_CharT,_Traits,_Alloc> - operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs) - { - typedef basic_string<_CharT, _Traits, _Alloc> _Str; - return std::__str_concat<_Str>(__builtin_addressof(__lhs), 1, - __rhs.c_str(), __rhs.size(), - __rhs.get_allocator()); - } - - - - - - - - template - [[__nodiscard__]] constexpr - inline basic_string<_CharT, _Traits, _Alloc> - operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const _CharT* __rhs) - { - ; - typedef basic_string<_CharT, _Traits, _Alloc> _Str; - return std::__str_concat<_Str>(__lhs.c_str(), __lhs.size(), - __rhs, _Traits::length(__rhs), - __lhs.get_allocator()); - } - - - - - - - template - [[__nodiscard__]] constexpr - inline basic_string<_CharT, _Traits, _Alloc> - operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs) - { - typedef basic_string<_CharT, _Traits, _Alloc> _Str; - return std::__str_concat<_Str>(__lhs.c_str(), __lhs.size(), - __builtin_addressof(__rhs), 1, - __lhs.get_allocator()); - } - - - template - [[__nodiscard__]] constexpr - 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 - constexpr - 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 - [[__nodiscard__]] constexpr - inline basic_string<_CharT, _Traits, _Alloc> - operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, - basic_string<_CharT, _Traits, _Alloc>&& __rhs) - { - - using _Alloc_traits = allocator_traits<_Alloc>; - bool __use_rhs = false; - if constexpr (typename _Alloc_traits::is_always_equal{}) - __use_rhs = true; - else if (__lhs.get_allocator() == __rhs.get_allocator()) - __use_rhs = true; - if (__use_rhs) - - { - 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 - [[__nodiscard__]] [[__nodiscard__]] constexpr - inline basic_string<_CharT, _Traits, _Alloc> - operator+(const _CharT* __lhs, - basic_string<_CharT, _Traits, _Alloc>&& __rhs) - { return std::move(__rhs.insert(0, __lhs)); } - - template - [[__nodiscard__]] constexpr - inline basic_string<_CharT, _Traits, _Alloc> - operator+(_CharT __lhs, - basic_string<_CharT, _Traits, _Alloc>&& __rhs) - { return std::move(__rhs.insert(0, 1, __lhs)); } - - template - [[__nodiscard__]] constexpr - inline basic_string<_CharT, _Traits, _Alloc> - operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, - const _CharT* __rhs) - { return std::move(__lhs.append(__rhs)); } - - template - [[__nodiscard__]] constexpr - inline basic_string<_CharT, _Traits, _Alloc> - operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, - _CharT __rhs) - { return std::move(__lhs.append(1, __rhs)); } -# 3752 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - inline bool - operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) - noexcept - { - return __lhs.size() == __rhs.size() - && !_Traits::compare(__lhs.data(), __rhs.data(), __lhs.size()); - } - - - - - - - - template - [[__nodiscard__]] constexpr - inline bool - operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const _CharT* __rhs) - { - return __lhs.size() == _Traits::length(__rhs) - && !_Traits::compare(__lhs.data(), __rhs, __lhs.size()); - } -# 3787 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[nodiscard]] - constexpr auto - operator<=>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) noexcept - -> decltype(__detail::__char_traits_cmp_cat<_Traits>(0)) - { return __detail::__char_traits_cmp_cat<_Traits>(__lhs.compare(__rhs)); } -# 3802 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[nodiscard]] - constexpr auto - operator<=>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const _CharT* __rhs) noexcept - -> decltype(__detail::__char_traits_cmp_cat<_Traits>(0)) - { return __detail::__char_traits_cmp_cat<_Traits>(__lhs.compare(__rhs)); } -# 4036 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - inline void - swap(basic_string<_CharT, _Traits, _Alloc>& __lhs, - basic_string<_CharT, _Traits, _Alloc>& __rhs) - noexcept(noexcept(__lhs.swap(__rhs))) - { __lhs.swap(__rhs); } -# 4057 "/usr/include/c++/14.1.1/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); -# 4075 "/usr/include/c++/14.1.1/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()); - } -# 4098 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - basic_istream<_CharT, _Traits>& - getline(basic_istream<_CharT, _Traits>& __is, - basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim); -# 4115 "/usr/include/c++/14.1.1/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/include/c++/14.1.1/ext/string_conversions.h" 1 3 -# 32 "/usr/include/c++/14.1.1/ext/string_conversions.h" 3 - -# 33 "/usr/include/c++/14.1.1/ext/string_conversions.h" 3 -# 43 "/usr/include/c++/14.1.1/ext/string_conversions.h" 3 -# 1 "/usr/include/c++/14.1.1/cstdlib" 1 3 -# 39 "/usr/include/c++/14.1.1/cstdlib" 3 - -# 40 "/usr/include/c++/14.1.1/cstdlib" 3 -# 79 "/usr/include/c++/14.1.1/cstdlib" 3 -# 1 "/usr/include/stdlib.h" 1 3 4 -# 26 "/usr/include/stdlib.h" 3 4 -# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 -# 27 "/usr/include/stdlib.h" 2 3 4 - - - - - -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 33 "/usr/include/stdlib.h" 2 3 4 - -extern "C" { - - - - - -# 1 "/usr/include/bits/waitflags.h" 1 3 4 -# 41 "/usr/include/stdlib.h" 2 3 4 -# 1 "/usr/include/bits/waitstatus.h" 1 3 4 -# 42 "/usr/include/stdlib.h" 2 3 4 -# 59 "/usr/include/stdlib.h" 3 4 -typedef struct - { - int quot; - int rem; - } div_t; - - - -typedef struct - { - long int quot; - long int rem; - } ldiv_t; - - - - - -__extension__ typedef struct - { - long long int quot; - long long int rem; - } lldiv_t; -# 98 "/usr/include/stdlib.h" 3 4 -extern size_t __ctype_get_mb_cur_max (void) noexcept (true) ; - - - -extern double atof (const char *__nptr) - noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; - -extern int atoi (const char *__nptr) - noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; - -extern long int atol (const char *__nptr) - noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; - - - -__extension__ extern long long int atoll (const char *__nptr) - noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; - - - -extern double strtod (const char *__restrict __nptr, - char **__restrict __endptr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern float strtof (const char *__restrict __nptr, - char **__restrict __endptr) noexcept (true) __attribute__ ((__nonnull__ (1))); - -extern long double strtold (const char *__restrict __nptr, - char **__restrict __endptr) - noexcept (true) __attribute__ ((__nonnull__ (1))); -# 141 "/usr/include/stdlib.h" 3 4 -extern _Float32 strtof32 (const char *__restrict __nptr, - char **__restrict __endptr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern _Float64 strtof64 (const char *__restrict __nptr, - char **__restrict __endptr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern _Float128 strtof128 (const char *__restrict __nptr, - char **__restrict __endptr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern _Float32x strtof32x (const char *__restrict __nptr, - char **__restrict __endptr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern _Float64x strtof64x (const char *__restrict __nptr, - char **__restrict __endptr) - noexcept (true) __attribute__ ((__nonnull__ (1))); -# 177 "/usr/include/stdlib.h" 3 4 -extern long int strtol (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - noexcept (true) __attribute__ ((__nonnull__ (1))); - -extern unsigned long int strtoul (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -__extension__ -extern long long int strtoq (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - noexcept (true) __attribute__ ((__nonnull__ (1))); - -__extension__ -extern unsigned long long int strtouq (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - -__extension__ -extern long long int strtoll (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - noexcept (true) __attribute__ ((__nonnull__ (1))); - -__extension__ -extern unsigned long long int strtoull (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - - -extern long int strtol (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtol") - - - __attribute__ ((__nonnull__ (1))); -extern unsigned long int strtoul (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtoul") - - - - __attribute__ ((__nonnull__ (1))); - -__extension__ -extern long long int strtoq (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtoll") - - - __attribute__ ((__nonnull__ (1))); -__extension__ -extern unsigned long long int strtouq (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtoull") - - - - __attribute__ ((__nonnull__ (1))); - -__extension__ -extern long long int strtoll (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtoll") - - - __attribute__ ((__nonnull__ (1))); -__extension__ -extern unsigned long long int strtoull (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtoull") - - - - __attribute__ ((__nonnull__ (1))); -# 278 "/usr/include/stdlib.h" 3 4 -extern int strfromd (char *__dest, size_t __size, const char *__format, - double __f) - noexcept (true) __attribute__ ((__nonnull__ (3))); - -extern int strfromf (char *__dest, size_t __size, const char *__format, - float __f) - noexcept (true) __attribute__ ((__nonnull__ (3))); - -extern int strfroml (char *__dest, size_t __size, const char *__format, - long double __f) - noexcept (true) __attribute__ ((__nonnull__ (3))); -# 298 "/usr/include/stdlib.h" 3 4 -extern int strfromf32 (char *__dest, size_t __size, const char * __format, - _Float32 __f) - noexcept (true) __attribute__ ((__nonnull__ (3))); - - - -extern int strfromf64 (char *__dest, size_t __size, const char * __format, - _Float64 __f) - noexcept (true) __attribute__ ((__nonnull__ (3))); - - - -extern int strfromf128 (char *__dest, size_t __size, const char * __format, - _Float128 __f) - noexcept (true) __attribute__ ((__nonnull__ (3))); - - - -extern int strfromf32x (char *__dest, size_t __size, const char * __format, - _Float32x __f) - noexcept (true) __attribute__ ((__nonnull__ (3))); - - - -extern int strfromf64x (char *__dest, size_t __size, const char * __format, - _Float64x __f) - noexcept (true) __attribute__ ((__nonnull__ (3))); -# 340 "/usr/include/stdlib.h" 3 4 -extern long int strtol_l (const char *__restrict __nptr, - char **__restrict __endptr, int __base, - locale_t __loc) noexcept (true) __attribute__ ((__nonnull__ (1, 4))); - -extern unsigned long int strtoul_l (const char *__restrict __nptr, - char **__restrict __endptr, - int __base, locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 4))); - -__extension__ -extern long long int strtoll_l (const char *__restrict __nptr, - char **__restrict __endptr, int __base, - locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 4))); - -__extension__ -extern unsigned long long int strtoull_l (const char *__restrict __nptr, - char **__restrict __endptr, - int __base, locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 4))); - - - - - -extern long int strtol_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_strtol_l") - - - - __attribute__ ((__nonnull__ (1, 4))); -extern unsigned long int strtoul_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_strtoul_l") - - - - - __attribute__ ((__nonnull__ (1, 4))); -__extension__ -extern long long int strtoll_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_strtoll_l") - - - - - __attribute__ ((__nonnull__ (1, 4))); -__extension__ -extern unsigned long long int strtoull_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_strtoull_l") - - - - - __attribute__ ((__nonnull__ (1, 4))); -# 415 "/usr/include/stdlib.h" 3 4 -extern double strtod_l (const char *__restrict __nptr, - char **__restrict __endptr, locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - -extern float strtof_l (const char *__restrict __nptr, - char **__restrict __endptr, locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - -extern long double strtold_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); -# 436 "/usr/include/stdlib.h" 3 4 -extern _Float32 strtof32_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - - - -extern _Float64 strtof64_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - - - -extern _Float128 strtof128_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - - - -extern _Float32x strtof32x_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - - - -extern _Float64x strtof64x_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); -# 505 "/usr/include/stdlib.h" 3 4 -extern char *l64a (long int __n) noexcept (true) ; - - -extern long int a64l (const char *__s) - noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; - - - - -# 1 "/usr/include/sys/types.h" 1 3 4 -# 27 "/usr/include/sys/types.h" 3 4 -extern "C" { - - - - - -typedef __u_char u_char; -typedef __u_short u_short; -typedef __u_int u_int; -typedef __u_long u_long; -typedef __quad_t quad_t; -typedef __u_quad_t u_quad_t; -typedef __fsid_t fsid_t; - - -typedef __loff_t loff_t; - - - - -typedef __ino_t ino_t; - - - - - - -typedef __ino64_t ino64_t; - - - - -typedef __dev_t dev_t; - - - - -typedef __gid_t gid_t; - - - - -typedef __mode_t mode_t; - - - - -typedef __nlink_t nlink_t; - - - - -typedef __uid_t uid_t; - - - - - -typedef __off_t off_t; - - - - - - -typedef __off64_t off64_t; -# 103 "/usr/include/sys/types.h" 3 4 -typedef __id_t id_t; - - - - -typedef __ssize_t ssize_t; - - - - - -typedef __daddr_t daddr_t; -typedef __caddr_t caddr_t; - - - - - -typedef __key_t key_t; -# 134 "/usr/include/sys/types.h" 3 4 -typedef __useconds_t useconds_t; - - - -typedef __suseconds_t suseconds_t; - - - - - -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 145 "/usr/include/sys/types.h" 2 3 4 - - - -typedef unsigned long int ulong; -typedef unsigned short int ushort; -typedef unsigned int uint; - - - - -# 1 "/usr/include/bits/stdint-intn.h" 1 3 4 -# 24 "/usr/include/bits/stdint-intn.h" 3 4 -typedef __int8_t int8_t; -typedef __int16_t int16_t; -typedef __int32_t int32_t; -typedef __int64_t int64_t; -# 156 "/usr/include/sys/types.h" 2 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 int register_t __attribute__ ((__mode__ (__word__))); -# 176 "/usr/include/sys/types.h" 3 4 -# 1 "/usr/include/endian.h" 1 3 4 -# 35 "/usr/include/endian.h" 3 4 -# 1 "/usr/include/bits/byteswap.h" 1 3 4 -# 33 "/usr/include/bits/byteswap.h" 3 4 -static __inline __uint16_t -__bswap_16 (__uint16_t __bsx) -{ - - return __builtin_bswap16 (__bsx); - - - -} - - - - - - -static __inline __uint32_t -__bswap_32 (__uint32_t __bsx) -{ - - return __builtin_bswap32 (__bsx); - - - -} -# 69 "/usr/include/bits/byteswap.h" 3 4 -__extension__ static __inline __uint64_t -__bswap_64 (__uint64_t __bsx) -{ - - return __builtin_bswap64 (__bsx); - - - -} -# 36 "/usr/include/endian.h" 2 3 4 -# 1 "/usr/include/bits/uintn-identity.h" 1 3 4 -# 32 "/usr/include/bits/uintn-identity.h" 3 4 -static __inline __uint16_t -__uint16_identity (__uint16_t __x) -{ - return __x; -} - -static __inline __uint32_t -__uint32_identity (__uint32_t __x) -{ - return __x; -} - -static __inline __uint64_t -__uint64_identity (__uint64_t __x) -{ - return __x; -} -# 37 "/usr/include/endian.h" 2 3 4 -# 177 "/usr/include/sys/types.h" 2 3 4 - - -# 1 "/usr/include/sys/select.h" 1 3 4 -# 30 "/usr/include/sys/select.h" 3 4 -# 1 "/usr/include/bits/select.h" 1 3 4 -# 31 "/usr/include/sys/select.h" 2 3 4 - - -# 1 "/usr/include/bits/types/sigset_t.h" 1 3 4 - - - - - - -typedef __sigset_t sigset_t; -# 34 "/usr/include/sys/select.h" 2 3 4 -# 49 "/usr/include/sys/select.h" 3 4 -typedef long int __fd_mask; -# 59 "/usr/include/sys/select.h" 3 4 -typedef struct - { - - - - __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; - - - - - - } fd_set; - - - - - - -typedef __fd_mask fd_mask; -# 91 "/usr/include/sys/select.h" 3 4 -extern "C" { -# 102 "/usr/include/sys/select.h" 3 4 -extern int select (int __nfds, fd_set *__restrict __readfds, - fd_set *__restrict __writefds, - fd_set *__restrict __exceptfds, - struct timeval *__restrict __timeout); -# 127 "/usr/include/sys/select.h" 3 4 -extern int pselect (int __nfds, fd_set *__restrict __readfds, - fd_set *__restrict __writefds, - fd_set *__restrict __exceptfds, - const struct timespec *__restrict __timeout, - const __sigset_t *__restrict __sigmask); -# 153 "/usr/include/sys/select.h" 3 4 -} -# 180 "/usr/include/sys/types.h" 2 3 4 - - - - - -typedef __blksize_t blksize_t; - - - - - - -typedef __blkcnt_t blkcnt_t; - - - -typedef __fsblkcnt_t fsblkcnt_t; - - - -typedef __fsfilcnt_t fsfilcnt_t; -# 219 "/usr/include/sys/types.h" 3 4 -typedef __blkcnt64_t blkcnt64_t; -typedef __fsblkcnt64_t fsblkcnt64_t; -typedef __fsfilcnt64_t fsfilcnt64_t; -# 230 "/usr/include/sys/types.h" 3 4 -} -# 515 "/usr/include/stdlib.h" 2 3 4 - - - - - - -extern long int random (void) noexcept (true); - - -extern void srandom (unsigned int __seed) noexcept (true); - - - - - -extern char *initstate (unsigned int __seed, char *__statebuf, - size_t __statelen) noexcept (true) __attribute__ ((__nonnull__ (2))); - - - -extern char *setstate (char *__statebuf) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - - - -struct random_data - { - int32_t *fptr; - int32_t *rptr; - int32_t *state; - int rand_type; - int rand_deg; - int rand_sep; - int32_t *end_ptr; - }; - -extern int random_r (struct random_data *__restrict __buf, - int32_t *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - -extern int srandom_r (unsigned int __seed, struct random_data *__buf) - noexcept (true) __attribute__ ((__nonnull__ (2))); - -extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, - size_t __statelen, - struct random_data *__restrict __buf) - noexcept (true) __attribute__ ((__nonnull__ (2, 4))); - -extern int setstate_r (char *__restrict __statebuf, - struct random_data *__restrict __buf) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - - - - -extern int rand (void) noexcept (true); - -extern void srand (unsigned int __seed) noexcept (true); - - - -extern int rand_r (unsigned int *__seed) noexcept (true); - - - - - - - -extern double drand48 (void) noexcept (true); -extern double erand48 (unsigned short int __xsubi[3]) noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern long int lrand48 (void) noexcept (true); -extern long int nrand48 (unsigned short int __xsubi[3]) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern long int mrand48 (void) noexcept (true); -extern long int jrand48 (unsigned short int __xsubi[3]) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern void srand48 (long int __seedval) noexcept (true); -extern unsigned short int *seed48 (unsigned short int __seed16v[3]) - noexcept (true) __attribute__ ((__nonnull__ (1))); -extern void lcong48 (unsigned short int __param[7]) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - -struct drand48_data - { - unsigned short int __x[3]; - unsigned short int __old_x[3]; - unsigned short int __c; - unsigned short int __init; - __extension__ unsigned long long int __a; - - }; - - -extern int drand48_r (struct drand48_data *__restrict __buffer, - double *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); -extern int erand48_r (unsigned short int __xsubi[3], - struct drand48_data *__restrict __buffer, - double *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int lrand48_r (struct drand48_data *__restrict __buffer, - long int *__restrict __result) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); -extern int nrand48_r (unsigned short int __xsubi[3], - struct drand48_data *__restrict __buffer, - long int *__restrict __result) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int mrand48_r (struct drand48_data *__restrict __buffer, - long int *__restrict __result) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); -extern int jrand48_r (unsigned short int __xsubi[3], - struct drand48_data *__restrict __buffer, - long int *__restrict __result) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int srand48_r (long int __seedval, struct drand48_data *__buffer) - noexcept (true) __attribute__ ((__nonnull__ (2))); - -extern int seed48_r (unsigned short int __seed16v[3], - struct drand48_data *__buffer) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - -extern int lcong48_r (unsigned short int __param[7], - struct drand48_data *__buffer) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern __uint32_t arc4random (void) - noexcept (true) ; - - -extern void arc4random_buf (void *__buf, size_t __size) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern __uint32_t arc4random_uniform (__uint32_t __upper_bound) - noexcept (true) ; - - - - -extern void *malloc (size_t __size) noexcept (true) __attribute__ ((__malloc__)) - __attribute__ ((__alloc_size__ (1))) ; - -extern void *calloc (size_t __nmemb, size_t __size) - noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) ; - - - - - - -extern void *realloc (void *__ptr, size_t __size) - noexcept (true) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2))); - - -extern void free (void *__ptr) noexcept (true); - - - - - - - -extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) - noexcept (true) __attribute__ ((__warn_unused_result__)) - __attribute__ ((__alloc_size__ (2, 3))) - __attribute__ ((__malloc__ (__builtin_free, 1))); - - -extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) - noexcept (true) __attribute__ ((__malloc__ (reallocarray, 1))); - - - -# 1 "/usr/include/alloca.h" 1 3 4 -# 24 "/usr/include/alloca.h" 3 4 -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 25 "/usr/include/alloca.h" 2 3 4 - -extern "C" { - - - - - -extern void *alloca (size_t __size) noexcept (true); - - - - - -} -# 707 "/usr/include/stdlib.h" 2 3 4 - - - - - -extern void *valloc (size_t __size) noexcept (true) __attribute__ ((__malloc__)) - __attribute__ ((__alloc_size__ (1))) ; - - - - -extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) - noexcept (true) __attribute__ ((__nonnull__ (1))) ; - - - - -extern void *aligned_alloc (size_t __alignment, size_t __size) - noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1))) - __attribute__ ((__alloc_size__ (2))) ; - - - -extern void abort (void) noexcept (true) __attribute__ ((__noreturn__)); - - - -extern int atexit (void (*__func) (void)) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - -extern "C++" int at_quick_exit (void (*__func) (void)) - noexcept (true) __asm ("at_quick_exit") __attribute__ ((__nonnull__ (1))); -# 749 "/usr/include/stdlib.h" 3 4 -extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - -extern void exit (int __status) noexcept (true) __attribute__ ((__noreturn__)); - - - - - -extern void quick_exit (int __status) noexcept (true) __attribute__ ((__noreturn__)); - - - - - -extern void _Exit (int __status) noexcept (true) __attribute__ ((__noreturn__)); - - - - -extern char *getenv (const char *__name) noexcept (true) __attribute__ ((__nonnull__ (1))) ; - - - - -extern char *secure_getenv (const char *__name) - noexcept (true) __attribute__ ((__nonnull__ (1))) ; - - - - - - -extern int putenv (char *__string) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - -extern int setenv (const char *__name, const char *__value, int __replace) - noexcept (true) __attribute__ ((__nonnull__ (2))); - - -extern int unsetenv (const char *__name) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - - -extern int clearenv (void) noexcept (true); -# 814 "/usr/include/stdlib.h" 3 4 -extern char *mktemp (char *__template) noexcept (true) __attribute__ ((__nonnull__ (1))); -# 827 "/usr/include/stdlib.h" 3 4 -extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; -# 837 "/usr/include/stdlib.h" 3 4 -extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) ; -# 849 "/usr/include/stdlib.h" 3 4 -extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ; -# 859 "/usr/include/stdlib.h" 3 4 -extern int mkstemps64 (char *__template, int __suffixlen) - __attribute__ ((__nonnull__ (1))) ; -# 870 "/usr/include/stdlib.h" 3 4 -extern char *mkdtemp (char *__template) noexcept (true) __attribute__ ((__nonnull__ (1))) ; -# 881 "/usr/include/stdlib.h" 3 4 -extern int mkostemp (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ; -# 891 "/usr/include/stdlib.h" 3 4 -extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ; -# 901 "/usr/include/stdlib.h" 3 4 -extern int mkostemps (char *__template, int __suffixlen, int __flags) - __attribute__ ((__nonnull__ (1))) ; -# 913 "/usr/include/stdlib.h" 3 4 -extern int mkostemps64 (char *__template, int __suffixlen, int __flags) - __attribute__ ((__nonnull__ (1))) ; -# 923 "/usr/include/stdlib.h" 3 4 -extern int system (const char *__command) ; - - - - - -extern char *canonicalize_file_name (const char *__name) - noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__malloc__)) - __attribute__ ((__malloc__ (__builtin_free, 1))) ; -# 940 "/usr/include/stdlib.h" 3 4 -extern char *realpath (const char *__restrict __name, - char *__restrict __resolved) noexcept (true) ; - - - - - - -typedef int (*__compar_fn_t) (const void *, const void *); - - -typedef __compar_fn_t comparison_fn_t; - - - -typedef int (*__compar_d_fn_t) (const void *, const void *, void *); - - - - -extern void *bsearch (const void *__key, const void *__base, - size_t __nmemb, size_t __size, __compar_fn_t __compar) - __attribute__ ((__nonnull__ (1, 2, 5))) ; - - - - - - - -extern void qsort (void *__base, size_t __nmemb, size_t __size, - __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); - -extern void qsort_r (void *__base, size_t __nmemb, size_t __size, - __compar_d_fn_t __compar, void *__arg) - __attribute__ ((__nonnull__ (1, 4))); - - - - -extern int abs (int __x) noexcept (true) __attribute__ ((__const__)) ; -extern long int labs (long int __x) noexcept (true) __attribute__ ((__const__)) ; - - -__extension__ extern long long int llabs (long long int __x) - noexcept (true) __attribute__ ((__const__)) ; - - - - - - -extern div_t div (int __numer, int __denom) - noexcept (true) __attribute__ ((__const__)) ; -extern ldiv_t ldiv (long int __numer, long int __denom) - noexcept (true) __attribute__ ((__const__)) ; - - -__extension__ extern lldiv_t lldiv (long long int __numer, - long long int __denom) - noexcept (true) __attribute__ ((__const__)) ; -# 1012 "/usr/include/stdlib.h" 3 4 -extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, - int *__restrict __sign) noexcept (true) __attribute__ ((__nonnull__ (3, 4))) ; - - - - -extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, - int *__restrict __sign) noexcept (true) __attribute__ ((__nonnull__ (3, 4))) ; - - - - -extern char *gcvt (double __value, int __ndigit, char *__buf) - noexcept (true) __attribute__ ((__nonnull__ (3))) ; - - - - -extern char *qecvt (long double __value, int __ndigit, - int *__restrict __decpt, int *__restrict __sign) - noexcept (true) __attribute__ ((__nonnull__ (3, 4))) ; -extern char *qfcvt (long double __value, int __ndigit, - int *__restrict __decpt, int *__restrict __sign) - noexcept (true) __attribute__ ((__nonnull__ (3, 4))) ; -extern char *qgcvt (long double __value, int __ndigit, char *__buf) - noexcept (true) __attribute__ ((__nonnull__ (3))) ; - - - - -extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, - int *__restrict __sign, char *__restrict __buf, - size_t __len) noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5))); -extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, - int *__restrict __sign, char *__restrict __buf, - size_t __len) noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5))); - -extern int qecvt_r (long double __value, int __ndigit, - int *__restrict __decpt, int *__restrict __sign, - char *__restrict __buf, size_t __len) - noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5))); -extern int qfcvt_r (long double __value, int __ndigit, - int *__restrict __decpt, int *__restrict __sign, - char *__restrict __buf, size_t __len) - noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5))); - - - - - -extern int mblen (const char *__s, size_t __n) noexcept (true); - - -extern int mbtowc (wchar_t *__restrict __pwc, - const char *__restrict __s, size_t __n) noexcept (true); - - -extern int wctomb (char *__s, wchar_t __wchar) noexcept (true); - - - -extern size_t mbstowcs (wchar_t *__restrict __pwcs, - const char *__restrict __s, size_t __n) noexcept (true) - __attribute__ ((__access__ (__read_only__, 2))); - -extern size_t wcstombs (char *__restrict __s, - const wchar_t *__restrict __pwcs, size_t __n) - noexcept (true) - __attribute__ ((__access__ (__write_only__, 1, 3))) - __attribute__ ((__access__ (__read_only__, 2))); - - - - - - -extern int rpmatch (const char *__response) noexcept (true) __attribute__ ((__nonnull__ (1))) ; -# 1099 "/usr/include/stdlib.h" 3 4 -extern int getsubopt (char **__restrict __optionp, - char *const *__restrict __tokens, - char **__restrict __valuep) - noexcept (true) __attribute__ ((__nonnull__ (1, 2, 3))) ; - - - - - - - -extern int posix_openpt (int __oflag) ; - - - - - - - -extern int grantpt (int __fd) noexcept (true); - - - -extern int unlockpt (int __fd) noexcept (true); - - - - -extern char *ptsname (int __fd) noexcept (true) ; - - - - - - -extern int ptsname_r (int __fd, char *__buf, size_t __buflen) - noexcept (true) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3))); - - -extern int getpt (void); - - - - - - -extern int getloadavg (double __loadavg[], int __nelem) - noexcept (true) __attribute__ ((__nonnull__ (1))); -# 1155 "/usr/include/stdlib.h" 3 4 -# 1 "/usr/include/bits/stdlib-float.h" 1 3 4 -# 1156 "/usr/include/stdlib.h" 2 3 4 -# 1167 "/usr/include/stdlib.h" 3 4 -} -# 80 "/usr/include/c++/14.1.1/cstdlib" 2 3 - -# 1 "/usr/include/c++/14.1.1/bits/std_abs.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/std_abs.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/std_abs.h" 3 -# 46 "/usr/include/c++/14.1.1/bits/std_abs.h" 3 -extern "C++" -{ -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - using ::abs; - - - inline long - abs(long __i) { return __builtin_labs(__i); } - - - - inline long long - abs(long long __x) { return __builtin_llabs (__x); } -# 70 "/usr/include/c++/14.1.1/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); } - - - - __extension__ inline constexpr __int128 - abs(__int128 __x) { return __x >= 0 ? __x : -__x; } -# 135 "/usr/include/c++/14.1.1/bits/std_abs.h" 3 - __extension__ inline constexpr - __float128 - abs(__float128 __x) - { - - - - return __builtin_fabsf128(__x); - - - - - } - - - -} -} -# 82 "/usr/include/c++/14.1.1/cstdlib" 2 3 -# 125 "/usr/include/c++/14.1.1/cstdlib" 3 -extern "C++" -{ -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - 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) noexcept { return ldiv(__i, __j); } - - - - -} -# 199 "/usr/include/c++/14.1.1/cstdlib" 3 -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - - - - 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; -# 231 "/usr/include/c++/14.1.1/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; -} -# 275 "/usr/include/c++/14.1.1/cstdlib" 3 -} -# 44 "/usr/include/c++/14.1.1/ext/string_conversions.h" 2 3 -# 1 "/usr/include/c++/14.1.1/cwchar" 1 3 -# 39 "/usr/include/c++/14.1.1/cwchar" 3 - -# 40 "/usr/include/c++/14.1.1/cwchar" 3 -# 45 "/usr/include/c++/14.1.1/ext/string_conversions.h" 2 3 -# 1 "/usr/include/c++/14.1.1/cstdio" 1 3 -# 39 "/usr/include/c++/14.1.1/cstdio" 3 - -# 40 "/usr/include/c++/14.1.1/cstdio" 3 - - -# 1 "/usr/include/stdio.h" 1 3 4 -# 28 "/usr/include/stdio.h" 3 4 -# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 -# 29 "/usr/include/stdio.h" 2 3 4 - -extern "C" { - - - -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 35 "/usr/include/stdio.h" 2 3 4 - - -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stdarg.h" 1 3 4 -# 38 "/usr/include/stdio.h" 2 3 4 - - -# 1 "/usr/include/bits/types/__fpos_t.h" 1 3 4 -# 10 "/usr/include/bits/types/__fpos_t.h" 3 4 -typedef struct _G_fpos_t -{ - __off_t __pos; - __mbstate_t __state; -} __fpos_t; -# 41 "/usr/include/stdio.h" 2 3 4 -# 1 "/usr/include/bits/types/__fpos64_t.h" 1 3 4 -# 10 "/usr/include/bits/types/__fpos64_t.h" 3 4 -typedef struct _G_fpos64_t -{ - __off64_t __pos; - __mbstate_t __state; -} __fpos64_t; -# 42 "/usr/include/stdio.h" 2 3 4 - - -# 1 "/usr/include/bits/types/struct_FILE.h" 1 3 4 -# 35 "/usr/include/bits/types/struct_FILE.h" 3 4 -struct _IO_FILE; -struct _IO_marker; -struct _IO_codecvt; -struct _IO_wide_data; - - - - -typedef void _IO_lock_t; - - - - - -struct _IO_FILE -{ - int _flags; - - - char *_IO_read_ptr; - char *_IO_read_end; - char *_IO_read_base; - char *_IO_write_base; - char *_IO_write_ptr; - char *_IO_write_end; - char *_IO_buf_base; - char *_IO_buf_end; - - - char *_IO_save_base; - char *_IO_backup_base; - char *_IO_save_end; - - struct _IO_marker *_markers; - - struct _IO_FILE *_chain; - - int _fileno; - int _flags2; - __off_t _old_offset; - - - unsigned short _cur_column; - signed char _vtable_offset; - char _shortbuf[1]; - - _IO_lock_t *_lock; - - - - - - - - __off64_t _offset; - - struct _IO_codecvt *_codecvt; - struct _IO_wide_data *_wide_data; - struct _IO_FILE *_freeres_list; - void *_freeres_buf; - size_t __pad5; - int _mode; - - char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; -}; -# 45 "/usr/include/stdio.h" 2 3 4 - - -# 1 "/usr/include/bits/types/cookie_io_functions_t.h" 1 3 4 -# 27 "/usr/include/bits/types/cookie_io_functions_t.h" 3 4 -typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf, - size_t __nbytes); - - - - - - - -typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf, - size_t __nbytes); - - - - - - - -typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w); - - -typedef int cookie_close_function_t (void *__cookie); - - - - - - -typedef struct _IO_cookie_io_functions_t -{ - cookie_read_function_t *read; - cookie_write_function_t *write; - cookie_seek_function_t *seek; - cookie_close_function_t *close; -} cookie_io_functions_t; -# 48 "/usr/include/stdio.h" 2 3 4 -# 85 "/usr/include/stdio.h" 3 4 -typedef __fpos_t fpos_t; - - - - -typedef __fpos64_t fpos64_t; -# 129 "/usr/include/stdio.h" 3 4 -# 1 "/usr/include/bits/stdio_lim.h" 1 3 4 -# 130 "/usr/include/stdio.h" 2 3 4 -# 149 "/usr/include/stdio.h" 3 4 -extern FILE *stdin; -extern FILE *stdout; -extern FILE *stderr; - - - - - - -extern int remove (const char *__filename) noexcept (true); - -extern int rename (const char *__old, const char *__new) noexcept (true); - - - -extern int renameat (int __oldfd, const char *__old, int __newfd, - const char *__new) noexcept (true); -# 176 "/usr/include/stdio.h" 3 4 -extern int renameat2 (int __oldfd, const char *__old, int __newfd, - const char *__new, unsigned int __flags) noexcept (true); - - - - - - -extern int fclose (FILE *__stream) __attribute__ ((__nonnull__ (1))); -# 194 "/usr/include/stdio.h" 3 4 -extern FILE *tmpfile (void) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; -# 206 "/usr/include/stdio.h" 3 4 -extern FILE *tmpfile64 (void) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; - - - -extern char *tmpnam (char[20]) noexcept (true) ; - - - - -extern char *tmpnam_r (char __s[20]) noexcept (true) ; -# 228 "/usr/include/stdio.h" 3 4 -extern char *tempnam (const char *__dir, const char *__pfx) - noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (__builtin_free, 1))); - - - - - - -extern int fflush (FILE *__stream); -# 245 "/usr/include/stdio.h" 3 4 -extern int fflush_unlocked (FILE *__stream); -# 255 "/usr/include/stdio.h" 3 4 -extern int fcloseall (void); -# 264 "/usr/include/stdio.h" 3 4 -extern FILE *fopen (const char *__restrict __filename, - const char *__restrict __modes) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; - - - - -extern FILE *freopen (const char *__restrict __filename, - const char *__restrict __modes, - FILE *__restrict __stream) __attribute__ ((__nonnull__ (3))); -# 289 "/usr/include/stdio.h" 3 4 -extern FILE *fopen64 (const char *__restrict __filename, - const char *__restrict __modes) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; -extern FILE *freopen64 (const char *__restrict __filename, - const char *__restrict __modes, - FILE *__restrict __stream) __attribute__ ((__nonnull__ (3))); - - - - -extern FILE *fdopen (int __fd, const char *__modes) noexcept (true) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; - - - - - -extern FILE *fopencookie (void *__restrict __magic_cookie, - const char *__restrict __modes, - cookie_io_functions_t __io_funcs) noexcept (true) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; - - - - -extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) - noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; - - - - -extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) noexcept (true) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; - - - - - -extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) noexcept (true) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))); - - - - - -extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) noexcept (true) - __attribute__ ((__nonnull__ (1))); - - - -extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, - int __modes, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - -extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, - size_t __size) noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern void setlinebuf (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - - - -extern int fprintf (FILE *__restrict __stream, - const char *__restrict __format, ...) __attribute__ ((__nonnull__ (1))); - - - - -extern int printf (const char *__restrict __format, ...); - -extern int sprintf (char *__restrict __s, - const char *__restrict __format, ...) noexcept (true); - - - - - -extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, - __gnuc_va_list __arg) __attribute__ ((__nonnull__ (1))); - - - - -extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); - -extern int vsprintf (char *__restrict __s, const char *__restrict __format, - __gnuc_va_list __arg) noexcept (true); - - - -extern int snprintf (char *__restrict __s, size_t __maxlen, - const char *__restrict __format, ...) - noexcept (true) __attribute__ ((__format__ (__printf__, 3, 4))); - -extern int vsnprintf (char *__restrict __s, size_t __maxlen, - const char *__restrict __format, __gnuc_va_list __arg) - noexcept (true) __attribute__ ((__format__ (__printf__, 3, 0))); - - - - - -extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, - __gnuc_va_list __arg) - noexcept (true) __attribute__ ((__format__ (__printf__, 2, 0))) ; -extern int __asprintf (char **__restrict __ptr, - const char *__restrict __fmt, ...) - noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3))) ; -extern int asprintf (char **__restrict __ptr, - const char *__restrict __fmt, ...) - noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3))) ; - - - - -extern int vdprintf (int __fd, const char *__restrict __fmt, - __gnuc_va_list __arg) - __attribute__ ((__format__ (__printf__, 2, 0))); -extern int dprintf (int __fd, const char *__restrict __fmt, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); - - - - - - - -extern int fscanf (FILE *__restrict __stream, - const char *__restrict __format, ...) __attribute__ ((__nonnull__ (1))); - - - - -extern int scanf (const char *__restrict __format, ...) ; - -extern int sscanf (const char *__restrict __s, - const char *__restrict __format, ...) noexcept (true); -# 442 "/usr/include/stdio.h" 3 4 -extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc23_fscanf") - - __attribute__ ((__nonnull__ (1))); -extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc23_scanf") - ; -extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) noexcept (true) __asm__ ("" "__isoc23_sscanf") - - ; -# 490 "/usr/include/stdio.h" 3 4 -extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, - __gnuc_va_list __arg) - __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__nonnull__ (1))); - - - - - -extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) - __attribute__ ((__format__ (__scanf__, 1, 0))) ; - - -extern int vsscanf (const char *__restrict __s, - const char *__restrict __format, __gnuc_va_list __arg) - noexcept (true) __attribute__ ((__format__ (__scanf__, 2, 0))); - - - - - - -extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc23_vfscanf") - - - - __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__nonnull__ (1))); -extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc23_vscanf") - - __attribute__ ((__format__ (__scanf__, 1, 0))) ; -extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) noexcept (true) __asm__ ("" "__isoc23_vsscanf") - - - - __attribute__ ((__format__ (__scanf__, 2, 0))); -# 575 "/usr/include/stdio.h" 3 4 -extern int fgetc (FILE *__stream) __attribute__ ((__nonnull__ (1))); -extern int getc (FILE *__stream) __attribute__ ((__nonnull__ (1))); - - - - - -extern int getchar (void); - - - - - - -extern int getc_unlocked (FILE *__stream) __attribute__ ((__nonnull__ (1))); -extern int getchar_unlocked (void); -# 600 "/usr/include/stdio.h" 3 4 -extern int fgetc_unlocked (FILE *__stream) __attribute__ ((__nonnull__ (1))); -# 611 "/usr/include/stdio.h" 3 4 -extern int fputc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); -extern int putc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); - - - - - -extern int putchar (int __c); -# 627 "/usr/include/stdio.h" 3 4 -extern int fputc_unlocked (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); - - - - - - - -extern int putc_unlocked (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); -extern int putchar_unlocked (int __c); - - - - - - -extern int getw (FILE *__stream) __attribute__ ((__nonnull__ (1))); - - -extern int putw (int __w, FILE *__stream) __attribute__ ((__nonnull__ (2))); - - - - - - - -extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) - __attribute__ ((__access__ (__write_only__, 1, 2))) __attribute__ ((__nonnull__ (3))); -# 677 "/usr/include/stdio.h" 3 4 -extern char *fgets_unlocked (char *__restrict __s, int __n, - FILE *__restrict __stream) - __attribute__ ((__access__ (__write_only__, 1, 2))) __attribute__ ((__nonnull__ (3))); -# 694 "/usr/include/stdio.h" 3 4 -extern __ssize_t __getdelim (char **__restrict __lineptr, - size_t *__restrict __n, int __delimiter, - FILE *__restrict __stream) __attribute__ ((__nonnull__ (4))); -extern __ssize_t getdelim (char **__restrict __lineptr, - size_t *__restrict __n, int __delimiter, - FILE *__restrict __stream) __attribute__ ((__nonnull__ (4))); - - - - - - - -extern __ssize_t getline (char **__restrict __lineptr, - size_t *__restrict __n, - FILE *__restrict __stream) __attribute__ ((__nonnull__ (3))); - - - - - - - -extern int fputs (const char *__restrict __s, FILE *__restrict __stream) - __attribute__ ((__nonnull__ (2))); - - - - - -extern int puts (const char *__s); - - - - - - -extern int ungetc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); - - - - - - -extern size_t fread (void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __stream) - __attribute__ ((__nonnull__ (4))); - - - - -extern size_t fwrite (const void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __s) __attribute__ ((__nonnull__ (4))); -# 755 "/usr/include/stdio.h" 3 4 -extern int fputs_unlocked (const char *__restrict __s, - FILE *__restrict __stream) __attribute__ ((__nonnull__ (2))); -# 766 "/usr/include/stdio.h" 3 4 -extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __stream) - __attribute__ ((__nonnull__ (4))); -extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __stream) - __attribute__ ((__nonnull__ (4))); - - - - - - - -extern int fseek (FILE *__stream, long int __off, int __whence) - __attribute__ ((__nonnull__ (1))); - - - - -extern long int ftell (FILE *__stream) __attribute__ ((__nonnull__ (1))); - - - - -extern void rewind (FILE *__stream) __attribute__ ((__nonnull__ (1))); -# 803 "/usr/include/stdio.h" 3 4 -extern int fseeko (FILE *__stream, __off_t __off, int __whence) - __attribute__ ((__nonnull__ (1))); - - - - -extern __off_t ftello (FILE *__stream) __attribute__ ((__nonnull__ (1))); -# 829 "/usr/include/stdio.h" 3 4 -extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) - __attribute__ ((__nonnull__ (1))); - - - - -extern int fsetpos (FILE *__stream, const fpos_t *__pos) __attribute__ ((__nonnull__ (1))); -# 851 "/usr/include/stdio.h" 3 4 -extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence) - __attribute__ ((__nonnull__ (1))); -extern __off64_t ftello64 (FILE *__stream) __attribute__ ((__nonnull__ (1))); -extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos) - __attribute__ ((__nonnull__ (1))); -extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos) __attribute__ ((__nonnull__ (1))); - - - -extern void clearerr (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); - -extern int feof (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); - -extern int ferror (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern void clearerr_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); -extern int feof_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); -extern int ferror_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - - - -extern void perror (const char *__s) __attribute__ ((__cold__)); - - - - -extern int fileno (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - -extern int fileno_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); -# 897 "/usr/include/stdio.h" 3 4 -extern int pclose (FILE *__stream) __attribute__ ((__nonnull__ (1))); - - - - - -extern FILE *popen (const char *__command, const char *__modes) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) ; - - - - - - -extern char *ctermid (char *__s) noexcept (true) - __attribute__ ((__access__ (__write_only__, 1))); - - - - - -extern char *cuserid (char *__s) - __attribute__ ((__access__ (__write_only__, 1))); - - - - -struct obstack; - - -extern int obstack_printf (struct obstack *__restrict __obstack, - const char *__restrict __format, ...) - noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3))); -extern int obstack_vprintf (struct obstack *__restrict __obstack, - const char *__restrict __format, - __gnuc_va_list __args) - noexcept (true) __attribute__ ((__format__ (__printf__, 2, 0))); - - - - - - - -extern void flockfile (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int ftrylockfile (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern void funlockfile (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); -# 959 "/usr/include/stdio.h" 3 4 -extern int __uflow (FILE *); -extern int __overflow (FILE *, int); -# 983 "/usr/include/stdio.h" 3 4 -} -# 43 "/usr/include/c++/14.1.1/cstdio" 2 3 -# 96 "/usr/include/c++/14.1.1/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/include/c++/14.1.1/cstdio" 3 -namespace __gnu_cxx -{ -# 175 "/usr/include/c++/14.1.1/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; -} -# 46 "/usr/include/c++/14.1.1/ext/string_conversions.h" 2 3 -# 1 "/usr/include/c++/14.1.1/cerrno" 1 3 -# 39 "/usr/include/c++/14.1.1/cerrno" 3 - -# 40 "/usr/include/c++/14.1.1/cerrno" 3 - - -# 1 "/usr/include/errno.h" 1 3 4 -# 28 "/usr/include/errno.h" 3 4 -# 1 "/usr/include/bits/errno.h" 1 3 4 -# 26 "/usr/include/bits/errno.h" 3 4 -# 1 "/usr/include/linux/errno.h" 1 3 4 -# 1 "/usr/include/asm/errno.h" 1 3 4 -# 1 "/usr/include/asm-generic/errno.h" 1 3 4 - - - - -# 1 "/usr/include/asm-generic/errno-base.h" 1 3 4 -# 6 "/usr/include/asm-generic/errno.h" 2 3 4 -# 2 "/usr/include/asm/errno.h" 2 3 4 -# 2 "/usr/include/linux/errno.h" 2 3 4 -# 27 "/usr/include/bits/errno.h" 2 3 4 -# 29 "/usr/include/errno.h" 2 3 4 - - - - - -extern "C" { - - -extern int *__errno_location (void) noexcept (true) __attribute__ ((__const__)); - - - - - - - -extern char *program_invocation_name; -extern char *program_invocation_short_name; - -# 1 "/usr/include/bits/types/error_t.h" 1 3 4 -# 22 "/usr/include/bits/types/error_t.h" 3 4 -typedef int error_t; -# 49 "/usr/include/errno.h" 2 3 4 - - - -} -# 43 "/usr/include/c++/14.1.1/cerrno" 2 3 -# 47 "/usr/include/c++/14.1.1/ext/string_conversions.h" 2 3 - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - - - - 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_location ())) { (*__errno_location ()) = 0; } - ~_Save_errno() { if ((*__errno_location ()) == 0) (*__errno_location ()) = _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_location ()) == 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); - } - - -} -# 4155 "/usr/include/c++/14.1.1/bits/basic_string.h" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/charconv.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/charconv.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/charconv.h" 3 - - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -namespace __detail -{ - - - template - constexpr bool __integer_to_chars_is_unsigned - = ! __gnu_cxx::__int_traits<_Tp>::__is_signed; - - - - template - constexpr unsigned - __to_chars_len(_Tp __value, int __base = 10) noexcept - { - - static_assert(__integer_to_chars_is_unsigned<_Tp>, "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(__integer_to_chars_is_unsigned<_Tp>, "implementation bug"); - - - 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; - } - -} - -} -# 4156 "/usr/include/c++/14.1.1/bits/basic_string.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -namespace __cxx11 { - - - 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); } -# 4198 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - inline double - stod(const string& __str, size_t* __idx = 0) - { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); } - - - - inline float - stof(const string& __str, size_t* __idx = 0) - { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); } -# 4226 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - inline long double - stold(const string& __str, size_t* __idx = 0) - { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); } -# 4238 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] - inline string - to_string(int __val) - - noexcept - - { - const bool __neg = __val < 0; - const unsigned __uval = __neg ? (unsigned)~__val + 1u : __val; - const auto __len = __detail::__to_chars_len(__uval); - string __str; - __str.__resize_and_overwrite(__neg + __len, [=](char* __p, size_t __n) { - __p[0] = '-'; - __detail::__to_chars_10_impl(__p + (int)__neg, __len, __uval); - return __n; - }); - return __str; - } - - [[__nodiscard__]] - inline string - to_string(unsigned __val) - - noexcept - - { - const auto __len = __detail::__to_chars_len(__val); - string __str; - __str.__resize_and_overwrite(__len, [__val](char* __p, size_t __n) { - __detail::__to_chars_10_impl(__p, __n, __val); - return __n; - }); - return __str; - } - - [[__nodiscard__]] - 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; - __str.__resize_and_overwrite(__neg + __len, [=](char* __p, size_t __n) { - __p[0] = '-'; - __detail::__to_chars_10_impl(__p + (int)__neg, __len, __uval); - return __n; - }); - return __str; - } - - [[__nodiscard__]] - inline string - to_string(unsigned long __val) - - - - { - const auto __len = __detail::__to_chars_len(__val); - string __str; - __str.__resize_and_overwrite(__len, [__val](char* __p, size_t __n) { - __detail::__to_chars_10_impl(__p, __n, __val); - return __n; - }); - return __str; - } - - [[__nodiscard__]] - 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; - __str.__resize_and_overwrite(__neg + __len, [=](char* __p, size_t __n) { - __p[0] = '-'; - __detail::__to_chars_10_impl(__p + (int)__neg, __len, __uval); - return __n; - }); - return __str; - } - - [[__nodiscard__]] - inline string - to_string(unsigned long long __val) - { - const auto __len = __detail::__to_chars_len(__val); - string __str; - __str.__resize_and_overwrite(__len, [__val](char* __p, size_t __n) { - __detail::__to_chars_10_impl(__p, __n, __val); - return __n; - }); - return __str; - } -# 4399 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] - 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); - } - - [[__nodiscard__]] - 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); - } - - [[__nodiscard__]] - 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); } - - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wc++17-extensions" - constexpr - inline void - __to_wstring_numeric(const char* __s, int __len, wchar_t* __wout) - { - - - if constexpr (wchar_t('0') == L'0' && wchar_t('-') == L'-' - && wchar_t('.') == L'.' && wchar_t('e') == L'e') - { - for (int __i = 0; __i < __len; ++__i) - __wout[__i] = (wchar_t) __s[__i]; - } - else - { - wchar_t __wc[256]; - for (int __i = '0'; __i <= '9'; ++__i) - __wc[__i] = L'0' + __i; - __wc['.'] = L'.'; - __wc['+'] = L'+'; - __wc['-'] = L'-'; - __wc['a'] = L'a'; - __wc['b'] = L'b'; - __wc['c'] = L'c'; - __wc['d'] = L'd'; - __wc['e'] = L'e'; - __wc['f'] = L'f'; - __wc['n'] = L'n'; - __wc['p'] = L'p'; - __wc['x'] = L'x'; - __wc['A'] = L'A'; - __wc['B'] = L'B'; - __wc['C'] = L'C'; - __wc['D'] = L'D'; - __wc['E'] = L'E'; - __wc['F'] = L'F'; - __wc['N'] = L'N'; - __wc['P'] = L'P'; - __wc['X'] = L'X'; - - for (int __i = 0; __i < __len; ++__i) - __wout[__i] = __wc[(int)__s[__i]]; - } - } - - - constexpr - - inline wstring - - __to_wstring_numeric(string_view __s) - - - - { - if constexpr (wchar_t('0') == L'0' && wchar_t('-') == L'-' - && wchar_t('.') == L'.' && wchar_t('e') == L'e') - return wstring(__s.data(), __s.data() + __s.size()); - else - { - wstring __ws; - auto __f = __s.data(); - __ws.__resize_and_overwrite(__s.size(), - [__f] (wchar_t* __to, int __n) { - std::__to_wstring_numeric(__f, __n, __to); - return __n; - }); - return __ws; - } - } -#pragma GCC diagnostic pop - - [[__nodiscard__]] - inline wstring - to_wstring(int __val) - { return std::__to_wstring_numeric(std::to_string(__val)); } - - [[__nodiscard__]] - inline wstring - to_wstring(unsigned __val) - { return std::__to_wstring_numeric(std::to_string(__val)); } - - [[__nodiscard__]] - inline wstring - to_wstring(long __val) - { return std::__to_wstring_numeric(std::to_string(__val)); } - - [[__nodiscard__]] - inline wstring - to_wstring(unsigned long __val) - { return std::__to_wstring_numeric(std::to_string(__val)); } - - [[__nodiscard__]] - inline wstring - to_wstring(long long __val) - { return std::__to_wstring_numeric(std::to_string(__val)); } - - [[__nodiscard__]] - inline wstring - to_wstring(unsigned long long __val) - { return std::__to_wstring_numeric(std::to_string(__val)); } - - - [[__nodiscard__]] - inline wstring - to_wstring(float __val) - { return std::__to_wstring_numeric(std::to_string(__val)); } - - [[__nodiscard__]] - inline wstring - to_wstring(double __val) - { return std::__to_wstring_numeric(std::to_string(__val)); } - - [[__nodiscard__]] - inline wstring - to_wstring(long double __val) - { return std::__to_wstring_numeric(std::to_string(__val)); } - - - -} - -} - - - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - template, _Alloc>> - struct __str_hash_base - : public __hash_base - { - [[__nodiscard__]] - size_t - operator()(const _StrT& __s) const noexcept - { return _Hash_impl::hash(__s.data(), __s.length() * sizeof(_CharT)); } - }; - - - - template - struct hash, _Alloc>> - : public __str_hash_base - { }; - - - template - struct hash, _Alloc>> - : public __str_hash_base - { }; - - template - struct __is_fast_hash, - _Alloc>>> - : std::false_type - { }; - - - - - template - struct hash, _Alloc>> - : public __str_hash_base - { }; - - - - template - struct hash, _Alloc>> - : public __str_hash_base - { }; - - - template - struct hash, _Alloc>> - : public __str_hash_base - { }; - - - - template<> struct __is_fast_hash> : std::false_type { }; - template<> struct __is_fast_hash> : std::false_type { }; - template<> struct __is_fast_hash> : std::false_type { }; - template<> struct __is_fast_hash> : std::false_type { }; - - template<> struct __is_fast_hash> : std::false_type { }; -# 4678 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - inline namespace literals - { - inline namespace string_literals - { -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wliteral-suffix" - - - - - - - - __attribute ((__abi_tag__ ("cxx11"))) constexpr - inline basic_string - operator""s(const char* __str, size_t __len) - { return basic_string{__str, __len}; } - - __attribute ((__abi_tag__ ("cxx11"))) constexpr - inline basic_string - operator""s(const wchar_t* __str, size_t __len) - { return basic_string{__str, __len}; } - - - __attribute ((__abi_tag__ ("cxx11"))) constexpr - inline basic_string - operator""s(const char8_t* __str, size_t __len) - { return basic_string{__str, __len}; } - - - __attribute ((__abi_tag__ ("cxx11"))) constexpr - inline basic_string - operator""s(const char16_t* __str, size_t __len) - { return basic_string{__str, __len}; } - - __attribute ((__abi_tag__ ("cxx11"))) constexpr - 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 - { }; - } - - - -} -# 55 "/usr/include/c++/14.1.1/string" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/basic_string.tcc" 1 3 -# 42 "/usr/include/c++/14.1.1/bits/basic_string.tcc" 3 - -# 43 "/usr/include/c++/14.1.1/bits/basic_string.tcc" 3 - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - template - const typename basic_string<_CharT, _Traits, _Alloc>::size_type - basic_string<_CharT, _Traits, _Alloc>::npos; - - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - swap(basic_string& __s) noexcept - { - if (this == std::__addressof(__s)) - return; - - _Alloc_traits::_S_on_swap(_M_get_allocator(), __s._M_get_allocator()); - - if (_M_is_local()) - if (__s._M_is_local()) - { - if (length() && __s.length()) - { - _CharT __tmp_data[_S_local_capacity + 1]; - traits_type::copy(__tmp_data, __s._M_local_buf, - __s.length() + 1); - traits_type::copy(__s._M_local_buf, _M_local_buf, - length() + 1); - traits_type::copy(_M_local_buf, __tmp_data, - __s.length() + 1); - } - else if (__s.length()) - { - _M_init_local_buf(); - traits_type::copy(_M_local_buf, __s._M_local_buf, - __s.length() + 1); - _M_length(__s.length()); - __s._M_set_length(0); - return; - } - else if (length()) - { - __s._M_init_local_buf(); - traits_type::copy(__s._M_local_buf, _M_local_buf, - length() + 1); - __s._M_length(length()); - _M_set_length(0); - return; - } - } - else - { - const size_type __tmp_capacity = __s._M_allocated_capacity; - __s._M_init_local_buf(); - traits_type::copy(__s._M_local_buf, _M_local_buf, - length() + 1); - _M_data(__s._M_data()); - __s._M_data(__s._M_local_buf); - _M_capacity(__tmp_capacity); - } - else - { - const size_type __tmp_capacity = _M_allocated_capacity; - if (__s._M_is_local()) - { - _M_init_local_buf(); - traits_type::copy(_M_local_buf, __s._M_local_buf, - __s.length() + 1); - __s._M_data(_M_data()); - _M_data(_M_local_buf); - } - else - { - pointer __tmp_ptr = _M_data(); - _M_data(__s._M_data()); - __s._M_data(__tmp_ptr); - _M_capacity(__s._M_allocated_capacity); - } - __s._M_capacity(__tmp_capacity); - } - - const size_type __tmp_length = length(); - _M_length(__s.length()); - __s._M_length(__tmp_length); - } - - template - constexpr - typename basic_string<_CharT, _Traits, _Alloc>::pointer - basic_string<_CharT, _Traits, _Alloc>:: - _M_create(size_type& __capacity, size_type __old_capacity) - { - - - if (__capacity > max_size()) - std::__throw_length_error(("basic_string::_M_create")); - - - - - if (__capacity > __old_capacity && __capacity < 2 * __old_capacity) - { - __capacity = 2 * __old_capacity; - - if (__capacity > max_size()) - __capacity = max_size(); - } - - - - return _S_allocate(_M_get_allocator(), __capacity + 1); - } - - - - - - template - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - _M_construct(_InIterator __beg, _InIterator __end, - std::input_iterator_tag) - { - size_type __len = 0; - size_type __capacity = size_type(_S_local_capacity); - - _M_init_local_buf(); - - while (__beg != __end && __len < __capacity) - { - _M_local_buf[__len++] = *__beg; - ++__beg; - } - - struct _Guard - { - constexpr - explicit _Guard(basic_string* __s) : _M_guarded(__s) { } - - constexpr - ~_Guard() { if (_M_guarded) _M_guarded->_M_dispose(); } - - basic_string* _M_guarded; - } __guard(this); - - while (__beg != __end) - { - if (__len == __capacity) - { - - __capacity = __len + 1; - pointer __another = _M_create(__capacity, __len); - this->_S_copy(__another, _M_data(), __len); - _M_dispose(); - _M_data(__another); - _M_capacity(__capacity); - } - traits_type::assign(_M_data()[__len++], *__beg); - ++__beg; - } - - __guard._M_guarded = 0; - - _M_set_length(__len); - } - - template - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - _M_construct(_InIterator __beg, _InIterator __end, - std::forward_iterator_tag) - { - size_type __dnew = static_cast(std::distance(__beg, __end)); - - if (__dnew > size_type(_S_local_capacity)) - { - _M_data(_M_create(__dnew, size_type(0))); - _M_capacity(__dnew); - } - else - _M_init_local_buf(); - - - struct _Guard - { - constexpr - explicit _Guard(basic_string* __s) : _M_guarded(__s) { } - - constexpr - ~_Guard() { if (_M_guarded) _M_guarded->_M_dispose(); } - - basic_string* _M_guarded; - } __guard(this); - - this->_S_copy_chars(_M_data(), __beg, __end); - - __guard._M_guarded = 0; - - _M_set_length(__dnew); - } - - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - _M_construct(size_type __n, _CharT __c) - { - if (__n > size_type(_S_local_capacity)) - { - _M_data(_M_create(__n, size_type(0))); - _M_capacity(__n); - } - else - _M_init_local_buf(); - - if (__n) - this->_S_assign(_M_data(), __n, __c); - - _M_set_length(__n); - } - - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - _M_assign(const basic_string& __str) - { - if (this != std::__addressof(__str)) - { - const size_type __rsize = __str.length(); - const size_type __capacity = capacity(); - - if (__rsize > __capacity) - { - size_type __new_capacity = __rsize; - pointer __tmp = _M_create(__new_capacity, __capacity); - _M_dispose(); - _M_data(__tmp); - _M_capacity(__new_capacity); - } - - if (__rsize) - this->_S_copy(_M_data(), __str._M_data(), __rsize); - - _M_set_length(__rsize); - } - } - - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - reserve(size_type __res) - { - const size_type __capacity = capacity(); - - - - - if (__res <= __capacity) - return; - - pointer __tmp = _M_create(__res, __capacity); - this->_S_copy(__tmp, _M_data(), length() + 1); - _M_dispose(); - _M_data(__tmp); - _M_capacity(__res); - } - - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - _M_mutate(size_type __pos, size_type __len1, const _CharT* __s, - size_type __len2) - { - const size_type __how_much = length() - __pos - __len1; - - size_type __new_capacity = length() + __len2 - __len1; - pointer __r = _M_create(__new_capacity, capacity()); - - if (__pos) - this->_S_copy(__r, _M_data(), __pos); - if (__s && __len2) - this->_S_copy(__r + __pos, __s, __len2); - if (__how_much) - this->_S_copy(__r + __pos + __len2, - _M_data() + __pos + __len1, __how_much); - - _M_dispose(); - _M_data(__r); - _M_capacity(__new_capacity); - } - - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - _M_erase(size_type __pos, size_type __n) - { - const size_type __how_much = length() - __pos - __n; - - if (__how_much && __n) - this->_S_move(_M_data() + __pos, _M_data() + __pos + __n, __how_much); - - _M_set_length(length() - __n); - } - - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - reserve() - { - if (_M_is_local()) - return; - - const size_type __length = length(); - const size_type __capacity = _M_allocated_capacity; - - if (__length <= size_type(_S_local_capacity)) - { - _M_init_local_buf(); - this->_S_copy(_M_local_buf, _M_data(), __length + 1); - _M_destroy(__capacity); - _M_data(_M_local_data()); - } - - else if (__length < __capacity) - try - { - pointer __tmp = _S_allocate(_M_get_allocator(), __length + 1); - this->_S_copy(__tmp, _M_data(), __length + 1); - _M_dispose(); - _M_data(__tmp); - _M_capacity(__length); - } - catch (const __cxxabiv1::__forced_unwind&) - { throw; } - catch (...) - { } - - } - - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - resize(size_type __n, _CharT __c) - { - const size_type __size = this->size(); - if (__size < __n) - this->append(__n - __size, __c); - else if (__n < __size) - this->_M_set_length(__n); - } - - template - constexpr - basic_string<_CharT, _Traits, _Alloc>& - basic_string<_CharT, _Traits, _Alloc>:: - _M_append(const _CharT* __s, size_type __n) - { - const size_type __len = __n + this->size(); - - if (__len <= this->capacity()) - { - if (__n) - this->_S_copy(this->_M_data() + this->size(), __s, __n); - } - else - this->_M_mutate(this->size(), size_type(0), __s, __n); - - this->_M_set_length(__len); - return *this; - } - - template - template - constexpr - basic_string<_CharT, _Traits, _Alloc>& - basic_string<_CharT, _Traits, _Alloc>:: - _M_replace_dispatch(const_iterator __i1, const_iterator __i2, - _InputIterator __k1, _InputIterator __k2, - std::__false_type) - { - - - const basic_string __s(__k1, __k2, this->get_allocator()); - const size_type __n1 = __i2 - __i1; - return _M_replace(__i1 - begin(), __n1, __s._M_data(), - __s.size()); - } - - template - constexpr - 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"); - - const size_type __old_size = this->size(); - const size_type __new_size = __old_size + __n2 - __n1; - - if (__new_size <= this->capacity()) - { - pointer __p = this->_M_data() + __pos1; - - const size_type __how_much = __old_size - __pos1 - __n1; - if (__how_much && __n1 != __n2) - this->_S_move(__p + __n2, __p + __n1, __how_much); - } - else - this->_M_mutate(__pos1, __n1, 0, __n2); - - if (__n2) - this->_S_assign(this->_M_data() + __pos1, __n2, __c); - - this->_M_set_length(__new_size); - return *this; - } - - template - __attribute__((__noinline__, __noclone__, __cold__)) void - basic_string<_CharT, _Traits, _Alloc>:: - _M_replace_cold(pointer __p, size_type __len1, const _CharT* __s, - const size_type __len2, const size_type __how_much) - { - - if (__len2 && __len2 <= __len1) - this->_S_move(__p, __s, __len2); - if (__how_much && __len1 != __len2) - this->_S_move(__p + __len2, __p + __len1, __how_much); - if (__len2 > __len1) - { - if (__s + __len2 <= __p + __len1) - this->_S_move(__p, __s, __len2); - else if (__s >= __p + __len1) - { - - - const size_type __poff = (__s - __p) + (__len2 - __len1); - this->_S_copy(__p, __p + __poff, __len2); - } - else - { - const size_type __nleft = (__p + __len1) - __s; - this->_S_move(__p, __s, __nleft); - this->_S_copy(__p + __nleft, __p + __len2, __len2 - __nleft); - } - } - } - - template - constexpr - basic_string<_CharT, _Traits, _Alloc>& - basic_string<_CharT, _Traits, _Alloc>:: - _M_replace(size_type __pos, size_type __len1, const _CharT* __s, - const size_type __len2) - { - _M_check_length(__len1, __len2, "basic_string::_M_replace"); - - const size_type __old_size = this->size(); - const size_type __new_size = __old_size + __len2 - __len1; - - if (__new_size <= this->capacity()) - { - pointer __p = this->_M_data() + __pos; - - const size_type __how_much = __old_size - __pos - __len1; - - if (std::is_constant_evaluated()) - { - auto __newp = _S_allocate(_M_get_allocator(), __new_size); - _S_copy(__newp, this->_M_data(), __pos); - _S_copy(__newp + __pos, __s, __len2); - _S_copy(__newp + __pos + __len2, __p + __len1, __how_much); - _S_copy(this->_M_data(), __newp, __new_size); - this->_M_get_allocator().deallocate(__newp, __new_size); - } - else - - if (__builtin_expect(_M_disjunct(__s), true)) - { - if (__how_much && __len1 != __len2) - this->_S_move(__p + __len2, __p + __len1, __how_much); - if (__len2) - this->_S_copy(__p, __s, __len2); - } - else - _M_replace_cold(__p, __len1, __s, __len2, __how_much); - } - else - this->_M_mutate(__pos, __len1, __s, __len2); - - this->_M_set_length(__new_size); - return *this; - } - - template - constexpr - 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) - _S_copy(__s, _M_data() + __pos, __n); - - return __n; - } -# 580 "/usr/include/c++/14.1.1/bits/basic_string.tcc" 3 - template - template - constexpr void - basic_string<_CharT, _Traits, _Alloc>:: - - - - __resize_and_overwrite(const size_type __n, _Operation __op) - - { - reserve(__n); - _CharT* const __p = _M_data(); - - if (std::__is_constant_evaluated() && __n > size()) - traits_type::assign(__p + size(), __n - size(), _CharT()); - - struct _Terminator { - constexpr ~_Terminator() { _M_this->_M_set_length(_M_r); } - basic_string* _M_this; - size_type _M_r; - }; - _Terminator __term{this, 0}; - auto __r = std::move(__op)(__p + 0, __n + 0); - - static_assert(ranges::__detail::__is_integer_like); - - - - - ; - __term._M_r = size_type(__r); - if (__term._M_r > __n) - __builtin_unreachable(); - } -# 623 "/usr/include/c++/14.1.1/bits/basic_string.tcc" 3 - template - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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 - 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; - } -# 985 "/usr/include/c++/14.1.1/bits/basic_string.tcc" 3 - extern template void - basic_string::_M_replace_cold(char *, size_type, const char*, - const size_type, const size_type); - - - 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&); -# 1011 "/usr/include/c++/14.1.1/bits/basic_string.tcc" 3 - extern template void - basic_string::_M_replace_cold(wchar_t*, size_type, const wchar_t*, - const size_type, const size_type); - - - 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&); - - - - -} -# 56 "/usr/include/c++/14.1.1/string" 2 3 -# 64 "/usr/include/c++/14.1.1/string" 3 -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 65 "/usr/include/c++/14.1.1/string" 2 3 - - -# 1 "/usr/include/c++/14.1.1/bits/memory_resource.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - - - - -# 1 "/usr/include/c++/14.1.1/cstddef" 1 3 -# 42 "/usr/include/c++/14.1.1/cstddef" 3 - -# 43 "/usr/include/c++/14.1.1/cstddef" 3 - - - - - - - -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 51 "/usr/include/c++/14.1.1/cstddef" 2 3 - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 54 "/usr/include/c++/14.1.1/cstddef" 2 3 - -extern "C++" -{ - -namespace std -{ - - using ::max_align_t; -} - - - -namespace std -{ - - - enum class byte : unsigned char {}; - - template struct __byte_operand { }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - - template<> struct __byte_operand { using __type = byte; }; - - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - - template<> struct __byte_operand<__int128> - { using __type = byte; }; - template<> struct __byte_operand - { using __type = byte; }; -# 109 "/usr/include/c++/14.1.1/cstddef" 3 - template - struct __byte_operand - : __byte_operand<_IntegerType> { }; - template - struct __byte_operand - : __byte_operand<_IntegerType> { }; - template - struct __byte_operand - : __byte_operand<_IntegerType> { }; - - template - using __byte_op_t = typename __byte_operand<_IntegerType>::__type; - - template - [[__gnu__::__always_inline__]] - constexpr __byte_op_t<_IntegerType> - operator<<(byte __b, _IntegerType __shift) noexcept - { return (byte)(unsigned char)((unsigned)__b << __shift); } - - template - [[__gnu__::__always_inline__]] - constexpr __byte_op_t<_IntegerType> - operator>>(byte __b, _IntegerType __shift) noexcept - { return (byte)(unsigned char)((unsigned)__b >> __shift); } - - [[__gnu__::__always_inline__]] - constexpr byte - operator|(byte __l, byte __r) noexcept - { return (byte)(unsigned char)((unsigned)__l | (unsigned)__r); } - - [[__gnu__::__always_inline__]] - constexpr byte - operator&(byte __l, byte __r) noexcept - { return (byte)(unsigned char)((unsigned)__l & (unsigned)__r); } - - [[__gnu__::__always_inline__]] - constexpr byte - operator^(byte __l, byte __r) noexcept - { return (byte)(unsigned char)((unsigned)__l ^ (unsigned)__r); } - - [[__gnu__::__always_inline__]] - constexpr byte - operator~(byte __b) noexcept - { return (byte)(unsigned char)~(unsigned)__b; } - - template - [[__gnu__::__always_inline__]] - constexpr __byte_op_t<_IntegerType>& - operator<<=(byte& __b, _IntegerType __shift) noexcept - { return __b = __b << __shift; } - - template - [[__gnu__::__always_inline__]] - constexpr __byte_op_t<_IntegerType>& - operator>>=(byte& __b, _IntegerType __shift) noexcept - { return __b = __b >> __shift; } - - [[__gnu__::__always_inline__]] - constexpr byte& - operator|=(byte& __l, byte __r) noexcept - { return __l = __l | __r; } - - [[__gnu__::__always_inline__]] - constexpr byte& - operator&=(byte& __l, byte __r) noexcept - { return __l = __l & __r; } - - [[__gnu__::__always_inline__]] - constexpr byte& - operator^=(byte& __l, byte __r) noexcept - { return __l = __l ^ __r; } - - template - [[nodiscard,__gnu__::__always_inline__]] - constexpr _IntegerType - to_integer(__byte_op_t<_IntegerType> __b) noexcept - { return _IntegerType(__b); } - - -} - -} -# 39 "/usr/include/c++/14.1.1/bits/memory_resource.h" 2 3 - -# 1 "/usr/include/c++/14.1.1/bits/uses_allocator.h" 1 3 -# 40 "/usr/include/c++/14.1.1/bits/uses_allocator.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - struct __erased_type { }; - - - - - template - using __is_erased_or_convertible - = __or_, is_same<_Tp, __erased_type>>; - - - struct allocator_arg_t { explicit allocator_arg_t() = default; }; - - inline constexpr allocator_arg_t allocator_arg = - allocator_arg_t(); - - template> - struct __uses_allocator_helper - : false_type { }; - - template - struct __uses_allocator_helper<_Tp, _Alloc, - __void_t> - : __is_erased_or_convertible<_Alloc, typename _Tp::allocator_type>::type - { }; - - - template - struct uses_allocator - : __uses_allocator_helper<_Tp, _Alloc>::type - { }; - - struct __uses_alloc_base { }; - - struct __uses_alloc0 : __uses_alloc_base - { - struct _Sink { void constexpr operator=(const void*) { } } _M_a; - }; - - template - struct __uses_alloc1 : __uses_alloc_base { const _Alloc* _M_a; }; - - template - struct __uses_alloc2 : __uses_alloc_base { const _Alloc* _M_a; }; - - template - struct __uses_alloc; - - template - struct __uses_alloc - : __conditional_t< - is_constructible<_Tp, allocator_arg_t, const _Alloc&, _Args...>::value, - __uses_alloc1<_Alloc>, - __uses_alloc2<_Alloc>> - { - - - static_assert(__or_< - is_constructible<_Tp, allocator_arg_t, const _Alloc&, _Args...>, - is_constructible<_Tp, _Args..., const _Alloc&>>::value, - "construction with an allocator must be possible" - " if uses_allocator is true"); - }; - - template - struct __uses_alloc - : __uses_alloc0 { }; - - template - using __uses_alloc_t = - __uses_alloc::value, _Tp, _Alloc, _Args...>; - - template - constexpr - inline __uses_alloc_t<_Tp, _Alloc, _Args...> - __use_alloc(const _Alloc& __a) - { - __uses_alloc_t<_Tp, _Alloc, _Args...> __ret; - __ret._M_a = std::__addressof(__a); - return __ret; - } - - template - void - __use_alloc(const _Alloc&&) = delete; - - - template - inline constexpr bool uses_allocator_v = - uses_allocator<_Tp, _Alloc>::value; - - - template class _Predicate, - typename _Tp, typename _Alloc, typename... _Args> - struct __is_uses_allocator_predicate - : __conditional_t::value, - __or_<_Predicate<_Tp, allocator_arg_t, _Alloc, _Args...>, - _Predicate<_Tp, _Args..., _Alloc>>, - _Predicate<_Tp, _Args...>> { }; - - template - struct __is_uses_allocator_constructible - : __is_uses_allocator_predicate - { }; - - - template - inline constexpr bool __is_uses_allocator_constructible_v = - __is_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value; - - - template - struct __is_nothrow_uses_allocator_constructible - : __is_uses_allocator_predicate - { }; - - - - template - inline constexpr bool - __is_nothrow_uses_allocator_constructible_v = - __is_nothrow_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value; - - - template - void __uses_allocator_construct_impl(__uses_alloc0, _Tp* __ptr, - _Args&&... __args) - { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)...); } - - template - void __uses_allocator_construct_impl(__uses_alloc1<_Alloc> __a, _Tp* __ptr, - _Args&&... __args) - { - ::new ((void*)__ptr) _Tp(allocator_arg, *__a._M_a, - std::forward<_Args>(__args)...); - } - - template - void __uses_allocator_construct_impl(__uses_alloc2<_Alloc> __a, _Tp* __ptr, - _Args&&... __args) - { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)..., *__a._M_a); } - - template - void __uses_allocator_construct(const _Alloc& __a, _Tp* __ptr, - _Args&&... __args) - { - std::__uses_allocator_construct_impl( - std::__use_alloc<_Tp, _Alloc, _Args...>(__a), __ptr, - std::forward<_Args>(__args)...); - } - - - -} -# 41 "/usr/include/c++/14.1.1/bits/memory_resource.h" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/uses_allocator_args.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/uses_allocator_args.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/uses_allocator_args.h" 3 - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 36 "/usr/include/c++/14.1.1/bits/uses_allocator_args.h" 2 3 - - - -# 1 "/usr/include/c++/14.1.1/tuple" 1 3 -# 32 "/usr/include/c++/14.1.1/tuple" 3 - -# 33 "/usr/include/c++/14.1.1/tuple" 3 -# 44 "/usr/include/c++/14.1.1/tuple" 3 -# 1 "/usr/include/c++/14.1.1/bits/ranges_util.h" 1 3 -# 39 "/usr/include/c++/14.1.1/bits/ranges_util.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -namespace ranges -{ - - - namespace __detail - { - template - concept __simple_view = view<_Range> && range - && same_as, iterator_t> - && same_as, sentinel_t>; - - template - concept __has_arrow = input_iterator<_It> - && (is_pointer_v<_It> || requires(_It __it) { __it.operator->(); }); - - using std::__detail::__different_from; - } - - - template - requires is_class_v<_Derived> && same_as<_Derived, remove_cv_t<_Derived>> - class view_interface - { - private: - constexpr _Derived& _M_derived() noexcept - { - static_assert(derived_from<_Derived, view_interface<_Derived>>); - static_assert(view<_Derived>); - return static_cast<_Derived&>(*this); - } - - constexpr const _Derived& _M_derived() const noexcept - { - static_assert(derived_from<_Derived, view_interface<_Derived>>); - static_assert(view<_Derived>); - return static_cast(*this); - } - - static constexpr bool - _S_bool(bool) noexcept; - - template - static constexpr bool - _S_empty(_Tp& __t) - noexcept(noexcept(_S_bool(ranges::begin(__t) == ranges::end(__t)))) - { return ranges::begin(__t) == ranges::end(__t); } - - template - static constexpr auto - _S_size(_Tp& __t) - noexcept(noexcept(ranges::end(__t) - ranges::begin(__t))) - { return ranges::end(__t) - ranges::begin(__t); } - - public: - constexpr bool - empty() - noexcept(noexcept(_S_empty(_M_derived()))) - requires forward_range<_Derived> && (!sized_range<_Derived>) - { return _S_empty(_M_derived()); } - - constexpr bool - empty() - noexcept(noexcept(ranges::size(_M_derived()) == 0)) - requires sized_range<_Derived> - { return ranges::size(_M_derived()) == 0; } - - constexpr bool - empty() const - noexcept(noexcept(_S_empty(_M_derived()))) - requires forward_range && (!sized_range) - { return _S_empty(_M_derived()); } - - constexpr bool - empty() const - noexcept(noexcept(ranges::size(_M_derived()) == 0)) - requires sized_range - { return ranges::size(_M_derived()) == 0; } - - constexpr explicit - operator bool() noexcept(noexcept(ranges::empty(_M_derived()))) - requires requires { ranges::empty(_M_derived()); } - { return !ranges::empty(_M_derived()); } - - constexpr explicit - operator bool() const noexcept(noexcept(ranges::empty(_M_derived()))) - requires requires { ranges::empty(_M_derived()); } - { return !ranges::empty(_M_derived()); } - - constexpr auto - data() noexcept(noexcept(ranges::begin(_M_derived()))) - requires contiguous_iterator> - { return std::to_address(ranges::begin(_M_derived())); } - - constexpr auto - data() const noexcept(noexcept(ranges::begin(_M_derived()))) - requires range - && contiguous_iterator> - { return std::to_address(ranges::begin(_M_derived())); } - - constexpr auto - size() noexcept(noexcept(_S_size(_M_derived()))) - requires forward_range<_Derived> - && sized_sentinel_for, iterator_t<_Derived>> - { return _S_size(_M_derived()); } - - constexpr auto - size() const noexcept(noexcept(_S_size(_M_derived()))) - requires forward_range - && sized_sentinel_for, - iterator_t> - { return _S_size(_M_derived()); } - - constexpr decltype(auto) - front() requires forward_range<_Derived> - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); - return *ranges::begin(_M_derived()); - } - - constexpr decltype(auto) - front() const requires forward_range - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); - return *ranges::begin(_M_derived()); - } - - constexpr decltype(auto) - back() - requires bidirectional_range<_Derived> && common_range<_Derived> - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); - return *ranges::prev(ranges::end(_M_derived())); - } - - constexpr decltype(auto) - back() const - requires bidirectional_range - && common_range - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); - return *ranges::prev(ranges::end(_M_derived())); - } - - template - constexpr decltype(auto) - operator[](range_difference_t<_Range> __n) - { return ranges::begin(_M_derived())[__n]; } - - template - constexpr decltype(auto) - operator[](range_difference_t<_Range> __n) const - { return ranges::begin(_M_derived())[__n]; } -# 212 "/usr/include/c++/14.1.1/bits/ranges_util.h" 3 - }; - - namespace __detail - { - template - concept __uses_nonqualification_pointer_conversion - = is_pointer_v<_From> && is_pointer_v<_To> - && !convertible_to(*)[], - remove_pointer_t<_To>(*)[]>; - - template - concept __convertible_to_non_slicing = convertible_to<_From, _To> - && !__uses_nonqualification_pointer_conversion, - decay_t<_To>>; - - - - - - template - concept __pair_like - = !is_reference_v<_Tp> && requires(_Tp __t) - { - typename tuple_size<_Tp>::type; - requires derived_from, integral_constant>; - typename tuple_element_t<0, remove_const_t<_Tp>>; - typename tuple_element_t<1, remove_const_t<_Tp>>; - { get<0>(__t) } -> convertible_to&>; - { get<1>(__t) } -> convertible_to&>; - }; - - - template - concept __pair_like_convertible_from - = !range<_Tp> && !is_reference_v<_Vp> && __pair_like<_Tp> - && constructible_from<_Tp, _Up, _Vp> - && __convertible_to_non_slicing<_Up, tuple_element_t<0, _Tp>> - && convertible_to<_Vp, tuple_element_t<1, _Tp>>; - - } - - namespace views { struct _Drop; } - - enum class subrange_kind : bool { unsized, sized }; - - - template _Sent = _It, - subrange_kind _Kind = sized_sentinel_for<_Sent, _It> - ? subrange_kind::sized : subrange_kind::unsized> - requires (_Kind == subrange_kind::sized || !sized_sentinel_for<_Sent, _It>) - class subrange : public view_interface> - { - private: - static constexpr bool _S_store_size - = _Kind == subrange_kind::sized && !sized_sentinel_for<_Sent, _It>; - - friend struct views::_Drop; - - _It _M_begin = _It(); - [[no_unique_address]] _Sent _M_end = _Sent(); - - using __size_type - = __detail::__make_unsigned_like_t>; - - template - struct _Size - { - [[__gnu__::__always_inline__]] - constexpr _Size(_Tp = {}) { } - }; - - template - struct _Size<_Tp, true> - { - [[__gnu__::__always_inline__]] - constexpr _Size(_Tp __s = {}) : _M_size(__s) { } - - _Tp _M_size; - }; - - [[no_unique_address]] _Size<__size_type> _M_size = {}; - - public: - subrange() requires default_initializable<_It> = default; - - constexpr - subrange(__detail::__convertible_to_non_slicing<_It> auto __i, _Sent __s) - noexcept(is_nothrow_constructible_v<_It, decltype(__i)> - && is_nothrow_constructible_v<_Sent, _Sent&>) - requires (!_S_store_size) - : _M_begin(std::move(__i)), _M_end(__s) - { } - - constexpr - subrange(__detail::__convertible_to_non_slicing<_It> auto __i, _Sent __s, - __size_type __n) - noexcept(is_nothrow_constructible_v<_It, decltype(__i)> - && is_nothrow_constructible_v<_Sent, _Sent&>) - requires (_Kind == subrange_kind::sized) - : _M_begin(std::move(__i)), _M_end(__s), _M_size(__n) - { } - - template<__detail::__different_from _Rng> - requires borrowed_range<_Rng> - && __detail::__convertible_to_non_slicing, _It> - && convertible_to, _Sent> - constexpr - subrange(_Rng&& __r) - noexcept(noexcept(subrange(__r, ranges::size(__r)))) - requires _S_store_size && sized_range<_Rng> - : subrange(__r, ranges::size(__r)) - { } - - template<__detail::__different_from _Rng> - requires borrowed_range<_Rng> - && __detail::__convertible_to_non_slicing, _It> - && convertible_to, _Sent> - constexpr - subrange(_Rng&& __r) - noexcept(noexcept(subrange(ranges::begin(__r), ranges::end(__r)))) - requires (!_S_store_size) - : subrange(ranges::begin(__r), ranges::end(__r)) - { } - - template - requires __detail::__convertible_to_non_slicing, _It> - && convertible_to, _Sent> - constexpr - subrange(_Rng&& __r, __size_type __n) - noexcept(noexcept(subrange(ranges::begin(__r), ranges::end(__r), __n))) - requires (_Kind == subrange_kind::sized) - : subrange{ranges::begin(__r), ranges::end(__r), __n} - { } - - template<__detail::__different_from _PairLike> - requires __detail::__pair_like_convertible_from<_PairLike, const _It&, - const _Sent&> - constexpr - operator _PairLike() const - { return _PairLike(_M_begin, _M_end); } - - constexpr _It - begin() const requires copyable<_It> - { return _M_begin; } - - [[nodiscard]] constexpr _It - begin() requires (!copyable<_It>) - { return std::move(_M_begin); } - - constexpr _Sent end() const { return _M_end; } - - constexpr bool empty() const { return _M_begin == _M_end; } - - constexpr __size_type - size() const requires (_Kind == subrange_kind::sized) - { - if constexpr (_S_store_size) - return _M_size._M_size; - else - return __detail::__to_unsigned_like(_M_end - _M_begin); - } - - [[nodiscard]] constexpr subrange - next(iter_difference_t<_It> __n = 1) const & - requires forward_iterator<_It> - { - auto __tmp = *this; - __tmp.advance(__n); - return __tmp; - } - - [[nodiscard]] constexpr subrange - next(iter_difference_t<_It> __n = 1) && - { - advance(__n); - return std::move(*this); - } - - [[nodiscard]] constexpr subrange - prev(iter_difference_t<_It> __n = 1) const - requires bidirectional_iterator<_It> - { - auto __tmp = *this; - __tmp.advance(-__n); - return __tmp; - } - - constexpr subrange& - advance(iter_difference_t<_It> __n) - { - - - if constexpr (bidirectional_iterator<_It>) - if (__n < 0) - { - ranges::advance(_M_begin, __n); - if constexpr (_S_store_size) - _M_size._M_size += __detail::__to_unsigned_like(-__n); - return *this; - } - - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__n >= 0), false)) std::__glibcxx_assert_fail(); } while (false); - auto __d = __n - ranges::advance(_M_begin, __n, _M_end); - if constexpr (_S_store_size) - _M_size._M_size -= __detail::__to_unsigned_like(__d); - return *this; - } - }; - - template _Sent> - subrange(_It, _Sent) -> subrange<_It, _Sent>; - - template _Sent> - subrange(_It, _Sent, - __detail::__make_unsigned_like_t>) - -> subrange<_It, _Sent, subrange_kind::sized>; - - template - subrange(_Rng&&) - -> subrange, sentinel_t<_Rng>, - (sized_range<_Rng> - || sized_sentinel_for, iterator_t<_Rng>>) - ? subrange_kind::sized : subrange_kind::unsized>; - - template - subrange(_Rng&&, - __detail::__make_unsigned_like_t>) - -> subrange, sentinel_t<_Rng>, subrange_kind::sized>; - - template - requires (_Num < 2) - constexpr auto - get(const subrange<_It, _Sent, _Kind>& __r) - { - if constexpr (_Num == 0) - return __r.begin(); - else - return __r.end(); - } - - template - requires (_Num < 2) - constexpr auto - get(subrange<_It, _Sent, _Kind>&& __r) - { - if constexpr (_Num == 0) - return __r.begin(); - else - return __r.end(); - } - - template - inline constexpr bool - enable_borrowed_range> = true; - - template - using borrowed_subrange_t = __conditional_t, - subrange>, - dangling>; - - - template - inline constexpr bool __detail::__is_subrange> = true; -} -# 485 "/usr/include/c++/14.1.1/bits/ranges_util.h" 3 -namespace ranges -{ - struct __find_fn - { - template _Sent, typename _Tp, - typename _Proj = identity> - requires indirect_binary_predicate, const _Tp*> - constexpr _Iter - operator()(_Iter __first, _Sent __last, - const _Tp& __value, _Proj __proj = {}) const - { - while (__first != __last - && !(std::__invoke(__proj, *__first) == __value)) - ++__first; - return __first; - } - - template - requires indirect_binary_predicate, _Proj>, - const _Tp*> - constexpr borrowed_iterator_t<_Range> - operator()(_Range&& __r, const _Tp& __value, _Proj __proj = {}) const - { - return (*this)(ranges::begin(__r), ranges::end(__r), - __value, std::move(__proj)); - } - }; - - inline constexpr __find_fn find{}; - - struct __find_if_fn - { - template _Sent, - typename _Proj = identity, - indirect_unary_predicate> _Pred> - constexpr _Iter - operator()(_Iter __first, _Sent __last, - _Pred __pred, _Proj __proj = {}) const - { - while (__first != __last - && !(bool)std::__invoke(__pred, std::__invoke(__proj, *__first))) - ++__first; - return __first; - } - - template, _Proj>> - _Pred> - constexpr borrowed_iterator_t<_Range> - operator()(_Range&& __r, _Pred __pred, _Proj __proj = {}) const - { - return (*this)(ranges::begin(__r), ranges::end(__r), - std::move(__pred), std::move(__proj)); - } - }; - - inline constexpr __find_if_fn find_if{}; - - struct __find_if_not_fn - { - template _Sent, - typename _Proj = identity, - indirect_unary_predicate> _Pred> - constexpr _Iter - operator()(_Iter __first, _Sent __last, - _Pred __pred, _Proj __proj = {}) const - { - while (__first != __last - && (bool)std::__invoke(__pred, std::__invoke(__proj, *__first))) - ++__first; - return __first; - } - - template, _Proj>> - _Pred> - constexpr borrowed_iterator_t<_Range> - operator()(_Range&& __r, _Pred __pred, _Proj __proj = {}) const - { - return (*this)(ranges::begin(__r), ranges::end(__r), - std::move(__pred), std::move(__proj)); - } - }; - - inline constexpr __find_if_not_fn find_if_not{}; - - template - struct in_in_result - { - [[no_unique_address]] _Iter1 in1; - [[no_unique_address]] _Iter2 in2; - - template - requires convertible_to - && convertible_to - constexpr - operator in_in_result<_IIter1, _IIter2>() const & - { return {in1, in2}; } - - template - requires convertible_to<_Iter1, _IIter1> - && convertible_to<_Iter2, _IIter2> - constexpr - operator in_in_result<_IIter1, _IIter2>() && - { return {std::move(in1), std::move(in2)}; } - }; - - template - using mismatch_result = in_in_result<_Iter1, _Iter2>; - - struct __mismatch_fn - { - template _Sent1, - input_iterator _Iter2, sentinel_for<_Iter2> _Sent2, - typename _Pred = ranges::equal_to, - typename _Proj1 = identity, typename _Proj2 = identity> - requires indirectly_comparable<_Iter1, _Iter2, _Pred, _Proj1, _Proj2> - constexpr mismatch_result<_Iter1, _Iter2> - operator()(_Iter1 __first1, _Sent1 __last1, - _Iter2 __first2, _Sent2 __last2, _Pred __pred = {}, - _Proj1 __proj1 = {}, _Proj2 __proj2 = {}) const - { - while (__first1 != __last1 && __first2 != __last2 - && (bool)std::__invoke(__pred, - std::__invoke(__proj1, *__first1), - std::__invoke(__proj2, *__first2))) - { - ++__first1; - ++__first2; - } - return { std::move(__first1), std::move(__first2) }; - } - - template - requires indirectly_comparable, iterator_t<_Range2>, - _Pred, _Proj1, _Proj2> - constexpr mismatch_result, iterator_t<_Range2>> - operator()(_Range1&& __r1, _Range2&& __r2, _Pred __pred = {}, - _Proj1 __proj1 = {}, _Proj2 __proj2 = {}) const - { - return (*this)(ranges::begin(__r1), ranges::end(__r1), - ranges::begin(__r2), ranges::end(__r2), - std::move(__pred), - std::move(__proj1), std::move(__proj2)); - } - }; - - inline constexpr __mismatch_fn mismatch{}; - - struct __search_fn - { - template _Sent1, - forward_iterator _Iter2, sentinel_for<_Iter2> _Sent2, - typename _Pred = ranges::equal_to, - typename _Proj1 = identity, typename _Proj2 = identity> - requires indirectly_comparable<_Iter1, _Iter2, _Pred, _Proj1, _Proj2> - constexpr subrange<_Iter1> - operator()(_Iter1 __first1, _Sent1 __last1, - _Iter2 __first2, _Sent2 __last2, _Pred __pred = {}, - _Proj1 __proj1 = {}, _Proj2 __proj2 = {}) const - { - if (__first1 == __last1 || __first2 == __last2) - return {__first1, __first1}; - - for (;;) - { - for (;;) - { - if (__first1 == __last1) - return {__first1, __first1}; - if (std::__invoke(__pred, - std::__invoke(__proj1, *__first1), - std::__invoke(__proj2, *__first2))) - break; - ++__first1; - } - auto __cur1 = __first1; - auto __cur2 = __first2; - for (;;) - { - if (++__cur2 == __last2) - return {__first1, ++__cur1}; - if (++__cur1 == __last1) - return {__cur1, __cur1}; - if (!(bool)std::__invoke(__pred, - std::__invoke(__proj1, *__cur1), - std::__invoke(__proj2, *__cur2))) - { - ++__first1; - break; - } - } - } - } - - template - requires indirectly_comparable, iterator_t<_Range2>, - _Pred, _Proj1, _Proj2> - constexpr borrowed_subrange_t<_Range1> - operator()(_Range1&& __r1, _Range2&& __r2, _Pred __pred = {}, - _Proj1 __proj1 = {}, _Proj2 __proj2 = {}) const - { - return (*this)(ranges::begin(__r1), ranges::end(__r1), - ranges::begin(__r2), ranges::end(__r2), - std::move(__pred), - std::move(__proj1), std::move(__proj2)); - } - }; - - inline constexpr __search_fn search{}; - - struct __min_fn - { - template> - _Comp = ranges::less> - constexpr const _Tp& - operator()(const _Tp& __a, const _Tp& __b, - _Comp __comp = {}, _Proj __proj = {}) const - { - if (std::__invoke(__comp, - std::__invoke(__proj, __b), - std::__invoke(__proj, __a))) - return __b; - else - return __a; - } - - template, _Proj>> - _Comp = ranges::less> - requires indirectly_copyable_storable, - range_value_t<_Range>*> - constexpr range_value_t<_Range> - operator()(_Range&& __r, _Comp __comp = {}, _Proj __proj = {}) const - { - auto __first = ranges::begin(__r); - auto __last = ranges::end(__r); - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__first != __last), false)) std::__glibcxx_assert_fail(); } while (false); - auto __result = *__first; - while (++__first != __last) - { - auto __tmp = *__first; - if (std::__invoke(__comp, - std::__invoke(__proj, __tmp), - std::__invoke(__proj, __result))) - __result = std::move(__tmp); - } - return __result; - } - - template> - _Comp = ranges::less> - constexpr _Tp - operator()(initializer_list<_Tp> __r, - _Comp __comp = {}, _Proj __proj = {}) const - { - return (*this)(ranges::subrange(__r), - std::move(__comp), std::move(__proj)); - } - }; - - inline constexpr __min_fn min{}; - - struct __adjacent_find_fn - { - template _Sent, - typename _Proj = identity, - indirect_binary_predicate, - projected<_Iter, _Proj>> _Pred - = ranges::equal_to> - constexpr _Iter - operator()(_Iter __first, _Sent __last, - _Pred __pred = {}, _Proj __proj = {}) const - { - if (__first == __last) - return __first; - auto __next = __first; - for (; ++__next != __last; __first = __next) - { - if (std::__invoke(__pred, - std::__invoke(__proj, *__first), - std::__invoke(__proj, *__next))) - return __first; - } - return __next; - } - - template, _Proj>, - projected, _Proj>> _Pred = ranges::equal_to> - constexpr borrowed_iterator_t<_Range> - operator()(_Range&& __r, _Pred __pred = {}, _Proj __proj = {}) const - { - return (*this)(ranges::begin(__r), ranges::end(__r), - std::move(__pred), std::move(__proj)); - } - }; - - inline constexpr __adjacent_find_fn adjacent_find{}; - -} - - using ranges::get; - - template - struct tuple_size> - : integral_constant - { }; - - template - struct tuple_element<0, ranges::subrange<_Iter, _Sent, _Kind>> - { using type = _Iter; }; - - template - struct tuple_element<1, ranges::subrange<_Iter, _Sent, _Kind>> - { using type = _Sent; }; - - template - struct tuple_element<0, const ranges::subrange<_Iter, _Sent, _Kind>> - { using type = _Iter; }; - - template - struct tuple_element<1, const ranges::subrange<_Iter, _Sent, _Kind>> - { using type = _Sent; }; - - -} -# 45 "/usr/include/c++/14.1.1/tuple" 2 3 -# 54 "/usr/include/c++/14.1.1/tuple" 3 -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 55 "/usr/include/c++/14.1.1/tuple" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - - template - class tuple; - - template - struct __is_empty_non_tuple : is_empty<_Tp> { }; - - - template - struct __is_empty_non_tuple> : false_type { }; - - - template - using __empty_not_final - = __conditional_t<__is_final(_Tp), false_type, - __is_empty_non_tuple<_Tp>>; - - template::value> - struct _Head_base; - - - template - struct _Head_base<_Idx, _Head, true> - { - constexpr _Head_base() - : _M_head_impl() { } - - constexpr _Head_base(const _Head& __h) - : _M_head_impl(__h) { } - - constexpr _Head_base(const _Head_base&) = default; - constexpr _Head_base(_Head_base&&) = default; - - template - constexpr _Head_base(_UHead&& __h) - : _M_head_impl(std::forward<_UHead>(__h)) { } - - constexpr - _Head_base(allocator_arg_t, __uses_alloc0) - : _M_head_impl() { } - - template - constexpr - _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a) - : _M_head_impl(allocator_arg, *__a._M_a) { } - - template - constexpr - _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a) - : _M_head_impl(*__a._M_a) { } - - template - constexpr - _Head_base(__uses_alloc0, _UHead&& __uhead) - : _M_head_impl(std::forward<_UHead>(__uhead)) { } - - template - constexpr - _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead) - : _M_head_impl(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead)) - { } - - template - constexpr - _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead) - : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { } - - static constexpr _Head& - _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; } - - static constexpr const _Head& - _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; } - - [[__no_unique_address__]] _Head _M_head_impl; - }; -# 195 "/usr/include/c++/14.1.1/tuple" 3 - template - struct _Head_base<_Idx, _Head, false> - { - constexpr _Head_base() - : _M_head_impl() { } - - constexpr _Head_base(const _Head& __h) - : _M_head_impl(__h) { } - - constexpr _Head_base(const _Head_base&) = default; - constexpr _Head_base(_Head_base&&) = default; - - template - constexpr _Head_base(_UHead&& __h) - : _M_head_impl(std::forward<_UHead>(__h)) { } - - constexpr - _Head_base(allocator_arg_t, __uses_alloc0) - : _M_head_impl() { } - - template - constexpr - _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a) - : _M_head_impl(allocator_arg, *__a._M_a) { } - - template - constexpr - _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a) - : _M_head_impl(*__a._M_a) { } - - template - constexpr - _Head_base(__uses_alloc0, _UHead&& __uhead) - : _M_head_impl(std::forward<_UHead>(__uhead)) { } - - template - constexpr - _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead) - : _M_head_impl(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead)) - { } - - template - constexpr - _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead) - : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { } - - static constexpr _Head& - _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; } - - static constexpr const _Head& - _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; } - - _Head _M_head_impl; - }; -# 274 "/usr/include/c++/14.1.1/tuple" 3 - template - struct _Tuple_impl; - - - - - - - template - struct _Tuple_impl<_Idx, _Head, _Tail...> - : public _Tuple_impl<_Idx + 1, _Tail...>, - private _Head_base<_Idx, _Head> - { - template friend struct _Tuple_impl; - - typedef _Tuple_impl<_Idx + 1, _Tail...> _Inherited; - typedef _Head_base<_Idx, _Head> _Base; - - static constexpr _Head& - _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } - - static constexpr const _Head& - _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } - - static constexpr _Inherited& - _M_tail(_Tuple_impl& __t) noexcept { return __t; } - - static constexpr const _Inherited& - _M_tail(const _Tuple_impl& __t) noexcept { return __t; } - - constexpr _Tuple_impl() - : _Inherited(), _Base() { } - - explicit constexpr - _Tuple_impl(const _Head& __head, const _Tail&... __tail) - : _Inherited(__tail...), _Base(__head) - { } - - template> - explicit constexpr - _Tuple_impl(_UHead&& __head, _UTail&&... __tail) - : _Inherited(std::forward<_UTail>(__tail)...), - _Base(std::forward<_UHead>(__head)) - { } - - constexpr _Tuple_impl(const _Tuple_impl&) = default; - - - - _Tuple_impl& operator=(const _Tuple_impl&) = delete; - - _Tuple_impl(_Tuple_impl&&) = default; - - template - constexpr - _Tuple_impl(const _Tuple_impl<_Idx, _UElements...>& __in) - : _Inherited(_Tuple_impl<_Idx, _UElements...>::_M_tail(__in)), - _Base(_Tuple_impl<_Idx, _UElements...>::_M_head(__in)) - { } - - template - constexpr - _Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in) - : _Inherited(std::move - (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))), - _Base(std::forward<_UHead> - (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))) - { } -# 370 "/usr/include/c++/14.1.1/tuple" 3 - template - constexpr - _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a) - : _Inherited(__tag, __a), - _Base(__tag, __use_alloc<_Head>(__a)) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, - const _Head& __head, const _Tail&... __tail) - : _Inherited(__tag, __a, __tail...), - _Base(__use_alloc<_Head, _Alloc, _Head>(__a), __head) - { } - - template> - constexpr - _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, - _UHead&& __head, _UTail&&... __tail) - : _Inherited(__tag, __a, std::forward<_UTail>(__tail)...), - _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), - std::forward<_UHead>(__head)) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, - const _Tuple_impl& __in) - : _Inherited(__tag, __a, _M_tail(__in)), - _Base(__use_alloc<_Head, _Alloc, _Head>(__a), _M_head(__in)) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, - _Tuple_impl&& __in) - : _Inherited(__tag, __a, std::move(_M_tail(__in))), - _Base(__use_alloc<_Head, _Alloc, _Head>(__a), - std::forward<_Head>(_M_head(__in))) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, - const _Tuple_impl<_Idx, _UHead, _UTails...>& __in) - : _Inherited(__tag, __a, - _Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in)), - _Base(__use_alloc<_Head, _Alloc, const _UHead&>(__a), - _Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, - _Tuple_impl<_Idx, _UHead, _UTails...>&& __in) - : _Inherited(__tag, __a, std::move - (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))), - _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), - std::forward<_UHead> - (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))) - { } -# 465 "/usr/include/c++/14.1.1/tuple" 3 - template - constexpr - void - _M_assign(const _Tuple_impl<_Idx, _UElements...>& __in) - { - _M_head(*this) = _Tuple_impl<_Idx, _UElements...>::_M_head(__in); - _M_tail(*this)._M_assign( - _Tuple_impl<_Idx, _UElements...>::_M_tail(__in)); - } - - template - constexpr - void - _M_assign(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in) - { - _M_head(*this) = std::forward<_UHead> - (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)); - _M_tail(*this)._M_assign( - std::move(_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))); - } -# 525 "/usr/include/c++/14.1.1/tuple" 3 - protected: - constexpr - void - _M_swap(_Tuple_impl& __in) - { - using std::swap; - swap(_M_head(*this), _M_head(__in)); - _Inherited::_M_swap(_M_tail(__in)); - } -# 544 "/usr/include/c++/14.1.1/tuple" 3 - }; - - - template - struct _Tuple_impl<_Idx, _Head> - : private _Head_base<_Idx, _Head> - { - template friend struct _Tuple_impl; - - typedef _Head_base<_Idx, _Head> _Base; - - static constexpr _Head& - _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } - - static constexpr const _Head& - _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } - - constexpr - _Tuple_impl() - : _Base() { } - - explicit constexpr - _Tuple_impl(const _Head& __head) - : _Base(__head) - { } - - template - explicit constexpr - _Tuple_impl(_UHead&& __head) - : _Base(std::forward<_UHead>(__head)) - { } - - constexpr _Tuple_impl(const _Tuple_impl&) = default; - - - - _Tuple_impl& operator=(const _Tuple_impl&) = delete; - - - - - constexpr - _Tuple_impl(_Tuple_impl&& __in) - noexcept(is_nothrow_move_constructible<_Head>::value) - : _Base(static_cast<_Base&&>(__in)) - { } - - - template - constexpr - _Tuple_impl(const _Tuple_impl<_Idx, _UHead>& __in) - : _Base(_Tuple_impl<_Idx, _UHead>::_M_head(__in)) - { } - - template - constexpr - _Tuple_impl(_Tuple_impl<_Idx, _UHead>&& __in) - : _Base(std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in))) - { } -# 626 "/usr/include/c++/14.1.1/tuple" 3 - template - constexpr - _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a) - : _Base(__tag, __use_alloc<_Head>(__a)) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t, const _Alloc& __a, - const _Head& __head) - : _Base(__use_alloc<_Head, _Alloc, const _Head&>(__a), __head) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t, const _Alloc& __a, - _UHead&& __head) - : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), - std::forward<_UHead>(__head)) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t, const _Alloc& __a, - const _Tuple_impl& __in) - : _Base(__use_alloc<_Head, _Alloc, const _Head&>(__a), _M_head(__in)) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t, const _Alloc& __a, - _Tuple_impl&& __in) - : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), - std::forward<_Head>(_M_head(__in))) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t, const _Alloc& __a, - const _Tuple_impl<_Idx, _UHead>& __in) - : _Base(__use_alloc<_Head, _Alloc, const _UHead&>(__a), - _Tuple_impl<_Idx, _UHead>::_M_head(__in)) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t, const _Alloc& __a, - _Tuple_impl<_Idx, _UHead>&& __in) - : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), - std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in))) - { } -# 705 "/usr/include/c++/14.1.1/tuple" 3 - template - constexpr - void - _M_assign(const _Tuple_impl<_Idx, _UHead>& __in) - { - _M_head(*this) = _Tuple_impl<_Idx, _UHead>::_M_head(__in); - } - - template - constexpr - void - _M_assign(_Tuple_impl<_Idx, _UHead>&& __in) - { - _M_head(*this) - = std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in)); - } -# 751 "/usr/include/c++/14.1.1/tuple" 3 - protected: - constexpr - void - _M_swap(_Tuple_impl& __in) - { - using std::swap; - swap(_M_head(*this), _M_head(__in)); - } -# 768 "/usr/include/c++/14.1.1/tuple" 3 - }; - - - - template - struct _TupleConstraints - { - template - using __constructible = __and_...>; - - template - using __convertible = __and_...>; - - - - - template - static constexpr bool __is_implicitly_constructible() - { - return __and_<__constructible<_UTypes...>, - __convertible<_UTypes...> - >::value; - } - - - - - template - static constexpr bool __is_explicitly_constructible() - { - return __and_<__constructible<_UTypes...>, - __not_<__convertible<_UTypes...>> - >::value; - } - - static constexpr bool __is_implicitly_default_constructible() - { - return __and_... - >::value; - } - - static constexpr bool __is_explicitly_default_constructible() - { - return __and_..., - __not_<__and_< - std::__is_implicitly_default_constructible<_Types>...> - >>::value; - } - }; - - - - template - struct _TupleConstraints - { - template - static constexpr bool __is_implicitly_constructible() - { return false; } - - template - static constexpr bool __is_explicitly_constructible() - { return false; } - }; - - - template - class tuple : public _Tuple_impl<0, _Elements...> - { - using _Inherited = _Tuple_impl<0, _Elements...>; - - - template - static consteval bool - __constructible() - { - if constexpr (sizeof...(_UTypes) == sizeof...(_Elements)) - return __and_v...>; - else - return false; - } - - template - static consteval bool - __nothrow_constructible() - { - if constexpr (sizeof...(_UTypes) == sizeof...(_Elements)) - return __and_v...>; - else - return false; - } - - template - static consteval bool - __convertible() - { - if constexpr (sizeof...(_UTypes) == sizeof...(_Elements)) - return __and_v...>; - else - return false; - } - - - - template - static consteval bool - __disambiguating_constraint() - { - if constexpr (sizeof...(_Elements) != sizeof...(_UTypes)) - return false; - else if constexpr (sizeof...(_Elements) == 1) - { - using _U0 = typename _Nth_type<0, _UTypes...>::type; - return !is_same_v, tuple>; - } - else if constexpr (sizeof...(_Elements) < 4) - { - using _U0 = typename _Nth_type<0, _UTypes...>::type; - if constexpr (!is_same_v, allocator_arg_t>) - return true; - else - { - using _T0 = typename _Nth_type<0, _Elements...>::type; - return is_same_v, allocator_arg_t>; - } - } - return true; - } - - - - - template - static consteval bool - __use_other_ctor() - { - if constexpr (sizeof...(_Elements) != 1) - return false; - else if constexpr (is_same_v, tuple>) - return true; - else - { - using _Tp = typename _Nth_type<0, _Elements...>::type; - if constexpr (is_convertible_v<_Tuple, _Tp>) - return true; - else if constexpr (is_constructible_v<_Tp, _Tuple>) - return true; - } - return false; - } - - template - static consteval bool - __dangles() - { - - return (__reference_constructs_from_temporary(_Elements, _Up&&) - || ...); - - - - } -# 961 "/usr/include/c++/14.1.1/tuple" 3 - public: - constexpr - explicit(!(__is_implicitly_default_constructible_v<_Elements> && ...)) - tuple() - noexcept((is_nothrow_default_constructible_v<_Elements> && ...)) - requires (is_default_constructible_v<_Elements> && ...) - : _Inherited() - { } - - constexpr explicit(!__convertible()) - tuple(const _Elements&... __elements) - noexcept(__nothrow_constructible()) - requires (__constructible()) - : _Inherited(__elements...) - { } - - template - requires (__disambiguating_constraint<_UTypes...>()) - && (__constructible<_UTypes...>()) - && (!__dangles<_UTypes...>()) - constexpr explicit(!__convertible<_UTypes...>()) - tuple(_UTypes&&... __u) - noexcept(__nothrow_constructible<_UTypes...>()) - : _Inherited(std::forward<_UTypes>(__u)...) - { } - - template - requires (__disambiguating_constraint<_UTypes...>()) - && (__constructible<_UTypes...>()) - && (__dangles<_UTypes...>()) - tuple(_UTypes&&...) = delete; - - constexpr tuple(const tuple&) = default; - - constexpr tuple(tuple&&) = default; - - template - requires (__constructible()) - && (!__use_other_ctor&>()) - && (!__dangles()) - constexpr explicit(!__convertible()) - tuple(const tuple<_UTypes...>& __u) - noexcept(__nothrow_constructible()) - : _Inherited(static_cast&>(__u)) - { } - - template - requires (__constructible()) - && (!__use_other_ctor&>()) - && (__dangles()) - tuple(const tuple<_UTypes...>&) = delete; - - template - requires (__constructible<_UTypes...>()) - && (!__use_other_ctor>()) - && (!__dangles<_UTypes...>()) - constexpr explicit(!__convertible<_UTypes...>()) - tuple(tuple<_UTypes...>&& __u) - noexcept(__nothrow_constructible<_UTypes...>()) - : _Inherited(static_cast<_Tuple_impl<0, _UTypes...>&&>(__u)) - { } - - template - requires (__constructible<_UTypes...>()) - && (!__use_other_ctor>()) - && (__dangles<_UTypes...>()) - tuple(tuple<_UTypes...>&&) = delete; -# 1063 "/usr/include/c++/14.1.1/tuple" 3 - template - requires (sizeof...(_Elements) == 2) - && (__constructible()) - && (!__dangles()) - constexpr explicit(!__convertible()) - tuple(const pair<_U1, _U2>& __u) - noexcept(__nothrow_constructible()) - : _Inherited(__u.first, __u.second) - { } - - template - requires (sizeof...(_Elements) == 2) - && (__constructible()) - && (__dangles()) - tuple(const pair<_U1, _U2>&) = delete; - - template - requires (sizeof...(_Elements) == 2) - && (__constructible<_U1, _U2>()) - && (!__dangles<_U1, _U2>()) - constexpr explicit(!__convertible<_U1, _U2>()) - tuple(pair<_U1, _U2>&& __u) - noexcept(__nothrow_constructible<_U1, _U2>()) - : _Inherited(std::forward<_U1>(__u.first), - std::forward<_U2>(__u.second)) - { } - - template - requires (sizeof...(_Elements) == 2) - && (__constructible<_U1, _U2>()) - && (__dangles<_U1, _U2>()) - tuple(pair<_U1, _U2>&&) = delete; -# 1152 "/usr/include/c++/14.1.1/tuple" 3 - template - constexpr - explicit(!(__is_implicitly_default_constructible_v<_Elements> && ...)) - tuple(allocator_arg_t __tag, const _Alloc& __a) - requires (is_default_constructible_v<_Elements> && ...) - : _Inherited(__tag, __a) - { } - - template - constexpr explicit(!__convertible()) - tuple(allocator_arg_t __tag, const _Alloc& __a, - const _Elements&... __elements) - requires (__constructible()) - : _Inherited(__tag, __a, __elements...) - { } - - template - requires (__disambiguating_constraint<_UTypes...>()) - && (__constructible<_UTypes...>()) - && (!__dangles<_UTypes...>()) - constexpr explicit(!__convertible<_UTypes...>()) - tuple(allocator_arg_t __tag, const _Alloc& __a, _UTypes&&... __u) - : _Inherited(__tag, __a, std::forward<_UTypes>(__u)...) - { } - - template - requires (__disambiguating_constraint<_UTypes...>()) - && (__constructible<_UTypes...>()) - && (__dangles<_UTypes...>()) - tuple(allocator_arg_t, const _Alloc&, _UTypes&&...) = delete; - - template - constexpr - tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __u) - : _Inherited(__tag, __a, static_cast(__u)) - { } - - template - requires (__constructible<_Elements...>()) - constexpr - tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __u) - : _Inherited(__tag, __a, static_cast<_Inherited&&>(__u)) - { } - - template - requires (__constructible()) - && (!__use_other_ctor&>()) - && (!__dangles()) - constexpr explicit(!__convertible()) - tuple(allocator_arg_t __tag, const _Alloc& __a, - const tuple<_UTypes...>& __u) - : _Inherited(__tag, __a, - static_cast&>(__u)) - { } - - template - requires (__constructible()) - && (!__use_other_ctor&>()) - && (__dangles()) - tuple(allocator_arg_t, const _Alloc&, const tuple<_UTypes...>&) = delete; - - template - requires (__constructible<_UTypes...>()) - && (!__use_other_ctor>()) - && (!__dangles<_UTypes...>()) - constexpr explicit(!__use_other_ctor>()) - tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_UTypes...>&& __u) - : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _UTypes...>&&>(__u)) - { } - - template - requires (__constructible<_UTypes...>()) - && (!__use_other_ctor>()) - && (__dangles<_UTypes...>()) - tuple(allocator_arg_t, const _Alloc&, tuple<_UTypes...>&&) = delete; -# 1262 "/usr/include/c++/14.1.1/tuple" 3 - template - requires (sizeof...(_Elements) == 2) - && (__constructible()) - && (!__dangles()) - constexpr explicit(!__convertible()) - tuple(allocator_arg_t __tag, const _Alloc& __a, - const pair<_U1, _U2>& __u) - noexcept(__nothrow_constructible()) - : _Inherited(__tag, __a, __u.first, __u.second) - { } - - template - requires (sizeof...(_Elements) == 2) - && (__constructible()) - && (__dangles()) - tuple(allocator_arg_t, const _Alloc&, const pair<_U1, _U2>&) = delete; - - template - requires (sizeof...(_Elements) == 2) - && (__constructible<_U1, _U2>()) - && (!__dangles<_U1, _U2>()) - constexpr explicit(!__convertible<_U1, _U2>()) - tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __u) - noexcept(__nothrow_constructible<_U1, _U2>()) - : _Inherited(__tag, __a, std::move(__u.first), std::move(__u.second)) - { } - - template - requires (sizeof...(_Elements) == 2) - && (__constructible<_U1, _U2>()) - && (__dangles<_U1, _U2>()) - tuple(allocator_arg_t, const _Alloc&, pair<_U1, _U2>&&) = delete; -# 1654 "/usr/include/c++/14.1.1/tuple" 3 - private: - template - static consteval bool - __assignable() - { - if constexpr (sizeof...(_UTypes) == sizeof...(_Elements)) - return __and_v...>; - else - return false; - } - - template - static consteval bool - __nothrow_assignable() - { - if constexpr (sizeof...(_UTypes) == sizeof...(_Elements)) - return __and_v...>; - else - return false; - } -# 1707 "/usr/include/c++/14.1.1/tuple" 3 - public: - - tuple& operator=(const tuple& __u) = delete; - - constexpr tuple& - operator=(const tuple& __u) - noexcept(__nothrow_assignable()) - requires (__assignable()) - { - this->_M_assign(__u); - return *this; - } - - constexpr tuple& - operator=(tuple&& __u) - noexcept(__nothrow_assignable<_Elements...>()) - requires (__assignable<_Elements...>()) - { - this->_M_assign(std::move(__u)); - return *this; - } - - template - requires (__assignable()) - constexpr tuple& - operator=(const tuple<_UTypes...>& __u) - noexcept(__nothrow_assignable()) - { - this->_M_assign(__u); - return *this; - } - - template - requires (__assignable<_UTypes...>()) - constexpr tuple& - operator=(tuple<_UTypes...>&& __u) - noexcept(__nothrow_assignable<_UTypes...>()) - { - this->_M_assign(std::move(__u)); - return *this; - } -# 1785 "/usr/include/c++/14.1.1/tuple" 3 - template - requires (__assignable()) - constexpr tuple& - operator=(const pair<_U1, _U2>& __u) - noexcept(__nothrow_assignable()) - { - this->_M_head(*this) = __u.first; - this->_M_tail(*this)._M_head(*this) = __u.second; - return *this; - } - - template - requires (__assignable<_U1, _U2>()) - constexpr tuple& - operator=(pair<_U1, _U2>&& __u) - noexcept(__nothrow_assignable<_U1, _U2>()) - { - this->_M_head(*this) = std::forward<_U1>(__u.first); - this->_M_tail(*this)._M_head(*this) = std::forward<_U2>(__u.second); - return *this; - } -# 1947 "/usr/include/c++/14.1.1/tuple" 3 - constexpr - void - swap(tuple& __in) - noexcept(__and_<__is_nothrow_swappable<_Elements>...>::value) - { _Inherited::_M_swap(__in); } -# 1966 "/usr/include/c++/14.1.1/tuple" 3 - }; - - - template - tuple(_UTypes...) -> tuple<_UTypes...>; - template - tuple(pair<_T1, _T2>) -> tuple<_T1, _T2>; - template - tuple(allocator_arg_t, _Alloc, _UTypes...) -> tuple<_UTypes...>; - template - tuple(allocator_arg_t, _Alloc, pair<_T1, _T2>) -> tuple<_T1, _T2>; - template - tuple(allocator_arg_t, _Alloc, tuple<_UTypes...>) -> tuple<_UTypes...>; - - - - template<> - class tuple<> - { - public: - constexpr - void swap(tuple&) noexcept { } - - - - - - tuple() = default; - - template - constexpr - tuple(allocator_arg_t, const _Alloc&) noexcept { } - template - constexpr - tuple(allocator_arg_t, const _Alloc&, const tuple&) noexcept { } - }; -# 2402 "/usr/include/c++/14.1.1/tuple" 3 - template - struct tuple_size> - : public integral_constant { }; - - - template - inline constexpr size_t tuple_size_v> - = sizeof...(_Types); - - template - inline constexpr size_t tuple_size_v> - = sizeof...(_Types); - - - - template - struct tuple_element<__i, tuple<_Types...>> - { - static_assert(__i < sizeof...(_Types), "tuple index must be in range"); - - using type = typename _Nth_type<__i, _Types...>::type; - }; - - template - constexpr _Head& - __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept - { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); } - - template - constexpr const _Head& - __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept - { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); } - - - template - __enable_if_t<(__i >= sizeof...(_Types))> - __get_helper(const tuple<_Types...>&) = delete; - - - template - constexpr __tuple_element_t<__i, tuple<_Elements...>>& - get(tuple<_Elements...>& __t) noexcept - { return std::__get_helper<__i>(__t); } - - - template - constexpr const __tuple_element_t<__i, tuple<_Elements...>>& - get(const tuple<_Elements...>& __t) noexcept - { return std::__get_helper<__i>(__t); } - - - template - constexpr __tuple_element_t<__i, tuple<_Elements...>>&& - get(tuple<_Elements...>&& __t) noexcept - { - typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type; - return std::forward<__element_type>(std::__get_helper<__i>(__t)); - } - - - template - constexpr const __tuple_element_t<__i, tuple<_Elements...>>&& - get(const tuple<_Elements...>&& __t) noexcept - { - typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type; - return std::forward(std::__get_helper<__i>(__t)); - } - - - - template - constexpr __enable_if_t<(__i >= sizeof...(_Elements))> - get(const tuple<_Elements...>&) = delete; - - - - - template - constexpr _Tp& - get(tuple<_Types...>& __t) noexcept - { - constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>(); - static_assert(__idx < sizeof...(_Types), - "the type T in std::get must occur exactly once in the tuple"); - return std::__get_helper<__idx>(__t); - } - - - template - constexpr _Tp&& - get(tuple<_Types...>&& __t) noexcept - { - constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>(); - static_assert(__idx < sizeof...(_Types), - "the type T in std::get must occur exactly once in the tuple"); - return std::forward<_Tp>(std::__get_helper<__idx>(__t)); - } - - - template - constexpr const _Tp& - get(const tuple<_Types...>& __t) noexcept - { - constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>(); - static_assert(__idx < sizeof...(_Types), - "the type T in std::get must occur exactly once in the tuple"); - return std::__get_helper<__idx>(__t); - } - - - - template - constexpr const _Tp&& - get(const tuple<_Types...>&& __t) noexcept - { - constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>(); - static_assert(__idx < sizeof...(_Types), - "the type T in std::get must occur exactly once in the tuple"); - return std::forward(std::__get_helper<__idx>(__t)); - } - - - - template - struct __tuple_compare - { - static constexpr bool - __eq(const _Tp& __t, const _Up& __u) - { - return bool(std::get<__i>(__t) == std::get<__i>(__u)) - && __tuple_compare<_Tp, _Up, __i + 1, __size>::__eq(__t, __u); - } - - static constexpr bool - __less(const _Tp& __t, const _Up& __u) - { - return bool(std::get<__i>(__t) < std::get<__i>(__u)) - || (!bool(std::get<__i>(__u) < std::get<__i>(__t)) - && __tuple_compare<_Tp, _Up, __i + 1, __size>::__less(__t, __u)); - } - }; - - template - struct __tuple_compare<_Tp, _Up, __size, __size> - { - static constexpr bool - __eq(const _Tp&, const _Up&) { return true; } - - static constexpr bool - __less(const _Tp&, const _Up&) { return false; } - }; - - template - constexpr bool - operator==(const tuple<_TElements...>& __t, - const tuple<_UElements...>& __u) - { - static_assert(sizeof...(_TElements) == sizeof...(_UElements), - "tuple objects can only be compared if they have equal sizes."); - using __compare = __tuple_compare, - tuple<_UElements...>, - 0, sizeof...(_TElements)>; - return __compare::__eq(__t, __u); - } - - - template - constexpr _Cat - __tuple_cmp(const _Tp&, const _Up&, index_sequence<>) - { return _Cat::equivalent; } - - template - constexpr _Cat - __tuple_cmp(const _Tp& __t, const _Up& __u, - index_sequence<_Idx0, _Idxs...>) - { - auto __c - = __detail::__synth3way(std::get<_Idx0>(__t), std::get<_Idx0>(__u)); - if (__c != 0) - return __c; - return std::__tuple_cmp<_Cat>(__t, __u, index_sequence<_Idxs...>()); - } - - template - constexpr - common_comparison_category_t<__detail::__synth3way_t<_Tps, _Ups>...> - operator<=>(const tuple<_Tps...>& __t, const tuple<_Ups...>& __u) - { - using _Cat - = common_comparison_category_t<__detail::__synth3way_t<_Tps, _Ups>...>; - return std::__tuple_cmp<_Cat>(__t, __u, index_sequence_for<_Tps...>()); - } -# 2636 "/usr/include/c++/14.1.1/tuple" 3 - template - constexpr tuple::__type...> - make_tuple(_Elements&&... __args) - { - typedef tuple::__type...> - __result_type; - return __result_type(std::forward<_Elements>(__args)...); - } - - - - - template - constexpr tuple<_Elements&&...> - forward_as_tuple(_Elements&&... __args) noexcept - { return tuple<_Elements&&...>(std::forward<_Elements>(__args)...); } - - - template - struct __make_tuple_impl; - - template - struct __make_tuple_impl<_Idx, tuple<_Tp...>, _Tuple, _Nm> - : __make_tuple_impl<_Idx + 1, - tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>, - _Tuple, _Nm> - { }; - - template - struct __make_tuple_impl<_Nm, tuple<_Tp...>, _Tuple, _Nm> - { - typedef tuple<_Tp...> __type; - }; - - template - struct __do_make_tuple - : __make_tuple_impl<0, tuple<>, _Tuple, tuple_size<_Tuple>::value> - { }; - - - template - struct __make_tuple - : public __do_make_tuple<__remove_cvref_t<_Tuple>> - { }; - - - template - struct __combine_tuples; - - template<> - struct __combine_tuples<> - { - typedef tuple<> __type; - }; - - template - struct __combine_tuples> - { - typedef tuple<_Ts...> __type; - }; - - template - struct __combine_tuples, tuple<_T2s...>, _Rem...> - { - typedef typename __combine_tuples, - _Rem...>::__type __type; - }; - - - template - struct __tuple_cat_result - { - typedef typename __combine_tuples - ::__type...>::__type __type; - }; - - - - template - struct __make_1st_indices; - - template<> - struct __make_1st_indices<> - { - typedef _Index_tuple<> __type; - }; - - template - struct __make_1st_indices<_Tp, _Tpls...> - { - typedef typename _Build_index_tuple::type>::value>::__type __type; - }; - - - - - template - struct __tuple_concater; - - template - struct __tuple_concater<_Ret, _Index_tuple<_Is...>, _Tp, _Tpls...> - { - template - static constexpr _Ret - _S_do(_Tp&& __tp, _Tpls&&... __tps, _Us&&... __us) - { - typedef typename __make_1st_indices<_Tpls...>::__type __idx; - typedef __tuple_concater<_Ret, __idx, _Tpls...> __next; - return __next::_S_do(std::forward<_Tpls>(__tps)..., - std::forward<_Us>(__us)..., - std::get<_Is>(std::forward<_Tp>(__tp))...); - } - }; - - template - struct __tuple_concater<_Ret, _Index_tuple<>> - { - template - static constexpr _Ret - _S_do(_Us&&... __us) - { - return _Ret(std::forward<_Us>(__us)...); - } - }; - - template - struct __is_tuple_like_impl> : true_type - { }; - - - - - - - template...>::value>::type> - - constexpr auto - tuple_cat(_Tpls&&... __tpls) - -> typename __tuple_cat_result<_Tpls...>::__type - { - typedef typename __tuple_cat_result<_Tpls...>::__type __ret; - typedef typename __make_1st_indices<_Tpls...>::__type __idx; - typedef __tuple_concater<__ret, __idx, _Tpls...> __concater; - return __concater::_S_do(std::forward<_Tpls>(__tpls)...); - } - - - - - template - constexpr tuple<_Elements&...> - tie(_Elements&... __args) noexcept - { return tuple<_Elements&...>(__args...); } - - - template - constexpr - inline - - - typename enable_if<__and_<__is_swappable<_Elements>...>::value - >::type - - - - swap(tuple<_Elements...>& __x, tuple<_Elements...>& __y) - noexcept(noexcept(__x.swap(__y))) - { __x.swap(__y); } -# 2818 "/usr/include/c++/14.1.1/tuple" 3 - template - constexpr - typename enable_if...>::value>::type - swap(tuple<_Elements...>&, tuple<_Elements...>&) = delete; - - - - - - - struct _Swallow_assign - { - template - constexpr const _Swallow_assign& - operator=(const _Tp&) const - { return *this; } - }; -# 2853 "/usr/include/c++/14.1.1/tuple" 3 - inline constexpr _Swallow_assign ignore{}; - - - template - struct uses_allocator, _Alloc> : true_type { }; -# 2868 "/usr/include/c++/14.1.1/tuple" 3 - template - template - constexpr - inline - pair<_T1, _T2>:: - pair(piecewise_construct_t, - tuple<_Args1...> __first, tuple<_Args2...> __second) - : pair(__first, __second, - typename _Build_index_tuple::__type(), - typename _Build_index_tuple::__type()) - { } - - template - template - constexpr inline - pair<_T1, _T2>:: - pair(tuple<_Args1...>& __tuple1, tuple<_Args2...>& __tuple2, - _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>) - : first(std::forward<_Args1>(std::get<_Indexes1>(__tuple1))...), - second(std::forward<_Args2>(std::get<_Indexes2>(__tuple2))...) - { } - - - - - - - template class _Trait, typename _Tp, typename _Tuple> - inline constexpr bool __unpack_std_tuple = false; - - template class _Trait, typename _Tp, typename... _Up> - inline constexpr bool __unpack_std_tuple<_Trait, _Tp, tuple<_Up...>> - = _Trait<_Tp, _Up...>::value; - - template class _Trait, typename _Tp, typename... _Up> - inline constexpr bool __unpack_std_tuple<_Trait, _Tp, tuple<_Up...>&> - = _Trait<_Tp, _Up&...>::value; - - template class _Trait, typename _Tp, typename... _Up> - inline constexpr bool __unpack_std_tuple<_Trait, _Tp, const tuple<_Up...>> - = _Trait<_Tp, const _Up...>::value; - - template class _Trait, typename _Tp, typename... _Up> - inline constexpr bool __unpack_std_tuple<_Trait, _Tp, const tuple<_Up...>&> - = _Trait<_Tp, const _Up&...>::value; - - - - template - constexpr decltype(auto) - __apply_impl(_Fn&& __f, _Tuple&& __t, index_sequence<_Idx...>) - { - return std::__invoke(std::forward<_Fn>(__f), - std::get<_Idx>(std::forward<_Tuple>(__t))...); - } - - - - - template - - constexpr decltype(auto) - apply(_Fn&& __f, _Tuple&& __t) - noexcept(__unpack_std_tuple) - { - using _Indices - = make_index_sequence>>; - return std::__apply_impl(std::forward<_Fn>(__f), - std::forward<_Tuple>(__t), - _Indices{}); - } - - - - template - constexpr _Tp - __make_from_tuple_impl(_Tuple&& __t, index_sequence<_Idx...>) - { return _Tp(std::get<_Idx>(std::forward<_Tuple>(__t))...); } - - - - - template - - constexpr _Tp - make_from_tuple(_Tuple&& __t) - noexcept(__unpack_std_tuple) - { - constexpr size_t __n = tuple_size_v>; - - if constexpr (__n == 1) - { - using _Elt = decltype(std::get<0>(std::declval<_Tuple>())); - static_assert(!__reference_constructs_from_temporary(_Tp, _Elt)); - } - - return __make_from_tuple_impl<_Tp>(std::forward<_Tuple>(__t), - make_index_sequence<__n>{}); - } -# 3030 "/usr/include/c++/14.1.1/tuple" 3 - -} -# 40 "/usr/include/c++/14.1.1/bits/uses_allocator_args.h" 2 3 - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - concept _Std_pair = __is_pair>; - - - - - template - constexpr auto - uses_allocator_construction_args(const _Alloc& __a, - _Args&&... __args) noexcept - requires (! _Std_pair<_Tp>) - { - if constexpr (uses_allocator_v, _Alloc>) - { - if constexpr (is_constructible_v<_Tp, allocator_arg_t, - const _Alloc&, _Args...>) - { - return tuple( - allocator_arg, __a, std::forward<_Args>(__args)...); - } - else - { - static_assert(is_constructible_v<_Tp, _Args..., const _Alloc&>, - "construction with an allocator must be possible" - " if uses_allocator is true"); - - return tuple<_Args&&..., const _Alloc&>( - std::forward<_Args>(__args)..., __a); - } - } - else - { - static_assert(is_constructible_v<_Tp, _Args...>); - - return tuple<_Args&&...>(std::forward<_Args>(__args)...); - } - } - - template<_Std_pair _Tp, typename _Alloc, typename _Tuple1, typename _Tuple2> - constexpr auto - uses_allocator_construction_args(const _Alloc& __a, piecewise_construct_t, - _Tuple1&& __x, _Tuple2&& __y) noexcept; - - template<_Std_pair _Tp, typename _Alloc> - constexpr auto - uses_allocator_construction_args(const _Alloc&) noexcept; - - template<_Std_pair _Tp, typename _Alloc, typename _Up, typename _Vp> - constexpr auto - uses_allocator_construction_args(const _Alloc&, _Up&&, _Vp&&) noexcept; - - template<_Std_pair _Tp, typename _Alloc, typename _Up, typename _Vp> - constexpr auto - uses_allocator_construction_args(const _Alloc&, - const pair<_Up, _Vp>&) noexcept; - - template<_Std_pair _Tp, typename _Alloc, typename _Up, typename _Vp> - constexpr auto - uses_allocator_construction_args(const _Alloc&, pair<_Up, _Vp>&&) noexcept; -# 118 "/usr/include/c++/14.1.1/bits/uses_allocator_args.h" 3 - template<_Std_pair _Tp, typename _Alloc, typename _Tuple1, typename _Tuple2> - constexpr auto - uses_allocator_construction_args(const _Alloc& __a, piecewise_construct_t, - _Tuple1&& __x, _Tuple2&& __y) noexcept - { - using _Tp1 = typename _Tp::first_type; - using _Tp2 = typename _Tp::second_type; - - return std::make_tuple(piecewise_construct, - std::apply([&__a](auto&&... __args1) { - return std::uses_allocator_construction_args<_Tp1>( - __a, std::forward(__args1)...); - }, std::forward<_Tuple1>(__x)), - std::apply([&__a](auto&&... __args2) { - return std::uses_allocator_construction_args<_Tp2>( - __a, std::forward(__args2)...); - }, std::forward<_Tuple2>(__y))); - } - - template<_Std_pair _Tp, typename _Alloc> - constexpr auto - uses_allocator_construction_args(const _Alloc& __a) noexcept - { - using _Tp1 = typename _Tp::first_type; - using _Tp2 = typename _Tp::second_type; - - return std::make_tuple(piecewise_construct, - std::uses_allocator_construction_args<_Tp1>(__a), - std::uses_allocator_construction_args<_Tp2>(__a)); - } - - template<_Std_pair _Tp, typename _Alloc, typename _Up, typename _Vp> - constexpr auto - uses_allocator_construction_args(const _Alloc& __a, _Up&& __u, _Vp&& __v) - noexcept - { - using _Tp1 = typename _Tp::first_type; - using _Tp2 = typename _Tp::second_type; - - return std::make_tuple(piecewise_construct, - std::uses_allocator_construction_args<_Tp1>(__a, - std::forward<_Up>(__u)), - std::uses_allocator_construction_args<_Tp2>(__a, - std::forward<_Vp>(__v))); - } - - template<_Std_pair _Tp, typename _Alloc, typename _Up, typename _Vp> - constexpr auto - uses_allocator_construction_args(const _Alloc& __a, - const pair<_Up, _Vp>& __pr) noexcept - { - using _Tp1 = typename _Tp::first_type; - using _Tp2 = typename _Tp::second_type; - - return std::make_tuple(piecewise_construct, - std::uses_allocator_construction_args<_Tp1>(__a, __pr.first), - std::uses_allocator_construction_args<_Tp2>(__a, __pr.second)); - } - - template<_Std_pair _Tp, typename _Alloc, typename _Up, typename _Vp> - constexpr auto - uses_allocator_construction_args(const _Alloc& __a, - pair<_Up, _Vp>&& __pr) noexcept - { - using _Tp1 = typename _Tp::first_type; - using _Tp2 = typename _Tp::second_type; - - - - - return std::make_tuple(piecewise_construct, - std::uses_allocator_construction_args<_Tp1>(__a, - std::get<0>(std::move(__pr))), - std::uses_allocator_construction_args<_Tp2>(__a, - std::get<1>(std::move(__pr)))); - } -# 225 "/usr/include/c++/14.1.1/bits/uses_allocator_args.h" 3 - template - constexpr _Tp - make_obj_using_allocator(const _Alloc& __a, _Args&&... __args) - { - return std::make_from_tuple<_Tp>( - std::uses_allocator_construction_args<_Tp>(__a, - std::forward<_Args>(__args)...)); - } - - template - constexpr _Tp* - uninitialized_construct_using_allocator(_Tp* __p, const _Alloc& __a, - _Args&&... __args) - { - return std::apply([&](auto&&... __xs) { - return std::construct_at(__p, std::forward(__xs)...); - }, std::uses_allocator_construction_args<_Tp>(__a, - std::forward<_Args>(__args)...)); - } - - -} -# 42 "/usr/include/c++/14.1.1/bits/memory_resource.h" 2 3 -# 50 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -namespace pmr -{ - - - - - - - class memory_resource - { - static constexpr size_t _S_max_align = alignof(max_align_t); - - public: - memory_resource() = default; - memory_resource(const memory_resource&) = default; - virtual ~memory_resource(); - - memory_resource& operator=(const memory_resource&) = default; - - [[nodiscard]] - void* - allocate(size_t __bytes, size_t __alignment = _S_max_align) - __attribute__((__returns_nonnull__,__alloc_size__(2),__alloc_align__(3))) - { return ::operator new(__bytes, do_allocate(__bytes, __alignment)); } - - void - deallocate(void* __p, size_t __bytes, size_t __alignment = _S_max_align) - __attribute__((__nonnull__)) - { return do_deallocate(__p, __bytes, __alignment); } - - [[nodiscard]] - bool - is_equal(const memory_resource& __other) const noexcept - { return do_is_equal(__other); } - - private: - virtual void* - do_allocate(size_t __bytes, size_t __alignment) = 0; - - virtual void - do_deallocate(void* __p, size_t __bytes, size_t __alignment) = 0; - - virtual bool - do_is_equal(const memory_resource& __other) const noexcept = 0; - }; - - [[nodiscard]] - inline bool - operator==(const memory_resource& __a, const memory_resource& __b) noexcept - { return &__a == &__b || __a.is_equal(__b); } -# 119 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - template - class polymorphic_allocator - { - - - template - struct __not_pair { using type = void; }; - - template - struct __not_pair> { }; - - public: - using value_type = _Tp; - - polymorphic_allocator() noexcept - { - extern memory_resource* get_default_resource() noexcept - __attribute__((__returns_nonnull__)); - _M_resource = get_default_resource(); - } - - polymorphic_allocator(memory_resource* __r) noexcept - __attribute__((__nonnull__)) - : _M_resource(__r) - { ; } - - polymorphic_allocator(const polymorphic_allocator& __other) = default; - - template - polymorphic_allocator(const polymorphic_allocator<_Up>& __x) noexcept - : _M_resource(__x.resource()) - { } - - polymorphic_allocator& - operator=(const polymorphic_allocator&) = delete; - - [[nodiscard]] - _Tp* - allocate(size_t __n) - __attribute__((__returns_nonnull__)) - { - if ((__gnu_cxx::__int_traits::__max / sizeof(_Tp)) < __n) - std::__throw_bad_array_new_length(); - return static_cast<_Tp*>(_M_resource->allocate(__n * sizeof(_Tp), - alignof(_Tp))); - } - - void - deallocate(_Tp* __p, size_t __n) noexcept - __attribute__((__nonnull__)) - { _M_resource->deallocate(__p, __n * sizeof(_Tp), alignof(_Tp)); } - - - [[nodiscard]] void* - allocate_bytes(size_t __nbytes, - size_t __alignment = alignof(max_align_t)) - { return _M_resource->allocate(__nbytes, __alignment); } - - void - deallocate_bytes(void* __p, size_t __nbytes, - size_t __alignment = alignof(max_align_t)) - { _M_resource->deallocate(__p, __nbytes, __alignment); } - - template - [[nodiscard]] _Up* - allocate_object(size_t __n = 1) - { - if ((__gnu_cxx::__int_traits::__max / sizeof(_Up)) < __n) - std::__throw_bad_array_new_length(); - return static_cast<_Up*>(allocate_bytes(__n * sizeof(_Up), - alignof(_Up))); - } - - template - void - deallocate_object(_Up* __p, size_t __n = 1) - { deallocate_bytes(__p, __n * sizeof(_Up), alignof(_Up)); } - - template - [[nodiscard]] _Up* - new_object(_CtorArgs&&... __ctor_args) - { - _Up* __p = allocate_object<_Up>(); - try - { - construct(__p, std::forward<_CtorArgs>(__ctor_args)...); - } - catch(...) - { - deallocate_object(__p); - throw; - } - return __p; - } - - template - void - delete_object(_Up* __p) - { - __p->~_Up(); - deallocate_object(__p); - } -# 297 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - template - __attribute__((__nonnull__)) - void - construct(_Tp1* __p, _Args&&... __args) - { - std::uninitialized_construct_using_allocator(__p, *this, - std::forward<_Args>(__args)...); - } - - - template - __attribute__ ((__deprecated__ ("use '" "allocator_traits::destroy" "' instead"))) - __attribute__((__nonnull__)) - void - destroy(_Up* __p) - { __p->~_Up(); } - - polymorphic_allocator - select_on_container_copy_construction() const noexcept - { return polymorphic_allocator(); } - - memory_resource* - resource() const noexcept - __attribute__((__returns_nonnull__)) - { return _M_resource; } - - - - [[nodiscard]] - friend bool - operator==(const polymorphic_allocator& __a, - const polymorphic_allocator& __b) noexcept - { return *__a.resource() == *__b.resource(); } -# 339 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - private: -# 366 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - memory_resource* _M_resource; - }; - - template - [[nodiscard]] - inline bool - operator==(const polymorphic_allocator<_Tp1>& __a, - const polymorphic_allocator<_Tp2>& __b) noexcept - { return *__a.resource() == *__b.resource(); } -# 385 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 -} - - template struct allocator_traits; - - - template - struct allocator_traits> - { - - using allocator_type = pmr::polymorphic_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 = false_type; - using propagate_on_container_swap = false_type; - - static allocator_type - select_on_container_copy_construction(const allocator_type&) noexcept - { return allocator_type(); } - - - - using is_always_equal = false_type; - - template - using rebind_alloc = pmr::polymorphic_allocator<_Up>; - - template - using rebind_traits = allocator_traits>; -# 446 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - [[nodiscard]] static pointer - allocate(allocator_type& __a, size_type __n) - { return __a.allocate(__n); } -# 461 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - [[nodiscard]] static pointer - allocate(allocator_type& __a, size_type __n, const_void_pointer) - { return __a.allocate(__n); } -# 473 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - static void - deallocate(allocator_type& __a, pointer __p, size_type __n) - { __a.deallocate(__p, __n); } -# 488 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - template - static void - construct(allocator_type& __a, _Up* __p, _Args&&... __args) - { __a.construct(__p, std::forward<_Args>(__args)...); } -# 500 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - template - static constexpr void - destroy(allocator_type&, _Up* __p) - noexcept(is_nothrow_destructible<_Up>::value) - { __p->~_Up(); } - - - - - - static constexpr size_type - max_size(const allocator_type&) noexcept - { return size_t(-1) / sizeof(value_type); } - }; - - -} -# 68 "/usr/include/c++/14.1.1/string" 2 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - namespace pmr { - template> - using basic_string = std::basic_string<_CharT, _Traits, - polymorphic_allocator<_CharT>>; - using string = basic_string; - - using u8string = basic_string; - - using u16string = basic_string; - using u32string = basic_string; - using wstring = basic_string; - } - -} - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - constexpr - inline typename basic_string<_CharT, _Traits, _Alloc>::size_type - erase_if(basic_string<_CharT, _Traits, _Alloc>& __cont, _Predicate __pred) - { - using namespace __gnu_cxx; - const auto __osz = __cont.size(); - const auto __end = __cont.end(); - auto __removed = std::__remove_if(__cont.begin(), __end, - __ops::__pred_iter(std::ref(__pred))); - __cont.erase(__removed, __end); - return __osz - __cont.size(); - } - - template - constexpr - inline typename basic_string<_CharT, _Traits, _Alloc>::size_type - erase(basic_string<_CharT, _Traits, _Alloc>& __cont, const _Up& __value) - { - using namespace __gnu_cxx; - const auto __osz = __cont.size(); - const auto __end = __cont.end(); - auto __removed = std::__remove_if(__cont.begin(), __end, - __ops::__iter_equals_val(__value)); - __cont.erase(__removed, __end); - return __osz - __cont.size(); - } - -} -# 41 "/usr/include/c++/14.1.1/bits/locale_classes.h" 2 3 - - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 66 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - class locale - { - public: - - - typedef int category; - - - class facet; - class id; - class _Impl; - - friend class facet; - friend class _Impl; - - template - friend bool - has_facet(const locale&) throw(); - - template - friend const _Facet& - use_facet(const locale&); - - template - friend const _Facet* - __try_use_facet(const locale&) noexcept; - - template - friend struct __use_cache; -# 106 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - static const category none = 0; - static const category ctype = 1L << 0; - static const category numeric = 1L << 1; - static const category collate = 1L << 2; - static const category time = 1L << 3; - static const category monetary = 1L << 4; - static const category messages = 1L << 5; - static const category all = (ctype | numeric | collate | - time | monetary | messages); -# 125 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - locale() throw(); -# 134 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - locale(const locale& __other) throw(); -# 144 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - explicit - locale(const char* __s); -# 159 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - locale(const locale& __base, const char* __s, category __cat); -# 170 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - explicit - locale(const std::string& __s) : locale(__s.c_str()) { } -# 185 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - locale(const locale& __base, const std::string& __s, category __cat) - : locale(__base, __s.c_str(), __cat) { } -# 200 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - locale(const locale& __base, const locale& __add, category __cat); -# 213 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - template - locale(const locale& __other, _Facet* __f); - - - ~locale() throw(); -# 227 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - const locale& - operator=(const locale& __other) throw(); -# 242 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - template - locale - combine(const locale& __other) const; - - - - - - - __attribute ((__abi_tag__ ("cxx11"))) - string - name() const; -# 272 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - bool - operator==(const locale& __other) const throw(); -# 302 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - template - bool - operator()(const basic_string<_Char, _Traits, _Alloc>& __s1, - const basic_string<_Char, _Traits, _Alloc>& __s2) const; -# 318 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - static locale - global(const locale& __loc); - - - - - static const locale& - classic(); - - private: - - _Impl* _M_impl; - - - static _Impl* _S_classic; - - - static _Impl* _S_global; - - - - - - static const char* const* const _S_categories; -# 353 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - enum { _S_categories_size = 6 + 6 }; - - - static __gthread_once_t _S_once; - - - explicit - locale(_Impl*) throw(); - - static void - _S_initialize(); - - static void - _S_initialize_once() throw(); - - static category - _S_normalize_category(category); - - void - _M_coalesce(const locale& __base, const locale& __add, category __cat); - - - static const id* const _S_twinned_facets[]; - - }; -# 391 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - class locale::facet - { - private: - friend class locale; - friend class locale::_Impl; - - mutable _Atomic_word _M_refcount; - - - static __c_locale _S_c_locale; - - - static const char _S_c_name[2]; - - - static __gthread_once_t _S_once; - - - static void - _S_initialize_once(); - - protected: -# 422 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - explicit - facet(size_t __refs = 0) throw() : _M_refcount(__refs ? 1 : 0) - { } - - - virtual - ~facet(); - - static void - _S_create_c_locale(__c_locale& __cloc, const char* __s, - __c_locale __old = 0); - - static __c_locale - _S_clone_c_locale(__c_locale& __cloc) throw(); - - static void - _S_destroy_c_locale(__c_locale& __cloc); - - static __c_locale - _S_lc_ctype_c_locale(__c_locale __cloc, const char* __s); - - - - static __c_locale - _S_get_c_locale(); - - __attribute__ ((__const__)) static const char* - _S_get_c_name() throw(); -# 458 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - facet(const facet&) = delete; - - facet& - operator=(const facet&) = delete; - - - private: - void - _M_add_reference() const throw() - { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } - - void - _M_remove_reference() const throw() - { - - ; - if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1) - { - ; - try - { delete this; } - catch(...) - { } - } - } - - const facet* _M_sso_shim(const id*) const; - const facet* _M_cow_shim(const id*) const; - - protected: - class __shim; - }; -# 503 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - class locale::id - { - private: - friend class locale; - friend class locale::_Impl; - - template - friend const _Facet& - use_facet(const locale&); - - template - friend bool - has_facet(const locale&) throw(); - - template - friend const _Facet* - __try_use_facet(const locale&) noexcept; - - - - - mutable size_t _M_index; - - - static _Atomic_word _S_refcount; - - void - operator=(const id&); - - id(const id&); - - public: - - - - id() { } - - size_t - _M_id() const throw(); - }; - - - - class locale::_Impl - { - public: - - friend class locale; - friend class locale::facet; - - template - friend bool - has_facet(const locale&) throw(); - - template - friend const _Facet& - use_facet(const locale&); - - template - friend const _Facet* - __try_use_facet(const locale&) noexcept; - - template - friend struct __use_cache; - - private: - - _Atomic_word _M_refcount; - const facet** _M_facets; - size_t _M_facets_size; - const facet** _M_caches; - char** _M_names; - static const locale::id* const _S_id_ctype[]; - static const locale::id* const _S_id_numeric[]; - static const locale::id* const _S_id_collate[]; - static const locale::id* const _S_id_time[]; - static const locale::id* const _S_id_monetary[]; - static const locale::id* const _S_id_messages[]; - static const locale::id* const* const _S_facet_categories[]; - - void - _M_add_reference() throw() - { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } - - void - _M_remove_reference() throw() - { - - ; - if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1) - { - ; - try - { delete this; } - catch(...) - { } - } - } - - _Impl(const _Impl&, size_t); - _Impl(const char*, size_t); - _Impl(size_t) throw(); - - ~_Impl() throw(); - - _Impl(const _Impl&); - - void - operator=(const _Impl&); - - bool - _M_check_same_name() - { - bool __ret = true; - if (_M_names[1]) - - for (size_t __i = 0; __ret && __i < _S_categories_size - 1; ++__i) - __ret = __builtin_strcmp(_M_names[__i], _M_names[__i + 1]) == 0; - return __ret; - } - - void - _M_replace_categories(const _Impl*, category); - - void - _M_replace_category(const _Impl*, const locale::id* const*); - - void - _M_replace_facet(const _Impl*, const locale::id*); - - void - _M_install_facet(const locale::id*, const facet*); - - template - void - _M_init_facet(_Facet* __facet) - { _M_install_facet(&_Facet::id, __facet); } - - template - void - _M_init_facet_unchecked(_Facet* __facet) - { - __facet->_M_add_reference(); - _M_facets[_Facet::id._M_id()] = __facet; - } - - void - _M_install_cache(const facet*, size_t); - - void _M_init_extra(facet**); - void _M_init_extra(void*, void*, const char*, const char*); - - - - - }; -# 673 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - template - class __cxx11:: collate : public locale::facet - { - public: - - - - typedef _CharT char_type; - typedef basic_string<_CharT> string_type; - - - protected: - - - __c_locale _M_c_locale_collate; - - public: - - static locale::id id; -# 700 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - explicit - collate(size_t __refs = 0) - : facet(__refs), _M_c_locale_collate(_S_get_c_locale()) - { } -# 714 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - explicit - collate(__c_locale __cloc, size_t __refs = 0) - : facet(__refs), _M_c_locale_collate(_S_clone_c_locale(__cloc)) - { } -# 731 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - int - compare(const _CharT* __lo1, const _CharT* __hi1, - const _CharT* __lo2, const _CharT* __hi2) const - { return this->do_compare(__lo1, __hi1, __lo2, __hi2); } -# 750 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - string_type - transform(const _CharT* __lo, const _CharT* __hi) const - { return this->do_transform(__lo, __hi); } -# 764 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - long - hash(const _CharT* __lo, const _CharT* __hi) const - { return this->do_hash(__lo, __hi); } - - - int - _M_compare(const _CharT*, const _CharT*) const throw(); - - size_t - _M_transform(_CharT*, const _CharT*, size_t) const throw(); - - protected: - - virtual - ~collate() - { _S_destroy_c_locale(_M_c_locale_collate); } -# 793 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - virtual int - do_compare(const _CharT* __lo1, const _CharT* __hi1, - const _CharT* __lo2, const _CharT* __hi2) const; -# 807 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - virtual string_type - do_transform(const _CharT* __lo, const _CharT* __hi) const; -# 820 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - virtual long - do_hash(const _CharT* __lo, const _CharT* __hi) const; - }; - - template - locale::id collate<_CharT>::id; - - - template<> - int - collate::_M_compare(const char*, const char*) const throw(); - - template<> - size_t - collate::_M_transform(char*, const char*, size_t) const throw(); - - - template<> - int - collate::_M_compare(const wchar_t*, const wchar_t*) const throw(); - - template<> - size_t - collate::_M_transform(wchar_t*, const wchar_t*, size_t) const throw(); - - - - template - class __cxx11:: collate_byname : public collate<_CharT> - { - public: - - - typedef _CharT char_type; - typedef basic_string<_CharT> string_type; - - - explicit - collate_byname(const char* __s, size_t __refs = 0) - : collate<_CharT>(__refs) - { - if (__builtin_strcmp(__s, "C") != 0 - && __builtin_strcmp(__s, "POSIX") != 0) - { - this->_S_destroy_c_locale(this->_M_c_locale_collate); - this->_S_create_c_locale(this->_M_c_locale_collate, __s); - } - } - - - explicit - collate_byname(const string& __s, size_t __refs = 0) - : collate_byname(__s.c_str(), __refs) { } - - - protected: - virtual - ~collate_byname() { } - }; - - -} - -# 1 "/usr/include/c++/14.1.1/bits/locale_classes.tcc" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/locale_classes.tcc" 3 - -# 38 "/usr/include/c++/14.1.1/bits/locale_classes.tcc" 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - locale:: - locale(const locale& __other, _Facet* __f) - { - _M_impl = new _Impl(*__other._M_impl, 1); - - try - { _M_impl->_M_install_facet(&_Facet::id, __f); } - catch(...) - { - _M_impl->_M_remove_reference(); - throw; - } - delete [] _M_impl->_M_names[0]; - _M_impl->_M_names[0] = 0; - } - - template - locale - locale:: - combine(const locale& __other) const - { - _Impl* __tmp = new _Impl(*_M_impl, 1); - try - { - __tmp->_M_replace_facet(__other._M_impl, &_Facet::id); - } - catch(...) - { - __tmp->_M_remove_reference(); - throw; - } - return locale(__tmp); - } - - template - bool - locale:: - operator()(const basic_string<_CharT, _Traits, _Alloc>& __s1, - const basic_string<_CharT, _Traits, _Alloc>& __s2) const - { - typedef std::collate<_CharT> __collate_type; - const __collate_type& __collate = use_facet<__collate_type>(*this); - return (__collate.compare(__s1.data(), __s1.data() + __s1.length(), - __s2.data(), __s2.data() + __s2.length()) < 0); - } - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wc++17-extensions" - template - inline const _Facet* - __try_use_facet(const locale& __loc) noexcept - { - const size_t __i = _Facet::id._M_id(); - const locale::facet** __facets = __loc._M_impl->_M_facets; - - - - - - - - if constexpr (__is_same(_Facet, ctype)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, num_get)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, num_put)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, codecvt)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, collate)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, moneypunct)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, moneypunct)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, money_get)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, money_put)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, numpunct)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, time_get)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, time_put)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, messages)) return static_cast(__facets[__i]); - - - if constexpr (__is_same(_Facet, ctype)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, num_get)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, num_put)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, codecvt)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, collate)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, moneypunct)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, moneypunct)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, money_get)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, money_put)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, numpunct)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, time_get)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, time_put)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, messages)) return static_cast(__facets[__i]); - - - if constexpr (__is_same(_Facet, codecvt)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, codecvt)) return static_cast(__facets[__i]); - - - - - if (__i >= __loc._M_impl->_M_facets_size || !__facets[__i]) - return 0; - - - return dynamic_cast(__facets[__i]); - - - - } -#pragma GCC diagnostic pop -# 164 "/usr/include/c++/14.1.1/bits/locale_classes.tcc" 3 - template - inline bool - has_facet(const locale& __loc) throw() - { - - static_assert(__is_base_of(locale::facet, _Facet), - "template argument must be derived from locale::facet"); - - - - return std::__try_use_facet<_Facet>(__loc) != 0; - } -# 191 "/usr/include/c++/14.1.1/bits/locale_classes.tcc" 3 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdangling-reference" - template - inline const _Facet& - use_facet(const locale& __loc) - { - - static_assert(__is_base_of(locale::facet, _Facet), - "template argument must be derived from locale::facet"); - - - - if (const _Facet* __f = std::__try_use_facet<_Facet>(__loc)) - return *__f; - __throw_bad_cast(); - } -#pragma GCC diagnostic pop - - - - template - int - collate<_CharT>::_M_compare(const _CharT*, const _CharT*) const throw () - { return 0; } - - - template - size_t - collate<_CharT>::_M_transform(_CharT*, const _CharT*, size_t) const throw () - { return 0; } - - template - int - collate<_CharT>:: - do_compare(const _CharT* __lo1, const _CharT* __hi1, - const _CharT* __lo2, const _CharT* __hi2) const - { - - - const string_type __one(__lo1, __hi1); - const string_type __two(__lo2, __hi2); - - const _CharT* __p = __one.c_str(); - const _CharT* __pend = __one.data() + __one.length(); - const _CharT* __q = __two.c_str(); - const _CharT* __qend = __two.data() + __two.length(); - - - - - for (;;) - { - const int __res = _M_compare(__p, __q); - if (__res) - return __res; - - __p += char_traits<_CharT>::length(__p); - __q += char_traits<_CharT>::length(__q); - if (__p == __pend && __q == __qend) - return 0; - else if (__p == __pend) - return -1; - else if (__q == __qend) - return 1; - - __p++; - __q++; - } - } - - template - typename collate<_CharT>::string_type - collate<_CharT>:: - do_transform(const _CharT* __lo, const _CharT* __hi) const - { - string_type __ret; - - - const string_type __str(__lo, __hi); - - const _CharT* __p = __str.c_str(); - const _CharT* __pend = __str.data() + __str.length(); - - size_t __len = (__hi - __lo) * 2; - - _CharT* __c = new _CharT[__len]; - - try - { - - - - for (;;) - { - - size_t __res = _M_transform(__c, __p, __len); - - - if (__res >= __len) - { - __len = __res + 1; - delete [] __c, __c = 0; - __c = new _CharT[__len]; - __res = _M_transform(__c, __p, __len); - } - - __ret.append(__c, __res); - __p += char_traits<_CharT>::length(__p); - if (__p == __pend) - break; - - __p++; - __ret.push_back(_CharT()); - } - } - catch(...) - { - delete [] __c; - throw; - } - - delete [] __c; - - return __ret; - } - - template - long - collate<_CharT>:: - do_hash(const _CharT* __lo, const _CharT* __hi) const - { - unsigned long __val = 0; - for (; __lo < __hi; ++__lo) - __val = - *__lo + ((__val << 7) - | (__val >> (__gnu_cxx::__numeric_traits:: - __digits - 7))); - return static_cast(__val); - } - - - - - extern template class collate; - extern template class collate_byname; - - extern template - const collate* - __try_use_facet >(const locale&) noexcept; - - extern template - const collate& - use_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - - extern template class collate; - extern template class collate_byname; - - extern template - const collate* - __try_use_facet >(const locale&) noexcept; - - extern template - const collate& - use_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - - - -} -# 884 "/usr/include/c++/14.1.1/bits/locale_classes.h" 2 3 -# 42 "/usr/include/c++/14.1.1/bits/ios_base.h" 2 3 - - - - -# 1 "/usr/include/c++/14.1.1/system_error" 1 3 -# 32 "/usr/include/c++/14.1.1/system_error" 3 - -# 33 "/usr/include/c++/14.1.1/system_error" 3 -# 41 "/usr/include/c++/14.1.1/system_error" 3 -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/error_constants.h" 1 3 -# 34 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/error_constants.h" 3 -# 1 "/usr/include/c++/14.1.1/cerrno" 1 3 -# 39 "/usr/include/c++/14.1.1/cerrno" 3 - -# 40 "/usr/include/c++/14.1.1/cerrno" 3 -# 35 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/error_constants.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - enum class errc - { - address_family_not_supported = 97, - address_in_use = 98, - address_not_available = 99, - already_connected = 106, - argument_list_too_long = 7, - argument_out_of_domain = 33, - bad_address = 14, - bad_file_descriptor = 9, - - - bad_message = 74, - - - broken_pipe = 32, - connection_aborted = 103, - connection_already_in_progress = 114, - connection_refused = 111, - connection_reset = 104, - cross_device_link = 18, - destination_address_required = 89, - device_or_resource_busy = 16, - directory_not_empty = 39, - executable_format_error = 8, - file_exists = 17, - file_too_large = 27, - filename_too_long = 36, - function_not_supported = 38, - host_unreachable = 113, - - - identifier_removed = 43, - - - illegal_byte_sequence = 84, - inappropriate_io_control_operation = 25, - interrupted = 4, - invalid_argument = 22, - invalid_seek = 29, - io_error = 5, - is_a_directory = 21, - message_size = 90, - network_down = 100, - network_reset = 102, - network_unreachable = 101, - no_buffer_space = 105, - no_child_process = 10, - - - no_link = 67, - - - no_lock_available = 37, - - - no_message_available = 61, - - - no_message = 42, - no_protocol_option = 92, - no_space_on_device = 28, - - - no_stream_resources = 63, - - - no_such_device_or_address = 6, - no_such_device = 19, - no_such_file_or_directory = 2, - no_such_process = 3, - not_a_directory = 20, - not_a_socket = 88, - - - not_a_stream = 60, - - - not_connected = 107, - not_enough_memory = 12, - - - not_supported = 95, - - - - operation_canceled = 125, - - - operation_in_progress = 115, - operation_not_permitted = 1, - operation_not_supported = 95, - operation_would_block = 11, - - - owner_dead = 130, - - - permission_denied = 13, - - - protocol_error = 71, - - - protocol_not_supported = 93, - read_only_file_system = 30, - resource_deadlock_would_occur = 35, - resource_unavailable_try_again = 11, - result_out_of_range = 34, - - - state_not_recoverable = 131, - - - - stream_timeout = 62, - - - - text_file_busy = 26, - - - timed_out = 110, - too_many_files_open_in_system = 23, - too_many_files_open = 24, - too_many_links = 31, - too_many_symbolic_link_levels = 40, - - - value_too_large = 75, - - - - - wrong_protocol_type = 91 - }; - - -} -# 42 "/usr/include/c++/14.1.1/system_error" 2 3 - -# 1 "/usr/include/c++/14.1.1/stdexcept" 1 3 -# 36 "/usr/include/c++/14.1.1/stdexcept" 3 - -# 37 "/usr/include/c++/14.1.1/stdexcept" 3 - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - struct __cow_string - { - union { - const char* _M_p; - char _M_bytes[sizeof(const char*)]; - }; - - __cow_string(); - __cow_string(const std::string&); - __cow_string(const char*, size_t); - __cow_string(const __cow_string&) noexcept; - __cow_string& operator=(const __cow_string&) noexcept; - ~__cow_string(); - - __cow_string(__cow_string&&) noexcept; - __cow_string& operator=(__cow_string&&) noexcept; - - }; - - typedef basic_string __sso_string; -# 113 "/usr/include/c++/14.1.1/stdexcept" 3 - class logic_error : public exception - { - __cow_string _M_msg; - - public: - - explicit - logic_error(const string& __arg) ; - - - explicit - logic_error(const char*) ; - - logic_error(logic_error&&) noexcept; - logic_error& operator=(logic_error&&) noexcept; - - - - logic_error(const logic_error&) noexcept; - logic_error& operator=(const logic_error&) noexcept; - - - - - - virtual ~logic_error() noexcept; - - - - virtual const char* - what() const noexcept; - - - - - - }; - - - - class domain_error : public logic_error - { - public: - explicit domain_error(const string& __arg) ; - - explicit domain_error(const char*) ; - domain_error(const domain_error&) = default; - domain_error& operator=(const domain_error&) = default; - domain_error(domain_error&&) = default; - domain_error& operator=(domain_error&&) = default; - - virtual ~domain_error() noexcept; - }; - - - class invalid_argument : public logic_error - { - public: - explicit invalid_argument(const string& __arg) ; - - explicit invalid_argument(const char*) ; - invalid_argument(const invalid_argument&) = default; - invalid_argument& operator=(const invalid_argument&) = default; - invalid_argument(invalid_argument&&) = default; - invalid_argument& operator=(invalid_argument&&) = default; - - virtual ~invalid_argument() noexcept; - }; - - - - class length_error : public logic_error - { - public: - explicit length_error(const string& __arg) ; - - explicit length_error(const char*) ; - length_error(const length_error&) = default; - length_error& operator=(const length_error&) = default; - length_error(length_error&&) = default; - length_error& operator=(length_error&&) = default; - - virtual ~length_error() noexcept; - }; - - - - class out_of_range : public logic_error - { - public: - explicit out_of_range(const string& __arg) ; - - explicit out_of_range(const char*) ; - out_of_range(const out_of_range&) = default; - out_of_range& operator=(const out_of_range&) = default; - out_of_range(out_of_range&&) = default; - out_of_range& operator=(out_of_range&&) = default; - - virtual ~out_of_range() noexcept; - }; - - - - - - - class runtime_error : public exception - { - __cow_string _M_msg; - - public: - - explicit - runtime_error(const string& __arg) ; - - - explicit - runtime_error(const char*) ; - - runtime_error(runtime_error&&) noexcept; - runtime_error& operator=(runtime_error&&) noexcept; - - - - runtime_error(const runtime_error&) noexcept; - runtime_error& operator=(const runtime_error&) noexcept; - - - - - - virtual ~runtime_error() noexcept; - - - - virtual const char* - what() const noexcept; - - - - - - }; - - - class range_error : public runtime_error - { - public: - explicit range_error(const string& __arg) ; - - explicit range_error(const char*) ; - range_error(const range_error&) = default; - range_error& operator=(const range_error&) = default; - range_error(range_error&&) = default; - range_error& operator=(range_error&&) = default; - - virtual ~range_error() noexcept; - }; - - - class overflow_error : public runtime_error - { - public: - explicit overflow_error(const string& __arg) ; - - explicit overflow_error(const char*) ; - overflow_error(const overflow_error&) = default; - overflow_error& operator=(const overflow_error&) = default; - overflow_error(overflow_error&&) = default; - overflow_error& operator=(overflow_error&&) = default; - - virtual ~overflow_error() noexcept; - }; - - - class underflow_error : public runtime_error - { - public: - explicit underflow_error(const string& __arg) ; - - explicit underflow_error(const char*) ; - underflow_error(const underflow_error&) = default; - underflow_error& operator=(const underflow_error&) = default; - underflow_error(underflow_error&&) = default; - underflow_error& operator=(underflow_error&&) = default; - - virtual ~underflow_error() noexcept; - }; - - - - -} -# 44 "/usr/include/c++/14.1.1/system_error" 2 3 - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - class error_code; - class error_condition; - class system_error; - - - template - struct is_error_code_enum : public false_type { }; - - - template - struct is_error_condition_enum : public false_type { }; - - template<> - struct is_error_condition_enum - : public true_type { }; - - - template - inline constexpr bool is_error_code_enum_v = - is_error_code_enum<_Tp>::value; - template - inline constexpr bool is_error_condition_enum_v = - is_error_condition_enum<_Tp>::value; - - - -inline namespace _V2 { -# 106 "/usr/include/c++/14.1.1/system_error" 3 - class error_category - { - public: - constexpr error_category() noexcept = default; - - virtual ~error_category(); - - error_category(const error_category&) = delete; - error_category& operator=(const error_category&) = delete; - - - virtual const char* - name() const noexcept = 0; - - - - - - - private: - __attribute ((__abi_tag__ ("cxx11"))) - virtual __cow_string - _M_message(int) const; - - public: - - __attribute ((__abi_tag__ ("cxx11"))) - virtual string - message(int) const = 0; -# 144 "/usr/include/c++/14.1.1/system_error" 3 - public: - - virtual error_condition - default_error_condition(int __i) const noexcept; - - - virtual bool - equivalent(int __i, const error_condition& __cond) const noexcept; - - - virtual bool - equivalent(const error_code& __code, int __i) const noexcept; - - - [[__nodiscard__]] - bool - operator==(const error_category& __other) const noexcept - { return this == &__other; } - - - - [[nodiscard]] - strong_ordering - operator<=>(const error_category& __rhs) const noexcept - { return std::compare_three_way()(this, &__rhs); } -# 178 "/usr/include/c++/14.1.1/system_error" 3 - }; - - - - - [[__nodiscard__, __gnu__::__const__]] - const error_category& - generic_category() noexcept; - - - [[__nodiscard__, __gnu__::__const__]] - const error_category& - system_category() noexcept; - - - -} - - - - - -namespace __adl_only -{ - void make_error_code() = delete; - void make_error_condition() = delete; -} -# 223 "/usr/include/c++/14.1.1/system_error" 3 - class error_code - { - template - using _Check - = __enable_if_t::value>; - - public: - error_code() noexcept - : _M_value(0), _M_cat(&system_category()) { } - - error_code(int __v, const error_category& __cat) noexcept - : _M_value(__v), _M_cat(&__cat) { } - - - template> - error_code(_ErrorCodeEnum __e) noexcept - { - using __adl_only::make_error_code; - *this = make_error_code(__e); - } - - error_code(const error_code&) = default; - error_code& operator=(const error_code&) = default; - - void - assign(int __v, const error_category& __cat) noexcept - { - _M_value = __v; - _M_cat = &__cat; - } - - void - clear() noexcept - { assign(0, system_category()); } - - - [[__nodiscard__]] - int - value() const noexcept { return _M_value; } - - - [[__nodiscard__]] - const error_category& - category() const noexcept { return *_M_cat; } - - - error_condition - default_error_condition() const noexcept; - - - __attribute ((__abi_tag__ ("cxx11"))) - string - message() const - { return category().message(value()); } - - - [[__nodiscard__]] - explicit operator bool() const noexcept - { return _M_value != 0; } - - - private: - int _M_value; - const error_category* _M_cat; - }; -# 300 "/usr/include/c++/14.1.1/system_error" 3 - [[__nodiscard__]] - inline error_code - make_error_code(errc __e) noexcept - { return error_code(static_cast(__e), generic_category()); } -# 314 "/usr/include/c++/14.1.1/system_error" 3 - [[nodiscard]] - inline strong_ordering - operator<=>(const error_code& __lhs, const error_code& __rhs) noexcept - { - if (auto __c = __lhs.category() <=> __rhs.category(); __c != 0) - return __c; - return __lhs.value() <=> __rhs.value(); - } -# 337 "/usr/include/c++/14.1.1/system_error" 3 - template - basic_ostream<_CharT, _Traits>& - operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e) - { return (__os << __e.category().name() << ':' << __e.value()); } -# 354 "/usr/include/c++/14.1.1/system_error" 3 - class error_condition - { - template - using _Check - = __enable_if_t::value>; - - public: - - error_condition() noexcept - : _M_value(0), _M_cat(&generic_category()) { } - - - error_condition(int __v, const error_category& __cat) noexcept - : _M_value(__v), _M_cat(&__cat) { } - - - template> - error_condition(_ErrorConditionEnum __e) noexcept - { - using __adl_only::make_error_condition; - *this = make_error_condition(__e); - } - - error_condition(const error_condition&) = default; - error_condition& operator=(const error_condition&) = default; - - - void - assign(int __v, const error_category& __cat) noexcept - { - _M_value = __v; - _M_cat = &__cat; - } - - - void - clear() noexcept - { assign(0, generic_category()); } - - - - - [[__nodiscard__]] - int - value() const noexcept { return _M_value; } - - - [[__nodiscard__]] - const error_category& - category() const noexcept { return *_M_cat; } - - - __attribute ((__abi_tag__ ("cxx11"))) - string - message() const - { return category().message(value()); } - - - [[__nodiscard__]] - explicit operator bool() const noexcept - { return _M_value != 0; } - - - private: - int _M_value; - const error_category* _M_cat; - }; -# 433 "/usr/include/c++/14.1.1/system_error" 3 - [[__nodiscard__]] - inline error_condition - make_error_condition(errc __e) noexcept - { return error_condition(static_cast(__e), generic_category()); } -# 447 "/usr/include/c++/14.1.1/system_error" 3 - [[__nodiscard__]] - inline bool - operator==(const error_code& __lhs, const error_code& __rhs) noexcept - { - return __lhs.category() == __rhs.category() - && __lhs.value() == __rhs.value(); - } -# 463 "/usr/include/c++/14.1.1/system_error" 3 - [[__nodiscard__]] - inline bool - operator==(const error_code& __lhs, const error_condition& __rhs) noexcept - { - return __lhs.category().equivalent(__lhs.value(), __rhs) - || __rhs.category().equivalent(__lhs, __rhs.value()); - } -# 478 "/usr/include/c++/14.1.1/system_error" 3 - [[__nodiscard__]] - inline bool - operator==(const error_condition& __lhs, - const error_condition& __rhs) noexcept - { - return __lhs.category() == __rhs.category() - && __lhs.value() == __rhs.value(); - } -# 496 "/usr/include/c++/14.1.1/system_error" 3 - [[nodiscard]] - inline strong_ordering - operator<=>(const error_condition& __lhs, - const error_condition& __rhs) noexcept - { - if (auto __c = __lhs.category() <=> __rhs.category(); __c != 0) - return __c; - return __lhs.value() <=> __rhs.value(); - } -# 556 "/usr/include/c++/14.1.1/system_error" 3 - class system_error : public std::runtime_error - { - private: - error_code _M_code; - - public: - system_error(error_code __ec = error_code()) - : runtime_error(__ec.message()), _M_code(__ec) { } - - system_error(error_code __ec, const string& __what) - : runtime_error(__what + (": " + __ec.message())), _M_code(__ec) { } - - system_error(error_code __ec, const char* __what) - : runtime_error(__what + (": " + __ec.message())), _M_code(__ec) { } - - system_error(int __v, const error_category& __ecat, const char* __what) - : system_error(error_code(__v, __ecat), __what) { } - - system_error(int __v, const error_category& __ecat) - : runtime_error(error_code(__v, __ecat).message()), - _M_code(__v, __ecat) { } - - system_error(int __v, const error_category& __ecat, const string& __what) - : runtime_error(__what + (": " + error_code(__v, __ecat).message())), - _M_code(__v, __ecat) { } - - - system_error (const system_error &) = default; - system_error &operator= (const system_error &) = default; - - - virtual ~system_error() noexcept; - - const error_code& - code() const noexcept { return _M_code; } - }; - - -} - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - template<> - struct hash - : public __hash_base - { - size_t - operator()(const error_code& __e) const noexcept - { - const size_t __tmp = std::_Hash_impl::hash(__e.value()); - return std::_Hash_impl::__hash_combine(&__e.category(), __tmp); - } - }; - - - - - - - template<> - struct hash - : public __hash_base - { - size_t - operator()(const error_condition& __e) const noexcept - { - const size_t __tmp = std::_Hash_impl::hash(__e.value()); - return std::_Hash_impl::__hash_combine(&__e.category(), __tmp); - } - }; - - - -} -# 47 "/usr/include/c++/14.1.1/bits/ios_base.h" 2 3 - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - enum _Ios_Fmtflags - { - _S_boolalpha = 1L << 0, - _S_dec = 1L << 1, - _S_fixed = 1L << 2, - _S_hex = 1L << 3, - _S_internal = 1L << 4, - _S_left = 1L << 5, - _S_oct = 1L << 6, - _S_right = 1L << 7, - _S_scientific = 1L << 8, - _S_showbase = 1L << 9, - _S_showpoint = 1L << 10, - _S_showpos = 1L << 11, - _S_skipws = 1L << 12, - _S_unitbuf = 1L << 13, - _S_uppercase = 1L << 14, - _S_adjustfield = _S_left | _S_right | _S_internal, - _S_basefield = _S_dec | _S_oct | _S_hex, - _S_floatfield = _S_scientific | _S_fixed, - _S_ios_fmtflags_end = 1L << 16, - _S_ios_fmtflags_max = 0x7fffffff, - _S_ios_fmtflags_min = ~0x7fffffff - }; - - [[__nodiscard__]] constexpr - inline _Ios_Fmtflags - operator&(_Ios_Fmtflags __a, _Ios_Fmtflags __b) noexcept - { return _Ios_Fmtflags(static_cast(__a) & static_cast(__b)); } - - [[__nodiscard__]] constexpr - inline _Ios_Fmtflags - operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b) noexcept - { return _Ios_Fmtflags(static_cast(__a) | static_cast(__b)); } - - [[__nodiscard__]] constexpr - inline _Ios_Fmtflags - operator^(_Ios_Fmtflags __a, _Ios_Fmtflags __b) noexcept - { return _Ios_Fmtflags(static_cast(__a) ^ static_cast(__b)); } - - [[__nodiscard__]] constexpr - inline _Ios_Fmtflags - operator~(_Ios_Fmtflags __a) noexcept - { return _Ios_Fmtflags(~static_cast(__a)); } - - constexpr - inline const _Ios_Fmtflags& - operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) noexcept - { return __a = __a | __b; } - - constexpr - inline const _Ios_Fmtflags& - operator&=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) noexcept - { return __a = __a & __b; } - - constexpr - inline const _Ios_Fmtflags& - operator^=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) noexcept - { return __a = __a ^ __b; } - - - enum _Ios_Openmode - { - _S_app = 1L << 0, - _S_ate = 1L << 1, - _S_bin = 1L << 2, - _S_in = 1L << 3, - _S_out = 1L << 4, - _S_trunc = 1L << 5, - _S_noreplace = 1L << 6, - _S_ios_openmode_end = 1L << 16, - _S_ios_openmode_max = 0x7fffffff, - _S_ios_openmode_min = ~0x7fffffff - }; - - [[__nodiscard__]] constexpr - inline _Ios_Openmode - operator&(_Ios_Openmode __a, _Ios_Openmode __b) noexcept - { return _Ios_Openmode(static_cast(__a) & static_cast(__b)); } - - [[__nodiscard__]] constexpr - inline _Ios_Openmode - operator|(_Ios_Openmode __a, _Ios_Openmode __b) noexcept - { return _Ios_Openmode(static_cast(__a) | static_cast(__b)); } - - [[__nodiscard__]] constexpr - inline _Ios_Openmode - operator^(_Ios_Openmode __a, _Ios_Openmode __b) noexcept - { return _Ios_Openmode(static_cast(__a) ^ static_cast(__b)); } - - [[__nodiscard__]] constexpr - inline _Ios_Openmode - operator~(_Ios_Openmode __a) noexcept - { return _Ios_Openmode(~static_cast(__a)); } - - constexpr - inline const _Ios_Openmode& - operator|=(_Ios_Openmode& __a, _Ios_Openmode __b) noexcept - { return __a = __a | __b; } - - constexpr - inline const _Ios_Openmode& - operator&=(_Ios_Openmode& __a, _Ios_Openmode __b) noexcept - { return __a = __a & __b; } - - constexpr - inline const _Ios_Openmode& - operator^=(_Ios_Openmode& __a, _Ios_Openmode __b) noexcept - { return __a = __a ^ __b; } - - - enum _Ios_Iostate - { - _S_goodbit = 0, - _S_badbit = 1L << 0, - _S_eofbit = 1L << 1, - _S_failbit = 1L << 2, - _S_ios_iostate_end = 1L << 16, - _S_ios_iostate_max = 0x7fffffff, - _S_ios_iostate_min = ~0x7fffffff - }; - - [[__nodiscard__]] constexpr - inline _Ios_Iostate - operator&(_Ios_Iostate __a, _Ios_Iostate __b) noexcept - { return _Ios_Iostate(static_cast(__a) & static_cast(__b)); } - - [[__nodiscard__]] constexpr - inline _Ios_Iostate - operator|(_Ios_Iostate __a, _Ios_Iostate __b) noexcept - { return _Ios_Iostate(static_cast(__a) | static_cast(__b)); } - - [[__nodiscard__]] constexpr - inline _Ios_Iostate - operator^(_Ios_Iostate __a, _Ios_Iostate __b) noexcept - { return _Ios_Iostate(static_cast(__a) ^ static_cast(__b)); } - - [[__nodiscard__]] constexpr - inline _Ios_Iostate - operator~(_Ios_Iostate __a) noexcept - { return _Ios_Iostate(~static_cast(__a)); } - - constexpr - inline const _Ios_Iostate& - operator|=(_Ios_Iostate& __a, _Ios_Iostate __b) noexcept - { return __a = __a | __b; } - - constexpr - inline const _Ios_Iostate& - operator&=(_Ios_Iostate& __a, _Ios_Iostate __b) noexcept - { return __a = __a & __b; } - - constexpr - inline const _Ios_Iostate& - operator^=(_Ios_Iostate& __a, _Ios_Iostate __b) noexcept - { return __a = __a ^ __b; } - - - enum _Ios_Seekdir - { - _S_beg = 0, - _S_cur = 1, - _S_end = 2, - _S_ios_seekdir_end = 1L << 16 - }; - - - - enum class io_errc { stream = 1 }; - - template <> struct is_error_code_enum : public true_type { }; - - [[__nodiscard__, __gnu__::__const__]] - const error_category& - iostream_category() noexcept; - - [[__nodiscard__]] - inline error_code - make_error_code(io_errc __e) noexcept - { return error_code(static_cast(__e), iostream_category()); } - - [[__nodiscard__]] - inline error_condition - make_error_condition(io_errc __e) noexcept - { return error_condition(static_cast(__e), iostream_category()); } -# 254 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - class ios_base - { -# 272 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - public: -# 281 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - class __attribute ((__abi_tag__ ("cxx11"))) failure : public system_error - { - public: - explicit - failure(const string& __str); - - - explicit - failure(const string&, const error_code&); - - explicit - failure(const char*, const error_code& = io_errc::stream); - - - virtual - ~failure() throw(); - - virtual const char* - what() const throw(); - }; -# 367 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - typedef _Ios_Fmtflags fmtflags; - - - static const fmtflags boolalpha = _S_boolalpha; - - - static const fmtflags dec = _S_dec; - - - static const fmtflags fixed = _S_fixed; - - - static const fmtflags hex = _S_hex; - - - - - static const fmtflags internal = _S_internal; - - - - static const fmtflags left = _S_left; - - - static const fmtflags oct = _S_oct; - - - - static const fmtflags right = _S_right; - - - static const fmtflags scientific = _S_scientific; - - - - static const fmtflags showbase = _S_showbase; - - - - static const fmtflags showpoint = _S_showpoint; - - - static const fmtflags showpos = _S_showpos; - - - static const fmtflags skipws = _S_skipws; - - - static const fmtflags unitbuf = _S_unitbuf; - - - - static const fmtflags uppercase = _S_uppercase; - - - static const fmtflags adjustfield = _S_adjustfield; - - - static const fmtflags basefield = _S_basefield; - - - static const fmtflags floatfield = _S_floatfield; -# 442 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - typedef _Ios_Iostate iostate; - - - - static const iostate badbit = _S_badbit; - - - static const iostate eofbit = _S_eofbit; - - - - - static const iostate failbit = _S_failbit; - - - static const iostate goodbit = _S_goodbit; -# 473 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - typedef _Ios_Openmode openmode; - - - static const openmode app = _S_app; - - - static const openmode ate = _S_ate; - - - - - static const openmode binary = _S_bin; - - - static const openmode in = _S_in; - - - static const openmode out = _S_out; - - - static const openmode trunc = _S_trunc; - - static const openmode __noreplace = _S_noreplace; -# 512 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - typedef _Ios_Seekdir seekdir; - - - static const seekdir beg = _S_beg; - - - static const seekdir cur = _S_cur; - - - static const seekdir end = _S_end; -# 545 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - enum event - { - erase_event, - imbue_event, - copyfmt_event - }; -# 562 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - typedef void (*event_callback) (event __e, ios_base& __b, int __i); -# 574 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - void - register_callback(event_callback __fn, int __index); - - protected: - streamsize _M_precision; - streamsize _M_width; - fmtflags _M_flags; - iostate _M_exception; - iostate _M_streambuf_state; - - - - struct _Callback_list - { - - _Callback_list* _M_next; - ios_base::event_callback _M_fn; - int _M_index; - _Atomic_word _M_refcount; - - _Callback_list(ios_base::event_callback __fn, int __index, - _Callback_list* __cb) - : _M_next(__cb), _M_fn(__fn), _M_index(__index), _M_refcount(0) { } - - void - _M_add_reference() { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } - - - int - _M_remove_reference() - { - - ; - int __res = __gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1); - if (__res == 0) - { - ; - } - return __res; - } - }; - - _Callback_list* _M_callbacks; - - void - _M_call_callbacks(event __ev) throw(); - - void - _M_dispose_callbacks(void) throw(); - - - struct _Words - { - void* _M_pword; - long _M_iword; - _Words() : _M_pword(0), _M_iword(0) { } - }; - - - _Words _M_word_zero; - - - - enum { _S_local_word_size = 8 }; - _Words _M_local_word[_S_local_word_size]; - - - int _M_word_size; - _Words* _M_word; - - _Words& - _M_grow_words(int __index, bool __iword); - - - locale _M_ios_locale; - - void - _M_init() throw(); - - public: - - - - - - class Init - { - friend class ios_base; - public: - Init(); - ~Init(); - - - Init(const Init&) = default; - Init& operator=(const Init&) = default; - - - private: - static _Atomic_word _S_refcount; - static bool _S_synced_with_stdio; - }; - - - - - - - fmtflags - flags() const - { return _M_flags; } -# 692 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - fmtflags - flags(fmtflags __fmtfl) - { - fmtflags __old = _M_flags; - _M_flags = __fmtfl; - return __old; - } -# 708 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - fmtflags - setf(fmtflags __fmtfl) - { - fmtflags __old = _M_flags; - _M_flags |= __fmtfl; - return __old; - } -# 725 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - fmtflags - setf(fmtflags __fmtfl, fmtflags __mask) - { - fmtflags __old = _M_flags; - _M_flags &= ~__mask; - _M_flags |= (__fmtfl & __mask); - return __old; - } - - - - - - - - void - unsetf(fmtflags __mask) - { _M_flags &= ~__mask; } -# 751 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - streamsize - precision() const - { return _M_precision; } - - - - - - - streamsize - precision(streamsize __prec) - { - streamsize __old = _M_precision; - _M_precision = __prec; - return __old; - } - - - - - - - - streamsize - width() const - { return _M_width; } - - - - - - - streamsize - width(streamsize __wide) - { - streamsize __old = _M_width; - _M_width = __wide; - return __old; - } -# 802 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - static bool - sync_with_stdio(bool __sync = true); -# 814 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - locale - imbue(const locale& __loc) throw(); -# 825 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - locale - getloc() const - { return _M_ios_locale; } -# 836 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - const locale& - _M_getloc() const - { return _M_ios_locale; } -# 855 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - static int - xalloc() throw(); -# 871 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - long& - iword(int __ix) - { - _Words& __word = ((unsigned)__ix < (unsigned)_M_word_size) - ? _M_word[__ix] : _M_grow_words(__ix, true); - return __word._M_iword; - } -# 892 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - void*& - pword(int __ix) - { - _Words& __word = ((unsigned)__ix < (unsigned)_M_word_size) - ? _M_word[__ix] : _M_grow_words(__ix, false); - return __word._M_pword; - } -# 909 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - virtual ~ios_base(); - - protected: - ios_base() throw (); -# 923 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - public: - ios_base(const ios_base&) = delete; - - ios_base& - operator=(const ios_base&) = delete; - - protected: - void - _M_move(ios_base&) noexcept; - - void - _M_swap(ios_base& __rhs) noexcept; - - }; - - - - inline ios_base& - boolalpha(ios_base& __base) - { - __base.setf(ios_base::boolalpha); - return __base; - } - - - inline ios_base& - noboolalpha(ios_base& __base) - { - __base.unsetf(ios_base::boolalpha); - return __base; - } - - - inline ios_base& - showbase(ios_base& __base) - { - __base.setf(ios_base::showbase); - return __base; - } - - - inline ios_base& - noshowbase(ios_base& __base) - { - __base.unsetf(ios_base::showbase); - return __base; - } - - - inline ios_base& - showpoint(ios_base& __base) - { - __base.setf(ios_base::showpoint); - return __base; - } - - - inline ios_base& - noshowpoint(ios_base& __base) - { - __base.unsetf(ios_base::showpoint); - return __base; - } - - - inline ios_base& - showpos(ios_base& __base) - { - __base.setf(ios_base::showpos); - return __base; - } - - - inline ios_base& - noshowpos(ios_base& __base) - { - __base.unsetf(ios_base::showpos); - return __base; - } - - - inline ios_base& - skipws(ios_base& __base) - { - __base.setf(ios_base::skipws); - return __base; - } - - - inline ios_base& - noskipws(ios_base& __base) - { - __base.unsetf(ios_base::skipws); - return __base; - } - - - inline ios_base& - uppercase(ios_base& __base) - { - __base.setf(ios_base::uppercase); - return __base; - } - - - inline ios_base& - nouppercase(ios_base& __base) - { - __base.unsetf(ios_base::uppercase); - return __base; - } - - - inline ios_base& - unitbuf(ios_base& __base) - { - __base.setf(ios_base::unitbuf); - return __base; - } - - - inline ios_base& - nounitbuf(ios_base& __base) - { - __base.unsetf(ios_base::unitbuf); - return __base; - } - - - - inline ios_base& - internal(ios_base& __base) - { - __base.setf(ios_base::internal, ios_base::adjustfield); - return __base; - } - - - inline ios_base& - left(ios_base& __base) - { - __base.setf(ios_base::left, ios_base::adjustfield); - return __base; - } - - - inline ios_base& - right(ios_base& __base) - { - __base.setf(ios_base::right, ios_base::adjustfield); - return __base; - } - - - - inline ios_base& - dec(ios_base& __base) - { - __base.setf(ios_base::dec, ios_base::basefield); - return __base; - } - - - inline ios_base& - hex(ios_base& __base) - { - __base.setf(ios_base::hex, ios_base::basefield); - return __base; - } - - - inline ios_base& - oct(ios_base& __base) - { - __base.setf(ios_base::oct, ios_base::basefield); - return __base; - } - - - - inline ios_base& - fixed(ios_base& __base) - { - __base.setf(ios_base::fixed, ios_base::floatfield); - return __base; - } - - - inline ios_base& - scientific(ios_base& __base) - { - __base.setf(ios_base::scientific, ios_base::floatfield); - return __base; - } - - - - - - - inline ios_base& - hexfloat(ios_base& __base) - { - __base.setf(ios_base::fixed | ios_base::scientific, ios_base::floatfield); - return __base; - } - - - inline ios_base& - defaultfloat(ios_base& __base) - { - __base.unsetf(ios_base::floatfield); - return __base; - } - - - -} -# 45 "/usr/include/c++/14.1.1/ios" 2 3 -# 1 "/usr/include/c++/14.1.1/streambuf" 1 3 -# 36 "/usr/include/c++/14.1.1/streambuf" 3 - -# 37 "/usr/include/c++/14.1.1/streambuf" 3 -# 47 "/usr/include/c++/14.1.1/streambuf" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - template - streamsize - __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>*, - basic_streambuf<_CharT, _Traits>*, bool&); -# 123 "/usr/include/c++/14.1.1/streambuf" 3 - template - class basic_streambuf - { - public: - - - - - - - typedef _CharT char_type; - typedef _Traits traits_type; - typedef typename traits_type::int_type int_type; - typedef typename traits_type::pos_type pos_type; - typedef typename traits_type::off_type off_type; - - - - - typedef basic_streambuf __streambuf_type; - - - friend class basic_ios; - friend class basic_istream; - friend class basic_ostream; - friend class istreambuf_iterator; - friend class ostreambuf_iterator; - - friend streamsize - __copy_streambufs_eof<>(basic_streambuf*, basic_streambuf*, bool&); - - template - friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, - _CharT2*>::__type - __copy_move_a2(istreambuf_iterator<_CharT2>, - istreambuf_iterator<_CharT2>, _CharT2*); - - template - friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, - istreambuf_iterator<_CharT2> >::__type - find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, - const _CharT2&); - - template - friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, - void>::__type - advance(istreambuf_iterator<_CharT2>&, _Distance); - - friend void __istream_extract(istream&, char*, streamsize); - - template - friend basic_istream<_CharT2, _Traits2>& - operator>>(basic_istream<_CharT2, _Traits2>&, - basic_string<_CharT2, _Traits2, _Alloc>&); - - template - friend basic_istream<_CharT2, _Traits2>& - getline(basic_istream<_CharT2, _Traits2>&, - basic_string<_CharT2, _Traits2, _Alloc>&, _CharT2); - - protected: - - - - - - - - char_type* _M_in_beg; - char_type* _M_in_cur; - char_type* _M_in_end; - char_type* _M_out_beg; - char_type* _M_out_cur; - char_type* _M_out_end; - - - locale _M_buf_locale; - - public: - - virtual - ~basic_streambuf() - { } -# 215 "/usr/include/c++/14.1.1/streambuf" 3 - locale - pubimbue(const locale& __loc) - { - locale __tmp(this->getloc()); - this->imbue(__loc); - _M_buf_locale = __loc; - return __tmp; - } -# 232 "/usr/include/c++/14.1.1/streambuf" 3 - locale - getloc() const - { return _M_buf_locale; } -# 245 "/usr/include/c++/14.1.1/streambuf" 3 - basic_streambuf* - pubsetbuf(char_type* __s, streamsize __n) - { return this->setbuf(__s, __n); } -# 257 "/usr/include/c++/14.1.1/streambuf" 3 - pos_type - pubseekoff(off_type __off, ios_base::seekdir __way, - ios_base::openmode __mode = ios_base::in | ios_base::out) - { return this->seekoff(__off, __way, __mode); } -# 269 "/usr/include/c++/14.1.1/streambuf" 3 - pos_type - pubseekpos(pos_type __sp, - ios_base::openmode __mode = ios_base::in | ios_base::out) - { return this->seekpos(__sp, __mode); } - - - - - int - pubsync() { return this->sync(); } -# 290 "/usr/include/c++/14.1.1/streambuf" 3 - streamsize - in_avail() - { - const streamsize __ret = this->egptr() - this->gptr(); - return __ret ? __ret : this->showmanyc(); - } -# 304 "/usr/include/c++/14.1.1/streambuf" 3 - int_type - snextc() - { - int_type __ret = traits_type::eof(); - if (__builtin_expect(!traits_type::eq_int_type(this->sbumpc(), - __ret), true)) - __ret = this->sgetc(); - return __ret; - } -# 322 "/usr/include/c++/14.1.1/streambuf" 3 - int_type - sbumpc() - { - int_type __ret; - if (__builtin_expect(this->gptr() < this->egptr(), true)) - { - __ret = traits_type::to_int_type(*this->gptr()); - this->gbump(1); - } - else - __ret = this->uflow(); - return __ret; - } -# 344 "/usr/include/c++/14.1.1/streambuf" 3 - int_type - sgetc() - { - int_type __ret; - if (__builtin_expect(this->gptr() < this->egptr(), true)) - __ret = traits_type::to_int_type(*this->gptr()); - else - __ret = this->underflow(); - return __ret; - } -# 363 "/usr/include/c++/14.1.1/streambuf" 3 - streamsize - sgetn(char_type* __s, streamsize __n) - { return this->xsgetn(__s, __n); } -# 378 "/usr/include/c++/14.1.1/streambuf" 3 - int_type - sputbackc(char_type __c) - { - int_type __ret; - const bool __testpos = this->eback() < this->gptr(); - if (__builtin_expect(!__testpos || - !traits_type::eq(__c, this->gptr()[-1]), false)) - __ret = this->pbackfail(traits_type::to_int_type(__c)); - else - { - this->gbump(-1); - __ret = traits_type::to_int_type(*this->gptr()); - } - return __ret; - } -# 403 "/usr/include/c++/14.1.1/streambuf" 3 - int_type - sungetc() - { - int_type __ret; - if (__builtin_expect(this->eback() < this->gptr(), true)) - { - this->gbump(-1); - __ret = traits_type::to_int_type(*this->gptr()); - } - else - __ret = this->pbackfail(); - return __ret; - } -# 430 "/usr/include/c++/14.1.1/streambuf" 3 - int_type - sputc(char_type __c) - { - int_type __ret; - if (__builtin_expect(this->pptr() < this->epptr(), true)) - { - *this->pptr() = __c; - this->pbump(1); - __ret = traits_type::to_int_type(__c); - } - else - __ret = this->overflow(traits_type::to_int_type(__c)); - return __ret; - } -# 456 "/usr/include/c++/14.1.1/streambuf" 3 - streamsize - sputn(const char_type* __s, streamsize __n) - { return this->xsputn(__s, __n); } - - protected: -# 470 "/usr/include/c++/14.1.1/streambuf" 3 - basic_streambuf() - : _M_in_beg(0), _M_in_cur(0), _M_in_end(0), - _M_out_beg(0), _M_out_cur(0), _M_out_end(0), - _M_buf_locale(locale()) - { } -# 488 "/usr/include/c++/14.1.1/streambuf" 3 - char_type* - eback() const { return _M_in_beg; } - - char_type* - gptr() const { return _M_in_cur; } - - char_type* - egptr() const { return _M_in_end; } -# 504 "/usr/include/c++/14.1.1/streambuf" 3 - void - gbump(int __n) { _M_in_cur += __n; } -# 515 "/usr/include/c++/14.1.1/streambuf" 3 - void - setg(char_type* __gbeg, char_type* __gnext, char_type* __gend) - { - _M_in_beg = __gbeg; - _M_in_cur = __gnext; - _M_in_end = __gend; - } -# 535 "/usr/include/c++/14.1.1/streambuf" 3 - char_type* - pbase() const { return _M_out_beg; } - - char_type* - pptr() const { return _M_out_cur; } - - char_type* - epptr() const { return _M_out_end; } -# 551 "/usr/include/c++/14.1.1/streambuf" 3 - void - pbump(int __n) { _M_out_cur += __n; } -# 561 "/usr/include/c++/14.1.1/streambuf" 3 - void - setp(char_type* __pbeg, char_type* __pend) - { - _M_out_beg = _M_out_cur = __pbeg; - _M_out_end = __pend; - } -# 582 "/usr/include/c++/14.1.1/streambuf" 3 - virtual void - imbue(const locale& __loc __attribute__ ((__unused__))) - { } -# 597 "/usr/include/c++/14.1.1/streambuf" 3 - virtual basic_streambuf* - setbuf(char_type*, streamsize) - { return this; } -# 608 "/usr/include/c++/14.1.1/streambuf" 3 - virtual pos_type - seekoff(off_type, ios_base::seekdir, - ios_base::openmode = ios_base::in | ios_base::out) - { return pos_type(off_type(-1)); } -# 620 "/usr/include/c++/14.1.1/streambuf" 3 - virtual pos_type - seekpos(pos_type, - ios_base::openmode = ios_base::in | ios_base::out) - { return pos_type(off_type(-1)); } -# 633 "/usr/include/c++/14.1.1/streambuf" 3 - virtual int - sync() { return 0; } -# 655 "/usr/include/c++/14.1.1/streambuf" 3 - virtual streamsize - showmanyc() { return 0; } -# 671 "/usr/include/c++/14.1.1/streambuf" 3 - virtual streamsize - xsgetn(char_type* __s, streamsize __n); -# 693 "/usr/include/c++/14.1.1/streambuf" 3 - virtual int_type - underflow() - { return traits_type::eof(); } -# 706 "/usr/include/c++/14.1.1/streambuf" 3 - virtual int_type - uflow() - { - int_type __ret = traits_type::eof(); - const bool __testeof = traits_type::eq_int_type(this->underflow(), - __ret); - if (!__testeof) - { - __ret = traits_type::to_int_type(*this->gptr()); - this->gbump(1); - } - return __ret; - } -# 730 "/usr/include/c++/14.1.1/streambuf" 3 - virtual int_type - pbackfail(int_type __c __attribute__ ((__unused__)) = traits_type::eof()) - { return traits_type::eof(); } -# 748 "/usr/include/c++/14.1.1/streambuf" 3 - virtual streamsize - xsputn(const char_type* __s, streamsize __n); -# 774 "/usr/include/c++/14.1.1/streambuf" 3 - virtual int_type - overflow(int_type __c __attribute__ ((__unused__)) = traits_type::eof()) - { return traits_type::eof(); } -# 801 "/usr/include/c++/14.1.1/streambuf" 3 - void - __safe_gbump(streamsize __n) { _M_in_cur += __n; } - - void - __safe_pbump(streamsize __n) { _M_out_cur += __n; } - - - - - protected: - - basic_streambuf(const basic_streambuf&); - - basic_streambuf& - operator=(const basic_streambuf&); - - - void - swap(basic_streambuf& __sb) - { - std::swap(_M_in_beg, __sb._M_in_beg); - std::swap(_M_in_cur, __sb._M_in_cur); - std::swap(_M_in_end, __sb._M_in_end); - std::swap(_M_out_beg, __sb._M_out_beg); - std::swap(_M_out_cur, __sb._M_out_cur); - std::swap(_M_out_end, __sb._M_out_end); - std::swap(_M_buf_locale, __sb._M_buf_locale); - } - - }; - - - template - std::basic_streambuf<_CharT, _Traits>:: - basic_streambuf(const basic_streambuf&) = default; - - template - std::basic_streambuf<_CharT, _Traits>& - std::basic_streambuf<_CharT, _Traits>:: - operator=(const basic_streambuf&) = default; - - - - template<> - streamsize - __copy_streambufs_eof(basic_streambuf* __sbin, - basic_streambuf* __sbout, bool& __ineof); - - template<> - streamsize - __copy_streambufs_eof(basic_streambuf* __sbin, - basic_streambuf* __sbout, bool& __ineof); - - - - - -} - -# 1 "/usr/include/c++/14.1.1/bits/streambuf.tcc" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/streambuf.tcc" 3 - -# 38 "/usr/include/c++/14.1.1/bits/streambuf.tcc" 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - streamsize - basic_streambuf<_CharT, _Traits>:: - xsgetn(char_type* __s, streamsize __n) - { - streamsize __ret = 0; - while (__ret < __n) - { - const streamsize __buf_len = this->egptr() - this->gptr(); - if (__buf_len) - { - const streamsize __remaining = __n - __ret; - const streamsize __len = std::min(__buf_len, __remaining); - traits_type::copy(__s, this->gptr(), __len); - __ret += __len; - __s += __len; - this->__safe_gbump(__len); - } - - if (__ret < __n) - { - const int_type __c = this->uflow(); - if (!traits_type::eq_int_type(__c, traits_type::eof())) - { - traits_type::assign(*__s++, traits_type::to_char_type(__c)); - ++__ret; - } - else - break; - } - } - return __ret; - } - - template - streamsize - basic_streambuf<_CharT, _Traits>:: - xsputn(const char_type* __s, streamsize __n) - { - streamsize __ret = 0; - while (__ret < __n) - { - const streamsize __buf_len = this->epptr() - this->pptr(); - if (__buf_len) - { - const streamsize __remaining = __n - __ret; - const streamsize __len = std::min(__buf_len, __remaining); - traits_type::copy(this->pptr(), __s, __len); - __ret += __len; - __s += __len; - this->__safe_pbump(__len); - } - - if (__ret < __n) - { - int_type __c = this->overflow(traits_type::to_int_type(*__s)); - if (!traits_type::eq_int_type(__c, traits_type::eof())) - { - ++__ret; - ++__s; - } - else - break; - } - } - return __ret; - } - - - - - template - streamsize - __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>* __sbin, - basic_streambuf<_CharT, _Traits>* __sbout, - bool& __ineof) - { - streamsize __ret = 0; - __ineof = true; - typename _Traits::int_type __c = __sbin->sgetc(); - while (!_Traits::eq_int_type(__c, _Traits::eof())) - { - __c = __sbout->sputc(_Traits::to_char_type(__c)); - if (_Traits::eq_int_type(__c, _Traits::eof())) - { - __ineof = false; - break; - } - ++__ret; - __c = __sbin->snextc(); - } - return __ret; - } - - template - inline streamsize - __copy_streambufs(basic_streambuf<_CharT, _Traits>* __sbin, - basic_streambuf<_CharT, _Traits>* __sbout) - { - bool __ineof; - return __copy_streambufs_eof(__sbin, __sbout, __ineof); - } - - - - - extern template class basic_streambuf; - - extern template - streamsize - __copy_streambufs(basic_streambuf*, - basic_streambuf*); - - - extern template class basic_streambuf; - - extern template - streamsize - __copy_streambufs(basic_streambuf*, - basic_streambuf*); - - - - -} -# 861 "/usr/include/c++/14.1.1/streambuf" 2 3 -# 46 "/usr/include/c++/14.1.1/ios" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/basic_ios.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - - - -# 1 "/usr/include/c++/14.1.1/bits/locale_facets.h" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - -# 38 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - -# 1 "/usr/include/c++/14.1.1/cwctype" 1 3 -# 39 "/usr/include/c++/14.1.1/cwctype" 3 - -# 40 "/usr/include/c++/14.1.1/cwctype" 3 -# 50 "/usr/include/c++/14.1.1/cwctype" 3 -# 1 "/usr/include/wctype.h" 1 3 4 -# 38 "/usr/include/wctype.h" 3 4 -# 1 "/usr/include/bits/wctype-wchar.h" 1 3 4 -# 38 "/usr/include/bits/wctype-wchar.h" 3 4 -typedef unsigned long int wctype_t; -# 56 "/usr/include/bits/wctype-wchar.h" 3 4 -enum -{ - __ISwupper = 0, - __ISwlower = 1, - __ISwalpha = 2, - __ISwdigit = 3, - __ISwxdigit = 4, - __ISwspace = 5, - __ISwprint = 6, - __ISwgraph = 7, - __ISwblank = 8, - __ISwcntrl = 9, - __ISwpunct = 10, - __ISwalnum = 11, - - _ISwupper = ((__ISwupper) < 8 ? (int) ((1UL << (__ISwupper)) << 24) : ((__ISwupper) < 16 ? (int) ((1UL << (__ISwupper)) << 8) : ((__ISwupper) < 24 ? (int) ((1UL << (__ISwupper)) >> 8) : (int) ((1UL << (__ISwupper)) >> 24)))), - _ISwlower = ((__ISwlower) < 8 ? (int) ((1UL << (__ISwlower)) << 24) : ((__ISwlower) < 16 ? (int) ((1UL << (__ISwlower)) << 8) : ((__ISwlower) < 24 ? (int) ((1UL << (__ISwlower)) >> 8) : (int) ((1UL << (__ISwlower)) >> 24)))), - _ISwalpha = ((__ISwalpha) < 8 ? (int) ((1UL << (__ISwalpha)) << 24) : ((__ISwalpha) < 16 ? (int) ((1UL << (__ISwalpha)) << 8) : ((__ISwalpha) < 24 ? (int) ((1UL << (__ISwalpha)) >> 8) : (int) ((1UL << (__ISwalpha)) >> 24)))), - _ISwdigit = ((__ISwdigit) < 8 ? (int) ((1UL << (__ISwdigit)) << 24) : ((__ISwdigit) < 16 ? (int) ((1UL << (__ISwdigit)) << 8) : ((__ISwdigit) < 24 ? (int) ((1UL << (__ISwdigit)) >> 8) : (int) ((1UL << (__ISwdigit)) >> 24)))), - _ISwxdigit = ((__ISwxdigit) < 8 ? (int) ((1UL << (__ISwxdigit)) << 24) : ((__ISwxdigit) < 16 ? (int) ((1UL << (__ISwxdigit)) << 8) : ((__ISwxdigit) < 24 ? (int) ((1UL << (__ISwxdigit)) >> 8) : (int) ((1UL << (__ISwxdigit)) >> 24)))), - _ISwspace = ((__ISwspace) < 8 ? (int) ((1UL << (__ISwspace)) << 24) : ((__ISwspace) < 16 ? (int) ((1UL << (__ISwspace)) << 8) : ((__ISwspace) < 24 ? (int) ((1UL << (__ISwspace)) >> 8) : (int) ((1UL << (__ISwspace)) >> 24)))), - _ISwprint = ((__ISwprint) < 8 ? (int) ((1UL << (__ISwprint)) << 24) : ((__ISwprint) < 16 ? (int) ((1UL << (__ISwprint)) << 8) : ((__ISwprint) < 24 ? (int) ((1UL << (__ISwprint)) >> 8) : (int) ((1UL << (__ISwprint)) >> 24)))), - _ISwgraph = ((__ISwgraph) < 8 ? (int) ((1UL << (__ISwgraph)) << 24) : ((__ISwgraph) < 16 ? (int) ((1UL << (__ISwgraph)) << 8) : ((__ISwgraph) < 24 ? (int) ((1UL << (__ISwgraph)) >> 8) : (int) ((1UL << (__ISwgraph)) >> 24)))), - _ISwblank = ((__ISwblank) < 8 ? (int) ((1UL << (__ISwblank)) << 24) : ((__ISwblank) < 16 ? (int) ((1UL << (__ISwblank)) << 8) : ((__ISwblank) < 24 ? (int) ((1UL << (__ISwblank)) >> 8) : (int) ((1UL << (__ISwblank)) >> 24)))), - _ISwcntrl = ((__ISwcntrl) < 8 ? (int) ((1UL << (__ISwcntrl)) << 24) : ((__ISwcntrl) < 16 ? (int) ((1UL << (__ISwcntrl)) << 8) : ((__ISwcntrl) < 24 ? (int) ((1UL << (__ISwcntrl)) >> 8) : (int) ((1UL << (__ISwcntrl)) >> 24)))), - _ISwpunct = ((__ISwpunct) < 8 ? (int) ((1UL << (__ISwpunct)) << 24) : ((__ISwpunct) < 16 ? (int) ((1UL << (__ISwpunct)) << 8) : ((__ISwpunct) < 24 ? (int) ((1UL << (__ISwpunct)) >> 8) : (int) ((1UL << (__ISwpunct)) >> 24)))), - _ISwalnum = ((__ISwalnum) < 8 ? (int) ((1UL << (__ISwalnum)) << 24) : ((__ISwalnum) < 16 ? (int) ((1UL << (__ISwalnum)) << 8) : ((__ISwalnum) < 24 ? (int) ((1UL << (__ISwalnum)) >> 8) : (int) ((1UL << (__ISwalnum)) >> 24)))) -}; - - - -extern "C" { - - - - - - - -extern int iswalnum (wint_t __wc) noexcept (true); - - - - - -extern int iswalpha (wint_t __wc) noexcept (true); - - -extern int iswcntrl (wint_t __wc) noexcept (true); - - - -extern int iswdigit (wint_t __wc) noexcept (true); - - - -extern int iswgraph (wint_t __wc) noexcept (true); - - - - -extern int iswlower (wint_t __wc) noexcept (true); - - -extern int iswprint (wint_t __wc) noexcept (true); - - - - -extern int iswpunct (wint_t __wc) noexcept (true); - - - - -extern int iswspace (wint_t __wc) noexcept (true); - - - - -extern int iswupper (wint_t __wc) noexcept (true); - - - - -extern int iswxdigit (wint_t __wc) noexcept (true); - - - - - -extern int iswblank (wint_t __wc) noexcept (true); -# 155 "/usr/include/bits/wctype-wchar.h" 3 4 -extern wctype_t wctype (const char *__property) noexcept (true); - - - -extern int iswctype (wint_t __wc, wctype_t __desc) noexcept (true); - - - - - - -extern wint_t towlower (wint_t __wc) noexcept (true); - - -extern wint_t towupper (wint_t __wc) noexcept (true); - -} -# 39 "/usr/include/wctype.h" 2 3 4 - - - - - -extern "C" { - - - -typedef const __int32_t *wctrans_t; - - - -extern wctrans_t wctrans (const char *__property) noexcept (true); - - -extern wint_t towctrans (wint_t __wc, wctrans_t __desc) noexcept (true); - - - - - - - -extern int iswalnum_l (wint_t __wc, locale_t __locale) noexcept (true); - - - - - -extern int iswalpha_l (wint_t __wc, locale_t __locale) noexcept (true); - - -extern int iswcntrl_l (wint_t __wc, locale_t __locale) noexcept (true); - - - -extern int iswdigit_l (wint_t __wc, locale_t __locale) noexcept (true); - - - -extern int iswgraph_l (wint_t __wc, locale_t __locale) noexcept (true); - - - - -extern int iswlower_l (wint_t __wc, locale_t __locale) noexcept (true); - - -extern int iswprint_l (wint_t __wc, locale_t __locale) noexcept (true); - - - - -extern int iswpunct_l (wint_t __wc, locale_t __locale) noexcept (true); - - - - -extern int iswspace_l (wint_t __wc, locale_t __locale) noexcept (true); - - - - -extern int iswupper_l (wint_t __wc, locale_t __locale) noexcept (true); - - - - -extern int iswxdigit_l (wint_t __wc, locale_t __locale) noexcept (true); - - - - -extern int iswblank_l (wint_t __wc, locale_t __locale) noexcept (true); - - - -extern wctype_t wctype_l (const char *__property, locale_t __locale) - noexcept (true); - - - -extern int iswctype_l (wint_t __wc, wctype_t __desc, locale_t __locale) - noexcept (true); - - - - - - -extern wint_t towlower_l (wint_t __wc, locale_t __locale) noexcept (true); - - -extern wint_t towupper_l (wint_t __wc, locale_t __locale) noexcept (true); - - - -extern wctrans_t wctrans_l (const char *__property, locale_t __locale) - noexcept (true); - - -extern wint_t towctrans_l (wint_t __wc, wctrans_t __desc, - locale_t __locale) noexcept (true); - - - -} -# 51 "/usr/include/c++/14.1.1/cwctype" 2 3 -# 80 "/usr/include/c++/14.1.1/cwctype" 3 -namespace std -{ - using ::wctrans_t; - using ::wctype_t; - using ::wint_t; - - using ::iswalnum; - using ::iswalpha; - - using ::iswblank; - - using ::iswcntrl; - using ::iswctype; - using ::iswdigit; - using ::iswgraph; - using ::iswlower; - using ::iswprint; - using ::iswpunct; - using ::iswspace; - using ::iswupper; - using ::iswxdigit; - using ::towctrans; - using ::towlower; - using ::towupper; - using ::wctrans; - using ::wctype; -} -# 40 "/usr/include/c++/14.1.1/bits/locale_facets.h" 2 3 -# 1 "/usr/include/c++/14.1.1/cctype" 1 3 -# 39 "/usr/include/c++/14.1.1/cctype" 3 - -# 40 "/usr/include/c++/14.1.1/cctype" 3 -# 41 "/usr/include/c++/14.1.1/bits/locale_facets.h" 2 3 -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/ctype_base.h" 1 3 -# 36 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/ctype_base.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - struct ctype_base - { - - typedef const int* __to_type; - - - - typedef unsigned short mask; - static const mask upper = _ISupper; - static const mask lower = _ISlower; - static const mask alpha = _ISalpha; - static const mask digit = _ISdigit; - static const mask xdigit = _ISxdigit; - static const mask space = _ISspace; - static const mask print = _ISprint; - static const mask graph = _ISalpha | _ISdigit | _ISpunct; - static const mask cntrl = _IScntrl; - static const mask punct = _ISpunct; - static const mask alnum = _ISalpha | _ISdigit; - - static const mask blank = _ISblank; - - }; - - -} -# 42 "/usr/include/c++/14.1.1/bits/locale_facets.h" 2 3 - - - - - - -# 1 "/usr/include/c++/14.1.1/bits/streambuf_iterator.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/streambuf_iterator.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/streambuf_iterator.h" 3 - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - - - -# 49 "/usr/include/c++/14.1.1/bits/streambuf_iterator.h" 3 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - - - template - class istreambuf_iterator - : public iterator - { - public: -# 67 "/usr/include/c++/14.1.1/bits/streambuf_iterator.h" 3 - using pointer = void; - - - typedef _CharT char_type; - typedef _Traits traits_type; - typedef typename _Traits::int_type int_type; - typedef basic_streambuf<_CharT, _Traits> streambuf_type; - typedef basic_istream<_CharT, _Traits> istream_type; - - - template - friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, - ostreambuf_iterator<_CharT2> >::__type - copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, - ostreambuf_iterator<_CharT2>); - - template - friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, - _CharT2*>::__type - __copy_move_a2(istreambuf_iterator<_CharT2>, - istreambuf_iterator<_CharT2>, _CharT2*); - - template - friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, - _CharT2*>::__type - __copy_n_a(istreambuf_iterator<_CharT2>, _Size, _CharT2*, bool); - - template - friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, - istreambuf_iterator<_CharT2> >::__type - find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, - const _CharT2&); - - template - friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, - void>::__type - advance(istreambuf_iterator<_CharT2>&, _Distance); - - private: - - - - - - - - mutable streambuf_type* _M_sbuf; - int_type _M_c; - - public: - - constexpr istreambuf_iterator() noexcept - : _M_sbuf(0), _M_c(traits_type::eof()) { } - - - constexpr istreambuf_iterator(default_sentinel_t) noexcept - : istreambuf_iterator() { } - - - - istreambuf_iterator(const istreambuf_iterator&) noexcept = default; - - ~istreambuf_iterator() = default; - - - - istreambuf_iterator(istream_type& __s) noexcept - : _M_sbuf(__s.rdbuf()), _M_c(traits_type::eof()) { } - - - istreambuf_iterator(streambuf_type* __s) noexcept - : _M_sbuf(__s), _M_c(traits_type::eof()) { } - - - istreambuf_iterator& - operator=(const istreambuf_iterator&) noexcept = default; - - - - - - [[__nodiscard__]] - char_type - operator*() const - { - int_type __c = _M_get(); -# 161 "/usr/include/c++/14.1.1/bits/streambuf_iterator.h" 3 - return traits_type::to_char_type(__c); - } - - - istreambuf_iterator& - operator++() - { - - - - ; - - _M_sbuf->sbumpc(); - _M_c = traits_type::eof(); - return *this; - } - - - istreambuf_iterator - operator++(int) - { - - - - ; - - istreambuf_iterator __old = *this; - __old._M_c = _M_sbuf->sbumpc(); - _M_c = traits_type::eof(); - return __old; - } - - - - - - [[__nodiscard__]] - bool - equal(const istreambuf_iterator& __b) const - { return _M_at_eof() == __b._M_at_eof(); } - - private: - int_type - _M_get() const - { - int_type __ret = _M_c; - if (_M_sbuf && _S_is_eof(__ret) && _S_is_eof(__ret = _M_sbuf->sgetc())) - _M_sbuf = 0; - return __ret; - } - - bool - _M_at_eof() const - { return _S_is_eof(_M_get()); } - - static bool - _S_is_eof(int_type __c) - { - const int_type __eof = traits_type::eof(); - return traits_type::eq_int_type(__c, __eof); - } - - - [[nodiscard]] - friend bool - operator==(const istreambuf_iterator& __i, default_sentinel_t) - { return __i._M_at_eof(); } - - }; - - template - [[__nodiscard__]] - inline bool - operator==(const istreambuf_iterator<_CharT, _Traits>& __a, - const istreambuf_iterator<_CharT, _Traits>& __b) - { return __a.equal(__b); } -# 248 "/usr/include/c++/14.1.1/bits/streambuf_iterator.h" 3 - template - class ostreambuf_iterator - : public iterator - { - public: - - - - - using difference_type = ptrdiff_t; - - typedef _CharT char_type; - typedef _Traits traits_type; - typedef basic_streambuf<_CharT, _Traits> streambuf_type; - typedef basic_ostream<_CharT, _Traits> ostream_type; - - - template - friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, - ostreambuf_iterator<_CharT2> >::__type - copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, - ostreambuf_iterator<_CharT2>); - - private: - streambuf_type* _M_sbuf; - bool _M_failed; - - public: - - - constexpr - ostreambuf_iterator() noexcept - : _M_sbuf(nullptr), _M_failed(true) { } - - - - ostreambuf_iterator(ostream_type& __s) noexcept - : _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { } - - - ostreambuf_iterator(streambuf_type* __s) noexcept - : _M_sbuf(__s), _M_failed(!_M_sbuf) { } - - - ostreambuf_iterator& - operator=(_CharT __c) - { - if (!_M_failed && - _Traits::eq_int_type(_M_sbuf->sputc(__c), _Traits::eof())) - _M_failed = true; - return *this; - } - - - [[__nodiscard__]] - ostreambuf_iterator& - operator*() - { return *this; } - - - ostreambuf_iterator& - operator++(int) - { return *this; } - - - ostreambuf_iterator& - operator++() - { return *this; } - - - [[__nodiscard__]] - bool - failed() const noexcept - { return _M_failed; } - - ostreambuf_iterator& - _M_put(const _CharT* __ws, streamsize __len) - { - if (__builtin_expect(!_M_failed, true) - && __builtin_expect(this->_M_sbuf->sputn(__ws, __len) != __len, - false)) - _M_failed = true; - return *this; - } - }; -#pragma GCC diagnostic pop - - - template - typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, - ostreambuf_iterator<_CharT> >::__type - copy(istreambuf_iterator<_CharT> __first, - istreambuf_iterator<_CharT> __last, - ostreambuf_iterator<_CharT> __result) - { - if (__first._M_sbuf && !__last._M_sbuf && !__result._M_failed) - { - bool __ineof; - __copy_streambufs_eof(__first._M_sbuf, __result._M_sbuf, __ineof); - if (!__ineof) - __result._M_failed = true; - } - return __result; - } - - template - typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, - ostreambuf_iterator<_CharT> >::__type - __copy_move_a2(_CharT* __first, _CharT* __last, - ostreambuf_iterator<_CharT> __result) - { - const streamsize __num = __last - __first; - if (__num > 0) - __result._M_put(__first, __num); - return __result; - } - - template - typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, - ostreambuf_iterator<_CharT> >::__type - __copy_move_a2(const _CharT* __first, const _CharT* __last, - ostreambuf_iterator<_CharT> __result) - { - const streamsize __num = __last - __first; - if (__num > 0) - __result._M_put(__first, __num); - return __result; - } - - template - typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, - _CharT*>::__type - __copy_move_a2(istreambuf_iterator<_CharT> __first, - istreambuf_iterator<_CharT> __last, _CharT* __result) - { - typedef istreambuf_iterator<_CharT> __is_iterator_type; - typedef typename __is_iterator_type::traits_type traits_type; - typedef typename __is_iterator_type::streambuf_type streambuf_type; - typedef typename traits_type::int_type int_type; - - if (__first._M_sbuf && !__last._M_sbuf) - { - streambuf_type* __sb = __first._M_sbuf; - int_type __c = __sb->sgetc(); - while (!traits_type::eq_int_type(__c, traits_type::eof())) - { - const streamsize __n = __sb->egptr() - __sb->gptr(); - if (__n > 1) - { - traits_type::copy(__result, __sb->gptr(), __n); - __sb->__safe_gbump(__n); - __result += __n; - __c = __sb->underflow(); - } - else - { - *__result++ = traits_type::to_char_type(__c); - __c = __sb->snextc(); - } - } - } - return __result; - } - - template - typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, - _CharT*>::__type - __copy_n_a(istreambuf_iterator<_CharT> __it, _Size __n, _CharT* __result, - bool __strict __attribute__((__unused__))) - { - if (__n == 0) - return __result; - - - - ; - _CharT* __beg = __result; - __result += __it._M_sbuf->sgetn(__beg, __n); - - - ; - return __result; - } - - template - typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, - istreambuf_iterator<_CharT> >::__type - find(istreambuf_iterator<_CharT> __first, - istreambuf_iterator<_CharT> __last, const _CharT& __val) - { - typedef istreambuf_iterator<_CharT> __is_iterator_type; - typedef typename __is_iterator_type::traits_type traits_type; - typedef typename __is_iterator_type::streambuf_type streambuf_type; - typedef typename traits_type::int_type int_type; - const int_type __eof = traits_type::eof(); - - if (__first._M_sbuf && !__last._M_sbuf) - { - const int_type __ival = traits_type::to_int_type(__val); - streambuf_type* __sb = __first._M_sbuf; - int_type __c = __sb->sgetc(); - while (!traits_type::eq_int_type(__c, __eof) - && !traits_type::eq_int_type(__c, __ival)) - { - streamsize __n = __sb->egptr() - __sb->gptr(); - if (__n > 1) - { - const _CharT* __p = traits_type::find(__sb->gptr(), - __n, __val); - if (__p) - __n = __p - __sb->gptr(); - __sb->__safe_gbump(__n); - __c = __sb->sgetc(); - } - else - __c = __sb->snextc(); - } - - __first._M_c = __eof; - } - - return __first; - } - - template - typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, - void>::__type - advance(istreambuf_iterator<_CharT>& __i, _Distance __n) - { - if (__n == 0) - return; - - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__n > 0), false)) std::__glibcxx_assert_fail(); } while (false); - - - ; - - typedef istreambuf_iterator<_CharT> __is_iterator_type; - typedef typename __is_iterator_type::traits_type traits_type; - typedef typename __is_iterator_type::streambuf_type streambuf_type; - typedef typename traits_type::int_type int_type; - const int_type __eof = traits_type::eof(); - - streambuf_type* __sb = __i._M_sbuf; - while (__n > 0) - { - streamsize __size = __sb->egptr() - __sb->gptr(); - if (__size > __n) - { - __sb->__safe_gbump(__n); - break; - } - - __sb->__safe_gbump(__size); - __n -= __size; - if (traits_type::eq_int_type(__sb->underflow(), __eof)) - { - - - ; - break; - } - } - - __i._M_c = __eof; - } - - - - -} -# 49 "/usr/include/c++/14.1.1/bits/locale_facets.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 74 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - template - void - __convert_to_v(const char*, _Tp&, ios_base::iostate&, - const __c_locale&) throw(); - - - template<> - void - __convert_to_v(const char*, float&, ios_base::iostate&, - const __c_locale&) throw(); - - template<> - void - __convert_to_v(const char*, double&, ios_base::iostate&, - const __c_locale&) throw(); - - template<> - void - __convert_to_v(const char*, long double&, ios_base::iostate&, - const __c_locale&) throw(); - - - - template - struct __pad - { - static void - _S_pad(ios_base& __io, _CharT __fill, _CharT* __news, - const _CharT* __olds, streamsize __newlen, streamsize __oldlen); - }; - - - - - - - template - _CharT* - __add_grouping(_CharT* __s, _CharT __sep, - const char* __gbeg, size_t __gsize, - const _CharT* __first, const _CharT* __last); - - - - - template - inline - ostreambuf_iterator<_CharT> - __write(ostreambuf_iterator<_CharT> __s, const _CharT* __ws, int __len) - { - __s._M_put(__ws, __len); - return __s; - } - - - template - inline - _OutIter - __write(_OutIter __s, const _CharT* __ws, int __len) - { - for (int __j = 0; __j < __len; __j++, ++__s) - *__s = __ws[__j]; - return __s; - } -# 152 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - template - class __ctype_abstract_base : public locale::facet, public ctype_base - { - public: - - - typedef _CharT char_type; -# 171 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - bool - is(mask __m, char_type __c) const - { return this->do_is(__m, __c); } -# 188 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char_type* - is(const char_type *__lo, const char_type *__hi, mask *__vec) const - { return this->do_is(__lo, __hi, __vec); } -# 204 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char_type* - scan_is(mask __m, const char_type* __lo, const char_type* __hi) const - { return this->do_scan_is(__m, __lo, __hi); } -# 220 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char_type* - scan_not(mask __m, const char_type* __lo, const char_type* __hi) const - { return this->do_scan_not(__m, __lo, __hi); } -# 234 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char_type - toupper(char_type __c) const - { return this->do_toupper(__c); } -# 249 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char_type* - toupper(char_type *__lo, const char_type* __hi) const - { return this->do_toupper(__lo, __hi); } -# 263 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char_type - tolower(char_type __c) const - { return this->do_tolower(__c); } -# 278 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char_type* - tolower(char_type* __lo, const char_type* __hi) const - { return this->do_tolower(__lo, __hi); } -# 295 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char_type - widen(char __c) const - { return this->do_widen(__c); } -# 314 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char* - widen(const char* __lo, const char* __hi, char_type* __to) const - { return this->do_widen(__lo, __hi, __to); } -# 333 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char - narrow(char_type __c, char __dfault) const - { return this->do_narrow(__c, __dfault); } -# 355 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char_type* - narrow(const char_type* __lo, const char_type* __hi, - char __dfault, char* __to) const - { return this->do_narrow(__lo, __hi, __dfault, __to); } - - protected: - explicit - __ctype_abstract_base(size_t __refs = 0): facet(__refs) { } - - virtual - ~__ctype_abstract_base() { } -# 380 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual bool - do_is(mask __m, char_type __c) const = 0; -# 399 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_is(const char_type* __lo, const char_type* __hi, - mask* __vec) const = 0; -# 418 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_scan_is(mask __m, const char_type* __lo, - const char_type* __hi) const = 0; -# 437 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_scan_not(mask __m, const char_type* __lo, - const char_type* __hi) const = 0; -# 455 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_toupper(char_type __c) const = 0; -# 472 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_toupper(char_type* __lo, const char_type* __hi) const = 0; -# 488 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_tolower(char_type __c) const = 0; -# 505 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_tolower(char_type* __lo, const char_type* __hi) const = 0; -# 524 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_widen(char __c) const = 0; -# 545 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char* - do_widen(const char* __lo, const char* __hi, char_type* __to) const = 0; -# 566 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char - do_narrow(char_type __c, char __dfault) const = 0; -# 591 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_narrow(const char_type* __lo, const char_type* __hi, - char __dfault, char* __to) const = 0; - }; -# 614 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - template - class ctype : public __ctype_abstract_base<_CharT> - { - public: - - typedef _CharT char_type; - typedef typename __ctype_abstract_base<_CharT>::mask mask; - - - static locale::id id; - - explicit - ctype(size_t __refs = 0) : __ctype_abstract_base<_CharT>(__refs) { } - - protected: - virtual - ~ctype(); - - virtual bool - do_is(mask __m, char_type __c) const; - - virtual const char_type* - do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const; - - virtual const char_type* - do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const; - - virtual const char_type* - do_scan_not(mask __m, const char_type* __lo, - const char_type* __hi) const; - - virtual char_type - do_toupper(char_type __c) const; - - virtual const char_type* - do_toupper(char_type* __lo, const char_type* __hi) const; - - virtual char_type - do_tolower(char_type __c) const; - - virtual const char_type* - do_tolower(char_type* __lo, const char_type* __hi) const; - - virtual char_type - do_widen(char __c) const; - - virtual const char* - do_widen(const char* __lo, const char* __hi, char_type* __dest) const; - - virtual char - do_narrow(char_type, char __dfault) const; - - virtual const char_type* - do_narrow(const char_type* __lo, const char_type* __hi, - char __dfault, char* __to) const; - }; - - template - locale::id ctype<_CharT>::id; - - - - template - class ctype >; -# 688 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - template<> - class ctype : public locale::facet, public ctype_base - { - public: - - - typedef char char_type; - - protected: - - __c_locale _M_c_locale_ctype; - bool _M_del; - __to_type _M_toupper; - __to_type _M_tolower; - const mask* _M_table; - mutable char _M_widen_ok; - mutable char _M_widen[1 + static_cast(-1)]; - mutable char _M_narrow[1 + static_cast(-1)]; - mutable char _M_narrow_ok; - - - public: - - static locale::id id; - - static const size_t table_size = 1 + static_cast(-1); -# 725 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - explicit - ctype(const mask* __table = 0, bool __del = false, size_t __refs = 0); -# 738 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - explicit - ctype(__c_locale __cloc, const mask* __table = 0, bool __del = false, - size_t __refs = 0); -# 751 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - inline bool - is(mask __m, char __c) const; -# 766 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - inline const char* - is(const char* __lo, const char* __hi, mask* __vec) const; -# 780 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - inline const char* - scan_is(mask __m, const char* __lo, const char* __hi) const; -# 794 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - inline const char* - scan_not(mask __m, const char* __lo, const char* __hi) const; -# 809 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char_type - toupper(char_type __c) const - { return this->do_toupper(__c); } -# 826 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char_type* - toupper(char_type *__lo, const char_type* __hi) const - { return this->do_toupper(__lo, __hi); } -# 842 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char_type - tolower(char_type __c) const - { return this->do_tolower(__c); } -# 859 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char_type* - tolower(char_type* __lo, const char_type* __hi) const - { return this->do_tolower(__lo, __hi); } -# 879 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char_type - widen(char __c) const - { - if (_M_widen_ok) - return _M_widen[static_cast(__c)]; - this->_M_widen_init(); - return this->do_widen(__c); - } -# 906 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char* - widen(const char* __lo, const char* __hi, char_type* __to) const - { - if (_M_widen_ok == 1) - { - if (__builtin_expect(__hi != __lo, true)) - __builtin_memcpy(__to, __lo, __hi - __lo); - return __hi; - } - if (!_M_widen_ok) - _M_widen_init(); - return this->do_widen(__lo, __hi, __to); - } -# 938 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char - narrow(char_type __c, char __dfault) const - { - if (_M_narrow[static_cast(__c)]) - return _M_narrow[static_cast(__c)]; - const char __t = do_narrow(__c, __dfault); - if (__t != __dfault) - _M_narrow[static_cast(__c)] = __t; - return __t; - } -# 971 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char_type* - narrow(const char_type* __lo, const char_type* __hi, - char __dfault, char* __to) const - { - if (__builtin_expect(_M_narrow_ok == 1, true)) - { - if (__builtin_expect(__hi != __lo, true)) - __builtin_memcpy(__to, __lo, __hi - __lo); - return __hi; - } - if (!_M_narrow_ok) - _M_narrow_init(); - return this->do_narrow(__lo, __hi, __dfault, __to); - } - - - - - - const mask* - table() const throw() - { return _M_table; } - - - static const mask* - classic_table() throw(); - protected: - - - - - - - - virtual - ~ctype(); -# 1021 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_toupper(char_type __c) const; -# 1038 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_toupper(char_type* __lo, const char_type* __hi) const; -# 1054 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_tolower(char_type __c) const; -# 1071 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_tolower(char_type* __lo, const char_type* __hi) const; -# 1091 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_widen(char __c) const - { return __c; } -# 1114 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char* - do_widen(const char* __lo, const char* __hi, char_type* __to) const - { - if (__builtin_expect(__hi != __lo, true)) - __builtin_memcpy(__to, __lo, __hi - __lo); - return __hi; - } -# 1141 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char - do_narrow(char_type __c, char __dfault __attribute__((__unused__))) const - { return __c; } -# 1167 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_narrow(const char_type* __lo, const char_type* __hi, - char __dfault __attribute__((__unused__)), char* __to) const - { - if (__builtin_expect(__hi != __lo, true)) - __builtin_memcpy(__to, __lo, __hi - __lo); - return __hi; - } - - private: - void _M_narrow_init() const; - void _M_widen_init() const; - }; -# 1193 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - template<> - class ctype : public __ctype_abstract_base - { - public: - - - typedef wchar_t char_type; - typedef wctype_t __wmask_type; - - protected: - __c_locale _M_c_locale_ctype; - - - bool _M_narrow_ok; - char _M_narrow[128]; - wint_t _M_widen[1 + static_cast(-1)]; - - - mask _M_bit[16]; - __wmask_type _M_wmask[16]; - - public: - - - static locale::id id; -# 1226 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - explicit - ctype(size_t __refs = 0); -# 1237 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - explicit - ctype(__c_locale __cloc, size_t __refs = 0); - - protected: - __wmask_type - _M_convert_to_wmask(const mask __m) const throw(); - - - virtual - ~ctype(); -# 1261 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual bool - do_is(mask __m, char_type __c) const; -# 1280 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const; -# 1298 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const; -# 1316 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_scan_not(mask __m, const char_type* __lo, - const char_type* __hi) const; -# 1333 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_toupper(char_type __c) const; -# 1350 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_toupper(char_type* __lo, const char_type* __hi) const; -# 1366 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_tolower(char_type __c) const; -# 1383 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_tolower(char_type* __lo, const char_type* __hi) const; -# 1403 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_widen(char __c) const; -# 1425 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char* - do_widen(const char* __lo, const char* __hi, char_type* __to) const; -# 1448 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char - do_narrow(char_type __c, char __dfault) const; -# 1474 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_narrow(const char_type* __lo, const char_type* __hi, - char __dfault, char* __to) const; - - - void - _M_initialize_ctype() throw(); - }; - - - - template - class ctype_byname : public ctype<_CharT> - { - public: - typedef typename ctype<_CharT>::mask mask; - - explicit - ctype_byname(const char* __s, size_t __refs = 0); - - - explicit - ctype_byname(const string& __s, size_t __refs = 0) - : ctype_byname(__s.c_str(), __refs) { } - - - protected: - virtual - ~ctype_byname() { } - }; - - - template<> - class ctype_byname : public ctype - { - public: - explicit - ctype_byname(const char* __s, size_t __refs = 0); - - - explicit - ctype_byname(const string& __s, size_t __refs = 0); - - - protected: - virtual - ~ctype_byname(); - }; - - - template<> - class ctype_byname : public ctype - { - public: - explicit - ctype_byname(const char* __s, size_t __refs = 0); - - - explicit - ctype_byname(const string& __s, size_t __refs = 0); - - - protected: - virtual - ~ctype_byname(); - }; - - - -} - - -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/ctype_inline.h" 1 3 -# 37 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/ctype_inline.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - bool - ctype:: - is(mask __m, char __c) const - { return _M_table[static_cast(__c)] & __m; } - - const char* - ctype:: - is(const char* __low, const char* __high, mask* __vec) const - { - while (__low < __high) - *__vec++ = _M_table[static_cast(*__low++)]; - return __high; - } - - const char* - ctype:: - scan_is(mask __m, const char* __low, const char* __high) const - { - while (__low < __high - && !(_M_table[static_cast(*__low)] & __m)) - ++__low; - return __low; - } - - const char* - ctype:: - scan_not(mask __m, const char* __low, const char* __high) const - { - while (__low < __high - && (_M_table[static_cast(*__low)] & __m) != 0) - ++__low; - return __low; - } - - -} -# 1547 "/usr/include/c++/14.1.1/bits/locale_facets.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - class __num_base - { - public: - - - enum - { - _S_ominus, - _S_oplus, - _S_ox, - _S_oX, - _S_odigits, - _S_odigits_end = _S_odigits + 16, - _S_oudigits = _S_odigits_end, - _S_oudigits_end = _S_oudigits + 16, - _S_oe = _S_odigits + 14, - _S_oE = _S_oudigits + 14, - _S_oend = _S_oudigits_end - }; - - - - - - - static const char* _S_atoms_out; - - - - static const char* _S_atoms_in; - - enum - { - _S_iminus, - _S_iplus, - _S_ix, - _S_iX, - _S_izero, - _S_ie = _S_izero + 14, - _S_iE = _S_izero + 20, - _S_iend = 26 - }; - - - - static void - _S_format_float(const ios_base& __io, char* __fptr, char __mod) throw(); - }; - - template - struct __numpunct_cache : public locale::facet - { - const char* _M_grouping; - size_t _M_grouping_size; - bool _M_use_grouping; - const _CharT* _M_truename; - size_t _M_truename_size; - const _CharT* _M_falsename; - size_t _M_falsename_size; - _CharT _M_decimal_point; - _CharT _M_thousands_sep; - - - - - - _CharT _M_atoms_out[__num_base::_S_oend]; - - - - - - _CharT _M_atoms_in[__num_base::_S_iend]; - - bool _M_allocated; - - __numpunct_cache(size_t __refs = 0) - : facet(__refs), _M_grouping(0), _M_grouping_size(0), - _M_use_grouping(false), - _M_truename(0), _M_truename_size(0), _M_falsename(0), - _M_falsename_size(0), _M_decimal_point(_CharT()), - _M_thousands_sep(_CharT()), _M_allocated(false) - { } - - ~__numpunct_cache(); - - void - _M_cache(const locale& __loc); - - private: - __numpunct_cache& - operator=(const __numpunct_cache&); - - explicit - __numpunct_cache(const __numpunct_cache&); - }; - - template - __numpunct_cache<_CharT>::~__numpunct_cache() - { - if (_M_allocated) - { - delete [] _M_grouping; - delete [] _M_truename; - delete [] _M_falsename; - } - } - -namespace __cxx11 { -# 1677 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - template - class numpunct : public locale::facet - { - public: - - - - typedef _CharT char_type; - typedef basic_string<_CharT> string_type; - - typedef __numpunct_cache<_CharT> __cache_type; - - protected: - __cache_type* _M_data; - - public: - - static locale::id id; - - - - - - - explicit - numpunct(size_t __refs = 0) - : facet(__refs), _M_data(0) - { _M_initialize_numpunct(); } -# 1715 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - explicit - numpunct(__cache_type* __cache, size_t __refs = 0) - : facet(__refs), _M_data(__cache) - { _M_initialize_numpunct(); } -# 1729 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - explicit - numpunct(__c_locale __cloc, size_t __refs = 0) - : facet(__refs), _M_data(0) - { _M_initialize_numpunct(__cloc); } -# 1743 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char_type - decimal_point() const - { return this->do_decimal_point(); } -# 1756 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char_type - thousands_sep() const - { return this->do_thousands_sep(); } -# 1787 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - string - grouping() const - { return this->do_grouping(); } -# 1800 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - string_type - truename() const - { return this->do_truename(); } -# 1813 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - string_type - falsename() const - { return this->do_falsename(); } - - protected: - - virtual - ~numpunct(); -# 1830 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_decimal_point() const - { return _M_data->_M_decimal_point; } -# 1842 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_thousands_sep() const - { return _M_data->_M_thousands_sep; } -# 1855 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual string - do_grouping() const - { return _M_data->_M_grouping; } -# 1868 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual string_type - do_truename() const - { return _M_data->_M_truename; } -# 1881 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual string_type - do_falsename() const - { return _M_data->_M_falsename; } - - - void - _M_initialize_numpunct(__c_locale __cloc = 0); - }; - - template - locale::id numpunct<_CharT>::id; - - template<> - numpunct::~numpunct(); - - template<> - void - numpunct::_M_initialize_numpunct(__c_locale __cloc); - - - template<> - numpunct::~numpunct(); - - template<> - void - numpunct::_M_initialize_numpunct(__c_locale __cloc); - - - - template - class numpunct_byname : public numpunct<_CharT> - { - public: - typedef _CharT char_type; - typedef basic_string<_CharT> string_type; - - explicit - numpunct_byname(const char* __s, size_t __refs = 0) - : numpunct<_CharT>(__refs) - { - if (__builtin_strcmp(__s, "C") != 0 - && __builtin_strcmp(__s, "POSIX") != 0) - { - __c_locale __tmp; - this->_S_create_c_locale(__tmp, __s); - this->_M_initialize_numpunct(__tmp); - this->_S_destroy_c_locale(__tmp); - } - } - - - explicit - numpunct_byname(const string& __s, size_t __refs = 0) - : numpunct_byname(__s.c_str(), __refs) { } - - - protected: - virtual - ~numpunct_byname() { } - }; - -} - - -# 1959 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - template - class num_get : public locale::facet - { - public: - - - - typedef _CharT char_type; - typedef _InIter iter_type; - - - - static locale::id id; -# 1980 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - explicit - num_get(size_t __refs = 0) : facet(__refs) { } -# 2006 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, bool& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } -# 2043 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, long& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } - - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, unsigned short& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } - - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, unsigned int& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } - - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, unsigned long& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } - - - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, long long& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } - - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, unsigned long long& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } -# 2103 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, float& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } - - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, double& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } - - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, long double& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } -# 2146 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, void*& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } - - protected: - - virtual ~num_get() { } - - __attribute ((__abi_tag__ ("cxx11"))) - iter_type - _M_extract_float(iter_type, iter_type, ios_base&, ios_base::iostate&, - string&) const; - - template - __attribute ((__abi_tag__ ("cxx11"))) - iter_type - _M_extract_int(iter_type, iter_type, ios_base&, ios_base::iostate&, - _ValueT&) const; - - template - typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, int>::__type - _M_find(const _CharT2*, size_t __len, _CharT2 __c) const - { - int __ret = -1; - if (__len <= 10) - { - if (__c >= _CharT2('0') && __c < _CharT2(_CharT2('0') + __len)) - __ret = __c - _CharT2('0'); - } - else - { - if (__c >= _CharT2('0') && __c <= _CharT2('9')) - __ret = __c - _CharT2('0'); - else if (__c >= _CharT2('a') && __c <= _CharT2('f')) - __ret = 10 + (__c - _CharT2('a')); - else if (__c >= _CharT2('A') && __c <= _CharT2('F')) - __ret = 10 + (__c - _CharT2('A')); - } - return __ret; - } - - template - typename __gnu_cxx::__enable_if::__value, - int>::__type - _M_find(const _CharT2* __zero, size_t __len, _CharT2 __c) const - { - int __ret = -1; - const char_type* __q = char_traits<_CharT2>::find(__zero, __len, __c); - if (__q) - { - __ret = __q - __zero; - if (__ret > 15) - __ret -= 6; - } - return __ret; - } -# 2219 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual iter_type - do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&) const; - - virtual iter_type - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, long& __v) const - { return _M_extract_int(__beg, __end, __io, __err, __v); } - - virtual iter_type - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, unsigned short& __v) const - { return _M_extract_int(__beg, __end, __io, __err, __v); } - - virtual iter_type - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, unsigned int& __v) const - { return _M_extract_int(__beg, __end, __io, __err, __v); } - - virtual iter_type - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, unsigned long& __v) const - { return _M_extract_int(__beg, __end, __io, __err, __v); } - - - virtual iter_type - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, long long& __v) const - { return _M_extract_int(__beg, __end, __io, __err, __v); } - - virtual iter_type - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, unsigned long long& __v) const - { return _M_extract_int(__beg, __end, __io, __err, __v); } - - - virtual iter_type - do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, float&) const; - - virtual iter_type - do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, - double&) const; -# 2271 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual iter_type - do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, - long double&) const; - - - virtual iter_type - do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, void*&) const; -# 2299 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - }; - - template - locale::id num_get<_CharT, _InIter>::id; -# 2317 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - template - class num_put : public locale::facet - { - public: - - - - typedef _CharT char_type; - typedef _OutIter iter_type; - - - - static locale::id id; -# 2338 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - explicit - num_put(size_t __refs = 0) : facet(__refs) { } -# 2356 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const - { return this->do_put(__s, __io, __fill, __v); } -# 2398 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, long __v) const - { return this->do_put(__s, __io, __fill, __v); } - - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, - unsigned long __v) const - { return this->do_put(__s, __io, __fill, __v); } - - - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, long long __v) const - { return this->do_put(__s, __io, __fill, __v); } - - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, - unsigned long long __v) const - { return this->do_put(__s, __io, __fill, __v); } -# 2461 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, double __v) const - { return this->do_put(__s, __io, __fill, __v); } - - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, - long double __v) const - { return this->do_put(__s, __io, __fill, __v); } -# 2486 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, - const void* __v) const - { return this->do_put(__s, __io, __fill, __v); } - - protected: - template - iter_type - _M_insert_float(iter_type, ios_base& __io, char_type __fill, - char __mod, _ValueT __v) const; - - void - _M_group_float(const char* __grouping, size_t __grouping_size, - char_type __sep, const char_type* __p, char_type* __new, - char_type* __cs, int& __len) const; - - template - iter_type - _M_insert_int(iter_type, ios_base& __io, char_type __fill, - _ValueT __v) const; - - void - _M_group_int(const char* __grouping, size_t __grouping_size, - char_type __sep, ios_base& __io, char_type* __new, - char_type* __cs, int& __len) const; - - void - _M_pad(char_type __fill, streamsize __w, ios_base& __io, - char_type* __new, const char_type* __cs, int& __len) const; - - - virtual - ~num_put() { } -# 2534 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual iter_type - do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const; - - virtual iter_type - do_put(iter_type __s, ios_base& __io, char_type __fill, long __v) const - { return _M_insert_int(__s, __io, __fill, __v); } - - virtual iter_type - do_put(iter_type __s, ios_base& __io, char_type __fill, - unsigned long __v) const - { return _M_insert_int(__s, __io, __fill, __v); } - - - virtual iter_type - do_put(iter_type __s, ios_base& __io, char_type __fill, - long long __v) const - { return _M_insert_int(__s, __io, __fill, __v); } - - virtual iter_type - do_put(iter_type __s, ios_base& __io, char_type __fill, - unsigned long long __v) const - { return _M_insert_int(__s, __io, __fill, __v); } - - - virtual iter_type - do_put(iter_type, ios_base&, char_type, double) const; - - - - - - - virtual iter_type - do_put(iter_type, ios_base&, char_type, long double) const; - - - virtual iter_type - do_put(iter_type, ios_base&, char_type, const void*) const; -# 2586 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - }; - - template - locale::id num_put<_CharT, _OutIter>::id; - - - - - - - - - - template - inline bool - isspace(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::space, __c); } - - - template - inline bool - isprint(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::print, __c); } - - - template - inline bool - iscntrl(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::cntrl, __c); } - - - template - inline bool - isupper(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::upper, __c); } - - - template - inline bool - islower(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::lower, __c); } - - - template - inline bool - isalpha(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::alpha, __c); } - - - template - inline bool - isdigit(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::digit, __c); } - - - template - inline bool - ispunct(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::punct, __c); } - - - template - inline bool - isxdigit(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::xdigit, __c); } - - - template - inline bool - isalnum(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::alnum, __c); } - - - template - inline bool - isgraph(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::graph, __c); } - - - - template - inline bool - isblank(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::blank, __c); } - - - - template - inline _CharT - toupper(_CharT __c, const locale& __loc) - { return use_facet >(__loc).toupper(__c); } - - - template - inline _CharT - tolower(_CharT __c, const locale& __loc) - { return use_facet >(__loc).tolower(__c); } - - -} - -# 1 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - -# 34 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - template - struct __use_cache - { - const _Facet* - operator() (const locale& __loc) const; - }; - - - template - struct __use_cache<__numpunct_cache<_CharT> > - { - const __numpunct_cache<_CharT>* - operator() (const locale& __loc) const - { - const size_t __i = numpunct<_CharT>::id._M_id(); - const locale::facet** __caches = __loc._M_impl->_M_caches; - if (!__caches[__i]) - { - __numpunct_cache<_CharT>* __tmp = 0; - try - { - __tmp = new __numpunct_cache<_CharT>; - __tmp->_M_cache(__loc); - } - catch(...) - { - delete __tmp; - throw; - } - __loc._M_impl->_M_install_cache(__tmp, __i); - } - return static_cast*>(__caches[__i]); - } - }; - - template - void - __numpunct_cache<_CharT>::_M_cache(const locale& __loc) - { - const numpunct<_CharT>& __np = use_facet >(__loc); - - char* __grouping = 0; - _CharT* __truename = 0; - _CharT* __falsename = 0; - try - { - const string& __g = __np.grouping(); - _M_grouping_size = __g.size(); - __grouping = new char[_M_grouping_size]; - __g.copy(__grouping, _M_grouping_size); - _M_use_grouping = (_M_grouping_size - && static_cast(__grouping[0]) > 0 - && (__grouping[0] - != __gnu_cxx::__numeric_traits::__max)); - - const basic_string<_CharT>& __tn = __np.truename(); - _M_truename_size = __tn.size(); - __truename = new _CharT[_M_truename_size]; - __tn.copy(__truename, _M_truename_size); - - const basic_string<_CharT>& __fn = __np.falsename(); - _M_falsename_size = __fn.size(); - __falsename = new _CharT[_M_falsename_size]; - __fn.copy(__falsename, _M_falsename_size); - - _M_decimal_point = __np.decimal_point(); - _M_thousands_sep = __np.thousands_sep(); - - const ctype<_CharT>& __ct = use_facet >(__loc); - __ct.widen(__num_base::_S_atoms_out, - __num_base::_S_atoms_out - + __num_base::_S_oend, _M_atoms_out); - __ct.widen(__num_base::_S_atoms_in, - __num_base::_S_atoms_in - + __num_base::_S_iend, _M_atoms_in); - - _M_grouping = __grouping; - _M_truename = __truename; - _M_falsename = __falsename; - _M_allocated = true; - } - catch(...) - { - delete [] __grouping; - delete [] __truename; - delete [] __falsename; - throw; - } - } -# 139 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - __attribute__ ((__pure__)) bool - __verify_grouping(const char* __grouping, size_t __grouping_size, - const string& __grouping_tmp) throw (); - - - - template - __attribute ((__abi_tag__ ("cxx11"))) - _InIter - num_get<_CharT, _InIter>:: - _M_extract_float(_InIter __beg, _InIter __end, ios_base& __io, - ios_base::iostate& __err, string& __xtrc) const - { - typedef char_traits<_CharT> __traits_type; - typedef __numpunct_cache<_CharT> __cache_type; - __use_cache<__cache_type> __uc; - const locale& __loc = __io._M_getloc(); - const __cache_type* __lc = __uc(__loc); - const _CharT* __lit = __lc->_M_atoms_in; - char_type __c = char_type(); - - - bool __testeof = __beg == __end; - - - if (!__testeof) - { - __c = *__beg; - const bool __plus = __c == __lit[__num_base::_S_iplus]; - if ((__plus || __c == __lit[__num_base::_S_iminus]) - && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) - && !(__c == __lc->_M_decimal_point)) - { - __xtrc += __plus ? '+' : '-'; - if (++__beg != __end) - __c = *__beg; - else - __testeof = true; - } - } - - - bool __found_mantissa = false; - int __sep_pos = 0; - while (!__testeof) - { - if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) - || __c == __lc->_M_decimal_point) - break; - else if (__c == __lit[__num_base::_S_izero]) - { - if (!__found_mantissa) - { - __xtrc += '0'; - __found_mantissa = true; - } - ++__sep_pos; - - if (++__beg != __end) - __c = *__beg; - else - __testeof = true; - } - else - break; - } - - - bool __found_dec = false; - bool __found_sci = false; - string __found_grouping; - if (__lc->_M_use_grouping) - __found_grouping.reserve(32); - const char_type* __lit_zero = __lit + __num_base::_S_izero; - - if (!__lc->_M_allocated) - - while (!__testeof) - { - const int __digit = _M_find(__lit_zero, 10, __c); - if (__digit != -1) - { - __xtrc += '0' + __digit; - __found_mantissa = true; - } - else if (__c == __lc->_M_decimal_point - && !__found_dec && !__found_sci) - { - __xtrc += '.'; - __found_dec = true; - } - else if ((__c == __lit[__num_base::_S_ie] - || __c == __lit[__num_base::_S_iE]) - && !__found_sci && __found_mantissa) - { - - __xtrc += 'e'; - __found_sci = true; - - - if (++__beg != __end) - { - __c = *__beg; - const bool __plus = __c == __lit[__num_base::_S_iplus]; - if (__plus || __c == __lit[__num_base::_S_iminus]) - __xtrc += __plus ? '+' : '-'; - else - continue; - } - else - { - __testeof = true; - break; - } - } - else - break; - - if (++__beg != __end) - __c = *__beg; - else - __testeof = true; - } - else - while (!__testeof) - { - - - if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) - { - if (!__found_dec && !__found_sci) - { - - - if (__sep_pos) - { - __found_grouping += static_cast(__sep_pos); - __sep_pos = 0; - } - else - { - - - __xtrc.clear(); - break; - } - } - else - break; - } - else if (__c == __lc->_M_decimal_point) - { - if (!__found_dec && !__found_sci) - { - - - - if (__found_grouping.size()) - __found_grouping += static_cast(__sep_pos); - __xtrc += '.'; - __found_dec = true; - } - else - break; - } - else - { - const char_type* __q = - __traits_type::find(__lit_zero, 10, __c); - if (__q) - { - __xtrc += '0' + (__q - __lit_zero); - __found_mantissa = true; - ++__sep_pos; - } - else if ((__c == __lit[__num_base::_S_ie] - || __c == __lit[__num_base::_S_iE]) - && !__found_sci && __found_mantissa) - { - - if (__found_grouping.size() && !__found_dec) - __found_grouping += static_cast(__sep_pos); - __xtrc += 'e'; - __found_sci = true; - - - if (++__beg != __end) - { - __c = *__beg; - const bool __plus = __c == __lit[__num_base::_S_iplus]; - if ((__plus || __c == __lit[__num_base::_S_iminus]) - && !(__lc->_M_use_grouping - && __c == __lc->_M_thousands_sep) - && !(__c == __lc->_M_decimal_point)) - __xtrc += __plus ? '+' : '-'; - else - continue; - } - else - { - __testeof = true; - break; - } - } - else - break; - } - - if (++__beg != __end) - __c = *__beg; - else - __testeof = true; - } - - - - if (__found_grouping.size()) - { - - if (!__found_dec && !__found_sci) - __found_grouping += static_cast(__sep_pos); - - if (!std::__verify_grouping(__lc->_M_grouping, - __lc->_M_grouping_size, - __found_grouping)) - __err = ios_base::failbit; - } - - return __beg; - } - - template - template - __attribute ((__abi_tag__ ("cxx11"))) - _InIter - num_get<_CharT, _InIter>:: - _M_extract_int(_InIter __beg, _InIter __end, ios_base& __io, - ios_base::iostate& __err, _ValueT& __v) const - { - typedef char_traits<_CharT> __traits_type; - using __gnu_cxx::__add_unsigned; - typedef typename __add_unsigned<_ValueT>::__type __unsigned_type; - typedef __numpunct_cache<_CharT> __cache_type; - __use_cache<__cache_type> __uc; - const locale& __loc = __io._M_getloc(); - const __cache_type* __lc = __uc(__loc); - const _CharT* __lit = __lc->_M_atoms_in; - char_type __c = char_type(); - - - const ios_base::fmtflags __basefield = __io.flags() - & ios_base::basefield; - const bool __oct = __basefield == ios_base::oct; - int __base = __oct ? 8 : (__basefield == ios_base::hex ? 16 : 10); - - - bool __testeof = __beg == __end; - - - bool __negative = false; - if (!__testeof) - { - __c = *__beg; - __negative = __c == __lit[__num_base::_S_iminus]; - if ((__negative || __c == __lit[__num_base::_S_iplus]) - && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) - && !(__c == __lc->_M_decimal_point)) - { - if (++__beg != __end) - __c = *__beg; - else - __testeof = true; - } - } - - - - bool __found_zero = false; - int __sep_pos = 0; - while (!__testeof) - { - if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) - || __c == __lc->_M_decimal_point) - break; - else if (__c == __lit[__num_base::_S_izero] - && (!__found_zero || __base == 10)) - { - __found_zero = true; - ++__sep_pos; - if (__basefield == 0) - __base = 8; - if (__base == 8) - __sep_pos = 0; - } - else if (__found_zero - && (__c == __lit[__num_base::_S_ix] - || __c == __lit[__num_base::_S_iX])) - { - if (__basefield == 0) - __base = 16; - if (__base == 16) - { - __found_zero = false; - __sep_pos = 0; - } - else - break; - } - else - break; - - if (++__beg != __end) - { - __c = *__beg; - if (!__found_zero) - break; - } - else - __testeof = true; - } - - - - const size_t __len = (__base == 16 ? __num_base::_S_iend - - __num_base::_S_izero : __base); - - - typedef __gnu_cxx::__numeric_traits<_ValueT> __num_traits; - string __found_grouping; - if (__lc->_M_use_grouping) - __found_grouping.reserve(32); - bool __testfail = false; - bool __testoverflow = false; - const __unsigned_type __max = - (__negative && __num_traits::__is_signed) - ? -static_cast<__unsigned_type>(__num_traits::__min) - : __num_traits::__max; - const __unsigned_type __smax = __max / __base; - __unsigned_type __result = 0; - int __digit = 0; - const char_type* __lit_zero = __lit + __num_base::_S_izero; - - if (!__lc->_M_allocated) - - while (!__testeof) - { - __digit = _M_find(__lit_zero, __len, __c); - if (__digit == -1) - break; - - if (__result > __smax) - __testoverflow = true; - else - { - __result *= __base; - __testoverflow |= __result > __max - __digit; - __result += __digit; - ++__sep_pos; - } - - if (++__beg != __end) - __c = *__beg; - else - __testeof = true; - } - else - while (!__testeof) - { - - - if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) - { - - - if (__sep_pos) - { - __found_grouping += static_cast(__sep_pos); - __sep_pos = 0; - } - else - { - __testfail = true; - break; - } - } - else if (__c == __lc->_M_decimal_point) - break; - else - { - const char_type* __q = - __traits_type::find(__lit_zero, __len, __c); - if (!__q) - break; - - __digit = __q - __lit_zero; - if (__digit > 15) - __digit -= 6; - if (__result > __smax) - __testoverflow = true; - else - { - __result *= __base; - __testoverflow |= __result > __max - __digit; - __result += __digit; - ++__sep_pos; - } - } - - if (++__beg != __end) - __c = *__beg; - else - __testeof = true; - } - - - - if (__found_grouping.size()) - { - - __found_grouping += static_cast(__sep_pos); - - if (!std::__verify_grouping(__lc->_M_grouping, - __lc->_M_grouping_size, - __found_grouping)) - __err = ios_base::failbit; - } - - - - if ((!__sep_pos && !__found_zero && !__found_grouping.size()) - || __testfail) - { - __v = 0; - __err = ios_base::failbit; - } - else if (__testoverflow) - { - if (__negative && __num_traits::__is_signed) - __v = __num_traits::__min; - else - __v = __num_traits::__max; - __err = ios_base::failbit; - } - else - __v = __negative ? -__result : __result; - - if (__testeof) - __err |= ios_base::eofbit; - return __beg; - } - - - - template - _InIter - num_get<_CharT, _InIter>:: - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, bool& __v) const - { - if (!(__io.flags() & ios_base::boolalpha)) - { - - - - long __l = -1; - __beg = _M_extract_int(__beg, __end, __io, __err, __l); - if (__l == 0 || __l == 1) - __v = bool(__l); - else - { - - - __v = true; - __err = ios_base::failbit; - if (__beg == __end) - __err |= ios_base::eofbit; - } - } - else - { - - typedef __numpunct_cache<_CharT> __cache_type; - __use_cache<__cache_type> __uc; - const locale& __loc = __io._M_getloc(); - const __cache_type* __lc = __uc(__loc); - - bool __testf = true; - bool __testt = true; - bool __donef = __lc->_M_falsename_size == 0; - bool __donet = __lc->_M_truename_size == 0; - bool __testeof = false; - size_t __n = 0; - while (!__donef || !__donet) - { - if (__beg == __end) - { - __testeof = true; - break; - } - - const char_type __c = *__beg; - - if (!__donef) - __testf = __c == __lc->_M_falsename[__n]; - - if (!__testf && __donet) - break; - - if (!__donet) - __testt = __c == __lc->_M_truename[__n]; - - if (!__testt && __donef) - break; - - if (!__testt && !__testf) - break; - - ++__n; - ++__beg; - - __donef = !__testf || __n >= __lc->_M_falsename_size; - __donet = !__testt || __n >= __lc->_M_truename_size; - } - if (__testf && __n == __lc->_M_falsename_size && __n) - { - __v = false; - if (__testt && __n == __lc->_M_truename_size) - __err = ios_base::failbit; - else - __err = __testeof ? ios_base::eofbit : ios_base::goodbit; - } - else if (__testt && __n == __lc->_M_truename_size && __n) - { - __v = true; - __err = __testeof ? ios_base::eofbit : ios_base::goodbit; - } - else - { - - - __v = false; - __err = ios_base::failbit; - if (__testeof) - __err |= ios_base::eofbit; - } - } - return __beg; - } - - template - _InIter - num_get<_CharT, _InIter>:: - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, float& __v) const - { - string __xtrc; - __xtrc.reserve(32); - __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); - std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); - if (__beg == __end) - __err |= ios_base::eofbit; - return __beg; - } - - template - _InIter - num_get<_CharT, _InIter>:: - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, double& __v) const - { - string __xtrc; - __xtrc.reserve(32); - __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); - std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); - if (__beg == __end) - __err |= ios_base::eofbit; - return __beg; - } -# 735 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - template - _InIter - num_get<_CharT, _InIter>:: - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, long double& __v) const - { - string __xtrc; - __xtrc.reserve(32); - __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); - std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); - if (__beg == __end) - __err |= ios_base::eofbit; - return __beg; - } - - template - _InIter - num_get<_CharT, _InIter>:: - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, void*& __v) const - { - - typedef ios_base::fmtflags fmtflags; - const fmtflags __fmt = __io.flags(); - __io.flags((__fmt & ~ios_base::basefield) | ios_base::hex); - - typedef __gnu_cxx::__conditional_type<(sizeof(void*) - <= sizeof(unsigned long)), - unsigned long, unsigned long long>::__type _UIntPtrType; - - _UIntPtrType __ul; - __beg = _M_extract_int(__beg, __end, __io, __err, __ul); - - - __io.flags(__fmt); - - __v = reinterpret_cast(__ul); - return __beg; - } -# 795 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - template - void - num_put<_CharT, _OutIter>:: - _M_pad(_CharT __fill, streamsize __w, ios_base& __io, - _CharT* __new, const _CharT* __cs, int& __len) const - { - - - __pad<_CharT, char_traits<_CharT> >::_S_pad(__io, __fill, __new, - __cs, __w, __len); - __len = static_cast(__w); - } - - - - template - int - __int_to_char(_CharT* __bufend, _ValueT __v, const _CharT* __lit, - ios_base::fmtflags __flags, bool __dec) - { - _CharT* __buf = __bufend; - if (__builtin_expect(__dec, true)) - { - - do - { - *--__buf = __lit[(__v % 10) + __num_base::_S_odigits]; - __v /= 10; - } - while (__v != 0); - } - else if ((__flags & ios_base::basefield) == ios_base::oct) - { - - do - { - *--__buf = __lit[(__v & 0x7) + __num_base::_S_odigits]; - __v >>= 3; - } - while (__v != 0); - } - else - { - - const bool __uppercase = __flags & ios_base::uppercase; - const int __case_offset = __uppercase ? __num_base::_S_oudigits - : __num_base::_S_odigits; - do - { - *--__buf = __lit[(__v & 0xf) + __case_offset]; - __v >>= 4; - } - while (__v != 0); - } - return __bufend - __buf; - } - - - - template - void - num_put<_CharT, _OutIter>:: - _M_group_int(const char* __grouping, size_t __grouping_size, _CharT __sep, - ios_base&, _CharT* __new, _CharT* __cs, int& __len) const - { - _CharT* __p = std::__add_grouping(__new, __sep, __grouping, - __grouping_size, __cs, __cs + __len); - __len = __p - __new; - } - - template - template - _OutIter - num_put<_CharT, _OutIter>:: - _M_insert_int(_OutIter __s, ios_base& __io, _CharT __fill, - _ValueT __v) const - { - using __gnu_cxx::__add_unsigned; - typedef typename __add_unsigned<_ValueT>::__type __unsigned_type; - typedef __numpunct_cache<_CharT> __cache_type; - __use_cache<__cache_type> __uc; - const locale& __loc = __io._M_getloc(); - const __cache_type* __lc = __uc(__loc); - const _CharT* __lit = __lc->_M_atoms_out; - const ios_base::fmtflags __flags = __io.flags(); - - - const int __ilen = 5 * sizeof(_ValueT); - _CharT* __cs = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) - * __ilen)); - - - - const ios_base::fmtflags __basefield = __flags & ios_base::basefield; - const bool __dec = (__basefield != ios_base::oct - && __basefield != ios_base::hex); - const __unsigned_type __u = ((__v > 0 || !__dec) - ? __unsigned_type(__v) - : -__unsigned_type(__v)); - int __len = __int_to_char(__cs + __ilen, __u, __lit, __flags, __dec); - __cs += __ilen - __len; - - - if (__lc->_M_use_grouping) - { - - - _CharT* __cs2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) - * (__len + 1) - * 2)); - _M_group_int(__lc->_M_grouping, __lc->_M_grouping_size, - __lc->_M_thousands_sep, __io, __cs2 + 2, __cs, __len); - __cs = __cs2 + 2; - } - - - if (__builtin_expect(__dec, true)) - { - - if (__v >= 0) - { - if (bool(__flags & ios_base::showpos) - && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed) - *--__cs = __lit[__num_base::_S_oplus], ++__len; - } - else - *--__cs = __lit[__num_base::_S_ominus], ++__len; - } - else if (bool(__flags & ios_base::showbase) && __v) - { - if (__basefield == ios_base::oct) - *--__cs = __lit[__num_base::_S_odigits], ++__len; - else - { - - const bool __uppercase = __flags & ios_base::uppercase; - *--__cs = __lit[__num_base::_S_ox + __uppercase]; - - *--__cs = __lit[__num_base::_S_odigits]; - __len += 2; - } - } - - - const streamsize __w = __io.width(); - if (__w > static_cast(__len)) - { - _CharT* __cs3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) - * __w)); - _M_pad(__fill, __w, __io, __cs3, __cs, __len); - __cs = __cs3; - } - __io.width(0); - - - - return std::__write(__s, __cs, __len); - } - - template - void - num_put<_CharT, _OutIter>:: - _M_group_float(const char* __grouping, size_t __grouping_size, - _CharT __sep, const _CharT* __p, _CharT* __new, - _CharT* __cs, int& __len) const - { - - - - const int __declen = __p ? __p - __cs : __len; - _CharT* __p2 = std::__add_grouping(__new, __sep, __grouping, - __grouping_size, - __cs, __cs + __declen); - - - int __newlen = __p2 - __new; - if (__p) - { - char_traits<_CharT>::copy(__p2, __p, __len - __declen); - __newlen += __len - __declen; - } - __len = __newlen; - } -# 989 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - template - template - _OutIter - num_put<_CharT, _OutIter>:: - _M_insert_float(_OutIter __s, ios_base& __io, _CharT __fill, char __mod, - _ValueT __v) const - { - typedef __numpunct_cache<_CharT> __cache_type; - __use_cache<__cache_type> __uc; - const locale& __loc = __io._M_getloc(); - const __cache_type* __lc = __uc(__loc); - - - const streamsize __prec = __io.precision() < 0 ? 6 : __io.precision(); - - const int __max_digits = - __gnu_cxx::__numeric_traits<_ValueT>::__digits10; - - - int __len; - - char __fbuf[16]; - __num_base::_S_format_float(__io, __fbuf, __mod); - - - - const bool __use_prec = - (__io.flags() & ios_base::floatfield) != ios_base::floatfield; - - - - int __cs_size = __max_digits * 3; - char* __cs = static_cast(__builtin_alloca(__cs_size)); - if (__use_prec) - __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, - __fbuf, __prec, __v); - else - __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, - __fbuf, __v); - - - if (__len >= __cs_size) - { - __cs_size = __len + 1; - __cs = static_cast(__builtin_alloca(__cs_size)); - if (__use_prec) - __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, - __fbuf, __prec, __v); - else - __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, - __fbuf, __v); - } -# 1062 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - const ctype<_CharT>& __ctype = use_facet >(__loc); - - _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) - * __len)); - __ctype.widen(__cs, __cs + __len, __ws); - - - _CharT* __wp = 0; - const char* __p = char_traits::find(__cs, __len, '.'); - if (__p) - { - __wp = __ws + (__p - __cs); - *__wp = __lc->_M_decimal_point; - } - - - - - if (__lc->_M_use_grouping - && (__wp || __len < 3 || (__cs[1] <= '9' && __cs[2] <= '9' - && __cs[1] >= '0' && __cs[2] >= '0'))) - { - - - _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) - * __len * 2)); - - streamsize __off = 0; - if (__cs[0] == '-' || __cs[0] == '+') - { - __off = 1; - __ws2[0] = __ws[0]; - __len -= 1; - } - - _M_group_float(__lc->_M_grouping, __lc->_M_grouping_size, - __lc->_M_thousands_sep, __wp, __ws2 + __off, - __ws + __off, __len); - __len += __off; - - __ws = __ws2; - } - - - const streamsize __w = __io.width(); - if (__w > static_cast(__len)) - { - _CharT* __ws3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) - * __w)); - _M_pad(__fill, __w, __io, __ws3, __ws, __len); - __ws = __ws3; - } - __io.width(0); - - - - return std::__write(__s, __ws, __len); - } - - template - _OutIter - num_put<_CharT, _OutIter>:: - do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const - { - const ios_base::fmtflags __flags = __io.flags(); - if ((__flags & ios_base::boolalpha) == 0) - { - const long __l = __v; - __s = _M_insert_int(__s, __io, __fill, __l); - } - else - { - typedef __numpunct_cache<_CharT> __cache_type; - __use_cache<__cache_type> __uc; - const locale& __loc = __io._M_getloc(); - const __cache_type* __lc = __uc(__loc); - - const _CharT* __name = __v ? __lc->_M_truename - : __lc->_M_falsename; - int __len = __v ? __lc->_M_truename_size - : __lc->_M_falsename_size; - - const streamsize __w = __io.width(); - if (__w > static_cast(__len)) - { - const streamsize __plen = __w - __len; - _CharT* __ps - = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) - * __plen)); - - char_traits<_CharT>::assign(__ps, __plen, __fill); - __io.width(0); - - if ((__flags & ios_base::adjustfield) == ios_base::left) - { - __s = std::__write(__s, __name, __len); - __s = std::__write(__s, __ps, __plen); - } - else - { - __s = std::__write(__s, __ps, __plen); - __s = std::__write(__s, __name, __len); - } - return __s; - } - __io.width(0); - __s = std::__write(__s, __name, __len); - } - return __s; - } - - template - _OutIter - num_put<_CharT, _OutIter>:: - do_put(iter_type __s, ios_base& __io, char_type __fill, double __v) const - { return _M_insert_float(__s, __io, __fill, char(), __v); } -# 1187 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - template - _OutIter - num_put<_CharT, _OutIter>:: - do_put(iter_type __s, ios_base& __io, char_type __fill, - long double __v) const - { return _M_insert_float(__s, __io, __fill, 'L', __v); } - - template - _OutIter - num_put<_CharT, _OutIter>:: - do_put(iter_type __s, ios_base& __io, char_type __fill, - const void* __v) const - { - const ios_base::fmtflags __flags = __io.flags(); - const ios_base::fmtflags __fmt = ~(ios_base::basefield - | ios_base::uppercase); - __io.flags((__flags & __fmt) | (ios_base::hex | ios_base::showbase)); - - typedef __gnu_cxx::__conditional_type<(sizeof(const void*) - <= sizeof(unsigned long)), - unsigned long, unsigned long long>::__type _UIntPtrType; - - __s = _M_insert_int(__s, __io, __fill, - reinterpret_cast<_UIntPtrType>(__v)); - __io.flags(__flags); - return __s; - } -# 1224 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - -# 1233 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - template - void - __pad<_CharT, _Traits>::_S_pad(ios_base& __io, _CharT __fill, - _CharT* __news, const _CharT* __olds, - streamsize __newlen, streamsize __oldlen) - { - const size_t __plen = static_cast(__newlen - __oldlen); - const ios_base::fmtflags __adjust = __io.flags() & ios_base::adjustfield; - - - if (__adjust == ios_base::left) - { - _Traits::copy(__news, __olds, __oldlen); - _Traits::assign(__news + __oldlen, __plen, __fill); - return; - } - - size_t __mod = 0; - if (__adjust == ios_base::internal) - { - - - - const locale& __loc = __io._M_getloc(); - const ctype<_CharT>& __ctype = use_facet >(__loc); - - if (__ctype.widen('-') == __olds[0] - || __ctype.widen('+') == __olds[0]) - { - __news[0] = __olds[0]; - __mod = 1; - ++__news; - } - else if (__ctype.widen('0') == __olds[0] - && __oldlen > 1 - && (__ctype.widen('x') == __olds[1] - || __ctype.widen('X') == __olds[1])) - { - __news[0] = __olds[0]; - __news[1] = __olds[1]; - __mod = 2; - __news += 2; - } - - } - _Traits::assign(__news, __plen, __fill); - _Traits::copy(__news + __plen, __olds + __mod, __oldlen - __mod); - } - - template - _CharT* - __add_grouping(_CharT* __s, _CharT __sep, - const char* __gbeg, size_t __gsize, - const _CharT* __first, const _CharT* __last) - { - size_t __idx = 0; - size_t __ctr = 0; - - while (__last - __first > __gbeg[__idx] - && static_cast(__gbeg[__idx]) > 0 - && __gbeg[__idx] != __gnu_cxx::__numeric_traits::__max) - { - __last -= __gbeg[__idx]; - __idx < __gsize - 1 ? ++__idx : ++__ctr; - } - - while (__first != __last) - *__s++ = *__first++; - - while (__ctr--) - { - *__s++ = __sep; - for (char __i = __gbeg[__idx]; __i > 0; --__i) - *__s++ = *__first++; - } - - while (__idx--) - { - *__s++ = __sep; - for (char __i = __gbeg[__idx]; __i > 0; --__i) - *__s++ = *__first++; - } - - return __s; - } - - - - - extern template class __cxx11:: numpunct; - extern template class __cxx11:: numpunct_byname; - extern template class num_get; - extern template class num_put; - extern template class ctype_byname; - - extern template - const ctype* - __try_use_facet >(const locale&) noexcept; - - extern template - const numpunct* - __try_use_facet >(const locale&) noexcept; - - extern template - const num_put* - __try_use_facet >(const locale&) noexcept; - - extern template - const num_get* - __try_use_facet >(const locale&) noexcept; - - extern template - const ctype& - use_facet >(const locale&); - - extern template - const numpunct& - use_facet >(const locale&); - - extern template - const num_put& - use_facet >(const locale&); - - extern template - const num_get& - use_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - - extern template class __cxx11:: numpunct; - extern template class __cxx11:: numpunct_byname; - extern template class num_get; - extern template class num_put; - extern template class ctype_byname; - - extern template - const ctype* - __try_use_facet >(const locale&) noexcept; - - extern template - const numpunct* - __try_use_facet >(const locale&) noexcept; - - extern template - const num_put* - __try_use_facet >(const locale&) noexcept; - - extern template - const num_get* - __try_use_facet >(const locale&) noexcept; - - extern template - const ctype& - use_facet >(const locale&); - - extern template - const numpunct& - use_facet >(const locale&); - - extern template - const num_put& - use_facet >(const locale&); - - extern template - const num_get& - use_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - - - -} -# 2688 "/usr/include/c++/14.1.1/bits/locale_facets.h" 2 3 -# 38 "/usr/include/c++/14.1.1/bits/basic_ios.h" 2 3 - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - inline const _Facet& - __check_facet(const _Facet* __f) - { - if (!__f) - __throw_bad_cast(); - return *__f; - } -# 66 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - template - class basic_ios : public ios_base - { - - static_assert(is_same_v<_CharT, typename _Traits::char_type>); - - - public: - - - - - - - typedef _CharT char_type; - typedef typename _Traits::int_type int_type; - typedef typename _Traits::pos_type pos_type; - typedef typename _Traits::off_type off_type; - typedef _Traits traits_type; - - - - - - - typedef ctype<_CharT> __ctype_type; - typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> > - __num_put_type; - typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> > - __num_get_type; - - - - protected: - basic_ostream<_CharT, _Traits>* _M_tie; - mutable char_type _M_fill; - mutable bool _M_fill_init; - basic_streambuf<_CharT, _Traits>* _M_streambuf; - - - const __ctype_type* _M_ctype; - - const __num_put_type* _M_num_put; - - const __num_get_type* _M_num_get; - - public: -# 121 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - explicit operator bool() const - { return !this->fail(); } - - - - - - bool - operator!() const - { return this->fail(); } -# 140 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - iostate - rdstate() const - { return _M_streambuf_state; } -# 151 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - void - clear(iostate __state = goodbit); - - - - - - - - void - setstate(iostate __state) - { this->clear(this->rdstate() | __state); } - - - - - void - _M_setstate(iostate __state) - { - - - _M_streambuf_state |= __state; - if (this->exceptions() & __state) - throw; - } - - - - - - - - bool - good() const - { return this->rdstate() == 0; } - - - - - - - - bool - eof() const - { return (this->rdstate() & eofbit) != 0; } -# 204 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - bool - fail() const - { return (this->rdstate() & (badbit | failbit)) != 0; } - - - - - - - - bool - bad() const - { return (this->rdstate() & badbit) != 0; } -# 225 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - iostate - exceptions() const - { return _M_exception; } -# 260 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - void - exceptions(iostate __except) - { - _M_exception = __except; - this->clear(_M_streambuf_state); - } - - - - - - - - explicit - basic_ios(basic_streambuf<_CharT, _Traits>* __sb) - : ios_base(), _M_tie(0), _M_fill(), _M_fill_init(false), _M_streambuf(0), - _M_ctype(0), _M_num_put(0), _M_num_get(0) - { this->init(__sb); } - - - - - - - - virtual - ~basic_ios() { } -# 298 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - basic_ostream<_CharT, _Traits>* - tie() const - { return _M_tie; } -# 310 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - basic_ostream<_CharT, _Traits>* - tie(basic_ostream<_CharT, _Traits>* __tiestr) - { - basic_ostream<_CharT, _Traits>* __old = _M_tie; - _M_tie = __tiestr; - return __old; - } - - - - - - - - basic_streambuf<_CharT, _Traits>* - rdbuf() const - { return _M_streambuf; } -# 350 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - basic_streambuf<_CharT, _Traits>* - rdbuf(basic_streambuf<_CharT, _Traits>* __sb); -# 364 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - basic_ios& - copyfmt(const basic_ios& __rhs); - - - - - - - - char_type - fill() const - { - if (!_M_fill_init) - { - _M_fill = this->widen(' '); - _M_fill_init = true; - } - return _M_fill; - } -# 393 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - char_type - fill(char_type __ch) - { - char_type __old = this->fill(); - _M_fill = __ch; - return __old; - } -# 413 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - locale - imbue(const locale& __loc); -# 433 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - char - narrow(char_type __c, char __dfault) const - { return __check_facet(_M_ctype).narrow(__c, __dfault); } -# 452 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - char_type - widen(char __c) const - { return __check_facet(_M_ctype).widen(__c); } - - protected: - - - - - - - - basic_ios() - : ios_base(), _M_tie(0), _M_fill(char_type()), _M_fill_init(false), - _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0) - { } - - - - - - - - void - init(basic_streambuf<_CharT, _Traits>* __sb); - - - basic_ios(const basic_ios&) = delete; - basic_ios& operator=(const basic_ios&) = delete; - - void - move(basic_ios& __rhs) - { - ios_base::_M_move(__rhs); - _M_cache_locale(_M_ios_locale); - this->tie(__rhs.tie(nullptr)); - _M_fill = __rhs._M_fill; - _M_fill_init = __rhs._M_fill_init; - _M_streambuf = nullptr; - } - - void - move(basic_ios&& __rhs) - { this->move(__rhs); } - - void - swap(basic_ios& __rhs) noexcept - { - ios_base::_M_swap(__rhs); - _M_cache_locale(_M_ios_locale); - __rhs._M_cache_locale(__rhs._M_ios_locale); - std::swap(_M_tie, __rhs._M_tie); - std::swap(_M_fill, __rhs._M_fill); - std::swap(_M_fill_init, __rhs._M_fill_init); - } - - void - set_rdbuf(basic_streambuf<_CharT, _Traits>* __sb) - { _M_streambuf = __sb; } - - - void - _M_cache_locale(const locale& __loc); - }; - - -} - -# 1 "/usr/include/c++/14.1.1/bits/basic_ios.tcc" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/basic_ios.tcc" 3 - -# 34 "/usr/include/c++/14.1.1/bits/basic_ios.tcc" 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - void - basic_ios<_CharT, _Traits>::clear(iostate __state) - { - if (this->rdbuf()) - _M_streambuf_state = __state; - else - _M_streambuf_state = __state | badbit; - if (this->exceptions() & this->rdstate()) - __throw_ios_failure(("basic_ios::clear")); - } - - template - basic_streambuf<_CharT, _Traits>* - basic_ios<_CharT, _Traits>::rdbuf(basic_streambuf<_CharT, _Traits>* __sb) - { - basic_streambuf<_CharT, _Traits>* __old = _M_streambuf; - _M_streambuf = __sb; - this->clear(); - return __old; - } - - template - basic_ios<_CharT, _Traits>& - basic_ios<_CharT, _Traits>::copyfmt(const basic_ios& __rhs) - { - - - if (this != std::__addressof(__rhs)) - { - - - - - _Words* __words = (__rhs._M_word_size <= _S_local_word_size) ? - _M_local_word : new _Words[__rhs._M_word_size]; - - - _Callback_list* __cb = __rhs._M_callbacks; - if (__cb) - __cb->_M_add_reference(); - _M_call_callbacks(erase_event); - if (_M_word != _M_local_word) - { - delete [] _M_word; - _M_word = 0; - } - _M_dispose_callbacks(); - - - _M_callbacks = __cb; - for (int __i = 0; __i < __rhs._M_word_size; ++__i) - __words[__i] = __rhs._M_word[__i]; - _M_word = __words; - _M_word_size = __rhs._M_word_size; - - this->flags(__rhs.flags()); - this->width(__rhs.width()); - this->precision(__rhs.precision()); - this->tie(__rhs.tie()); - this->fill(__rhs.fill()); - _M_ios_locale = __rhs.getloc(); - _M_cache_locale(_M_ios_locale); - - _M_call_callbacks(copyfmt_event); - - - this->exceptions(__rhs.exceptions()); - } - return *this; - } - - - template - locale - basic_ios<_CharT, _Traits>::imbue(const locale& __loc) - { - locale __old(this->getloc()); - ios_base::imbue(__loc); - _M_cache_locale(__loc); - if (this->rdbuf() != 0) - this->rdbuf()->pubimbue(__loc); - return __old; - } - - template - void - basic_ios<_CharT, _Traits>::init(basic_streambuf<_CharT, _Traits>* __sb) - { - - ios_base::_M_init(); - - - _M_cache_locale(_M_ios_locale); -# 146 "/usr/include/c++/14.1.1/bits/basic_ios.tcc" 3 - _M_fill = _CharT(); - _M_fill_init = false; - - _M_tie = 0; - _M_exception = goodbit; - _M_streambuf = __sb; - _M_streambuf_state = __sb ? goodbit : badbit; - } - - template - void - basic_ios<_CharT, _Traits>::_M_cache_locale(const locale& __loc) - { - _M_ctype = std::__try_use_facet<__ctype_type>(__loc); - _M_num_put = std::__try_use_facet<__num_put_type>(__loc); - _M_num_get = std::__try_use_facet<__num_get_type>(__loc); - } - - - - - extern template class basic_ios; - - - extern template class basic_ios; - - - - -} -# 521 "/usr/include/c++/14.1.1/bits/basic_ios.h" 2 3 -# 47 "/usr/include/c++/14.1.1/ios" 2 3 - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 50 "/usr/include/c++/14.1.1/ios" 2 3 -# 41 "/usr/include/c++/14.1.1/ostream" 2 3 - - - - - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 48 "/usr/include/c++/14.1.1/ostream" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 65 "/usr/include/c++/14.1.1/ostream" 3 - template - class basic_ostream : virtual public basic_ios<_CharT, _Traits> - { - public: - - typedef _CharT char_type; - typedef typename _Traits::int_type int_type; - typedef typename _Traits::pos_type pos_type; - typedef typename _Traits::off_type off_type; - typedef _Traits traits_type; - - - typedef basic_streambuf<_CharT, _Traits> __streambuf_type; - typedef basic_ios<_CharT, _Traits> __ios_type; - typedef basic_ostream<_CharT, _Traits> __ostream_type; - typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> > - __num_put_type; - typedef ctype<_CharT> __ctype_type; -# 91 "/usr/include/c++/14.1.1/ostream" 3 - explicit - basic_ostream(__streambuf_type* __sb) - { this->init(__sb); } - - - - - - - virtual - ~basic_ostream() { } - - - class sentry; - friend class sentry; -# 115 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - operator<<(__ostream_type& (*__pf)(__ostream_type&)) - { - - - - return __pf(*this); - } - - __ostream_type& - operator<<(__ios_type& (*__pf)(__ios_type&)) - { - - - - __pf(*this); - return *this; - } - - __ostream_type& - operator<<(ios_base& (*__pf) (ios_base&)) - { - - - - __pf(*this); - return *this; - } -# 173 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - operator<<(long __n) - { return _M_insert(__n); } - - __ostream_type& - operator<<(unsigned long __n) - { return _M_insert(__n); } - - __ostream_type& - operator<<(bool __n) - { return _M_insert(__n); } - - __ostream_type& - operator<<(short __n); - - __ostream_type& - operator<<(unsigned short __n) - { - - - return _M_insert(static_cast(__n)); - } - - __ostream_type& - operator<<(int __n); - - __ostream_type& - operator<<(unsigned int __n) - { - - - return _M_insert(static_cast(__n)); - } - - - __ostream_type& - operator<<(long long __n) - { return _M_insert(__n); } - - __ostream_type& - operator<<(unsigned long long __n) - { return _M_insert(__n); } -# 227 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - operator<<(double __f) - { return _M_insert(__f); } - - __ostream_type& - operator<<(float __f) - { - - - return _M_insert(static_cast(__f)); - } - - __ostream_type& - operator<<(long double __f) - { return _M_insert(__f); } -# 297 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - operator<<(const void* __p) - { return _M_insert(__p); } - - - __ostream_type& - operator<<(nullptr_t) - { return *this << "nullptr"; } -# 335 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - operator<<(__streambuf_type* __sb); -# 368 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - put(char_type __c); -# 387 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - write(const char_type* __s, streamsize __n); -# 400 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - flush(); -# 410 "/usr/include/c++/14.1.1/ostream" 3 - pos_type - tellp(); -# 421 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - seekp(pos_type); -# 433 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - seekp(off_type, ios_base::seekdir); - - protected: - basic_ostream() - { this->init(0); } - - - - basic_ostream(basic_iostream<_CharT, _Traits>&) { } - - basic_ostream(const basic_ostream&) = delete; - - basic_ostream(basic_ostream&& __rhs) - : __ios_type() - { __ios_type::move(__rhs); } - - - - basic_ostream& operator=(const basic_ostream&) = delete; - - basic_ostream& - operator=(basic_ostream&& __rhs) - { - swap(__rhs); - return *this; - } - - void - swap(basic_ostream& __rhs) - { __ios_type::swap(__rhs); } - - - template - __ostream_type& - _M_insert(_ValueT __v); - - private: - - void - _M_write(const char_type* __s, streamsize __n) - { std::__ostream_insert(*this, __s, __n); } - - }; -# 485 "/usr/include/c++/14.1.1/ostream" 3 - template - class basic_ostream<_CharT, _Traits>::sentry - { - - bool _M_ok; - basic_ostream<_CharT, _Traits>& _M_os; - - public: -# 504 "/usr/include/c++/14.1.1/ostream" 3 - explicit - sentry(basic_ostream<_CharT, _Traits>& __os); - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - - - - - - - - ~sentry() - { - - if (bool(_M_os.flags() & ios_base::unitbuf) && !uncaught_exception()) - { - - if (_M_os.rdbuf() && _M_os.rdbuf()->pubsync() == -1) - _M_os.setstate(ios_base::badbit); - } - } -#pragma GCC diagnostic pop -# 536 "/usr/include/c++/14.1.1/ostream" 3 - explicit - - operator bool() const - { return _M_ok; } - }; -# 558 "/usr/include/c++/14.1.1/ostream" 3 - template - inline basic_ostream<_CharT, _Traits>& - operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c) - { - if (__out.width() != 0) - return __ostream_insert(__out, &__c, 1); - __out.put(__c); - return __out; - } - - template - inline basic_ostream<_CharT, _Traits>& - operator<<(basic_ostream<_CharT, _Traits>& __out, char __c) - { return (__out << __out.widen(__c)); } - - - template - inline basic_ostream& - operator<<(basic_ostream& __out, char __c) - { - if (__out.width() != 0) - return __ostream_insert(__out, &__c, 1); - __out.put(__c); - return __out; - } - - - template - inline basic_ostream& - operator<<(basic_ostream& __out, signed char __c) - { return (__out << static_cast(__c)); } - - template - inline basic_ostream& - operator<<(basic_ostream& __out, unsigned char __c) - { return (__out << static_cast(__c)); } - - - - - - template - basic_ostream& - operator<<(basic_ostream&, wchar_t) = delete; - - - template - basic_ostream& - operator<<(basic_ostream&, char8_t) = delete; - - - template - basic_ostream& - operator<<(basic_ostream&, char16_t) = delete; - - template - basic_ostream& - operator<<(basic_ostream&, char32_t) = delete; - - - - template - basic_ostream& - operator<<(basic_ostream&, char8_t) = delete; - - - template - basic_ostream& - operator<<(basic_ostream&, char16_t) = delete; - - template - basic_ostream& - operator<<(basic_ostream&, char32_t) = delete; -# 649 "/usr/include/c++/14.1.1/ostream" 3 - template - inline basic_ostream<_CharT, _Traits>& - operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s) - { - if (!__s) - __out.setstate(ios_base::badbit); - else - __ostream_insert(__out, __s, - static_cast(_Traits::length(__s))); - return __out; - } - - template - basic_ostream<_CharT, _Traits> & - operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s); - - - template - inline basic_ostream& - operator<<(basic_ostream& __out, const char* __s) - { - if (!__s) - __out.setstate(ios_base::badbit); - else - __ostream_insert(__out, __s, - static_cast(_Traits::length(__s))); - return __out; - } - - - template - inline basic_ostream& - operator<<(basic_ostream& __out, const signed char* __s) - { return (__out << reinterpret_cast(__s)); } - - template - inline basic_ostream & - operator<<(basic_ostream& __out, const unsigned char* __s) - { return (__out << reinterpret_cast(__s)); } - - - - - - template - basic_ostream& - operator<<(basic_ostream&, const wchar_t*) = delete; - - - template - basic_ostream& - operator<<(basic_ostream&, const char8_t*) = delete; - - - template - basic_ostream& - operator<<(basic_ostream&, const char16_t*) = delete; - - template - basic_ostream& - operator<<(basic_ostream&, const char32_t*) = delete; - - - - template - basic_ostream& - operator<<(basic_ostream&, const char8_t*) = delete; - - - template - basic_ostream& - operator<<(basic_ostream&, const char16_t*) = delete; - - template - basic_ostream& - operator<<(basic_ostream&, const char32_t*) = delete; -# 739 "/usr/include/c++/14.1.1/ostream" 3 - template - inline basic_ostream<_CharT, _Traits>& - endl(basic_ostream<_CharT, _Traits>& __os) - { return flush(__os.put(__os.widen('\n'))); } -# 751 "/usr/include/c++/14.1.1/ostream" 3 - template - inline basic_ostream<_CharT, _Traits>& - ends(basic_ostream<_CharT, _Traits>& __os) - { return __os.put(_CharT()); } - - - - - - - template - inline basic_ostream<_CharT, _Traits>& - flush(basic_ostream<_CharT, _Traits>& __os) - { return __os.flush(); } -# 773 "/usr/include/c++/14.1.1/ostream" 3 - template - concept __derived_from_ios_base = is_class_v<_Tp> - && (!is_same_v<_Tp, ios_base>) - && requires (_Tp* __t, ios_base* __b) { __b = __t; }; - - template - requires __derived_from_ios_base<_Os> - && requires (_Os& __os, const _Tp& __t) { __os << __t; } - using __rvalue_stream_insertion_t = _Os&&; -# 805 "/usr/include/c++/14.1.1/ostream" 3 - template - inline __rvalue_stream_insertion_t<_Ostream, _Tp> - operator<<(_Ostream&& __os, const _Tp& __x) - { - __os << __x; - return std::move(__os); - } - - - template - class __syncbuf_base : public basic_streambuf<_CharT, _Traits> - { - public: - static bool* - _S_get(basic_streambuf<_CharT, _Traits>* __buf [[maybe_unused]]) noexcept - { - - if (auto __p = dynamic_cast<__syncbuf_base*>(__buf)) - return &__p->_M_emit_on_sync; - - return nullptr; - } - - protected: - __syncbuf_base(basic_streambuf<_CharT, _Traits>* __w = nullptr) - : _M_wrapped(__w) - { } - - basic_streambuf<_CharT, _Traits>* _M_wrapped = nullptr; - bool _M_emit_on_sync = false; - bool _M_needs_sync = false; - }; - - template - inline basic_ostream<_CharT, _Traits>& - emit_on_flush(basic_ostream<_CharT, _Traits>& __os) - { - if (bool* __flag = __syncbuf_base<_CharT, _Traits>::_S_get(__os.rdbuf())) - *__flag = true; - return __os; - } - - template - inline basic_ostream<_CharT, _Traits>& - noemit_on_flush(basic_ostream<_CharT, _Traits>& __os) - { - if (bool* __flag = __syncbuf_base<_CharT, _Traits>::_S_get(__os.rdbuf())) - *__flag = false; - return __os; - } - - template - inline basic_ostream<_CharT, _Traits>& - flush_emit(basic_ostream<_CharT, _Traits>& __os) - { - struct _Restore - { - ~_Restore() { *_M_flag = _M_prev; } - - bool _M_prev = false; - bool* _M_flag = &_M_prev; - } __restore; - - if (bool* __flag = __syncbuf_base<_CharT, _Traits>::_S_get(__os.rdbuf())) - { - __restore._M_prev = *__flag; - __restore._M_flag = __flag; - *__flag = true; - } - - __os.flush(); - return __os; - } -# 1014 "/usr/include/c++/14.1.1/ostream" 3 - -} - -# 1 "/usr/include/c++/14.1.1/bits/ostream.tcc" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/ostream.tcc" 3 - -# 38 "/usr/include/c++/14.1.1/bits/ostream.tcc" 3 - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - basic_ostream<_CharT, _Traits>::sentry:: - sentry(basic_ostream<_CharT, _Traits>& __os) - : _M_ok(false), _M_os(__os) - { - - if (__os.tie() && __os.good()) - __os.tie()->flush(); - - if (__os.good()) - _M_ok = true; - else if (__os.bad()) - __os.setstate(ios_base::failbit); - } - - template - template - basic_ostream<_CharT, _Traits>& - basic_ostream<_CharT, _Traits>:: - _M_insert(_ValueT __v) - { - sentry __cerb(*this); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - - const __num_put_type& __np = __check_facet(this->_M_num_put); - - - - - if (__np.put(*this, *this, this->fill(), __v).failed()) - __err |= ios_base::badbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - basic_ostream<_CharT, _Traits>& - basic_ostream<_CharT, _Traits>:: - operator<<(short __n) - { - - - const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield; - if (__fmt == ios_base::oct || __fmt == ios_base::hex) - return _M_insert(static_cast(static_cast(__n))); - else - return _M_insert(static_cast(__n)); - } - - template - basic_ostream<_CharT, _Traits>& - basic_ostream<_CharT, _Traits>:: - operator<<(int __n) - { - - - const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield; - if (__fmt == ios_base::oct || __fmt == ios_base::hex) - return _M_insert(static_cast(static_cast(__n))); - else - return _M_insert(static_cast(__n)); - } - - template - basic_ostream<_CharT, _Traits>& - basic_ostream<_CharT, _Traits>:: - operator<<(__streambuf_type* __sbin) - { - ios_base::iostate __err = ios_base::goodbit; - sentry __cerb(*this); - if (__cerb && __sbin) - { - try - { - if (!__copy_streambufs(__sbin, this->rdbuf())) - __err |= ios_base::failbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::failbit); } - } - else if (!__sbin) - __err |= ios_base::badbit; - if (__err) - this->setstate(__err); - return *this; - } - - template - basic_ostream<_CharT, _Traits>& - basic_ostream<_CharT, _Traits>:: - put(char_type __c) - { - - - - - - - sentry __cerb(*this); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - const int_type __put = this->rdbuf()->sputc(__c); - if (traits_type::eq_int_type(__put, traits_type::eof())) - __err |= ios_base::badbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - basic_ostream<_CharT, _Traits>& - basic_ostream<_CharT, _Traits>:: - write(const _CharT* __s, streamsize __n) - { - - - - - - - - sentry __cerb(*this); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - if (this->rdbuf()->sputn(__s, __n) != __n) - __err = ios_base::badbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(ios_base::badbit); - } - return *this; - } - - template - basic_ostream<_CharT, _Traits>& - basic_ostream<_CharT, _Traits>:: - flush() - { - - - - - - if (__streambuf_type* __buf = this->rdbuf()) - { - sentry __cerb(*this); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - if (this->rdbuf()->pubsync() == -1) - __err |= ios_base::badbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - } - return *this; - } - - template - typename basic_ostream<_CharT, _Traits>::pos_type - basic_ostream<_CharT, _Traits>:: - tellp() - { - sentry __cerb(*this); - pos_type __ret = pos_type(-1); - if (!this->fail()) - __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::out); - return __ret; - } - - template - basic_ostream<_CharT, _Traits>& - basic_ostream<_CharT, _Traits>:: - seekp(pos_type __pos) - { - sentry __cerb(*this); - if (!this->fail()) - { - - - const pos_type __p = this->rdbuf()->pubseekpos(__pos, ios_base::out); - - - if (__p == pos_type(off_type(-1))) - this->setstate(ios_base::failbit); - } - return *this; - } - - template - basic_ostream<_CharT, _Traits>& - basic_ostream<_CharT, _Traits>:: - seekp(off_type __off, ios_base::seekdir __dir) - { - sentry __cerb(*this); - if (!this->fail()) - { - - - const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir, - ios_base::out); - - - if (__p == pos_type(off_type(-1))) - this->setstate(ios_base::failbit); - } - return *this; - } - - template - basic_ostream<_CharT, _Traits>& - operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s) - { - if (!__s) - __out.setstate(ios_base::badbit); - else - { - - - const size_t __clen = char_traits::length(__s); - try - { - struct __ptr_guard - { - _CharT *__p; - __ptr_guard (_CharT *__ip): __p(__ip) { } - ~__ptr_guard() { delete[] __p; } - _CharT* __get() { return __p; } - } __pg (new _CharT[__clen]); - - _CharT *__ws = __pg.__get(); - for (size_t __i = 0; __i < __clen; ++__i) - __ws[__i] = __out.widen(__s[__i]); - __ostream_insert(__out, __ws, __clen); - } - catch(__cxxabiv1::__forced_unwind&) - { - __out._M_setstate(ios_base::badbit); - throw; - } - catch(...) - { __out._M_setstate(ios_base::badbit); } - } - return __out; - } - - - - - extern template class basic_ostream; - extern template ostream& endl(ostream&); - extern template ostream& ends(ostream&); - extern template ostream& flush(ostream&); - extern template ostream& operator<<(ostream&, char); - extern template ostream& operator<<(ostream&, unsigned char); - extern template ostream& operator<<(ostream&, signed char); - extern template ostream& operator<<(ostream&, const char*); - extern template ostream& operator<<(ostream&, const unsigned char*); - extern template ostream& operator<<(ostream&, const signed char*); - - extern template ostream& ostream::_M_insert(long); - extern template ostream& ostream::_M_insert(unsigned long); - extern template ostream& ostream::_M_insert(bool); - - extern template ostream& ostream::_M_insert(long long); - extern template ostream& ostream::_M_insert(unsigned long long); - - extern template ostream& ostream::_M_insert(double); - extern template ostream& ostream::_M_insert(long double); - extern template ostream& ostream::_M_insert(const void*); - - - extern template class basic_ostream; - extern template wostream& endl(wostream&); - extern template wostream& ends(wostream&); - extern template wostream& flush(wostream&); - extern template wostream& operator<<(wostream&, wchar_t); - extern template wostream& operator<<(wostream&, char); - extern template wostream& operator<<(wostream&, const wchar_t*); - extern template wostream& operator<<(wostream&, const char*); - - extern template wostream& wostream::_M_insert(long); - extern template wostream& wostream::_M_insert(unsigned long); - extern template wostream& wostream::_M_insert(bool); - - extern template wostream& wostream::_M_insert(long long); - extern template wostream& wostream::_M_insert(unsigned long long); - - extern template wostream& wostream::_M_insert(double); - extern template wostream& wostream::_M_insert(long double); - extern template wostream& wostream::_M_insert(const void*); - - - - -} -# 1018 "/usr/include/c++/14.1.1/ostream" 2 3 -# 42 "/usr/include/c++/14.1.1/iostream" 2 3 -# 1 "/usr/include/c++/14.1.1/istream" 1 3 -# 36 "/usr/include/c++/14.1.1/istream" 3 - -# 37 "/usr/include/c++/14.1.1/istream" 3 - - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 59 "/usr/include/c++/14.1.1/istream" 3 - template - class basic_istream : virtual public basic_ios<_CharT, _Traits> - { - public: - - typedef _CharT char_type; - typedef typename _Traits::int_type int_type; - typedef typename _Traits::pos_type pos_type; - typedef typename _Traits::off_type off_type; - typedef _Traits traits_type; - - - typedef basic_streambuf<_CharT, _Traits> __streambuf_type; - typedef basic_ios<_CharT, _Traits> __ios_type; - typedef basic_istream<_CharT, _Traits> __istream_type; - typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> > - __num_get_type; - typedef ctype<_CharT> __ctype_type; - - protected: - - - - - - streamsize _M_gcount; - - public: - - - - - - - - explicit - basic_istream(__streambuf_type* __sb) - : _M_gcount(streamsize(0)) - { this->init(__sb); } - - - - - - - virtual - ~basic_istream() - { _M_gcount = streamsize(0); } - - - class sentry; - friend class sentry; -# 121 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - operator>>(__istream_type& (*__pf)(__istream_type&)) - { return __pf(*this); } - - __istream_type& - operator>>(__ios_type& (*__pf)(__ios_type&)) - { - __pf(*this); - return *this; - } - - __istream_type& - operator>>(ios_base& (*__pf)(ios_base&)) - { - __pf(*this); - return *this; - } -# 169 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - operator>>(bool& __n) - { return _M_extract(__n); } - - __istream_type& - operator>>(short& __n); - - __istream_type& - operator>>(unsigned short& __n) - { return _M_extract(__n); } - - __istream_type& - operator>>(int& __n); - - __istream_type& - operator>>(unsigned int& __n) - { return _M_extract(__n); } - - __istream_type& - operator>>(long& __n) - { return _M_extract(__n); } - - __istream_type& - operator>>(unsigned long& __n) - { return _M_extract(__n); } - - - __istream_type& - operator>>(long long& __n) - { return _M_extract(__n); } - - __istream_type& - operator>>(unsigned long long& __n) - { return _M_extract(__n); } -# 215 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - operator>>(float& __f) - { return _M_extract(__f); } - - __istream_type& - operator>>(double& __f) - { return _M_extract(__f); } - - __istream_type& - operator>>(long double& __f) - { return _M_extract(__f); } -# 324 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - operator>>(void*& __p) - { return _M_extract(__p); } -# 348 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - operator>>(__streambuf_type* __sb); -# 358 "/usr/include/c++/14.1.1/istream" 3 - streamsize - gcount() const - { return _M_gcount; } -# 391 "/usr/include/c++/14.1.1/istream" 3 - int_type - get(); -# 405 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - get(char_type& __c); -# 432 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - get(char_type* __s, streamsize __n, char_type __delim); -# 443 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - get(char_type* __s, streamsize __n) - { return this->get(__s, __n, this->widen('\n')); } -# 466 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - get(__streambuf_type& __sb, char_type __delim); -# 476 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - get(__streambuf_type& __sb) - { return this->get(__sb, this->widen('\n')); } -# 505 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - getline(char_type* __s, streamsize __n, char_type __delim); -# 516 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - getline(char_type* __s, streamsize __n) - { return this->getline(__s, __n, this->widen('\n')); } -# 540 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - ignore(streamsize __n, int_type __delim); - - __istream_type& - ignore(streamsize __n); - - __istream_type& - ignore(); -# 557 "/usr/include/c++/14.1.1/istream" 3 - int_type - peek(); -# 575 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - read(char_type* __s, streamsize __n); -# 594 "/usr/include/c++/14.1.1/istream" 3 - streamsize - readsome(char_type* __s, streamsize __n); -# 611 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - putback(char_type __c); -# 627 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - unget(); -# 645 "/usr/include/c++/14.1.1/istream" 3 - int - sync(); -# 660 "/usr/include/c++/14.1.1/istream" 3 - pos_type - tellg(); -# 675 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - seekg(pos_type); -# 691 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - seekg(off_type, ios_base::seekdir); - - - protected: - basic_istream() - : _M_gcount(streamsize(0)) - { this->init(0); } - - - basic_istream(const basic_istream&) = delete; - - basic_istream(basic_istream&& __rhs) - : __ios_type(), _M_gcount(__rhs._M_gcount) - { - __ios_type::move(__rhs); - __rhs._M_gcount = 0; - } - - - - basic_istream& operator=(const basic_istream&) = delete; - - basic_istream& - operator=(basic_istream&& __rhs) - { - swap(__rhs); - return *this; - } - - void - swap(basic_istream& __rhs) - { - __ios_type::swap(__rhs); - std::swap(_M_gcount, __rhs._M_gcount); - } - - - template - __istream_type& - _M_extract(_ValueT& __v); - }; - - - template<> - basic_istream& - basic_istream:: - getline(char_type* __s, streamsize __n, char_type __delim); - - template<> - basic_istream& - basic_istream:: - ignore(streamsize __n); - - template<> - basic_istream& - basic_istream:: - ignore(streamsize __n, int_type __delim); - - - template<> - basic_istream& - basic_istream:: - getline(char_type* __s, streamsize __n, char_type __delim); - - template<> - basic_istream& - basic_istream:: - ignore(streamsize __n); - - template<> - basic_istream& - basic_istream:: - ignore(streamsize __n, int_type __delim); -# 775 "/usr/include/c++/14.1.1/istream" 3 - template - class basic_istream<_CharT, _Traits>::sentry - { - - bool _M_ok; - - public: - - typedef _Traits traits_type; - typedef basic_streambuf<_CharT, _Traits> __streambuf_type; - typedef basic_istream<_CharT, _Traits> __istream_type; - typedef typename __istream_type::__ctype_type __ctype_type; - typedef typename _Traits::int_type __int_type; -# 811 "/usr/include/c++/14.1.1/istream" 3 - explicit - sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false); -# 822 "/usr/include/c++/14.1.1/istream" 3 - explicit - - operator bool() const - { return _M_ok; } - }; -# 840 "/usr/include/c++/14.1.1/istream" 3 - template - basic_istream<_CharT, _Traits>& - operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c); - - template - inline basic_istream& - operator>>(basic_istream& __in, unsigned char& __c) - { return (__in >> reinterpret_cast(__c)); } - - template - inline basic_istream& - operator>>(basic_istream& __in, signed char& __c) - { return (__in >> reinterpret_cast(__c)); } - - - - template - void - __istream_extract(basic_istream<_CharT, _Traits>&, _CharT*, streamsize); - - void __istream_extract(istream&, char*, streamsize); -# 947 "/usr/include/c++/14.1.1/istream" 3 - template - inline basic_istream<_CharT, _Traits>& - operator>>(basic_istream<_CharT, _Traits>& __in, _CharT (&__s)[_Num]) - { - static_assert(_Num <= __gnu_cxx::__numeric_traits::__max); - std::__istream_extract(__in, __s, _Num); - return __in; - } - - template - inline basic_istream& - operator>>(basic_istream& __in, unsigned char (&__s)[_Num]) - { return __in >> reinterpret_cast(__s); } - - template - inline basic_istream& - operator>>(basic_istream& __in, signed char (&__s)[_Num]) - { return __in >> reinterpret_cast(__s); } -# 979 "/usr/include/c++/14.1.1/istream" 3 - template - class basic_iostream - : public basic_istream<_CharT, _Traits>, - public basic_ostream<_CharT, _Traits> - { - public: - - - - typedef _CharT char_type; - typedef typename _Traits::int_type int_type; - typedef typename _Traits::pos_type pos_type; - typedef typename _Traits::off_type off_type; - typedef _Traits traits_type; - - - typedef basic_istream<_CharT, _Traits> __istream_type; - typedef basic_ostream<_CharT, _Traits> __ostream_type; - - - - - - - - explicit - basic_iostream(basic_streambuf<_CharT, _Traits>* __sb) - : __istream_type(__sb), __ostream_type(__sb) { } - - - - - virtual - ~basic_iostream() { } - - protected: - basic_iostream() - : __istream_type(), __ostream_type() { } - - - basic_iostream(const basic_iostream&) = delete; - - basic_iostream(basic_iostream&& __rhs) - : __istream_type(std::move(__rhs)), __ostream_type(*this) - { } - - - - basic_iostream& operator=(const basic_iostream&) = delete; - - basic_iostream& - operator=(basic_iostream&& __rhs) - { - swap(__rhs); - return *this; - } - - void - swap(basic_iostream& __rhs) - { __istream_type::swap(__rhs); } - - }; -# 1062 "/usr/include/c++/14.1.1/istream" 3 - template - basic_istream<_CharT, _Traits>& - ws(basic_istream<_CharT, _Traits>& __is); -# 1073 "/usr/include/c++/14.1.1/istream" 3 - template - requires __derived_from_ios_base<_Is> - && requires (_Is& __is, _Tp&& __t) { __is >> std::forward<_Tp>(__t); } - using __rvalue_stream_extraction_t = _Is&&; -# 1094 "/usr/include/c++/14.1.1/istream" 3 - template - inline __rvalue_stream_extraction_t<_Istream, _Tp> - operator>>(_Istream&& __is, _Tp&& __x) - { - __is >> std::forward<_Tp>(__x); - return std::move(__is); - } - - - -} - -# 1 "/usr/include/c++/14.1.1/bits/istream.tcc" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/istream.tcc" 3 - -# 38 "/usr/include/c++/14.1.1/bits/istream.tcc" 3 - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - basic_istream<_CharT, _Traits>::sentry:: - sentry(basic_istream<_CharT, _Traits>& __in, bool __noskip) : _M_ok(false) - { - ios_base::iostate __err = ios_base::goodbit; - if (__in.good()) - { - try - { - if (__in.tie()) - __in.tie()->flush(); - if (!__noskip && bool(__in.flags() & ios_base::skipws)) - { - const __int_type __eof = traits_type::eof(); - __streambuf_type* __sb = __in.rdbuf(); - __int_type __c = __sb->sgetc(); - - const __ctype_type& __ct = __check_facet(__in._M_ctype); - while (!traits_type::eq_int_type(__c, __eof) - && __ct.is(ctype_base::space, - traits_type::to_char_type(__c))) - __c = __sb->snextc(); - - - - - if (traits_type::eq_int_type(__c, __eof)) - __err |= ios_base::eofbit; - } - } - catch(__cxxabiv1::__forced_unwind&) - { - __in._M_setstate(ios_base::badbit); - throw; - } - catch(...) - { __in._M_setstate(ios_base::badbit); } - } - - if (__in.good() && __err == ios_base::goodbit) - _M_ok = true; - else - { - __err |= ios_base::failbit; - __in.setstate(__err); - } - } - - template - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - _M_extract(_ValueT& __v) - { - sentry __cerb(*this, false); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - - const __num_get_type& __ng = __check_facet(this->_M_num_get); - - - - - __ng.get(*this, 0, *this, __err, __v); - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - operator>>(short& __n) - { - - - sentry __cerb(*this, false); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - long __l; - - const __num_get_type& __ng = __check_facet(this->_M_num_get); - - - - - __ng.get(*this, 0, *this, __err, __l); - - - - if (__l < __gnu_cxx::__numeric_traits::__min) - { - __err |= ios_base::failbit; - __n = __gnu_cxx::__numeric_traits::__min; - } - else if (__l > __gnu_cxx::__numeric_traits::__max) - { - __err |= ios_base::failbit; - __n = __gnu_cxx::__numeric_traits::__max; - } - else - __n = short(__l); - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - operator>>(int& __n) - { - - - sentry __cerb(*this, false); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - long __l; - - const __num_get_type& __ng = __check_facet(this->_M_num_get); - - - - - __ng.get(*this, 0, *this, __err, __l); - - - - if (__l < __gnu_cxx::__numeric_traits::__min) - { - __err |= ios_base::failbit; - __n = __gnu_cxx::__numeric_traits::__min; - } - else if (__l > __gnu_cxx::__numeric_traits::__max) - { - __err |= ios_base::failbit; - __n = __gnu_cxx::__numeric_traits::__max; - } - else - __n = int(__l); - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - operator>>(__streambuf_type* __sbout) - { - ios_base::iostate __err = ios_base::goodbit; - sentry __cerb(*this, false); - if (__cerb && __sbout) - { - try - { - bool __ineof; - if (!__copy_streambufs_eof(this->rdbuf(), __sbout, __ineof)) - __err |= ios_base::failbit; - if (__ineof) - __err |= ios_base::eofbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::failbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::failbit); } - } - else if (!__sbout) - __err |= ios_base::failbit; - if (__err) - this->setstate(__err); - return *this; - } - - template - typename basic_istream<_CharT, _Traits>::int_type - basic_istream<_CharT, _Traits>:: - get(void) - { - const int_type __eof = traits_type::eof(); - int_type __c = __eof; - _M_gcount = 0; - ios_base::iostate __err = ios_base::goodbit; - sentry __cerb(*this, true); - if (__cerb) - { - try - { - __c = this->rdbuf()->sbumpc(); - - if (!traits_type::eq_int_type(__c, __eof)) - _M_gcount = 1; - else - __err |= ios_base::eofbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - } - if (!_M_gcount) - __err |= ios_base::failbit; - if (__err) - this->setstate(__err); - return __c; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - get(char_type& __c) - { - _M_gcount = 0; - ios_base::iostate __err = ios_base::goodbit; - sentry __cerb(*this, true); - if (__cerb) - { - try - { - const int_type __cb = this->rdbuf()->sbumpc(); - - if (!traits_type::eq_int_type(__cb, traits_type::eof())) - { - _M_gcount = 1; - __c = traits_type::to_char_type(__cb); - } - else - __err |= ios_base::eofbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - } - if (!_M_gcount) - __err |= ios_base::failbit; - if (__err) - this->setstate(__err); - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - get(char_type* __s, streamsize __n, char_type __delim) - { - _M_gcount = 0; - ios_base::iostate __err = ios_base::goodbit; - sentry __cerb(*this, true); - if (__cerb) - { - try - { - const int_type __idelim = traits_type::to_int_type(__delim); - const int_type __eof = traits_type::eof(); - __streambuf_type* __sb = this->rdbuf(); - int_type __c = __sb->sgetc(); - - while (_M_gcount + 1 < __n - && !traits_type::eq_int_type(__c, __eof) - && !traits_type::eq_int_type(__c, __idelim)) - { - *__s++ = traits_type::to_char_type(__c); - ++_M_gcount; - __c = __sb->snextc(); - } - if (traits_type::eq_int_type(__c, __eof)) - __err |= ios_base::eofbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - } - - - if (__n > 0) - *__s = char_type(); - if (!_M_gcount) - __err |= ios_base::failbit; - if (__err) - this->setstate(__err); - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - get(__streambuf_type& __sb, char_type __delim) - { - _M_gcount = 0; - ios_base::iostate __err = ios_base::goodbit; - sentry __cerb(*this, true); - if (__cerb) - { - try - { - const int_type __idelim = traits_type::to_int_type(__delim); - const int_type __eof = traits_type::eof(); - __streambuf_type* __this_sb = this->rdbuf(); - int_type __c = __this_sb->sgetc(); - char_type __c2 = traits_type::to_char_type(__c); - unsigned long long __gcount = 0; - - while (!traits_type::eq_int_type(__c, __eof) - && !traits_type::eq_int_type(__c, __idelim) - && !traits_type::eq_int_type(__sb.sputc(__c2), __eof)) - { - ++__gcount; - __c = __this_sb->snextc(); - __c2 = traits_type::to_char_type(__c); - } - if (traits_type::eq_int_type(__c, __eof)) - __err |= ios_base::eofbit; - - - if (__gcount <= __gnu_cxx::__numeric_traits::__max) - _M_gcount = __gcount; - else - _M_gcount = __gnu_cxx::__numeric_traits::__max; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - } - if (!_M_gcount) - __err |= ios_base::failbit; - if (__err) - this->setstate(__err); - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - getline(char_type* __s, streamsize __n, char_type __delim) - { - _M_gcount = 0; - ios_base::iostate __err = ios_base::goodbit; - sentry __cerb(*this, true); - if (__cerb) - { - try - { - const int_type __idelim = traits_type::to_int_type(__delim); - const int_type __eof = traits_type::eof(); - __streambuf_type* __sb = this->rdbuf(); - int_type __c = __sb->sgetc(); - - while (_M_gcount + 1 < __n - && !traits_type::eq_int_type(__c, __eof) - && !traits_type::eq_int_type(__c, __idelim)) - { - *__s++ = traits_type::to_char_type(__c); - __c = __sb->snextc(); - ++_M_gcount; - } - if (traits_type::eq_int_type(__c, __eof)) - __err |= ios_base::eofbit; - else - { - if (traits_type::eq_int_type(__c, __idelim)) - { - __sb->sbumpc(); - ++_M_gcount; - } - else - __err |= ios_base::failbit; - } - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - } - - - if (__n > 0) - *__s = char_type(); - if (!_M_gcount) - __err |= ios_base::failbit; - if (__err) - this->setstate(__err); - return *this; - } - - - - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - ignore(void) - { - _M_gcount = 0; - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - const int_type __eof = traits_type::eof(); - __streambuf_type* __sb = this->rdbuf(); - - if (traits_type::eq_int_type(__sb->sbumpc(), __eof)) - __err |= ios_base::eofbit; - else - _M_gcount = 1; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - ignore(streamsize __n) - { - _M_gcount = 0; - sentry __cerb(*this, true); - if (__cerb && __n > 0) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - const int_type __eof = traits_type::eof(); - __streambuf_type* __sb = this->rdbuf(); - int_type __c = __sb->sgetc(); -# 545 "/usr/include/c++/14.1.1/bits/istream.tcc" 3 - bool __large_ignore = false; - while (true) - { - while (_M_gcount < __n - && !traits_type::eq_int_type(__c, __eof)) - { - ++_M_gcount; - __c = __sb->snextc(); - } - if (__n == __gnu_cxx::__numeric_traits::__max - && !traits_type::eq_int_type(__c, __eof)) - { - _M_gcount = - __gnu_cxx::__numeric_traits::__min; - __large_ignore = true; - } - else - break; - } - - if (__n == __gnu_cxx::__numeric_traits::__max) - { - if (__large_ignore) - _M_gcount = __gnu_cxx::__numeric_traits::__max; - - if (traits_type::eq_int_type(__c, __eof)) - __err |= ios_base::eofbit; - } - else if (_M_gcount < __n) - { - if (traits_type::eq_int_type(__c, __eof)) - __err |= ios_base::eofbit; - } - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - ignore(streamsize __n, int_type __delim) - { - _M_gcount = 0; - sentry __cerb(*this, true); - if (__cerb && __n > 0) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - const int_type __eof = traits_type::eof(); - __streambuf_type* __sb = this->rdbuf(); - int_type __c = __sb->sgetc(); - - - bool __large_ignore = false; - while (true) - { - while (_M_gcount < __n - && !traits_type::eq_int_type(__c, __eof) - && !traits_type::eq_int_type(__c, __delim)) - { - ++_M_gcount; - __c = __sb->snextc(); - } - if (__n == __gnu_cxx::__numeric_traits::__max - && !traits_type::eq_int_type(__c, __eof) - && !traits_type::eq_int_type(__c, __delim)) - { - _M_gcount = - __gnu_cxx::__numeric_traits::__min; - __large_ignore = true; - } - else - break; - } - - if (__n == __gnu_cxx::__numeric_traits::__max) - { - if (__large_ignore) - _M_gcount = __gnu_cxx::__numeric_traits::__max; - - if (traits_type::eq_int_type(__c, __eof)) - __err |= ios_base::eofbit; - else - { - if (_M_gcount != __n) - ++_M_gcount; - __sb->sbumpc(); - } - } - else if (_M_gcount < __n) - { - if (traits_type::eq_int_type(__c, __eof)) - __err |= ios_base::eofbit; - else - { - ++_M_gcount; - __sb->sbumpc(); - } - } - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - typename basic_istream<_CharT, _Traits>::int_type - basic_istream<_CharT, _Traits>:: - peek(void) - { - int_type __c = traits_type::eof(); - _M_gcount = 0; - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - __c = this->rdbuf()->sgetc(); - if (traits_type::eq_int_type(__c, traits_type::eof())) - __err |= ios_base::eofbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return __c; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - read(char_type* __s, streamsize __n) - { - _M_gcount = 0; - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - _M_gcount = this->rdbuf()->sgetn(__s, __n); - if (_M_gcount != __n) - __err |= (ios_base::eofbit | ios_base::failbit); - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - streamsize - basic_istream<_CharT, _Traits>:: - readsome(char_type* __s, streamsize __n) - { - _M_gcount = 0; - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - - const streamsize __num = this->rdbuf()->in_avail(); - if (__num > 0) - _M_gcount = this->rdbuf()->sgetn(__s, std::min(__num, __n)); - else if (__num == -1) - __err |= ios_base::eofbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return _M_gcount; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - putback(char_type __c) - { - - - _M_gcount = 0; - - this->clear(this->rdstate() & ~ios_base::eofbit); - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - const int_type __eof = traits_type::eof(); - __streambuf_type* __sb = this->rdbuf(); - if (!__sb - || traits_type::eq_int_type(__sb->sputbackc(__c), __eof)) - __err |= ios_base::badbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - unget(void) - { - - - _M_gcount = 0; - - this->clear(this->rdstate() & ~ios_base::eofbit); - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - const int_type __eof = traits_type::eof(); - __streambuf_type* __sb = this->rdbuf(); - if (!__sb - || traits_type::eq_int_type(__sb->sungetc(), __eof)) - __err |= ios_base::badbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - int - basic_istream<_CharT, _Traits>:: - sync(void) - { - - - int __ret = -1; - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - __streambuf_type* __sb = this->rdbuf(); - if (__sb) - { - if (__sb->pubsync() == -1) - __err |= ios_base::badbit; - else - __ret = 0; - } - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return __ret; - } - - template - typename basic_istream<_CharT, _Traits>::pos_type - basic_istream<_CharT, _Traits>:: - tellg(void) - { - - - pos_type __ret = pos_type(-1); - sentry __cerb(*this, true); - if (__cerb) - { - try - { - if (!this->fail()) - __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, - ios_base::in); - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - } - return __ret; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - seekg(pos_type __pos) - { - - - - this->clear(this->rdstate() & ~ios_base::eofbit); - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - if (!this->fail()) - { - - const pos_type __p = this->rdbuf()->pubseekpos(__pos, - ios_base::in); - - - if (__p == pos_type(off_type(-1))) - __err |= ios_base::failbit; - } - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - seekg(off_type __off, ios_base::seekdir __dir) - { - - - - this->clear(this->rdstate() & ~ios_base::eofbit); - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - if (!this->fail()) - { - - const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir, - ios_base::in); - - - if (__p == pos_type(off_type(-1))) - __err |= ios_base::failbit; - } - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - - template - basic_istream<_CharT, _Traits>& - operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c) - { - typedef basic_istream<_CharT, _Traits> __istream_type; - typedef typename __istream_type::int_type __int_type; - - typename __istream_type::sentry __cerb(__in, false); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - const __int_type __cb = __in.rdbuf()->sbumpc(); - if (!_Traits::eq_int_type(__cb, _Traits::eof())) - __c = _Traits::to_char_type(__cb); - else - __err |= (ios_base::eofbit | ios_base::failbit); - } - catch(__cxxabiv1::__forced_unwind&) - { - __in._M_setstate(ios_base::badbit); - throw; - } - catch(...) - { __in._M_setstate(ios_base::badbit); } - if (__err) - __in.setstate(__err); - } - return __in; - } - - template - void - __istream_extract(basic_istream<_CharT, _Traits>& __in, _CharT* __s, - streamsize __num) - { - typedef basic_istream<_CharT, _Traits> __istream_type; - typedef basic_streambuf<_CharT, _Traits> __streambuf_type; - typedef typename _Traits::int_type int_type; - typedef _CharT char_type; - typedef ctype<_CharT> __ctype_type; - - streamsize __extracted = 0; - ios_base::iostate __err = ios_base::goodbit; - typename __istream_type::sentry __cerb(__in, false); - if (__cerb) - { - try - { - - streamsize __width = __in.width(); - if (0 < __width && __width < __num) - __num = __width; - - const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); - - const int_type __eof = _Traits::eof(); - __streambuf_type* __sb = __in.rdbuf(); - int_type __c = __sb->sgetc(); - - while (__extracted < __num - 1 - && !_Traits::eq_int_type(__c, __eof) - && !__ct.is(ctype_base::space, - _Traits::to_char_type(__c))) - { - *__s++ = _Traits::to_char_type(__c); - ++__extracted; - __c = __sb->snextc(); - } - - if (__extracted < __num - 1 - && _Traits::eq_int_type(__c, __eof)) - __err |= ios_base::eofbit; - - - - *__s = char_type(); - __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); - } - - - template - basic_istream<_CharT, _Traits>& - ws(basic_istream<_CharT, _Traits>& __in) - { - typedef basic_istream<_CharT, _Traits> __istream_type; - typedef basic_streambuf<_CharT, _Traits> __streambuf_type; - typedef typename __istream_type::int_type __int_type; - typedef ctype<_CharT> __ctype_type; - - - - typename __istream_type::sentry __cerb(__in, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); - const __int_type __eof = _Traits::eof(); - __streambuf_type* __sb = __in.rdbuf(); - __int_type __c = __sb->sgetc(); - - while (true) - { - if (_Traits::eq_int_type(__c, __eof)) - { - __err = ios_base::eofbit; - break; - } - if (!__ct.is(ctype_base::space, _Traits::to_char_type(__c))) - break; - __c = __sb->snextc(); - } - } - catch(const __cxxabiv1::__forced_unwind&) - { - __in._M_setstate(ios_base::badbit); - throw; - } - catch(...) - { - __in._M_setstate(ios_base::badbit); - } - if (__err) - __in.setstate(__err); - } - return __in; - } - - - - - extern template class basic_istream; - extern template istream& ws(istream&); - extern template istream& operator>>(istream&, char&); - extern template istream& operator>>(istream&, unsigned char&); - extern template istream& operator>>(istream&, signed char&); - - extern template istream& istream::_M_extract(unsigned short&); - extern template istream& istream::_M_extract(unsigned int&); - extern template istream& istream::_M_extract(long&); - extern template istream& istream::_M_extract(unsigned long&); - extern template istream& istream::_M_extract(bool&); - - extern template istream& istream::_M_extract(long long&); - extern template istream& istream::_M_extract(unsigned long long&); - - extern template istream& istream::_M_extract(float&); - extern template istream& istream::_M_extract(double&); - extern template istream& istream::_M_extract(long double&); - extern template istream& istream::_M_extract(void*&); - - extern template class basic_iostream; - - - extern template class basic_istream; - extern template wistream& ws(wistream&); - extern template wistream& operator>>(wistream&, wchar_t&); - extern template void __istream_extract(wistream&, wchar_t*, streamsize); - - extern template wistream& wistream::_M_extract(unsigned short&); - extern template wistream& wistream::_M_extract(unsigned int&); - extern template wistream& wistream::_M_extract(long&); - extern template wistream& wistream::_M_extract(unsigned long&); - extern template wistream& wistream::_M_extract(bool&); - - extern template wistream& wistream::_M_extract(long long&); - extern template wistream& wistream::_M_extract(unsigned long long&); - - extern template wistream& wistream::_M_extract(float&); - extern template wistream& wistream::_M_extract(double&); - extern template wistream& wistream::_M_extract(long double&); - extern template wistream& wistream::_M_extract(void*&); - - extern template class basic_iostream; - - - - -} -# 1107 "/usr/include/c++/14.1.1/istream" 2 3 -# 43 "/usr/include/c++/14.1.1/iostream" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 62 "/usr/include/c++/14.1.1/iostream" 3 - extern istream cin; - extern ostream cout; - extern ostream cerr; - extern ostream clog; - - - extern wistream wcin; - extern wostream wcout; - extern wostream wcerr; - extern wostream wclog; -# 82 "/usr/include/c++/14.1.1/iostream" 3 - __extension__ __asm (".globl _ZSt21ios_base_library_initv"); - - - -} -# 8 "/home/ghazal/CLionProjects/NextFlick/admin.h" 2 - -# 8 "/home/ghazal/CLionProjects/NextFlick/admin.h" -using namespace std; - -class admin { -protected: - int id; - string username; - string password; -public: - admin(int Id, string Username, string Password): id(Id),username(Username),password(Password){} -}; -# 6 "/home/ghazal/CLionProjects/NextFlick/admin.cpp" 2 diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/admin.cpp.o.modmap b/cmake-build-debug/CMakeFiles/NextFlick.dir/admin.cpp.o.modmap deleted file mode 100644 index b7619d4..0000000 --- a/cmake-build-debug/CMakeFiles/NextFlick.dir/admin.cpp.o.modmap +++ /dev/null @@ -1 +0,0 @@ -$root . diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/admin.cpp.obj b/cmake-build-debug/CMakeFiles/NextFlick.dir/admin.cpp.obj new file mode 100644 index 0000000..926a27c Binary files /dev/null and b/cmake-build-debug/CMakeFiles/NextFlick.dir/admin.cpp.obj differ diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/admin.cpp.obj.d b/cmake-build-debug/CMakeFiles/NextFlick.dir/admin.cpp.obj.d new file mode 100644 index 0000000..f331243 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/NextFlick.dir/admin.cpp.obj.d @@ -0,0 +1,153 @@ +CMakeFiles/NextFlick.dir/admin.cpp.obj: \ + C:\Users\ZBook\ Fury\CLionProjects\NextFlick\admin.cpp \ + C:\Users\ZBook\ Fury\CLionProjects\NextFlick\admin.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/iostream \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/requires_hosted.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++config.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/os_defines.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/cpu_defines.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/pstl/pstl_config.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ostream \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ios \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/iosfwd \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stringfwd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/memoryfwd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/postypes.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cwchar \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/wchar.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_mac.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_secapi.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/vadefs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sdks/_mingw_ddk.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_stdio_config.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_wstdlib.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_off_t.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_stat64.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/swprintf.inl \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/wchar_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/exception \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception_ptr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception_defines.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cxxabi_init_exception.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/stddef.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stddef.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/crtdefs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/typeinfo \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/hash_bytes.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/new \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/move.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/type_traits \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/nested_exception.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/char_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/compare \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/concepts \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_construct.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_types.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/iterator_concepts.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ptr_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_cmp.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_funcs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/concept_check.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/debug/assertions.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/localefwd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++locale.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/clocale \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/locale.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdio.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/stdio_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cctype \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/ctype.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ios_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/atomicity.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/gthr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/gthr-default.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/errno.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sys/types.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/process.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_startup.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/limits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/syslimits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/limits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/signal.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_signal.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/time.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sys/timeb.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/sys/timeb_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_timeval.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_time.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_compat.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_unistd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/atomic_word.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_classes.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/string \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/new_allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/functexcept.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cpp_type_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ostream_insert.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cxxabi_forced.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/type_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_function.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward/binders.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/numeric_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_algobase.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_pair.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/utility.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/debug/debug.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/predefined_ops.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bit \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/refwrap.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/invoke.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/range_access.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/initializer_list \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_string.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/alloc_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/alloc_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/string_view \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/functional_hash.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/max_size_type.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/numbers \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/string_view.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/string_conversions.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstdlib \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdlib.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/stdlib_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/stdlib.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/malloc.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/mm_malloc.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/std_abs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstdio \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cerrno \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/charconv.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_string.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/memory_resource.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstddef \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/uses_allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/uses_allocator_args.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/tuple \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_util.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_classes.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/system_error \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/error_constants.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/stdexcept \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/streambuf \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/streambuf.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_ios.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_facets.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cwctype \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/wctype.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/streambuf_iterator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_inline.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_facets.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_ios.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ostream.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/istream \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/istream.tcc diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/build.make b/cmake-build-debug/CMakeFiles/NextFlick.dir/build.make new file mode 100644 index 0000000..0027e0f --- /dev/null +++ b/cmake-build-debug/CMakeFiles/NextFlick.dir/build.make @@ -0,0 +1,159 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "MinGW Makefiles" Generator, CMake Version 3.30 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +SHELL = cmd.exe + +# The CMake executable. +CMAKE_COMMAND = "C:\Users\ZBook Fury\AppData\Local\JetBrains\CLion 2024.3.2\bin\cmake\win\x64\bin\cmake.exe" + +# The command to remove a file. +RM = "C:\Users\ZBook Fury\AppData\Local\JetBrains\CLion 2024.3.2\bin\cmake\win\x64\bin\cmake.exe" -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = "C:\Users\ZBook Fury\CLionProjects\NextFlick" + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = "C:\Users\ZBook Fury\CLionProjects\NextFlick\cmake-build-debug" + +# Include any dependencies generated for this target. +include CMakeFiles/NextFlick.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include CMakeFiles/NextFlick.dir/compiler_depend.make + +# Include the progress variables for this target. +include CMakeFiles/NextFlick.dir/progress.make + +# Include the compile flags for this target's objects. +include CMakeFiles/NextFlick.dir/flags.make + +CMakeFiles/NextFlick.dir/main.cpp.obj: CMakeFiles/NextFlick.dir/flags.make +CMakeFiles/NextFlick.dir/main.cpp.obj: C:/Users/ZBook\ Fury/CLionProjects/NextFlick/main.cpp +CMakeFiles/NextFlick.dir/main.cpp.obj: CMakeFiles/NextFlick.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="C:\Users\ZBook Fury\CLionProjects\NextFlick\cmake-build-debug\CMakeFiles" --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/NextFlick.dir/main.cpp.obj" + C:\Users\ZBOOKF~1\AppData\Local\JETBRA~1\CLION2~1.2\bin\mingw\bin\G__~1.EXE $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/NextFlick.dir/main.cpp.obj -MF CMakeFiles\NextFlick.dir\main.cpp.obj.d -o CMakeFiles\NextFlick.dir\main.cpp.obj -c "C:\Users\ZBook Fury\CLionProjects\NextFlick\main.cpp" + +CMakeFiles/NextFlick.dir/main.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/NextFlick.dir/main.cpp.i" + C:\Users\ZBOOKF~1\AppData\Local\JETBRA~1\CLION2~1.2\bin\mingw\bin\G__~1.EXE $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E "C:\Users\ZBook Fury\CLionProjects\NextFlick\main.cpp" > CMakeFiles\NextFlick.dir\main.cpp.i + +CMakeFiles/NextFlick.dir/main.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/NextFlick.dir/main.cpp.s" + C:\Users\ZBOOKF~1\AppData\Local\JETBRA~1\CLION2~1.2\bin\mingw\bin\G__~1.EXE $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S "C:\Users\ZBook Fury\CLionProjects\NextFlick\main.cpp" -o CMakeFiles\NextFlick.dir\main.cpp.s + +CMakeFiles/NextFlick.dir/users.cpp.obj: CMakeFiles/NextFlick.dir/flags.make +CMakeFiles/NextFlick.dir/users.cpp.obj: C:/Users/ZBook\ Fury/CLionProjects/NextFlick/users.cpp +CMakeFiles/NextFlick.dir/users.cpp.obj: CMakeFiles/NextFlick.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="C:\Users\ZBook Fury\CLionProjects\NextFlick\cmake-build-debug\CMakeFiles" --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object CMakeFiles/NextFlick.dir/users.cpp.obj" + C:\Users\ZBOOKF~1\AppData\Local\JETBRA~1\CLION2~1.2\bin\mingw\bin\G__~1.EXE $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/NextFlick.dir/users.cpp.obj -MF CMakeFiles\NextFlick.dir\users.cpp.obj.d -o CMakeFiles\NextFlick.dir\users.cpp.obj -c "C:\Users\ZBook Fury\CLionProjects\NextFlick\users.cpp" + +CMakeFiles/NextFlick.dir/users.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/NextFlick.dir/users.cpp.i" + C:\Users\ZBOOKF~1\AppData\Local\JETBRA~1\CLION2~1.2\bin\mingw\bin\G__~1.EXE $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E "C:\Users\ZBook Fury\CLionProjects\NextFlick\users.cpp" > CMakeFiles\NextFlick.dir\users.cpp.i + +CMakeFiles/NextFlick.dir/users.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/NextFlick.dir/users.cpp.s" + C:\Users\ZBOOKF~1\AppData\Local\JETBRA~1\CLION2~1.2\bin\mingw\bin\G__~1.EXE $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S "C:\Users\ZBook Fury\CLionProjects\NextFlick\users.cpp" -o CMakeFiles\NextFlick.dir\users.cpp.s + +CMakeFiles/NextFlick.dir/admin.cpp.obj: CMakeFiles/NextFlick.dir/flags.make +CMakeFiles/NextFlick.dir/admin.cpp.obj: C:/Users/ZBook\ Fury/CLionProjects/NextFlick/admin.cpp +CMakeFiles/NextFlick.dir/admin.cpp.obj: CMakeFiles/NextFlick.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="C:\Users\ZBook Fury\CLionProjects\NextFlick\cmake-build-debug\CMakeFiles" --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object CMakeFiles/NextFlick.dir/admin.cpp.obj" + C:\Users\ZBOOKF~1\AppData\Local\JETBRA~1\CLION2~1.2\bin\mingw\bin\G__~1.EXE $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/NextFlick.dir/admin.cpp.obj -MF CMakeFiles\NextFlick.dir\admin.cpp.obj.d -o CMakeFiles\NextFlick.dir\admin.cpp.obj -c "C:\Users\ZBook Fury\CLionProjects\NextFlick\admin.cpp" + +CMakeFiles/NextFlick.dir/admin.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/NextFlick.dir/admin.cpp.i" + C:\Users\ZBOOKF~1\AppData\Local\JETBRA~1\CLION2~1.2\bin\mingw\bin\G__~1.EXE $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E "C:\Users\ZBook Fury\CLionProjects\NextFlick\admin.cpp" > CMakeFiles\NextFlick.dir\admin.cpp.i + +CMakeFiles/NextFlick.dir/admin.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/NextFlick.dir/admin.cpp.s" + C:\Users\ZBOOKF~1\AppData\Local\JETBRA~1\CLION2~1.2\bin\mingw\bin\G__~1.EXE $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S "C:\Users\ZBook Fury\CLionProjects\NextFlick\admin.cpp" -o CMakeFiles\NextFlick.dir\admin.cpp.s + +CMakeFiles/NextFlick.dir/CompressedTrie.cpp.obj: CMakeFiles/NextFlick.dir/flags.make +CMakeFiles/NextFlick.dir/CompressedTrie.cpp.obj: C:/Users/ZBook\ Fury/CLionProjects/NextFlick/CompressedTrie.cpp +CMakeFiles/NextFlick.dir/CompressedTrie.cpp.obj: CMakeFiles/NextFlick.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="C:\Users\ZBook Fury\CLionProjects\NextFlick\cmake-build-debug\CMakeFiles" --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object CMakeFiles/NextFlick.dir/CompressedTrie.cpp.obj" + C:\Users\ZBOOKF~1\AppData\Local\JETBRA~1\CLION2~1.2\bin\mingw\bin\G__~1.EXE $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/NextFlick.dir/CompressedTrie.cpp.obj -MF CMakeFiles\NextFlick.dir\CompressedTrie.cpp.obj.d -o CMakeFiles\NextFlick.dir\CompressedTrie.cpp.obj -c "C:\Users\ZBook Fury\CLionProjects\NextFlick\CompressedTrie.cpp" + +CMakeFiles/NextFlick.dir/CompressedTrie.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/NextFlick.dir/CompressedTrie.cpp.i" + C:\Users\ZBOOKF~1\AppData\Local\JETBRA~1\CLION2~1.2\bin\mingw\bin\G__~1.EXE $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E "C:\Users\ZBook Fury\CLionProjects\NextFlick\CompressedTrie.cpp" > CMakeFiles\NextFlick.dir\CompressedTrie.cpp.i + +CMakeFiles/NextFlick.dir/CompressedTrie.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/NextFlick.dir/CompressedTrie.cpp.s" + C:\Users\ZBOOKF~1\AppData\Local\JETBRA~1\CLION2~1.2\bin\mingw\bin\G__~1.EXE $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S "C:\Users\ZBook Fury\CLionProjects\NextFlick\CompressedTrie.cpp" -o CMakeFiles\NextFlick.dir\CompressedTrie.cpp.s + +# Object files for target NextFlick +NextFlick_OBJECTS = \ +"CMakeFiles/NextFlick.dir/main.cpp.obj" \ +"CMakeFiles/NextFlick.dir/users.cpp.obj" \ +"CMakeFiles/NextFlick.dir/admin.cpp.obj" \ +"CMakeFiles/NextFlick.dir/CompressedTrie.cpp.obj" + +# External object files for target NextFlick +NextFlick_EXTERNAL_OBJECTS = + +NextFlick.exe: CMakeFiles/NextFlick.dir/main.cpp.obj +NextFlick.exe: CMakeFiles/NextFlick.dir/users.cpp.obj +NextFlick.exe: CMakeFiles/NextFlick.dir/admin.cpp.obj +NextFlick.exe: CMakeFiles/NextFlick.dir/CompressedTrie.cpp.obj +NextFlick.exe: CMakeFiles/NextFlick.dir/build.make +NextFlick.exe: CMakeFiles/NextFlick.dir/linkLibs.rsp +NextFlick.exe: CMakeFiles/NextFlick.dir/objects1.rsp +NextFlick.exe: CMakeFiles/NextFlick.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir="C:\Users\ZBook Fury\CLionProjects\NextFlick\cmake-build-debug\CMakeFiles" --progress-num=$(CMAKE_PROGRESS_5) "Linking CXX executable NextFlick.exe" + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles\NextFlick.dir\link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/NextFlick.dir/build: NextFlick.exe +.PHONY : CMakeFiles/NextFlick.dir/build + +CMakeFiles/NextFlick.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles\NextFlick.dir\cmake_clean.cmake +.PHONY : CMakeFiles/NextFlick.dir/clean + +CMakeFiles/NextFlick.dir/depend: + $(CMAKE_COMMAND) -E cmake_depends "MinGW Makefiles" "C:\Users\ZBook Fury\CLionProjects\NextFlick" "C:\Users\ZBook Fury\CLionProjects\NextFlick" "C:\Users\ZBook Fury\CLionProjects\NextFlick\cmake-build-debug" "C:\Users\ZBook Fury\CLionProjects\NextFlick\cmake-build-debug" "C:\Users\ZBook Fury\CLionProjects\NextFlick\cmake-build-debug\CMakeFiles\NextFlick.dir\DependInfo.cmake" "--color=$(COLOR)" +.PHONY : CMakeFiles/NextFlick.dir/depend + diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/cmake_clean.cmake b/cmake-build-debug/CMakeFiles/NextFlick.dir/cmake_clean.cmake new file mode 100644 index 0000000..5bac609 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/NextFlick.dir/cmake_clean.cmake @@ -0,0 +1,19 @@ +file(REMOVE_RECURSE + "CMakeFiles/NextFlick.dir/CompressedTrie.cpp.obj" + "CMakeFiles/NextFlick.dir/CompressedTrie.cpp.obj.d" + "CMakeFiles/NextFlick.dir/admin.cpp.obj" + "CMakeFiles/NextFlick.dir/admin.cpp.obj.d" + "CMakeFiles/NextFlick.dir/main.cpp.obj" + "CMakeFiles/NextFlick.dir/main.cpp.obj.d" + "CMakeFiles/NextFlick.dir/users.cpp.obj" + "CMakeFiles/NextFlick.dir/users.cpp.obj.d" + "NextFlick.exe" + "NextFlick.exe.manifest" + "NextFlick.pdb" + "libNextFlick.dll.a" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/NextFlick.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/compiler_depend.internal b/cmake-build-debug/CMakeFiles/NextFlick.dir/compiler_depend.internal new file mode 100644 index 0000000..2574c8f --- /dev/null +++ b/cmake-build-debug/CMakeFiles/NextFlick.dir/compiler_depend.internal @@ -0,0 +1,696 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "MinGW Makefiles" Generator, CMake Version 3.30 + +CMakeFiles/NextFlick.dir/CompressedTrie.cpp.obj + C:/Users/ZBook Fury/CLionProjects/NextFlick/CompressedTrie.cpp + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward/auto_ptr.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward/binders.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bit + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/align.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/alloc_traits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/allocated_ptr.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/allocator.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/atomic_base.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/atomic_lockfree_defines.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/atomic_wait.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_ios.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_ios.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_string.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_string.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/char_traits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/charconv.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/concept_check.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cpp_type_traits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cxxabi_forced.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cxxabi_init_exception.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/enable_special_members.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/erase_if.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception_defines.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception_ptr.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/functexcept.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/functional_hash.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/hash_bytes.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/hashtable.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/hashtable_policy.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/invoke.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ios_base.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/istream.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/iterator_concepts.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_classes.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_classes.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_facets.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_facets.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/localefwd.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/max_size_type.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/memory_resource.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/memoryfwd.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/move.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/nested_exception.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/new_allocator.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/node_handle.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ostream.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ostream_insert.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/postypes.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/predefined_ops.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ptr_traits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/range_access.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_algobase.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_base.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_cmp.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_uninitialized.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_util.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/refwrap.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/requires_hosted.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/shared_ptr.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/shared_ptr_atomic.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/shared_ptr_base.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/std_abs.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/std_mutex.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_algobase.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_bvector.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_construct.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_function.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_funcs.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_types.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_pair.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_raw_storage_iter.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_tempbuf.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_uninitialized.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_vector.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/streambuf.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/streambuf_iterator.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/string_view.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stringfwd.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/unique_ptr.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/unordered_map.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/uses_allocator.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/uses_allocator_args.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/utility.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/vector.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cctype + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cerrno + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/clocale + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/compare + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/concepts + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstddef + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstdio + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstdlib + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cwchar + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cwctype + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/debug/assertions.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/debug/debug.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/exception + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/aligned_buffer.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/alloc_traits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/atomicity.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/concurrence.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/numeric_traits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/string_conversions.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/type_traits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/initializer_list + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ios + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/iosfwd + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/iostream + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/istream + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/memory + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/new + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/numbers + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ostream + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/pstl/execution_defs.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/pstl/glue_memory_defs.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/pstl/pstl_config.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/stdexcept + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/stdlib.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/streambuf + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/string + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/string_view + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/system_error + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/tuple + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/type_traits + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/typeinfo + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/unordered_map + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/vector + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/atomic_word.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++allocator.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++config.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++locale.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/cpu_defines.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_base.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_inline.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/error_constants.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/gthr-default.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/gthr.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/os_defines.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/limits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/mm_malloc.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/stddef.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/stdint.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/syslimits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_mac.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_off_t.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_secapi.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_stat64.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_timeval.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_startup.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_stdio_config.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_wstdlib.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/crtdefs.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/ctype.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/errno.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/limits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/locale.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/malloc.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/process.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_compat.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_signal.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_time.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_unistd.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sdks/_mingw_ddk.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/stdio_s.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/stdlib_s.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/sys/timeb_s.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/wchar_s.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/signal.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stddef.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdint.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdio.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdlib.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/swprintf.inl + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sys/timeb.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sys/types.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/time.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/vadefs.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/wchar.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/wctype.h + C:/Users/ZBook Fury/CLionProjects/NextFlick/CompressedTrie.h + C:/Users/ZBook Fury/CLionProjects/NextFlick/Media.h + +CMakeFiles/NextFlick.dir/admin.cpp.obj + C:/Users/ZBook Fury/CLionProjects/NextFlick/admin.cpp + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward/binders.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bit + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/alloc_traits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/allocator.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_ios.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_ios.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_string.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_string.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/char_traits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/charconv.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/concept_check.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cpp_type_traits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cxxabi_forced.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cxxabi_init_exception.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception_defines.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception_ptr.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/functexcept.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/functional_hash.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/hash_bytes.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/invoke.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ios_base.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/istream.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/iterator_concepts.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_classes.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_classes.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_facets.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_facets.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/localefwd.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/max_size_type.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/memory_resource.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/memoryfwd.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/move.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/nested_exception.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/new_allocator.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ostream.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ostream_insert.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/postypes.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/predefined_ops.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ptr_traits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/range_access.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_base.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_cmp.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_util.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/refwrap.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/requires_hosted.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/std_abs.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_algobase.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_construct.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_function.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_funcs.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_types.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_pair.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/streambuf.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/streambuf_iterator.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/string_view.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stringfwd.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/uses_allocator.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/uses_allocator_args.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/utility.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cctype + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cerrno + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/clocale + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/compare + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/concepts + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstddef + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstdio + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstdlib + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cwchar + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cwctype + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/debug/assertions.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/debug/debug.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/exception + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/alloc_traits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/atomicity.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/numeric_traits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/string_conversions.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/type_traits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/initializer_list + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ios + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/iosfwd + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/iostream + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/istream + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/new + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/numbers + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ostream + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/pstl/pstl_config.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/stdexcept + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/stdlib.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/streambuf + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/string + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/string_view + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/system_error + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/tuple + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/type_traits + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/typeinfo + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/atomic_word.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++allocator.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++config.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++locale.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/cpu_defines.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_base.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_inline.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/error_constants.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/gthr-default.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/gthr.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/os_defines.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/limits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/mm_malloc.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/stddef.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/syslimits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_mac.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_off_t.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_secapi.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_stat64.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_timeval.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_startup.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_stdio_config.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_wstdlib.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/crtdefs.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/ctype.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/errno.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/limits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/locale.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/malloc.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/process.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_compat.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_signal.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_time.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_unistd.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sdks/_mingw_ddk.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/stdio_s.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/stdlib_s.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/sys/timeb_s.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/wchar_s.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/signal.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stddef.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdio.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdlib.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/swprintf.inl + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sys/timeb.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sys/types.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/time.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/vadefs.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/wchar.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/wctype.h + C:/Users/ZBook Fury/CLionProjects/NextFlick/admin.h + +CMakeFiles/NextFlick.dir/main.cpp.obj + C:/Users/ZBook Fury/CLionProjects/NextFlick/main.cpp + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward/auto_ptr.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward/binders.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bit + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/align.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/alloc_traits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/allocated_ptr.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/allocator.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/atomic_base.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/atomic_lockfree_defines.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/atomic_wait.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_ios.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_ios.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_string.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_string.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/char_traits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/charconv.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/concept_check.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cpp_type_traits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cxxabi_forced.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cxxabi_init_exception.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/enable_special_members.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/erase_if.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception_defines.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception_ptr.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/functexcept.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/functional_hash.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/hash_bytes.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/hashtable.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/hashtable_policy.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/invoke.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ios_base.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/istream.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/iterator_concepts.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_classes.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_classes.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_facets.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_facets.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/localefwd.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/max_size_type.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/memory_resource.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/memoryfwd.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/move.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/nested_exception.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/new_allocator.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/node_handle.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ostream.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ostream_insert.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/postypes.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/predefined_ops.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ptr_traits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/range_access.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_algobase.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_base.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_cmp.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_uninitialized.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_util.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/refwrap.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/requires_hosted.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/shared_ptr.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/shared_ptr_atomic.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/shared_ptr_base.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/std_abs.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/std_mutex.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_algobase.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_bvector.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_construct.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_function.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_funcs.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_types.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_pair.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_raw_storage_iter.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_tempbuf.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_uninitialized.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_vector.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/streambuf.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/streambuf_iterator.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/string_view.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stringfwd.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/unique_ptr.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/unordered_map.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/uses_allocator.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/uses_allocator_args.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/utility.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/vector.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cctype + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cerrno + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/clocale + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/compare + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/concepts + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstddef + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstdio + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstdlib + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cwchar + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cwctype + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/debug/assertions.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/debug/debug.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/exception + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/aligned_buffer.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/alloc_traits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/atomicity.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/concurrence.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/numeric_traits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/string_conversions.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/type_traits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/initializer_list + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ios + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/iosfwd + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/iostream + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/istream + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/memory + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/new + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/numbers + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ostream + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/pstl/execution_defs.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/pstl/glue_memory_defs.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/pstl/pstl_config.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/stdexcept + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/stdlib.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/streambuf + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/string + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/string_view + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/system_error + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/tuple + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/type_traits + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/typeinfo + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/unordered_map + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/vector + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/atomic_word.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++allocator.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++config.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++locale.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/cpu_defines.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_base.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_inline.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/error_constants.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/gthr-default.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/gthr.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/os_defines.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/limits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/mm_malloc.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/stddef.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/stdint.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/syslimits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_mac.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_off_t.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_secapi.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_stat64.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_timeval.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_startup.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_stdio_config.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_wstdlib.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/crtdefs.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/ctype.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/errno.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/limits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/locale.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/malloc.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/process.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_compat.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_signal.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_time.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_unistd.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sdks/_mingw_ddk.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/stdio_s.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/stdlib_s.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/sys/timeb_s.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/wchar_s.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/signal.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stddef.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdint.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdio.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdlib.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/swprintf.inl + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sys/timeb.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sys/types.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/time.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/vadefs.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/wchar.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/wctype.h + C:/Users/ZBook Fury/CLionProjects/NextFlick/CompressedTrie.h + C:/Users/ZBook Fury/CLionProjects/NextFlick/Film.h + C:/Users/ZBook Fury/CLionProjects/NextFlick/Media.h + +CMakeFiles/NextFlick.dir/users.cpp.obj + C:/Users/ZBook Fury/CLionProjects/NextFlick/users.cpp + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward/binders.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bit + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/alloc_traits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/allocator.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_ios.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_ios.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_string.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_string.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/char_traits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/charconv.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/concept_check.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cpp_type_traits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cxxabi_forced.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cxxabi_init_exception.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception_defines.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception_ptr.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/functexcept.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/functional_hash.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/hash_bytes.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/invoke.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ios_base.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/istream.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/iterator_concepts.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_classes.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_classes.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_facets.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_facets.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/localefwd.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/max_size_type.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/memory_resource.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/memoryfwd.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/move.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/nested_exception.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/new_allocator.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ostream.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ostream_insert.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/postypes.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/predefined_ops.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ptr_traits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/range_access.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_base.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_cmp.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_util.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/refwrap.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/requires_hosted.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/std_abs.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_algobase.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_bvector.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_construct.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_function.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_funcs.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_types.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_pair.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_uninitialized.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_vector.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/streambuf.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/streambuf_iterator.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/string_view.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stringfwd.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/uses_allocator.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/uses_allocator_args.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/utility.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/vector.tcc + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cctype + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cerrno + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/clocale + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/compare + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/concepts + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstddef + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstdio + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstdlib + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cwchar + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cwctype + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/debug/assertions.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/debug/debug.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/exception + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/alloc_traits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/atomicity.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/numeric_traits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/string_conversions.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/type_traits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/initializer_list + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ios + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/iosfwd + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/iostream + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/istream + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/new + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/numbers + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ostream + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/pstl/pstl_config.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/stdexcept + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/stdlib.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/streambuf + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/string + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/string_view + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/system_error + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/tuple + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/type_traits + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/typeinfo + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/vector + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/atomic_word.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++allocator.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++config.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++locale.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/cpu_defines.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_base.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_inline.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/error_constants.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/gthr-default.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/gthr.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/os_defines.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/limits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/mm_malloc.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/stddef.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/syslimits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_mac.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_off_t.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_secapi.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_stat64.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_timeval.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_startup.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_stdio_config.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_wstdlib.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/crtdefs.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/ctype.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/errno.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/limits.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/locale.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/malloc.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/process.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_compat.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_signal.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_time.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_unistd.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sdks/_mingw_ddk.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/stdio_s.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/stdlib_s.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/sys/timeb_s.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/wchar_s.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/signal.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stddef.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdio.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdlib.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/swprintf.inl + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sys/timeb.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sys/types.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/time.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/vadefs.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/wchar.h + C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/wctype.h + C:/Users/ZBook Fury/CLionProjects/NextFlick/user.h + C:/Users/ZBook Fury/CLionProjects/NextFlick/users.h + diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/compiler_depend.make b/cmake-build-debug/CMakeFiles/NextFlick.dir/compiler_depend.make new file mode 100644 index 0000000..3436063 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/NextFlick.dir/compiler_depend.make @@ -0,0 +1,1080 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "MinGW Makefiles" Generator, CMake Version 3.30 + +CMakeFiles/NextFlick.dir/CompressedTrie.cpp.obj: C:/Users/ZBook\ Fury/CLionProjects/NextFlick/CompressedTrie.cpp \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward/auto_ptr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward/binders.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bit \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/align.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/alloc_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/allocated_ptr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/atomic_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/atomic_lockfree_defines.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/atomic_wait.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_ios.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_ios.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_string.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_string.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/char_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/charconv.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/concept_check.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cpp_type_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cxxabi_forced.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cxxabi_init_exception.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/enable_special_members.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/erase_if.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception_defines.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception_ptr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/functexcept.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/functional_hash.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/hash_bytes.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/hashtable.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/hashtable_policy.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/invoke.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ios_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/istream.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/iterator_concepts.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_classes.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_classes.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_facets.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_facets.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/localefwd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/max_size_type.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/memory_resource.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/memoryfwd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/move.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/nested_exception.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/new_allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/node_handle.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ostream.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ostream_insert.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/postypes.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/predefined_ops.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ptr_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/range_access.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_algobase.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_cmp.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_uninitialized.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_util.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/refwrap.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/requires_hosted.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/shared_ptr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/shared_ptr_atomic.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/shared_ptr_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/std_abs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/std_mutex.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_algobase.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_bvector.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_construct.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_function.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_funcs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_types.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_pair.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_raw_storage_iter.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_tempbuf.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_uninitialized.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_vector.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/streambuf.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/streambuf_iterator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/string_view.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stringfwd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/unique_ptr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/unordered_map.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/uses_allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/uses_allocator_args.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/utility.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/vector.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cctype \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cerrno \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/clocale \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/compare \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/concepts \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstddef \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstdio \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstdlib \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cwchar \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cwctype \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/debug/assertions.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/debug/debug.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/exception \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/aligned_buffer.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/alloc_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/atomicity.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/concurrence.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/numeric_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/string_conversions.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/type_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/initializer_list \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ios \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/iosfwd \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/iostream \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/istream \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/memory \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/new \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/numbers \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ostream \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/pstl/execution_defs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/pstl/glue_memory_defs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/pstl/pstl_config.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/stdexcept \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/stdlib.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/streambuf \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/string \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/string_view \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/system_error \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/tuple \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/type_traits \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/typeinfo \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/unordered_map \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/vector \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/atomic_word.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++config.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++locale.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/cpu_defines.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_inline.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/error_constants.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/gthr-default.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/gthr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/os_defines.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/limits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/mm_malloc.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/stddef.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/stdint.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/syslimits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_mac.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_off_t.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_secapi.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_stat64.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_timeval.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_startup.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_stdio_config.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_wstdlib.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/crtdefs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/ctype.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/errno.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/limits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/locale.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/malloc.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/process.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_compat.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_signal.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_time.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_unistd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sdks/_mingw_ddk.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/stdio_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/stdlib_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/sys/timeb_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/wchar_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/signal.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stddef.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdint.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdio.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdlib.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/swprintf.inl \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sys/timeb.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sys/types.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/time.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/vadefs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/wchar.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/wctype.h \ + C:/Users/ZBook\ Fury/CLionProjects/NextFlick/CompressedTrie.h \ + C:/Users/ZBook\ Fury/CLionProjects/NextFlick/Media.h + +CMakeFiles/NextFlick.dir/admin.cpp.obj: C:/Users/ZBook\ Fury/CLionProjects/NextFlick/admin.cpp \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward/binders.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bit \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/alloc_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_ios.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_ios.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_string.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_string.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/char_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/charconv.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/concept_check.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cpp_type_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cxxabi_forced.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cxxabi_init_exception.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception_defines.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception_ptr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/functexcept.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/functional_hash.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/hash_bytes.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/invoke.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ios_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/istream.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/iterator_concepts.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_classes.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_classes.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_facets.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_facets.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/localefwd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/max_size_type.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/memory_resource.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/memoryfwd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/move.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/nested_exception.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/new_allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ostream.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ostream_insert.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/postypes.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/predefined_ops.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ptr_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/range_access.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_cmp.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_util.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/refwrap.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/requires_hosted.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/std_abs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_algobase.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_construct.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_function.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_funcs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_types.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_pair.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/streambuf.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/streambuf_iterator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/string_view.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stringfwd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/uses_allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/uses_allocator_args.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/utility.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cctype \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cerrno \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/clocale \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/compare \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/concepts \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstddef \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstdio \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstdlib \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cwchar \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cwctype \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/debug/assertions.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/debug/debug.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/exception \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/alloc_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/atomicity.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/numeric_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/string_conversions.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/type_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/initializer_list \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ios \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/iosfwd \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/iostream \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/istream \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/new \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/numbers \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ostream \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/pstl/pstl_config.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/stdexcept \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/stdlib.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/streambuf \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/string \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/string_view \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/system_error \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/tuple \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/type_traits \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/typeinfo \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/atomic_word.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++config.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++locale.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/cpu_defines.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_inline.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/error_constants.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/gthr-default.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/gthr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/os_defines.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/limits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/mm_malloc.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/stddef.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/syslimits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_mac.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_off_t.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_secapi.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_stat64.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_timeval.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_startup.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_stdio_config.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_wstdlib.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/crtdefs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/ctype.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/errno.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/limits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/locale.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/malloc.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/process.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_compat.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_signal.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_time.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_unistd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sdks/_mingw_ddk.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/stdio_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/stdlib_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/sys/timeb_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/wchar_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/signal.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stddef.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdio.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdlib.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/swprintf.inl \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sys/timeb.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sys/types.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/time.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/vadefs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/wchar.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/wctype.h \ + C:/Users/ZBook\ Fury/CLionProjects/NextFlick/admin.h + +CMakeFiles/NextFlick.dir/main.cpp.obj: C:/Users/ZBook\ Fury/CLionProjects/NextFlick/main.cpp \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward/auto_ptr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward/binders.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bit \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/align.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/alloc_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/allocated_ptr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/atomic_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/atomic_lockfree_defines.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/atomic_wait.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_ios.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_ios.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_string.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_string.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/char_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/charconv.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/concept_check.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cpp_type_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cxxabi_forced.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cxxabi_init_exception.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/enable_special_members.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/erase_if.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception_defines.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception_ptr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/functexcept.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/functional_hash.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/hash_bytes.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/hashtable.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/hashtable_policy.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/invoke.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ios_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/istream.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/iterator_concepts.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_classes.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_classes.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_facets.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_facets.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/localefwd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/max_size_type.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/memory_resource.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/memoryfwd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/move.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/nested_exception.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/new_allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/node_handle.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ostream.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ostream_insert.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/postypes.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/predefined_ops.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ptr_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/range_access.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_algobase.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_cmp.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_uninitialized.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_util.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/refwrap.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/requires_hosted.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/shared_ptr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/shared_ptr_atomic.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/shared_ptr_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/std_abs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/std_mutex.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_algobase.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_bvector.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_construct.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_function.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_funcs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_types.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_pair.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_raw_storage_iter.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_tempbuf.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_uninitialized.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_vector.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/streambuf.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/streambuf_iterator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/string_view.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stringfwd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/unique_ptr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/unordered_map.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/uses_allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/uses_allocator_args.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/utility.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/vector.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cctype \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cerrno \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/clocale \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/compare \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/concepts \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstddef \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstdio \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstdlib \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cwchar \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cwctype \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/debug/assertions.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/debug/debug.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/exception \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/aligned_buffer.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/alloc_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/atomicity.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/concurrence.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/numeric_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/string_conversions.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/type_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/initializer_list \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ios \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/iosfwd \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/iostream \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/istream \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/memory \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/new \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/numbers \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ostream \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/pstl/execution_defs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/pstl/glue_memory_defs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/pstl/pstl_config.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/stdexcept \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/stdlib.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/streambuf \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/string \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/string_view \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/system_error \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/tuple \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/type_traits \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/typeinfo \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/unordered_map \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/vector \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/atomic_word.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++config.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++locale.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/cpu_defines.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_inline.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/error_constants.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/gthr-default.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/gthr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/os_defines.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/limits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/mm_malloc.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/stddef.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/stdint.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/syslimits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_mac.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_off_t.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_secapi.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_stat64.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_timeval.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_startup.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_stdio_config.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_wstdlib.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/crtdefs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/ctype.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/errno.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/limits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/locale.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/malloc.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/process.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_compat.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_signal.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_time.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_unistd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sdks/_mingw_ddk.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/stdio_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/stdlib_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/sys/timeb_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/wchar_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/signal.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stddef.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdint.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdio.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdlib.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/swprintf.inl \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sys/timeb.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sys/types.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/time.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/vadefs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/wchar.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/wctype.h \ + C:/Users/ZBook\ Fury/CLionProjects/NextFlick/CompressedTrie.h \ + C:/Users/ZBook\ Fury/CLionProjects/NextFlick/Film.h \ + C:/Users/ZBook\ Fury/CLionProjects/NextFlick/Media.h + +CMakeFiles/NextFlick.dir/users.cpp.obj: C:/Users/ZBook\ Fury/CLionProjects/NextFlick/users.cpp \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward/binders.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bit \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/alloc_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_ios.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_ios.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_string.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_string.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/char_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/charconv.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/concept_check.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cpp_type_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cxxabi_forced.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cxxabi_init_exception.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception_defines.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception_ptr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/functexcept.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/functional_hash.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/hash_bytes.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/invoke.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ios_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/istream.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/iterator_concepts.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_classes.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_classes.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_facets.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_facets.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/localefwd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/max_size_type.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/memory_resource.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/memoryfwd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/move.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/nested_exception.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/new_allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ostream.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ostream_insert.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/postypes.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/predefined_ops.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ptr_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/range_access.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_cmp.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_util.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/refwrap.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/requires_hosted.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/std_abs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_algobase.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_bvector.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_construct.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_function.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_funcs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_types.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_pair.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_uninitialized.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_vector.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/streambuf.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/streambuf_iterator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/string_view.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stringfwd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/uses_allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/uses_allocator_args.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/utility.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/vector.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cctype \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cerrno \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/clocale \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/compare \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/concepts \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstddef \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstdio \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstdlib \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cwchar \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cwctype \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/debug/assertions.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/debug/debug.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/exception \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/alloc_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/atomicity.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/numeric_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/string_conversions.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/type_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/initializer_list \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ios \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/iosfwd \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/iostream \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/istream \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/new \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/numbers \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ostream \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/pstl/pstl_config.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/stdexcept \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/stdlib.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/streambuf \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/string \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/string_view \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/system_error \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/tuple \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/type_traits \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/typeinfo \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/vector \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/atomic_word.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++config.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++locale.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/cpu_defines.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_inline.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/error_constants.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/gthr-default.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/gthr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/os_defines.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/limits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/mm_malloc.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/stddef.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/syslimits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_mac.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_off_t.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_secapi.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_stat64.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_timeval.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_startup.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_stdio_config.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_wstdlib.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/crtdefs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/ctype.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/errno.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/limits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/locale.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/malloc.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/process.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_compat.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_signal.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_time.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_unistd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sdks/_mingw_ddk.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/stdio_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/stdlib_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/sys/timeb_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/wchar_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/signal.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stddef.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdio.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdlib.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/swprintf.inl \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sys/timeb.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sys/types.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/time.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/vadefs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/wchar.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/wctype.h \ + C:/Users/ZBook\ Fury/CLionProjects/NextFlick/user.h \ + C:/Users/ZBook\ Fury/CLionProjects/NextFlick/users.h + + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/mm_malloc.h: + +C:/Users/ZBook\ Fury/CLionProjects/NextFlick/CompressedTrie.cpp: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/time.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/allocated_ptr.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward/binders.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/atomic_base.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward/auto_ptr.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bit: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/alloc_traits.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/align.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/allocator.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/atomic_lockfree_defines.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/memoryfwd.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/unordered_map: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/hashtable.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_inline.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/nested_exception.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/atomic_wait.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_ios.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_ios.tcc: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ptr_traits.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_string.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/functional_hash.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_string.tcc: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstddef: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/char_traits.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/charconv.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/concept_check.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/shared_ptr.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cpp_type_traits.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cxxabi_forced.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/error_constants.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/clocale: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/range_access.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cxxabi_init_exception.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/enable_special_members.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/std_abs.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/hash_bytes.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/erase_if.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/limits.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stringfwd.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception_defines.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/requires_hosted.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception_ptr.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/functexcept.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/hashtable_policy.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/refwrap.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/streambuf_iterator.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/invoke.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_uninitialized.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/postypes.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ios_base.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_algobase.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/istream.tcc: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/iterator_concepts.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_classes.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_classes.tcc: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_facets.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_facets.tcc: + +C:/Users/ZBook\ Fury/CLionProjects/NextFlick/users.cpp: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/localefwd.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/max_size_type.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/memory_resource.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/iosfwd: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/predefined_ops.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/move.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ios: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/new_allocator.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/wchar_s.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/node_handle.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_vector.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ostream.tcc: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ostream_insert.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cerrno: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_base.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_unistd.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstdio: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_cmp.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/aligned_buffer.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_uninitialized.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_util.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/shared_ptr_atomic.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/shared_ptr_base.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/std_mutex.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_algobase.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_bvector.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_construct.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_function.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_funcs.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_types.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_pair.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_raw_storage_iter.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_tempbuf.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/streambuf.tcc: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/gthr-default.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/string_view.tcc: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_secapi.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/unique_ptr.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/unordered_map.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/uses_allocator.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/uses_allocator_args.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/utility.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/vector.tcc: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cctype: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/compare: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/concepts: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/streambuf: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ostream: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstdlib: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cwchar: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cwctype: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/debug/assertions.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/debug/debug.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/exception: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/alloc_traits.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/atomicity.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/concurrence.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/numeric_traits.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/string_conversions.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/type_traits.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/initializer_list: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_wstdlib.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/iostream: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/istream: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/memory: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/new: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/numbers: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/pstl/execution_defs.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/pstl/glue_memory_defs.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/pstl/pstl_config.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/stdexcept: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/stdlib.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/string: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/string_view: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdlib.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/system_error: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/tuple: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/type_traits: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/typeinfo: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/vector: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/atomic_word.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++allocator.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++config.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++locale.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/cpu_defines.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_base.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/gthr.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/os_defines.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/limits.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_stat64.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/stddef.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/stdint.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/syslimits.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/vadefs.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_mac.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_off_t.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_timeval.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_startup.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_stdio_config.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/crtdefs.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/ctype.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/errno.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/locale.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/malloc.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/process.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_compat.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_signal.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_time.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sdks/_mingw_ddk.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/stdio_s.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/stdlib_s.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/sys/timeb_s.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/signal.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stddef.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdint.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdio.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/swprintf.inl: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sys/timeb.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sys/types.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/wchar.h: + +C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/wctype.h: + +C:/Users/ZBook\ Fury/CLionProjects/NextFlick/CompressedTrie.h: + +C:/Users/ZBook\ Fury/CLionProjects/NextFlick/Media.h: + +C:/Users/ZBook\ Fury/CLionProjects/NextFlick/admin.cpp: + +C:/Users/ZBook\ Fury/CLionProjects/NextFlick/admin.h: + +C:/Users/ZBook\ Fury/CLionProjects/NextFlick/main.cpp: + +C:/Users/ZBook\ Fury/CLionProjects/NextFlick/Film.h: + +C:/Users/ZBook\ Fury/CLionProjects/NextFlick/user.h: + +C:/Users/ZBook\ Fury/CLionProjects/NextFlick/users.h: diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/compiler_depend.ts b/cmake-build-debug/CMakeFiles/NextFlick.dir/compiler_depend.ts new file mode 100644 index 0000000..de69f07 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/NextFlick.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for NextFlick. diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/depend.make b/cmake-build-debug/CMakeFiles/NextFlick.dir/depend.make new file mode 100644 index 0000000..da1a2f9 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/NextFlick.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for NextFlick. +# This may be replaced when dependencies are built. diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/flags.make b/cmake-build-debug/CMakeFiles/NextFlick.dir/flags.make new file mode 100644 index 0000000..5555f5c --- /dev/null +++ b/cmake-build-debug/CMakeFiles/NextFlick.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "MinGW Makefiles" Generator, CMake Version 3.30 + +# compile CXX with C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/g++.exe +CXX_DEFINES = + +CXX_INCLUDES = + +CXX_FLAGS = -g -std=gnu++20 -fdiagnostics-color=always + diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/link.txt b/cmake-build-debug/CMakeFiles/NextFlick.dir/link.txt new file mode 100644 index 0000000..10f3550 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/NextFlick.dir/link.txt @@ -0,0 +1,3 @@ +"C:\Users\ZBook Fury\AppData\Local\JetBrains\CLion 2024.3.2\bin\cmake\win\x64\bin\cmake.exe" -E rm -f CMakeFiles\NextFlick.dir/objects.a +C:\Users\ZBOOKF~1\AppData\Local\JETBRA~1\CLION2~1.2\bin\mingw\bin\ar.exe qc CMakeFiles\NextFlick.dir/objects.a @CMakeFiles\NextFlick.dir\objects1.rsp +C:\Users\ZBOOKF~1\AppData\Local\JETBRA~1\CLION2~1.2\bin\mingw\bin\G__~1.EXE -g -Wl,--whole-archive CMakeFiles\NextFlick.dir/objects.a -Wl,--no-whole-archive -o NextFlick.exe -Wl,--out-implib,libNextFlick.dll.a -Wl,--major-image-version,0,--minor-image-version,0 @CMakeFiles\NextFlick.dir\linkLibs.rsp diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/linkLibs.rsp b/cmake-build-debug/CMakeFiles/NextFlick.dir/linkLibs.rsp new file mode 100644 index 0000000..8ed353a --- /dev/null +++ b/cmake-build-debug/CMakeFiles/NextFlick.dir/linkLibs.rsp @@ -0,0 +1 @@ + -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/main.cpp.ddi b/cmake-build-debug/CMakeFiles/NextFlick.dir/main.cpp.ddi deleted file mode 100644 index 0e56120..0000000 --- a/cmake-build-debug/CMakeFiles/NextFlick.dir/main.cpp.ddi +++ /dev/null @@ -1,11 +0,0 @@ -{ -"rules": [ -{ -"primary-output": "CMakeFiles/NextFlick.dir/main.cpp.o", -"requires": [ -] -} -], -"version": 0, -"revision": 0 -} diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/main.cpp.o b/cmake-build-debug/CMakeFiles/NextFlick.dir/main.cpp.o deleted file mode 100644 index 36db119..0000000 Binary files a/cmake-build-debug/CMakeFiles/NextFlick.dir/main.cpp.o and /dev/null differ diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/main.cpp.o.ddi b/cmake-build-debug/CMakeFiles/NextFlick.dir/main.cpp.o.ddi deleted file mode 100644 index 0e56120..0000000 --- a/cmake-build-debug/CMakeFiles/NextFlick.dir/main.cpp.o.ddi +++ /dev/null @@ -1,11 +0,0 @@ -{ -"rules": [ -{ -"primary-output": "CMakeFiles/NextFlick.dir/main.cpp.o", -"requires": [ -] -} -], -"version": 0, -"revision": 0 -} diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/main.cpp.o.ddi.d b/cmake-build-debug/CMakeFiles/NextFlick.dir/main.cpp.o.ddi.d deleted file mode 100644 index 51d2663..0000000 --- a/cmake-build-debug/CMakeFiles/NextFlick.dir/main.cpp.o.ddi.d +++ /dev/null @@ -1,145 +0,0 @@ -CMakeFiles/NextFlick.dir/main.cpp.o.ddi: \ - /home/ghazal/CLionProjects/NextFlick/main.cpp /usr/include/stdc-predef.h \ - /usr/include/c++/14.1.1/iostream \ - /usr/include/c++/14.1.1/bits/requires_hosted.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/os_defines.h \ - /usr/include/features.h /usr/include/features-time64.h \ - /usr/include/bits/wordsize.h /usr/include/bits/timesize.h \ - /usr/include/sys/cdefs.h /usr/include/bits/long-double.h \ - /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/cpu_defines.h \ - /usr/include/c++/14.1.1/pstl/pstl_config.h \ - /usr/include/c++/14.1.1/ostream /usr/include/c++/14.1.1/ios \ - /usr/include/c++/14.1.1/iosfwd /usr/include/c++/14.1.1/bits/stringfwd.h \ - /usr/include/c++/14.1.1/bits/memoryfwd.h \ - /usr/include/c++/14.1.1/bits/postypes.h /usr/include/c++/14.1.1/cwchar \ - /usr/include/wchar.h /usr/include/bits/libc-header-start.h \ - /usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \ - /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h \ - /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stdarg.h \ - /usr/include/bits/wchar.h /usr/include/bits/types/wint_t.h \ - /usr/include/bits/types/mbstate_t.h \ - /usr/include/bits/types/__mbstate_t.h /usr/include/bits/types/__FILE.h \ - /usr/include/bits/types/FILE.h /usr/include/bits/types/locale_t.h \ - /usr/include/bits/types/__locale_t.h /usr/include/c++/14.1.1/exception \ - /usr/include/c++/14.1.1/bits/exception.h \ - /usr/include/c++/14.1.1/bits/version.h \ - /usr/include/c++/14.1.1/bits/exception_ptr.h \ - /usr/include/c++/14.1.1/bits/exception_defines.h \ - /usr/include/c++/14.1.1/bits/cxxabi_init_exception.h \ - /usr/include/c++/14.1.1/typeinfo \ - /usr/include/c++/14.1.1/bits/hash_bytes.h /usr/include/c++/14.1.1/new \ - /usr/include/c++/14.1.1/bits/move.h /usr/include/c++/14.1.1/type_traits \ - /usr/include/c++/14.1.1/bits/nested_exception.h \ - /usr/include/c++/14.1.1/bits/char_traits.h \ - /usr/include/c++/14.1.1/compare /usr/include/c++/14.1.1/concepts \ - /usr/include/c++/14.1.1/bits/stl_construct.h \ - /usr/include/c++/14.1.1/bits/stl_iterator_base_types.h \ - /usr/include/c++/14.1.1/bits/iterator_concepts.h \ - /usr/include/c++/14.1.1/bits/ptr_traits.h \ - /usr/include/c++/14.1.1/bits/ranges_cmp.h \ - /usr/include/c++/14.1.1/bits/stl_iterator_base_funcs.h \ - /usr/include/c++/14.1.1/bits/concept_check.h \ - /usr/include/c++/14.1.1/debug/assertions.h \ - /usr/include/c++/14.1.1/bits/localefwd.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++locale.h \ - /usr/include/c++/14.1.1/clocale /usr/include/locale.h \ - /usr/include/bits/locale.h /usr/include/c++/14.1.1/cctype \ - /usr/include/ctype.h /usr/include/bits/types.h \ - /usr/include/bits/typesizes.h /usr/include/bits/time64.h \ - /usr/include/bits/endian.h /usr/include/bits/endianness.h \ - /usr/include/c++/14.1.1/bits/ios_base.h \ - /usr/include/c++/14.1.1/ext/atomicity.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h \ - /usr/include/pthread.h /usr/include/sched.h \ - /usr/include/bits/types/time_t.h \ - /usr/include/bits/types/struct_timespec.h /usr/include/bits/sched.h \ - /usr/include/bits/types/struct_sched_param.h /usr/include/bits/cpu-set.h \ - /usr/include/time.h /usr/include/bits/time.h /usr/include/bits/timex.h \ - /usr/include/bits/types/struct_timeval.h \ - /usr/include/bits/types/clock_t.h /usr/include/bits/types/struct_tm.h \ - /usr/include/bits/types/clockid_t.h /usr/include/bits/types/timer_t.h \ - /usr/include/bits/types/struct_itimerspec.h \ - /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \ - /usr/include/bits/pthreadtypes-arch.h \ - /usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \ - /usr/include/bits/struct_rwlock.h /usr/include/bits/setjmp.h \ - /usr/include/bits/types/__sigset_t.h \ - /usr/include/bits/types/struct___jmp_buf_tag.h \ - /usr/include/bits/pthread_stack_min-dynamic.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/atomic_word.h \ - /usr/include/sys/single_threaded.h \ - /usr/include/c++/14.1.1/bits/locale_classes.h \ - /usr/include/c++/14.1.1/string /usr/include/c++/14.1.1/bits/allocator.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h \ - /usr/include/c++/14.1.1/bits/new_allocator.h \ - /usr/include/c++/14.1.1/bits/functexcept.h \ - /usr/include/c++/14.1.1/bits/cpp_type_traits.h \ - /usr/include/c++/14.1.1/bits/ostream_insert.h \ - /usr/include/c++/14.1.1/bits/cxxabi_forced.h \ - /usr/include/c++/14.1.1/bits/stl_iterator.h \ - /usr/include/c++/14.1.1/ext/type_traits.h \ - /usr/include/c++/14.1.1/bits/stl_function.h \ - /usr/include/c++/14.1.1/backward/binders.h \ - /usr/include/c++/14.1.1/ext/numeric_traits.h \ - /usr/include/c++/14.1.1/bits/stl_algobase.h \ - /usr/include/c++/14.1.1/bits/stl_pair.h \ - /usr/include/c++/14.1.1/bits/utility.h \ - /usr/include/c++/14.1.1/debug/debug.h \ - /usr/include/c++/14.1.1/bits/predefined_ops.h \ - /usr/include/c++/14.1.1/bit /usr/include/c++/14.1.1/bits/refwrap.h \ - /usr/include/c++/14.1.1/bits/invoke.h \ - /usr/include/c++/14.1.1/bits/range_access.h \ - /usr/include/c++/14.1.1/initializer_list \ - /usr/include/c++/14.1.1/bits/basic_string.h \ - /usr/include/c++/14.1.1/ext/alloc_traits.h \ - /usr/include/c++/14.1.1/bits/alloc_traits.h \ - /usr/include/c++/14.1.1/string_view \ - /usr/include/c++/14.1.1/bits/functional_hash.h \ - /usr/include/c++/14.1.1/bits/ranges_base.h \ - /usr/include/c++/14.1.1/bits/max_size_type.h \ - /usr/include/c++/14.1.1/numbers \ - /usr/include/c++/14.1.1/bits/string_view.tcc \ - /usr/include/c++/14.1.1/ext/string_conversions.h \ - /usr/include/c++/14.1.1/cstdlib /usr/include/stdlib.h \ - /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ - /usr/include/sys/types.h /usr/include/bits/stdint-intn.h \ - /usr/include/endian.h /usr/include/bits/byteswap.h \ - /usr/include/bits/uintn-identity.h /usr/include/sys/select.h \ - /usr/include/bits/select.h /usr/include/bits/types/sigset_t.h \ - /usr/include/alloca.h /usr/include/bits/stdlib-float.h \ - /usr/include/c++/14.1.1/bits/std_abs.h /usr/include/c++/14.1.1/cstdio \ - /usr/include/stdio.h /usr/include/bits/types/__fpos_t.h \ - /usr/include/bits/types/__fpos64_t.h \ - /usr/include/bits/types/struct_FILE.h \ - /usr/include/bits/types/cookie_io_functions_t.h \ - /usr/include/bits/stdio_lim.h /usr/include/c++/14.1.1/cerrno \ - /usr/include/errno.h /usr/include/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/bits/types/error_t.h \ - /usr/include/c++/14.1.1/bits/charconv.h \ - /usr/include/c++/14.1.1/bits/basic_string.tcc \ - /usr/include/c++/14.1.1/bits/memory_resource.h \ - /usr/include/c++/14.1.1/cstddef \ - /usr/include/c++/14.1.1/bits/uses_allocator.h \ - /usr/include/c++/14.1.1/bits/uses_allocator_args.h \ - /usr/include/c++/14.1.1/tuple /usr/include/c++/14.1.1/bits/ranges_util.h \ - /usr/include/c++/14.1.1/bits/locale_classes.tcc \ - /usr/include/c++/14.1.1/system_error \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/error_constants.h \ - /usr/include/c++/14.1.1/stdexcept /usr/include/c++/14.1.1/streambuf \ - /usr/include/c++/14.1.1/bits/streambuf.tcc \ - /usr/include/c++/14.1.1/bits/basic_ios.h \ - /usr/include/c++/14.1.1/bits/locale_facets.h \ - /usr/include/c++/14.1.1/cwctype /usr/include/wctype.h \ - /usr/include/bits/wctype-wchar.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/ctype_base.h \ - /usr/include/c++/14.1.1/bits/streambuf_iterator.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/ctype_inline.h \ - /usr/include/c++/14.1.1/bits/locale_facets.tcc \ - /usr/include/c++/14.1.1/bits/basic_ios.tcc \ - /usr/include/c++/14.1.1/bits/ostream.tcc /usr/include/c++/14.1.1/istream \ - /usr/include/c++/14.1.1/bits/istream.tcc diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/main.cpp.o.ddi.i b/cmake-build-debug/CMakeFiles/NextFlick.dir/main.cpp.o.ddi.i deleted file mode 100644 index e2777d8..0000000 --- a/cmake-build-debug/CMakeFiles/NextFlick.dir/main.cpp.o.ddi.i +++ /dev/null @@ -1,43309 +0,0 @@ -# 0 "/home/ghazal/CLionProjects/NextFlick/main.cpp" -# 1 "/home/ghazal/CLionProjects/NextFlick/cmake-build-debug//" -# 0 "" -# 0 "" -# 1 "/usr/include/stdc-predef.h" 1 3 4 -# 0 "" 2 -# 1 "/home/ghazal/CLionProjects/NextFlick/main.cpp" -# 1 "/usr/include/c++/14.1.1/iostream" 1 3 -# 36 "/usr/include/c++/14.1.1/iostream" 3 - -# 37 "/usr/include/c++/14.1.1/iostream" 3 - -# 1 "/usr/include/c++/14.1.1/bits/requires_hosted.h" 1 3 -# 31 "/usr/include/c++/14.1.1/bits/requires_hosted.h" 3 -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 1 3 -# 33 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 - -# 34 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 -# 308 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 - -# 308 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 -namespace std -{ - typedef long unsigned int size_t; - typedef long int ptrdiff_t; - - - typedef decltype(nullptr) nullptr_t; - - -#pragma GCC visibility push(default) - - - extern "C++" __attribute__ ((__noreturn__, __always_inline__)) - inline void __terminate() noexcept - { - void terminate() noexcept __attribute__ ((__noreturn__,__cold__)); - terminate(); - } -#pragma GCC visibility pop -} -# 341 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 -namespace std -{ - inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } -} -namespace __gnu_cxx -{ - inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } -} -# 534 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 -namespace std -{ -#pragma GCC visibility push(default) - - - - - __attribute__((__always_inline__)) - constexpr inline bool - __is_constant_evaluated() noexcept - { - - - - - - return __builtin_is_constant_evaluated(); - - - - } -#pragma GCC visibility pop -} -# 573 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 -namespace std -{ -#pragma GCC visibility push(default) - - extern "C++" __attribute__ ((__noreturn__)) - void - __glibcxx_assert_fail - (const char* __file, int __line, const char* __function, - const char* __condition) - noexcept; -#pragma GCC visibility pop -} -# 601 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 -namespace std -{ - __attribute__((__always_inline__,__visibility__("default"))) - inline void - __glibcxx_assert_fail() - { } -} -# 680 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/os_defines.h" 1 3 -# 39 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/os_defines.h" 3 -# 1 "/usr/include/features.h" 1 3 4 -# 394 "/usr/include/features.h" 3 4 -# 1 "/usr/include/features-time64.h" 1 3 4 -# 20 "/usr/include/features-time64.h" 3 4 -# 1 "/usr/include/bits/wordsize.h" 1 3 4 -# 21 "/usr/include/features-time64.h" 2 3 4 -# 1 "/usr/include/bits/timesize.h" 1 3 4 -# 19 "/usr/include/bits/timesize.h" 3 4 -# 1 "/usr/include/bits/wordsize.h" 1 3 4 -# 20 "/usr/include/bits/timesize.h" 2 3 4 -# 22 "/usr/include/features-time64.h" 2 3 4 -# 395 "/usr/include/features.h" 2 3 4 -# 503 "/usr/include/features.h" 3 4 -# 1 "/usr/include/sys/cdefs.h" 1 3 4 -# 576 "/usr/include/sys/cdefs.h" 3 4 -# 1 "/usr/include/bits/wordsize.h" 1 3 4 -# 577 "/usr/include/sys/cdefs.h" 2 3 4 -# 1 "/usr/include/bits/long-double.h" 1 3 4 -# 578 "/usr/include/sys/cdefs.h" 2 3 4 -# 504 "/usr/include/features.h" 2 3 4 -# 527 "/usr/include/features.h" 3 4 -# 1 "/usr/include/gnu/stubs.h" 1 3 4 -# 10 "/usr/include/gnu/stubs.h" 3 4 -# 1 "/usr/include/gnu/stubs-64.h" 1 3 4 -# 11 "/usr/include/gnu/stubs.h" 2 3 4 -# 528 "/usr/include/features.h" 2 3 4 -# 40 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/os_defines.h" 2 3 -# 681 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 2 3 - - -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/cpu_defines.h" 1 3 -# 684 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 2 3 -# 825 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 -namespace __gnu_cxx -{ - typedef __decltype(0.0bf16) __bfloat16_t; -} -# 887 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 -# 1 "/usr/include/c++/14.1.1/pstl/pstl_config.h" 1 3 -# 888 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 2 3 -# 32 "/usr/include/c++/14.1.1/bits/requires_hosted.h" 2 3 -# 39 "/usr/include/c++/14.1.1/iostream" 2 3 - - -# 1 "/usr/include/c++/14.1.1/ostream" 1 3 -# 36 "/usr/include/c++/14.1.1/ostream" 3 - -# 37 "/usr/include/c++/14.1.1/ostream" 3 - - - -# 1 "/usr/include/c++/14.1.1/ios" 1 3 -# 36 "/usr/include/c++/14.1.1/ios" 3 - -# 37 "/usr/include/c++/14.1.1/ios" 3 - - - -# 1 "/usr/include/c++/14.1.1/iosfwd" 1 3 -# 36 "/usr/include/c++/14.1.1/iosfwd" 3 - -# 37 "/usr/include/c++/14.1.1/iosfwd" 3 - - - - -# 1 "/usr/include/c++/14.1.1/bits/stringfwd.h" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/stringfwd.h" 3 - -# 38 "/usr/include/c++/14.1.1/bits/stringfwd.h" 3 - - -# 1 "/usr/include/c++/14.1.1/bits/memoryfwd.h" 1 3 -# 46 "/usr/include/c++/14.1.1/bits/memoryfwd.h" 3 - -# 47 "/usr/include/c++/14.1.1/bits/memoryfwd.h" 3 - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 64 "/usr/include/c++/14.1.1/bits/memoryfwd.h" 3 - template - class allocator; - - template<> - class allocator; - - - - template - struct uses_allocator; - - template - struct allocator_traits; - - - - - -} -# 41 "/usr/include/c++/14.1.1/bits/stringfwd.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - - - template - struct char_traits; - - template<> struct char_traits; - - template<> struct char_traits; - - - template<> struct char_traits; - - - - template<> struct char_traits; - template<> struct char_traits; - - -namespace __cxx11 { - - template, - typename _Alloc = allocator<_CharT> > - class basic_string; - -} - - - typedef basic_string string; - - - typedef basic_string wstring; - - - - typedef basic_string u8string; - - - - - typedef basic_string u16string; - - - typedef basic_string u32string; - - - - - -} -# 42 "/usr/include/c++/14.1.1/iosfwd" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/postypes.h" 1 3 -# 38 "/usr/include/c++/14.1.1/bits/postypes.h" 3 - -# 39 "/usr/include/c++/14.1.1/bits/postypes.h" 3 - -# 1 "/usr/include/c++/14.1.1/cwchar" 1 3 -# 39 "/usr/include/c++/14.1.1/cwchar" 3 - -# 40 "/usr/include/c++/14.1.1/cwchar" 3 - - - - -# 1 "/usr/include/wchar.h" 1 3 4 -# 27 "/usr/include/wchar.h" 3 4 -# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 -# 28 "/usr/include/wchar.h" 2 3 4 - - -# 1 "/usr/include/bits/floatn.h" 1 3 4 -# 119 "/usr/include/bits/floatn.h" 3 4 -# 1 "/usr/include/bits/floatn-common.h" 1 3 4 -# 24 "/usr/include/bits/floatn-common.h" 3 4 -# 1 "/usr/include/bits/long-double.h" 1 3 4 -# 25 "/usr/include/bits/floatn-common.h" 2 3 4 -# 120 "/usr/include/bits/floatn.h" 2 3 4 -# 31 "/usr/include/wchar.h" 2 3 4 - - - - -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 214 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 3 4 -typedef long unsigned int size_t; -# 36 "/usr/include/wchar.h" 2 3 4 - - -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stdarg.h" 1 3 4 -# 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stdarg.h" 3 4 -typedef __builtin_va_list __gnuc_va_list; -# 39 "/usr/include/wchar.h" 2 3 4 - - - - -typedef __gnuc_va_list va_list; - - - - - - - -# 1 "/usr/include/bits/wchar.h" 1 3 4 -# 52 "/usr/include/wchar.h" 2 3 4 -# 1 "/usr/include/bits/types/wint_t.h" 1 3 4 -# 20 "/usr/include/bits/types/wint_t.h" 3 4 -typedef unsigned int wint_t; -# 53 "/usr/include/wchar.h" 2 3 4 -# 1 "/usr/include/bits/types/mbstate_t.h" 1 3 4 - - - -# 1 "/usr/include/bits/types/__mbstate_t.h" 1 3 4 -# 13 "/usr/include/bits/types/__mbstate_t.h" 3 4 -typedef struct -{ - int __count; - union - { - unsigned int __wch; - char __wchb[4]; - } __value; -} __mbstate_t; -# 5 "/usr/include/bits/types/mbstate_t.h" 2 3 4 - -typedef __mbstate_t mbstate_t; -# 54 "/usr/include/wchar.h" 2 3 4 -# 1 "/usr/include/bits/types/__FILE.h" 1 3 4 - - - -struct _IO_FILE; -typedef struct _IO_FILE __FILE; -# 55 "/usr/include/wchar.h" 2 3 4 - - -# 1 "/usr/include/bits/types/FILE.h" 1 3 4 - - - -struct _IO_FILE; - - -typedef struct _IO_FILE FILE; -# 58 "/usr/include/wchar.h" 2 3 4 - - -# 1 "/usr/include/bits/types/locale_t.h" 1 3 4 -# 22 "/usr/include/bits/types/locale_t.h" 3 4 -# 1 "/usr/include/bits/types/__locale_t.h" 1 3 4 -# 27 "/usr/include/bits/types/__locale_t.h" 3 4 -struct __locale_struct -{ - - struct __locale_data *__locales[13]; - - - const unsigned short int *__ctype_b; - const int *__ctype_tolower; - const int *__ctype_toupper; - - - const char *__names[13]; -}; - -typedef struct __locale_struct *__locale_t; -# 23 "/usr/include/bits/types/locale_t.h" 2 3 4 - -typedef __locale_t locale_t; -# 61 "/usr/include/wchar.h" 2 3 4 -# 90 "/usr/include/wchar.h" 3 4 -extern "C" { - - - -struct tm; - - - -extern wchar_t *wcscpy (wchar_t *__restrict __dest, - const wchar_t *__restrict __src) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern wchar_t *wcsncpy (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, size_t __n) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - - -extern size_t wcslcpy (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, size_t __n) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 3))); - - - -extern size_t wcslcat (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, size_t __n) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__read_write__, 1, 3))); - - - -extern wchar_t *wcscat (wchar_t *__restrict __dest, - const wchar_t *__restrict __src) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - -extern wchar_t *wcsncat (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, size_t __n) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2) - noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); - -extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) - noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); - - - -extern int wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) noexcept (true); - - -extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2, - size_t __n) noexcept (true); - - - -extern int wcscasecmp_l (const wchar_t *__s1, const wchar_t *__s2, - locale_t __loc) noexcept (true); - -extern int wcsncasecmp_l (const wchar_t *__s1, const wchar_t *__s2, - size_t __n, locale_t __loc) noexcept (true); - - - - -extern int wcscoll (const wchar_t *__s1, const wchar_t *__s2) noexcept (true); - - - -extern size_t wcsxfrm (wchar_t *__restrict __s1, - const wchar_t *__restrict __s2, size_t __n) noexcept (true); - - - - - - - -extern int wcscoll_l (const wchar_t *__s1, const wchar_t *__s2, - locale_t __loc) noexcept (true); - - - - -extern size_t wcsxfrm_l (wchar_t *__s1, const wchar_t *__s2, - size_t __n, locale_t __loc) noexcept (true); - - -extern wchar_t *wcsdup (const wchar_t *__s) noexcept (true) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (__builtin_free, 1))); - - - - -extern "C++" wchar_t *wcschr (wchar_t *__wcs, wchar_t __wc) - noexcept (true) __asm ("wcschr") __attribute__ ((__pure__)); -extern "C++" const wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc) - noexcept (true) __asm ("wcschr") __attribute__ ((__pure__)); - - - - - - -extern "C++" wchar_t *wcsrchr (wchar_t *__wcs, wchar_t __wc) - noexcept (true) __asm ("wcsrchr") __attribute__ ((__pure__)); -extern "C++" const wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc) - noexcept (true) __asm ("wcsrchr") __attribute__ ((__pure__)); -# 206 "/usr/include/wchar.h" 3 4 -extern wchar_t *wcschrnul (const wchar_t *__s, wchar_t __wc) - noexcept (true) __attribute__ ((__pure__)); - - - - -extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject) - noexcept (true) __attribute__ ((__pure__)); - - -extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept) - noexcept (true) __attribute__ ((__pure__)); - - -extern "C++" wchar_t *wcspbrk (wchar_t *__wcs, const wchar_t *__accept) - noexcept (true) __asm ("wcspbrk") __attribute__ ((__pure__)); -extern "C++" const wchar_t *wcspbrk (const wchar_t *__wcs, - const wchar_t *__accept) - noexcept (true) __asm ("wcspbrk") __attribute__ ((__pure__)); - - - - - - -extern "C++" wchar_t *wcsstr (wchar_t *__haystack, const wchar_t *__needle) - noexcept (true) __asm ("wcsstr") __attribute__ ((__pure__)); -extern "C++" const wchar_t *wcsstr (const wchar_t *__haystack, - const wchar_t *__needle) - noexcept (true) __asm ("wcsstr") __attribute__ ((__pure__)); - - - - - - -extern wchar_t *wcstok (wchar_t *__restrict __s, - const wchar_t *__restrict __delim, - wchar_t **__restrict __ptr) noexcept (true); - - -extern size_t wcslen (const wchar_t *__s) noexcept (true) __attribute__ ((__pure__)); - - - - -extern "C++" wchar_t *wcswcs (wchar_t *__haystack, const wchar_t *__needle) - noexcept (true) __asm ("wcswcs") __attribute__ ((__pure__)); -extern "C++" const wchar_t *wcswcs (const wchar_t *__haystack, - const wchar_t *__needle) - noexcept (true) __asm ("wcswcs") __attribute__ ((__pure__)); -# 265 "/usr/include/wchar.h" 3 4 -extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen) - noexcept (true) __attribute__ ((__pure__)); - - - - - -extern "C++" wchar_t *wmemchr (wchar_t *__s, wchar_t __c, size_t __n) - noexcept (true) __asm ("wmemchr") __attribute__ ((__pure__)); -extern "C++" const wchar_t *wmemchr (const wchar_t *__s, wchar_t __c, - size_t __n) - noexcept (true) __asm ("wmemchr") __attribute__ ((__pure__)); - - - - - - -extern int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) - noexcept (true) __attribute__ ((__pure__)); - - -extern wchar_t *wmemcpy (wchar_t *__restrict __s1, - const wchar_t *__restrict __s2, size_t __n) noexcept (true); - - - -extern wchar_t *wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n) - noexcept (true); - - -extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) noexcept (true); - - - - -extern wchar_t *wmempcpy (wchar_t *__restrict __s1, - const wchar_t *__restrict __s2, size_t __n) - noexcept (true); - - - - - -extern wint_t btowc (int __c) noexcept (true); - - - -extern int wctob (wint_t __c) noexcept (true); - - - -extern int mbsinit (const mbstate_t *__ps) noexcept (true) __attribute__ ((__pure__)); - - - -extern size_t mbrtowc (wchar_t *__restrict __pwc, - const char *__restrict __s, size_t __n, - mbstate_t *__restrict __p) noexcept (true); - - -extern size_t wcrtomb (char *__restrict __s, wchar_t __wc, - mbstate_t *__restrict __ps) noexcept (true); - - -extern size_t __mbrlen (const char *__restrict __s, size_t __n, - mbstate_t *__restrict __ps) noexcept (true); -extern size_t mbrlen (const char *__restrict __s, size_t __n, - mbstate_t *__restrict __ps) noexcept (true); -# 362 "/usr/include/wchar.h" 3 4 -extern size_t mbsrtowcs (wchar_t *__restrict __dst, - const char **__restrict __src, size_t __len, - mbstate_t *__restrict __ps) noexcept (true); - - - -extern size_t wcsrtombs (char *__restrict __dst, - const wchar_t **__restrict __src, size_t __len, - mbstate_t *__restrict __ps) noexcept (true); - - - - - -extern size_t mbsnrtowcs (wchar_t *__restrict __dst, - const char **__restrict __src, size_t __nmc, - size_t __len, mbstate_t *__restrict __ps) noexcept (true); - - - -extern size_t wcsnrtombs (char *__restrict __dst, - const wchar_t **__restrict __src, - size_t __nwc, size_t __len, - mbstate_t *__restrict __ps) noexcept (true); - - - - - - -extern int wcwidth (wchar_t __c) noexcept (true); - - - -extern int wcswidth (const wchar_t *__s, size_t __n) noexcept (true); - - - - - -extern double wcstod (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) noexcept (true); - - - -extern float wcstof (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) noexcept (true); -extern long double wcstold (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) noexcept (true); -# 422 "/usr/include/wchar.h" 3 4 -extern _Float32 wcstof32 (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) noexcept (true); - - - -extern _Float64 wcstof64 (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) noexcept (true); - - - -extern _Float128 wcstof128 (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) noexcept (true); - - - -extern _Float32x wcstof32x (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) noexcept (true); - - - -extern _Float64x wcstof64x (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) noexcept (true); -# 455 "/usr/include/wchar.h" 3 4 -extern long int wcstol (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, int __base) noexcept (true); - - - -extern unsigned long int wcstoul (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, int __base) - noexcept (true); - - - - -__extension__ -extern long long int wcstoll (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, int __base) - noexcept (true); - - - -__extension__ -extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - int __base) noexcept (true); - - - - - -__extension__ -extern long long int wcstoq (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, int __base) - noexcept (true); - - - -__extension__ -extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - int __base) noexcept (true); - - - - - - -extern long int wcstol (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstol") - - ; -extern unsigned long int wcstoul (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstoul") - - - ; -__extension__ -extern long long int wcstoll (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstoll") - - - ; -__extension__ -extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstoull") - - - ; - -__extension__ -extern long long int wcstoq (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstoll") - - ; -__extension__ -extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstoull") - - - ; -# 561 "/usr/include/wchar.h" 3 4 -extern long int wcstol_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, int __base, - locale_t __loc) noexcept (true); - -extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - int __base, locale_t __loc) noexcept (true); - -__extension__ -extern long long int wcstoll_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - int __base, locale_t __loc) noexcept (true); - -__extension__ -extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - int __base, locale_t __loc) - noexcept (true); - - - - - -extern long int wcstol_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_wcstol_l") - - - ; -extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_wcstoul_l") - - - - ; -__extension__ -extern long long int wcstoll_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_wcstoll_l") - - - - ; -__extension__ -extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_wcstoull_l") - - - - ; -# 630 "/usr/include/wchar.h" 3 4 -extern double wcstod_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, locale_t __loc) - noexcept (true); - -extern float wcstof_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, locale_t __loc) - noexcept (true); - -extern long double wcstold_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - locale_t __loc) noexcept (true); -# 649 "/usr/include/wchar.h" 3 4 -extern _Float32 wcstof32_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - locale_t __loc) noexcept (true); - - - -extern _Float64 wcstof64_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - locale_t __loc) noexcept (true); - - - -extern _Float128 wcstof128_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - locale_t __loc) noexcept (true); - - - -extern _Float32x wcstof32x_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - locale_t __loc) noexcept (true); - - - -extern _Float64x wcstof64x_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - locale_t __loc) noexcept (true); -# 689 "/usr/include/wchar.h" 3 4 -extern wchar_t *wcpcpy (wchar_t *__restrict __dest, - const wchar_t *__restrict __src) noexcept (true); - - - -extern wchar_t *wcpncpy (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, size_t __n) - noexcept (true); -# 718 "/usr/include/wchar.h" 3 4 -extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) noexcept (true) - __attribute__ ((__malloc__)) ; - - - - - -extern int fwide (__FILE *__fp, int __mode) noexcept (true); - - - - - - -extern int fwprintf (__FILE *__restrict __stream, - const wchar_t *__restrict __format, ...) - ; - - - - -extern int wprintf (const wchar_t *__restrict __format, ...) - ; - -extern int swprintf (wchar_t *__restrict __s, size_t __n, - const wchar_t *__restrict __format, ...) - noexcept (true) ; - - - - - -extern int vfwprintf (__FILE *__restrict __s, - const wchar_t *__restrict __format, - __gnuc_va_list __arg) - ; - - - - -extern int vwprintf (const wchar_t *__restrict __format, - __gnuc_va_list __arg) - ; - - -extern int vswprintf (wchar_t *__restrict __s, size_t __n, - const wchar_t *__restrict __format, - __gnuc_va_list __arg) - noexcept (true) ; - - - - - - -extern int fwscanf (__FILE *__restrict __stream, - const wchar_t *__restrict __format, ...) - ; - - - - -extern int wscanf (const wchar_t *__restrict __format, ...) - ; - -extern int swscanf (const wchar_t *__restrict __s, - const wchar_t *__restrict __format, ...) - noexcept (true) ; -# 795 "/usr/include/wchar.h" 3 4 -extern int fwscanf (__FILE *__restrict __stream, const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc23_fwscanf") - - - ; -extern int wscanf (const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc23_wscanf") - - ; -extern int swscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, ...) noexcept (true) __asm__ ("" "__isoc23_swscanf") - - - ; -# 851 "/usr/include/wchar.h" 3 4 -extern int vfwscanf (__FILE *__restrict __s, - const wchar_t *__restrict __format, - __gnuc_va_list __arg) - ; - - - - -extern int vwscanf (const wchar_t *__restrict __format, - __gnuc_va_list __arg) - ; - -extern int vswscanf (const wchar_t *__restrict __s, - const wchar_t *__restrict __format, - __gnuc_va_list __arg) - noexcept (true) ; -# 875 "/usr/include/wchar.h" 3 4 -extern int vfwscanf (__FILE *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc23_vfwscanf") - - - ; -extern int vwscanf (const wchar_t *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc23_vwscanf") - - ; -extern int vswscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) noexcept (true) __asm__ ("" "__isoc23_vswscanf") - - - ; -# 935 "/usr/include/wchar.h" 3 4 -extern wint_t fgetwc (__FILE *__stream); -extern wint_t getwc (__FILE *__stream); - - - - - -extern wint_t getwchar (void); - - - - - - -extern wint_t fputwc (wchar_t __wc, __FILE *__stream); -extern wint_t putwc (wchar_t __wc, __FILE *__stream); - - - - - -extern wint_t putwchar (wchar_t __wc); - - - - - - - -extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n, - __FILE *__restrict __stream); - - - - - -extern int fputws (const wchar_t *__restrict __ws, - __FILE *__restrict __stream); - - - - - - -extern wint_t ungetwc (wint_t __wc, __FILE *__stream); -# 990 "/usr/include/wchar.h" 3 4 -extern wint_t getwc_unlocked (__FILE *__stream); -extern wint_t getwchar_unlocked (void); - - - - - - - -extern wint_t fgetwc_unlocked (__FILE *__stream); - - - - - - - -extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream); -# 1016 "/usr/include/wchar.h" 3 4 -extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream); -extern wint_t putwchar_unlocked (wchar_t __wc); -# 1026 "/usr/include/wchar.h" 3 4 -extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n, - __FILE *__restrict __stream); - - - - - - - -extern int fputws_unlocked (const wchar_t *__restrict __ws, - __FILE *__restrict __stream); - - - - - - -extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize, - const wchar_t *__restrict __format, - const struct tm *__restrict __tp) noexcept (true); - - - - -extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize, - const wchar_t *__restrict __format, - const struct tm *__restrict __tp, - locale_t __loc) noexcept (true); -# 1073 "/usr/include/wchar.h" 3 4 -} -# 45 "/usr/include/c++/14.1.1/cwchar" 2 3 -# 62 "/usr/include/c++/14.1.1/cwchar" 3 -namespace std -{ - using ::mbstate_t; -} -# 135 "/usr/include/c++/14.1.1/cwchar" 3 -extern "C++" -{ -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - 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; -# 234 "/usr/include/c++/14.1.1/cwchar" 3 - -} -} - - - - - - - -namespace __gnu_cxx -{ - - - - - - using ::wcstold; -# 260 "/usr/include/c++/14.1.1/cwchar" 3 - using ::wcstoll; - using ::wcstoull; - -} - -namespace std -{ - using ::__gnu_cxx::wcstold; - using ::__gnu_cxx::wcstoll; - using ::__gnu_cxx::wcstoull; -} -# 280 "/usr/include/c++/14.1.1/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/include/c++/14.1.1/bits/postypes.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 62 "/usr/include/c++/14.1.1/bits/postypes.h" 3 - typedef long int streamoff; - - - - - - typedef ptrdiff_t streamsize; -# 81 "/usr/include/c++/14.1.1/bits/postypes.h" 3 - template - class fpos - { - private: - streamoff _M_off; - _StateT _M_state; - - public: - - - - - fpos() - : _M_off(0), _M_state() { } -# 103 "/usr/include/c++/14.1.1/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; - - - - typedef fpos u8streampos; - - - - - typedef fpos u16streampos; - - typedef fpos u32streampos; - - - -} -# 43 "/usr/include/c++/14.1.1/iosfwd" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 76 "/usr/include/c++/14.1.1/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; - - -namespace __cxx11 { - - 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; - - - - template, - typename _Allocator = allocator<_CharT>> - class basic_syncbuf; - template, - typename _Allocator = allocator<_CharT>> - class basic_osyncstream; - - using syncbuf = basic_syncbuf; - using osyncstream = basic_osyncstream; - - - using wsyncbuf = basic_syncbuf; - using wosyncstream = basic_osyncstream; -# 255 "/usr/include/c++/14.1.1/iosfwd" 3 - -} -# 41 "/usr/include/c++/14.1.1/ios" 2 3 -# 1 "/usr/include/c++/14.1.1/exception" 1 3 -# 33 "/usr/include/c++/14.1.1/exception" 3 - -# 34 "/usr/include/c++/14.1.1/exception" 3 - - -# 1 "/usr/include/c++/14.1.1/bits/exception.h" 1 3 -# 34 "/usr/include/c++/14.1.1/bits/exception.h" 3 - -# 35 "/usr/include/c++/14.1.1/bits/exception.h" 3 - - - -extern "C++" { - -namespace std __attribute__ ((__visibility__ ("default"))) -{ -# 59 "/usr/include/c++/14.1.1/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; - }; - - - -} - -} -# 37 "/usr/include/c++/14.1.1/exception" 2 3 - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 40 "/usr/include/c++/14.1.1/exception" 2 3 - -extern "C++" { - -namespace std __attribute__ ((__visibility__ ("default"))) -{ -# 54 "/usr/include/c++/14.1.1/exception" 3 - class bad_exception : public exception - { - public: - bad_exception() noexcept { } - - - - virtual ~bad_exception() noexcept; - - - virtual const char* - what() const noexcept; - }; - - - typedef void (*terminate_handler) (); - - - terminate_handler set_terminate(terminate_handler) noexcept; - - - - terminate_handler get_terminate() noexcept; - - - - - void terminate() noexcept __attribute__ ((__noreturn__,__cold__)); - - - - typedef void (*__attribute__ ((__deprecated__)) unexpected_handler) (); - - - - - - __attribute__ ((__deprecated__)) - unexpected_handler set_unexpected(unexpected_handler) noexcept; - - - - - - - - __attribute__ ((__deprecated__)) - unexpected_handler get_unexpected() noexcept; - - - - - - - - __attribute__ ((__deprecated__)) - void unexpected() __attribute__ ((__noreturn__,__cold__)); -# 124 "/usr/include/c++/14.1.1/exception" 3 - __attribute__ ((__deprecated__ ("use '" "std::uncaught_exceptions()" "' instead"))) - bool uncaught_exception() noexcept __attribute__ ((__pure__)); - - - - - - - int uncaught_exceptions() noexcept __attribute__ ((__pure__)); - - - -} - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - -# 158 "/usr/include/c++/14.1.1/exception" 3 - void __verbose_terminate_handler(); - - -} - -} - - -# 1 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 1 3 -# 35 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 3 -# 1 "/usr/include/c++/14.1.1/bits/exception_defines.h" 1 3 -# 36 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/cxxabi_init_exception.h" 1 3 -# 34 "/usr/include/c++/14.1.1/bits/cxxabi_init_exception.h" 3 - -# 35 "/usr/include/c++/14.1.1/bits/cxxabi_init_exception.h" 3 - -#pragma GCC visibility push(default) - -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 145 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 3 4 -typedef long int ptrdiff_t; -# 425 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/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)))); -# 436 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 3 4 -} max_align_t; - - - - - - - typedef decltype(nullptr) nullptr_t; -# 39 "/usr/include/c++/14.1.1/bits/cxxabi_init_exception.h" 2 3 -# 50 "/usr/include/c++/14.1.1/bits/cxxabi_init_exception.h" 3 -namespace std -{ - class type_info; -} - -namespace __cxxabiv1 -{ - struct __cxa_refcounted_exception; - - extern "C" - { - - void* - __cxa_allocate_exception(size_t) noexcept; - - void - __cxa_free_exception(void*) noexcept; - - - __cxa_refcounted_exception* - __cxa_init_primary_exception(void *__object, std::type_info *__tinfo, - void ( *__dest) (void *)) - noexcept; - - } -} - - - -#pragma GCC visibility pop -# 37 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 2 3 -# 1 "/usr/include/c++/14.1.1/typeinfo" 1 3 -# 32 "/usr/include/c++/14.1.1/typeinfo" 3 - -# 33 "/usr/include/c++/14.1.1/typeinfo" 3 - - - -# 1 "/usr/include/c++/14.1.1/bits/hash_bytes.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/hash_bytes.h" 3 - -# 34 "/usr/include/c++/14.1.1/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/include/c++/14.1.1/typeinfo" 2 3 - - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 41 "/usr/include/c++/14.1.1/typeinfo" 2 3 - -#pragma GCC visibility push(default) - -extern "C++" { - -namespace __cxxabiv1 -{ - class __class_type_info; -} -# 83 "/usr/include/c++/14.1.1/typeinfo" 3 -namespace std -{ - - - - - - - class type_info - { - public: - - - - - virtual ~type_info(); - - - - const char* name() const noexcept - { return __name[0] == '*' ? __name + 1 : __name; } - - - - bool before(const type_info& __arg) const noexcept; - - - bool operator==(const type_info& __arg) const noexcept; - - - - - - - - size_t hash_code() const noexcept - { - - return _Hash_bytes(name(), __builtin_strlen(name()), - static_cast(0xc70f6907UL)); - - - - } - - - - virtual bool __is_pointer_p() const; - - - virtual bool __is_function_p() const; - - - - - - - - virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj, - unsigned __outer) const; - - - virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target, - void **__obj_ptr) const; - - protected: - const char *__name; - - explicit type_info(const char *__n): __name(__n) { } - - private: - - - type_info& operator=(const type_info&) = delete; - type_info(const type_info&) = delete; -# 166 "/usr/include/c++/14.1.1/typeinfo" 3 - }; - - - inline bool - type_info::before(const type_info& __arg) const noexcept - { - - - - - if (__name[0] != '*' || __arg.__name[0] != '*') - return __builtin_strcmp (__name, __arg.__name) < 0; -# 186 "/usr/include/c++/14.1.1/typeinfo" 3 - return __name < __arg.__name; - } - - - - inline bool - type_info::operator==(const type_info& __arg) const noexcept - { - if (std::__is_constant_evaluated()) - return this == &__arg; - - if (__name == __arg.__name) - return true; - - - - - - - return __name[0] != '*' && __builtin_strcmp (__name, __arg.name()) == 0; - - - - } -# 219 "/usr/include/c++/14.1.1/typeinfo" 3 - class bad_cast : public exception - { - public: - bad_cast() noexcept { } - - - - virtual ~bad_cast() noexcept; - - - virtual const char* what() const noexcept; - }; - - - - - - class bad_typeid : public exception - { - public: - bad_typeid () noexcept { } - - - - virtual ~bad_typeid() noexcept; - - - virtual const char* what() const noexcept; - }; -} - -} - -#pragma GCC visibility pop -# 38 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 2 3 -# 1 "/usr/include/c++/14.1.1/new" 1 3 -# 38 "/usr/include/c++/14.1.1/new" 3 - -# 39 "/usr/include/c++/14.1.1/new" 3 - - - - - - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 47 "/usr/include/c++/14.1.1/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; - -} -# 131 "/usr/include/c++/14.1.1/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; - - - - inline constexpr size_t hardware_destructive_interference_size = 64; - inline constexpr size_t hardware_constructive_interference_size = 64; - -} - - - - -namespace std -{ - - - struct destroying_delete_t - { - explicit destroying_delete_t() = default; - }; - - inline constexpr destroying_delete_t destroying_delete{}; -} - - -#pragma GCC visibility pop -# 39 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 2 3 - - -# 1 "/usr/include/c++/14.1.1/bits/move.h" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/move.h" 3 -# 1 "/usr/include/c++/14.1.1/type_traits" 1 3 -# 32 "/usr/include/c++/14.1.1/type_traits" 3 - -# 33 "/usr/include/c++/14.1.1/type_traits" 3 -# 63 "/usr/include/c++/14.1.1/type_traits" 3 -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 64 "/usr/include/c++/14.1.1/type_traits" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - class reference_wrapper; -# 86 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct integral_constant - { - static constexpr _Tp value = __v; - using value_type = _Tp; - using type = integral_constant<_Tp, __v>; - constexpr operator value_type() const noexcept { return value; } - - - constexpr value_type operator()() const noexcept { return value; } - - }; -# 106 "/usr/include/c++/14.1.1/type_traits" 3 - template - using __bool_constant = integral_constant; - - - - using true_type = __bool_constant; - - - using false_type = __bool_constant; - - - - - template - using bool_constant = __bool_constant<__v>; - - - - - - - template - struct enable_if - { }; - - - template - struct enable_if - { using type = _Tp; }; - - - template - using __enable_if_t = typename enable_if<_Cond, _Tp>::type; - - template - struct __conditional - { - template - using type = _Tp; - }; - - template<> - struct __conditional - { - template - using type = _Up; - }; - - - template - using __conditional_t - = typename __conditional<_Cond>::template type<_If, _Else>; - - - template - struct __type_identity - { using type = _Type; }; - - template - using __type_identity_t = typename __type_identity<_Tp>::type; - - namespace __detail - { - - template - using __first_t = _Tp; - - - template - auto __or_fn(int) -> __first_t...>; - - template - auto __or_fn(...) -> true_type; - - template - auto __and_fn(int) -> __first_t...>; - - template - auto __and_fn(...) -> false_type; - } - - - - - template - struct __or_ - : decltype(__detail::__or_fn<_Bn...>(0)) - { }; - - template - struct __and_ - : decltype(__detail::__and_fn<_Bn...>(0)) - { }; - - template - struct __not_ - : __bool_constant - { }; - - - - - - template - inline constexpr bool __or_v = __or_<_Bn...>::value; - template - inline constexpr bool __and_v = __and_<_Bn...>::value; - - namespace __detail - { - template - struct __disjunction_impl - { using type = _B1; }; - - template - struct __disjunction_impl<__enable_if_t, _B1, _B2, _Bn...> - { using type = typename __disjunction_impl::type; }; - - template - struct __conjunction_impl - { using type = _B1; }; - - template - struct __conjunction_impl<__enable_if_t, _B1, _B2, _Bn...> - { using type = typename __conjunction_impl::type; }; - } - - - template - struct conjunction - : __detail::__conjunction_impl::type - { }; - - template<> - struct conjunction<> - : true_type - { }; - - template - struct disjunction - : __detail::__disjunction_impl::type - { }; - - template<> - struct disjunction<> - : false_type - { }; - - template - struct negation - : __not_<_Pp>::type - { }; - - - - - 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 - using __remove_cv_t = typename remove_cv<_Tp>::type; - - - - - - template - struct is_void - : public false_type { }; - - template<> - struct is_void - : public true_type { }; - - template<> - struct is_void - : public true_type { }; - - template<> - struct is_void - : public true_type { }; - - template<> - struct is_void - : public true_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 { }; - - - 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 - : public true_type { }; - - - - - __extension__ - template<> - struct __is_integral_helper<__int128> - : public true_type { }; - - __extension__ - template<> - struct __is_integral_helper - : public true_type { }; -# 460 "/usr/include/c++/14.1.1/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 { }; -# 513 "/usr/include/c++/14.1.1/type_traits" 3 - 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 __bool_constant<__is_array(_Tp)> - { }; -# 545 "/usr/include/c++/14.1.1/type_traits" 3 - 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 - : public __bool_constant<__is_member_object_pointer(_Tp)> - { }; -# 601 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct is_member_function_pointer - : public __bool_constant<__is_member_function_pointer(_Tp)> - { }; -# 622 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct is_enum - : public __bool_constant<__is_enum(_Tp)> - { }; - - - template - struct is_union - : public __bool_constant<__is_union(_Tp)> - { }; - - - template - struct is_class - : public __bool_constant<__is_class(_Tp)> - { }; - - - - template - struct is_function - : public __bool_constant<__is_function(_Tp)> - { }; -# 661 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct is_null_pointer - : public false_type { }; - - template<> - struct is_null_pointer - : public true_type { }; - - template<> - struct is_null_pointer - : public true_type { }; - - template<> - struct is_null_pointer - : public true_type { }; - - template<> - struct is_null_pointer - : public true_type { }; - - - - template - struct __is_nullptr_t - : public is_null_pointer<_Tp> - { } __attribute__ ((__deprecated__ ("use '" "std::is_null_pointer" "' instead"))); - - - - - - - template - struct is_reference - : public __bool_constant<__is_reference(_Tp)> - { }; -# 715 "/usr/include/c++/14.1.1/type_traits" 3 - 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 __bool_constant<__is_object(_Tp)> - { }; -# 741 "/usr/include/c++/14.1.1/type_traits" 3 - 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 __bool_constant::value> { }; - - - - template - struct is_member_pointer - : public __bool_constant<__is_member_pointer(_Tp)> - { }; -# 779 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct is_same; - - - template - using __is_one_of = __or_...>; - - - __extension__ - 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 -# 804 "/usr/include/c++/14.1.1/type_traits" 3 - >; - - - __extension__ - 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 -# 824 "/usr/include/c++/14.1.1/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_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 __bool_constant<__is_trivial(_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_copyable - : public __bool_constant<__is_trivially_copyable(_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_standard_layout - : public __bool_constant<__is_standard_layout(_Tp)> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - - - - - template - struct - __attribute__ ((__deprecated__ ("use '" "is_standard_layout && is_trivial" "' instead"))) - is_pod - : public __bool_constant<__is_pod(_Tp)> - { - 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 __bool_constant<__is_literal_type(_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_empty - : public __bool_constant<__is_empty(_Tp)> - { }; - - - template - struct is_polymorphic - : public __bool_constant<__is_polymorphic(_Tp)> - { }; - - - - - template - struct is_final - : public __bool_constant<__is_final(_Tp)> - { }; - - - - template - struct is_abstract - : public __bool_constant<__is_abstract(_Tp)> - { }; - - - template::value> - struct __is_signed_helper - : public false_type { }; - - template - struct __is_signed_helper<_Tp, true> - : public __bool_constant<_Tp(-1) < _Tp(0)> - { }; - - - - template - struct is_signed - : public __is_signed_helper<_Tp>::type - { }; - - - template - struct is_unsigned - : public __and_, __not_>>::type - { }; - - - template - _Up - __declval(int); - - template - _Tp - __declval(long); - - - template - auto declval() noexcept -> decltype(__declval<_Tp>(0)); - - template - struct remove_all_extents; - - - template - struct __is_array_known_bounds - : public false_type - { }; - - template - struct __is_array_known_bounds<_Tp[_Size]> - : public true_type - { }; - - template - struct __is_array_unknown_bounds - : public false_type - { }; - - template - struct __is_array_unknown_bounds<_Tp[]> - : public true_type - { }; -# 1006 "/usr/include/c++/14.1.1/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 - { - using type = decltype(__test<_Tp>(0)); - }; - - 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 - { - using type = decltype(__test<_Tp>(0)); - }; - - 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 - using __is_constructible_impl - = __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> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - template - struct __add_lvalue_reference_helper - { using type = _Tp; }; - - template - struct __add_lvalue_reference_helper<_Tp, __void_t<_Tp&>> - { using type = _Tp&; }; - - template - using __add_lval_ref_t = typename __add_lvalue_reference_helper<_Tp>::type; - - - - template - struct is_copy_constructible - : public __is_constructible_impl<_Tp, __add_lval_ref_t> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - template - struct __add_rvalue_reference_helper - { using type = _Tp; }; - - template - struct __add_rvalue_reference_helper<_Tp, __void_t<_Tp&&>> - { using type = _Tp&&; }; - - template - using __add_rval_ref_t = typename __add_rvalue_reference_helper<_Tp>::type; - - - - template - struct is_move_constructible - : public __is_constructible_impl<_Tp, __add_rval_ref_t<_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...> - { - 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 __is_nothrow_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_nothrow_copy_constructible - : public __is_nothrow_constructible_impl<_Tp, __add_lval_ref_t> - { - 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_move_constructible - : public __is_nothrow_constructible_impl<_Tp, __add_rval_ref_t<_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_assignable_impl = __bool_constant<__is_assignable(_Tp, _Up)>; - - - - template - struct is_assignable - : public __is_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 - struct is_copy_assignable - : public __is_assignable_impl<__add_lval_ref_t<_Tp>, - __add_lval_ref_t> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - template - struct is_move_assignable - : public __is_assignable_impl<__add_lval_ref_t<_Tp>, __add_rval_ref_t<_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_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 - struct is_nothrow_copy_assignable - : public __is_nothrow_assignable_impl<__add_lval_ref_t<_Tp>, - __add_lval_ref_t> - { - 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_move_assignable - : public __is_nothrow_assignable_impl<__add_lval_ref_t<_Tp>, - __add_rval_ref_t<_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_trivially_constructible_impl - = __bool_constant<__is_trivially_constructible(_Tp, _Args...)>; - - - - template - struct is_trivially_constructible - : public __is_trivially_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_trivially_default_constructible - : public __is_trivially_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 - constexpr bool __is_implicitly_default_constructible_v - = requires (void(&__f)(_Tp)) { __f({}); }; - - template - struct __is_implicitly_default_constructible - : __bool_constant<__is_implicitly_default_constructible_v<_Tp>> - { }; -# 1351 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct is_trivially_copy_constructible - : public __is_trivially_constructible_impl<_Tp, __add_lval_ref_t> - { - 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_move_constructible - : public __is_trivially_constructible_impl<_Tp, __add_rval_ref_t<_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_trivially_assignable_impl - = __bool_constant<__is_trivially_assignable(_Tp, _Up)>; - - - - template - struct is_trivially_assignable - : public __is_trivially_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 - struct is_trivially_copy_assignable - : public __is_trivially_assignable_impl<__add_lval_ref_t<_Tp>, - __add_lval_ref_t> - { - 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_move_assignable - : public __is_trivially_assignable_impl<__add_lval_ref_t<_Tp>, - __add_rval_ref_t<_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)>>::type - { - 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 __bool_constant<__has_virtual_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 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], 0> - : public integral_constant { }; - - template - struct extent<_Tp[_Size], _Uint> - : public extent<_Tp, _Uint - 1>::type { }; - - template - struct extent<_Tp[], 0> - : public integral_constant { }; - - template - struct extent<_Tp[], _Uint> - : public extent<_Tp, _Uint - 1>::type { }; - - - - - - - template - struct is_same - : public __bool_constant<__is_same(_Tp, _Up)> - { }; -# 1491 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct is_base_of - : public __bool_constant<__is_base_of(_Base, _Derived)> - { }; - - - template - struct is_convertible - : public __bool_constant<__is_convertible(_From, _To)> - { }; -# 1540 "/usr/include/c++/14.1.1/type_traits" 3 - template - using __is_array_convertible - = is_convertible<_FromElementType(*)[], _ToElementType(*)[]>; - - - - - - template - inline constexpr bool is_nothrow_convertible_v - = __is_nothrow_convertible(_From, _To); - - - template - struct is_nothrow_convertible - : public bool_constant> - { }; -# 1603 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct remove_const - { using type = _Tp; }; - - template - struct remove_const<_Tp const> - { using type = _Tp; }; - - - template - struct remove_volatile - { using type = _Tp; }; - - template - struct remove_volatile<_Tp volatile> - { using type = _Tp; }; - - - - template - struct remove_cv - { using type = __remove_cv(_Tp); }; -# 1644 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct add_const - { using type = _Tp const; }; - - - template - struct add_volatile - { using type = _Tp volatile; }; - - - template - struct add_cv - { using type = _Tp const volatile; }; - - - - 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 - { using type = __remove_reference(_Tp); }; -# 1706 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct add_lvalue_reference - { using type = __add_lval_ref_t<_Tp>; }; - - - template - struct add_rvalue_reference - { using type = __add_rval_ref_t<_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> - { using __type = _Unqualified; }; - - template - struct __cv_selector<_Unqualified, false, true> - { using __type = volatile _Unqualified; }; - - template - struct __cv_selector<_Unqualified, true, false> - { using __type = const _Unqualified; }; - - template - struct __cv_selector<_Unqualified, true, true> - { using __type = const volatile _Unqualified; }; - - template::value, - bool _IsVol = is_volatile<_Qualified>::value> - class __match_cv_qualifiers - { - using __match = __cv_selector<_Unqualified, _IsConst, _IsVol>; - - public: - using __type = typename __match::__type; - }; - - - template - struct __make_unsigned - { using __type = _Tp; }; - - template<> - struct __make_unsigned - { using __type = unsigned char; }; - - template<> - struct __make_unsigned - { using __type = unsigned char; }; - - template<> - struct __make_unsigned - { using __type = unsigned short; }; - - template<> - struct __make_unsigned - { using __type = unsigned int; }; - - template<> - struct __make_unsigned - { using __type = unsigned long; }; - - template<> - struct __make_unsigned - { using __type = unsigned long long; }; - - - __extension__ - template<> - struct __make_unsigned<__int128> - { using __type = unsigned __int128; }; -# 1819 "/usr/include/c++/14.1.1/type_traits" 3 - template::value, - bool _IsEnum = __is_enum(_Tp)> - 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; - }; - - - 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 - { - using __type - = typename __make_unsigned_selector::__type; - }; - - - - - - - template - struct make_unsigned - { using type = typename __make_unsigned_selector<_Tp>::__type; }; - - - template<> struct make_unsigned; - template<> struct make_unsigned; - template<> struct make_unsigned; - template<> struct make_unsigned; - - - - - template - struct __make_signed - { using __type = _Tp; }; - - template<> - struct __make_signed - { using __type = signed char; }; - - template<> - struct __make_signed - { using __type = signed char; }; - - template<> - struct __make_signed - { using __type = signed short; }; - - template<> - struct __make_signed - { using __type = signed int; }; - - template<> - struct __make_signed - { using __type = signed long; }; - - template<> - struct __make_signed - { using __type = signed long long; }; - - - __extension__ - template<> - struct __make_signed - { using __type = __int128; }; -# 1979 "/usr/include/c++/14.1.1/type_traits" 3 - template::value, - bool _IsEnum = __is_enum(_Tp)> - 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> - { - using __unsigned_type = typename __make_unsigned_selector<_Tp>::__type; - - public: - using __type = typename __make_signed_selector<__unsigned_type>::__type; - }; - - - - - - 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 - { - using __type - = typename __make_signed_selector::__type; - }; - - template<> - struct __make_signed - { - using __type - = typename __make_signed_selector::__type; - }; - - - - - - - template - struct make_signed - { using type = typename __make_signed_selector<_Tp>::__type; }; - - - template<> struct make_signed; - template<> struct make_signed; - template<> struct make_signed; - 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 - { using type = _Tp; }; - - template - struct remove_extent<_Tp[_Size]> - { using type = _Tp; }; - - template - struct remove_extent<_Tp[]> - { using type = _Tp; }; - - - template - struct remove_all_extents - { using type = _Tp; }; - - template - struct remove_all_extents<_Tp[_Size]> - { using type = typename remove_all_extents<_Tp>::type; }; - - template - struct remove_all_extents<_Tp[]> - { using type = typename remove_all_extents<_Tp>::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 - { using type = __remove_pointer(_Tp); }; -# 2124 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct __add_pointer_helper - { using type = _Tp; }; - - template - struct __add_pointer_helper<_Tp, __void_t<_Tp*>> - { using type = _Tp*; }; - - - template - struct add_pointer - : public __add_pointer_helper<_Tp> - { }; - - template - struct add_pointer<_Tp&> - { using type = _Tp*; }; - - template - struct add_pointer<_Tp&&> - { using type = _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; - }; - }; -# 2179 "/usr/include/c++/14.1.1/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; - }; - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" -# 2225 "/usr/include/c++/14.1.1/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; - - using type = typename aligned_storage<_S_len, alignment_value>::type; - }; - - template - const size_t aligned_union<_Len, _Types...>::alignment_value; -#pragma GCC diagnostic pop - - - - - - template - struct __decay_selector - : __conditional_t::value, - remove_cv<_Up>, - add_pointer<_Up>> - { }; - - template - struct __decay_selector<_Up[_Nm]> - { using type = _Up*; }; - - template - struct __decay_selector<_Up[]> - { using type = _Up*; }; - - - - - template - struct decay - { using type = typename __decay_selector<_Tp>::type; }; - - template - struct decay<_Tp&> - { using type = typename __decay_selector<_Tp>::type; }; - - template - struct decay<_Tp&&> - { using type = typename __decay_selector<_Tp>::type; }; - - - - - template - struct __strip_reference_wrapper - { - using __type = _Tp; - }; - - template - struct __strip_reference_wrapper > - { - using __type = _Tp&; - }; - - - template - using __decay_t = typename decay<_Tp>::type; - - template - using __decay_and_strip = __strip_reference_wrapper<__decay_t<_Tp>>; - - - - - - template - using _Require = __enable_if_t<__and_<_Cond...>::value>; - - - template - using __remove_cvref_t - = typename remove_cv::type>::type; - - - - - template - struct conditional - { using type = _Iftrue; }; - - - template - struct conditional - { using type = _Iffalse; }; - - - template - struct common_type; -# 2340 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct __success_type - { using type = _Tp; }; - - struct __failure_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); - - - - - template - static __success_type<__remove_cvref_t<__cond_t>> - _S_test_2(int); - - - 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 - 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 - { - using type = decltype(_S_test<_MemPtr, _Arg, _Args...>(0)); - }; - - - 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 - { - using type = decltype(_S_test<_MemPtr, _Arg, _Args...>(0)); - }; - - - 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 - { - using type = decltype(_S_test<_MemPtr, _Arg>(0)); - }; - - - 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 - { - using type = decltype(_S_test<_MemPtr, _Arg>(0)); - }; - - template - struct __result_of_memobj; - - template - struct __result_of_memobj<_Res _Class::*, _Arg> - { - using _Argval = __remove_cvref_t<_Arg>; - using _MemPtr = _Res _Class::*; - using type = typename __conditional_t<__or_, - is_base_of<_Class, _Argval>>::value, - __result_of_memobj_ref<_MemPtr, _Arg>, - __result_of_memobj_deref<_MemPtr, _Arg> - >::type; - }; - - template - struct __result_of_memfun; - - template - struct __result_of_memfun<_Res _Class::*, _Arg, _Args...> - { - using _Argval = typename remove_reference<_Arg>::type; - using _MemPtr = _Res _Class::*; - using type = typename __conditional_t::value, - __result_of_memfun_ref<_MemPtr, _Arg, _Args...>, - __result_of_memfun_deref<_MemPtr, _Arg, _Args...> - >::type; - }; - - - - - - - template> - struct __inv_unwrap - { - using type = _Tp; - }; - - template - struct __inv_unwrap<_Tp, reference_wrapper<_Up>> - { - using type = _Up&; - }; - - template - struct __result_of_impl - { - using type = __failure_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 - { - using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); - }; - - - 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 - using __invoke_result_t = typename __invoke_result<_Fn, _Args...>::type; - - - template - struct result_of<_Functor(_ArgTypes...)> - : public __invoke_result<_Functor, _ArgTypes...> - { } __attribute__ ((__deprecated__ ("use '" "std::invoke_result" "' instead"))); - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - - template::__type)> - using aligned_storage_t = typename aligned_storage<_Len, _Align>::type; - - template - using aligned_union_t = typename aligned_union<_Len, _Types...>::type; -#pragma GCC diagnostic pop - - - 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; -# 2727 "/usr/include/c++/14.1.1/type_traits" 3 - template class _Op, typename... _Args> - struct __detected_or - { - using type = _Def; - using __is_detected = false_type; - }; - - - template class _Op, typename... _Args> - requires requires { typename _Op<_Args...>; } - struct __detected_or<_Def, _Op, _Args...> - { - using type = _Op<_Args...>; - using __is_detected = true_type; - }; -# 2767 "/usr/include/c++/14.1.1/type_traits" 3 - template class _Op, - typename... _Args> - using __detected_or_t - = typename __detected_or<_Default, _Op, _Args...>::type; -# 2786 "/usr/include/c++/14.1.1/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 - : public __is_tuple_like_impl<__remove_cvref_t<_Tp>>::type - { }; - - - template - constexpr - 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 - constexpr - 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 - { - using type = decltype(__test<_Tp>(0)); - }; - - template - struct __is_nothrow_swappable_impl - : public __swappable_details::__do_is_nothrow_swappable_impl - { - using type = decltype(__test<_Tp>(0)); - }; - - 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 - { - using type = decltype(__test<_Tp, _Up>(0)); - }; - - - template - struct __is_swappable_with_impl<_Tp&, _Tp&> - : public __swappable_details::__do_is_swappable_impl - { - using type = decltype(__test<_Tp&>(0)); - }; - - template - struct __is_nothrow_swappable_with_impl - : public __swappable_with_details::__do_is_nothrow_swappable_with_impl - { - using type = decltype(__test<_Tp, _Up>(0)); - }; - - - template - struct __is_nothrow_swappable_with_impl<_Tp&, _Tp&> - : public __swappable_details::__do_is_nothrow_swappable_impl - { - using type = decltype(__test<_Tp&>(0)); - }; - - - - 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; -# 3008 "/usr/include/c++/14.1.1/type_traits" 3 - template::value, typename = void> - struct __is_invocable_impl - : false_type - { - using __nothrow_conv = false_type; - }; - - - template - struct __is_invocable_impl<_Result, _Ret, - true, - __void_t> - : true_type - { - using __nothrow_conv = true_type; - }; - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wctor-dtor-privacy" - - template - struct __is_invocable_impl<_Result, _Ret, - false, - __void_t> - { - private: - - using _Res_t = typename _Result::type; - - - - static _Res_t _S_get() noexcept; - - - template - static void _S_conv(__type_identity_t<_Tp>) noexcept; - - - template(_S_get())), - typename = decltype(_S_conv<_Tp>(_S_get())), - - bool _Dangle = __reference_converts_from_temporary(_Tp, _Res_t) - - - - > - static __bool_constant<_Nothrow && !_Dangle> - _S_test(int); - - template - static false_type - _S_test(...); - - public: - - using type = decltype(_S_test<_Ret, true>(1)); - - - using __nothrow_conv = decltype(_S_test<_Ret>(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_conv; - - - - 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"); - }; -# 3236 "/usr/include/c++/14.1.1/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); -# 3257 "/usr/include/c++/14.1.1/type_traits" 3 -template - inline constexpr bool is_pointer_v = is_pointer<_Tp>::value; -template - inline constexpr bool is_lvalue_reference_v = false; -template - inline constexpr bool is_lvalue_reference_v<_Tp&> = true; -template - inline constexpr bool is_rvalue_reference_v = false; -template - inline constexpr bool is_rvalue_reference_v<_Tp&&> = true; - - -template - inline constexpr bool is_member_object_pointer_v = - __is_member_object_pointer(_Tp); - - - - - - - -template - inline constexpr bool is_member_function_pointer_v = - __is_member_function_pointer(_Tp); - - - - - - -template - inline constexpr bool is_enum_v = __is_enum(_Tp); -template - inline constexpr bool is_union_v = __is_union(_Tp); -template - inline constexpr bool is_class_v = __is_class(_Tp); - - - -template - inline constexpr bool is_reference_v = __is_reference(_Tp); -# 3308 "/usr/include/c++/14.1.1/type_traits" 3 -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); - - - - - -template - inline constexpr bool is_scalar_v = is_scalar<_Tp>::value; -template - inline constexpr bool is_compound_v = !is_fundamental_v<_Tp>; - - -template - inline constexpr bool is_member_pointer_v = __is_member_pointer(_Tp); - - - - - -template - inline constexpr bool is_const_v = false; -template - inline constexpr bool is_const_v = true; - - -template - inline constexpr bool is_function_v = __is_function(_Tp); -# 3351 "/usr/include/c++/14.1.1/type_traits" 3 -template - inline constexpr bool is_volatile_v = false; -template - inline constexpr bool is_volatile_v = true; - -template - inline constexpr bool is_trivial_v = __is_trivial(_Tp); -template - inline constexpr bool is_trivially_copyable_v = __is_trivially_copyable(_Tp); -template - inline constexpr bool is_standard_layout_v = __is_standard_layout(_Tp); -template - __attribute__ ((__deprecated__ ("use '" "is_standard_layout_v && is_trivial_v" "' instead"))) - inline constexpr bool is_pod_v = __is_pod(_Tp); -template - [[__deprecated__]] - inline constexpr bool is_literal_type_v = __is_literal_type(_Tp); -template - inline constexpr bool is_empty_v = __is_empty(_Tp); -template - inline constexpr bool is_polymorphic_v = __is_polymorphic(_Tp); -template - inline constexpr bool is_abstract_v = __is_abstract(_Tp); -template - inline constexpr bool is_final_v = __is_final(_Tp); - -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...); -template - inline constexpr bool is_default_constructible_v = __is_constructible(_Tp); -template - inline constexpr bool is_copy_constructible_v - = __is_constructible(_Tp, __add_lval_ref_t); -template - inline constexpr bool is_move_constructible_v - = __is_constructible(_Tp, __add_rval_ref_t<_Tp>); - -template - inline constexpr bool is_assignable_v = __is_assignable(_Tp, _Up); -template - inline constexpr bool is_copy_assignable_v - = __is_assignable(__add_lval_ref_t<_Tp>, __add_lval_ref_t); -template - inline constexpr bool is_move_assignable_v - = __is_assignable(__add_lval_ref_t<_Tp>, __add_rval_ref_t<_Tp>); - -template - inline constexpr bool is_destructible_v = is_destructible<_Tp>::value; - -template - inline constexpr bool is_trivially_constructible_v - = __is_trivially_constructible(_Tp, _Args...); -template - inline constexpr bool is_trivially_default_constructible_v - = __is_trivially_constructible(_Tp); -template - inline constexpr bool is_trivially_copy_constructible_v - = __is_trivially_constructible(_Tp, __add_lval_ref_t); -template - inline constexpr bool is_trivially_move_constructible_v - = __is_trivially_constructible(_Tp, __add_rval_ref_t<_Tp>); - -template - inline constexpr bool is_trivially_assignable_v - = __is_trivially_assignable(_Tp, _Up); -template - inline constexpr bool is_trivially_copy_assignable_v - = __is_trivially_assignable(__add_lval_ref_t<_Tp>, - __add_lval_ref_t); -template - inline constexpr bool is_trivially_move_assignable_v - = __is_trivially_assignable(__add_lval_ref_t<_Tp>, - __add_rval_ref_t<_Tp>); - - -template - inline constexpr bool is_trivially_destructible_v = false; - -template - requires (!is_reference_v<_Tp>) && requires (_Tp& __t) { __t.~_Tp(); } - inline constexpr bool is_trivially_destructible_v<_Tp> - = __has_trivial_destructor(_Tp); -template - inline constexpr bool is_trivially_destructible_v<_Tp&> = true; -template - inline constexpr bool is_trivially_destructible_v<_Tp&&> = true; -template - inline constexpr bool is_trivially_destructible_v<_Tp[_Nm]> - = is_trivially_destructible_v<_Tp>; - - - - - - -template - inline constexpr bool is_nothrow_constructible_v - = __is_nothrow_constructible(_Tp, _Args...); -template - inline constexpr bool is_nothrow_default_constructible_v - = __is_nothrow_constructible(_Tp); -template - inline constexpr bool is_nothrow_copy_constructible_v - = __is_nothrow_constructible(_Tp, __add_lval_ref_t); -template - inline constexpr bool is_nothrow_move_constructible_v - = __is_nothrow_constructible(_Tp, __add_rval_ref_t<_Tp>); - -template - inline constexpr bool is_nothrow_assignable_v - = __is_nothrow_assignable(_Tp, _Up); -template - inline constexpr bool is_nothrow_copy_assignable_v - = __is_nothrow_assignable(__add_lval_ref_t<_Tp>, - __add_lval_ref_t); -template - inline constexpr bool is_nothrow_move_assignable_v - = __is_nothrow_assignable(__add_lval_ref_t<_Tp>, __add_rval_ref_t<_Tp>); - -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); - -template - inline constexpr size_t alignment_of_v = alignment_of<_Tp>::value; - -template - inline constexpr size_t rank_v = 0; -template - inline constexpr size_t rank_v<_Tp[_Size]> = 1 + rank_v<_Tp>; -template - inline constexpr size_t rank_v<_Tp[]> = 1 + rank_v<_Tp>; - -template - inline constexpr size_t extent_v = 0; -template - inline constexpr size_t extent_v<_Tp[_Size], 0> = _Size; -template - inline constexpr size_t extent_v<_Tp[_Size], _Idx> = extent_v<_Tp, _Idx - 1>; -template - inline constexpr size_t extent_v<_Tp[], 0> = 0; -template - inline constexpr size_t extent_v<_Tp[], _Idx> = extent_v<_Tp, _Idx - 1>; - - -template - inline constexpr bool is_same_v = __is_same(_Tp, _Up); - - - - - - -template - inline constexpr bool is_base_of_v = __is_base_of(_Base, _Derived); - -template - inline constexpr bool is_convertible_v = __is_convertible(_From, _To); - - - - -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(remove_cv_t<_Tp>); -# 3581 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct remove_cvref - { using type = __remove_cvref(_Tp); }; -# 3598 "/usr/include/c++/14.1.1/type_traits" 3 - template - using remove_cvref_t = typename remove_cvref<_Tp>::type; -# 3608 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct type_identity { using type = _Tp; }; - - template - using type_identity_t = typename type_identity<_Tp>::type; -# 3621 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct unwrap_reference { using type = _Tp; }; - - template - struct unwrap_reference> { using type = _Tp&; }; - - template - using unwrap_reference_t = typename unwrap_reference<_Tp>::type; - - - - - - - template - struct unwrap_ref_decay { using type = unwrap_reference_t>; }; - - template - using unwrap_ref_decay_t = typename unwrap_ref_decay<_Tp>::type; -# 3648 "/usr/include/c++/14.1.1/type_traits" 3 - template - inline constexpr bool is_bounded_array_v = __is_bounded_array(_Tp); -# 3661 "/usr/include/c++/14.1.1/type_traits" 3 - template - inline constexpr bool is_unbounded_array_v = false; - - template - inline constexpr bool is_unbounded_array_v<_Tp[]> = true; - - - - template - struct is_bounded_array - : public bool_constant> - { }; - - - - template - struct is_unbounded_array - : public bool_constant> - { }; - - - - - - template - struct is_layout_compatible - : bool_constant<__is_layout_compatible(_Tp, _Up)> - { }; - - - - template - constexpr bool is_layout_compatible_v - = __is_layout_compatible(_Tp, _Up); - - - - - - - - template - constexpr bool - is_corresponding_member(_M1 _S1::*__m1, _M2 _S2::*__m2) noexcept - { return __builtin_is_corresponding_member(__m1, __m2); } - - - - - - - - template - struct is_pointer_interconvertible_base_of - : bool_constant<__is_pointer_interconvertible_base_of(_Base, _Derived)> - { }; - - - - template - constexpr bool is_pointer_interconvertible_base_of_v - = __is_pointer_interconvertible_base_of(_Base, _Derived); -# 3732 "/usr/include/c++/14.1.1/type_traits" 3 - template - constexpr bool - is_pointer_interconvertible_with_class(_Mem _Tp::*__mp) noexcept - { return __builtin_is_pointer_interconvertible_with_class(__mp); } -# 3816 "/usr/include/c++/14.1.1/type_traits" 3 - constexpr inline bool - is_constant_evaluated() noexcept - { - - - - return __builtin_is_constant_evaluated(); - - } - - - - - template - using __copy_cv = typename __match_cv_qualifiers<_From, _To>::__type; - - template - using __cond_res - = decltype(false ? declval<_Xp(&)()>()() : declval<_Yp(&)()>()()); - - template - struct __common_ref_impl - { }; - - - template - using __common_ref = typename __common_ref_impl<_Ap, _Bp>::type; - - - template - using __condres_cvref - = __cond_res<__copy_cv<_Xp, _Yp>&, __copy_cv<_Yp, _Xp>&>; - - - template - struct __common_ref_impl<_Xp&, _Yp&, __void_t<__condres_cvref<_Xp, _Yp>>> - : enable_if>, - __condres_cvref<_Xp, _Yp>> - { }; - - - template - using __common_ref_C = remove_reference_t<__common_ref<_Xp&, _Yp&>>&&; - - - template - struct __common_ref_impl<_Xp&&, _Yp&&, - _Require>, - is_convertible<_Yp&&, __common_ref_C<_Xp, _Yp>>>> - { using type = __common_ref_C<_Xp, _Yp>; }; - - - template - using __common_ref_D = __common_ref; - - - template - struct __common_ref_impl<_Xp&&, _Yp&, - _Require>>> - { using type = __common_ref_D<_Xp, _Yp>; }; - - - template - struct __common_ref_impl<_Xp&, _Yp&&> - : __common_ref_impl<_Yp&&, _Xp&> - { }; - - - template class _TQual, template class _UQual> - struct basic_common_reference - { }; - - - template - struct __xref - { template using __type = __copy_cv<_Tp, _Up>; }; - - template - struct __xref<_Tp&> - { template using __type = __copy_cv<_Tp, _Up>&; }; - - template - struct __xref<_Tp&&> - { template using __type = __copy_cv<_Tp, _Up>&&; }; - - template - using __basic_common_ref - = typename basic_common_reference, - remove_cvref_t<_Tp2>, - __xref<_Tp1>::template __type, - __xref<_Tp2>::template __type>::type; - - - template - struct common_reference; - - template - using common_reference_t = typename common_reference<_Tp...>::type; - - - template<> - struct common_reference<> - { }; - - - template - struct common_reference<_Tp0> - { using type = _Tp0; }; - - - template - struct __common_reference_impl - : __common_reference_impl<_Tp1, _Tp2, _Bullet + 1> - { }; - - - template - struct common_reference<_Tp1, _Tp2> - : __common_reference_impl<_Tp1, _Tp2> - { }; - - - template - struct __common_reference_impl<_Tp1&, _Tp2&, 1, - void_t<__common_ref<_Tp1&, _Tp2&>>> - { using type = __common_ref<_Tp1&, _Tp2&>; }; - - template - struct __common_reference_impl<_Tp1&&, _Tp2&&, 1, - void_t<__common_ref<_Tp1&&, _Tp2&&>>> - { using type = __common_ref<_Tp1&&, _Tp2&&>; }; - - template - struct __common_reference_impl<_Tp1&, _Tp2&&, 1, - void_t<__common_ref<_Tp1&, _Tp2&&>>> - { using type = __common_ref<_Tp1&, _Tp2&&>; }; - - template - struct __common_reference_impl<_Tp1&&, _Tp2&, 1, - void_t<__common_ref<_Tp1&&, _Tp2&>>> - { using type = __common_ref<_Tp1&&, _Tp2&>; }; - - - template - struct __common_reference_impl<_Tp1, _Tp2, 2, - void_t<__basic_common_ref<_Tp1, _Tp2>>> - { using type = __basic_common_ref<_Tp1, _Tp2>; }; - - - template - struct __common_reference_impl<_Tp1, _Tp2, 3, - void_t<__cond_res<_Tp1, _Tp2>>> - { using type = __cond_res<_Tp1, _Tp2>; }; - - - template - struct __common_reference_impl<_Tp1, _Tp2, 4, - void_t>> - { using type = common_type_t<_Tp1, _Tp2>; }; - - - template - struct __common_reference_impl<_Tp1, _Tp2, 5, void> - { }; - - - template - struct common_reference<_Tp1, _Tp2, _Rest...> - : __common_type_fold, - __common_type_pack<_Rest...>> - { }; - - - template - struct __common_type_fold, - __common_type_pack<_Rest...>, - void_t>> - : public common_reference, _Rest...> - { }; - - - - - - - -} -# 38 "/usr/include/c++/14.1.1/bits/move.h" 2 3 - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - - template - inline constexpr _Tp* - __addressof(_Tp& __r) noexcept - { return __builtin_addressof(__r); } -# 67 "/usr/include/c++/14.1.1/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); - } -# 123 "/usr/include/c++/14.1.1/bits/move.h" 3 - 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 { }; -# 143 "/usr/include/c++/14.1.1/bits/move.h" 3 - template - [[__nodiscard__]] - constexpr - __conditional_t<__move_if_noexcept_cond<_Tp>::value, const _Tp&, _Tp&&> - move_if_noexcept(_Tp& __x) noexcept - { return std::move(__x); } -# 159 "/usr/include/c++/14.1.1/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 - constexpr - inline _Tp - __exchange(_Tp& __obj, _Up&& __new_val) - { - _Tp __old_val = std::move(__obj); - __obj = std::forward<_Up>(__new_val); - return __old_val; - } -# 203 "/usr/include/c++/14.1.1/bits/move.h" 3 - template - constexpr - 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 - constexpr - 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]); - } - - - -} -# 42 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 2 3 -# 50 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 3 -extern "C++" { - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - class type_info; - - - - - - - namespace __exception_ptr - { - class exception_ptr; - } - - using __exception_ptr::exception_ptr; -# 75 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 3 - exception_ptr current_exception() noexcept; - - template - exception_ptr make_exception_ptr(_Ex) noexcept; - - - void rethrow_exception(exception_ptr) __attribute__ ((__noreturn__)); - - namespace __exception_ptr - { - using std::rethrow_exception; -# 97 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 3 - class exception_ptr - { - void* _M_exception_object; - - explicit exception_ptr(void* __e) noexcept; - - void _M_addref() noexcept; - void _M_release() noexcept; - - void *_M_get() const noexcept __attribute__ ((__pure__)); - - friend exception_ptr std::current_exception() noexcept; - friend void std::rethrow_exception(exception_ptr); - template - friend exception_ptr std::make_exception_ptr(_Ex) noexcept; - - public: - exception_ptr() noexcept; - - exception_ptr(const exception_ptr&) noexcept; - - - exception_ptr(nullptr_t) noexcept - : _M_exception_object(nullptr) - { } - - exception_ptr(exception_ptr&& __o) noexcept - : _M_exception_object(__o._M_exception_object) - { __o._M_exception_object = nullptr; } -# 135 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 3 - exception_ptr& - operator=(const exception_ptr&) noexcept; - - - exception_ptr& - operator=(exception_ptr&& __o) noexcept - { - exception_ptr(static_cast(__o)).swap(*this); - return *this; - } - - - ~exception_ptr() noexcept; - - void - swap(exception_ptr&) noexcept; -# 162 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 3 - explicit operator bool() const noexcept - { return _M_exception_object; } - - - - - friend bool - operator==(const exception_ptr&, const exception_ptr&) noexcept = default; -# 182 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 3 - const class std::type_info* - __cxa_exception_type() const noexcept - __attribute__ ((__pure__)); - }; - - - inline - exception_ptr::exception_ptr() noexcept - : _M_exception_object(0) - { } - - - inline - exception_ptr::exception_ptr(const exception_ptr& __other) - noexcept - : _M_exception_object(__other._M_exception_object) - { - if (_M_exception_object) - _M_addref(); - } - - - inline - exception_ptr::~exception_ptr() noexcept - { - if (_M_exception_object) - _M_release(); - } - - - inline exception_ptr& - exception_ptr::operator=(const exception_ptr& __other) noexcept - { - exception_ptr(__other).swap(*this); - return *this; - } - - - inline void - exception_ptr::swap(exception_ptr &__other) noexcept - { - void *__tmp = _M_exception_object; - _M_exception_object = __other._M_exception_object; - __other._M_exception_object = __tmp; - } - - - inline void - swap(exception_ptr& __lhs, exception_ptr& __rhs) - { __lhs.swap(__rhs); } - - - template - - inline void - __dest_thunk(void* __x) - { static_cast<_Ex*>(__x)->~_Ex(); } - - - } - - using __exception_ptr::swap; - - - - template - exception_ptr - make_exception_ptr(_Ex __ex) noexcept - { - - using _Ex2 = typename decay<_Ex>::type; - void* __e = __cxxabiv1::__cxa_allocate_exception(sizeof(_Ex)); - (void) __cxxabiv1::__cxa_init_primary_exception( - __e, const_cast(&typeid(_Ex)), - __exception_ptr::__dest_thunk<_Ex2>); - try - { - ::new (__e) _Ex2(__ex); - return exception_ptr(__e); - } - catch(...) - { - __cxxabiv1::__cxa_free_exception(__e); - return current_exception(); - } -# 277 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 3 - } -# 291 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 3 -} - -} -# 167 "/usr/include/c++/14.1.1/exception" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/nested_exception.h" 1 3 -# 40 "/usr/include/c++/14.1.1/bits/nested_exception.h" 3 -extern "C++" { - -namespace std __attribute__ ((__visibility__ ("default"))) -{ -# 59 "/usr/include/c++/14.1.1/bits/nested_exception.h" 3 - class nested_exception - { - exception_ptr _M_ptr; - - public: - - nested_exception() noexcept : _M_ptr(current_exception()) { } - - nested_exception(const nested_exception&) noexcept = default; - - nested_exception& operator=(const nested_exception&) noexcept = default; - - virtual ~nested_exception() noexcept; - - - [[noreturn]] - void - rethrow_nested() const - { - if (_M_ptr) - rethrow_exception(_M_ptr); - std::terminate(); - } - - - exception_ptr - nested_ptr() const noexcept - { return _M_ptr; } - }; - - - - template - struct _Nested_exception : public _Except, public nested_exception - { - explicit _Nested_exception(const _Except& __ex) - : _Except(__ex) - { } - - explicit _Nested_exception(_Except&& __ex) - : _Except(static_cast<_Except&&>(__ex)) - { } - }; -# 145 "/usr/include/c++/14.1.1/bits/nested_exception.h" 3 - template - [[noreturn]] - inline void - throw_with_nested(_Tp&& __t) - { - using _Up = typename decay<_Tp>::type; - using _CopyConstructible - = __and_, is_move_constructible<_Up>>; - static_assert(_CopyConstructible::value, - "throw_with_nested argument must be CopyConstructible"); - - - if constexpr (is_class_v<_Up>) - if constexpr (!is_final_v<_Up>) - if constexpr (!is_base_of_v) - throw _Nested_exception<_Up>{std::forward<_Tp>(__t)}; - throw std::forward<_Tp>(__t); - - - - - - } -# 203 "/usr/include/c++/14.1.1/bits/nested_exception.h" 3 - template - - - - inline void - rethrow_if_nested(const _Ex& __ex) - { - const _Ex* __ptr = __builtin_addressof(__ex); -# 223 "/usr/include/c++/14.1.1/bits/nested_exception.h" 3 - if constexpr (!is_polymorphic_v<_Ex>) - return; - else if constexpr (is_base_of_v - && !is_convertible_v<_Ex*, nested_exception*>) - return; - - - - - else if (auto __ne_ptr = dynamic_cast(__ptr)) - __ne_ptr->rethrow_nested(); - - } - - -} - -} -# 168 "/usr/include/c++/14.1.1/exception" 2 3 -# 42 "/usr/include/c++/14.1.1/ios" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/char_traits.h" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/char_traits.h" 3 - -# 38 "/usr/include/c++/14.1.1/bits/char_traits.h" 3 -# 46 "/usr/include/c++/14.1.1/bits/char_traits.h" 3 -# 1 "/usr/include/c++/14.1.1/cwchar" 1 3 -# 39 "/usr/include/c++/14.1.1/cwchar" 3 - -# 40 "/usr/include/c++/14.1.1/cwchar" 3 -# 47 "/usr/include/c++/14.1.1/bits/char_traits.h" 2 3 -# 56 "/usr/include/c++/14.1.1/bits/char_traits.h" 3 -# 1 "/usr/include/c++/14.1.1/compare" 1 3 -# 33 "/usr/include/c++/14.1.1/compare" 3 - -# 34 "/usr/include/c++/14.1.1/compare" 3 - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 37 "/usr/include/c++/14.1.1/compare" 2 3 - - - -# 1 "/usr/include/c++/14.1.1/concepts" 1 3 -# 33 "/usr/include/c++/14.1.1/concepts" 3 - -# 34 "/usr/include/c++/14.1.1/concepts" 3 - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 37 "/usr/include/c++/14.1.1/concepts" 2 3 -# 48 "/usr/include/c++/14.1.1/concepts" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - namespace __detail - { - template - concept __same_as = std::is_same_v<_Tp, _Up>; - } - - - template - concept same_as - = __detail::__same_as<_Tp, _Up> && __detail::__same_as<_Up, _Tp>; - - namespace __detail - { - template - concept __different_from - = !same_as, remove_cvref_t<_Up>>; - } - - - template - concept derived_from = __is_base_of(_Base, _Derived) - && is_convertible_v; - - - template - concept convertible_to = is_convertible_v<_From, _To> - && requires { static_cast<_To>(std::declval<_From>()); }; - - - template - concept common_reference_with - = same_as, common_reference_t<_Up, _Tp>> - && convertible_to<_Tp, common_reference_t<_Tp, _Up>> - && convertible_to<_Up, common_reference_t<_Tp, _Up>>; - - - template - concept common_with - = same_as, common_type_t<_Up, _Tp>> - && requires { - static_cast>(std::declval<_Tp>()); - static_cast>(std::declval<_Up>()); - } - && common_reference_with, - add_lvalue_reference_t> - && common_reference_with>, - common_reference_t< - add_lvalue_reference_t, - add_lvalue_reference_t>>; - - - - template - concept integral = is_integral_v<_Tp>; - - template - concept signed_integral = integral<_Tp> && is_signed_v<_Tp>; - - template - concept unsigned_integral = integral<_Tp> && !signed_integral<_Tp>; - - template - concept floating_point = is_floating_point_v<_Tp>; - - namespace __detail - { - template - using __cref = const remove_reference_t<_Tp>&; - - template - concept __class_or_enum - = is_class_v<_Tp> || is_union_v<_Tp> || is_enum_v<_Tp>; - - template - constexpr bool __destructible_impl = false; - template - requires requires(_Tp& __t) { { __t.~_Tp() } noexcept; } - constexpr bool __destructible_impl<_Tp> = true; - - template - constexpr bool __destructible = __destructible_impl<_Tp>; - template - constexpr bool __destructible<_Tp&> = true; - template - constexpr bool __destructible<_Tp&&> = true; - template - constexpr bool __destructible<_Tp[_Nm]> = __destructible<_Tp>; - - } - - - template - concept assignable_from - = is_lvalue_reference_v<_Lhs> - && common_reference_with<__detail::__cref<_Lhs>, __detail::__cref<_Rhs>> - && requires(_Lhs __lhs, _Rhs&& __rhs) { - { __lhs = static_cast<_Rhs&&>(__rhs) } -> same_as<_Lhs>; - }; - - - template - concept destructible = __detail::__destructible<_Tp>; - - - template - concept constructible_from - = destructible<_Tp> && is_constructible_v<_Tp, _Args...>; - - - template - concept default_initializable = constructible_from<_Tp> - && requires - { - _Tp{}; - (void) ::new _Tp; - }; - - - template - concept move_constructible - = constructible_from<_Tp, _Tp> && convertible_to<_Tp, _Tp>; - - - template - concept copy_constructible - = move_constructible<_Tp> - && constructible_from<_Tp, _Tp&> && convertible_to<_Tp&, _Tp> - && constructible_from<_Tp, const _Tp&> && convertible_to - && constructible_from<_Tp, const _Tp> && convertible_to; - - - - namespace ranges - { - - namespace __swap - { - template void swap(_Tp&, _Tp&) = delete; - - template - concept __adl_swap - = (std::__detail::__class_or_enum> - || std::__detail::__class_or_enum>) - && requires(_Tp&& __t, _Up&& __u) { - swap(static_cast<_Tp&&>(__t), static_cast<_Up&&>(__u)); - }; - - struct _Swap - { - private: - template - static constexpr bool - _S_noexcept() - { - if constexpr (__adl_swap<_Tp, _Up>) - return noexcept(swap(std::declval<_Tp>(), std::declval<_Up>())); - else - return is_nothrow_move_constructible_v> - && is_nothrow_move_assignable_v>; - } - - public: - template - requires __adl_swap<_Tp, _Up> - || (same_as<_Tp, _Up> && is_lvalue_reference_v<_Tp> - && move_constructible> - && assignable_from<_Tp, remove_reference_t<_Tp>>) - constexpr void - operator()(_Tp&& __t, _Up&& __u) const - noexcept(_S_noexcept<_Tp, _Up>()) - { - if constexpr (__adl_swap<_Tp, _Up>) - swap(static_cast<_Tp&&>(__t), static_cast<_Up&&>(__u)); - else - { - auto __tmp = static_cast&&>(__t); - __t = static_cast&&>(__u); - __u = static_cast&&>(__tmp); - } - } - - template - requires requires(const _Swap& __swap, _Tp& __e1, _Up& __e2) { - __swap(__e1, __e2); - } - constexpr void - operator()(_Tp (&__e1)[_Num], _Up (&__e2)[_Num]) const - noexcept(noexcept(std::declval()(*__e1, *__e2))) - { - for (size_t __n = 0; __n < _Num; ++__n) - (*this)(__e1[__n], __e2[__n]); - } - }; - } - - - inline namespace _Cpo { - inline constexpr __swap::_Swap swap{}; - } - } - - template - concept swappable - = requires(_Tp& __a, _Tp& __b) { ranges::swap(__a, __b); }; - - template - concept swappable_with = common_reference_with<_Tp, _Up> - && requires(_Tp&& __t, _Up&& __u) { - ranges::swap(static_cast<_Tp&&>(__t), static_cast<_Tp&&>(__t)); - ranges::swap(static_cast<_Up&&>(__u), static_cast<_Up&&>(__u)); - ranges::swap(static_cast<_Tp&&>(__t), static_cast<_Up&&>(__u)); - ranges::swap(static_cast<_Up&&>(__u), static_cast<_Tp&&>(__t)); - }; - - - - template - concept movable = is_object_v<_Tp> && move_constructible<_Tp> - && assignable_from<_Tp&, _Tp> && swappable<_Tp>; - - template - concept copyable = copy_constructible<_Tp> && movable<_Tp> - && assignable_from<_Tp&, _Tp&> && assignable_from<_Tp&, const _Tp&> - && assignable_from<_Tp&, const _Tp>; - - template - concept semiregular = copyable<_Tp> && default_initializable<_Tp>; - - - - - namespace __detail - { - template - concept __boolean_testable_impl = convertible_to<_Tp, bool>; - - template - concept __boolean_testable - = __boolean_testable_impl<_Tp> - && requires(_Tp&& __t) - { { !static_cast<_Tp&&>(__t) } -> __boolean_testable_impl; }; - } - - - - namespace __detail - { - template - concept __weakly_eq_cmp_with - = requires(__detail::__cref<_Tp> __t, __detail::__cref<_Up> __u) { - { __t == __u } -> __boolean_testable; - { __t != __u } -> __boolean_testable; - { __u == __t } -> __boolean_testable; - { __u != __t } -> __boolean_testable; - }; - } - - template - concept equality_comparable = __detail::__weakly_eq_cmp_with<_Tp, _Tp>; - - template - concept equality_comparable_with - = equality_comparable<_Tp> && equality_comparable<_Up> - && common_reference_with<__detail::__cref<_Tp>, __detail::__cref<_Up>> - && equality_comparable, - __detail::__cref<_Up>>> - && __detail::__weakly_eq_cmp_with<_Tp, _Up>; - - namespace __detail - { - template - concept __partially_ordered_with - = requires(const remove_reference_t<_Tp>& __t, - const remove_reference_t<_Up>& __u) { - { __t < __u } -> __boolean_testable; - { __t > __u } -> __boolean_testable; - { __t <= __u } -> __boolean_testable; - { __t >= __u } -> __boolean_testable; - { __u < __t } -> __boolean_testable; - { __u > __t } -> __boolean_testable; - { __u <= __t } -> __boolean_testable; - { __u >= __t } -> __boolean_testable; - }; - } - - - template - concept totally_ordered - = equality_comparable<_Tp> - && __detail::__partially_ordered_with<_Tp, _Tp>; - - template - concept totally_ordered_with - = totally_ordered<_Tp> && totally_ordered<_Up> - && equality_comparable_with<_Tp, _Up> - && totally_ordered, - __detail::__cref<_Up>>> - && __detail::__partially_ordered_with<_Tp, _Up>; - - template - concept regular = semiregular<_Tp> && equality_comparable<_Tp>; - - - - - template - concept invocable = is_invocable_v<_Fn, _Args...>; - - - template - concept regular_invocable = invocable<_Fn, _Args...>; - - - template - concept predicate = regular_invocable<_Fn, _Args...> - && __detail::__boolean_testable>; - - - template - concept relation - = predicate<_Rel, _Tp, _Tp> && predicate<_Rel, _Up, _Up> - && predicate<_Rel, _Tp, _Up> && predicate<_Rel, _Up, _Tp>; - - - template - concept equivalence_relation = relation<_Rel, _Tp, _Up>; - - - template - concept strict_weak_order = relation<_Rel, _Tp, _Up>; - - -} -# 41 "/usr/include/c++/14.1.1/compare" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - namespace __cmp_cat - { - using type = signed char; - - enum class _Ord : type { equivalent = 0, less = -1, greater = 1 }; - - enum class _Ncmp : type { _Unordered = 2 }; - - struct __unspec - { - consteval __unspec(__unspec*) noexcept { } - }; - } - - class partial_ordering - { - - __cmp_cat::type _M_value; - - constexpr explicit - partial_ordering(__cmp_cat::_Ord __v) noexcept - : _M_value(__cmp_cat::type(__v)) - { } - - constexpr explicit - partial_ordering(__cmp_cat::_Ncmp __v) noexcept - : _M_value(__cmp_cat::type(__v)) - { } - - friend class weak_ordering; - friend class strong_ordering; - - public: - - static const partial_ordering less; - static const partial_ordering equivalent; - static const partial_ordering greater; - static const partial_ordering unordered; - - - [[nodiscard]] - friend constexpr bool - operator==(partial_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value == 0; } - - [[nodiscard]] - friend constexpr bool - operator==(partial_ordering, partial_ordering) noexcept = default; - - [[nodiscard]] - friend constexpr bool - operator< (partial_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value == -1; } - - [[nodiscard]] - friend constexpr bool - operator> (partial_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value == 1; } - - [[nodiscard]] - friend constexpr bool - operator<=(partial_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value <= 0; } - - [[nodiscard]] - friend constexpr bool - operator>=(partial_ordering __v, __cmp_cat::__unspec) noexcept - { return __cmp_cat::type(__v._M_value & 1) == __v._M_value; } - - [[nodiscard]] - friend constexpr bool - operator< (__cmp_cat::__unspec, partial_ordering __v) noexcept - { return __v._M_value == 1; } - - [[nodiscard]] - friend constexpr bool - operator> (__cmp_cat::__unspec, partial_ordering __v) noexcept - { return __v._M_value == -1; } - - [[nodiscard]] - friend constexpr bool - operator<=(__cmp_cat::__unspec, partial_ordering __v) noexcept - { return __cmp_cat::type(__v._M_value & 1) == __v._M_value; } - - [[nodiscard]] - friend constexpr bool - operator>=(__cmp_cat::__unspec, partial_ordering __v) noexcept - { return 0 >= __v._M_value; } - - [[nodiscard]] - friend constexpr partial_ordering - operator<=>(partial_ordering __v, __cmp_cat::__unspec) noexcept - { return __v; } - - [[nodiscard]] - friend constexpr partial_ordering - operator<=>(__cmp_cat::__unspec, partial_ordering __v) noexcept - { - if (__v._M_value & 1) - return partial_ordering(__cmp_cat::_Ord(-__v._M_value)); - else - return __v; - } - }; - - - inline constexpr partial_ordering - partial_ordering::less(__cmp_cat::_Ord::less); - - inline constexpr partial_ordering - partial_ordering::equivalent(__cmp_cat::_Ord::equivalent); - - inline constexpr partial_ordering - partial_ordering::greater(__cmp_cat::_Ord::greater); - - inline constexpr partial_ordering - partial_ordering::unordered(__cmp_cat::_Ncmp::_Unordered); - - class weak_ordering - { - __cmp_cat::type _M_value; - - constexpr explicit - weak_ordering(__cmp_cat::_Ord __v) noexcept : _M_value(__cmp_cat::type(__v)) - { } - - friend class strong_ordering; - - public: - - static const weak_ordering less; - static const weak_ordering equivalent; - static const weak_ordering greater; - - [[nodiscard]] - constexpr operator partial_ordering() const noexcept - { return partial_ordering(__cmp_cat::_Ord(_M_value)); } - - - [[nodiscard]] - friend constexpr bool - operator==(weak_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value == 0; } - - [[nodiscard]] - friend constexpr bool - operator==(weak_ordering, weak_ordering) noexcept = default; - - [[nodiscard]] - friend constexpr bool - operator< (weak_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value < 0; } - - [[nodiscard]] - friend constexpr bool - operator> (weak_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value > 0; } - - [[nodiscard]] - friend constexpr bool - operator<=(weak_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value <= 0; } - - [[nodiscard]] - friend constexpr bool - operator>=(weak_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value >= 0; } - - [[nodiscard]] - friend constexpr bool - operator< (__cmp_cat::__unspec, weak_ordering __v) noexcept - { return 0 < __v._M_value; } - - [[nodiscard]] - friend constexpr bool - operator> (__cmp_cat::__unspec, weak_ordering __v) noexcept - { return 0 > __v._M_value; } - - [[nodiscard]] - friend constexpr bool - operator<=(__cmp_cat::__unspec, weak_ordering __v) noexcept - { return 0 <= __v._M_value; } - - [[nodiscard]] - friend constexpr bool - operator>=(__cmp_cat::__unspec, weak_ordering __v) noexcept - { return 0 >= __v._M_value; } - - [[nodiscard]] - friend constexpr weak_ordering - operator<=>(weak_ordering __v, __cmp_cat::__unspec) noexcept - { return __v; } - - [[nodiscard]] - friend constexpr weak_ordering - operator<=>(__cmp_cat::__unspec, weak_ordering __v) noexcept - { return weak_ordering(__cmp_cat::_Ord(-__v._M_value)); } - }; - - - inline constexpr weak_ordering - weak_ordering::less(__cmp_cat::_Ord::less); - - inline constexpr weak_ordering - weak_ordering::equivalent(__cmp_cat::_Ord::equivalent); - - inline constexpr weak_ordering - weak_ordering::greater(__cmp_cat::_Ord::greater); - - class strong_ordering - { - __cmp_cat::type _M_value; - - constexpr explicit - strong_ordering(__cmp_cat::_Ord __v) noexcept - : _M_value(__cmp_cat::type(__v)) - { } - - public: - - static const strong_ordering less; - static const strong_ordering equal; - static const strong_ordering equivalent; - static const strong_ordering greater; - - [[nodiscard]] - constexpr operator partial_ordering() const noexcept - { return partial_ordering(__cmp_cat::_Ord(_M_value)); } - - [[nodiscard]] - constexpr operator weak_ordering() const noexcept - { return weak_ordering(__cmp_cat::_Ord(_M_value)); } - - - [[nodiscard]] - friend constexpr bool - operator==(strong_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value == 0; } - - [[nodiscard]] - friend constexpr bool - operator==(strong_ordering, strong_ordering) noexcept = default; - - [[nodiscard]] - friend constexpr bool - operator< (strong_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value < 0; } - - [[nodiscard]] - friend constexpr bool - operator> (strong_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value > 0; } - - [[nodiscard]] - friend constexpr bool - operator<=(strong_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value <= 0; } - - [[nodiscard]] - friend constexpr bool - operator>=(strong_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value >= 0; } - - [[nodiscard]] - friend constexpr bool - operator< (__cmp_cat::__unspec, strong_ordering __v) noexcept - { return 0 < __v._M_value; } - - [[nodiscard]] - friend constexpr bool - operator> (__cmp_cat::__unspec, strong_ordering __v) noexcept - { return 0 > __v._M_value; } - - [[nodiscard]] - friend constexpr bool - operator<=(__cmp_cat::__unspec, strong_ordering __v) noexcept - { return 0 <= __v._M_value; } - - [[nodiscard]] - friend constexpr bool - operator>=(__cmp_cat::__unspec, strong_ordering __v) noexcept - { return 0 >= __v._M_value; } - - [[nodiscard]] - friend constexpr strong_ordering - operator<=>(strong_ordering __v, __cmp_cat::__unspec) noexcept - { return __v; } - - [[nodiscard]] - friend constexpr strong_ordering - operator<=>(__cmp_cat::__unspec, strong_ordering __v) noexcept - { return strong_ordering(__cmp_cat::_Ord(-__v._M_value)); } - }; - - - inline constexpr strong_ordering - strong_ordering::less(__cmp_cat::_Ord::less); - - inline constexpr strong_ordering - strong_ordering::equal(__cmp_cat::_Ord::equivalent); - - inline constexpr strong_ordering - strong_ordering::equivalent(__cmp_cat::_Ord::equivalent); - - inline constexpr strong_ordering - strong_ordering::greater(__cmp_cat::_Ord::greater); - - - - [[nodiscard]] - constexpr bool - is_eq(partial_ordering __cmp) noexcept - { return __cmp == 0; } - - [[nodiscard]] - constexpr bool - is_neq(partial_ordering __cmp) noexcept - { return __cmp != 0; } - - [[nodiscard]] - constexpr bool - is_lt (partial_ordering __cmp) noexcept - { return __cmp < 0; } - - [[nodiscard]] - constexpr bool - is_lteq(partial_ordering __cmp) noexcept - { return __cmp <= 0; } - - [[nodiscard]] - constexpr bool - is_gt (partial_ordering __cmp) noexcept - { return __cmp > 0; } - - [[nodiscard]] - constexpr bool - is_gteq(partial_ordering __cmp) noexcept - { return __cmp >= 0; } - - namespace __detail - { - template - inline constexpr unsigned __cmp_cat_id = 1; - template<> - inline constexpr unsigned __cmp_cat_id = 2; - template<> - inline constexpr unsigned __cmp_cat_id = 4; - template<> - inline constexpr unsigned __cmp_cat_id = 8; - - template - constexpr auto __common_cmp_cat() - { - constexpr unsigned __cats = (__cmp_cat_id<_Ts> | ...); - - if constexpr (__cats & 1) - return; - - - else if constexpr (bool(__cats & __cmp_cat_id)) - return partial_ordering::equivalent; - - - else if constexpr (bool(__cats & __cmp_cat_id)) - return weak_ordering::equivalent; - - else - return strong_ordering::equivalent; - } - } - - - template - struct common_comparison_category - { - using type = decltype(__detail::__common_cmp_cat<_Ts...>()); - }; - - - - template - struct common_comparison_category<_Tp> - { using type = void; }; - - template<> - struct common_comparison_category - { using type = partial_ordering; }; - - template<> - struct common_comparison_category - { using type = weak_ordering; }; - - template<> - struct common_comparison_category - { using type = strong_ordering; }; - - template<> - struct common_comparison_category<> - { using type = strong_ordering; }; - - template - using common_comparison_category_t - = typename common_comparison_category<_Ts...>::type; - - - - namespace __detail - { - template - concept __compares_as - = same_as, _Cat>; - } - - - template - concept three_way_comparable - = __detail::__weakly_eq_cmp_with<_Tp, _Tp> - && __detail::__partially_ordered_with<_Tp, _Tp> - && requires(const remove_reference_t<_Tp>& __a, - const remove_reference_t<_Tp>& __b) - { - { __a <=> __b } -> __detail::__compares_as<_Cat>; - }; - - template - concept three_way_comparable_with - = three_way_comparable<_Tp, _Cat> - && three_way_comparable<_Up, _Cat> - && common_reference_with&, - const remove_reference_t<_Up>&> - && three_way_comparable< - common_reference_t&, - const remove_reference_t<_Up>&>, _Cat> - && __detail::__weakly_eq_cmp_with<_Tp, _Up> - && __detail::__partially_ordered_with<_Tp, _Up> - && requires(const remove_reference_t<_Tp>& __t, - const remove_reference_t<_Up>& __u) - { - { __t <=> __u } -> __detail::__compares_as<_Cat>; - { __u <=> __t } -> __detail::__compares_as<_Cat>; - }; - - namespace __detail - { - template - using __cmp3way_res_t - = decltype(std::declval<_Tp>() <=> std::declval<_Up>()); - - - - - - - template - struct __cmp3way_res_impl - { }; - - template - requires requires { typename __cmp3way_res_t<__cref<_Tp>, __cref<_Up>>; } - struct __cmp3way_res_impl<_Tp, _Up> - { - using type = __cmp3way_res_t<__cref<_Tp>, __cref<_Up>>; - }; - } - - - template - struct compare_three_way_result - : __detail::__cmp3way_res_impl<_Tp, _Up> - { }; - - - template - using compare_three_way_result_t - = typename __detail::__cmp3way_res_impl<_Tp, _Up>::type; - - namespace __detail - { - - - - - template - concept __3way_builtin_ptr_cmp - = requires(_Tp&& __t, _Up&& __u) - { static_cast<_Tp&&>(__t) <=> static_cast<_Up&&>(__u); } - && convertible_to<_Tp, const volatile void*> - && convertible_to<_Up, const volatile void*> - && ! requires(_Tp&& __t, _Up&& __u) - { operator<=>(static_cast<_Tp&&>(__t), static_cast<_Up&&>(__u)); } - && ! requires(_Tp&& __t, _Up&& __u) - { static_cast<_Tp&&>(__t).operator<=>(static_cast<_Up&&>(__u)); }; - } - - - - - - struct compare_three_way - { - template - requires three_way_comparable_with<_Tp, _Up> - constexpr auto - operator() [[nodiscard]] (_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::declval<_Tp>() <=> std::declval<_Up>())) - { - if constexpr (__detail::__3way_builtin_ptr_cmp<_Tp, _Up>) - { - auto __pt = static_cast(__t); - auto __pu = static_cast(__u); - if (std::__is_constant_evaluated()) - return __pt <=> __pu; - auto __it = reinterpret_cast(__pt); - auto __iu = reinterpret_cast(__pu); - return __it <=> __iu; - } - else - return static_cast<_Tp&&>(__t) <=> static_cast<_Up&&>(__u); - } - - using is_transparent = void; - }; - - - - namespace __compare - { - template - constexpr weak_ordering - __fp_weak_ordering(_Tp __e, _Tp __f) - { - - - auto __cat = [](_Tp __fp) -> int { - const int __sign = __builtin_signbit(__fp) ? -1 : 1; - if (__builtin_isnormal(__fp)) - return (__fp == 0 ? 1 : 3) * __sign; - if (__builtin_isnan(__fp)) - return 5 * __sign; - if (int __inf = __builtin_isinf_sign(__fp)) - return 4 * __inf; - return 2 * __sign; - }; - - auto __po = __e <=> __f; - if (is_lt(__po)) - return weak_ordering::less; - else if (is_gt(__po)) - return weak_ordering::greater; - else if (__po == partial_ordering::equivalent) - return weak_ordering::equivalent; - else - { - - auto __isnan_sign = [](_Tp __fp) -> int { - return __builtin_isnan(__fp) - ? __builtin_signbit(__fp) ? -1 : 1 - : 0; - }; - auto __ord = __isnan_sign(__e) <=> __isnan_sign(__f); - if (is_eq(__ord)) - return weak_ordering::equivalent; - else if (is_lt(__ord)) - return weak_ordering::less; - else - return weak_ordering::greater; - } - } - - void strong_order() = delete; - - template - concept __adl_strong = requires(_Tp&& __t, _Up&& __u) - { - strong_ordering(strong_order(static_cast<_Tp&&>(__t), - static_cast<_Up&&>(__u))); - }; - - void weak_order() = delete; - - template - concept __adl_weak = requires(_Tp&& __t, _Up&& __u) - { - weak_ordering(weak_order(static_cast<_Tp&&>(__t), - static_cast<_Up&&>(__u))); - }; - - void partial_order() = delete; - - template - concept __adl_partial = requires(_Tp&& __t, _Up&& __u) - { - partial_ordering(partial_order(static_cast<_Tp&&>(__t), - static_cast<_Up&&>(__u))); - }; - - template - concept __cmp3way = requires(_Tp&& __t, _Up&& __u, compare_three_way __c) - { - _Ord(__c(static_cast<_Tp&&>(__t), static_cast<_Up&&>(__u))); - }; - - template - concept __strongly_ordered - = __adl_strong<_Tp, _Up> - || floating_point> - || __cmp3way; - - template - concept __decayed_same_as = same_as, decay_t<_Up>>; - - class _Strong_order - { - template - static constexpr bool - _S_noexcept() - { - if constexpr (floating_point>) - return true; - else if constexpr (__adl_strong<_Tp, _Up>) - return noexcept(strong_ordering(strong_order(std::declval<_Tp>(), - std::declval<_Up>()))); - else if constexpr (__cmp3way) - return noexcept(compare_three_way()(std::declval<_Tp>(), - std::declval<_Up>())); - } - - friend class _Weak_order; - friend class _Strong_fallback; - - - enum class _Fp_fmt - { - _Binary16, _Binary32, _Binary64, _Binary128, - _X86_80bit, - _M68k_80bit, - _Dbldbl, - _Bfloat16, - }; -# 699 "/usr/include/c++/14.1.1/compare" 3 - template - static consteval _Fp_fmt - _S_fp_fmt() noexcept - { - - using enum _Fp_fmt; -# 719 "/usr/include/c++/14.1.1/compare" 3 - if constexpr (__is_same(_Tp, long double)) - return (-16381) == -16381 ? _X86_80bit : _M68k_80bit; - - - if constexpr (__is_same(_Tp, __float80)) - return _X86_80bit; - - - - - - - constexpr int __width = sizeof(_Tp) * 8; - - if constexpr (__width == 16) - return _Binary16; - else if constexpr (__width == 32) - return _Binary32; - else if constexpr (__width == 64) - return _Binary64; - else if constexpr (__width == 128) - return _Binary128; - } - - - using int64_t = long int; - using int32_t = int; - using int16_t = short int; - using uint64_t = long unsigned int; - using uint16_t = short unsigned int; - - - template - struct _Int - { - - uint64_t _M_lo; - _Tp _M_hi; - - - - - - constexpr explicit - _Int(_Tp __hi, uint64_t __lo) noexcept : _M_hi(__hi) - { _M_lo = __lo; } - - constexpr explicit - _Int(uint64_t __lo) noexcept : _M_hi(0) - { _M_lo = __lo; } - - constexpr bool operator==(const _Int&) const = default; -# 781 "/usr/include/c++/14.1.1/compare" 3 - constexpr _Int& - operator^=(const _Int& __rhs) noexcept - { - _M_hi ^= __rhs._M_hi; - _M_lo ^= __rhs._M_lo; - return *this; - } - - constexpr strong_ordering - operator<=>(const _Int& __rhs) const noexcept - { - strong_ordering __cmp = _M_hi <=> __rhs._M_hi; - if (__cmp != strong_ordering::equal) - return __cmp; - return _M_lo <=> __rhs._M_lo; - } - }; - - template - static constexpr _Tp - _S_compl(_Tp __t) noexcept - { - constexpr int __width = sizeof(_Tp) * 8; - - make_unsigned_t<_Tp> __sign = __t >> (__width - 1); - - - return __t ^ (__sign >> 1); - } - - - template - static constexpr _Int<_Tp> - _S_compl(_Int<_Tp> __t) noexcept - { - constexpr int __width = sizeof(_Tp) * 8; - make_unsigned_t<_Tp> __sign = __t._M_hi >> (__width - 1); - __t._M_hi ^= (__sign >> 1 ); - uint64_t __sign64 = (_Tp)__sign; - __t._M_lo ^= __sign64; - return __t; - } - - - template - constexpr static auto - _S_fp_bits(_Tp __val) noexcept - { - if constexpr (sizeof(_Tp) == sizeof(int64_t)) - return __builtin_bit_cast(int64_t, __val); - else if constexpr (sizeof(_Tp) == sizeof(int32_t)) - return __builtin_bit_cast(int32_t, __val); - else if constexpr (sizeof(_Tp) == sizeof(int16_t)) - return __builtin_bit_cast(int16_t, __val); - else - { - - using enum _Fp_fmt; - - constexpr auto __fmt = _S_fp_fmt<_Tp>(); - if constexpr (__fmt == _X86_80bit || __fmt == _M68k_80bit) - { - if constexpr (sizeof(_Tp) == 3 * sizeof(int32_t)) - { - auto __ival = __builtin_bit_cast(_Int, __val); - return _Int(__ival._M_hi, __ival._M_lo); - } - else - { - auto __ival = __builtin_bit_cast(_Int, __val); - return _Int(__ival._M_hi, __ival._M_lo); - } - } - else if constexpr (sizeof(_Tp) == 2 * sizeof(int64_t)) - { - - return __builtin_bit_cast(__int128, __val); - - - - } - else - static_assert(sizeof(_Tp) == sizeof(int64_t), - "unsupported floating-point type"); - } - } - - template - static constexpr strong_ordering - _S_fp_cmp(_Tp __x, _Tp __y) noexcept - { -# 885 "/usr/include/c++/14.1.1/compare" 3 - auto __ix = _S_fp_bits(__x); - auto __iy = _S_fp_bits(__y); - - if (__ix == __iy) - return strong_ordering::equal; - - - using enum _Fp_fmt; - - constexpr auto __fmt = _S_fp_fmt<_Tp>(); - - if constexpr (__fmt == _Dbldbl) - { - - - struct _Unpacked { double _M_hi; int64_t _M_lo; }; - auto __x2 = __builtin_bit_cast(_Unpacked, __x); - auto __y2 = __builtin_bit_cast(_Unpacked, __y); - - - auto __cmp = _S_fp_cmp(__x2._M_hi, __y2._M_hi); - if (__cmp != strong_ordering::equal) - return __cmp; - - - - if (__builtin_isnan(__x2._M_hi)) - return strong_ordering::equal; - - - if (((__x2._M_lo | __y2._M_lo) & 0x7fffffffffffffffULL) == 0) - return strong_ordering::equal; - - - return _S_compl(__x2._M_lo) <=> _S_compl(__y2._M_lo); - } - else - { - if constexpr (__fmt == _M68k_80bit) - { - - - - constexpr uint16_t __maxexp = 0x7fff; - if ((__ix._M_hi & __maxexp) == __maxexp) - __ix._M_lo |= 1ull << 63; - if ((__iy._M_hi & __maxexp) == __maxexp) - __iy._M_lo |= 1ull << 63; - } - else - { -# 952 "/usr/include/c++/14.1.1/compare" 3 - } - return _S_compl(__ix) <=> _S_compl(__iy); - } - } - - public: - template _Up> - requires __strongly_ordered<_Tp, _Up> - constexpr strong_ordering - operator() [[nodiscard]] (_Tp&& __e, _Up&& __f) const - noexcept(_S_noexcept<_Tp, _Up>()) - { - if constexpr (floating_point>) - return _S_fp_cmp(__e, __f); - else if constexpr (__adl_strong<_Tp, _Up>) - return strong_ordering(strong_order(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f))); - else if constexpr (__cmp3way) - return compare_three_way()(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f)); - } - }; - - template - concept __weakly_ordered - = floating_point> - || __adl_weak<_Tp, _Up> - || __cmp3way - || __strongly_ordered<_Tp, _Up>; - - class _Weak_order - { - template - static constexpr bool - _S_noexcept() - { - if constexpr (floating_point>) - return true; - else if constexpr (__adl_weak<_Tp, _Up>) - return noexcept(weak_ordering(weak_order(std::declval<_Tp>(), - std::declval<_Up>()))); - else if constexpr (__cmp3way) - return noexcept(compare_three_way()(std::declval<_Tp>(), - std::declval<_Up>())); - else if constexpr (__strongly_ordered<_Tp, _Up>) - return _Strong_order::_S_noexcept<_Tp, _Up>(); - } - - friend class _Partial_order; - friend class _Weak_fallback; - - public: - template _Up> - requires __weakly_ordered<_Tp, _Up> - constexpr weak_ordering - operator() [[nodiscard]] (_Tp&& __e, _Up&& __f) const - noexcept(_S_noexcept<_Tp, _Up>()) - { - if constexpr (floating_point>) - return __compare::__fp_weak_ordering(__e, __f); - else if constexpr (__adl_weak<_Tp, _Up>) - return weak_ordering(weak_order(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f))); - else if constexpr (__cmp3way) - return compare_three_way()(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f)); - else if constexpr (__strongly_ordered<_Tp, _Up>) - return _Strong_order{}(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f)); - } - }; - - template - concept __partially_ordered - = __adl_partial<_Tp, _Up> - || __cmp3way - || __weakly_ordered<_Tp, _Up>; - - class _Partial_order - { - template - static constexpr bool - _S_noexcept() - { - if constexpr (__adl_partial<_Tp, _Up>) - return noexcept(partial_ordering(partial_order(std::declval<_Tp>(), - std::declval<_Up>()))); - else if constexpr (__cmp3way) - return noexcept(compare_three_way()(std::declval<_Tp>(), - std::declval<_Up>())); - else if constexpr (__weakly_ordered<_Tp, _Up>) - return _Weak_order::_S_noexcept<_Tp, _Up>(); - } - - friend class _Partial_fallback; - - public: - template _Up> - requires __partially_ordered<_Tp, _Up> - constexpr partial_ordering - operator() [[nodiscard]] (_Tp&& __e, _Up&& __f) const - noexcept(_S_noexcept<_Tp, _Up>()) - { - if constexpr (__adl_partial<_Tp, _Up>) - return partial_ordering(partial_order(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f))); - else if constexpr (__cmp3way) - return compare_three_way()(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f)); - else if constexpr (__weakly_ordered<_Tp, _Up>) - return _Weak_order{}(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f)); - } - }; - - template - concept __op_eq_lt = requires(_Tp&& __t, _Up&& __u) - { - { static_cast<_Tp&&>(__t) == static_cast<_Up&&>(__u) } - -> convertible_to; - { static_cast<_Tp&&>(__t) < static_cast<_Up&&>(__u) } - -> convertible_to; - }; - - class _Strong_fallback - { - template - static constexpr bool - _S_noexcept() - { - if constexpr (__strongly_ordered<_Tp, _Up>) - return _Strong_order::_S_noexcept<_Tp, _Up>(); - else - return noexcept(bool(std::declval<_Tp>() == std::declval<_Up>())) - && noexcept(bool(std::declval<_Tp>() < std::declval<_Up>())); - } - - public: - template _Up> - requires __strongly_ordered<_Tp, _Up> || __op_eq_lt<_Tp, _Up> - constexpr strong_ordering - operator() [[nodiscard]] (_Tp&& __e, _Up&& __f) const - noexcept(_S_noexcept<_Tp, _Up>()) - { - if constexpr (__strongly_ordered<_Tp, _Up>) - return _Strong_order{}(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f)); - else - return static_cast<_Tp&&>(__e) == static_cast<_Up&&>(__f) - ? strong_ordering::equal - : static_cast<_Tp&&>(__e) < static_cast<_Up&&>(__f) - ? strong_ordering::less - : strong_ordering::greater; - } - }; - - class _Weak_fallback - { - template - static constexpr bool - _S_noexcept() - { - if constexpr (__weakly_ordered<_Tp, _Up>) - return _Weak_order::_S_noexcept<_Tp, _Up>(); - else - return noexcept(bool(std::declval<_Tp>() == std::declval<_Up>())) - && noexcept(bool(std::declval<_Tp>() < std::declval<_Up>())); - } - - public: - template _Up> - requires __weakly_ordered<_Tp, _Up> || __op_eq_lt<_Tp, _Up> - constexpr weak_ordering - operator() [[nodiscard]] (_Tp&& __e, _Up&& __f) const - noexcept(_S_noexcept<_Tp, _Up>()) - { - if constexpr (__weakly_ordered<_Tp, _Up>) - return _Weak_order{}(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f)); - else - return static_cast<_Tp&&>(__e) == static_cast<_Up&&>(__f) - ? weak_ordering::equivalent - : static_cast<_Tp&&>(__e) < static_cast<_Up&&>(__f) - ? weak_ordering::less - : weak_ordering::greater; - } - }; - - - - template - concept __op_eq_lt_lt = __op_eq_lt<_Tp, _Up> - && requires(_Tp&& __t, _Up&& __u) - { - { static_cast<_Up&&>(__u) < static_cast<_Tp&&>(__t) } - -> convertible_to; - }; - - class _Partial_fallback - { - template - static constexpr bool - _S_noexcept() - { - if constexpr (__partially_ordered<_Tp, _Up>) - return _Partial_order::_S_noexcept<_Tp, _Up>(); - else - return noexcept(bool(std::declval<_Tp>() == std::declval<_Up>())) - && noexcept(bool(std::declval<_Tp>() < std::declval<_Up>())); - } - - public: - template _Up> - requires __partially_ordered<_Tp, _Up> || __op_eq_lt_lt<_Tp, _Up> - constexpr partial_ordering - operator() [[nodiscard]] (_Tp&& __e, _Up&& __f) const - noexcept(_S_noexcept<_Tp, _Up>()) - { - if constexpr (__partially_ordered<_Tp, _Up>) - return _Partial_order{}(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f)); - else - return static_cast<_Tp&&>(__e) == static_cast<_Up&&>(__f) - ? partial_ordering::equivalent - : static_cast<_Tp&&>(__e) < static_cast<_Up&&>(__f) - ? partial_ordering::less - : static_cast<_Up&&>(__f) < static_cast<_Tp&&>(__e) - ? partial_ordering::greater - : partial_ordering::unordered; - } - }; - } - - - - inline namespace _Cpo - { - inline constexpr __compare::_Strong_order strong_order{}; - - inline constexpr __compare::_Weak_order weak_order{}; - - inline constexpr __compare::_Partial_order partial_order{}; - - inline constexpr __compare::_Strong_fallback - compare_strong_order_fallback{}; - - inline constexpr __compare::_Weak_fallback - compare_weak_order_fallback{}; - - inline constexpr __compare::_Partial_fallback - compare_partial_order_fallback{}; - } - - - namespace __detail - { - - inline constexpr struct _Synth3way - { - template - static constexpr bool - _S_noexcept(const _Tp* __t = nullptr, const _Up* __u = nullptr) - { - if constexpr (three_way_comparable_with<_Tp, _Up>) - return noexcept(*__t <=> *__u); - else - return noexcept(*__t < *__u) && noexcept(*__u < *__t); - } - - template - [[nodiscard]] - constexpr auto - operator()(const _Tp& __t, const _Up& __u) const - noexcept(_S_noexcept<_Tp, _Up>()) - requires requires - { - { __t < __u } -> __boolean_testable; - { __u < __t } -> __boolean_testable; - } - { - if constexpr (three_way_comparable_with<_Tp, _Up>) - return __t <=> __u; - else - { - if (__t < __u) - return weak_ordering::less; - else if (__u < __t) - return weak_ordering::greater; - else - return weak_ordering::equivalent; - } - } - } __synth3way = {}; - - - template - using __synth3way_t - = decltype(__detail::__synth3way(std::declval<_Tp&>(), - std::declval<_Up&>())); - } - - -} -# 57 "/usr/include/c++/14.1.1/bits/char_traits.h" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/stl_construct.h" 1 3 -# 61 "/usr/include/c++/14.1.1/bits/stl_construct.h" 3 -# 1 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 1 3 -# 62 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 3 - -# 63 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 3 -# 71 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 3 -# 1 "/usr/include/c++/14.1.1/bits/iterator_concepts.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/iterator_concepts.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/iterator_concepts.h" 3 - - - -# 1 "/usr/include/c++/14.1.1/bits/ptr_traits.h" 1 3 -# 39 "/usr/include/c++/14.1.1/bits/ptr_traits.h" 3 -namespace __gnu_debug { struct _Safe_iterator_base; } - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - class __undefined; - - - - template - struct __get_first_arg - { using type = __undefined; }; - - template class _SomeTemplate, typename _Tp, - typename... _Types> - struct __get_first_arg<_SomeTemplate<_Tp, _Types...>> - { using type = _Tp; }; - - - - template - struct __replace_first_arg - { }; - - template class _SomeTemplate, typename _Up, - typename _Tp, typename... _Types> - struct __replace_first_arg<_SomeTemplate<_Tp, _Types...>, _Up> - { using type = _SomeTemplate<_Up, _Types...>; }; - - - template - struct __ptr_traits_elem : __get_first_arg<_Ptr> - { }; - - - - template requires requires { typename _Ptr::element_type; } - struct __ptr_traits_elem<_Ptr, void> - { using type = typename _Ptr::element_type; }; - - - - - - - template - using __ptr_traits_elem_t = typename __ptr_traits_elem<_Ptr>::type; - - - - - template::value> - struct __ptr_traits_ptr_to - { - using pointer = _Ptr; - using element_type = _Elt; - - - - - - - - static pointer - pointer_to(element_type& __r) - - requires requires { - { pointer::pointer_to(__r) } -> convertible_to; - } - - { return pointer::pointer_to(__r); } - }; - - - template - struct __ptr_traits_ptr_to<_Ptr, _Elt, true> - { }; - - - template - struct __ptr_traits_ptr_to<_Tp*, _Tp, false> - { - using pointer = _Tp*; - using element_type = _Tp; - - - - - - - static constexpr pointer - pointer_to(element_type& __r) noexcept - { return std::addressof(__r); } - }; - - template - struct __ptr_traits_impl : __ptr_traits_ptr_to<_Ptr, _Elt> - { - private: - template - using __diff_t = typename _Tp::difference_type; - - template - using __rebind = __type_identity>; - - public: - - using pointer = _Ptr; - - - using element_type = _Elt; - - - using difference_type = __detected_or_t; - - - template - using rebind = typename __detected_or_t<__replace_first_arg<_Ptr, _Up>, - __rebind, _Ptr, _Up>::type; - }; - - - - template - struct __ptr_traits_impl<_Ptr, __undefined> - { }; - - - - - - - - template - struct pointer_traits : __ptr_traits_impl<_Ptr, __ptr_traits_elem_t<_Ptr>> - { }; - - - - - - - - template - struct pointer_traits<_Tp*> : __ptr_traits_ptr_to<_Tp*, _Tp> - { - - typedef _Tp* pointer; - - typedef _Tp element_type; - - typedef ptrdiff_t difference_type; - - template using rebind = _Up*; - }; - - - 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 auto - __to_address(const _Ptr& __ptr) noexcept - -> decltype(std::pointer_traits<_Ptr>::to_address(__ptr)) - { return std::pointer_traits<_Ptr>::to_address(__ptr); } - - template - constexpr auto - __to_address(const _Ptr& __ptr, _None...) noexcept - { - if constexpr (is_base_of_v<__gnu_debug::_Safe_iterator_base, _Ptr>) - return std::__to_address(__ptr.base().operator->()); - else - return std::__to_address(__ptr.operator->()); - } - - - - - - - - template - constexpr _Tp* - to_address(_Tp* __ptr) noexcept - { return std::__to_address(__ptr); } -# 251 "/usr/include/c++/14.1.1/bits/ptr_traits.h" 3 - template - constexpr auto - to_address(const _Ptr& __ptr) noexcept - { return std::__to_address(__ptr); } - - - -} -# 38 "/usr/include/c++/14.1.1/bits/iterator_concepts.h" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/ranges_cmp.h" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/ranges_cmp.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - struct __is_transparent; - - - - - - struct identity - { - template - [[nodiscard]] - constexpr _Tp&& - operator()(_Tp&& __t) const noexcept - { return std::forward<_Tp>(__t); } - - using is_transparent = __is_transparent; - }; - - -namespace ranges -{ - namespace __detail - { - - - - template - concept __less_builtin_ptr_cmp - = requires (_Tp&& __t, _Up&& __u) { { __t < __u } -> same_as; } - && convertible_to<_Tp, const volatile void*> - && convertible_to<_Up, const volatile void*> - && (! requires(_Tp&& __t, _Up&& __u) - { operator<(std::forward<_Tp>(__t), std::forward<_Up>(__u)); } - && ! requires(_Tp&& __t, _Up&& __u) - { std::forward<_Tp>(__t).operator<(std::forward<_Up>(__u)); }); - } - - - - - - - - struct equal_to - { - template - requires equality_comparable_with<_Tp, _Up> - constexpr bool - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::declval<_Tp>() == std::declval<_Up>())) - { return std::forward<_Tp>(__t) == std::forward<_Up>(__u); } - - using is_transparent = __is_transparent; - }; - - - struct not_equal_to - { - template - requires equality_comparable_with<_Tp, _Up> - constexpr bool - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::declval<_Up>() == std::declval<_Tp>())) - { return !equal_to{}(std::forward<_Tp>(__t), std::forward<_Up>(__u)); } - - using is_transparent = __is_transparent; - }; - - - struct less - { - template - requires totally_ordered_with<_Tp, _Up> - constexpr bool - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::declval<_Tp>() < std::declval<_Up>())) - { - if constexpr (__detail::__less_builtin_ptr_cmp<_Tp, _Up>) - { - if (std::__is_constant_evaluated()) - return __t < __u; - - auto __x = reinterpret_cast( - static_cast(std::forward<_Tp>(__t))); - auto __y = reinterpret_cast( - static_cast(std::forward<_Up>(__u))); - return __x < __y; - } - else - return std::forward<_Tp>(__t) < std::forward<_Up>(__u); - } - - using is_transparent = __is_transparent; - }; - - - struct greater - { - template - requires totally_ordered_with<_Tp, _Up> - constexpr bool - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::declval<_Up>() < std::declval<_Tp>())) - { return less{}(std::forward<_Up>(__u), std::forward<_Tp>(__t)); } - - using is_transparent = __is_transparent; - }; - - - struct greater_equal - { - template - requires totally_ordered_with<_Tp, _Up> - constexpr bool - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::declval<_Tp>() < std::declval<_Up>())) - { return !less{}(std::forward<_Tp>(__t), std::forward<_Up>(__u)); } - - using is_transparent = __is_transparent; - }; - - - struct less_equal - { - template - requires totally_ordered_with<_Tp, _Up> - constexpr bool - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::declval<_Up>() < std::declval<_Tp>())) - { return !less{}(std::forward<_Up>(__u), std::forward<_Tp>(__t)); } - - using is_transparent = __is_transparent; - }; - -} - - -} -# 39 "/usr/include/c++/14.1.1/bits/iterator_concepts.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 58 "/usr/include/c++/14.1.1/bits/iterator_concepts.h" 3 - struct default_sentinel_t { }; - - - inline constexpr default_sentinel_t default_sentinel{}; - - - struct input_iterator_tag; - struct output_iterator_tag; - struct forward_iterator_tag; - struct bidirectional_iterator_tag; - struct random_access_iterator_tag; - struct contiguous_iterator_tag; - - template - struct iterator_traits; - - template requires is_object_v<_Tp> - struct iterator_traits<_Tp*>; - - template - struct __iterator_traits; - - namespace __detail - { - template - using __with_ref = _Tp&; - - template - concept __can_reference = requires { typename __with_ref<_Tp>; }; - - template - concept __dereferenceable = requires(_Tp& __t) - { - { *__t } -> __can_reference; - }; - } - - template<__detail::__dereferenceable _Tp> - using iter_reference_t = decltype(*std::declval<_Tp&>()); - - namespace ranges - { - - namespace __imove - { - void iter_move() = delete; - - template - concept __adl_imove - = (std::__detail::__class_or_enum>) - && requires(_Tp&& __t) { iter_move(static_cast<_Tp&&>(__t)); }; - - struct _IterMove - { - private: - template - struct __result - { using type = iter_reference_t<_Tp>; }; - - template - requires __adl_imove<_Tp> - struct __result<_Tp> - { using type = decltype(iter_move(std::declval<_Tp>())); }; - - template - requires (!__adl_imove<_Tp>) - && is_lvalue_reference_v> - struct __result<_Tp> - { using type = remove_reference_t>&&; }; - - template - static constexpr bool - _S_noexcept() - { - if constexpr (__adl_imove<_Tp>) - return noexcept(iter_move(std::declval<_Tp>())); - else - return noexcept(*std::declval<_Tp>()); - } - - public: - - template - using __type = typename __result<_Tp>::type; - - template - [[nodiscard]] - constexpr __type<_Tp> - operator()(_Tp&& __e) const - noexcept(_S_noexcept<_Tp>()) - { - if constexpr (__adl_imove<_Tp>) - return iter_move(static_cast<_Tp&&>(__e)); - else if constexpr (is_lvalue_reference_v>) - return static_cast<__type<_Tp>>(*__e); - else - return *__e; - } - }; - } - - - inline namespace _Cpo { - inline constexpr __imove::_IterMove iter_move{}; - } - } - - template<__detail::__dereferenceable _Tp> - requires __detail::__can_reference> - using iter_rvalue_reference_t = ranges::__imove::_IterMove::__type<_Tp&>; - - template struct incrementable_traits { }; - - template requires is_object_v<_Tp> - struct incrementable_traits<_Tp*> - { using difference_type = ptrdiff_t; }; - - template - struct incrementable_traits - : incrementable_traits<_Iter> { }; - - template requires requires { typename _Tp::difference_type; } - struct incrementable_traits<_Tp> - { using difference_type = typename _Tp::difference_type; }; - - template - requires (!requires { typename _Tp::difference_type; } - && requires(const _Tp& __a, const _Tp& __b) - { { __a - __b } -> integral; }) - struct incrementable_traits<_Tp> - { - using difference_type - = make_signed_t() - std::declval<_Tp>())>; - }; -# 204 "/usr/include/c++/14.1.1/bits/iterator_concepts.h" 3 - namespace __detail - { - - - template - concept __primary_traits_iter - = __is_base_of(__iterator_traits<_Iter, void>, iterator_traits<_Iter>); - - template - struct __iter_traits_impl - { using type = iterator_traits<_Iter>; }; - - template - requires __primary_traits_iter<_Iter> - struct __iter_traits_impl<_Iter, _Tp> - { using type = _Tp; }; - - - template - using __iter_traits = typename __iter_traits_impl<_Iter, _Tp>::type; - - template - using __iter_diff_t = typename - __iter_traits<_Tp, incrementable_traits<_Tp>>::difference_type; - } - - template - using iter_difference_t = __detail::__iter_diff_t>; - - namespace __detail - { - template struct __cond_value_type { }; - - template requires is_object_v<_Tp> - struct __cond_value_type<_Tp> - { using value_type = remove_cv_t<_Tp>; }; - - template - concept __has_member_value_type - = requires { typename _Tp::value_type; }; - - template - concept __has_member_element_type - = requires { typename _Tp::element_type; }; - - } - - template struct indirectly_readable_traits { }; - - template - struct indirectly_readable_traits<_Tp*> - : __detail::__cond_value_type<_Tp> - { }; - - template requires is_array_v<_Iter> - struct indirectly_readable_traits<_Iter> - { using value_type = remove_cv_t>; }; - - template - struct indirectly_readable_traits - : indirectly_readable_traits<_Iter> - { }; - - template<__detail::__has_member_value_type _Tp> - struct indirectly_readable_traits<_Tp> - : __detail::__cond_value_type - { }; - - template<__detail::__has_member_element_type _Tp> - struct indirectly_readable_traits<_Tp> - : __detail::__cond_value_type - { }; - - - - template<__detail::__has_member_value_type _Tp> - requires __detail::__has_member_element_type<_Tp> - && same_as, - remove_cv_t> - struct indirectly_readable_traits<_Tp> - : __detail::__cond_value_type - { }; - - - - template<__detail::__has_member_value_type _Tp> - requires __detail::__has_member_element_type<_Tp> - struct indirectly_readable_traits<_Tp> - { }; - - namespace __detail - { - template - using __iter_value_t = typename - __iter_traits<_Tp, indirectly_readable_traits<_Tp>>::value_type; - } - - template - using iter_value_t = __detail::__iter_value_t>; - - namespace __detail - { - - - template - concept __cpp17_iterator = requires(_Iter __it) - { - { *__it } -> __can_reference; - { ++__it } -> same_as<_Iter&>; - { *__it++ } -> __can_reference; - } && copyable<_Iter>; - - template - concept __cpp17_input_iterator = __cpp17_iterator<_Iter> - && equality_comparable<_Iter> - && requires(_Iter __it) - { - typename incrementable_traits<_Iter>::difference_type; - typename indirectly_readable_traits<_Iter>::value_type; - typename common_reference_t&&, - typename indirectly_readable_traits<_Iter>::value_type&>; - typename common_reference_t::value_type&>; - requires signed_integral< - typename incrementable_traits<_Iter>::difference_type>; - }; - - template - concept __cpp17_fwd_iterator = __cpp17_input_iterator<_Iter> - && constructible_from<_Iter> - && is_lvalue_reference_v> - && same_as>, - typename indirectly_readable_traits<_Iter>::value_type> - && requires(_Iter __it) - { - { __it++ } -> convertible_to; - { *__it++ } -> same_as>; - }; - - template - concept __cpp17_bidi_iterator = __cpp17_fwd_iterator<_Iter> - && requires(_Iter __it) - { - { --__it } -> same_as<_Iter&>; - { __it-- } -> convertible_to; - { *__it-- } -> same_as>; - }; - - template - concept __cpp17_randacc_iterator = __cpp17_bidi_iterator<_Iter> - && totally_ordered<_Iter> - && requires(_Iter __it, - typename incrementable_traits<_Iter>::difference_type __n) - { - { __it += __n } -> same_as<_Iter&>; - { __it -= __n } -> same_as<_Iter&>; - { __it + __n } -> same_as<_Iter>; - { __n + __it } -> same_as<_Iter>; - { __it - __n } -> same_as<_Iter>; - { __it - __it } -> same_as; - { __it[__n] } -> convertible_to>; - }; - - template - concept __iter_with_nested_types = requires { - typename _Iter::iterator_category; - typename _Iter::value_type; - typename _Iter::difference_type; - typename _Iter::reference; - }; - - template - concept __iter_without_nested_types = !__iter_with_nested_types<_Iter>; - - template - concept __iter_without_category - = !requires { typename _Iter::iterator_category; }; - - } - - template - requires __detail::__iter_with_nested_types<_Iterator> - struct __iterator_traits<_Iterator, void> - { - private: - template - struct __ptr - { using type = void; }; - - template requires requires { typename _Iter::pointer; } - struct __ptr<_Iter> - { using type = typename _Iter::pointer; }; - - public: - using iterator_category = typename _Iterator::iterator_category; - using value_type = typename _Iterator::value_type; - using difference_type = typename _Iterator::difference_type; - using pointer = typename __ptr<_Iterator>::type; - using reference = typename _Iterator::reference; - }; - - template - requires __detail::__iter_without_nested_types<_Iterator> - && __detail::__cpp17_input_iterator<_Iterator> - struct __iterator_traits<_Iterator, void> - { - private: - template - struct __cat - { using type = input_iterator_tag; }; - - template - requires requires { typename _Iter::iterator_category; } - struct __cat<_Iter> - { using type = typename _Iter::iterator_category; }; - - template - requires __detail::__iter_without_category<_Iter> - && __detail::__cpp17_randacc_iterator<_Iter> - struct __cat<_Iter> - { using type = random_access_iterator_tag; }; - - template - requires __detail::__iter_without_category<_Iter> - && __detail::__cpp17_bidi_iterator<_Iter> - struct __cat<_Iter> - { using type = bidirectional_iterator_tag; }; - - template - requires __detail::__iter_without_category<_Iter> - && __detail::__cpp17_fwd_iterator<_Iter> - struct __cat<_Iter> - { using type = forward_iterator_tag; }; - - template - struct __ptr - { using type = void; }; - - template requires requires { typename _Iter::pointer; } - struct __ptr<_Iter> - { using type = typename _Iter::pointer; }; - - template - requires (!requires { typename _Iter::pointer; } - && requires(_Iter& __it) { __it.operator->(); }) - struct __ptr<_Iter> - { using type = decltype(std::declval<_Iter&>().operator->()); }; - - template - struct __ref - { using type = iter_reference_t<_Iter>; }; - - template requires requires { typename _Iter::reference; } - struct __ref<_Iter> - { using type = typename _Iter::reference; }; - - public: - using iterator_category = typename __cat<_Iterator>::type; - using value_type - = typename indirectly_readable_traits<_Iterator>::value_type; - using difference_type - = typename incrementable_traits<_Iterator>::difference_type; - using pointer = typename __ptr<_Iterator>::type; - using reference = typename __ref<_Iterator>::type; - }; - - template - requires __detail::__iter_without_nested_types<_Iterator> - && __detail::__cpp17_iterator<_Iterator> - struct __iterator_traits<_Iterator, void> - { - private: - template - struct __diff - { using type = void; }; - - template - requires requires - { typename incrementable_traits<_Iter>::difference_type; } - struct __diff<_Iter> - { - using type = typename incrementable_traits<_Iter>::difference_type; - }; - - public: - using iterator_category = output_iterator_tag; - using value_type = void; - using difference_type = typename __diff<_Iterator>::type; - using pointer = void; - using reference = void; - }; - - namespace __detail - { - template - struct __iter_concept_impl; - - - template - requires requires { typename __iter_traits<_Iter>::iterator_concept; } - struct __iter_concept_impl<_Iter> - { using type = typename __iter_traits<_Iter>::iterator_concept; }; - - - template - requires (!requires { typename __iter_traits<_Iter>::iterator_concept; } - && requires { typename __iter_traits<_Iter>::iterator_category; }) - struct __iter_concept_impl<_Iter> - { using type = typename __iter_traits<_Iter>::iterator_category; }; - - - template - requires (!requires { typename __iter_traits<_Iter>::iterator_concept; } - && !requires { typename __iter_traits<_Iter>::iterator_category; } - && __primary_traits_iter<_Iter>) - struct __iter_concept_impl<_Iter> - { using type = random_access_iterator_tag; }; - - - template - struct __iter_concept_impl - { }; - - - template - using __iter_concept = typename __iter_concept_impl<_Iter>::type; - - template - concept __indirectly_readable_impl = requires - { - typename iter_value_t<_In>; - typename iter_reference_t<_In>; - typename iter_rvalue_reference_t<_In>; - requires same_as, - iter_reference_t<_In>>; - requires same_as, - iter_rvalue_reference_t<_In>>; - } - && common_reference_with&&, iter_value_t<_In>&> - && common_reference_with&&, - iter_rvalue_reference_t<_In>&&> - && common_reference_with&&, - const iter_value_t<_In>&>; - - } - - - template - concept indirectly_readable - = __detail::__indirectly_readable_impl>; - - template - using iter_common_reference_t - = common_reference_t, iter_value_t<_Tp>&>; - - - template - concept indirectly_writable = requires(_Out&& __o, _Tp&& __t) - { - *__o = std::forward<_Tp>(__t); - *std::forward<_Out>(__o) = std::forward<_Tp>(__t); - const_cast&&>(*__o) - = std::forward<_Tp>(__t); - const_cast&&>(*std::forward<_Out>(__o)) - = std::forward<_Tp>(__t); - }; - - namespace ranges::__detail - { - class __max_diff_type; - class __max_size_type; - - __extension__ - template - concept __is_signed_int128 - - = same_as<_Tp, __int128>; - - - - - __extension__ - template - concept __is_unsigned_int128 - - = same_as<_Tp, unsigned __int128>; - - - - - template - concept __cv_bool = same_as; - - template - concept __integral_nonbool = integral<_Tp> && !__cv_bool<_Tp>; - - template - concept __is_int128 = __is_signed_int128<_Tp> || __is_unsigned_int128<_Tp>; - - template - concept __is_integer_like = __integral_nonbool<_Tp> - || __is_int128<_Tp> - || same_as<_Tp, __max_diff_type> || same_as<_Tp, __max_size_type>; - - template - concept __is_signed_integer_like = signed_integral<_Tp> - || __is_signed_int128<_Tp> - || same_as<_Tp, __max_diff_type>; - - } - - namespace __detail { using ranges::__detail::__is_signed_integer_like; } - - - template - concept weakly_incrementable = movable<_Iter> - && requires(_Iter __i) - { - typename iter_difference_t<_Iter>; - requires __detail::__is_signed_integer_like>; - { ++__i } -> same_as<_Iter&>; - __i++; - }; - - template - concept incrementable = regular<_Iter> && weakly_incrementable<_Iter> - && requires(_Iter __i) { { __i++ } -> same_as<_Iter>; }; - - template - concept input_or_output_iterator - = requires(_Iter __i) { { *__i } -> __detail::__can_reference; } - && weakly_incrementable<_Iter>; - - template - concept sentinel_for = semiregular<_Sent> - && input_or_output_iterator<_Iter> - && __detail::__weakly_eq_cmp_with<_Sent, _Iter>; - - template - inline constexpr bool disable_sized_sentinel_for = false; - - template - concept sized_sentinel_for = sentinel_for<_Sent, _Iter> - && !disable_sized_sentinel_for, remove_cv_t<_Iter>> - && requires(const _Iter& __i, const _Sent& __s) - { - { __s - __i } -> same_as>; - { __i - __s } -> same_as>; - }; - - template - concept input_iterator = input_or_output_iterator<_Iter> - && indirectly_readable<_Iter> - && requires { typename __detail::__iter_concept<_Iter>; } - && derived_from<__detail::__iter_concept<_Iter>, input_iterator_tag>; - - template - concept output_iterator = input_or_output_iterator<_Iter> - && indirectly_writable<_Iter, _Tp> - && requires(_Iter __i, _Tp&& __t) { *__i++ = std::forward<_Tp>(__t); }; - - template - concept forward_iterator = input_iterator<_Iter> - && derived_from<__detail::__iter_concept<_Iter>, forward_iterator_tag> - && incrementable<_Iter> && sentinel_for<_Iter, _Iter>; - - template - concept bidirectional_iterator = forward_iterator<_Iter> - && derived_from<__detail::__iter_concept<_Iter>, - bidirectional_iterator_tag> - && requires(_Iter __i) - { - { --__i } -> same_as<_Iter&>; - { __i-- } -> same_as<_Iter>; - }; - - template - concept random_access_iterator = bidirectional_iterator<_Iter> - && derived_from<__detail::__iter_concept<_Iter>, - random_access_iterator_tag> - && totally_ordered<_Iter> && sized_sentinel_for<_Iter, _Iter> - && requires(_Iter __i, const _Iter __j, - const iter_difference_t<_Iter> __n) - { - { __i += __n } -> same_as<_Iter&>; - { __j + __n } -> same_as<_Iter>; - { __n + __j } -> same_as<_Iter>; - { __i -= __n } -> same_as<_Iter&>; - { __j - __n } -> same_as<_Iter>; - { __j[__n] } -> same_as>; - }; - - template - concept contiguous_iterator = random_access_iterator<_Iter> - && derived_from<__detail::__iter_concept<_Iter>, contiguous_iterator_tag> - && is_lvalue_reference_v> - && same_as, remove_cvref_t>> - && requires(const _Iter& __i) - { - { std::to_address(__i) } - -> same_as>>; - }; - - - - - - template - concept indirectly_unary_invocable = indirectly_readable<_Iter> - && copy_constructible<_Fn> && invocable<_Fn&, iter_value_t<_Iter>&> - && invocable<_Fn&, iter_reference_t<_Iter>> - && invocable<_Fn&, iter_common_reference_t<_Iter>> - && common_reference_with&>, - invoke_result_t<_Fn&, iter_reference_t<_Iter>>>; - - template - concept indirectly_regular_unary_invocable = indirectly_readable<_Iter> - && copy_constructible<_Fn> - && regular_invocable<_Fn&, iter_value_t<_Iter>&> - && regular_invocable<_Fn&, iter_reference_t<_Iter>> - && regular_invocable<_Fn&, iter_common_reference_t<_Iter>> - && common_reference_with&>, - invoke_result_t<_Fn&, iter_reference_t<_Iter>>>; - - template - concept indirect_unary_predicate = indirectly_readable<_Iter> - && copy_constructible<_Fn> && predicate<_Fn&, iter_value_t<_Iter>&> - && predicate<_Fn&, iter_reference_t<_Iter>> - && predicate<_Fn&, iter_common_reference_t<_Iter>>; - - template - concept indirect_binary_predicate - = indirectly_readable<_I1> && indirectly_readable<_I2> - && copy_constructible<_Fn> - && predicate<_Fn&, iter_value_t<_I1>&, iter_value_t<_I2>&> - && predicate<_Fn&, iter_value_t<_I1>&, iter_reference_t<_I2>> - && predicate<_Fn&, iter_reference_t<_I1>, iter_value_t<_I2>&> - && predicate<_Fn&, iter_reference_t<_I1>, iter_reference_t<_I2>> - && predicate<_Fn&, iter_common_reference_t<_I1>, - iter_common_reference_t<_I2>>; - - template - concept indirect_equivalence_relation - = indirectly_readable<_I1> && indirectly_readable<_I2> - && copy_constructible<_Fn> - && equivalence_relation<_Fn&, iter_value_t<_I1>&, iter_value_t<_I2>&> - && equivalence_relation<_Fn&, iter_value_t<_I1>&, iter_reference_t<_I2>> - && equivalence_relation<_Fn&, iter_reference_t<_I1>, iter_value_t<_I2>&> - && equivalence_relation<_Fn&, iter_reference_t<_I1>, - iter_reference_t<_I2>> - && equivalence_relation<_Fn&, iter_common_reference_t<_I1>, - iter_common_reference_t<_I2>>; - - template - concept indirect_strict_weak_order - = indirectly_readable<_I1> && indirectly_readable<_I2> - && copy_constructible<_Fn> - && strict_weak_order<_Fn&, iter_value_t<_I1>&, iter_value_t<_I2>&> - && strict_weak_order<_Fn&, iter_value_t<_I1>&, iter_reference_t<_I2>> - && strict_weak_order<_Fn&, iter_reference_t<_I1>, iter_value_t<_I2>&> - && strict_weak_order<_Fn&, iter_reference_t<_I1>, iter_reference_t<_I2>> - && strict_weak_order<_Fn&, iter_common_reference_t<_I1>, - iter_common_reference_t<_I2>>; - - template - requires (indirectly_readable<_Is> && ...) - && invocable<_Fn, iter_reference_t<_Is>...> - using indirect_result_t = invoke_result_t<_Fn, iter_reference_t<_Is>...>; - - namespace __detail - { - template - struct __projected - { - struct __type - { - using value_type = remove_cvref_t>; - indirect_result_t<_Proj&, _Iter> operator*() const; - }; - }; - - template - struct __projected<_Iter, _Proj> - { - struct __type - { - using value_type = remove_cvref_t>; - using difference_type = iter_difference_t<_Iter>; - indirect_result_t<_Proj&, _Iter> operator*() const; - }; - }; - } - - - template _Proj> - using projected = typename __detail::__projected<_Iter, _Proj>::__type; - - - - - - template - concept indirectly_movable = indirectly_readable<_In> - && indirectly_writable<_Out, iter_rvalue_reference_t<_In>>; - - template - concept indirectly_movable_storable = indirectly_movable<_In, _Out> - && indirectly_writable<_Out, iter_value_t<_In>> - && movable> - && constructible_from, iter_rvalue_reference_t<_In>> - && assignable_from&, iter_rvalue_reference_t<_In>>; - - - template - concept indirectly_copyable = indirectly_readable<_In> - && indirectly_writable<_Out, iter_reference_t<_In>>; - - template - concept indirectly_copyable_storable = indirectly_copyable<_In, _Out> - && indirectly_writable<_Out, iter_value_t<_In>&> - && indirectly_writable<_Out, const iter_value_t<_In>&> - && indirectly_writable<_Out, iter_value_t<_In>&&> - && indirectly_writable<_Out, const iter_value_t<_In>&&> - && copyable> - && constructible_from, iter_reference_t<_In>> - && assignable_from&, iter_reference_t<_In>>; - -namespace ranges -{ - - namespace __iswap - { - template - void iter_swap(_It1, _It2) = delete; - - template - concept __adl_iswap - = (std::__detail::__class_or_enum> - || std::__detail::__class_or_enum>) - && requires(_Tp&& __t, _Up&& __u) { - iter_swap(static_cast<_Tp&&>(__t), static_cast<_Up&&>(__u)); - }; - - template - constexpr iter_value_t<_Xp> - __iter_exchange_move(_Xp&& __x, _Yp&& __y) - noexcept(noexcept(iter_value_t<_Xp>(iter_move(__x))) - && noexcept(*__x = iter_move(__y))) - { - iter_value_t<_Xp> __old_value(iter_move(__x)); - *__x = iter_move(__y); - return __old_value; - } - - struct _IterSwap - { - private: - template - static constexpr bool - _S_noexcept() - { - if constexpr (__adl_iswap<_Tp, _Up>) - return noexcept(iter_swap(std::declval<_Tp>(), - std::declval<_Up>())); - else if constexpr (indirectly_readable<_Tp> - && indirectly_readable<_Up> - && swappable_with, iter_reference_t<_Up>>) - return noexcept(ranges::swap(*std::declval<_Tp>(), - *std::declval<_Up>())); - else - return noexcept(*std::declval<_Tp>() - = __iswap::__iter_exchange_move(std::declval<_Up>(), - std::declval<_Tp>())); - } - - public: - template - requires __adl_iswap<_Tp, _Up> - || (indirectly_readable> - && indirectly_readable> - && swappable_with, iter_reference_t<_Up>>) - || (indirectly_movable_storable<_Tp, _Up> - && indirectly_movable_storable<_Up, _Tp>) - constexpr void - operator()(_Tp&& __e1, _Up&& __e2) const - noexcept(_S_noexcept<_Tp, _Up>()) - { - if constexpr (__adl_iswap<_Tp, _Up>) - iter_swap(static_cast<_Tp&&>(__e1), static_cast<_Up&&>(__e2)); - else if constexpr (indirectly_readable<_Tp> - && indirectly_readable<_Up> - && swappable_with, iter_reference_t<_Up>>) - ranges::swap(*__e1, *__e2); - else - *__e1 = __iswap::__iter_exchange_move(__e2, __e1); - } - }; - } - - - inline namespace _Cpo { - inline constexpr __iswap::_IterSwap iter_swap{}; - } - -} - - - template - concept indirectly_swappable - = indirectly_readable<_I1> && indirectly_readable<_I2> - && requires(const _I1 __i1, const _I2 __i2) - { - ranges::iter_swap(__i1, __i1); - ranges::iter_swap(__i2, __i2); - ranges::iter_swap(__i1, __i2); - ranges::iter_swap(__i2, __i1); - }; - - - template - concept indirectly_comparable - = indirect_binary_predicate<_Rel, projected<_I1, _P1>, - projected<_I2, _P2>>; - - - template - concept permutable = forward_iterator<_Iter> - && indirectly_movable_storable<_Iter, _Iter> - && indirectly_swappable<_Iter, _Iter>; - - - template - concept mergeable = input_iterator<_I1> && input_iterator<_I2> - && weakly_incrementable<_Out> && indirectly_copyable<_I1, _Out> - && indirectly_copyable<_I2, _Out> - && indirect_strict_weak_order<_Rel, projected<_I1, _P1>, - projected<_I2, _P2>>; - - - template - concept sortable = permutable<_Iter> - && indirect_strict_weak_order<_Rel, projected<_Iter, _Proj>>; - - struct unreachable_sentinel_t - { - template - friend constexpr bool - operator==(unreachable_sentinel_t, const _It&) noexcept - { return false; } - }; - - inline constexpr unreachable_sentinel_t unreachable_sentinel{}; - - - namespace ranges::__access - { - using std::__detail::__class_or_enum; - - struct _Decay_copy final - { - template - constexpr decay_t<_Tp> - operator()(_Tp&& __t) const - noexcept(is_nothrow_convertible_v<_Tp, decay_t<_Tp>>) - { return std::forward<_Tp>(__t); } - } inline constexpr __decay_copy{}; - - template - concept __member_begin = requires(_Tp& __t) - { - { __decay_copy(__t.begin()) } -> input_or_output_iterator; - }; - - - void begin() = delete; - - template - concept __adl_begin = __class_or_enum> - && requires(_Tp& __t) - { - { __decay_copy(begin(__t)) } -> input_or_output_iterator; - }; - - - - template - requires is_array_v<_Tp> || __member_begin<_Tp&> || __adl_begin<_Tp&> - auto - __begin(_Tp& __t) - { - if constexpr (is_array_v<_Tp>) - return __t + 0; - else if constexpr (__member_begin<_Tp&>) - return __t.begin(); - else - return begin(__t); - } - } - - namespace __detail - { - - template - using __range_iter_t - = decltype(ranges::__access::__begin(std::declval<_Tp&>())); - - } - - - -} -# 72 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 2 3 - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 93 "/usr/include/c++/14.1.1/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 { }; - - - - struct contiguous_iterator_tag : public random_access_iterator_tag { }; -# 125 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 3 - template - struct [[__deprecated__]] iterator - { - - typedef _Category iterator_category; - - typedef _Tp value_type; - - typedef _Distance difference_type; - - typedef _Pointer pointer; - - typedef _Reference reference; - }; -# 149 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 3 - template - struct iterator_traits; - - - - - template> - struct __iterator_traits { }; -# 176 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 3 - template - struct iterator_traits - : public __iterator_traits<_Iterator> { }; -# 194 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 3 - template - - requires is_object_v<_Tp> - - struct iterator_traits<_Tp*> - { - using iterator_concept = contiguous_iterator_tag; - using iterator_category = random_access_iterator_tag; - using value_type = remove_cv_t<_Tp>; - using difference_type = ptrdiff_t; - using pointer = _Tp*; - using reference = _Tp&; - }; -# 235 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 3 - template - __attribute__((__always_inline__)) - inline constexpr - typename iterator_traits<_Iter>::iterator_category - __iterator_category(const _Iter&) - { return typename iterator_traits<_Iter>::iterator_category(); } - - - - - template - using __iter_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 }; - }; - - - - - - - - -} -# 62 "/usr/include/c++/14.1.1/bits/stl_construct.h" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/stl_iterator_base_funcs.h" 1 3 -# 62 "/usr/include/c++/14.1.1/bits/stl_iterator_base_funcs.h" 3 - -# 63 "/usr/include/c++/14.1.1/bits/stl_iterator_base_funcs.h" 3 - -# 1 "/usr/include/c++/14.1.1/bits/concept_check.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/concept_check.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/concept_check.h" 3 -# 65 "/usr/include/c++/14.1.1/bits/stl_iterator_base_funcs.h" 2 3 -# 1 "/usr/include/c++/14.1.1/debug/assertions.h" 1 3 -# 66 "/usr/include/c++/14.1.1/bits/stl_iterator_base_funcs.h" 2 3 - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - 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 - __attribute__((__always_inline__)) - inline constexpr - typename iterator_traits<_RandomAccessIterator>::difference_type - __distance(_RandomAccessIterator __first, _RandomAccessIterator __last, - random_access_iterator_tag) - { - - - - return __last - __first; - } - - - - template - ptrdiff_t - __distance(std::_List_iterator<_Tp>, - std::_List_iterator<_Tp>, - input_iterator_tag); - - template - ptrdiff_t - __distance(std::_List_const_iterator<_Tp>, - std::_List_const_iterator<_Tp>, - input_iterator_tag); - - - - - template - void - __distance(_OutputIterator, _OutputIterator, output_iterator_tag) = delete; -# 144 "/usr/include/c++/14.1.1/bits/stl_iterator_base_funcs.h" 3 - template - [[__nodiscard__]] __attribute__((__always_inline__)) - 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 (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__n >= 0), false)) std::__glibcxx_assert_fail(); } 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; - } - - - - template - void - __advance(_OutputIterator&, _Distance, output_iterator_tag) = delete; -# 217 "/usr/include/c++/14.1.1/bits/stl_iterator_base_funcs.h" 3 - template - __attribute__((__always_inline__)) - 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 - [[__nodiscard__]] [[__gnu__::__always_inline__]] - inline constexpr _InputIterator - next(_InputIterator __x, typename - iterator_traits<_InputIterator>::difference_type __n = 1) - { - - - std::advance(__x, __n); - return __x; - } - - template - [[__nodiscard__]] [[__gnu__::__always_inline__]] - inline constexpr _BidirectionalIterator - prev(_BidirectionalIterator __x, typename - iterator_traits<_BidirectionalIterator>::difference_type __n = 1) - { - - - - std::advance(__x, -__n); - return __x; - } - - - - -} -# 63 "/usr/include/c++/14.1.1/bits/stl_construct.h" 2 3 -# 73 "/usr/include/c++/14.1.1/bits/stl_construct.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - template - constexpr inline void - destroy_at(_Tp* __location) - { - if constexpr (202002L > 201703L && is_array_v<_Tp>) - { - for (auto& __x : *__location) - std::destroy_at(std::__addressof(__x)); - } - else - __location->~_Tp(); - } - - - template - constexpr auto - construct_at(_Tp* __location, _Args&&... __args) - noexcept(noexcept(::new((void*)0) _Tp(std::declval<_Args>()...))) - -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...)) - { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } -# 106 "/usr/include/c++/14.1.1/bits/stl_construct.h" 3 - template - constexpr - inline void - _Construct(_Tp* __p, _Args&&... __args) - { - - if (std::__is_constant_evaluated()) - { - - std::construct_at(__p, std::forward<_Args>(__args)...); - return; - } - - ::new((void*)__p) _Tp(std::forward<_Args>(__args)...); - } -# 132 "/usr/include/c++/14.1.1/bits/stl_construct.h" 3 - template - inline void - _Construct_novalue(_T1* __p) - { ::new((void*)__p) _T1; } - - template - constexpr void - _Destroy(_ForwardIterator __first, _ForwardIterator __last); - - - - - template - constexpr inline void - _Destroy(_Tp* __pointer) - { - - std::destroy_at(__pointer); - - - - } - - template - struct _Destroy_aux - { - template - static constexpr 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 - constexpr 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"); - - - if (std::__is_constant_evaluated()) - return std::_Destroy_aux::__destroy(__first, __last); - - std::_Destroy_aux<__has_trivial_destructor(_Value_type)>:: - __destroy(__first, __last); - } - - template - struct _Destroy_n_aux - { - template - static constexpr _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 - constexpr 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"); - - - if (std::__is_constant_evaluated()) - return std::_Destroy_n_aux::__destroy_n(__first, __count); - - return std::_Destroy_n_aux<__has_trivial_destructor(_Value_type)>:: - __destroy_n(__first, __count); - } - - - template - constexpr inline void - destroy(_ForwardIterator __first, _ForwardIterator __last) - { - std::_Destroy(__first, __last); - } - - template - constexpr inline _ForwardIterator - destroy_n(_ForwardIterator __first, _Size __count) - { - return std::_Destroy_n(__first, __count); - } - - - -} -# 58 "/usr/include/c++/14.1.1/bits/char_traits.h" 2 3 - - - - - - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - - - -# 68 "/usr/include/c++/14.1.1/bits/char_traits.h" 3 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wstringop-overflow" -#pragma GCC diagnostic ignored "-Wstringop-overread" -#pragma GCC diagnostic ignored "-Warray-bounds" -# 83 "/usr/include/c++/14.1.1/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; - - }; -# 110 "/usr/include/c++/14.1.1/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; - - - using comparison_category = std::strong_ordering; - - - static constexpr void - assign(char_type& __c1, const char_type& __c2) - { - - if (std::__is_constant_evaluated()) - std::construct_at(__builtin_addressof(__c1), __c2); - else - - __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 constexpr char_type* - move(char_type* __s1, const char_type* __s2, std::size_t __n); - - static constexpr char_type* - copy(char_type* __s1, const char_type* __s2, std::size_t __n); - - static constexpr 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 - constexpr - 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; - - if (std::__is_constant_evaluated()) - { - - if (__builtin_constant_p(__s2 < __s1) - && __s1 > __s2 && __s1 < (__s2 + __n)) - { - do - { - --__n; - assign(__s1[__n], __s2[__n]); - } - while (__n > 0); - } - else - copy(__s1, __s2, __n); - return __s1; - } - - __builtin_memmove(__s1, __s2, __n * sizeof(char_type)); - return __s1; - } - - template - constexpr - typename char_traits<_CharT>::char_type* - char_traits<_CharT>:: - copy(char_type* __s1, const char_type* __s2, std::size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - { - for (std::size_t __i = 0; __i < __n; ++__i) - std::construct_at(__s1 + __i, __s2[__i]); - return __s1; - } - - __builtin_memcpy(__s1, __s2, __n * sizeof(char_type)); - return __s1; - } - - template - constexpr - typename char_traits<_CharT>::char_type* - char_traits<_CharT>:: - assign(char_type* __s, std::size_t __n, char_type __a) - { - - if (std::__is_constant_evaluated()) - { - for (std::size_t __i = 0; __i < __n; ++__i) - std::construct_at(__s + __i, __a); - return __s; - } - - - if constexpr (sizeof(_CharT) == 1 && __is_trivial(_CharT)) - { - if (__n) - { - unsigned char __c; - __builtin_memcpy(&__c, __builtin_addressof(__a), 1); - __builtin_memset(__s, __c, __n); - } - } - else - { - for (std::size_t __i = 0; __i < __n; ++__i) - __s[__i] = __a; - } - return __s; - } - - -} - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 322 "/usr/include/c++/14.1.1/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; - - - using comparison_category = strong_ordering; - - - static constexpr void - assign(char_type& __c1, const char_type& __c2) noexcept - { - - if (std::__is_constant_evaluated()) - std::construct_at(__builtin_addressof(__c1), __c2); - else - - __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 (std::__is_constant_evaluated()) - { - 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 (std::__is_constant_evaluated()) - 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 (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::find(__s, __n, __a); - - return static_cast(__builtin_memchr(__s, __a, __n)); - } - - static constexpr char_type* - move(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::move(__s1, __s2, __n); - - return static_cast(__builtin_memmove(__s1, __s2, __n)); - } - - static constexpr char_type* - copy(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::copy(__s1, __s2, __n); - - return static_cast(__builtin_memcpy(__s1, __s2, __n)); - } - - static constexpr char_type* - assign(char_type* __s, size_t __n, char_type __a) - { - if (__n == 0) - return __s; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::assign(__s, __n, __a); - - 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; - - - using comparison_category = strong_ordering; - - - static constexpr void - assign(char_type& __c1, const char_type& __c2) noexcept - { - - if (std::__is_constant_evaluated()) - std::construct_at(__builtin_addressof(__c1), __c2); - else - - __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 (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::compare(__s1, __s2, __n); - - return wmemcmp(__s1, __s2, __n); - } - - static constexpr size_t - length(const char_type* __s) - { - - if (std::__is_constant_evaluated()) - 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 (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::find(__s, __n, __a); - - return wmemchr(__s, __a, __n); - } - - static constexpr char_type* - move(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::move(__s1, __s2, __n); - - return wmemmove(__s1, __s2, __n); - } - - static constexpr char_type* - copy(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::copy(__s1, __s2, __n); - - return wmemcpy(__s1, __s2, __n); - } - - static constexpr char_type* - assign(char_type* __s, size_t __n, char_type __a) - { - if (__n == 0) - return __s; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::assign(__s, __n, __a); - - 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((0xffffffffu)); } - - static constexpr int_type - not_eof(const int_type& __c) noexcept - { return eq_int_type(__c, eof()) ? 0 : __c; } - - }; - - - - - - - - template<> - struct char_traits - { - typedef char8_t char_type; - typedef unsigned int int_type; - - typedef u8streampos pos_type; - typedef streamoff off_type; - typedef mbstate_t state_type; - - - using comparison_category = strong_ordering; - - - static constexpr void - assign(char_type& __c1, const char_type& __c2) noexcept - { - - if (std::__is_constant_evaluated()) - std::construct_at(__builtin_addressof(__c1), __c2); - else - - __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 (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::compare(__s1, __s2, __n); - - return __builtin_memcmp(__s1, __s2, __n); - } - - static constexpr size_t - length(const char_type* __s) - { - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::length(__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) - { - if (__n == 0) - return 0; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::find(__s, __n, __a); - - return static_cast(__builtin_memchr(__s, __a, __n)); - } - - static constexpr char_type* - move(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::move(__s1, __s2, __n); - - return static_cast(__builtin_memmove(__s1, __s2, __n)); - } - - static constexpr char_type* - copy(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::copy(__s1, __s2, __n); - - return static_cast(__builtin_memcpy(__s1, __s2, __n)); - } - - static constexpr char_type* - assign(char_type* __s, size_t __n, char_type __a) - { - if (__n == 0) - return __s; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::assign(__s, __n, __a); - - return static_cast(__builtin_memset(__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(-1); } - - static constexpr int_type - not_eof(const int_type& __c) noexcept - { return eq_int_type(__c, eof()) ? 0 : __c; } - - }; - - - -} - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template<> - struct char_traits - { - typedef char16_t char_type; - - typedef short unsigned int int_type; - - - - - typedef streamoff off_type; - typedef u16streampos pos_type; - typedef mbstate_t state_type; - - - using comparison_category = strong_ordering; - - - static constexpr void - assign(char_type& __c1, const char_type& __c2) noexcept - { - - if (std::__is_constant_evaluated()) - std::construct_at(__builtin_addressof(__c1), __c2); - else - - __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 constexpr char_type* - move(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::move(__s1, __s2, __n); - - return (static_cast - (__builtin_memmove(__s1, __s2, __n * sizeof(char_type)))); - } - - static constexpr char_type* - copy(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::copy(__s1, __s2, __n); - - return (static_cast - (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type)))); - } - - static constexpr 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 bool - eq_int_type(const int_type& __c1, const int_type& __c2) noexcept - { return __c1 == __c2; } - - - static constexpr int_type - to_int_type(const char_type& __c) noexcept - { return __c == eof() ? int_type(0xfffd) : int_type(__c); } - - 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 unsigned int int_type; - - - - - typedef streamoff off_type; - typedef u32streampos pos_type; - typedef mbstate_t state_type; - - - using comparison_category = strong_ordering; - - - static constexpr void - assign(char_type& __c1, const char_type& __c2) noexcept - { - - if (std::__is_constant_evaluated()) - std::construct_at(__builtin_addressof(__c1), __c2); - else - - __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 constexpr char_type* - move(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::move(__s1, __s2, __n); - - return (static_cast - (__builtin_memmove(__s1, __s2, __n * sizeof(char_type)))); - } - - static constexpr char_type* - copy(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::copy(__s1, __s2, __n); - - return (static_cast - (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type)))); - } - - static constexpr 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; } - - }; - - - namespace __detail - { - template - constexpr auto - __char_traits_cmp_cat(int __cmp) noexcept - { - if constexpr (requires { typename _ChTraits::comparison_category; }) - { - using _Cat = typename _ChTraits::comparison_category; - static_assert( !is_void_v> ); - return static_cast<_Cat>(__cmp <=> 0); - } - else - return static_cast(__cmp <=> 0); - } - } - - -#pragma GCC diagnostic pop - - -} -# 43 "/usr/include/c++/14.1.1/ios" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/localefwd.h" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/localefwd.h" 3 - -# 38 "/usr/include/c++/14.1.1/bits/localefwd.h" 3 - - -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++locale.h" 1 3 -# 39 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++locale.h" 3 - -# 40 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++locale.h" 3 - -# 1 "/usr/include/c++/14.1.1/clocale" 1 3 -# 39 "/usr/include/c++/14.1.1/clocale" 3 - -# 40 "/usr/include/c++/14.1.1/clocale" 3 - - -# 1 "/usr/include/locale.h" 1 3 4 -# 28 "/usr/include/locale.h" 3 4 -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 29 "/usr/include/locale.h" 2 3 4 -# 1 "/usr/include/bits/locale.h" 1 3 4 -# 30 "/usr/include/locale.h" 2 3 4 - -extern "C" { -# 51 "/usr/include/locale.h" 3 4 -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_p_cs_precedes; - - char int_p_sep_by_space; - - char int_n_cs_precedes; - - char int_n_sep_by_space; - - - - - - - char int_p_sign_posn; - char int_n_sign_posn; -# 118 "/usr/include/locale.h" 3 4 -}; - - - -extern char *setlocale (int __category, const char *__locale) noexcept (true); - - -extern struct lconv *localeconv (void) noexcept (true); -# 141 "/usr/include/locale.h" 3 4 -extern locale_t newlocale (int __category_mask, const char *__locale, - locale_t __base) noexcept (true); -# 176 "/usr/include/locale.h" 3 4 -extern locale_t duplocale (locale_t __dataset) noexcept (true); - - - -extern void freelocale (locale_t __dataset) noexcept (true); - - - - - - -extern locale_t uselocale (locale_t __dataset) noexcept (true); - - - - - - - -} -# 43 "/usr/include/c++/14.1.1/clocale" 2 3 -# 51 "/usr/include/c++/14.1.1/clocale" 3 -namespace std -{ - using ::lconv; - using ::setlocale; - using ::localeconv; -} -# 42 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++locale.h" 2 3 - - - - - - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - - - extern "C" __typeof(uselocale) __uselocale; - - -} - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - typedef __locale_t __c_locale; -# 73 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++locale.h" 3 - inline int - __convert_from_v(const __c_locale& __cloc __attribute__ ((__unused__)), - char* __out, - const int __size __attribute__ ((__unused__)), - const char* __fmt, ...) - { - - __c_locale __old = __gnu_cxx::__uselocale(__cloc); -# 93 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++locale.h" 3 - __builtin_va_list __args; - __builtin_va_start(__args, __fmt); - - - const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); - - - - - __builtin_va_end(__args); - - - __gnu_cxx::__uselocale(__old); - - - - - - - - return __ret; - } - - - - - - - -} -# 41 "/usr/include/c++/14.1.1/bits/localefwd.h" 2 3 - -# 1 "/usr/include/c++/14.1.1/cctype" 1 3 -# 39 "/usr/include/c++/14.1.1/cctype" 3 - -# 40 "/usr/include/c++/14.1.1/cctype" 3 - - -# 1 "/usr/include/ctype.h" 1 3 4 -# 26 "/usr/include/ctype.h" 3 4 -# 1 "/usr/include/bits/types.h" 1 3 4 -# 27 "/usr/include/bits/types.h" 3 4 -# 1 "/usr/include/bits/wordsize.h" 1 3 4 -# 28 "/usr/include/bits/types.h" 2 3 4 -# 1 "/usr/include/bits/timesize.h" 1 3 4 -# 19 "/usr/include/bits/timesize.h" 3 4 -# 1 "/usr/include/bits/wordsize.h" 1 3 4 -# 20 "/usr/include/bits/timesize.h" 2 3 4 -# 29 "/usr/include/bits/types.h" 2 3 4 - - -typedef unsigned char __u_char; -typedef unsigned short int __u_short; -typedef unsigned int __u_int; -typedef unsigned long int __u_long; - - -typedef signed char __int8_t; -typedef unsigned char __uint8_t; -typedef signed short int __int16_t; -typedef unsigned short int __uint16_t; -typedef signed int __int32_t; -typedef unsigned int __uint32_t; - -typedef signed long int __int64_t; -typedef unsigned long int __uint64_t; - - - - - - -typedef __int8_t __int_least8_t; -typedef __uint8_t __uint_least8_t; -typedef __int16_t __int_least16_t; -typedef __uint16_t __uint_least16_t; -typedef __int32_t __int_least32_t; -typedef __uint32_t __uint_least32_t; -typedef __int64_t __int_least64_t; -typedef __uint64_t __uint_least64_t; - - - -typedef long int __quad_t; -typedef unsigned long int __u_quad_t; - - - - - - - -typedef long int __intmax_t; -typedef unsigned long int __uintmax_t; -# 141 "/usr/include/bits/types.h" 3 4 -# 1 "/usr/include/bits/typesizes.h" 1 3 4 -# 142 "/usr/include/bits/types.h" 2 3 4 -# 1 "/usr/include/bits/time64.h" 1 3 4 -# 143 "/usr/include/bits/types.h" 2 3 4 - - -typedef unsigned long int __dev_t; -typedef unsigned int __uid_t; -typedef unsigned int __gid_t; -typedef unsigned long int __ino_t; -typedef unsigned long int __ino64_t; -typedef unsigned int __mode_t; -typedef unsigned long int __nlink_t; -typedef long int __off_t; -typedef long int __off64_t; -typedef int __pid_t; -typedef struct { int __val[2]; } __fsid_t; -typedef long int __clock_t; -typedef unsigned long int __rlim_t; -typedef unsigned long int __rlim64_t; -typedef unsigned int __id_t; -typedef long int __time_t; -typedef unsigned int __useconds_t; -typedef long int __suseconds_t; -typedef long int __suseconds64_t; - -typedef int __daddr_t; -typedef int __key_t; - - -typedef int __clockid_t; - - -typedef void * __timer_t; - - -typedef long int __blksize_t; - - - - -typedef long int __blkcnt_t; -typedef long int __blkcnt64_t; - - -typedef unsigned long int __fsblkcnt_t; -typedef unsigned long int __fsblkcnt64_t; - - -typedef unsigned long int __fsfilcnt_t; -typedef unsigned long int __fsfilcnt64_t; - - -typedef long int __fsword_t; - -typedef long int __ssize_t; - - -typedef long int __syscall_slong_t; - -typedef unsigned long int __syscall_ulong_t; - - - -typedef __off64_t __loff_t; -typedef char *__caddr_t; - - -typedef long int __intptr_t; - - -typedef unsigned int __socklen_t; - - - - -typedef int __sig_atomic_t; -# 27 "/usr/include/ctype.h" 2 3 4 - -extern "C" { -# 39 "/usr/include/ctype.h" 3 4 -# 1 "/usr/include/bits/endian.h" 1 3 4 -# 35 "/usr/include/bits/endian.h" 3 4 -# 1 "/usr/include/bits/endianness.h" 1 3 4 -# 36 "/usr/include/bits/endian.h" 2 3 4 -# 40 "/usr/include/ctype.h" 2 3 4 - - - - - - -enum -{ - _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), - _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), - _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), - _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), - _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), - _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), - _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), - _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), - _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), - _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), - _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), - _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) -}; -# 79 "/usr/include/ctype.h" 3 4 -extern const unsigned short int **__ctype_b_loc (void) - noexcept (true) __attribute__ ((__const__)); -extern const __int32_t **__ctype_tolower_loc (void) - noexcept (true) __attribute__ ((__const__)); -extern const __int32_t **__ctype_toupper_loc (void) - noexcept (true) __attribute__ ((__const__)); -# 108 "/usr/include/ctype.h" 3 4 -extern int isalnum (int) noexcept (true); -extern int isalpha (int) noexcept (true); -extern int iscntrl (int) noexcept (true); -extern int isdigit (int) noexcept (true); -extern int islower (int) noexcept (true); -extern int isgraph (int) noexcept (true); -extern int isprint (int) noexcept (true); -extern int ispunct (int) noexcept (true); -extern int isspace (int) noexcept (true); -extern int isupper (int) noexcept (true); -extern int isxdigit (int) noexcept (true); - - - -extern int tolower (int __c) noexcept (true); - - -extern int toupper (int __c) noexcept (true); - - - - -extern int isblank (int) noexcept (true); - - - - -extern int isctype (int __c, int __mask) noexcept (true); - - - - - - -extern int isascii (int __c) noexcept (true); - - - -extern int toascii (int __c) noexcept (true); - - - -extern int _toupper (int) noexcept (true); -extern int _tolower (int) noexcept (true); -# 251 "/usr/include/ctype.h" 3 4 -extern int isalnum_l (int, locale_t) noexcept (true); -extern int isalpha_l (int, locale_t) noexcept (true); -extern int iscntrl_l (int, locale_t) noexcept (true); -extern int isdigit_l (int, locale_t) noexcept (true); -extern int islower_l (int, locale_t) noexcept (true); -extern int isgraph_l (int, locale_t) noexcept (true); -extern int isprint_l (int, locale_t) noexcept (true); -extern int ispunct_l (int, locale_t) noexcept (true); -extern int isspace_l (int, locale_t) noexcept (true); -extern int isupper_l (int, locale_t) noexcept (true); -extern int isxdigit_l (int, locale_t) noexcept (true); - -extern int isblank_l (int, locale_t) noexcept (true); - - - -extern int __tolower_l (int __c, locale_t __l) noexcept (true); -extern int tolower_l (int __c, locale_t __l) noexcept (true); - - -extern int __toupper_l (int __c, locale_t __l) noexcept (true); -extern int toupper_l (int __c, locale_t __l) noexcept (true); -# 327 "/usr/include/ctype.h" 3 4 -} -# 43 "/usr/include/c++/14.1.1/cctype" 2 3 -# 62 "/usr/include/c++/14.1.1/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/include/c++/14.1.1/bits/localefwd.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 55 "/usr/include/c++/14.1.1/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; - template<> class codecvt; - - - template - class codecvt_byname; - - - - template > - class num_get; - template > - class num_put; - -namespace __cxx11 { - template class numpunct; - template class numpunct_byname; -} - -namespace __cxx11 { - - template - class collate; - template - class collate_byname; -} - - - class time_base; -namespace __cxx11 { - template > - class time_get; - template > - class time_get_byname; -} - template > - class time_put; - template > - class time_put_byname; - - - class money_base; -namespace __cxx11 { - template > - class money_get; - template > - class money_put; -} -namespace __cxx11 { - template - class moneypunct; - template - class moneypunct_byname; -} - - - struct messages_base; -namespace __cxx11 { - template - class messages; - template - class messages_byname; -} - - -} -# 44 "/usr/include/c++/14.1.1/ios" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/ios_base.h" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - -# 38 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - -# 1 "/usr/include/c++/14.1.1/ext/atomicity.h" 1 3 -# 32 "/usr/include/c++/14.1.1/ext/atomicity.h" 3 - -# 33 "/usr/include/c++/14.1.1/ext/atomicity.h" 3 - - -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr.h" 1 3 -# 30 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr.h" 3 -#pragma GCC visibility push(default) -# 157 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr.h" 3 -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h" 1 3 -# 35 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h" 3 -# 1 "/usr/include/pthread.h" 1 3 4 -# 22 "/usr/include/pthread.h" 3 4 -# 1 "/usr/include/sched.h" 1 3 4 -# 29 "/usr/include/sched.h" 3 4 -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 30 "/usr/include/sched.h" 2 3 4 - -# 1 "/usr/include/bits/types/time_t.h" 1 3 4 -# 10 "/usr/include/bits/types/time_t.h" 3 4 -typedef __time_t time_t; -# 32 "/usr/include/sched.h" 2 3 4 -# 1 "/usr/include/bits/types/struct_timespec.h" 1 3 4 -# 11 "/usr/include/bits/types/struct_timespec.h" 3 4 -struct timespec -{ - - - - __time_t tv_sec; - - - - - __syscall_slong_t tv_nsec; -# 31 "/usr/include/bits/types/struct_timespec.h" 3 4 -}; -# 33 "/usr/include/sched.h" 2 3 4 - - - - - -typedef __pid_t pid_t; - - - - -# 1 "/usr/include/bits/sched.h" 1 3 4 -# 80 "/usr/include/bits/sched.h" 3 4 -# 1 "/usr/include/bits/types/struct_sched_param.h" 1 3 4 -# 23 "/usr/include/bits/types/struct_sched_param.h" 3 4 -struct sched_param -{ - int sched_priority; -}; -# 81 "/usr/include/bits/sched.h" 2 3 4 - -extern "C" { - - - -extern int clone (int (*__fn) (void *__arg), void *__child_stack, - int __flags, void *__arg, ...) noexcept (true); - - -extern int unshare (int __flags) noexcept (true); - - -extern int sched_getcpu (void) noexcept (true); - - -extern int getcpu (unsigned int *, unsigned int *) noexcept (true); - - -extern int setns (int __fd, int __nstype) noexcept (true); - - -} -# 44 "/usr/include/sched.h" 2 3 4 -# 1 "/usr/include/bits/cpu-set.h" 1 3 4 -# 32 "/usr/include/bits/cpu-set.h" 3 4 -typedef unsigned long int __cpu_mask; - - - - - - -typedef struct -{ - __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))]; -} cpu_set_t; -# 115 "/usr/include/bits/cpu-set.h" 3 4 -extern "C" { - -extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp) - noexcept (true); -extern cpu_set_t *__sched_cpualloc (size_t __count) noexcept (true) ; -extern void __sched_cpufree (cpu_set_t *__set) noexcept (true); - -} -# 45 "/usr/include/sched.h" 2 3 4 - - - - - - -extern "C" { - - -extern int sched_setparam (__pid_t __pid, const struct sched_param *__param) - noexcept (true); - - -extern int sched_getparam (__pid_t __pid, struct sched_param *__param) noexcept (true); - - -extern int sched_setscheduler (__pid_t __pid, int __policy, - const struct sched_param *__param) noexcept (true); - - -extern int sched_getscheduler (__pid_t __pid) noexcept (true); - - -extern int sched_yield (void) noexcept (true); - - -extern int sched_get_priority_max (int __algorithm) noexcept (true); - - -extern int sched_get_priority_min (int __algorithm) noexcept (true); - - - -extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) noexcept (true); -# 130 "/usr/include/sched.h" 3 4 -extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize, - const cpu_set_t *__cpuset) noexcept (true); - - -extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize, - cpu_set_t *__cpuset) noexcept (true); - - -} -# 23 "/usr/include/pthread.h" 2 3 4 -# 1 "/usr/include/time.h" 1 3 4 -# 29 "/usr/include/time.h" 3 4 -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 30 "/usr/include/time.h" 2 3 4 - - - -# 1 "/usr/include/bits/time.h" 1 3 4 -# 73 "/usr/include/bits/time.h" 3 4 -# 1 "/usr/include/bits/timex.h" 1 3 4 -# 22 "/usr/include/bits/timex.h" 3 4 -# 1 "/usr/include/bits/types/struct_timeval.h" 1 3 4 - - - - - - - -struct timeval -{ - - - - - __time_t tv_sec; - __suseconds_t tv_usec; - -}; -# 23 "/usr/include/bits/timex.h" 2 3 4 - - - -struct timex -{ -# 58 "/usr/include/bits/timex.h" 3 4 - unsigned int modes; - __syscall_slong_t offset; - __syscall_slong_t freq; - __syscall_slong_t maxerror; - __syscall_slong_t esterror; - int status; - __syscall_slong_t constant; - __syscall_slong_t precision; - __syscall_slong_t tolerance; - struct timeval time; - __syscall_slong_t tick; - __syscall_slong_t ppsfreq; - __syscall_slong_t jitter; - int shift; - __syscall_slong_t stabil; - __syscall_slong_t jitcnt; - __syscall_slong_t calcnt; - __syscall_slong_t errcnt; - __syscall_slong_t stbcnt; - - int tai; - - - int :32; int :32; int :32; int :32; - int :32; int :32; int :32; int :32; - int :32; int :32; int :32; - -}; -# 74 "/usr/include/bits/time.h" 2 3 4 - -extern "C" { - - -extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) noexcept (true) __attribute__ ((__nonnull__ (2))); -# 90 "/usr/include/bits/time.h" 3 4 -} -# 34 "/usr/include/time.h" 2 3 4 - - - -# 1 "/usr/include/bits/types/clock_t.h" 1 3 4 - - - - - - -typedef __clock_t clock_t; -# 38 "/usr/include/time.h" 2 3 4 - -# 1 "/usr/include/bits/types/struct_tm.h" 1 3 4 - - - - - - -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 int tm_gmtoff; - const char *tm_zone; - - - - -}; -# 40 "/usr/include/time.h" 2 3 4 - - - - - - -# 1 "/usr/include/bits/types/clockid_t.h" 1 3 4 - - - - - - -typedef __clockid_t clockid_t; -# 47 "/usr/include/time.h" 2 3 4 -# 1 "/usr/include/bits/types/timer_t.h" 1 3 4 - - - - - - -typedef __timer_t timer_t; -# 48 "/usr/include/time.h" 2 3 4 -# 1 "/usr/include/bits/types/struct_itimerspec.h" 1 3 4 - - - - - - - -struct itimerspec - { - struct timespec it_interval; - struct timespec it_value; - }; -# 49 "/usr/include/time.h" 2 3 4 -struct sigevent; -# 68 "/usr/include/time.h" 3 4 -extern "C" { - - - -extern clock_t clock (void) noexcept (true); - - - -extern time_t time (time_t *__timer) noexcept (true); - - -extern double difftime (time_t __time1, time_t __time0) - noexcept (true) __attribute__ ((__const__)); - - -extern time_t mktime (struct tm *__tp) noexcept (true); -# 100 "/usr/include/time.h" 3 4 -extern size_t strftime (char *__restrict __s, size_t __maxsize, - const char *__restrict __format, - const struct tm *__restrict __tp) - noexcept (true) __attribute__ ((__nonnull__ (1, 3, 4))); - - - - -extern char *strptime (const char *__restrict __s, - const char *__restrict __fmt, struct tm *__tp) - noexcept (true); - - - - - - -extern size_t strftime_l (char *__restrict __s, size_t __maxsize, - const char *__restrict __format, - const struct tm *__restrict __tp, - locale_t __loc) noexcept (true); - - - -extern char *strptime_l (const char *__restrict __s, - const char *__restrict __fmt, struct tm *__tp, - locale_t __loc) noexcept (true); - - - - - - -extern struct tm *gmtime (const time_t *__timer) noexcept (true); - - - -extern struct tm *localtime (const time_t *__timer) noexcept (true); -# 155 "/usr/include/time.h" 3 4 -extern struct tm *gmtime_r (const time_t *__restrict __timer, - struct tm *__restrict __tp) noexcept (true); - - - -extern struct tm *localtime_r (const time_t *__restrict __timer, - struct tm *__restrict __tp) noexcept (true); -# 180 "/usr/include/time.h" 3 4 -extern char *asctime (const struct tm *__tp) noexcept (true); - - - -extern char *ctime (const time_t *__timer) noexcept (true); -# 198 "/usr/include/time.h" 3 4 -extern char *asctime_r (const struct tm *__restrict __tp, - char *__restrict __buf) noexcept (true); - - - -extern char *ctime_r (const time_t *__restrict __timer, - char *__restrict __buf) noexcept (true); -# 218 "/usr/include/time.h" 3 4 -extern char *__tzname[2]; -extern int __daylight; -extern long int __timezone; - - - - -extern char *tzname[2]; - - - -extern void tzset (void) noexcept (true); - - - -extern int daylight; -extern long int timezone; -# 247 "/usr/include/time.h" 3 4 -extern time_t timegm (struct tm *__tp) noexcept (true); -# 264 "/usr/include/time.h" 3 4 -extern time_t timelocal (struct tm *__tp) noexcept (true); - - - - - - - -extern int dysize (int __year) noexcept (true) __attribute__ ((__const__)); -# 282 "/usr/include/time.h" 3 4 -extern int nanosleep (const struct timespec *__requested_time, - struct timespec *__remaining); - - -extern int clock_getres (clockid_t __clock_id, struct timespec *__res) noexcept (true); - - -extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) - noexcept (true) __attribute__ ((__nonnull__ (2))); - - -extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp) - noexcept (true) __attribute__ ((__nonnull__ (2))); -# 324 "/usr/include/time.h" 3 4 -extern int clock_nanosleep (clockid_t __clock_id, int __flags, - const struct timespec *__req, - struct timespec *__rem); -# 339 "/usr/include/time.h" 3 4 -extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) noexcept (true); - - - - -extern int timer_create (clockid_t __clock_id, - struct sigevent *__restrict __evp, - timer_t *__restrict __timerid) noexcept (true); - - -extern int timer_delete (timer_t __timerid) noexcept (true); - - - -extern int timer_settime (timer_t __timerid, int __flags, - const struct itimerspec *__restrict __value, - struct itimerspec *__restrict __ovalue) noexcept (true); - - -extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) - noexcept (true); -# 377 "/usr/include/time.h" 3 4 -extern int timer_getoverrun (timer_t __timerid) noexcept (true); - - - - - - -extern int timespec_get (struct timespec *__ts, int __base) - noexcept (true) __attribute__ ((__nonnull__ (1))); -# 400 "/usr/include/time.h" 3 4 -extern int timespec_getres (struct timespec *__ts, int __base) - noexcept (true); -# 426 "/usr/include/time.h" 3 4 -extern int getdate_err; -# 435 "/usr/include/time.h" 3 4 -extern struct tm *getdate (const char *__string); -# 449 "/usr/include/time.h" 3 4 -extern int getdate_r (const char *__restrict __string, - struct tm *__restrict __resbufp); - - -} -# 24 "/usr/include/pthread.h" 2 3 4 - - -# 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 -# 23 "/usr/include/bits/pthreadtypes.h" 3 4 -# 1 "/usr/include/bits/thread-shared-types.h" 1 3 4 -# 44 "/usr/include/bits/thread-shared-types.h" 3 4 -# 1 "/usr/include/bits/pthreadtypes-arch.h" 1 3 4 -# 21 "/usr/include/bits/pthreadtypes-arch.h" 3 4 -# 1 "/usr/include/bits/wordsize.h" 1 3 4 -# 22 "/usr/include/bits/pthreadtypes-arch.h" 2 3 4 -# 45 "/usr/include/bits/thread-shared-types.h" 2 3 4 - -# 1 "/usr/include/bits/atomic_wide_counter.h" 1 3 4 -# 25 "/usr/include/bits/atomic_wide_counter.h" 3 4 -typedef union -{ - __extension__ unsigned long long int __value64; - struct - { - unsigned int __low; - unsigned int __high; - } __value32; -} __atomic_wide_counter; -# 47 "/usr/include/bits/thread-shared-types.h" 2 3 4 - - - - -typedef struct __pthread_internal_list -{ - struct __pthread_internal_list *__prev; - struct __pthread_internal_list *__next; -} __pthread_list_t; - -typedef struct __pthread_internal_slist -{ - struct __pthread_internal_slist *__next; -} __pthread_slist_t; -# 76 "/usr/include/bits/thread-shared-types.h" 3 4 -# 1 "/usr/include/bits/struct_mutex.h" 1 3 4 -# 22 "/usr/include/bits/struct_mutex.h" 3 4 -struct __pthread_mutex_s -{ - int __lock; - unsigned int __count; - int __owner; - - unsigned int __nusers; - - - - int __kind; - - short __spins; - short __elision; - __pthread_list_t __list; -# 53 "/usr/include/bits/struct_mutex.h" 3 4 -}; -# 77 "/usr/include/bits/thread-shared-types.h" 2 3 4 -# 89 "/usr/include/bits/thread-shared-types.h" 3 4 -# 1 "/usr/include/bits/struct_rwlock.h" 1 3 4 -# 23 "/usr/include/bits/struct_rwlock.h" 3 4 -struct __pthread_rwlock_arch_t -{ - unsigned int __readers; - unsigned int __writers; - unsigned int __wrphase_futex; - unsigned int __writers_futex; - unsigned int __pad3; - unsigned int __pad4; - - int __cur_writer; - int __shared; - signed char __rwelision; - - - - - unsigned char __pad1[7]; - - - unsigned long int __pad2; - - - unsigned int __flags; -# 55 "/usr/include/bits/struct_rwlock.h" 3 4 -}; -# 90 "/usr/include/bits/thread-shared-types.h" 2 3 4 - - - - -struct __pthread_cond_s -{ - __atomic_wide_counter __wseq; - __atomic_wide_counter __g1_start; - unsigned int __g_refs[2] ; - unsigned int __g_size[2]; - unsigned int __g1_orig_size; - unsigned int __wrefs; - unsigned int __g_signals[2]; -}; - -typedef unsigned int __tss_t; -typedef unsigned long int __thrd_t; - -typedef struct -{ - int __data ; -} __once_flag; -# 24 "/usr/include/bits/pthreadtypes.h" 2 3 4 - - - -typedef unsigned long int pthread_t; - - - - -typedef union -{ - char __size[4]; - int __align; -} pthread_mutexattr_t; - - - - -typedef union -{ - char __size[4]; - int __align; -} pthread_condattr_t; - - - -typedef unsigned int pthread_key_t; - - - -typedef int pthread_once_t; - - -union pthread_attr_t -{ - char __size[56]; - long int __align; -}; - -typedef union pthread_attr_t pthread_attr_t; - - - - -typedef union -{ - struct __pthread_mutex_s __data; - char __size[40]; - long int __align; -} pthread_mutex_t; - - -typedef union -{ - struct __pthread_cond_s __data; - char __size[48]; - __extension__ long long int __align; -} pthread_cond_t; - - - - - -typedef union -{ - struct __pthread_rwlock_arch_t __data; - char __size[56]; - long int __align; -} pthread_rwlock_t; - -typedef union -{ - char __size[8]; - long int __align; -} pthread_rwlockattr_t; - - - - - -typedef volatile int pthread_spinlock_t; - - - - -typedef union -{ - char __size[32]; - long int __align; -} pthread_barrier_t; - -typedef union -{ - char __size[4]; - int __align; -} pthread_barrierattr_t; -# 27 "/usr/include/pthread.h" 2 3 4 -# 1 "/usr/include/bits/setjmp.h" 1 3 4 -# 26 "/usr/include/bits/setjmp.h" 3 4 -# 1 "/usr/include/bits/wordsize.h" 1 3 4 -# 27 "/usr/include/bits/setjmp.h" 2 3 4 - - - - -typedef long int __jmp_buf[8]; -# 28 "/usr/include/pthread.h" 2 3 4 -# 1 "/usr/include/bits/wordsize.h" 1 3 4 -# 29 "/usr/include/pthread.h" 2 3 4 - -# 1 "/usr/include/bits/types/__sigset_t.h" 1 3 4 - - - - -typedef struct -{ - unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; -} __sigset_t; -# 31 "/usr/include/pthread.h" 2 3 4 -# 1 "/usr/include/bits/types/struct___jmp_buf_tag.h" 1 3 4 -# 26 "/usr/include/bits/types/struct___jmp_buf_tag.h" 3 4 -struct __jmp_buf_tag - { - - - - - __jmp_buf __jmpbuf; - int __mask_was_saved; - __sigset_t __saved_mask; - }; -# 32 "/usr/include/pthread.h" 2 3 4 - -# 1 "/usr/include/bits/pthread_stack_min-dynamic.h" 1 3 4 -# 23 "/usr/include/bits/pthread_stack_min-dynamic.h" 3 4 -extern "C" { -extern long int __sysconf (int __name) noexcept (true); -} -# 34 "/usr/include/pthread.h" 2 3 4 - - - -enum -{ - PTHREAD_CREATE_JOINABLE, - - PTHREAD_CREATE_DETACHED - -}; - - - -enum -{ - PTHREAD_MUTEX_TIMED_NP, - PTHREAD_MUTEX_RECURSIVE_NP, - PTHREAD_MUTEX_ERRORCHECK_NP, - PTHREAD_MUTEX_ADAPTIVE_NP - - , - PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP, - PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP, - PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP, - PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL - - - - , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP - -}; - - - - -enum -{ - PTHREAD_MUTEX_STALLED, - PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED, - PTHREAD_MUTEX_ROBUST, - PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST -}; - - - - - -enum -{ - PTHREAD_PRIO_NONE, - PTHREAD_PRIO_INHERIT, - PTHREAD_PRIO_PROTECT -}; -# 104 "/usr/include/pthread.h" 3 4 -enum -{ - PTHREAD_RWLOCK_PREFER_READER_NP, - PTHREAD_RWLOCK_PREFER_WRITER_NP, - PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, - PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP -}; -# 124 "/usr/include/pthread.h" 3 4 -enum -{ - PTHREAD_INHERIT_SCHED, - - PTHREAD_EXPLICIT_SCHED - -}; - - - -enum -{ - PTHREAD_SCOPE_SYSTEM, - - PTHREAD_SCOPE_PROCESS - -}; - - - -enum -{ - PTHREAD_PROCESS_PRIVATE, - - PTHREAD_PROCESS_SHARED - -}; -# 159 "/usr/include/pthread.h" 3 4 -struct _pthread_cleanup_buffer -{ - void (*__routine) (void *); - void *__arg; - int __canceltype; - struct _pthread_cleanup_buffer *__prev; -}; - - -enum -{ - PTHREAD_CANCEL_ENABLE, - - PTHREAD_CANCEL_DISABLE - -}; -enum -{ - PTHREAD_CANCEL_DEFERRED, - - PTHREAD_CANCEL_ASYNCHRONOUS - -}; -# 197 "/usr/include/pthread.h" 3 4 -extern "C" { - - - - -extern int pthread_create (pthread_t *__restrict __newthread, - const pthread_attr_t *__restrict __attr, - void *(*__start_routine) (void *), - void *__restrict __arg) noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - - - - - -extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__)); - - - - - - - -extern int pthread_join (pthread_t __th, void **__thread_return); - - - - -extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) noexcept (true); -# 233 "/usr/include/pthread.h" 3 4 -extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return, - const struct timespec *__abstime); -# 243 "/usr/include/pthread.h" 3 4 -extern int pthread_clockjoin_np (pthread_t __th, void **__thread_return, - clockid_t __clockid, - const struct timespec *__abstime); -# 269 "/usr/include/pthread.h" 3 4 -extern int pthread_detach (pthread_t __th) noexcept (true); - - - -extern pthread_t pthread_self (void) noexcept (true) __attribute__ ((__const__)); - - -extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) - noexcept (true) __attribute__ ((__const__)); - - - - - - - -extern int pthread_attr_init (pthread_attr_t *__attr) noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_attr_destroy (pthread_attr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_attr_getdetachstate (const pthread_attr_t *__attr, - int *__detachstate) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_attr_setdetachstate (pthread_attr_t *__attr, - int __detachstate) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_attr_getguardsize (const pthread_attr_t *__attr, - size_t *__guardsize) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_attr_setguardsize (pthread_attr_t *__attr, - size_t __guardsize) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_attr_getschedparam (const pthread_attr_t *__restrict __attr, - struct sched_param *__restrict __param) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr, - const struct sched_param *__restrict - __param) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_attr_getschedpolicy (const pthread_attr_t *__restrict - __attr, int *__restrict __policy) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_attr_getinheritsched (const pthread_attr_t *__restrict - __attr, int *__restrict __inherit) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_attr_setinheritsched (pthread_attr_t *__attr, - int __inherit) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_attr_getscope (const pthread_attr_t *__restrict __attr, - int *__restrict __scope) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_attr_getstackaddr (const pthread_attr_t *__restrict - __attr, void **__restrict __stackaddr) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__)); - - - - - -extern int pthread_attr_setstackaddr (pthread_attr_t *__attr, - void *__stackaddr) - noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)); - - -extern int pthread_attr_getstacksize (const pthread_attr_t *__restrict - __attr, size_t *__restrict __stacksize) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - - - -extern int pthread_attr_setstacksize (pthread_attr_t *__attr, - size_t __stacksize) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_attr_getstack (const pthread_attr_t *__restrict __attr, - void **__restrict __stackaddr, - size_t *__restrict __stacksize) - noexcept (true) __attribute__ ((__nonnull__ (1, 2, 3))); - - - - -extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr, - size_t __stacksize) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - -extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr, - size_t __cpusetsize, - const cpu_set_t *__cpuset) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - - - -extern int pthread_attr_getaffinity_np (const pthread_attr_t *__attr, - size_t __cpusetsize, - cpu_set_t *__cpuset) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - - -extern int pthread_getattr_default_np (pthread_attr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_attr_setsigmask_np (pthread_attr_t *__attr, - const __sigset_t *sigmask); - - - - -extern int pthread_attr_getsigmask_np (const pthread_attr_t *__attr, - __sigset_t *sigmask); - - - - - - - -extern int pthread_setattr_default_np (const pthread_attr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - -extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (2))); - - - - - - - -extern int pthread_setschedparam (pthread_t __target_thread, int __policy, - const struct sched_param *__param) - noexcept (true) __attribute__ ((__nonnull__ (3))); - - -extern int pthread_getschedparam (pthread_t __target_thread, - int *__restrict __policy, - struct sched_param *__restrict __param) - noexcept (true) __attribute__ ((__nonnull__ (2, 3))); - - -extern int pthread_setschedprio (pthread_t __target_thread, int __prio) - noexcept (true); - - - - -extern int pthread_getname_np (pthread_t __target_thread, char *__buf, - size_t __buflen) - noexcept (true) __attribute__ ((__nonnull__ (2))); - - -extern int pthread_setname_np (pthread_t __target_thread, const char *__name) - noexcept (true) __attribute__ ((__nonnull__ (2))); - - - - - -extern int pthread_getconcurrency (void) noexcept (true); - - -extern int pthread_setconcurrency (int __level) noexcept (true); - - - -extern int pthread_yield (void) noexcept (true); - -extern int pthread_yield (void) noexcept (true) __asm__ ("" "sched_yield") - __attribute__ ((__deprecated__ ("pthread_yield is deprecated, use sched_yield instead"))) - ; - - - - - - - -extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize, - const cpu_set_t *__cpuset) - noexcept (true) __attribute__ ((__nonnull__ (3))); - - -extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize, - cpu_set_t *__cpuset) - noexcept (true) __attribute__ ((__nonnull__ (3))); -# 509 "/usr/include/pthread.h" 3 4 -extern int pthread_once (pthread_once_t *__once_control, - void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2))); -# 521 "/usr/include/pthread.h" 3 4 -extern int pthread_setcancelstate (int __state, int *__oldstate); - - - -extern int pthread_setcanceltype (int __type, int *__oldtype); - - -extern int pthread_cancel (pthread_t __th); - - - - -extern void pthread_testcancel (void); - - - - -struct __cancel_jmp_buf_tag -{ - __jmp_buf __cancel_jmp_buf; - int __mask_was_saved; -}; - -typedef struct -{ - struct __cancel_jmp_buf_tag __cancel_jmp_buf[1]; - void *__pad[4]; -} __pthread_unwind_buf_t __attribute__ ((__aligned__)); -# 557 "/usr/include/pthread.h" 3 4 -struct __pthread_cleanup_frame -{ - void (*__cancel_routine) (void *); - void *__cancel_arg; - int __do_it; - int __cancel_type; -}; - - - - -class __pthread_cleanup_class -{ - void (*__cancel_routine) (void *); - void *__cancel_arg; - int __do_it; - int __cancel_type; - - public: - __pthread_cleanup_class (void (*__fct) (void *), void *__arg) - : __cancel_routine (__fct), __cancel_arg (__arg), __do_it (1) { } - ~__pthread_cleanup_class () { if (__do_it) __cancel_routine (__cancel_arg); } - void __setdoit (int __newval) { __do_it = __newval; } - void __defer () { pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED, - &__cancel_type); } - void __restore () const { pthread_setcanceltype (__cancel_type, 0); } -}; -# 766 "/usr/include/pthread.h" 3 4 -extern int __sigsetjmp_cancel (struct __cancel_jmp_buf_tag __env[1], int __savemask) noexcept (true) __asm__ ("" "__sigsetjmp") - - - __attribute__ ((__returns_twice__)); -# 781 "/usr/include/pthread.h" 3 4 -extern int pthread_mutex_init (pthread_mutex_t *__mutex, - const pthread_mutexattr_t *__mutexattr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_mutex_destroy (pthread_mutex_t *__mutex) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_mutex_trylock (pthread_mutex_t *__mutex) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_mutex_lock (pthread_mutex_t *__mutex) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - -extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex, - const struct timespec *__restrict - __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); -# 817 "/usr/include/pthread.h" 3 4 -extern int pthread_mutex_clocklock (pthread_mutex_t *__restrict __mutex, - clockid_t __clockid, - const struct timespec *__restrict - __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3))); -# 835 "/usr/include/pthread.h" 3 4 -extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_mutex_getprioceiling (const pthread_mutex_t * - __restrict __mutex, - int *__restrict __prioceiling) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - - -extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex, - int __prioceiling, - int *__restrict __old_ceiling) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - - - - -extern int pthread_mutex_consistent (pthread_mutex_t *__mutex) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_mutex_consistent_np (pthread_mutex_t *) noexcept (true) __asm__ ("" "pthread_mutex_consistent") - __attribute__ ((__nonnull__ (1))) - __attribute__ ((__deprecated__ ("pthread_mutex_consistent_np is deprecated, use pthread_mutex_consistent"))) - ; -# 874 "/usr/include/pthread.h" 3 4 -extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_mutexattr_getpshared (const pthread_mutexattr_t * - __restrict __attr, - int *__restrict __pshared) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr, - int __pshared) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_mutexattr_gettype (const pthread_mutexattr_t *__restrict - __attr, int *__restrict __kind) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - - - -extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_mutexattr_getprotocol (const pthread_mutexattr_t * - __restrict __attr, - int *__restrict __protocol) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - - -extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr, - int __protocol) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t * - __restrict __attr, - int *__restrict __prioceiling) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr, - int __prioceiling) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_mutexattr_getrobust (const pthread_mutexattr_t *__attr, - int *__robustness) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_mutexattr_getrobust_np (pthread_mutexattr_t *, int *) noexcept (true) __asm__ ("" "pthread_mutexattr_getrobust") - - __attribute__ ((__nonnull__ (1))) - __attribute__ ((__deprecated__ ("pthread_mutexattr_getrobust_np is deprecated, use pthread_mutexattr_getrobust"))) - ; - - - - - - -extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr, - int __robustness) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *, int) noexcept (true) __asm__ ("" "pthread_mutexattr_setrobust") - - __attribute__ ((__nonnull__ (1))) - __attribute__ ((__deprecated__ ("pthread_mutexattr_setrobust_np is deprecated, use pthread_mutexattr_setrobust"))) - ; -# 967 "/usr/include/pthread.h" 3 4 -extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock, - const pthread_rwlockattr_t *__restrict - __attr) noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - -extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock, - const struct timespec *__restrict - __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); -# 1004 "/usr/include/pthread.h" 3 4 -extern int pthread_rwlock_clockrdlock (pthread_rwlock_t *__restrict __rwlock, - clockid_t __clockid, - const struct timespec *__restrict - __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3))); -# 1023 "/usr/include/pthread.h" 3 4 -extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - -extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock, - const struct timespec *__restrict - __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); -# 1051 "/usr/include/pthread.h" 3 4 -extern int pthread_rwlock_clockwrlock (pthread_rwlock_t *__restrict __rwlock, - clockid_t __clockid, - const struct timespec *__restrict - __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3))); -# 1071 "/usr/include/pthread.h" 3 4 -extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - -extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t * - __restrict __attr, - int *__restrict __pshared) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr, - int __pshared) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_rwlockattr_getkind_np (const pthread_rwlockattr_t * - __restrict __attr, - int *__restrict __pref) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr, - int __pref) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - - - -extern int pthread_cond_init (pthread_cond_t *__restrict __cond, - const pthread_condattr_t *__restrict __cond_attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_cond_destroy (pthread_cond_t *__cond) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_cond_signal (pthread_cond_t *__cond) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_cond_broadcast (pthread_cond_t *__cond) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - - -extern int pthread_cond_wait (pthread_cond_t *__restrict __cond, - pthread_mutex_t *__restrict __mutex) - __attribute__ ((__nonnull__ (1, 2))); -# 1145 "/usr/include/pthread.h" 3 4 -extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond, - pthread_mutex_t *__restrict __mutex, - const struct timespec *__restrict __abstime) - __attribute__ ((__nonnull__ (1, 2, 3))); -# 1171 "/usr/include/pthread.h" 3 4 -extern int pthread_cond_clockwait (pthread_cond_t *__restrict __cond, - pthread_mutex_t *__restrict __mutex, - __clockid_t __clock_id, - const struct timespec *__restrict __abstime) - __attribute__ ((__nonnull__ (1, 2, 4))); -# 1194 "/usr/include/pthread.h" 3 4 -extern int pthread_condattr_init (pthread_condattr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_condattr_destroy (pthread_condattr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_condattr_getpshared (const pthread_condattr_t * - __restrict __attr, - int *__restrict __pshared) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_condattr_setpshared (pthread_condattr_t *__attr, - int __pshared) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_condattr_getclock (const pthread_condattr_t * - __restrict __attr, - __clockid_t *__restrict __clock_id) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_condattr_setclock (pthread_condattr_t *__attr, - __clockid_t __clock_id) - noexcept (true) __attribute__ ((__nonnull__ (1))); -# 1230 "/usr/include/pthread.h" 3 4 -extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_spin_destroy (pthread_spinlock_t *__lock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_spin_lock (pthread_spinlock_t *__lock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_spin_trylock (pthread_spinlock_t *__lock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_spin_unlock (pthread_spinlock_t *__lock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - - -extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier, - const pthread_barrierattr_t *__restrict - __attr, unsigned int __count) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_barrier_destroy (pthread_barrier_t *__barrier) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_barrier_wait (pthread_barrier_t *__barrier) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_barrierattr_getpshared (const pthread_barrierattr_t * - __restrict __attr, - int *__restrict __pshared) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr, - int __pshared) - noexcept (true) __attribute__ ((__nonnull__ (1))); -# 1297 "/usr/include/pthread.h" 3 4 -extern int pthread_key_create (pthread_key_t *__key, - void (*__destr_function) (void *)) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_key_delete (pthread_key_t __key) noexcept (true); - - -extern void *pthread_getspecific (pthread_key_t __key) noexcept (true); - - -extern int pthread_setspecific (pthread_key_t __key, - const void *__pointer) - noexcept (true) __attribute__ ((__access__ (__none__, 2))); - - - - -extern int pthread_getcpuclockid (pthread_t __thread_id, - __clockid_t *__clock_id) - noexcept (true) __attribute__ ((__nonnull__ (2))); -# 1332 "/usr/include/pthread.h" 3 4 -extern int pthread_atfork (void (*__prepare) (void), - void (*__parent) (void), - void (*__child) (void)) noexcept (true); -# 1346 "/usr/include/pthread.h" 3 4 -} -# 36 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h" 2 3 -# 47 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/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; -# 108 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h" 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# 312 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h" 3 -static inline int -__gthread_active_p (void) -{ - return 1; -} -# 672 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/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; -} -# 821 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/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); -} -# 863 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/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); -} -# 158 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr.h" 2 3 - - -#pragma GCC visibility pop -# 36 "/usr/include/c++/14.1.1/ext/atomicity.h" 2 3 -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/atomic_word.h" 1 3 -# 32 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/atomic_word.h" 3 -typedef int _Atomic_word; -# 37 "/usr/include/c++/14.1.1/ext/atomicity.h" 2 3 - -# 1 "/usr/include/sys/single_threaded.h" 1 3 4 -# 24 "/usr/include/sys/single_threaded.h" 3 4 -extern "C" { - - - - -extern char __libc_single_threaded; - -} -# 39 "/usr/include/c++/14.1.1/ext/atomicity.h" 2 3 - - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - - - __attribute__((__always_inline__)) - inline bool - __is_single_threaded() noexcept - { - - - - return ::__libc_single_threaded; - - - - } - - - - - - - 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/include/c++/14.1.1/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/include/c++/14.1.1/bits/ios_base.h" 2 3 - -# 1 "/usr/include/c++/14.1.1/bits/locale_classes.h" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - -# 38 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - - -# 1 "/usr/include/c++/14.1.1/string" 1 3 -# 36 "/usr/include/c++/14.1.1/string" 3 - -# 37 "/usr/include/c++/14.1.1/string" 3 - - - - - - -# 1 "/usr/include/c++/14.1.1/bits/allocator.h" 1 3 -# 46 "/usr/include/c++/14.1.1/bits/allocator.h" 3 -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h" 1 3 -# 33 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h" 3 -# 1 "/usr/include/c++/14.1.1/bits/new_allocator.h" 1 3 -# 35 "/usr/include/c++/14.1.1/bits/new_allocator.h" 3 -# 1 "/usr/include/c++/14.1.1/bits/functexcept.h" 1 3 -# 42 "/usr/include/c++/14.1.1/bits/functexcept.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - 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__,__cold__)); - - void - __throw_bad_typeid(void) __attribute__((__noreturn__,__cold__)); - - - void - __throw_logic_error(const char*) __attribute__((__noreturn__,__cold__)); - - void - __throw_domain_error(const char*) __attribute__((__noreturn__,__cold__)); - - void - __throw_invalid_argument(const char*) __attribute__((__noreturn__,__cold__)); - - void - __throw_length_error(const char*) __attribute__((__noreturn__,__cold__)); - - void - __throw_out_of_range(const char*) __attribute__((__noreturn__,__cold__)); - - void - __throw_out_of_range_fmt(const char*, ...) __attribute__((__noreturn__,__cold__)) - __attribute__((__format__(__gnu_printf__, 1, 2))); - - void - __throw_runtime_error(const char*) __attribute__((__noreturn__,__cold__)); - - void - __throw_range_error(const char*) __attribute__((__noreturn__,__cold__)); - - void - __throw_overflow_error(const char*) __attribute__((__noreturn__,__cold__)); - - void - __throw_underflow_error(const char*) __attribute__((__noreturn__,__cold__)); - - - void - __throw_ios_failure(const char*) __attribute__((__noreturn__,__cold__)); - - void - __throw_ios_failure(const char*, int) __attribute__((__noreturn__,__cold__)); - - - void - __throw_system_error(int) __attribute__((__noreturn__,__cold__)); - - - void - __throw_future_error(int) __attribute__((__noreturn__,__cold__)); - - - void - __throw_bad_function_call() __attribute__((__noreturn__,__cold__)); -# 140 "/usr/include/c++/14.1.1/bits/functexcept.h" 3 - -} -# 36 "/usr/include/c++/14.1.1/bits/new_allocator.h" 2 3 - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 62 "/usr/include/c++/14.1.1/bits/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; -# 83 "/usr/include/c++/14.1.1/bits/new_allocator.h" 3 - typedef std::true_type propagate_on_container_move_assignment; - - - __attribute__((__always_inline__)) - constexpr - __new_allocator() noexcept { } - - __attribute__((__always_inline__)) - constexpr - __new_allocator(const __new_allocator&) noexcept { } - - template - __attribute__((__always_inline__)) - constexpr - __new_allocator(const __new_allocator<_Tp1>&) noexcept { } - - - __new_allocator& operator=(const __new_allocator&) = default; -# 125 "/usr/include/c++/14.1.1/bits/new_allocator.h" 3 - [[__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 __n __attribute__ ((__unused__))) - { - - - - - - - - if (alignof(_Tp) > 16) - { - ::operator delete((__p), (__n) * sizeof(_Tp), - std::align_val_t(alignof(_Tp))); - return; - } - - ::operator delete((__p), (__n) * sizeof(_Tp)); - } -# 213 "/usr/include/c++/14.1.1/bits/new_allocator.h" 3 - template - friend __attribute__((__always_inline__)) constexpr bool - operator==(const __new_allocator&, const __new_allocator<_Up>&) - noexcept - { return true; } -# 227 "/usr/include/c++/14.1.1/bits/new_allocator.h" 3 - private: - __attribute__((__always_inline__)) - constexpr size_type - _M_max_size() const noexcept - { - - return std::size_t(0x7fffffffffffffffL) / sizeof(_Tp); - - - - } - }; - - -} -# 34 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h" 2 3 - - -namespace std -{ -# 46 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h" 3 - template - using __allocator_base = __new_allocator<_Tp>; -} -# 47 "/usr/include/c++/14.1.1/bits/allocator.h" 2 3 - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 72 "/usr/include/c++/14.1.1/bits/allocator.h" 3 - template<> - class allocator - { - public: - typedef void value_type; - typedef size_t size_type; - typedef ptrdiff_t difference_type; -# 93 "/usr/include/c++/14.1.1/bits/allocator.h" 3 - using propagate_on_container_move_assignment = true_type; - - using is_always_equal - __attribute__ ((__deprecated__ ("use '" "std::allocator_traits::is_always_equal" "' instead"))) - = true_type; - - - - - allocator() = default; - ~allocator() = default; - - template - __attribute__((__always_inline__)) - constexpr - allocator(const allocator<_Up>&) noexcept { } - - - - - - - }; -# 127 "/usr/include/c++/14.1.1/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; -# 150 "/usr/include/c++/14.1.1/bits/allocator.h" 3 - using propagate_on_container_move_assignment = true_type; - - using is_always_equal - __attribute__ ((__deprecated__ ("use '" "std::allocator_traits::is_always_equal" "' instead"))) - = true_type; - - - - - __attribute__((__always_inline__)) - constexpr - allocator() noexcept { } - - __attribute__((__always_inline__)) - constexpr - allocator(const allocator& __a) noexcept - : __allocator_base<_Tp>(__a) { } - - - - allocator& operator=(const allocator&) = default; - - - template - __attribute__((__always_inline__)) - constexpr - allocator(const allocator<_Tp1>&) noexcept { } - - __attribute__((__always_inline__)) - - constexpr - - ~allocator() noexcept { } - - - [[nodiscard,__gnu__::__always_inline__]] - constexpr _Tp* - allocate(size_t __n) - { - if (std::__is_constant_evaluated()) - { - if (__builtin_mul_overflow(__n, sizeof(_Tp), &__n)) - std::__throw_bad_array_new_length(); - return static_cast<_Tp*>(::operator new(__n)); - } - - return __allocator_base<_Tp>::allocate(__n, 0); - } - - [[__gnu__::__always_inline__]] - constexpr void - deallocate(_Tp* __p, size_t __n) - { - if (std::__is_constant_evaluated()) - { - ::operator delete(__p); - return; - } - __allocator_base<_Tp>::deallocate(__p, __n); - } - - - friend __attribute__((__always_inline__)) constexpr - bool - operator==(const allocator&, const allocator&) noexcept - { return true; } -# 225 "/usr/include/c++/14.1.1/bits/allocator.h" 3 - }; - - - - - - - template - __attribute__((__always_inline__)) - inline constexpr bool - operator==(const allocator<_T1>&, const allocator<_T2>&) - noexcept - { return true; } -# 252 "/usr/include/c++/14.1.1/bits/allocator.h" 3 - template - class allocator - { - public: - typedef _Tp value_type; - allocator() { } - template allocator(const allocator<_Up>&) { } - }; - - template - class allocator - { - public: - typedef _Tp value_type; - allocator() { } - template allocator(const allocator<_Up>&) { } - }; - - template - class allocator - { - public: - typedef _Tp value_type; - allocator() { } - template allocator(const allocator<_Up>&) { } - }; - - - - - - - - extern template class allocator; - extern template class allocator; - - - - - - -} -# 44 "/usr/include/c++/14.1.1/string" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/cpp_type_traits.h" 1 3 -# 35 "/usr/include/c++/14.1.1/bits/cpp_type_traits.h" 3 - -# 36 "/usr/include/c++/14.1.1/bits/cpp_type_traits.h" 3 -# 67 "/usr/include/c++/14.1.1/bits/cpp_type_traits.h" 3 -extern "C++" { - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - 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; - }; - - - - 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; - }; - - template<> - struct __is_integer - { - enum { __value = 1 }; - typedef __true_type __type; - }; -# 272 "/usr/include/c++/14.1.1/bits/cpp_type_traits.h" 3 -__extension__ template<> struct __is_integer<__int128> { enum { __value = 1 }; typedef __true_type __type; }; __extension__ template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; -# 289 "/usr/include/c++/14.1.1/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; - }; -# 366 "/usr/include/c++/14.1.1/bits/cpp_type_traits.h" 3 - 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; - }; - - - - template<> - struct __is_byte - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - - 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; - }; -# 579 "/usr/include/c++/14.1.1/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 - constexpr - inline _Iterator - __miter_base(_Iterator __it) - { return __it; } - - -} -} -# 45 "/usr/include/c++/14.1.1/string" 2 3 - -# 1 "/usr/include/c++/14.1.1/bits/ostream_insert.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/ostream_insert.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/ostream_insert.h" 3 - - -# 1 "/usr/include/c++/14.1.1/bits/cxxabi_forced.h" 1 3 -# 34 "/usr/include/c++/14.1.1/bits/cxxabi_forced.h" 3 - -# 35 "/usr/include/c++/14.1.1/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/include/c++/14.1.1/bits/ostream_insert.h" 2 3 - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - 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); - - - - - - -} -# 47 "/usr/include/c++/14.1.1/string" 2 3 - -# 1 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 1 3 -# 65 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 -# 1 "/usr/include/c++/14.1.1/ext/type_traits.h" 1 3 -# 32 "/usr/include/c++/14.1.1/ext/type_traits.h" 3 - -# 33 "/usr/include/c++/14.1.1/ext/type_traits.h" 3 - - - - -extern "C++" { - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - - - - 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 - constexpr - inline bool - __is_null_pointer(_Type* __ptr) - { return __ptr == 0; } - - template - constexpr - inline bool - __is_null_pointer(_Type) - { return false; } - - - constexpr 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; }; -# 225 "/usr/include/c++/14.1.1/ext/type_traits.h" 3 - template - using __promoted_t = decltype((typename __promote<_Tp>::__type(0) + ...)); - - - - template - using __promote_2 = __promote<__promoted_t<_Tp, _Up>>; - - template - using __promote_3 = __promote<__promoted_t<_Tp, _Up, _Vp>>; - - template - using __promote_4 = __promote<__promoted_t<_Tp, _Up, _Vp, _Wp>>; -# 269 "/usr/include/c++/14.1.1/ext/type_traits.h" 3 - -} -} -# 66 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 2 3 -# 85 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - - - namespace __detail - { - - - template - using __clamp_iter_cat - = __conditional_t, _Limit, _Otherwise>; - } - - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" -# 128 "/usr/include/c++/14.1.1/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; - - - - - template - static constexpr bool __convertible = !is_same_v<_Iter, _Iterator> - && convertible_to; - - - protected: - _Iterator current; - - typedef iterator_traits<_Iterator> __traits_type; - - public: - typedef _Iterator iterator_type; - typedef typename __traits_type::pointer pointer; - - - - - using iterator_concept - = __conditional_t, - random_access_iterator_tag, - bidirectional_iterator_tag>; - using iterator_category - = __detail::__clamp_iter_cat; - using value_type = iter_value_t<_Iterator>; - using difference_type = iter_difference_t<_Iterator>; - using reference = iter_reference_t<_Iterator>; -# 178 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - constexpr - reverse_iterator() - noexcept(noexcept(_Iterator())) - : current() - { } - - - - - explicit constexpr - reverse_iterator(iterator_type __x) - noexcept(noexcept(_Iterator(__x))) - : current(__x) - { } - - - - - constexpr - reverse_iterator(const reverse_iterator& __x) - noexcept(noexcept(_Iterator(__x.current))) - : current(__x.current) - { } - - - reverse_iterator& operator=(const reverse_iterator&) = default; - - - - - - - template - - requires __convertible<_Iter> - - constexpr - reverse_iterator(const reverse_iterator<_Iter>& __x) - noexcept(noexcept(_Iterator(__x.current))) - : current(__x.current) - { } - - - template - - requires __convertible<_Iter> - && assignable_from<_Iterator&, const _Iter&> - - constexpr - reverse_iterator& - operator=(const reverse_iterator<_Iter>& __x) - noexcept(noexcept(current = __x.current)) - { - current = __x.current; - return *this; - } - - - - - - [[__nodiscard__]] - constexpr iterator_type - base() const - noexcept(noexcept(_Iterator(current))) - { return current; } -# 255 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - [[__nodiscard__]] - constexpr reference - operator*() const - { - _Iterator __tmp = current; - return *--__tmp; - } - - - - - - - [[__nodiscard__]] - constexpr pointer - operator->() const - - requires is_pointer_v<_Iterator> - || requires(const _Iterator __i) { __i.operator->(); } - - { - - - _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; - } - - - - - - - [[__nodiscard__]] - constexpr reverse_iterator - operator+(difference_type __n) const - { return reverse_iterator(current - __n); } - - - - - - - - constexpr reverse_iterator& - operator+=(difference_type __n) - { - current -= __n; - return *this; - } - - - - - - - [[__nodiscard__]] - constexpr reverse_iterator - operator-(difference_type __n) const - { return reverse_iterator(current + __n); } - - - - - - - - constexpr reverse_iterator& - operator-=(difference_type __n) - { - current += __n; - return *this; - } - - - - - - - [[__nodiscard__]] - constexpr reference - operator[](difference_type __n) const - { return *(*this + __n); } - - - [[nodiscard]] - friend constexpr iter_rvalue_reference_t<_Iterator> - iter_move(const reverse_iterator& __i) - noexcept(is_nothrow_copy_constructible_v<_Iterator> - && noexcept(ranges::iter_move(--std::declval<_Iterator&>()))) - { - auto __tmp = __i.base(); - return ranges::iter_move(--__tmp); - } - - template _Iter2> - friend constexpr void - iter_swap(const reverse_iterator& __x, - const reverse_iterator<_Iter2>& __y) - noexcept(is_nothrow_copy_constructible_v<_Iterator> - && is_nothrow_copy_constructible_v<_Iter2> - && noexcept(ranges::iter_swap(--std::declval<_Iterator&>(), - --std::declval<_Iter2&>()))) - { - auto __xtmp = __x.base(); - auto __ytmp = __y.base(); - ranges::iter_swap(--__xtmp, --__ytmp); - } - - - private: - template - static constexpr _Tp* - _S_to_pointer(_Tp* __p) - { return __p; } - - template - static constexpr pointer - _S_to_pointer(_Tp __t) - { return __t.operator->(); } - }; -# 524 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - [[nodiscard]] - constexpr bool - operator==(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - requires requires { { __x.base() == __y.base() } -> convertible_to; } - { return __x.base() == __y.base(); } - - template - [[nodiscard]] - constexpr bool - operator!=(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - requires requires { { __x.base() != __y.base() } -> convertible_to; } - { return __x.base() != __y.base(); } - - template - [[nodiscard]] - constexpr bool - operator<(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - requires requires { { __x.base() > __y.base() } -> convertible_to; } - { return __x.base() > __y.base(); } - - template - [[nodiscard]] - constexpr bool - operator>(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - requires requires { { __x.base() < __y.base() } -> convertible_to; } - { return __x.base() < __y.base(); } - - template - [[nodiscard]] - constexpr bool - operator<=(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - requires requires { { __x.base() >= __y.base() } -> convertible_to; } - { return __x.base() >= __y.base(); } - - template - [[nodiscard]] - constexpr bool - operator>=(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - requires requires { { __x.base() <= __y.base() } -> convertible_to; } - { return __x.base() <= __y.base(); } - - template _IteratorR> - [[nodiscard]] - constexpr compare_three_way_result_t<_IteratorL, _IteratorR> - operator<=>(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - { return __y.base() <=> __x.base(); } - - - - - template - [[nodiscard]] - constexpr bool - operator==(const reverse_iterator<_Iterator>& __x, - const reverse_iterator<_Iterator>& __y) - requires requires { { __x.base() == __y.base() } -> convertible_to; } - { return __x.base() == __y.base(); } - - template - [[nodiscard]] - constexpr compare_three_way_result_t<_Iterator, _Iterator> - operator<=>(const reverse_iterator<_Iterator>& __x, - const reverse_iterator<_Iterator>& __y) - { return __y.base() <=> __x.base(); } -# 615 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - [[__nodiscard__]] - 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 - [[__nodiscard__]] - 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 - [[__nodiscard__]] - inline constexpr reverse_iterator<_Iterator> - make_reverse_iterator(_Iterator __i) - { return reverse_iterator<_Iterator>(__i); } - - - template - requires (!sized_sentinel_for<_Iterator1, _Iterator2>) - inline constexpr bool - disable_sized_sentinel_for, - reverse_iterator<_Iterator2>> = true; - - - - template - constexpr - 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 - constexpr - auto - __miter_base(reverse_iterator<_Iterator> __it) - -> decltype(__make_reverse_iterator(__miter_base(__it.base()))) - { return __make_reverse_iterator(__miter_base(__it.base())); } -# 688 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - class back_insert_iterator - : public iterator - { - protected: - _Container* container; - - public: - - typedef _Container container_type; - - using difference_type = ptrdiff_t; - - - - explicit constexpr - back_insert_iterator(_Container& __x) - : container(std::__addressof(__x)) { } -# 726 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - constexpr - back_insert_iterator& - operator=(const typename _Container::value_type& __value) - { - container->push_back(__value); - return *this; - } - - constexpr - back_insert_iterator& - operator=(typename _Container::value_type&& __value) - { - container->push_back(std::move(__value)); - return *this; - } - - - - [[__nodiscard__]] constexpr - back_insert_iterator& - operator*() - { return *this; } - - - constexpr - back_insert_iterator& - operator++() - { return *this; } - - - constexpr - back_insert_iterator - operator++(int) - { return *this; } - }; -# 773 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - [[__nodiscard__]] constexpr - inline back_insert_iterator<_Container> - back_inserter(_Container& __x) - { return back_insert_iterator<_Container>(__x); } -# 789 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - class front_insert_iterator - : public iterator - { - protected: - _Container* container; - - public: - - typedef _Container container_type; - - using difference_type = ptrdiff_t; - - - - explicit constexpr - front_insert_iterator(_Container& __x) - : container(std::__addressof(__x)) { } -# 827 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - constexpr - front_insert_iterator& - operator=(const typename _Container::value_type& __value) - { - container->push_front(__value); - return *this; - } - - constexpr - front_insert_iterator& - operator=(typename _Container::value_type&& __value) - { - container->push_front(std::move(__value)); - return *this; - } - - - - [[__nodiscard__]] constexpr - front_insert_iterator& - operator*() - { return *this; } - - - constexpr - front_insert_iterator& - operator++() - { return *this; } - - - constexpr - front_insert_iterator - operator++(int) - { return *this; } - }; -# 874 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - [[__nodiscard__]] constexpr - inline front_insert_iterator<_Container> - front_inserter(_Container& __x) - { return front_insert_iterator<_Container>(__x); } -# 894 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - class insert_iterator - : public iterator - { - - using _Iter = std::__detail::__range_iter_t<_Container>; - - - - protected: - _Container* container; - _Iter iter; - - public: - - typedef _Container container_type; - - - using difference_type = ptrdiff_t; - - - - - - - constexpr - insert_iterator(_Container& __x, _Iter __i) - : container(std::__addressof(__x)), iter(__i) {} -# 955 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - constexpr - insert_iterator& - operator=(const typename _Container::value_type& __value) - { - iter = container->insert(iter, __value); - ++iter; - return *this; - } - - constexpr - insert_iterator& - operator=(typename _Container::value_type&& __value) - { - iter = container->insert(iter, std::move(__value)); - ++iter; - return *this; - } - - - - [[__nodiscard__]] constexpr - insert_iterator& - operator*() - { return *this; } - - - constexpr - insert_iterator& - operator++() - { return *this; } - - - constexpr - insert_iterator& - operator++(int) - { return *this; } - }; - -#pragma GCC diagnostic pop -# 1008 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - [[nodiscard]] - constexpr insert_iterator<_Container> - inserter(_Container& __x, std::__detail::__range_iter_t<_Container> __i) - { return insert_iterator<_Container>(__x, __i); } -# 1023 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - -} - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - -# 1037 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - class __normal_iterator - { - protected: - _Iterator _M_current; - - typedef std::iterator_traits<_Iterator> __traits_type; - - - template - using __convertible_from - = std::__enable_if_t::value>; - - - 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; - - - using iterator_concept = std::__detail::__iter_concept<_Iterator>; - - - constexpr __normal_iterator() noexcept - : _M_current(_Iterator()) { } - - explicit constexpr - __normal_iterator(const _Iterator& __i) noexcept - : _M_current(__i) { } - - - - template> - constexpr - __normal_iterator(const __normal_iterator<_Iter, _Container>& __i) - noexcept -# 1085 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - : _M_current(__i.base()) { } - - - constexpr - reference - operator*() const noexcept - { return *_M_current; } - - constexpr - pointer - operator->() const noexcept - { return _M_current; } - - constexpr - __normal_iterator& - operator++() noexcept - { - ++_M_current; - return *this; - } - - constexpr - __normal_iterator - operator++(int) noexcept - { return __normal_iterator(_M_current++); } - - - constexpr - __normal_iterator& - operator--() noexcept - { - --_M_current; - return *this; - } - - constexpr - __normal_iterator - operator--(int) noexcept - { return __normal_iterator(_M_current--); } - - - constexpr - reference - operator[](difference_type __n) const noexcept - { return _M_current[__n]; } - - constexpr - __normal_iterator& - operator+=(difference_type __n) noexcept - { _M_current += __n; return *this; } - - constexpr - __normal_iterator - operator+(difference_type __n) const noexcept - { return __normal_iterator(_M_current + __n); } - - constexpr - __normal_iterator& - operator-=(difference_type __n) noexcept - { _M_current -= __n; return *this; } - - constexpr - __normal_iterator - operator-(difference_type __n) const noexcept - { return __normal_iterator(_M_current - __n); } - - constexpr - const _Iterator& - base() const noexcept - { return _M_current; } - }; -# 1166 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - [[nodiscard]] - constexpr bool - operator==(const __normal_iterator<_IteratorL, _Container>& __lhs, - const __normal_iterator<_IteratorR, _Container>& __rhs) - noexcept(noexcept(__lhs.base() == __rhs.base())) - requires requires { - { __lhs.base() == __rhs.base() } -> std::convertible_to; - } - { return __lhs.base() == __rhs.base(); } - - template - [[nodiscard]] - constexpr std::__detail::__synth3way_t<_IteratorR, _IteratorL> - operator<=>(const __normal_iterator<_IteratorL, _Container>& __lhs, - const __normal_iterator<_IteratorR, _Container>& __rhs) - noexcept(noexcept(std::__detail::__synth3way(__lhs.base(), __rhs.base()))) - { return std::__detail::__synth3way(__lhs.base(), __rhs.base()); } - - template - [[nodiscard]] - constexpr bool - operator==(const __normal_iterator<_Iterator, _Container>& __lhs, - const __normal_iterator<_Iterator, _Container>& __rhs) - noexcept(noexcept(__lhs.base() == __rhs.base())) - requires requires { - { __lhs.base() == __rhs.base() } -> std::convertible_to; - } - { return __lhs.base() == __rhs.base(); } - - template - [[nodiscard]] - constexpr std::__detail::__synth3way_t<_Iterator> - operator<=>(const __normal_iterator<_Iterator, _Container>& __lhs, - const __normal_iterator<_Iterator, _Container>& __rhs) - noexcept(noexcept(std::__detail::__synth3way(__lhs.base(), __rhs.base()))) - { return std::__detail::__synth3way(__lhs.base(), __rhs.base()); } -# 1307 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - - - [[__nodiscard__]] constexpr - 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 - [[__nodiscard__]] constexpr - 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 - [[__nodiscard__]] constexpr - 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 __attribute__ ((__visibility__ ("default"))) -{ - - - template - constexpr - _Iterator - __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it) - noexcept(std::is_nothrow_copy_constructible<_Iterator>::value) - { return __it.base(); } -# 1371 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - class move_sentinel - { - public: - constexpr - move_sentinel() - noexcept(is_nothrow_default_constructible_v<_Sent>) - : _M_last() { } - - constexpr explicit - move_sentinel(_Sent __s) - noexcept(is_nothrow_move_constructible_v<_Sent>) - : _M_last(std::move(__s)) { } - - template requires convertible_to - constexpr - move_sentinel(const move_sentinel<_S2>& __s) - noexcept(is_nothrow_constructible_v<_Sent, const _S2&>) - : _M_last(__s.base()) - { } - - template requires assignable_from<_Sent&, const _S2&> - constexpr move_sentinel& - operator=(const move_sentinel<_S2>& __s) - noexcept(is_nothrow_assignable_v<_Sent, const _S2&>) - { - _M_last = __s.base(); - return *this; - } - - [[nodiscard]] - constexpr _Sent - base() const - noexcept(is_nothrow_copy_constructible_v<_Sent>) - { return _M_last; } - - private: - _Sent _M_last; - }; - - - namespace __detail - { - - template - struct __move_iter_cat - { }; - - template - requires requires { typename __iter_category_t<_Iterator>; } - struct __move_iter_cat<_Iterator> - { - using iterator_category - = __clamp_iter_cat<__iter_category_t<_Iterator>, - random_access_iterator_tag>; - }; - - } -# 1439 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - class move_iterator - - : public __detail::__move_iter_cat<_Iterator> - - { - _Iterator _M_current; - - using __traits_type = iterator_traits<_Iterator>; - - - - - template - friend class move_iterator; - - - - - template - static constexpr bool __convertible = !is_same_v<_Iter2, _Iterator> - && convertible_to; - - - - static auto - _S_iter_concept() - { - if constexpr (random_access_iterator<_Iterator>) - return random_access_iterator_tag{}; - else if constexpr (bidirectional_iterator<_Iterator>) - return bidirectional_iterator_tag{}; - else if constexpr (forward_iterator<_Iterator>) - return forward_iterator_tag{}; - else - return input_iterator_tag{}; - } - - - public: - using iterator_type = _Iterator; - - - using iterator_concept = decltype(_S_iter_concept()); - - - using value_type = iter_value_t<_Iterator>; - using difference_type = iter_difference_t<_Iterator>; - using pointer = _Iterator; - using reference = iter_rvalue_reference_t<_Iterator>; -# 1503 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - constexpr - move_iterator() - : _M_current() { } - - explicit constexpr - move_iterator(iterator_type __i) - : _M_current(std::move(__i)) { } - - template - - requires __convertible<_Iter> - - constexpr - move_iterator(const move_iterator<_Iter>& __i) - : _M_current(__i._M_current) { } - - template - - requires __convertible<_Iter> - && assignable_from<_Iterator&, const _Iter&> - - constexpr - move_iterator& operator=(const move_iterator<_Iter>& __i) - { - _M_current = __i._M_current; - return *this; - } - - - - - - - - [[nodiscard]] - constexpr const iterator_type& - base() const & noexcept - { return _M_current; } - - [[nodiscard]] - constexpr iterator_type - base() && - { return std::move(_M_current); } - - - [[__nodiscard__]] - constexpr reference - operator*() const - - { return ranges::iter_move(_M_current); } - - - - - [[__nodiscard__]] - 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 void - operator++(int) requires (!forward_iterator<_Iterator>) - { ++_M_current; } - - - constexpr move_iterator& - operator--() - { - --_M_current; - return *this; - } - - constexpr move_iterator - operator--(int) - { - move_iterator __tmp = *this; - --_M_current; - return __tmp; - } - - [[__nodiscard__]] - 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; - } - - [[__nodiscard__]] - 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; - } - - [[__nodiscard__]] - constexpr reference - operator[](difference_type __n) const - - { return ranges::iter_move(_M_current + __n); } - - - - - - template _Sent> - [[nodiscard]] - friend constexpr bool - operator==(const move_iterator& __x, const move_sentinel<_Sent>& __y) - { return __x.base() == __y.base(); } - - template _Sent> - [[nodiscard]] - friend constexpr iter_difference_t<_Iterator> - operator-(const move_sentinel<_Sent>& __x, const move_iterator& __y) - { return __x.base() - __y.base(); } - - template _Sent> - [[nodiscard]] - friend constexpr iter_difference_t<_Iterator> - operator-(const move_iterator& __x, const move_sentinel<_Sent>& __y) - { return __x.base() - __y.base(); } - - [[nodiscard]] - friend constexpr iter_rvalue_reference_t<_Iterator> - iter_move(const move_iterator& __i) - noexcept(noexcept(ranges::iter_move(__i._M_current))) - { return ranges::iter_move(__i._M_current); } - - template _Iter2> - friend constexpr void - iter_swap(const move_iterator& __x, const move_iterator<_Iter2>& __y) - noexcept(noexcept(ranges::iter_swap(__x._M_current, __y._M_current))) - { return ranges::iter_swap(__x._M_current, __y._M_current); } - - }; - - template - [[__nodiscard__]] - inline constexpr bool - operator==(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - - requires requires { { __x.base() == __y.base() } -> convertible_to; } - - { return __x.base() == __y.base(); } - - - template _IteratorR> - [[__nodiscard__]] - constexpr compare_three_way_result_t<_IteratorL, _IteratorR> - operator<=>(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - { return __x.base() <=> __y.base(); } -# 1691 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - [[__nodiscard__]] - inline constexpr bool - operator<(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - - requires requires { { __x.base() < __y.base() } -> convertible_to; } - - { return __x.base() < __y.base(); } - - template - [[__nodiscard__]] - inline constexpr bool - operator<=(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - - requires requires { { __y.base() < __x.base() } -> convertible_to; } - - { return !(__y < __x); } - - template - [[__nodiscard__]] - inline constexpr bool - operator>(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - - requires requires { { __y.base() < __x.base() } -> convertible_to; } - - { return __y < __x; } - - template - [[__nodiscard__]] - inline constexpr bool - operator>=(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - - requires requires { { __x.base() < __y.base() } -> convertible_to; } - - { return !(__x < __y); } - - - - - template - [[__nodiscard__]] - inline constexpr bool - operator==(const move_iterator<_Iterator>& __x, - const move_iterator<_Iterator>& __y) - { return __x.base() == __y.base(); } - - - template - [[__nodiscard__]] - constexpr compare_three_way_result_t<_Iterator> - operator<=>(const move_iterator<_Iterator>& __x, - const move_iterator<_Iterator>& __y) - { return __x.base() <=> __y.base(); } -# 1786 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - [[__nodiscard__]] - 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 - [[__nodiscard__]] - inline constexpr move_iterator<_Iterator> - operator+(typename move_iterator<_Iterator>::difference_type __n, - const move_iterator<_Iterator>& __x) - { return __x + __n; } - - template - [[__nodiscard__]] - 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>>> - inline constexpr _ReturnType - __make_move_if_noexcept_iterator(_Iterator __i) - { return _ReturnType(__i); } - - - - template::value, - const _Tp*, move_iterator<_Tp*>>> - inline constexpr _ReturnType - __make_move_if_noexcept_iterator(_Tp* __i) - { return _ReturnType(__i); } - - - - - namespace __detail - { - template - concept __common_iter_has_arrow = indirectly_readable - && (requires(const _It& __it) { __it.operator->(); } - || is_reference_v> - || constructible_from, iter_reference_t<_It>>); - - template - concept __common_iter_use_postfix_proxy - = (!requires (_It& __i) { { *__i++ } -> __can_reference; }) - && constructible_from, iter_reference_t<_It>> - && move_constructible>; - } - - - template _Sent> - requires (!same_as<_It, _Sent>) && copyable<_It> - class common_iterator - { - template - static constexpr bool - _S_noexcept1() - { - if constexpr (is_trivially_default_constructible_v<_Tp>) - return is_nothrow_assignable_v<_Tp&, _Up>; - else - return is_nothrow_constructible_v<_Tp, _Up>; - } - - template - static constexpr bool - _S_noexcept() - { return _S_noexcept1<_It, _It2>() && _S_noexcept1<_Sent, _Sent2>(); } - - class __arrow_proxy - { - iter_value_t<_It> _M_keep; - - constexpr - __arrow_proxy(iter_reference_t<_It>&& __x) - : _M_keep(std::move(__x)) { } - - friend class common_iterator; - - public: - constexpr const iter_value_t<_It>* - operator->() const noexcept - { return std::__addressof(_M_keep); } - }; - - class __postfix_proxy - { - iter_value_t<_It> _M_keep; - - constexpr - __postfix_proxy(iter_reference_t<_It>&& __x) - : _M_keep(std::forward>(__x)) { } - - friend class common_iterator; - - public: - constexpr const iter_value_t<_It>& - operator*() const noexcept - { return _M_keep; } - }; - - public: - constexpr - common_iterator() - noexcept(is_nothrow_default_constructible_v<_It>) - requires default_initializable<_It> - : _M_it(), _M_index(0) - { } - - constexpr - common_iterator(_It __i) - noexcept(is_nothrow_move_constructible_v<_It>) - : _M_it(std::move(__i)), _M_index(0) - { } - - constexpr - common_iterator(_Sent __s) - noexcept(is_nothrow_move_constructible_v<_Sent>) - : _M_sent(std::move(__s)), _M_index(1) - { } - - template - requires convertible_to - && convertible_to - constexpr - common_iterator(const common_iterator<_It2, _Sent2>& __x) - noexcept(_S_noexcept()) - : _M_valueless(), _M_index(__x._M_index) - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__x._M_has_value()), false)) std::__glibcxx_assert_fail(); } while (false); - if (_M_index == 0) - { - if constexpr (is_trivially_default_constructible_v<_It>) - _M_it = std::move(__x._M_it); - else - std::construct_at(std::__addressof(_M_it), __x._M_it); - } - else if (_M_index == 1) - { - if constexpr (is_trivially_default_constructible_v<_Sent>) - _M_sent = std::move(__x._M_sent); - else - std::construct_at(std::__addressof(_M_sent), __x._M_sent); - } - } - - common_iterator(const common_iterator&) = default; - - constexpr - common_iterator(const common_iterator& __x) - noexcept(_S_noexcept()) - requires (!is_trivially_copyable_v<_It> || !is_trivially_copyable_v<_Sent>) - : _M_valueless(), _M_index(__x._M_index) - { - if (_M_index == 0) - { - if constexpr (is_trivially_default_constructible_v<_It>) - _M_it = __x._M_it; - else - std::construct_at(std::__addressof(_M_it), __x._M_it); - } - else if (_M_index == 1) - { - if constexpr (is_trivially_default_constructible_v<_Sent>) - _M_sent = __x._M_sent; - else - std::construct_at(std::__addressof(_M_sent), __x._M_sent); - } - } - - common_iterator(common_iterator&&) = default; - - constexpr - common_iterator(common_iterator&& __x) - noexcept(_S_noexcept<_It, _Sent>()) - requires (!is_trivially_copyable_v<_It> || !is_trivially_copyable_v<_Sent>) - : _M_valueless(), _M_index(__x._M_index) - { - if (_M_index == 0) - { - if constexpr (is_trivially_default_constructible_v<_It>) - _M_it = std::move(__x._M_it); - else - std::construct_at(std::__addressof(_M_it), std::move(__x._M_it)); - } - else if (_M_index == 1) - { - if constexpr (is_trivially_default_constructible_v<_Sent>) - _M_sent = std::move(__x._M_sent); - else - std::construct_at(std::__addressof(_M_sent), - std::move(__x._M_sent)); - } - } - - constexpr common_iterator& - operator=(const common_iterator&) = default; - - constexpr common_iterator& - operator=(const common_iterator& __x) - noexcept(is_nothrow_copy_assignable_v<_It> - && is_nothrow_copy_assignable_v<_Sent> - && is_nothrow_copy_constructible_v<_It> - && is_nothrow_copy_constructible_v<_Sent>) - requires (!is_trivially_copy_assignable_v<_It> - || !is_trivially_copy_assignable_v<_Sent>) - { - _M_assign(__x); - return *this; - } - - constexpr common_iterator& - operator=(common_iterator&&) = default; - - constexpr common_iterator& - operator=(common_iterator&& __x) - noexcept(is_nothrow_move_assignable_v<_It> - && is_nothrow_move_assignable_v<_Sent> - && is_nothrow_move_constructible_v<_It> - && is_nothrow_move_constructible_v<_Sent>) - requires (!is_trivially_move_assignable_v<_It> - || !is_trivially_move_assignable_v<_Sent>) - { - _M_assign(std::move(__x)); - return *this; - } - - template - requires convertible_to - && convertible_to - && assignable_from<_It&, const _It2&> - && assignable_from<_Sent&, const _Sent2&> - constexpr common_iterator& - operator=(const common_iterator<_It2, _Sent2>& __x) - noexcept(is_nothrow_constructible_v<_It, const _It2&> - && is_nothrow_constructible_v<_Sent, const _Sent2&> - && is_nothrow_assignable_v<_It&, const _It2&> - && is_nothrow_assignable_v<_Sent&, const _Sent2&>) - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__x._M_has_value()), false)) std::__glibcxx_assert_fail(); } while (false); - _M_assign(__x); - return *this; - } - - - ~common_iterator() = default; - - constexpr - ~common_iterator() - requires (!is_trivially_destructible_v<_It> - || !is_trivially_destructible_v<_Sent>) - - - - - { - if (_M_index == 0) - _M_it.~_It(); - else if (_M_index == 1) - _M_sent.~_Sent(); - } - - [[nodiscard]] - constexpr decltype(auto) - operator*() - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_M_index == 0), false)) std::__glibcxx_assert_fail(); } while (false); - return *_M_it; - } - - [[nodiscard]] - constexpr decltype(auto) - operator*() const requires __detail::__dereferenceable - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_M_index == 0), false)) std::__glibcxx_assert_fail(); } while (false); - return *_M_it; - } - - [[nodiscard]] - constexpr auto - operator->() const requires __detail::__common_iter_has_arrow<_It> - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_M_index == 0), false)) std::__glibcxx_assert_fail(); } while (false); - if constexpr (is_pointer_v<_It> || requires { _M_it.operator->(); }) - return _M_it; - else if constexpr (is_reference_v>) - { - auto&& __tmp = *_M_it; - return std::__addressof(__tmp); - } - else - return __arrow_proxy{*_M_it}; - } - - constexpr common_iterator& - operator++() - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_M_index == 0), false)) std::__glibcxx_assert_fail(); } while (false); - ++_M_it; - return *this; - } - - constexpr decltype(auto) - operator++(int) - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_M_index == 0), false)) std::__glibcxx_assert_fail(); } while (false); - if constexpr (forward_iterator<_It>) - { - common_iterator __tmp = *this; - ++*this; - return __tmp; - } - else if constexpr (!__detail::__common_iter_use_postfix_proxy<_It>) - return _M_it++; - else - { - __postfix_proxy __p(**this); - ++*this; - return __p; - } - } - - template _Sent2> - requires sentinel_for<_Sent, _It2> - friend constexpr bool - operator== [[nodiscard]] (const common_iterator& __x, - const common_iterator<_It2, _Sent2>& __y) - { - switch(__x._M_index << 2 | __y._M_index) - { - case 0b0000: - case 0b0101: - return true; - case 0b0001: - return __x._M_it == __y._M_sent; - case 0b0100: - return __x._M_sent == __y._M_it; - default: - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__x._M_has_value()), false)) std::__glibcxx_assert_fail(); } while (false); - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__y._M_has_value()), false)) std::__glibcxx_assert_fail(); } while (false); - __builtin_unreachable(); - } - } - - template _Sent2> - requires sentinel_for<_Sent, _It2> && equality_comparable_with<_It, _It2> - friend constexpr bool - operator== [[nodiscard]] (const common_iterator& __x, - const common_iterator<_It2, _Sent2>& __y) - { - switch(__x._M_index << 2 | __y._M_index) - { - case 0b0101: - return true; - case 0b0000: - return __x._M_it == __y._M_it; - case 0b0001: - return __x._M_it == __y._M_sent; - case 0b0100: - return __x._M_sent == __y._M_it; - default: - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__x._M_has_value()), false)) std::__glibcxx_assert_fail(); } while (false); - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__y._M_has_value()), false)) std::__glibcxx_assert_fail(); } while (false); - __builtin_unreachable(); - } - } - - template _It2, sized_sentinel_for<_It> _Sent2> - requires sized_sentinel_for<_Sent, _It2> - friend constexpr iter_difference_t<_It2> - operator- [[nodiscard]] (const common_iterator& __x, - const common_iterator<_It2, _Sent2>& __y) - { - switch(__x._M_index << 2 | __y._M_index) - { - case 0b0101: - return 0; - case 0b0000: - return __x._M_it - __y._M_it; - case 0b0001: - return __x._M_it - __y._M_sent; - case 0b0100: - return __x._M_sent - __y._M_it; - default: - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__x._M_has_value()), false)) std::__glibcxx_assert_fail(); } while (false); - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__y._M_has_value()), false)) std::__glibcxx_assert_fail(); } while (false); - __builtin_unreachable(); - } - } - - [[nodiscard]] - friend constexpr iter_rvalue_reference_t<_It> - iter_move(const common_iterator& __i) - noexcept(noexcept(ranges::iter_move(std::declval()))) - requires input_iterator<_It> - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__i._M_index == 0), false)) std::__glibcxx_assert_fail(); } while (false); - return ranges::iter_move(__i._M_it); - } - - template _It2, typename _Sent2> - friend constexpr void - iter_swap(const common_iterator& __x, - const common_iterator<_It2, _Sent2>& __y) - noexcept(noexcept(ranges::iter_swap(std::declval(), - std::declval()))) - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__x._M_index == 0), false)) std::__glibcxx_assert_fail(); } while (false); - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__y._M_index == 0), false)) std::__glibcxx_assert_fail(); } while (false); - return ranges::iter_swap(__x._M_it, __y._M_it); - } - - private: - template _Sent2> - requires (!same_as<_It2, _Sent2>) && copyable<_It2> - friend class common_iterator; - - constexpr bool - _M_has_value() const noexcept { return _M_index != _S_valueless; } - - template - constexpr void - _M_assign(_CIt&& __x) - { - if (_M_index == __x._M_index) - { - if (_M_index == 0) - _M_it = std::forward<_CIt>(__x)._M_it; - else if (_M_index == 1) - _M_sent = std::forward<_CIt>(__x)._M_sent; - } - else - { - if (_M_index == 0) - _M_it.~_It(); - else if (_M_index == 1) - _M_sent.~_Sent(); - _M_index = _S_valueless; - - if (__x._M_index == 0) - std::construct_at(std::__addressof(_M_it), - std::forward<_CIt>(__x)._M_it); - else if (__x._M_index == 1) - std::construct_at(std::__addressof(_M_sent), - std::forward<_CIt>(__x)._M_sent); - _M_index = __x._M_index; - } - } - - union - { - _It _M_it; - _Sent _M_sent; - unsigned char _M_valueless; - }; - unsigned char _M_index; - - static constexpr unsigned char _S_valueless{2}; - }; - - template - struct incrementable_traits> - { - using difference_type = iter_difference_t<_It>; - }; - - template - struct iterator_traits> - { - private: - template - struct __ptr - { - using type = void; - }; - - template - requires __detail::__common_iter_has_arrow<_Iter> - struct __ptr<_Iter> - { - using _CIter = common_iterator<_Iter, _Sent>; - using type = decltype(std::declval().operator->()); - }; - - static auto - _S_iter_cat() - { - if constexpr (requires { requires derived_from<__iter_category_t<_It>, - forward_iterator_tag>; }) - return forward_iterator_tag{}; - else - return input_iterator_tag{}; - } - - public: - using iterator_concept = __conditional_t, - forward_iterator_tag, - input_iterator_tag>; - using iterator_category = decltype(_S_iter_cat()); - using value_type = iter_value_t<_It>; - using difference_type = iter_difference_t<_It>; - using pointer = typename __ptr<_It>::type; - using reference = iter_reference_t<_It>; - }; - - - - namespace __detail - { - template - struct __counted_iter_value_type - { }; - - template - struct __counted_iter_value_type<_It> - { using value_type = iter_value_t<_It>; }; - - template - struct __counted_iter_concept - { }; - - template - requires requires { typename _It::iterator_concept; } - struct __counted_iter_concept<_It> - { using iterator_concept = typename _It::iterator_concept; }; - - template - struct __counted_iter_cat - { }; - - template - requires requires { typename _It::iterator_category; } - struct __counted_iter_cat<_It> - { using iterator_category = typename _It::iterator_category; }; - } - - - template - class counted_iterator - : public __detail::__counted_iter_value_type<_It>, - public __detail::__counted_iter_concept<_It>, - public __detail::__counted_iter_cat<_It> - { - public: - using iterator_type = _It; - - using difference_type = iter_difference_t<_It>; - - - - constexpr counted_iterator() requires default_initializable<_It> = default; - - constexpr - counted_iterator(_It __i, iter_difference_t<_It> __n) - : _M_current(std::move(__i)), _M_length(__n) - { do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__n >= 0), false)) std::__glibcxx_assert_fail(); } while (false); } - - template - requires convertible_to - constexpr - counted_iterator(const counted_iterator<_It2>& __x) - : _M_current(__x._M_current), _M_length(__x._M_length) - { } - - template - requires assignable_from<_It&, const _It2&> - constexpr counted_iterator& - operator=(const counted_iterator<_It2>& __x) - { - _M_current = __x._M_current; - _M_length = __x._M_length; - return *this; - } - - [[nodiscard]] - constexpr const _It& - base() const & noexcept - { return _M_current; } - - [[nodiscard]] - constexpr _It - base() && - noexcept(is_nothrow_move_constructible_v<_It>) - { return std::move(_M_current); } - - [[nodiscard]] - constexpr iter_difference_t<_It> - count() const noexcept { return _M_length; } - - [[nodiscard]] - constexpr decltype(auto) - operator*() - noexcept(noexcept(*_M_current)) - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_M_length > 0), false)) std::__glibcxx_assert_fail(); } while (false); - return *_M_current; - } - - [[nodiscard]] - constexpr decltype(auto) - operator*() const - noexcept(noexcept(*_M_current)) - requires __detail::__dereferenceable - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_M_length > 0), false)) std::__glibcxx_assert_fail(); } while (false); - return *_M_current; - } - - [[nodiscard]] - constexpr auto - operator->() const noexcept - requires contiguous_iterator<_It> - { return std::to_address(_M_current); } - - constexpr counted_iterator& - operator++() - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_M_length > 0), false)) std::__glibcxx_assert_fail(); } while (false); - ++_M_current; - --_M_length; - return *this; - } - - constexpr decltype(auto) - operator++(int) - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_M_length > 0), false)) std::__glibcxx_assert_fail(); } while (false); - --_M_length; - try - { - return _M_current++; - } catch(...) { - ++_M_length; - throw; - } - } - - constexpr counted_iterator - operator++(int) requires forward_iterator<_It> - { - auto __tmp = *this; - ++*this; - return __tmp; - } - - constexpr counted_iterator& - operator--() requires bidirectional_iterator<_It> - { - --_M_current; - ++_M_length; - return *this; - } - - constexpr counted_iterator - operator--(int) requires bidirectional_iterator<_It> - { - auto __tmp = *this; - --*this; - return __tmp; - } - - [[nodiscard]] - constexpr counted_iterator - operator+(iter_difference_t<_It> __n) const - requires random_access_iterator<_It> - { return counted_iterator(_M_current + __n, _M_length - __n); } - - [[nodiscard]] - friend constexpr counted_iterator - operator+(iter_difference_t<_It> __n, const counted_iterator& __x) - requires random_access_iterator<_It> - { return __x + __n; } - - constexpr counted_iterator& - operator+=(iter_difference_t<_It> __n) - requires random_access_iterator<_It> - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__n <= _M_length), false)) std::__glibcxx_assert_fail(); } while (false); - _M_current += __n; - _M_length -= __n; - return *this; - } - - [[nodiscard]] - constexpr counted_iterator - operator-(iter_difference_t<_It> __n) const - requires random_access_iterator<_It> - { return counted_iterator(_M_current - __n, _M_length + __n); } - - template _It2> - [[nodiscard]] - friend constexpr iter_difference_t<_It2> - operator-(const counted_iterator& __x, - const counted_iterator<_It2>& __y) - { return __y._M_length - __x._M_length; } - - [[nodiscard]] - friend constexpr iter_difference_t<_It> - operator-(const counted_iterator& __x, default_sentinel_t) - { return -__x._M_length; } - - [[nodiscard]] - friend constexpr iter_difference_t<_It> - operator-(default_sentinel_t, const counted_iterator& __y) - { return __y._M_length; } - - constexpr counted_iterator& - operator-=(iter_difference_t<_It> __n) - requires random_access_iterator<_It> - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(-__n <= _M_length), false)) std::__glibcxx_assert_fail(); } while (false); - _M_current -= __n; - _M_length += __n; - return *this; - } - - [[nodiscard]] - constexpr decltype(auto) - operator[](iter_difference_t<_It> __n) const - noexcept(noexcept(_M_current[__n])) - requires random_access_iterator<_It> - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__n < _M_length), false)) std::__glibcxx_assert_fail(); } while (false); - return _M_current[__n]; - } - - template _It2> - [[nodiscard]] - friend constexpr bool - operator==(const counted_iterator& __x, - const counted_iterator<_It2>& __y) - { return __x._M_length == __y._M_length; } - - [[nodiscard]] - friend constexpr bool - operator==(const counted_iterator& __x, default_sentinel_t) - { return __x._M_length == 0; } - - template _It2> - [[nodiscard]] - friend constexpr strong_ordering - operator<=>(const counted_iterator& __x, - const counted_iterator<_It2>& __y) - { return __y._M_length <=> __x._M_length; } - - [[nodiscard]] - friend constexpr iter_rvalue_reference_t<_It> - iter_move(const counted_iterator& __i) - noexcept(noexcept(ranges::iter_move(__i._M_current))) - requires input_iterator<_It> - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__i._M_length > 0), false)) std::__glibcxx_assert_fail(); } while (false); - return ranges::iter_move(__i._M_current); - } - - template _It2> - friend constexpr void - iter_swap(const counted_iterator& __x, - const counted_iterator<_It2>& __y) - noexcept(noexcept(ranges::iter_swap(__x._M_current, __y._M_current))) - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__x._M_length > 0 && __y._M_length > 0), false)) std::__glibcxx_assert_fail(); } while (false); - ranges::iter_swap(__x._M_current, __y._M_current); - } - - private: - template friend class counted_iterator; - - _It _M_current = _It(); - iter_difference_t<_It> _M_length = 0; - }; - - template - requires same_as<__detail::__iter_traits<_It>, iterator_traits<_It>> - struct iterator_traits> : iterator_traits<_It> - { - using pointer = __conditional_t, - add_pointer_t>, - void>; - }; -# 2952 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - constexpr - 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 - constexpr - auto - __miter_base(move_iterator<_Iterator> __it) - -> decltype(__miter_base(__it.base())) - { return __miter_base(__it.base()); } -# 2984 "/usr/include/c++/14.1.1/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>>; - - - -} -# 49 "/usr/include/c++/14.1.1/string" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/stl_function.h" 1 3 -# 63 "/usr/include/c++/14.1.1/bits/stl_function.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 116 "/usr/include/c++/14.1.1/bits/stl_function.h" 3 - template - struct unary_function - { - - typedef _Arg argument_type; - - - typedef _Result result_type; - } __attribute__ ((__deprecated__)); - - - - - - template - struct binary_function - { - - typedef _Arg1 first_argument_type; - - - typedef _Arg2 second_argument_type; - - - typedef _Result result_type; - } __attribute__ ((__deprecated__)); -# 157 "/usr/include/c++/14.1.1/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; - - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - - - 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; } - }; -#pragma GCC diagnostic pop - - - 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; - }; -# 346 "/usr/include/c++/14.1.1/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; - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - - - 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 (std::__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 (std::__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 (std::__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 (std::__is_constant_evaluated()) - return __x <= __y; - - return (long unsigned int)__x <= (long unsigned int)__y; - } - }; -#pragma GCC diagnostic pop - - - - 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*>>; - }; -# 778 "/usr/include/c++/14.1.1/bits/stl_function.h" 3 - template - struct logical_and; - - template - struct logical_or; - - template - struct logical_not; - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - - - 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; } - }; -#pragma GCC diagnostic pop - - - - 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; - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - - - - 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; } - }; -#pragma GCC diagnostic pop - - - 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; - }; - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" -# 1020 "/usr/include/c++/14.1.1/bits/stl_function.h" 3 - template - class [[__deprecated__]] 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 - __attribute__ ((__deprecated__ ("use '" "std::not_fn" "' instead"))) - constexpr - inline unary_negate<_Predicate> - not1(const _Predicate& __pred) - { return unary_negate<_Predicate>(__pred); } - - - template - class [[__deprecated__]] 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 - __attribute__ ((__deprecated__ ("use '" "std::not_fn" "' instead"))) - constexpr - inline binary_negate<_Predicate> - not2(const _Predicate& __pred) - { return binary_negate<_Predicate>(__pred); } -# 1101 "/usr/include/c++/14.1.1/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); } - } __attribute__ ((__deprecated__)); - - - template - __attribute__ ((__deprecated__ ("use '" "std::function" "' instead"))) - 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); } - } __attribute__ ((__deprecated__)); - - - template - __attribute__ ((__deprecated__ ("use '" "std::function" "' instead"))) - 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; } - }; -# 1228 "/usr/include/c++/14.1.1/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)(); - } __attribute__ ((__deprecated__)); - - - 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; - } __attribute__ ((__deprecated__)); - - - 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)(); - } __attribute__ ((__deprecated__)); - - - 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; - } __attribute__ ((__deprecated__)); - - - 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); - } __attribute__ ((__deprecated__)); - - - 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; - } __attribute__ ((__deprecated__)); - - - 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); - } __attribute__ ((__deprecated__)); - - - 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; - } __attribute__ ((__deprecated__)); - - - - template - __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) - inline mem_fun_t<_Ret, _Tp> - mem_fun(_Ret (_Tp::*__f)()) - { return mem_fun_t<_Ret, _Tp>(__f); } - - template - __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) - inline const_mem_fun_t<_Ret, _Tp> - mem_fun(_Ret (_Tp::*__f)() const) - { return const_mem_fun_t<_Ret, _Tp>(__f); } - - template - __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) - inline mem_fun_ref_t<_Ret, _Tp> - mem_fun_ref(_Ret (_Tp::*__f)()) - { return mem_fun_ref_t<_Ret, _Tp>(__f); } - - template - __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) - 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 - __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) - inline mem_fun1_t<_Ret, _Tp, _Arg> - mem_fun(_Ret (_Tp::*__f)(_Arg)) - { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); } - - template - __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) - 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 - __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) - 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 - __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) - 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); } -#pragma GCC diagnostic pop - - - - - 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/include/c++/14.1.1/backward/binders.h" 1 3 -# 60 "/usr/include/c++/14.1.1/backward/binders.h" 3 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 107 "/usr/include/c++/14.1.1/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 - __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead"))) - 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 - __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead"))) - 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 -# 1436 "/usr/include/c++/14.1.1/bits/stl_function.h" 2 3 -# 50 "/usr/include/c++/14.1.1/string" 2 3 -# 1 "/usr/include/c++/14.1.1/ext/numeric_traits.h" 1 3 -# 32 "/usr/include/c++/14.1.1/ext/numeric_traits.h" 3 - -# 33 "/usr/include/c++/14.1.1/ext/numeric_traits.h" 3 - - - - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - -# 50 "/usr/include/c++/14.1.1/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; -# 137 "/usr/include/c++/14.1.1/ext/numeric_traits.h" 3 - template - using __int_traits = __numeric_traits_integer<_Tp>; -# 157 "/usr/include/c++/14.1.1/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 - { }; -# 238 "/usr/include/c++/14.1.1/ext/numeric_traits.h" 3 - -} -# 51 "/usr/include/c++/14.1.1/string" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 1 3 -# 64 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 -# 1 "/usr/include/c++/14.1.1/bits/stl_pair.h" 1 3 -# 62 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 -# 1 "/usr/include/c++/14.1.1/bits/utility.h" 1 3 -# 36 "/usr/include/c++/14.1.1/bits/utility.h" 3 - -# 37 "/usr/include/c++/14.1.1/bits/utility.h" 3 - - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - template - struct tuple_size; - - - - - - template::type, - typename = typename enable_if::value>::type, - size_t = tuple_size<_Tp>::value> - using __enable_if_has_tuple_size = _Tp; - - template - struct tuple_size> - : public tuple_size<_Tp> { }; - - template - struct tuple_size> - : public tuple_size<_Tp> { }; - - template - struct tuple_size> - : public tuple_size<_Tp> { }; - - - template - inline constexpr size_t tuple_size_v = tuple_size<_Tp>::value; - - - - template - struct tuple_element; - - - template - using __tuple_element_t = typename tuple_element<__i, _Tp>::type; - - template - struct tuple_element<__i, const _Tp> - { - using type = const __tuple_element_t<__i, _Tp>; - }; - - template - struct tuple_element<__i, volatile _Tp> - { - using type = volatile __tuple_element_t<__i, _Tp>; - }; - - template - struct tuple_element<__i, const volatile _Tp> - { - using type = const volatile __tuple_element_t<__i, _Tp>; - }; - - - - - - template - constexpr size_t - __find_uniq_type_in_pack() - { - constexpr size_t __sz = sizeof...(_Types); - constexpr bool __found[__sz] = { __is_same(_Tp, _Types) ... }; - size_t __n = __sz; - for (size_t __i = 0; __i < __sz; ++__i) - { - if (__found[__i]) - { - if (__n < __sz) - return __sz; - __n = __i; - } - } - return __n; - } -# 134 "/usr/include/c++/14.1.1/bits/utility.h" 3 - template - using tuple_element_t = typename tuple_element<__i, _Tp>::type; - - - - - template struct _Index_tuple { }; - - - template - struct _Build_index_tuple - { -# 154 "/usr/include/c++/14.1.1/bits/utility.h" 3 - using __type = _Index_tuple<__integer_pack(_Num)...>; - - }; - - - - - template - struct integer_sequence - { - - static_assert(is_integral_v<_Tp>); - - typedef _Tp value_type; - static constexpr size_t size() noexcept { return sizeof...(_Idx); } - }; - - - template - using make_integer_sequence - - - - = integer_sequence<_Tp, __integer_pack(_Num)...>; - - - - template - using index_sequence = integer_sequence; - - - template - using make_index_sequence = make_integer_sequence; - - - template - using index_sequence_for = make_index_sequence; - - - - - struct in_place_t { - explicit in_place_t() = default; - }; - - inline constexpr in_place_t in_place{}; - - template struct in_place_type_t - { - explicit in_place_type_t() = default; - }; - - template - inline constexpr in_place_type_t<_Tp> in_place_type{}; - - template struct in_place_index_t - { - explicit in_place_index_t() = default; - }; - - template - inline constexpr in_place_index_t<_Idx> in_place_index{}; - - template - inline constexpr bool __is_in_place_type_v = false; - - template - inline constexpr bool __is_in_place_type_v> = true; - - template - using __is_in_place_type = bool_constant<__is_in_place_type_v<_Tp>>; - - template - inline constexpr bool __is_in_place_index_v = false; - - template - inline constexpr bool __is_in_place_index_v> = true; - - - - - template - struct _Nth_type - { using type = __type_pack_element<_Np, _Types...>; }; -# 276 "/usr/include/c++/14.1.1/bits/utility.h" 3 - namespace ranges::__detail - { - template - inline constexpr bool __is_subrange = false; - } - - - -} -# 63 "/usr/include/c++/14.1.1/bits/stl_pair.h" 2 3 - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 79 "/usr/include/c++/14.1.1/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 - struct pair; - - template - class tuple; - - - - - - template - struct array; - - template - struct _Index_tuple; - - template - constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type& - get(pair<_Tp1, _Tp2>& __in) noexcept; - - template - constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&& - get(pair<_Tp1, _Tp2>&& __in) noexcept; - - template - constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type& - get(const pair<_Tp1, _Tp2>& __in) noexcept; - - template - constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&& - get(const pair<_Tp1, _Tp2>&& __in) noexcept; - - template - constexpr __tuple_element_t<__i, tuple<_Elements...>>& - get(tuple<_Elements...>& __t) noexcept; - - template - constexpr const __tuple_element_t<__i, tuple<_Elements...>>& - get(const tuple<_Elements...>& __t) noexcept; - - template - constexpr __tuple_element_t<__i, tuple<_Elements...>>&& - get(tuple<_Elements...>&& __t) noexcept; - - template - constexpr const __tuple_element_t<__i, tuple<_Elements...>>&& - get(const tuple<_Elements...>&& __t) noexcept; - - template - constexpr _Tp& - get(array<_Tp, _Nm>&) noexcept; - - template - constexpr _Tp&& - get(array<_Tp, _Nm>&&) noexcept; - - template - constexpr const _Tp& - get(const array<_Tp, _Nm>&) noexcept; - - template - constexpr const _Tp&& - get(const array<_Tp, _Nm>&&) noexcept; -# 260 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - template class __pair_base - { - - - - - - - - }; -# 283 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - template - struct pair - : public __pair_base<_T1, _T2> - { - typedef _T1 first_type; - typedef _T2 second_type; - - _T1 first; - _T2 second; - - - constexpr pair(const pair&) = default; - constexpr pair(pair&&) = default; - - template - constexpr - pair(piecewise_construct_t, tuple<_Args1...>, tuple<_Args2...>); - - - constexpr 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); - } -# 331 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - private: - template - constexpr - pair(tuple<_Args1...>&, tuple<_Args2...>&, - _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>); - public: - - - - - - constexpr - explicit(__not_<__and_<__is_implicitly_default_constructible<_T1>, - __is_implicitly_default_constructible<_T2>>>()) - pair() - requires is_default_constructible_v<_T1> - && is_default_constructible_v<_T2> - : first(), second() - { } - - private: - - - template - static constexpr bool - _S_constructible() - { - if constexpr (is_constructible_v<_T1, _U1>) - return is_constructible_v<_T2, _U2>; - return false; - } - - template - static constexpr bool - _S_nothrow_constructible() - { - if constexpr (is_nothrow_constructible_v<_T1, _U1>) - return is_nothrow_constructible_v<_T2, _U2>; - return false; - } - - template - static constexpr bool - _S_convertible() - { - if constexpr (is_convertible_v<_U1, _T1>) - return is_convertible_v<_U2, _T2>; - return false; - } - - - template - static constexpr bool - _S_dangles() - { - - if constexpr (__reference_constructs_from_temporary(_T1, _U1&&)) - return true; - else - return __reference_constructs_from_temporary(_T2, _U2&&); - - - - } -# 424 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - public: - - - constexpr explicit(!_S_convertible()) - pair(const _T1& __x, const _T2& __y) - noexcept(_S_nothrow_constructible()) - requires (_S_constructible()) - : first(__x), second(__y) - { } - - - - - - template - - requires (_S_constructible<_U1, _U2>()) && (!_S_dangles<_U1, _U2>()) - constexpr explicit(!_S_convertible<_U1, _U2>()) - pair(_U1&& __x, _U2&& __y) - noexcept(_S_nothrow_constructible<_U1, _U2>()) - : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) - { } - - - - - template - - requires (_S_constructible<_U1, _U2>()) && (_S_dangles<_U1, _U2>()) - constexpr explicit(!_S_convertible<_U1, _U2>()) - pair(_U1&&, _U2&&) = delete; - - - template - requires (_S_constructible()) - && (!_S_dangles<_U1, _U2>()) - constexpr explicit(!_S_convertible()) - pair(const pair<_U1, _U2>& __p) - noexcept(_S_nothrow_constructible()) - : first(__p.first), second(__p.second) - { } - - template - requires (_S_constructible()) - && (_S_dangles()) - constexpr explicit(!_S_convertible()) - pair(const pair<_U1, _U2>&) = delete; - - - template - requires (_S_constructible<_U1, _U2>()) && (!_S_dangles<_U1, _U2>()) - constexpr explicit(!_S_convertible<_U1, _U2>()) - pair(pair<_U1, _U2>&& __p) - noexcept(_S_nothrow_constructible<_U1, _U2>()) - : first(std::forward<_U1>(__p.first)), - second(std::forward<_U2>(__p.second)) - { } - - template - requires (_S_constructible<_U1, _U2>()) && (_S_dangles<_U1, _U2>()) - constexpr explicit(!_S_convertible<_U1, _U2>()) - pair(pair<_U1, _U2>&&) = delete; -# 537 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - private: - - template - static constexpr bool - _S_assignable() - { - if constexpr (is_assignable_v<_T1&, _U1>) - return is_assignable_v<_T2&, _U2>; - return false; - } - - template - static constexpr bool - _S_const_assignable() - { - if constexpr (is_assignable_v) - return is_assignable_v; - return false; - } - - template - static constexpr bool - _S_nothrow_assignable() - { - if constexpr (is_nothrow_assignable_v<_T1&, _U1>) - return is_nothrow_assignable_v<_T2&, _U2>; - return false; - } -# 585 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - public: - - pair& operator=(const pair&) = delete; - - - constexpr pair& - operator=(const pair& __p) - noexcept(_S_nothrow_assignable()) - requires (_S_assignable()) - { - first = __p.first; - second = __p.second; - return *this; - } - - - constexpr pair& - operator=(pair&& __p) - noexcept(_S_nothrow_assignable<_T1, _T2>()) - requires (_S_assignable<_T1, _T2>()) - { - first = std::forward(__p.first); - second = std::forward(__p.second); - return *this; - } - - - template - constexpr pair& - operator=(const pair<_U1, _U2>& __p) - noexcept(_S_nothrow_assignable()) - requires (_S_assignable()) - { - first = __p.first; - second = __p.second; - return *this; - } - - - template - constexpr pair& - operator=(pair<_U1, _U2>&& __p) - noexcept(_S_nothrow_assignable<_U1, _U2>()) - requires (_S_assignable<_U1, _U2>()) - { - first = std::forward<_U1>(__p.first); - second = std::forward<_U2>(__p.second); - return *this; - } -# 995 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - }; - - - - - template pair(_T1, _T2) -> pair<_T1, _T2>; - - - - - - - - template - inline constexpr bool - operator==(const pair<_T1, _T2>& __x, const pair<_U1, _U2>& __y) - { return __x.first == __y.first && __x.second == __y.second; } -# 1020 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - template - constexpr common_comparison_category_t<__detail::__synth3way_t<_T1, _U1>, - __detail::__synth3way_t<_T2, _U2>> - operator<=>(const pair<_T1, _T2>& __x, const pair<_U1, _U2>& __y) - { - if (auto __c = __detail::__synth3way(__x.first, __y.first); __c != 0) - return __c; - return __detail::__synth3way(__x.second, __y.second); - } -# 1080 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - template - constexpr 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); } -# 1103 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - template - typename enable_if, - __is_swappable<_T2>>::value>::type - swap(pair<_T1, _T2>&, pair<_T1, _T2>&) = delete; -# 1129 "/usr/include/c++/14.1.1/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)); - } -# 1152 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - template - struct __is_tuple_like_impl> : true_type - { }; - - - - template - struct tuple_size> - : public integral_constant { }; - - - template - struct tuple_element<0, pair<_Tp1, _Tp2>> - { typedef _Tp1 type; }; - - - template - struct tuple_element<1, pair<_Tp1, _Tp2>> - { typedef _Tp2 type; }; - - - - template - struct tuple_element<__i, tuple<_Types...>>; - - - template - inline constexpr size_t tuple_size_v> = 2; - - template - inline constexpr size_t tuple_size_v> = 2; - - template - inline constexpr bool __is_pair = false; - - template - inline constexpr bool __is_pair> = true; - - - - template - struct __pair_get; - - template<> - struct __pair_get<0> - { - template - static constexpr _Tp1& - __get(pair<_Tp1, _Tp2>& __pair) noexcept - { return __pair.first; } - - template - static constexpr _Tp1&& - __move_get(pair<_Tp1, _Tp2>&& __pair) noexcept - { return std::forward<_Tp1>(__pair.first); } - - template - static constexpr const _Tp1& - __const_get(const pair<_Tp1, _Tp2>& __pair) noexcept - { return __pair.first; } - - template - static constexpr const _Tp1&& - __const_move_get(const pair<_Tp1, _Tp2>&& __pair) noexcept - { return std::forward(__pair.first); } - }; - - template<> - struct __pair_get<1> - { - template - static constexpr _Tp2& - __get(pair<_Tp1, _Tp2>& __pair) noexcept - { return __pair.second; } - - template - static constexpr _Tp2&& - __move_get(pair<_Tp1, _Tp2>&& __pair) noexcept - { return std::forward<_Tp2>(__pair.second); } - - template - static constexpr const _Tp2& - __const_get(const pair<_Tp1, _Tp2>& __pair) noexcept - { return __pair.second; } - - template - static constexpr const _Tp2&& - __const_move_get(const pair<_Tp1, _Tp2>&& __pair) noexcept - { return std::forward(__pair.second); } - }; - - - - - - - template - constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type& - get(pair<_Tp1, _Tp2>& __in) noexcept - { return __pair_get<_Int>::__get(__in); } - - template - constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&& - get(pair<_Tp1, _Tp2>&& __in) noexcept - { return __pair_get<_Int>::__move_get(std::move(__in)); } - - template - constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type& - get(const pair<_Tp1, _Tp2>& __in) noexcept - { return __pair_get<_Int>::__const_get(__in); } - - template - constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&& - get(const pair<_Tp1, _Tp2>&& __in) noexcept - { return __pair_get<_Int>::__const_move_get(std::move(__in)); } - - - - template - constexpr _Tp& - get(pair<_Tp, _Up>& __p) noexcept - { return __p.first; } - - template - constexpr const _Tp& - get(const pair<_Tp, _Up>& __p) noexcept - { return __p.first; } - - template - constexpr _Tp&& - get(pair<_Tp, _Up>&& __p) noexcept - { return std::move(__p.first); } - - template - constexpr const _Tp&& - get(const pair<_Tp, _Up>&& __p) noexcept - { return std::move(__p.first); } - - template - constexpr _Tp& - get(pair<_Up, _Tp>& __p) noexcept - { return __p.second; } - - template - constexpr const _Tp& - get(const pair<_Up, _Tp>& __p) noexcept - { return __p.second; } - - template - constexpr _Tp&& - get(pair<_Up, _Tp>&& __p) noexcept - { return std::move(__p.second); } - - template - constexpr const _Tp&& - get(const pair<_Up, _Tp>&& __p) noexcept - { return std::move(__p.second); } -# 1332 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - -} -# 65 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 2 3 - - - - -# 1 "/usr/include/c++/14.1.1/debug/debug.h" 1 3 -# 48 "/usr/include/c++/14.1.1/debug/debug.h" 3 -namespace std -{ - namespace __debug { } -} - - - - -namespace __gnu_debug -{ - using namespace std::__debug; - - template - struct _Safe_iterator; -} -# 70 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 2 3 - -# 1 "/usr/include/c++/14.1.1/bits/predefined_ops.h" 1 3 -# 35 "/usr/include/c++/14.1.1/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; - - - - - constexpr - explicit - _Iter_less_val(_Iter_less_iter) { } - - template - constexpr - bool - operator()(_Iterator __it, _Value& __val) const - { return *__it < __val; } - }; - - constexpr - inline _Iter_less_val - __iter_less_val() - { return _Iter_less_val(); } - - constexpr - inline _Iter_less_val - __iter_comp_val(_Iter_less_iter) - { return _Iter_less_val(); } - - struct _Val_less_iter - { - - constexpr _Val_less_iter() = default; - - - - - constexpr - explicit - _Val_less_iter(_Iter_less_iter) { } - - template - constexpr - bool - operator()(_Value& __val, _Iterator __it) const - { return __val < *__it; } - }; - - constexpr - inline _Val_less_iter - __val_less_iter() - { return _Val_less_iter(); } - - constexpr - inline _Val_less_iter - __val_comp_iter(_Iter_less_iter) - { return _Val_less_iter(); } - - struct _Iter_equal_to_iter - { - template - constexpr - bool - operator()(_Iterator1 __it1, _Iterator2 __it2) const - { return *__it1 == *__it2; } - }; - - constexpr - inline _Iter_equal_to_iter - __iter_equal_to_iter() - { return _Iter_equal_to_iter(); } - - struct _Iter_equal_to_val - { - template - constexpr - bool - operator()(_Iterator __it, _Value& __val) const - { return *__it == __val; } - }; - - constexpr - inline _Iter_equal_to_val - __iter_equal_to_val() - { return _Iter_equal_to_val(); } - - constexpr - 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; - - constexpr - explicit - _Iter_comp_val(_Compare __comp) - : _M_comp(std::move(__comp)) - { } - - constexpr - explicit - _Iter_comp_val(const _Iter_comp_iter<_Compare>& __comp) - : _M_comp(__comp._M_comp) - { } - - - constexpr - explicit - _Iter_comp_val(_Iter_comp_iter<_Compare>&& __comp) - : _M_comp(std::move(__comp._M_comp)) - { } - - - template - constexpr - bool - operator()(_Iterator __it, _Value& __val) - { return bool(_M_comp(*__it, __val)); } - }; - - template - constexpr - inline _Iter_comp_val<_Compare> - __iter_comp_val(_Compare __comp) - { return _Iter_comp_val<_Compare>(std::move(__comp)); } - - template - constexpr - 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; - - constexpr - explicit - _Val_comp_iter(_Compare __comp) - : _M_comp(std::move(__comp)) - { } - - constexpr - explicit - _Val_comp_iter(const _Iter_comp_iter<_Compare>& __comp) - : _M_comp(__comp._M_comp) - { } - - - constexpr - explicit - _Val_comp_iter(_Iter_comp_iter<_Compare>&& __comp) - : _M_comp(std::move(__comp._M_comp)) - { } - - - template - constexpr - bool - operator()(_Value& __val, _Iterator __it) - { return bool(_M_comp(__val, *__it)); } - }; - - template - constexpr - inline _Val_comp_iter<_Compare> - __val_comp_iter(_Compare __comp) - { return _Val_comp_iter<_Compare>(std::move(__comp)); } - - template - constexpr - 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; - - constexpr - explicit - _Iter_equals_val(_Value& __value) - : _M_value(__value) - { } - - template - constexpr - bool - operator()(_Iterator __it) - { return *__it == _M_value; } - }; - - template - constexpr - inline _Iter_equals_val<_Value> - __iter_equals_val(_Value& __val) - { return _Iter_equals_val<_Value>(__val); } - - template - struct _Iter_equals_iter - { - _Iterator1 _M_it1; - - constexpr - explicit - _Iter_equals_iter(_Iterator1 __it1) - : _M_it1(__it1) - { } - - template - constexpr - bool - operator()(_Iterator2 __it2) - { return *__it2 == *_M_it1; } - }; - - template - constexpr - 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; - - constexpr - explicit - _Iter_pred(_Predicate __pred) - : _M_pred(std::move(__pred)) - { } - - template - constexpr - bool - operator()(_Iterator __it) - { return bool(_M_pred(*__it)); } - }; - - template - constexpr - 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; - - constexpr - _Iter_comp_to_val(_Compare __comp, _Value& __value) - : _M_comp(std::move(__comp)), _M_value(__value) - { } - - template - constexpr - bool - operator()(_Iterator __it) - { return bool(_M_comp(*__it, _M_value)); } - }; - - template - _Iter_comp_to_val<_Compare, _Value> - constexpr - __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; - - constexpr - _Iter_comp_to_iter(_Compare __comp, _Iterator1 __it1) - : _M_comp(std::move(__comp)), _M_it1(__it1) - { } - - template - constexpr - bool - operator()(_Iterator2 __it2) - { return bool(_M_comp(*__it2, *_M_it1)); } - }; - - template - constexpr - 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; - - constexpr - explicit - _Iter_negate(_Predicate __pred) - : _M_pred(std::move(__pred)) - { } - - template - constexpr - bool - operator()(_Iterator __it) - { return !bool(_M_pred(*__it)); } - }; - - template - constexpr - inline _Iter_negate<_Predicate> - __negate(_Iter_pred<_Predicate> __pred) - { return _Iter_negate<_Predicate>(std::move(__pred._M_pred)); } - -} -} -# 72 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 2 3 - - - - -# 1 "/usr/include/c++/14.1.1/bit" 1 3 -# 32 "/usr/include/c++/14.1.1/bit" 3 - -# 33 "/usr/include/c++/14.1.1/bit" 3 -# 61 "/usr/include/c++/14.1.1/bit" 3 -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 62 "/usr/include/c++/14.1.1/bit" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 85 "/usr/include/c++/14.1.1/bit" 3 - template - [[nodiscard]] - constexpr _To - bit_cast(const _From& __from) noexcept - - requires (sizeof(_To) == sizeof(_From)) - && is_trivially_copyable_v<_To> && is_trivially_copyable_v<_From> - - { - return __builtin_bit_cast(_To, __from); - } -# 155 "/usr/include/c++/14.1.1/bit" 3 - template - constexpr _Tp - __rotl(_Tp __x, int __s) noexcept - { - constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits; - if constexpr ((_Nd & (_Nd - 1)) == 0) - { - - - constexpr unsigned __uNd = _Nd; - const unsigned __r = __s; - return (__x << (__r % __uNd)) | (__x >> ((-__r) % __uNd)); - } - const int __r = __s % _Nd; - if (__r == 0) - return __x; - else if (__r > 0) - return (__x << __r) | (__x >> ((_Nd - __r) % _Nd)); - else - return (__x >> -__r) | (__x << ((_Nd + __r) % _Nd)); - } - - template - constexpr _Tp - __rotr(_Tp __x, int __s) noexcept - { - constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits; - if constexpr ((_Nd & (_Nd - 1)) == 0) - { - - - constexpr unsigned __uNd = _Nd; - const unsigned __r = __s; - return (__x >> (__r % __uNd)) | (__x << ((-__r) % __uNd)); - } - const int __r = __s % _Nd; - if (__r == 0) - return __x; - else if (__r > 0) - return (__x >> __r) | (__x << ((_Nd - __r) % _Nd)); - else - return (__x << -__r) | (__x >> ((_Nd + __r) % _Nd)); - } - - template - constexpr int - __countl_zero(_Tp __x) noexcept - { - using __gnu_cxx::__int_traits; - constexpr auto _Nd = __int_traits<_Tp>::__digits; - - if (__x == 0) - return _Nd; - - constexpr auto _Nd_ull = __int_traits::__digits; - constexpr auto _Nd_ul = __int_traits::__digits; - constexpr auto _Nd_u = __int_traits::__digits; - - if constexpr (_Nd <= _Nd_u) - { - constexpr int __diff = _Nd_u - _Nd; - return __builtin_clz(__x) - __diff; - } - else if constexpr (_Nd <= _Nd_ul) - { - constexpr int __diff = _Nd_ul - _Nd; - return __builtin_clzl(__x) - __diff; - } - else if constexpr (_Nd <= _Nd_ull) - { - constexpr int __diff = _Nd_ull - _Nd; - return __builtin_clzll(__x) - __diff; - } - else - { - static_assert(_Nd <= (2 * _Nd_ull), - "Maximum supported integer size is 128-bit"); - - unsigned long long __high = __x >> _Nd_ull; - if (__high != 0) - { - constexpr int __diff = (2 * _Nd_ull) - _Nd; - return __builtin_clzll(__high) - __diff; - } - constexpr auto __max_ull = __int_traits::__max; - unsigned long long __low = __x & __max_ull; - return (_Nd - _Nd_ull) + __builtin_clzll(__low); - } - } - - template - constexpr int - __countl_one(_Tp __x) noexcept - { - return std::__countl_zero<_Tp>((_Tp)~__x); - } - - template - constexpr int - __countr_zero(_Tp __x) noexcept - { - using __gnu_cxx::__int_traits; - constexpr auto _Nd = __int_traits<_Tp>::__digits; - - if (__x == 0) - return _Nd; - - constexpr auto _Nd_ull = __int_traits::__digits; - constexpr auto _Nd_ul = __int_traits::__digits; - constexpr auto _Nd_u = __int_traits::__digits; - - if constexpr (_Nd <= _Nd_u) - return __builtin_ctz(__x); - else if constexpr (_Nd <= _Nd_ul) - return __builtin_ctzl(__x); - else if constexpr (_Nd <= _Nd_ull) - return __builtin_ctzll(__x); - else - { - static_assert(_Nd <= (2 * _Nd_ull), - "Maximum supported integer size is 128-bit"); - - constexpr auto __max_ull = __int_traits::__max; - unsigned long long __low = __x & __max_ull; - if (__low != 0) - return __builtin_ctzll(__low); - unsigned long long __high = __x >> _Nd_ull; - return __builtin_ctzll(__high) + _Nd_ull; - } - } - - template - constexpr int - __countr_one(_Tp __x) noexcept - { - return std::__countr_zero((_Tp)~__x); - } - - template - constexpr int - __popcount(_Tp __x) noexcept - { - using __gnu_cxx::__int_traits; - constexpr auto _Nd = __int_traits<_Tp>::__digits; - - constexpr auto _Nd_ull = __int_traits::__digits; - constexpr auto _Nd_ul = __int_traits::__digits; - constexpr auto _Nd_u = __int_traits::__digits; - - if constexpr (_Nd <= _Nd_u) - return __builtin_popcount(__x); - else if constexpr (_Nd <= _Nd_ul) - return __builtin_popcountl(__x); - else if constexpr (_Nd <= _Nd_ull) - return __builtin_popcountll(__x); - else - { - static_assert(_Nd <= (2 * _Nd_ull), - "Maximum supported integer size is 128-bit"); - - constexpr auto __max_ull = __int_traits::__max; - unsigned long long __low = __x & __max_ull; - unsigned long long __high = __x >> _Nd_ull; - return __builtin_popcountll(__low) + __builtin_popcountll(__high); - } - } - - template - constexpr bool - __has_single_bit(_Tp __x) noexcept - { return std::__popcount(__x) == 1; } - - template - constexpr _Tp - __bit_ceil(_Tp __x) noexcept - { - using __gnu_cxx::__int_traits; - constexpr auto _Nd = __int_traits<_Tp>::__digits; - if (__x == 0 || __x == 1) - return 1; - auto __shift_exponent = _Nd - std::__countl_zero((_Tp)(__x - 1u)); - - - - - if (!std::__is_constant_evaluated()) - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__shift_exponent != __int_traits<_Tp>::__digits), false)) std::__glibcxx_assert_fail(); } while (false); - } - - using __promoted_type = decltype(__x << 1); - if constexpr (!is_same<__promoted_type, _Tp>::value) - { - - - - - - const int __extra_exp = sizeof(__promoted_type) / sizeof(_Tp) / 2; - __shift_exponent |= (__shift_exponent & _Nd) << __extra_exp; - } - return (_Tp)1u << __shift_exponent; - } - - template - constexpr _Tp - __bit_floor(_Tp __x) noexcept - { - constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits; - if (__x == 0) - return 0; - return (_Tp)1u << (_Nd - std::__countl_zero((_Tp)(__x >> 1))); - } - - template - constexpr int - __bit_width(_Tp __x) noexcept - { - constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits; - return _Nd - std::__countl_zero(__x); - } - - - - - - - template - concept __unsigned_integer = __is_unsigned_integer<_Tp>::value; - - - - - - template<__unsigned_integer _Tp> - [[nodiscard]] constexpr _Tp - rotl(_Tp __x, int __s) noexcept - { return std::__rotl(__x, __s); } - - - template<__unsigned_integer _Tp> - [[nodiscard]] constexpr _Tp - rotr(_Tp __x, int __s) noexcept - { return std::__rotr(__x, __s); } - - - - - template<__unsigned_integer _Tp> - constexpr int - countl_zero(_Tp __x) noexcept - { return std::__countl_zero(__x); } - - - template<__unsigned_integer _Tp> - constexpr int - countl_one(_Tp __x) noexcept - { return std::__countl_one(__x); } - - - template<__unsigned_integer _Tp> - constexpr int - countr_zero(_Tp __x) noexcept - { return std::__countr_zero(__x); } - - - template<__unsigned_integer _Tp> - constexpr int - countr_one(_Tp __x) noexcept - { return std::__countr_one(__x); } - - - template<__unsigned_integer _Tp> - constexpr int - popcount(_Tp __x) noexcept - { return std::__popcount(__x); } - - - - - - - template<__unsigned_integer _Tp> - constexpr bool - has_single_bit(_Tp __x) noexcept - { return std::__has_single_bit(__x); } - - - template<__unsigned_integer _Tp> - constexpr _Tp - bit_ceil(_Tp __x) noexcept - { return std::__bit_ceil(__x); } - - - template<__unsigned_integer _Tp> - constexpr _Tp - bit_floor(_Tp __x) noexcept - { return std::__bit_floor(__x); } - - - - - template<__unsigned_integer _Tp> - constexpr int - bit_width(_Tp __x) noexcept - { return std::__bit_width(__x); } -# 472 "/usr/include/c++/14.1.1/bit" 3 - enum class endian - { - little = 1234, - big = 4321, - native = 1234 - }; - - - - - -} -# 77 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 2 3 - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - 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"); - - - if (std::is_constant_evaluated()) - { - for(; __num > 0; ++__first1, ++__first2, --__num) - if (*__first1 != *__first2) - return *__first1 < *__first2 ? -1 : 1; - return 0; - } - else - - return __builtin_memcmp(__first1, __first2, sizeof(_Tp) * __num); - } -# 152 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - inline void - iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) - { - - - - -# 185 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - swap(*__a, *__b); - - } -# 201 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - _ForwardIterator2 - swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1, - _ForwardIterator2 __first2) - { - - - - - - ; - - for (; __first1 != __last1; ++__first1, (void)++__first2) - std::iter_swap(__first1, __first2); - return __first2; - } -# 230 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline const _Tp& - min(const _Tp& __a, const _Tp& __b) - { - - - - if (__b < __a) - return __b; - return __a; - } -# 254 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline const _Tp& - max(const _Tp& __a, const _Tp& __b) - { - - - - if (__a < __b) - return __b; - return __a; - } -# 278 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline const _Tp& - min(const _Tp& __a, const _Tp& __b, _Compare __comp) - { - - if (__comp(__b, __a)) - return __b; - return __a; - } -# 300 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline const _Tp& - max(const _Tp& __a, const _Tp& __b, _Compare __comp) - { - - if (__comp(__a, __b)) - return __b; - return __a; - } - - - - template - constexpr - inline _Iterator - __niter_base(_Iterator __it) - noexcept(std::is_nothrow_copy_constructible<_Iterator>::value) - { return __it; } -# 332 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - decltype(std::__niter_base(std::declval<_Ite>())) - __niter_base(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, - std::random_access_iterator_tag>&) - noexcept(std::is_nothrow_copy_constructible<_Ite>::value); - - - - - - template - constexpr - inline _From - __niter_wrap(_From __from, _To __res) - { return __from + (std::__niter_base(__res) - std::__niter_base(__from)); } - - - template - constexpr - inline _Iterator - __niter_wrap(const _Iterator&, _Iterator __res) - { return __res; } - - - - - - - - template - struct __copy_move - { - template - constexpr - 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 - constexpr - 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 - constexpr - 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 - static void - __assign_one(_Tp* __to, _Up* __from) - { *__to = *__from; } - }; - - - template<> - struct __copy_move - { - template - constexpr - 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 - static void - __assign_one(_Tp* __to, _Up* __from) - { *__to = std::move(*__from); } - }; - - - template - struct __copy_move<_IsMove, true, random_access_iterator_tag> - { - template - constexpr - static _Up* - __copy_m(_Tp* __first, _Tp* __last, _Up* __result) - { - const ptrdiff_t _Num = __last - __first; - if (__builtin_expect(_Num > 1, true)) - __builtin_memmove(__result, __first, sizeof(_Tp) * _Num); - else if (_Num == 1) - std::__copy_move<_IsMove, false, random_access_iterator_tag>:: - __assign_one(__result, __first); - 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 - constexpr - inline _OI - __copy_move_a2(_II __first, _II __last, _OI __result) - { - typedef typename iterator_traits<_II>::iterator_category _Category; - - if (std::is_constant_evaluated()) - return std::__copy_move<_IsMove, false, _Category>:: - __copy_m(__first, __last, __result); - - 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 - constexpr - inline _OI - __copy_move_a1(_II __first, _II __last, _OI __result) - { return std::__copy_move_a2<_IsMove>(__first, __last, __result); } - - template - constexpr - 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 - constexpr - _OI - __copy_move_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, - const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, - _OI); - - template - constexpr - __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat> - __copy_move_a(_II, _II, - const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&); - - template - constexpr - ::__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 - constexpr - _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); -# 639 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - 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); - } -# 672 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - 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 - constexpr - static _BI2 - __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) - { - while (__first != __last) - *--__result = *--__last; - return __result; - } - }; - - - template - struct __copy_move_backward - { - template - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - static _Up* - __copy_move_b(_Tp* __first, _Tp* __last, _Up* __result) - { - const ptrdiff_t _Num = __last - __first; - if (__builtin_expect(_Num > 1, true)) - __builtin_memmove(__result - _Num, __first, sizeof(_Tp) * _Num); - else if (_Num == 1) - std::__copy_move<_IsMove, false, random_access_iterator_tag>:: - __assign_one(__result - 1, __first); - return __result - _Num; - } - }; - - template - constexpr - inline _BI2 - __copy_move_backward_a2(_BI1 __first, _BI1 __last, _BI2 __result) - { - typedef typename iterator_traits<_BI1>::iterator_category _Category; - - if (std::is_constant_evaluated()) - return std::__copy_move_backward<_IsMove, false, _Category>:: - __copy_move_b(__first, __last, __result); - - return std::__copy_move_backward<_IsMove, - __memcpyable<_BI2, _BI1>::__value, - _Category>::__copy_move_b(__first, - __last, - __result); - } - - template - constexpr - 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 - constexpr - 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 - constexpr - _OI - __copy_move_backward_a( - const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, - const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, - _OI); - - template - constexpr - __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat> - __copy_move_backward_a(_II, _II, - const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&); - - template - constexpr - ::__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>&); -# 875 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - 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); - } -# 910 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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; - - if (std::is_constant_evaluated()) - { - for (; __first != __last; ++__first) - *__first = __tmp; - return; - } - - if (const size_t __len = __last - __first) - __builtin_memset(__first, static_cast(__tmp), __len); - } - - template - constexpr - 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&); - - constexpr - void - __fill_a1(std::_Bit_iterator, std::_Bit_iterator, - const bool&); - - template - constexpr - inline void - __fill_a(_FIte __first, _FIte __last, const _Tp& __value) - { std::__fill_a1(__first, __last, __value); } - - template - constexpr - void - __fill_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, - const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, - const _Tp&); -# 1019 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - 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; } - - - __extension__ inline constexpr __int128 - __size_to_integer(__int128 __n) { return __n; } - __extension__ inline constexpr unsigned __int128 - __size_to_integer(unsigned __int128 __n) { return __n; } -# 1071 "/usr/include/c++/14.1.1/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; } - - __extension__ inline constexpr long long - __size_to_integer(__float128 __n) { return (long long)__n; } - - - template - constexpr - 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 - constexpr - 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 - constexpr - ::__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 - constexpr - 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 - constexpr - 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 - constexpr - 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; - } -# 1172 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - bool - __equal_aux(const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&, - const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&, - _II2); - - template - constexpr - bool - __equal_aux(_II1, _II1, - const ::__gnu_debug::_Safe_iterator<_II2, _Seq2, _Cat2>&); - - template - constexpr - 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 - constexpr - static _II1 - __newlast1(_II1, _II1 __last1, _II2, _II2) - { return __last1; } - - template - constexpr - static bool - __cnd2(_II __first, _II __last) - { return __first != __last; } - }; - - template<> - struct __lc_rai - { - template - constexpr - 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 constexpr bool - __cnd2(_RAI, _RAI) - { return true; } - }; - - template - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - static bool - __lc(const _Tp* __first1, const _Tp* __last1, - const _Up* __first2, const _Up* __last2) - { return __3way(__first1, __last1, __first2, __last2) < 0; } - - template - constexpr - 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 - constexpr - 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 - - - - - && !is_volatile_v>> - && !is_volatile_v>> - - ); - - 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 - constexpr - 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 - constexpr - bool - __lexicographical_compare_aux( - const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&, - const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&, - _II2, _II2); - - template - constexpr - bool - __lexicographical_compare_aux( - _II1, _II1, - const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&, - const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&); - - template - constexpr - 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 - constexpr - _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; - } -# 1524 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline _ForwardIterator - lower_bound(_ForwardIterator __first, _ForwardIterator __last, - const _Tp& __val) - { - - - - - ; - - return std::__lower_bound(__first, __last, __val, - __gnu_cxx::__ops::__iter_less_val()); - } - - - - template - inline constexpr _Tp - __lg(_Tp __n) - { - - return std::__bit_width(make_unsigned_t<_Tp>(__n)) - 1; -# 1557 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - } - - -# 1573 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline bool - equal(_II1 __first1, _II1 __last1, _II2 __first2) - { - - - - - - - ; - - return std::__equal_aux(__first1, __last1, __first2); - } -# 1604 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - 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 - constexpr - 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 - constexpr - 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; - } -# 1691 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline bool - equal(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) - { - - - - - - - ; - ; - - return std::__equal4(__first1, __last1, __first2, __last2); - } -# 1724 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline bool - equal(_IIter1 __first1, _IIter1 __last1, - _IIter2 __first2, _IIter2 __last2, _BinaryPredicate __binary_pred) - { - - - - ; - ; - - return std::__equal4(__first1, __last1, __first2, __last2, - __binary_pred); - } -# 1756 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline bool - lexicographical_compare(_II1 __first1, _II1 __last1, - _II2 __first2, _II2 __last2) - { - - - - - - - - - - ; - ; - - return std::__lexicographical_compare_aux(__first1, __last1, - __first2, __last2); - } -# 1791 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - 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)); - } - - - - - - template - concept __memcmp_ordered_with - = (__is_memcmp_ordered_with, - iter_value_t<_Iter2>>::__value) - && contiguous_iterator<_Iter1> && contiguous_iterator<_Iter2>; - - - - template - constexpr auto - __min_cmp(_Tp __x, _Tp __y) - { - struct _Res { - _Tp _M_min; - decltype(__x <=> __y) _M_cmp; - }; - auto __c = __x <=> __y; - if (__c > 0) - return _Res{__y, __c}; - return _Res{__x, __c}; - } -# 1845 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[nodiscard]] constexpr auto - lexicographical_compare_three_way(_InputIter1 __first1, - _InputIter1 __last1, - _InputIter2 __first2, - _InputIter2 __last2, - _Comp __comp) - -> decltype(__comp(*__first1, *__first2)) - { - - - - ; - ; - - using _Cat = decltype(__comp(*__first1, *__first2)); - static_assert(same_as, _Cat>); - - if (!std::__is_constant_evaluated()) - if constexpr (same_as<_Comp, __detail::_Synth3way> - || same_as<_Comp, compare_three_way>) - if constexpr (__memcmp_ordered_with<_InputIter1, _InputIter2>) - { - const auto [__len, __lencmp] = std:: - __min_cmp(__last1 - __first1, __last2 - __first2); - if (__len) - { - const auto __blen = __len * sizeof(*__first1); - const auto __c - = __builtin_memcmp(&*__first1, &*__first2, __blen) <=> 0; - if (__c != 0) - return __c; - } - return __lencmp; - } - - while (__first1 != __last1) - { - if (__first2 == __last2) - return strong_ordering::greater; - if (auto __cmp = __comp(*__first1, *__first2); __cmp != 0) - return __cmp; - ++__first1; - ++__first2; - } - return (__first2 == __last2) <=> true; - } - - template - constexpr auto - lexicographical_compare_three_way(_InputIter1 __first1, - _InputIter1 __last1, - _InputIter2 __first2, - _InputIter2 __last2) - { - return std:: - lexicographical_compare_three_way(__first1, __last1, __first2, __last2, - compare_three_way{}); - } - - - template - constexpr - 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); - } -# 1934 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline pair<_InputIterator1, _InputIterator2> - mismatch(_InputIterator1 __first1, _InputIterator1 __last1, - _InputIterator2 __first2) - { - - - - - - - ; - - return std::__mismatch(__first1, __last1, __first2, - __gnu_cxx::__ops::__iter_equal_to_iter()); - } -# 1968 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - 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 - constexpr - 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); - } -# 2016 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - 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()); - } -# 2052 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - 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 - constexpr - inline _InputIterator - __find_if(_InputIterator __first, _InputIterator __last, - _Predicate __pred, input_iterator_tag) - { - while (__first != __last && !__pred(__first)) - ++__first; - return __first; - } - - - template - constexpr - _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 - constexpr - inline _Iterator - __find_if(_Iterator __first, _Iterator __last, _Predicate __pred) - { - return __find_if(__first, __last, __pred, - std::__iterator_category(__first)); - } - - template - constexpr - 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 - constexpr - _ForwardIterator - __remove_if(_ForwardIterator __first, _ForwardIterator __last, - _Predicate __pred) - { - __first = std::__find_if(__first, __last, __pred); - if (__first == __last) - return __first; - _ForwardIterator __result = __first; - ++__first; - for (; __first != __last; ++__first) - if (!__pred(__first)) - { - *__result = std::move(*__first); - ++__result; - } - return __result; - } - - template - constexpr - _ForwardIterator1 - __search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, - _ForwardIterator2 __first2, _ForwardIterator2 __last2, - _BinaryPredicate __predicate) - { - - if (__first1 == __last1 || __first2 == __last2) - return __first1; - - - _ForwardIterator2 __p1(__first2); - if (++__p1 == __last2) - return std::__find_if(__first1, __last1, - __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2)); - - - _ForwardIterator1 __current = __first1; - - for (;;) - { - __first1 = - std::__find_if(__first1, __last1, - __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2)); - - if (__first1 == __last1) - return __last1; - - _ForwardIterator2 __p = __p1; - __current = __first1; - if (++__current == __last1) - return __last1; - - while (__predicate(__current, __p)) - { - if (++__p == __last2) - return __first1; - if (++__current == __last1) - return __last1; - } - ++__first1; - } - return __first1; - } - - - template - constexpr - 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; - } -# 2276 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - inline bool - is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, - _ForwardIterator2 __first2) - { - - - - - - - ; - - return std::__is_permutation(__first1, __last1, __first2, - __gnu_cxx::__ops::__iter_equal_to_iter()); - } - - - -# 2318 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - inline _ForwardIterator1 - search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, - _ForwardIterator2 __first2, _ForwardIterator2 __last2, - _BinaryPredicate __predicate) - { - - - - - - - ; - ; - - return std::__search(__first1, __last1, __first2, __last2, - __gnu_cxx::__ops::__iter_comp_iter(__predicate)); - } - - - -} -# 52 "/usr/include/c++/14.1.1/string" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/refwrap.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/refwrap.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/refwrap.h" 3 - - - - -# 1 "/usr/include/c++/14.1.1/bits/invoke.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/invoke.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/invoke.h" 3 -# 42 "/usr/include/c++/14.1.1/bits/invoke.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 53 "/usr/include/c++/14.1.1/bits/invoke.h" 3 - template::type> - constexpr _Up&& - __invfwd(typename remove_reference<_Tp>::type& __t) noexcept - { return static_cast<_Up&&>(__t); } - - template - constexpr _Res - __invoke_impl(__invoke_other, _Fn&& __f, _Args&&... __args) - { return std::forward<_Fn>(__f)(std::forward<_Args>(__args)...); } - - template - constexpr _Res - __invoke_impl(__invoke_memfun_ref, _MemFun&& __f, _Tp&& __t, - _Args&&... __args) - { return (__invfwd<_Tp>(__t).*__f)(std::forward<_Args>(__args)...); } - - template - constexpr _Res - __invoke_impl(__invoke_memfun_deref, _MemFun&& __f, _Tp&& __t, - _Args&&... __args) - { - return ((*std::forward<_Tp>(__t)).*__f)(std::forward<_Args>(__args)...); - } - - template - constexpr _Res - __invoke_impl(__invoke_memobj_ref, _MemPtr&& __f, _Tp&& __t) - { return __invfwd<_Tp>(__t).*__f; } - - template - constexpr _Res - __invoke_impl(__invoke_memobj_deref, _MemPtr&& __f, _Tp&& __t) - { return (*std::forward<_Tp>(__t)).*__f; } - - - template - constexpr typename __invoke_result<_Callable, _Args...>::type - __invoke(_Callable&& __fn, _Args&&... __args) - noexcept(__is_nothrow_invocable<_Callable, _Args...>::value) - { - using __result = __invoke_result<_Callable, _Args...>; - using __type = typename __result::type; - using __tag = typename __result::__invoke_type; - return std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn), - std::forward<_Args>(__args)...); - } - - - - template - constexpr enable_if_t, _Res> - __invoke_r(_Callable&& __fn, _Args&&... __args) - noexcept(is_nothrow_invocable_r_v<_Res, _Callable, _Args...>) - { - using __result = __invoke_result<_Callable, _Args...>; - using __type = typename __result::type; - using __tag = typename __result::__invoke_type; - if constexpr (is_void_v<_Res>) - std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn), - std::forward<_Args>(__args)...); - else - return std::__invoke_impl<__type>(__tag{}, - std::forward<_Callable>(__fn), - std::forward<_Args>(__args)...); - } -# 155 "/usr/include/c++/14.1.1/bits/invoke.h" 3 - -} -# 39 "/usr/include/c++/14.1.1/bits/refwrap.h" 2 3 - - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 56 "/usr/include/c++/14.1.1/bits/refwrap.h" 3 - template - struct _Maybe_unary_or_binary_function { }; - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - - - template - struct _Maybe_unary_or_binary_function<_Res, _T1> - : std::unary_function<_T1, _Res> { }; - - - template - struct _Maybe_unary_or_binary_function<_Res, _T1, _T2> - : std::binary_function<_T1, _T2, _Res> { }; - -#pragma GCC diagnostic pop - - template - struct _Mem_fn_traits; - - template - struct _Mem_fn_traits_base - { - using __result_type = _Res; - using __maybe_type - = _Maybe_unary_or_binary_function<_Res, _Class*, _ArgTypes...>; - using __arity = integral_constant; - }; -# 107 "/usr/include/c++/14.1.1/bits/refwrap.h" 3 -template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; -template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; -template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; - - -template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; -template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) & noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) & noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const & noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const & noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile & noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile & noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile & noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile & noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; -template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) && noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) && noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const && noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const && noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile && noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile && noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile && noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile && noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; - - - - - - - template> - struct _Maybe_get_result_type - { }; - - template - struct _Maybe_get_result_type<_Functor, - __void_t> - { typedef typename _Functor::result_type result_type; }; - - - - - - template - struct _Weak_result_type_impl - : _Maybe_get_result_type<_Functor> - { }; - - - template - struct _Weak_result_type_impl<_Res(_ArgTypes...) noexcept (_NE)> - { typedef _Res result_type; }; - - - template - struct _Weak_result_type_impl<_Res(_ArgTypes......) noexcept (_NE)> - { typedef _Res result_type; }; - - - template - struct _Weak_result_type_impl<_Res(*)(_ArgTypes...) noexcept (_NE)> - { typedef _Res result_type; }; - - - template - struct - _Weak_result_type_impl<_Res(*)(_ArgTypes......) noexcept (_NE)> - { typedef _Res result_type; }; - - - template::value> - struct _Weak_result_type_memfun - : _Weak_result_type_impl<_Functor> - { }; - - - template - struct _Weak_result_type_memfun<_MemFunPtr, true> - { - using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type; - }; - - - template - struct _Weak_result_type_memfun<_Func _Class::*, false> - { }; - - - - - - template - struct _Weak_result_type - : _Weak_result_type_memfun::type> - { }; -# 306 "/usr/include/c++/14.1.1/bits/refwrap.h" 3 - template - class reference_wrapper - - - - - - { - _Tp* _M_data; - - constexpr - static _Tp* _S_fun(_Tp& __r) noexcept { return std::__addressof(__r); } - - static void _S_fun(_Tp&&) = delete; - - template> - using __not_same - = typename enable_if::value>::type; - - public: - typedef _Tp type; - - - - - template, typename - = decltype(reference_wrapper::_S_fun(std::declval<_Up>()))> - constexpr - reference_wrapper(_Up&& __uref) - noexcept(noexcept(reference_wrapper::_S_fun(std::declval<_Up>()))) - : _M_data(reference_wrapper::_S_fun(std::forward<_Up>(__uref))) - { } - - reference_wrapper(const reference_wrapper&) = default; - - reference_wrapper& - operator=(const reference_wrapper&) = default; - - constexpr - operator _Tp&() const noexcept - { return this->get(); } - - constexpr - _Tp& - get() const noexcept - { return *_M_data; } - - template - constexpr - typename __invoke_result<_Tp&, _Args...>::type - operator()(_Args&&... __args) const - noexcept(__is_nothrow_invocable<_Tp&, _Args...>::value) - { - - if constexpr (is_object_v) - static_assert(sizeof(type), "type must be complete"); - - return std::__invoke(get(), std::forward<_Args>(__args)...); - } -# 412 "/usr/include/c++/14.1.1/bits/refwrap.h" 3 - }; - - - template - reference_wrapper(_Tp&) -> reference_wrapper<_Tp>; - - - - - - template - constexpr - inline reference_wrapper<_Tp> - ref(_Tp& __t) noexcept - { return reference_wrapper<_Tp>(__t); } - - - template - constexpr - inline reference_wrapper - cref(const _Tp& __t) noexcept - { return reference_wrapper(__t); } - - template - void ref(const _Tp&&) = delete; - - template - void cref(const _Tp&&) = delete; - - - template - constexpr - inline reference_wrapper<_Tp> - ref(reference_wrapper<_Tp> __t) noexcept - { return __t; } - - - template - constexpr - inline reference_wrapper - cref(reference_wrapper<_Tp> __t) noexcept - { return { __t.get() }; } - - - - -} -# 53 "/usr/include/c++/14.1.1/string" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/range_access.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/range_access.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/range_access.h" 3 - - -# 1 "/usr/include/c++/14.1.1/initializer_list" 1 3 -# 33 "/usr/include/c++/14.1.1/initializer_list" 3 - -# 34 "/usr/include/c++/14.1.1/initializer_list" 3 - - - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - 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(); } -} -# 37 "/usr/include/c++/14.1.1/bits/range_access.h" 2 3 - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - begin(_Container& __cont) -> decltype(__cont.begin()) - { return __cont.begin(); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - begin(const _Container& __cont) -> decltype(__cont.begin()) - { return __cont.begin(); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - end(_Container& __cont) -> decltype(__cont.end()) - { return __cont.end(); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - end(const _Container& __cont) -> decltype(__cont.end()) - { return __cont.end(); } - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr _Tp* - begin(_Tp (&__arr)[_Nm]) noexcept - { return __arr; } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - 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 - [[__nodiscard__, __gnu__::__always_inline__]] - constexpr auto - cbegin(const _Container& __cont) noexcept(noexcept(std::begin(__cont))) - -> decltype(std::begin(__cont)) - { return std::begin(__cont); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - constexpr auto - cend(const _Container& __cont) noexcept(noexcept(std::end(__cont))) - -> decltype(std::end(__cont)) - { return std::end(__cont); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - rbegin(_Container& __cont) -> decltype(__cont.rbegin()) - { return __cont.rbegin(); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - rbegin(const _Container& __cont) -> decltype(__cont.rbegin()) - { return __cont.rbegin(); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - rend(_Container& __cont) -> decltype(__cont.rend()) - { return __cont.rend(); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - rend(const _Container& __cont) -> decltype(__cont.rend()) - { return __cont.rend(); } - - - - - - - template - [[__nodiscard__]] - inline constexpr reverse_iterator<_Tp*> - rbegin(_Tp (&__arr)[_Nm]) noexcept - { return reverse_iterator<_Tp*>(__arr + _Nm); } - - - - - - - template - [[__nodiscard__]] - inline constexpr reverse_iterator<_Tp*> - rend(_Tp (&__arr)[_Nm]) noexcept - { return reverse_iterator<_Tp*>(__arr); } - - - - - - - template - [[__nodiscard__]] - inline constexpr reverse_iterator - rbegin(initializer_list<_Tp> __il) noexcept - { return reverse_iterator(__il.end()); } - - - - - - - template - [[__nodiscard__]] - inline constexpr reverse_iterator - rend(initializer_list<_Tp> __il) noexcept - { return reverse_iterator(__il.begin()); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - crbegin(const _Container& __cont) -> decltype(std::rbegin(__cont)) - { return std::rbegin(__cont); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - crend(const _Container& __cont) -> decltype(std::rend(__cont)) - { return std::rend(__cont); } -# 259 "/usr/include/c++/14.1.1/bits/range_access.h" 3 - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr auto - size(const _Container& __cont) noexcept(noexcept(__cont.size())) - -> decltype(__cont.size()) - { return __cont.size(); } - - - - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr size_t - size(const _Tp (&)[_Nm]) noexcept - { return _Nm; } - - - - - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr auto - empty(const _Container& __cont) noexcept(noexcept(__cont.empty())) - -> decltype(__cont.empty()) - { return __cont.empty(); } - - - - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr bool - empty(const _Tp (&)[_Nm]) noexcept - { return false; } - - - - - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr bool - empty(initializer_list<_Tp> __il) noexcept - { return __il.size() == 0;} - - - - - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr auto - data(_Container& __cont) noexcept(noexcept(__cont.data())) - -> decltype(__cont.data()) - { return __cont.data(); } - - - - - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr auto - data(const _Container& __cont) noexcept(noexcept(__cont.data())) - -> decltype(__cont.data()) - { return __cont.data(); } - - - - - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr _Tp* - data(_Tp (&__array)[_Nm]) noexcept - { return __array; } - - - - - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr const _Tp* - data(initializer_list<_Tp> __il) noexcept - { return __il.begin(); } - - - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr auto - ssize(const _Container& __cont) - noexcept(noexcept(__cont.size())) - -> common_type_t> - { - using type = make_signed_t; - return static_cast>(__cont.size()); - } - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr ptrdiff_t - ssize(const _Tp (&)[_Num]) noexcept - { return _Num; } - - -} -# 54 "/usr/include/c++/14.1.1/string" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/basic_string.h" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - -# 38 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - -# 1 "/usr/include/c++/14.1.1/ext/alloc_traits.h" 1 3 -# 32 "/usr/include/c++/14.1.1/ext/alloc_traits.h" 3 - -# 33 "/usr/include/c++/14.1.1/ext/alloc_traits.h" 3 - -# 1 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 1 3 -# 46 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - struct __allocator_traits_base - { - template - struct __rebind : __replace_first_arg<_Tp, _Up> - { - static_assert(is_same< - typename __replace_first_arg<_Tp, typename _Tp::value_type>::type, - _Tp>::value, - "allocator_traits::rebind_alloc must be A"); - }; - - template - struct __rebind<_Tp, _Up, - __void_t::other>> - { - using type = typename _Tp::template rebind<_Up>::other; - - static_assert(is_same< - typename _Tp::template rebind::other, - _Tp>::value, - "allocator_traits::rebind_alloc must be A"); - }; - - 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 = __type_identity; - }; - - template - using __alloc_rebind - = typename __allocator_traits_base::template __rebind<_Alloc, _Up>::type; -# 105 "/usr/include/c++/14.1.1/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 - = typename __detected_or_t, __equal, _Alloc>::type; - - 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) - { - - - - std::construct_at(__p, 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: -# 332 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - [[__nodiscard__]] static constexpr pointer - allocate(_Alloc& __a, size_type __n) - { return __a.allocate(__n); } -# 347 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - [[__nodiscard__]] static constexpr pointer - allocate(_Alloc& __a, size_type __n, const_void_pointer __hint) - { return _S_allocate(__a, __n, __hint, 0); } -# 359 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - static constexpr void - deallocate(_Alloc& __a, pointer __p, size_type __n) - { __a.deallocate(__p, __n); } -# 374 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - static constexpr 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)...); } -# 390 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - static constexpr void - destroy(_Alloc& __a, _Tp* __p) - noexcept(noexcept(_S_destroy(__a, __p, 0))) - { _S_destroy(__a, __p, 0); } -# 404 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - static constexpr size_type - max_size(const _Alloc& __a) noexcept - { return _S_max_size(__a, 0); } -# 416 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - static constexpr _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>; -# 475 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - [[__nodiscard__,__gnu__::__always_inline__]] - static constexpr pointer - allocate(allocator_type& __a, size_type __n) - { return __a.allocate(__n); } -# 490 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - [[__nodiscard__,__gnu__::__always_inline__]] - static constexpr pointer - allocate(allocator_type& __a, size_type __n, - [[maybe_unused]] const_void_pointer __hint) - { - - - - return __a.allocate(__n); - - } -# 510 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - [[__gnu__::__always_inline__]] - static constexpr void - deallocate(allocator_type& __a, pointer __p, size_type __n) - { __a.deallocate(__p, __n); } -# 526 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - [[__gnu__::__always_inline__]] - static constexpr void - construct(allocator_type& __a __attribute__((__unused__)), _Up* __p, - _Args&&... __args) - noexcept(std::is_nothrow_constructible<_Up, _Args...>::value) - { - - - - std::construct_at(__p, std::forward<_Args>(__args)...); - - } -# 547 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - [[__gnu__::__always_inline__]] - static constexpr void - destroy(allocator_type& __a __attribute__((__unused__)), _Up* __p) - noexcept(is_nothrow_destructible<_Up>::value) - { - - - - std::destroy_at(__p); - - } - - - - - - - [[__gnu__::__always_inline__]] - static constexpr size_type - max_size(const allocator_type& __a __attribute__((__unused__))) noexcept - { - - - - return size_t(-1) / sizeof(value_type); - - } - - - - - - - [[__gnu__::__always_inline__]] - static constexpr 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; -# 652 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - [[__gnu__::__always_inline__]] - static constexpr void - construct(allocator_type&, _Up* __p, _Args&&... __args) - noexcept(std::is_nothrow_constructible<_Up, _Args...>::value) - { std::_Construct(__p, std::forward<_Args>(__args)...); } -# 666 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - [[__gnu__::__always_inline__]] - static constexpr void - destroy(allocator_type&, _Up* __p) - noexcept(is_nothrow_destructible<_Up>::value) - { std::_Destroy(__p); } - - - static size_type - max_size(const allocator_type&) = delete; - - - - - - - [[__gnu__::__always_inline__]] - static constexpr allocator_type - select_on_container_copy_construction(const allocator_type& __rhs) - { return __rhs; } - }; -# 704 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - [[__gnu__::__always_inline__]] - constexpr inline void - __alloc_on_copy(_Alloc& __one, const _Alloc& __two) - { - using __traits = allocator_traits<_Alloc>; - using __pocca = - typename __traits::propagate_on_container_copy_assignment::type; - - if constexpr (__pocca::value) - __one = __two; - - - - } - - template - [[__gnu__::__always_inline__]] - constexpr _Alloc - __alloc_on_copy(const _Alloc& __a) - { - typedef allocator_traits<_Alloc> __traits; - return __traits::select_on_container_copy_construction(__a); - } -# 741 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - [[__gnu__::__always_inline__]] - constexpr inline void - __alloc_on_move(_Alloc& __one, _Alloc& __two) - { - using __traits = allocator_traits<_Alloc>; - using __pocma - = typename __traits::propagate_on_container_move_assignment::type; - - if constexpr (__pocma::value) - __one = std::move(__two); - - - - } -# 772 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - [[__gnu__::__always_inline__]] - constexpr inline void - __alloc_on_swap(_Alloc& __one, _Alloc& __two) - { - using __traits = allocator_traits<_Alloc>; - using __pocs = typename __traits::propagate_on_container_swap::type; - - 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; - - - template - concept __allocator_like = requires (_Alloc& __a) { - typename _Alloc::value_type; - __a.deallocate(__a.allocate(1u), 1u); - }; - - - - - - - - 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, - 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> - { - constexpr - 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; } - - - - } - }; -# 922 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - constexpr - void - _Destroy(_ForwardIterator __first, _ForwardIterator __last, - _Allocator& __alloc) - { - for (; __first != __last; ++__first) - - - - allocator_traits<_Allocator>::destroy(__alloc, - std::__addressof(*__first)); - - } - - - template - __attribute__((__always_inline__)) constexpr - inline void - _Destroy(_ForwardIterator __first, _ForwardIterator __last, - allocator<_Tp>&) - { - std::_Destroy(__first, __last); - } - - - - -} -# 35 "/usr/include/c++/14.1.1/ext/alloc_traits.h" 2 3 - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - - - - - - -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 - [[__gnu__::__always_inline__]] - 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 - [[__gnu__::__always_inline__]] - 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)); } - - [[__gnu__::__always_inline__]] - static constexpr _Alloc _S_select_on_copy(const _Alloc& __a) - { return _Base_type::select_on_container_copy_construction(__a); } - - [[__gnu__::__always_inline__]] - static constexpr void _S_on_swap(_Alloc& __a, _Alloc& __b) - { std::__alloc_on_swap(__a, __b); } - - [[__gnu__::__always_inline__]] - static constexpr bool _S_propagate_on_copy_assign() - { return _Base_type::propagate_on_container_copy_assignment::value; } - - [[__gnu__::__always_inline__]] - static constexpr bool _S_propagate_on_move_assign() - { return _Base_type::propagate_on_container_move_assignment::value; } - - [[__gnu__::__always_inline__]] - static constexpr bool _S_propagate_on_swap() - { return _Base_type::propagate_on_container_swap::value; } - - [[__gnu__::__always_inline__]] - static constexpr bool _S_always_equal() - { return _Base_type::is_always_equal::value; } - - __attribute__((__always_inline__)) - 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; }; -# 180 "/usr/include/c++/14.1.1/ext/alloc_traits.h" 3 - }; - - -} -# 40 "/usr/include/c++/14.1.1/bits/basic_string.h" 2 3 - - - - - - - -# 1 "/usr/include/c++/14.1.1/string_view" 1 3 -# 36 "/usr/include/c++/14.1.1/string_view" 3 - -# 37 "/usr/include/c++/14.1.1/string_view" 3 - - - - - - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 45 "/usr/include/c++/14.1.1/string_view" 2 3 - - - - - -# 1 "/usr/include/c++/14.1.1/bits/functional_hash.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/functional_hash.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/functional_hash.h" 3 - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 50 "/usr/include/c++/14.1.1/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/include/c++/14.1.1/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()(char8_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); } }; - - - __extension__ - template<> struct hash<__int128> : public __hash_base { size_t operator()(__int128 __val) const noexcept { return static_cast(__val); } }; - __extension__ - template<> struct hash<__int128 unsigned> : public __hash_base { size_t operator()(__int128 unsigned __val) const noexcept { return static_cast(__val); } }; -# 201 "/usr/include/c++/14.1.1/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; } - }; -# 294 "/usr/include/c++/14.1.1/bits/functional_hash.h" 3 - template - struct __is_fast_hash : public std::true_type - { }; - - template<> - struct __is_fast_hash> : public std::false_type - { }; - - -} -# 51 "/usr/include/c++/14.1.1/string_view" 2 3 - - - - - -# 1 "/usr/include/c++/14.1.1/bits/ranges_base.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - - - - - -# 1 "/usr/include/c++/14.1.1/bits/max_size_type.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/max_size_type.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/max_size_type.h" 3 - - - -# 1 "/usr/include/c++/14.1.1/numbers" 1 3 -# 32 "/usr/include/c++/14.1.1/numbers" 3 - -# 33 "/usr/include/c++/14.1.1/numbers" 3 - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 36 "/usr/include/c++/14.1.1/numbers" 2 3 - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - - -namespace numbers -{ - - - template - using _Enable_if_floating = enable_if_t, _Tp>; - - - - template - inline constexpr _Tp e_v - = _Enable_if_floating<_Tp>(2.718281828459045235360287471352662498L); - - - template - inline constexpr _Tp log2e_v - = _Enable_if_floating<_Tp>(1.442695040888963407359924681001892137L); - - - template - inline constexpr _Tp log10e_v - = _Enable_if_floating<_Tp>(0.434294481903251827651128918916605082L); - - - template - inline constexpr _Tp pi_v - = _Enable_if_floating<_Tp>(3.141592653589793238462643383279502884L); - - - template - inline constexpr _Tp inv_pi_v - = _Enable_if_floating<_Tp>(0.318309886183790671537767526745028724L); - - - template - inline constexpr _Tp inv_sqrtpi_v - = _Enable_if_floating<_Tp>(0.564189583547756286948079451560772586L); - - - template - inline constexpr _Tp ln2_v - = _Enable_if_floating<_Tp>(0.693147180559945309417232121458176568L); - - - template - inline constexpr _Tp ln10_v - = _Enable_if_floating<_Tp>(2.302585092994045684017991454684364208L); - - - template - inline constexpr _Tp sqrt2_v - = _Enable_if_floating<_Tp>(1.414213562373095048801688724209698079L); - - - template - inline constexpr _Tp sqrt3_v - = _Enable_if_floating<_Tp>(1.732050807568877293527446341505872367L); - - - template - inline constexpr _Tp inv_sqrt3_v - = _Enable_if_floating<_Tp>(0.577350269189625764509148780501957456L); - - - template - inline constexpr _Tp egamma_v - = _Enable_if_floating<_Tp>(0.577215664901532860606512090082402431L); - - - template - inline constexpr _Tp phi_v - = _Enable_if_floating<_Tp>(1.618033988749894848204586834365638118L); - - inline constexpr double e = e_v; - inline constexpr double log2e = log2e_v; - inline constexpr double log10e = log10e_v; - inline constexpr double pi = pi_v; - inline constexpr double inv_pi = inv_pi_v; - inline constexpr double inv_sqrtpi = inv_sqrtpi_v; - inline constexpr double ln2 = ln2_v; - inline constexpr double ln10 = ln10_v; - inline constexpr double sqrt2 = sqrt2_v; - inline constexpr double sqrt3 = sqrt3_v; - inline constexpr double inv_sqrt3 = inv_sqrt3_v; - inline constexpr double egamma = egamma_v; - inline constexpr double phi = phi_v; -# 225 "/usr/include/c++/14.1.1/numbers" 3 -template<> inline constexpr __float128 e_v<__float128> = 2.718281828459045235360287471352662498Q; template<> inline constexpr __float128 log2e_v<__float128> = 1.442695040888963407359924681001892137Q; template<> inline constexpr __float128 log10e_v<__float128> = 0.434294481903251827651128918916605082Q; template<> inline constexpr __float128 pi_v<__float128> = 3.141592653589793238462643383279502884Q; template<> inline constexpr __float128 inv_pi_v<__float128> = 0.318309886183790671537767526745028724Q; template<> inline constexpr __float128 inv_sqrtpi_v<__float128> = 0.564189583547756286948079451560772586Q; template<> inline constexpr __float128 ln2_v<__float128> = 0.693147180559945309417232121458176568Q; template<> inline constexpr __float128 ln10_v<__float128> = 2.302585092994045684017991454684364208Q; template<> inline constexpr __float128 sqrt2_v<__float128> = 1.414213562373095048801688724209698079Q; template<> inline constexpr __float128 sqrt3_v<__float128> = 1.732050807568877293527446341505872367Q; template<> inline constexpr __float128 inv_sqrt3_v<__float128> = 0.577350269189625764509148780501957456Q; template<> inline constexpr __float128 egamma_v<__float128> = 0.577215664901532860606512090082402431Q; template<> inline constexpr __float128 phi_v<__float128> = 1.618033988749894848204586834365638118Q; - - - - -} - - -} -# 38 "/usr/include/c++/14.1.1/bits/max_size_type.h" 2 3 -# 48 "/usr/include/c++/14.1.1/bits/max_size_type.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - -template - struct numeric_limits; - -namespace ranges -{ - namespace __detail - { - class __max_size_type - { - public: - __max_size_type() = default; - - template requires integral<_Tp> || __is_int128<_Tp> - constexpr - __max_size_type(_Tp __i) noexcept - : _M_val(__i), _M_msb(__i < 0) - { } - - constexpr explicit - __max_size_type(const __max_diff_type& __d) noexcept; - - template requires integral<_Tp> || __is_int128<_Tp> - constexpr explicit - operator _Tp() const noexcept - { return _M_val; } - - constexpr explicit - operator bool() const noexcept - { return _M_val != 0 || _M_msb != 0; } - - constexpr __max_size_type - operator+() const noexcept - { return *this; } - - constexpr __max_size_type - operator~() const noexcept - { return __max_size_type{~_M_val, !_M_msb}; } - - constexpr __max_size_type - operator-() const noexcept - { return operator~() + 1; } - - constexpr __max_size_type& - operator++() noexcept - { return *this += 1; } - - constexpr __max_size_type - operator++(int) noexcept - { - auto __tmp = *this; - ++*this; - return __tmp; - } - - constexpr __max_size_type& - operator--() noexcept - { return *this -= 1; } - - constexpr __max_size_type - operator--(int) noexcept - { - auto __tmp = *this; - --*this; - return __tmp; - } - - constexpr __max_size_type& - operator+=(const __max_size_type& __r) noexcept - { - const auto __sum = _M_val + __r._M_val; - const bool __overflow = (__sum < _M_val); - _M_msb = _M_msb ^ __r._M_msb ^ __overflow; - _M_val = __sum; - return *this; - } - - constexpr __max_size_type& - operator-=(const __max_size_type& __r) noexcept - { return *this += -__r; } - - constexpr __max_size_type& - operator*=(__max_size_type __r) noexcept - { - constexpr __max_size_type __threshold - = __rep(1) << (_S_rep_bits / 2 - 1); - if (_M_val < __threshold && __r < __threshold) - - - _M_val = _M_val * __r._M_val; - else - { - - - - const bool __lsb = _M_val & 1; - const bool __rlsb = __r._M_val & 1; - *this >>= 1; - __r >>= 1; - _M_val = (2 * _M_val * __r._M_val - + _M_val * __rlsb + __r._M_val * __lsb); - *this <<= 1; - *this += __rlsb * __lsb; - } - - return *this; - } - - constexpr __max_size_type& - operator/=(const __max_size_type& __r) noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__r != 0), false)) std::__glibcxx_assert_fail(); } while (false); - - if (!_M_msb && !__r._M_msb) [[likely]] - _M_val /= __r._M_val; - else if (_M_msb && __r._M_msb) - { - _M_val = (_M_val >= __r._M_val); - _M_msb = 0; - } - else if (!_M_msb && __r._M_msb) - _M_val = 0; - else if (_M_msb && !__r._M_msb) - { - - - - - const auto __orig = *this; - *this >>= 1; - _M_val /= __r._M_val; - *this <<= 1; - if (__orig - *this * __r >= __r) - ++_M_val; - } - return *this; - } - - constexpr __max_size_type& - operator%=(const __max_size_type& __r) noexcept - { - if (!_M_msb && !__r._M_msb) [[likely]] - _M_val %= __r._M_val; - else - *this -= (*this / __r) * __r; - return *this; - } - - constexpr __max_size_type& - operator<<=(const __max_size_type& __r) noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__r <= _S_rep_bits), false)) std::__glibcxx_assert_fail(); } while (false); - if (__r != 0) - { - _M_msb = (_M_val >> (_S_rep_bits - __r._M_val)) & 1; - - if (__r._M_val == _S_rep_bits) [[unlikely]] - _M_val = 0; - else - _M_val <<= __r._M_val; - } - return *this; - } - - constexpr __max_size_type& - operator>>=(const __max_size_type& __r) noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__r <= _S_rep_bits), false)) std::__glibcxx_assert_fail(); } while (false); - if (__r != 0) - { - if (__r._M_val == _S_rep_bits) [[unlikely]] - _M_val = 0; - else - _M_val >>= __r._M_val; - - if (_M_msb) [[unlikely]] - { - _M_val |= __rep(1) << (_S_rep_bits - __r._M_val); - _M_msb = 0; - } - } - return *this; - } - - constexpr __max_size_type& - operator&=(const __max_size_type& __r) noexcept - { - _M_val &= __r._M_val; - _M_msb &= __r._M_msb; - return *this; - } - - constexpr __max_size_type& - operator|=(const __max_size_type& __r) noexcept - { - _M_val |= __r._M_val; - _M_msb |= __r._M_msb; - return *this; - } - - constexpr __max_size_type& - operator^=(const __max_size_type& __r) noexcept - { - _M_val ^= __r._M_val; - _M_msb ^= __r._M_msb; - return *this; - } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator+=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a + __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator-=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a - __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator*=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a * __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator/=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a / __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator%=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a % __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator&=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a & __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator|=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a | __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator^=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a ^ __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator<<=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a << __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator>>=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a >> __b)); } - - friend constexpr __max_size_type - operator+(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l += __r; - return __l; - } - - friend constexpr __max_size_type - operator-(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l -= __r; - return __l; - } - - friend constexpr __max_size_type - operator*(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l *= __r; - return __l; - } - - friend constexpr __max_size_type - operator/(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l /= __r; - return __l; - } - - friend constexpr __max_size_type - operator%(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l %= __r; - return __l; - } - - friend constexpr __max_size_type - operator<<(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l <<= __r; - return __l; - } - - friend constexpr __max_size_type - operator>>(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l >>= __r; - return __l; - } - - friend constexpr __max_size_type - operator&(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l &= __r; - return __l; - } - - friend constexpr __max_size_type - operator|(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l |= __r; - return __l; - } - - friend constexpr __max_size_type - operator^(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l ^= __r; - return __l; - } - - friend constexpr bool - operator==(const __max_size_type& __l, const __max_size_type& __r) noexcept - { return __l._M_val == __r._M_val && __l._M_msb == __r._M_msb; } - - - friend constexpr strong_ordering - operator<=>(const __max_size_type& __l, const __max_size_type& __r) noexcept - { - if (__l._M_msb ^ __r._M_msb) - return __l._M_msb ? strong_ordering::greater : strong_ordering::less; - else - return __l._M_val <=> __r._M_val; - } -# 420 "/usr/include/c++/14.1.1/bits/max_size_type.h" 3 - __extension__ - using __rep = unsigned __int128; - - - - static constexpr size_t _S_rep_bits = sizeof(__rep) * 8; - private: - __rep _M_val = 0; - unsigned _M_msb:1 = 0; - - constexpr explicit - __max_size_type(__rep __val, int __msb) noexcept - : _M_val(__val), _M_msb(__msb) - { } - - friend __max_diff_type; - friend std::numeric_limits<__max_size_type>; - friend std::numeric_limits<__max_diff_type>; - }; - - class __max_diff_type - { - public: - __max_diff_type() = default; - - template requires integral<_Tp> || __is_int128<_Tp> - constexpr - __max_diff_type(_Tp __i) noexcept - : _M_rep(__i) - { } - - constexpr explicit - __max_diff_type(const __max_size_type& __d) noexcept - : _M_rep(__d) - { } - - template requires integral<_Tp> || __is_int128<_Tp> - constexpr explicit - operator _Tp() const noexcept - { return static_cast<_Tp>(_M_rep); } - - constexpr explicit - operator bool() const noexcept - { return _M_rep != 0; } - - constexpr __max_diff_type - operator+() const noexcept - { return *this; } - - constexpr __max_diff_type - operator-() const noexcept - { return __max_diff_type(-_M_rep); } - - constexpr __max_diff_type - operator~() const noexcept - { return __max_diff_type(~_M_rep); } - - constexpr __max_diff_type& - operator++() noexcept - { return *this += 1; } - - constexpr __max_diff_type - operator++(int) noexcept - { - auto __tmp = *this; - ++*this; - return __tmp; - } - - constexpr __max_diff_type& - operator--() noexcept - { return *this -= 1; } - - constexpr __max_diff_type - operator--(int) noexcept - { - auto __tmp = *this; - --*this; - return __tmp; - } - - constexpr __max_diff_type& - operator+=(const __max_diff_type& __r) noexcept - { - _M_rep += __r._M_rep; - return *this; - } - - constexpr __max_diff_type& - operator-=(const __max_diff_type& __r) noexcept - { - _M_rep -= __r._M_rep; - return *this; - } - - constexpr __max_diff_type& - operator*=(const __max_diff_type& __r) noexcept - { - _M_rep *= __r._M_rep; - return *this; - } - - constexpr __max_diff_type& - operator/=(const __max_diff_type& __r) noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__r != 0), false)) std::__glibcxx_assert_fail(); } while (false); - const bool __neg = *this < 0; - const bool __rneg = __r < 0; - if (!__neg && !__rneg) - _M_rep = _M_rep / __r._M_rep; - else if (__neg && __rneg) - _M_rep = -_M_rep / -__r._M_rep; - else if (__neg && !__rneg) - _M_rep = -(-_M_rep / __r._M_rep); - else - _M_rep = -(_M_rep / -__r._M_rep); - return *this ; - } - - constexpr __max_diff_type& - operator%=(const __max_diff_type& __r) noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__r != 0), false)) std::__glibcxx_assert_fail(); } while (false); - if (*this >= 0 && __r > 0) - _M_rep %= __r._M_rep; - else - *this -= (*this / __r) * __r; - return *this; - } - - constexpr __max_diff_type& - operator<<=(const __max_diff_type& __r) noexcept - { - _M_rep.operator<<=(__r._M_rep); - return *this; - } - - constexpr __max_diff_type& - operator>>=(const __max_diff_type& __r) noexcept - { - - const auto __msb = _M_rep._M_msb; - _M_rep >>= __r._M_rep; - if (__msb) - _M_rep |= ~(__max_size_type(-1) >> __r._M_rep); - return *this; - } - - constexpr __max_diff_type& - operator&=(const __max_diff_type& __r) noexcept - { - _M_rep &= __r._M_rep; - return *this; - } - - constexpr __max_diff_type& - operator|=(const __max_diff_type& __r) noexcept - { - _M_rep |= __r._M_rep; - return *this; - } - - constexpr __max_diff_type& - operator^=(const __max_diff_type& __r) noexcept - { - _M_rep ^= __r._M_rep; - return *this; - } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator+=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a + __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator-=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a - __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator*=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a * __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator/=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a / __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator%=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a % __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator&=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a & __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator|=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a | __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator^=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a ^ __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator<<=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a << __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator>>=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a >> __b)); } - - friend constexpr __max_diff_type - operator+(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l += __r; - return __l; - } - - friend constexpr __max_diff_type - operator-(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l -= __r; - return __l; - } - - friend constexpr __max_diff_type - operator*(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l *= __r; - return __l; - } - - friend constexpr __max_diff_type - operator/(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l /= __r; - return __l; - } - - friend constexpr __max_diff_type - operator%(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l %= __r; - return __l; - } - - friend constexpr __max_diff_type - operator<<(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l <<= __r; - return __l; - } - - friend constexpr __max_diff_type - operator>>(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l >>= __r; - return __l; - } - - friend constexpr __max_diff_type - operator&(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l &= __r; - return __l; - } - - friend constexpr __max_diff_type - operator|(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l |= __r; - return __l; - } - - friend constexpr __max_diff_type - operator^(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l ^= __r; - return __l; - } - - friend constexpr bool - operator==(const __max_diff_type& __l, const __max_diff_type& __r) noexcept - { return __l._M_rep == __r._M_rep; } - - - constexpr strong_ordering - operator<=>(const __max_diff_type& __r) const noexcept - { - const auto __lsign = _M_rep._M_msb; - const auto __rsign = __r._M_rep._M_msb; - if (__lsign ^ __rsign) - return __lsign ? strong_ordering::less : strong_ordering::greater; - else - return _M_rep <=> __r._M_rep; - } -# 753 "/usr/include/c++/14.1.1/bits/max_size_type.h" 3 - private: - __max_size_type _M_rep = 0; - - friend class __max_size_type; - }; - - constexpr - __max_size_type::__max_size_type(const __max_diff_type& __d) noexcept - : __max_size_type(__d._M_rep) - { } - - } -} - - template<> - struct numeric_limits - { - using _Sp = ranges::__detail::__max_size_type; - static constexpr bool is_specialized = true; - static constexpr bool is_signed = false; - static constexpr bool is_integer = true; - static constexpr bool is_exact = true; - static constexpr int digits - = __gnu_cxx::__int_traits<_Sp::__rep>::__digits + 1; - static constexpr int digits10 - = static_cast(digits * numbers::ln2 / numbers::ln10); - - static constexpr _Sp - min() noexcept - { return 0; } - - static constexpr _Sp - max() noexcept - { return _Sp(static_cast<_Sp::__rep>(-1), 1); } - - static constexpr _Sp - lowest() noexcept - { return min(); } - }; - - template<> - struct numeric_limits - { - using _Dp = ranges::__detail::__max_diff_type; - using _Sp = ranges::__detail::__max_size_type; - static constexpr bool is_specialized = true; - static constexpr bool is_signed = true; - static constexpr bool is_integer = true; - static constexpr bool is_exact = true; - static constexpr int digits = numeric_limits<_Sp>::digits - 1; - static constexpr int digits10 - = static_cast(digits * numbers::ln2 / numbers::ln10); - - static constexpr _Dp - min() noexcept - { return _Dp(_Sp(0, 1)); } - - static constexpr _Dp - max() noexcept - { return _Dp(_Sp(static_cast<_Sp::__rep>(-1), 0)); } - - static constexpr _Dp - lowest() noexcept - { return min(); } - }; - - -} -# 40 "/usr/include/c++/14.1.1/bits/ranges_base.h" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 41 "/usr/include/c++/14.1.1/bits/ranges_base.h" 2 3 - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -namespace ranges -{ - template - inline constexpr bool disable_sized_range = false; - - template - inline constexpr bool enable_borrowed_range = false; - - namespace __detail - { - constexpr __max_size_type - __to_unsigned_like(__max_size_type __t) noexcept - { return __t; } - - constexpr __max_size_type - __to_unsigned_like(__max_diff_type __t) noexcept - { return __max_size_type(__t); } - - template - constexpr auto - __to_unsigned_like(_Tp __t) noexcept - { return static_cast>(__t); } -# 79 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - template - using __make_unsigned_like_t - = decltype(__detail::__to_unsigned_like(std::declval<_Tp>())); - - - template - concept __maybe_borrowed_range - = is_lvalue_reference_v<_Tp> - || enable_borrowed_range>; - - } - - - namespace __access - { - using std::ranges::__detail::__maybe_borrowed_range; - using std::__detail::__range_iter_t; - - struct _Begin - { - private: - template - static constexpr bool - _S_noexcept() - { - if constexpr (is_array_v>) - return true; - else if constexpr (__member_begin<_Tp>) - return noexcept(__decay_copy(std::declval<_Tp&>().begin())); - else - return noexcept(__decay_copy(begin(std::declval<_Tp&>()))); - } - - public: - template<__maybe_borrowed_range _Tp> - requires is_array_v> || __member_begin<_Tp> - || __adl_begin<_Tp> - constexpr auto - operator()[[nodiscard]](_Tp&& __t) const noexcept(_S_noexcept<_Tp&>()) - { - if constexpr (is_array_v>) - { - static_assert(is_lvalue_reference_v<_Tp>); - return __t + 0; - } - else if constexpr (__member_begin<_Tp>) - return __t.begin(); - else - return begin(__t); - } - }; - - template - concept __member_end = requires(_Tp& __t) - { - { __decay_copy(__t.end()) } -> sentinel_for<__range_iter_t<_Tp>>; - }; - - - void end() = delete; - - template - concept __adl_end = __class_or_enum> - && requires(_Tp& __t) - { - { __decay_copy(end(__t)) } -> sentinel_for<__range_iter_t<_Tp>>; - }; - - struct _End - { - private: - template - static constexpr bool - _S_noexcept() - { - if constexpr (is_bounded_array_v>) - return true; - else if constexpr (__member_end<_Tp>) - return noexcept(__decay_copy(std::declval<_Tp&>().end())); - else - return noexcept(__decay_copy(end(std::declval<_Tp&>()))); - } - - public: - template<__maybe_borrowed_range _Tp> - requires is_bounded_array_v> - || __member_end<_Tp> || __adl_end<_Tp> - constexpr auto - operator()[[nodiscard]](_Tp&& __t) const noexcept(_S_noexcept<_Tp&>()) - { - if constexpr (is_bounded_array_v>) - { - static_assert(is_lvalue_reference_v<_Tp>); - return __t + extent_v>; - } - else if constexpr (__member_end<_Tp>) - return __t.end(); - else - return end(__t); - } - }; - - template - concept __member_rbegin = requires(_Tp& __t) - { - { __decay_copy(__t.rbegin()) } -> input_or_output_iterator; - }; - - void rbegin() = delete; - - template - concept __adl_rbegin = __class_or_enum> - && requires(_Tp& __t) - { - { __decay_copy(rbegin(__t)) } -> input_or_output_iterator; - }; - - template - concept __reversable = requires(_Tp& __t) - { - { _Begin{}(__t) } -> bidirectional_iterator; - { _End{}(__t) } -> same_as; - }; - - struct _RBegin - { - private: - template - static constexpr bool - _S_noexcept() - { - if constexpr (__member_rbegin<_Tp>) - return noexcept(__decay_copy(std::declval<_Tp&>().rbegin())); - else if constexpr (__adl_rbegin<_Tp>) - return noexcept(__decay_copy(rbegin(std::declval<_Tp&>()))); - else - { - if constexpr (noexcept(_End{}(std::declval<_Tp&>()))) - { - using _It = decltype(_End{}(std::declval<_Tp&>())); - - return is_nothrow_copy_constructible_v<_It>; - } - else - return false; - } - } - - public: - template<__maybe_borrowed_range _Tp> - requires __member_rbegin<_Tp> || __adl_rbegin<_Tp> || __reversable<_Tp> - constexpr auto - operator()[[nodiscard]](_Tp&& __t) const - noexcept(_S_noexcept<_Tp&>()) - { - if constexpr (__member_rbegin<_Tp>) - return __t.rbegin(); - else if constexpr (__adl_rbegin<_Tp>) - return rbegin(__t); - else - return std::make_reverse_iterator(_End{}(__t)); - } - }; - - template - concept __member_rend = requires(_Tp& __t) - { - { __decay_copy(__t.rend()) } - -> sentinel_for(__t)))>; - }; - - void rend() = delete; - - template - concept __adl_rend = __class_or_enum> - && requires(_Tp& __t) - { - { __decay_copy(rend(__t)) } - -> sentinel_for(__t)))>; - }; - - struct _REnd - { - private: - template - static constexpr bool - _S_noexcept() - { - if constexpr (__member_rend<_Tp>) - return noexcept(__decay_copy(std::declval<_Tp&>().rend())); - else if constexpr (__adl_rend<_Tp>) - return noexcept(__decay_copy(rend(std::declval<_Tp&>()))); - else - { - if constexpr (noexcept(_Begin{}(std::declval<_Tp&>()))) - { - using _It = decltype(_Begin{}(std::declval<_Tp&>())); - - return is_nothrow_copy_constructible_v<_It>; - } - else - return false; - } - } - - public: - template<__maybe_borrowed_range _Tp> - requires __member_rend<_Tp> || __adl_rend<_Tp> || __reversable<_Tp> - constexpr auto - operator()[[nodiscard]](_Tp&& __t) const - noexcept(_S_noexcept<_Tp&>()) - { - if constexpr (__member_rend<_Tp>) - return __t.rend(); - else if constexpr (__adl_rend<_Tp>) - return rend(__t); - else - return std::make_reverse_iterator(_Begin{}(__t)); - } - }; - - template - concept __member_size = !disable_sized_range> - && requires(_Tp& __t) - { - { __decay_copy(__t.size()) } -> __detail::__is_integer_like; - }; - - void size() = delete; - - template - concept __adl_size = __class_or_enum> - && !disable_sized_range> - && requires(_Tp& __t) - { - { __decay_copy(size(__t)) } -> __detail::__is_integer_like; - }; - - template - concept __sentinel_size = requires(_Tp& __t) - { - requires (!is_unbounded_array_v>); - - { _Begin{}(__t) } -> forward_iterator; - - { _End{}(__t) } -> sized_sentinel_for; - - __detail::__to_unsigned_like(_End{}(__t) - _Begin{}(__t)); - }; - - struct _Size - { - private: - template - static constexpr bool - _S_noexcept() - { - if constexpr (is_bounded_array_v>) - return true; - else if constexpr (__member_size<_Tp>) - return noexcept(__decay_copy(std::declval<_Tp&>().size())); - else if constexpr (__adl_size<_Tp>) - return noexcept(__decay_copy(size(std::declval<_Tp&>()))); - else if constexpr (__sentinel_size<_Tp>) - return noexcept(_End{}(std::declval<_Tp&>()) - - _Begin{}(std::declval<_Tp&>())); - } - - public: - template - requires is_bounded_array_v> - || __member_size<_Tp> || __adl_size<_Tp> || __sentinel_size<_Tp> - constexpr auto - operator()[[nodiscard]](_Tp&& __t) const noexcept(_S_noexcept<_Tp&>()) - { - if constexpr (is_bounded_array_v>) - return extent_v>; - else if constexpr (__member_size<_Tp>) - return __t.size(); - else if constexpr (__adl_size<_Tp>) - return size(__t); - else if constexpr (__sentinel_size<_Tp>) - return __detail::__to_unsigned_like(_End{}(__t) - _Begin{}(__t)); - } - }; - - struct _SSize - { - - - template - requires requires (_Tp& __t) { _Size{}(__t); } - constexpr auto - operator()[[nodiscard]](_Tp&& __t) const noexcept(noexcept(_Size{}(__t))) - { - auto __size = _Size{}(__t); - using __size_type = decltype(__size); - - if constexpr (integral<__size_type>) - { - using __gnu_cxx::__int_traits; - if constexpr (__int_traits<__size_type>::__digits - < __int_traits::__digits) - return static_cast(__size); - else - return static_cast>(__size); - } - - - - - - else - return __detail::__max_diff_type(__size); - } - }; - - template - concept __member_empty = requires(_Tp& __t) { bool(__t.empty()); }; - - template - concept __size0_empty = requires(_Tp& __t) { _Size{}(__t) == 0; }; - - template - concept __eq_iter_empty = requires(_Tp& __t) - { - requires (!is_unbounded_array_v>); - - { _Begin{}(__t) } -> forward_iterator; - - bool(_Begin{}(__t) == _End{}(__t)); - }; - - struct _Empty - { - private: - template - static constexpr bool - _S_noexcept() - { - if constexpr (__member_empty<_Tp>) - return noexcept(bool(std::declval<_Tp&>().empty())); - else if constexpr (__size0_empty<_Tp>) - return noexcept(_Size{}(std::declval<_Tp&>()) == 0); - else - return noexcept(bool(_Begin{}(std::declval<_Tp&>()) - == _End{}(std::declval<_Tp&>()))); - } - - public: - template - requires __member_empty<_Tp> || __size0_empty<_Tp> - || __eq_iter_empty<_Tp> - constexpr bool - operator()[[nodiscard]](_Tp&& __t) const noexcept(_S_noexcept<_Tp&>()) - { - if constexpr (__member_empty<_Tp>) - return bool(__t.empty()); - else if constexpr (__size0_empty<_Tp>) - return _Size{}(__t) == 0; - else - return bool(_Begin{}(__t) == _End{}(__t)); - } - }; - - template - concept __pointer_to_object = is_pointer_v<_Tp> - && is_object_v>; - - template - concept __member_data = requires(_Tp& __t) - { - { __decay_copy(__t.data()) } -> __pointer_to_object; - }; - - template - concept __begin_data = contiguous_iterator<__range_iter_t<_Tp>>; - - struct _Data - { - private: - template - static constexpr bool - _S_noexcept() - { - if constexpr (__member_data<_Tp>) - return noexcept(__decay_copy(std::declval<_Tp&>().data())); - else - return noexcept(_Begin{}(std::declval<_Tp&>())); - } - - public: - template<__maybe_borrowed_range _Tp> - requires __member_data<_Tp> || __begin_data<_Tp> - constexpr auto - operator()[[nodiscard]](_Tp&& __t) const noexcept(_S_noexcept<_Tp>()) - { - if constexpr (__member_data<_Tp>) - return __t.data(); - else - return std::to_address(_Begin{}(__t)); - } - }; - - } - - inline namespace _Cpo - { - inline constexpr ranges::__access::_Begin begin{}; - inline constexpr ranges::__access::_End end{}; - inline constexpr ranges::__access::_RBegin rbegin{}; - inline constexpr ranges::__access::_REnd rend{}; - inline constexpr ranges::__access::_Size size{}; - inline constexpr ranges::__access::_SSize ssize{}; - inline constexpr ranges::__access::_Empty empty{}; - inline constexpr ranges::__access::_Data data{}; - } - - - template - concept range = requires(_Tp& __t) - { - ranges::begin(__t); - ranges::end(__t); - }; - - - template - concept borrowed_range - = range<_Tp> && __detail::__maybe_borrowed_range<_Tp>; - - template - using iterator_t = std::__detail::__range_iter_t<_Tp>; - - template - using sentinel_t = decltype(ranges::end(std::declval<_Range&>())); -# 527 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - template - using range_difference_t = iter_difference_t>; - - template - using range_value_t = iter_value_t>; - - template - using range_reference_t = iter_reference_t>; - - template - using range_rvalue_reference_t - = iter_rvalue_reference_t>; - - - template - concept sized_range = range<_Tp> - && requires(_Tp& __t) { ranges::size(__t); }; - - template - using range_size_t = decltype(ranges::size(std::declval<_Range&>())); - - template - requires is_class_v<_Derived> && same_as<_Derived, remove_cv_t<_Derived>> - class view_interface; - - namespace __detail - { - template - requires (!same_as<_Tp, view_interface<_Up>>) - void __is_derived_from_view_interface_fn(const _Tp&, - const view_interface<_Up>&); - - - - template - concept __is_derived_from_view_interface - = requires (_Tp __t) { __is_derived_from_view_interface_fn(__t, __t); }; - } - - - struct view_base { }; - - - template - inline constexpr bool enable_view = derived_from<_Tp, view_base> - || __detail::__is_derived_from_view_interface<_Tp>; - - - template - concept view - = range<_Tp> && movable<_Tp> && enable_view<_Tp>; - - - - - template - concept output_range - = range<_Range> && output_iterator, _Tp>; - - - template - concept input_range = range<_Tp> && input_iterator>; - - - template - concept forward_range - = input_range<_Tp> && forward_iterator>; - - - template - concept bidirectional_range - = forward_range<_Tp> && bidirectional_iterator>; - - - template - concept random_access_range - = bidirectional_range<_Tp> && random_access_iterator>; - - - template - concept contiguous_range - = random_access_range<_Tp> && contiguous_iterator> - && requires(_Tp& __t) - { - { ranges::data(__t) } -> same_as>>; - }; - - - template - concept common_range - = range<_Tp> && same_as, sentinel_t<_Tp>>; - - - - - - - - namespace __access - { -# 639 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - template - constexpr decltype(auto) - __as_const(_Tp& __t) noexcept - { - static_assert(std::is_same_v<_To&, _Tp&>); - - if constexpr (is_lvalue_reference_v<_To>) - return const_cast(__t); - else - return static_cast(__t); - } - - - struct _CBegin - { -# 668 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - template - [[nodiscard]] - constexpr auto - operator()(_Tp&& __e) const - noexcept(noexcept(_Begin{}(__access::__as_const<_Tp>(__e)))) - requires requires { _Begin{}(__access::__as_const<_Tp>(__e)); } - { - return _Begin{}(__access::__as_const<_Tp>(__e)); - } - - }; - - struct _CEnd final - { -# 696 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - template - [[nodiscard]] - constexpr auto - operator()(_Tp&& __e) const - noexcept(noexcept(_End{}(__access::__as_const<_Tp>(__e)))) - requires requires { _End{}(__access::__as_const<_Tp>(__e)); } - { - return _End{}(__access::__as_const<_Tp>(__e)); - } - - }; - - struct _CRBegin - { -# 724 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - template - [[nodiscard]] - constexpr auto - operator()(_Tp&& __e) const - noexcept(noexcept(_RBegin{}(__access::__as_const<_Tp>(__e)))) - requires requires { _RBegin{}(__access::__as_const<_Tp>(__e)); } - { - return _RBegin{}(__access::__as_const<_Tp>(__e)); - } - - }; - - struct _CREnd - { -# 752 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - template - [[nodiscard]] - constexpr auto - operator()(_Tp&& __e) const - noexcept(noexcept(_REnd{}(__access::__as_const<_Tp>(__e)))) - requires requires { _REnd{}(__access::__as_const<_Tp>(__e)); } - { - return _REnd{}(__access::__as_const<_Tp>(__e)); - } - - }; - - struct _CData - { -# 775 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - template - [[nodiscard]] - constexpr auto - operator()(_Tp&& __e) const - noexcept(noexcept(_Data{}(__access::__as_const<_Tp>(__e)))) - requires requires { _Data{}(__access::__as_const<_Tp>(__e)); } - { - return _Data{}(__access::__as_const<_Tp>(__e)); - } - - }; - } - - inline namespace _Cpo - { - inline constexpr ranges::__access::_CBegin cbegin{}; - inline constexpr ranges::__access::_CEnd cend{}; - inline constexpr ranges::__access::_CRBegin crbegin{}; - inline constexpr ranges::__access::_CREnd crend{}; - inline constexpr ranges::__access::_CData cdata{}; - } - - namespace __detail - { - template - inline constexpr bool __is_initializer_list = false; - - template - inline constexpr bool __is_initializer_list> = true; - } - - - template - concept viewable_range = range<_Tp> - && ((view> && constructible_from, _Tp>) - || (!view> - && (is_lvalue_reference_v<_Tp> - || (movable> - && !__detail::__is_initializer_list>)))); - - - - struct __advance_fn final - { - template - constexpr void - operator()(_It& __it, iter_difference_t<_It> __n) const - { - if constexpr (random_access_iterator<_It>) - __it += __n; - else if constexpr (bidirectional_iterator<_It>) - { - if (__n > 0) - { - do - { - ++__it; - } - while (--__n); - } - else if (__n < 0) - { - do - { - --__it; - } - while (++__n); - } - } - else - { - - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__n >= 0), false)) std::__glibcxx_assert_fail(); } while (false); - while (__n-- > 0) - ++__it; - } - } - - template _Sent> - constexpr void - operator()(_It& __it, _Sent __bound) const - { - if constexpr (assignable_from<_It&, _Sent>) - __it = std::move(__bound); - else if constexpr (sized_sentinel_for<_Sent, _It>) - (*this)(__it, __bound - __it); - else - { - while (__it != __bound) - ++__it; - } - } - - template _Sent> - constexpr iter_difference_t<_It> - operator()(_It& __it, iter_difference_t<_It> __n, _Sent __bound) const - { - if constexpr (sized_sentinel_for<_Sent, _It>) - { - const auto __diff = __bound - __it; - - if (__diff == 0) - return __n; - else if (__diff > 0 ? __n >= __diff : __n <= __diff) - { - (*this)(__it, __bound); - return __n - __diff; - } - else if (__n != 0) [[likely]] - { - - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool((__n < 0) == (__diff < 0)), false)) std::__glibcxx_assert_fail(); } while (false); - - (*this)(__it, __n); - return 0; - } - else - return 0; - } - else if (__it == __bound || __n == 0) - return __n; - else if (__n > 0) - { - iter_difference_t<_It> __m = 0; - do - { - ++__it; - ++__m; - } - while (__m != __n && __it != __bound); - return __n - __m; - } - else if constexpr (bidirectional_iterator<_It> && same_as<_It, _Sent>) - { - iter_difference_t<_It> __m = 0; - do - { - --__it; - --__m; - } - while (__m != __n && __it != __bound); - return __n - __m; - } - else - { - - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__n >= 0), false)) std::__glibcxx_assert_fail(); } while (false); - return __n; - } - } - - void operator&() const = delete; - }; - - inline constexpr __advance_fn advance{}; - - struct __distance_fn final - { - template _Sent> - requires (!sized_sentinel_for<_Sent, _It>) - constexpr iter_difference_t<_It> - operator()[[nodiscard]](_It __first, _Sent __last) const - { - iter_difference_t<_It> __n = 0; - while (__first != __last) - { - ++__first; - ++__n; - } - return __n; - } - - template _Sent> - [[nodiscard]] - constexpr iter_difference_t<_It> - operator()(const _It& __first, const _Sent& __last) const - { - return __last - __first; - } - - template - [[nodiscard]] - constexpr range_difference_t<_Range> - operator()(_Range&& __r) const - { - if constexpr (sized_range<_Range>) - return static_cast>(ranges::size(__r)); - else - return (*this)(ranges::begin(__r), ranges::end(__r)); - } - - void operator&() const = delete; - }; - - inline constexpr __distance_fn distance{}; - - struct __next_fn final - { - template - [[nodiscard]] - constexpr _It - operator()(_It __x) const - { - ++__x; - return __x; - } - - template - [[nodiscard]] - constexpr _It - operator()(_It __x, iter_difference_t<_It> __n) const - { - ranges::advance(__x, __n); - return __x; - } - - template _Sent> - [[nodiscard]] - constexpr _It - operator()(_It __x, _Sent __bound) const - { - ranges::advance(__x, __bound); - return __x; - } - - template _Sent> - [[nodiscard]] - constexpr _It - operator()(_It __x, iter_difference_t<_It> __n, _Sent __bound) const - { - ranges::advance(__x, __n, __bound); - return __x; - } - - void operator&() const = delete; - }; - - inline constexpr __next_fn next{}; - - struct __prev_fn final - { - template - [[nodiscard]] - constexpr _It - operator()(_It __x) const - { - --__x; - return __x; - } - - template - [[nodiscard]] - constexpr _It - operator()(_It __x, iter_difference_t<_It> __n) const - { - ranges::advance(__x, -__n); - return __x; - } - - template - [[nodiscard]] - constexpr _It - operator()(_It __x, iter_difference_t<_It> __n, _It __bound) const - { - ranges::advance(__x, -__n, __bound); - return __x; - } - - void operator&() const = delete; - }; - - inline constexpr __prev_fn prev{}; - - - struct dangling - { - constexpr dangling() noexcept = default; - template - constexpr dangling(_Args&&...) noexcept { } - }; - - template - using borrowed_iterator_t = __conditional_t, - iterator_t<_Range>, - dangling>; -} - - - - - - - -} -# 57 "/usr/include/c++/14.1.1/string_view" 2 3 - - - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - 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; - } -# 105 "/usr/include/c++/14.1.1/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; - - [[__gnu__::__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} - { } - - - template _End> - requires same_as, _CharT> - && (!convertible_to<_End, size_type>) - constexpr - basic_string_view(_It __first, _End __last) - noexcept(noexcept(__last - __first)) - : _M_len(__last - __first), _M_str(std::to_address(__first)) - { } -# 180 "/usr/include/c++/14.1.1/string_view" 3 - constexpr basic_string_view& - operator=(const basic_string_view&) noexcept = default; - - - - [[nodiscard]] - constexpr const_iterator - begin() const noexcept - { return this->_M_str; } - - [[nodiscard]] - constexpr const_iterator - end() const noexcept - { return this->_M_str + this->_M_len; } - - [[nodiscard]] - constexpr const_iterator - cbegin() const noexcept - { return this->_M_str; } - - [[nodiscard]] - constexpr const_iterator - cend() const noexcept - { return this->_M_str + this->_M_len; } - - [[nodiscard]] - constexpr const_reverse_iterator - rbegin() const noexcept - { return const_reverse_iterator(this->end()); } - - [[nodiscard]] - constexpr const_reverse_iterator - rend() const noexcept - { return const_reverse_iterator(this->begin()); } - - [[nodiscard]] - constexpr const_reverse_iterator - crbegin() const noexcept - { return const_reverse_iterator(this->end()); } - - [[nodiscard]] - constexpr const_reverse_iterator - crend() const noexcept - { return const_reverse_iterator(this->begin()); } - - - - [[nodiscard]] - constexpr size_type - size() const noexcept - { return this->_M_len; } - - [[nodiscard]] - constexpr size_type - length() const noexcept - { return _M_len; } - - [[nodiscard]] - 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; } - - - - [[nodiscard]] - constexpr const_reference - operator[](size_type __pos) const noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__pos < this->_M_len), false)) std::__glibcxx_assert_fail(); } while (false); - return *(this->_M_str + __pos); - } - - [[nodiscard]] - 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); - } - - [[nodiscard]] - constexpr const_reference - front() const noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(this->_M_len > 0), false)) std::__glibcxx_assert_fail(); } while (false); - return *this->_M_str; - } - - [[nodiscard]] - constexpr const_reference - back() const noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(this->_M_len > 0), false)) std::__glibcxx_assert_fail(); } while (false); - return *(this->_M_str + this->_M_len - 1); - } - - [[nodiscard]] - constexpr const_pointer - data() const noexcept - { return this->_M_str; } - - - - constexpr void - remove_prefix(size_type __n) noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(this->_M_len >= __n), false)) std::__glibcxx_assert_fail(); } while (false); - this->_M_str += __n; - this->_M_len -= __n; - } - - constexpr void - remove_suffix(size_type __n) noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(this->_M_len >= __n), false)) std::__glibcxx_assert_fail(); } while (false); - this->_M_len -= __n; - } - - constexpr void - swap(basic_string_view& __sv) noexcept - { - auto __tmp = *this; - *this = __sv; - __sv = __tmp; - } - - - - constexpr - 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; - } - - [[nodiscard]] - 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}; - } - - [[nodiscard]] - 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; - } - - [[nodiscard]] - constexpr int - compare(size_type __pos1, size_type __n1, basic_string_view __str) const - { return this->substr(__pos1, __n1).compare(__str); } - - [[nodiscard]] - 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)); - } - - [[nodiscard, __gnu__::__nonnull__]] - constexpr int - compare(const _CharT* __str) const noexcept - { return this->compare(basic_string_view{__str}); } - - [[nodiscard, __gnu__::__nonnull__]] - constexpr int - compare(size_type __pos1, size_type __n1, const _CharT* __str) const - { return this->substr(__pos1, __n1).compare(basic_string_view{__str}); } - - [[nodiscard]] - 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)); - } - - - [[nodiscard]] - constexpr bool - starts_with(basic_string_view __x) const noexcept - { return this->substr(0, __x.size()) == __x; } - - [[nodiscard]] - constexpr bool - starts_with(_CharT __x) const noexcept - { return !this->empty() && traits_type::eq(this->front(), __x); } - - [[nodiscard, __gnu__::__nonnull__]] - constexpr bool - starts_with(const _CharT* __x) const noexcept - { return this->starts_with(basic_string_view(__x)); } - - [[nodiscard]] - constexpr bool - ends_with(basic_string_view __x) const noexcept - { - const auto __len = this->size(); - const auto __xlen = __x.size(); - return __len >= __xlen - && traits_type::compare(end() - __xlen, __x.data(), __xlen) == 0; - } - - [[nodiscard]] - constexpr bool - ends_with(_CharT __x) const noexcept - { return !this->empty() && traits_type::eq(this->back(), __x); } - - [[nodiscard, __gnu__::__nonnull__]] - constexpr bool - ends_with(const _CharT* __x) const noexcept - { return this->ends_with(basic_string_view(__x)); } -# 445 "/usr/include/c++/14.1.1/string_view" 3 - [[nodiscard]] - constexpr size_type - find(basic_string_view __str, size_type __pos = 0) const noexcept - { return this->find(__str._M_str, __pos, __str._M_len); } - - [[nodiscard]] - constexpr size_type - find(_CharT __c, size_type __pos = 0) const noexcept; - - [[nodiscard]] - constexpr size_type - find(const _CharT* __str, size_type __pos, size_type __n) const noexcept; - - [[nodiscard, __gnu__::__nonnull__]] - constexpr size_type - find(const _CharT* __str, size_type __pos = 0) const noexcept - { return this->find(__str, __pos, traits_type::length(__str)); } - - [[nodiscard]] - constexpr size_type - rfind(basic_string_view __str, size_type __pos = npos) const noexcept - { return this->rfind(__str._M_str, __pos, __str._M_len); } - - [[nodiscard]] - constexpr size_type - rfind(_CharT __c, size_type __pos = npos) const noexcept; - - [[nodiscard]] - constexpr size_type - rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept; - - [[nodiscard, __gnu__::__nonnull__]] - constexpr size_type - rfind(const _CharT* __str, size_type __pos = npos) const noexcept - { return this->rfind(__str, __pos, traits_type::length(__str)); } - - [[nodiscard]] - 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); } - - [[nodiscard]] - constexpr size_type - find_first_of(_CharT __c, size_type __pos = 0) const noexcept - { return this->find(__c, __pos); } - - [[nodiscard]] - constexpr size_type - find_first_of(const _CharT* __str, size_type __pos, - size_type __n) const noexcept; - - [[nodiscard, __gnu__::__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)); } - - [[nodiscard]] - 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); } - - [[nodiscard]] - constexpr size_type - find_last_of(_CharT __c, size_type __pos=npos) const noexcept - { return this->rfind(__c, __pos); } - - [[nodiscard]] - constexpr size_type - find_last_of(const _CharT* __str, size_type __pos, - size_type __n) const noexcept; - - [[nodiscard, __gnu__::__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)); } - - [[nodiscard]] - 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); } - - [[nodiscard]] - constexpr size_type - find_first_not_of(_CharT __c, size_type __pos = 0) const noexcept; - - [[nodiscard]] - constexpr size_type - find_first_not_of(const _CharT* __str, - size_type __pos, size_type __n) const noexcept; - - [[nodiscard, __gnu__::__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)); - } - - [[nodiscard]] - 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); } - - [[nodiscard]] - constexpr size_type - find_last_not_of(_CharT __c, size_type __pos = npos) const noexcept; - - [[nodiscard]] - constexpr size_type - find_last_not_of(const _CharT* __str, - size_type __pos, size_type __n) const noexcept; - - [[nodiscard, __gnu__::__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; - }; - - - template _End> - basic_string_view(_It, _End) -> basic_string_view>; -# 606 "/usr/include/c++/14.1.1/string_view" 3 - template - [[nodiscard]] - constexpr bool - operator==(basic_string_view<_CharT, _Traits> __x, - type_identity_t> __y) - noexcept - { return __x.size() == __y.size() && __x.compare(__y) == 0; } - - template - [[nodiscard]] - constexpr auto - operator<=>(basic_string_view<_CharT, _Traits> __x, - __type_identity_t> __y) - noexcept - -> decltype(__detail::__char_traits_cmp_cat<_Traits>(0)) - { return __detail::__char_traits_cmp_cat<_Traits>(__x.compare(__y)); } -# 758 "/usr/include/c++/14.1.1/string_view" 3 - 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 u8string_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 - { - [[nodiscard]] - 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 - { - [[nodiscard]] - 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 - { }; - - - template<> - struct hash - : public __hash_base - { - [[nodiscard]] - size_t - operator()(const u8string_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 - { - [[nodiscard]] - 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 - { - [[nodiscard]] - 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}; } - - - inline constexpr basic_string_view - operator""sv(const char8_t* __str, size_t __len) noexcept - { return basic_string_view{__str, __len}; } - - - 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 - } - } - - - namespace ranges - { - - template - inline constexpr bool - enable_borrowed_range> = true; - - - template - inline constexpr bool - enable_view> = true; - } - - -} - -# 1 "/usr/include/c++/14.1.1/bits/string_view.tcc" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/string_view.tcc" 3 - -# 38 "/usr/include/c++/14.1.1/bits/string_view.tcc" 3 - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - 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; - } - - -} -# 905 "/usr/include/c++/14.1.1/string_view" 2 3 -# 48 "/usr/include/c++/14.1.1/bits/basic_string.h" 2 3 - - - - - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 55 "/usr/include/c++/14.1.1/bits/basic_string.h" 2 3 - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -namespace __cxx11 { -# 85 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - class basic_string - { - - static_assert(is_same_v<_CharT, typename _Traits::char_type>); - static_assert(is_same_v<_CharT, typename _Alloc::value_type>); - using _Char_alloc_type = _Alloc; - - - - - - typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits; - - - public: - typedef _Traits traits_type; - typedef typename _Traits::char_type value_type; - typedef _Char_alloc_type allocator_type; - typedef typename _Alloc_traits::size_type size_type; - typedef typename _Alloc_traits::difference_type difference_type; - typedef typename _Alloc_traits::reference reference; - typedef typename _Alloc_traits::const_reference const_reference; - typedef typename _Alloc_traits::pointer pointer; - typedef typename _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; - - - static const size_type npos = static_cast(-1); - - protected: - - - - - typedef const_iterator __const_iterator; - - - private: - static constexpr pointer - _S_allocate(_Char_alloc_type& __a, size_type __n) - { - pointer __p = _Alloc_traits::allocate(__a, __n); - - - - if constexpr (!is_same_v<_Traits, char_traits<_CharT>>) - if (std::__is_constant_evaluated()) - - for (size_type __i = 0; __i < __n; ++__i) - std::construct_at(__builtin_addressof(__p[__i])); - - return __p; - } - - - - typedef basic_string_view<_CharT, _Traits> __sv_type; - - template - using _If_sv = enable_if_t< - __and_, - __not_>, - __not_>>::value, - _Res>; - - - constexpr - static __sv_type - _S_to_string_view(__sv_type __svt) noexcept - { return __svt; } - - - - - - struct __sv_wrapper - { - constexpr explicit - __sv_wrapper(__sv_type __sv) noexcept : _M_sv(__sv) { } - - __sv_type _M_sv; - }; - - - - - - - - constexpr - explicit - basic_string(__sv_wrapper __svw, const _Alloc& __a) - : basic_string(__svw._M_sv.data(), __svw._M_sv.size(), __a) { } - - - - struct _Alloc_hider : allocator_type - { - - - - - constexpr - _Alloc_hider(pointer __dat, const _Alloc& __a) - : allocator_type(__a), _M_p(__dat) { } - - constexpr - _Alloc_hider(pointer __dat, _Alloc&& __a = _Alloc()) - : allocator_type(std::move(__a)), _M_p(__dat) { } - - - pointer _M_p; - }; - - _Alloc_hider _M_dataplus; - size_type _M_string_length; - - enum { _S_local_capacity = 15 / sizeof(_CharT) }; - - union - { - _CharT _M_local_buf[_S_local_capacity + 1]; - size_type _M_allocated_capacity; - }; - - constexpr - void - _M_data(pointer __p) - { _M_dataplus._M_p = __p; } - - constexpr - void - _M_length(size_type __length) - { _M_string_length = __length; } - - constexpr - pointer - _M_data() const - { return _M_dataplus._M_p; } - - constexpr - pointer - _M_local_data() - { - - return std::pointer_traits::pointer_to(*_M_local_buf); - - - - } - - constexpr - const_pointer - _M_local_data() const - { - - return std::pointer_traits::pointer_to(*_M_local_buf); - - - - } - - constexpr - void - _M_capacity(size_type __capacity) - { _M_allocated_capacity = __capacity; } - - constexpr - void - _M_set_length(size_type __n) - { - _M_length(__n); - traits_type::assign(_M_data()[__n], _CharT()); - } - - constexpr - bool - _M_is_local() const - { - if (_M_data() == _M_local_data()) - { - if (_M_string_length > _S_local_capacity) - __builtin_unreachable(); - return true; - } - return false; - } - - - constexpr - pointer - _M_create(size_type&, size_type); - - constexpr - void - _M_dispose() - { - if (!_M_is_local()) - _M_destroy(_M_allocated_capacity); - } - - constexpr - void - _M_destroy(size_type __size) throw() - { _Alloc_traits::deallocate(_M_get_allocator(), _M_data(), __size + 1); } -# 321 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - void - _M_construct(_InIterator __beg, _InIterator __end, - std::input_iterator_tag); - - - - template - constexpr - void - _M_construct(_FwdIterator __beg, _FwdIterator __end, - std::forward_iterator_tag); - - constexpr - void - _M_construct(size_type __req, _CharT __c); - - constexpr - allocator_type& - _M_get_allocator() - { return _M_dataplus; } - - constexpr - const allocator_type& - _M_get_allocator() const - { return _M_dataplus; } - - - __attribute__((__always_inline__)) - constexpr - void - _M_init_local_buf() noexcept - { - - if (std::is_constant_evaluated()) - for (size_type __i = 0; __i <= _S_local_capacity; ++__i) - _M_local_buf[__i] = _CharT(); - - } - - __attribute__((__always_inline__)) - constexpr - pointer - _M_use_local_data() noexcept - { - - _M_init_local_buf(); - - return _M_local_data(); - } - - private: -# 389 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - 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; - } - - constexpr - 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)); - } - - - - constexpr - 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)); - } - - - - constexpr - static void - _S_copy(_CharT* __d, const _CharT* __s, size_type __n) - { - if (__n == 1) - traits_type::assign(*__d, *__s); - else - traits_type::copy(__d, __s, __n); - } - - constexpr - static void - _S_move(_CharT* __d, const _CharT* __s, size_type __n) - { - if (__n == 1) - traits_type::assign(*__d, *__s); - else - traits_type::move(__d, __s, __n); - } - - constexpr - static void - _S_assign(_CharT* __d, size_type __n, _CharT __c) - { - if (__n == 1) - traits_type::assign(*__d, __c); - else - traits_type::assign(__d, __n, __c); - } - - - - template - constexpr - static void - _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2) - { - for (; __k1 != __k2; ++__k1, (void)++__p) - traits_type::assign(*__p, *__k1); - } - - constexpr - static void - _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2) noexcept - { _S_copy_chars(__p, __k1.base(), __k2.base()); } - - constexpr - static void - _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2) - noexcept - { _S_copy_chars(__p, __k1.base(), __k2.base()); } - - constexpr - static void - _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2) noexcept - { _S_copy(__p, __k1, __k2 - __k1); } - - constexpr - static void - _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2) - noexcept - { _S_copy(__p, __k1, __k2 - __k1); } - - constexpr - 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); - } - - constexpr - void - _M_assign(const basic_string&); - - constexpr - void - _M_mutate(size_type __pos, size_type __len1, const _CharT* __s, - size_type __len2); - - constexpr - void - _M_erase(size_type __pos, size_type __n); - - public: - - - - - - - - constexpr - basic_string() - noexcept(is_nothrow_default_constructible<_Alloc>::value) - : _M_dataplus(_M_local_data()) - { - _M_init_local_buf(); - _M_set_length(0); - } - - - - - constexpr - explicit - basic_string(const _Alloc& __a) noexcept - : _M_dataplus(_M_local_data(), __a) - { - _M_init_local_buf(); - _M_set_length(0); - } - - - - - - constexpr - basic_string(const basic_string& __str) - : _M_dataplus(_M_local_data(), - _Alloc_traits::_S_select_on_copy(__str._M_get_allocator())) - { - _M_construct(__str._M_data(), __str._M_data() + __str.length(), - std::forward_iterator_tag()); - } -# 568 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string(const basic_string& __str, size_type __pos, - const _Alloc& __a = _Alloc()) - : _M_dataplus(_M_local_data(), __a) - { - const _CharT* __start = __str._M_data() - + __str._M_check(__pos, "basic_string::basic_string"); - _M_construct(__start, __start + __str._M_limit(__pos, npos), - std::forward_iterator_tag()); - } - - - - - - - - constexpr - basic_string(const basic_string& __str, size_type __pos, - size_type __n) - : _M_dataplus(_M_local_data()) - { - const _CharT* __start = __str._M_data() - + __str._M_check(__pos, "basic_string::basic_string"); - _M_construct(__start, __start + __str._M_limit(__pos, __n), - std::forward_iterator_tag()); - } -# 603 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string(const basic_string& __str, size_type __pos, - size_type __n, const _Alloc& __a) - : _M_dataplus(_M_local_data(), __a) - { - const _CharT* __start - = __str._M_data() + __str._M_check(__pos, "string::string"); - _M_construct(__start, __start + __str._M_limit(__pos, __n), - std::forward_iterator_tag()); - } -# 623 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string(const _CharT* __s, size_type __n, - const _Alloc& __a = _Alloc()) - : _M_dataplus(_M_local_data(), __a) - { - - if (__s == 0 && __n > 0) - std::__throw_logic_error(("basic_string: " "construction from null is not valid") - ); - _M_construct(__s, __s + __n, std::forward_iterator_tag()); - } -# 643 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template> - - constexpr - basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) - : _M_dataplus(_M_local_data(), __a) - { - - if (__s == 0) - std::__throw_logic_error(("basic_string: " "construction from null is not valid") - ); - const _CharT* __end = __s + traits_type::length(__s); - _M_construct(__s, __end, forward_iterator_tag()); - } -# 666 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template> - - constexpr - basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) - : _M_dataplus(_M_local_data(), __a) - { _M_construct(__n, __c); } -# 681 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string(basic_string&& __str) noexcept - : _M_dataplus(_M_local_data(), std::move(__str._M_get_allocator())) - { - if (__str._M_is_local()) - { - _M_init_local_buf(); - traits_type::copy(_M_local_buf, __str._M_local_buf, - __str.length() + 1); - } - else - { - _M_data(__str._M_data()); - _M_capacity(__str._M_allocated_capacity); - } - - - - - _M_length(__str.length()); - __str._M_data(__str._M_use_local_data()); - __str._M_set_length(0); - } - - - - - - - constexpr - basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) - : _M_dataplus(_M_local_data(), __a) - { _M_construct(__l.begin(), __l.end(), std::forward_iterator_tag()); } - - constexpr - basic_string(const basic_string& __str, const _Alloc& __a) - : _M_dataplus(_M_local_data(), __a) - { _M_construct(__str.begin(), __str.end(), std::forward_iterator_tag()); } - - constexpr - basic_string(basic_string&& __str, const _Alloc& __a) - noexcept(_Alloc_traits::_S_always_equal()) - : _M_dataplus(_M_local_data(), __a) - { - if (__str._M_is_local()) - { - _M_init_local_buf(); - traits_type::copy(_M_local_buf, __str._M_local_buf, - __str.length() + 1); - _M_length(__str.length()); - __str._M_set_length(0); - } - else if (_Alloc_traits::_S_always_equal() - || __str.get_allocator() == __a) - { - _M_data(__str._M_data()); - _M_length(__str.length()); - _M_capacity(__str._M_allocated_capacity); - __str._M_data(__str._M_use_local_data()); - __str._M_set_length(0); - } - else - _M_construct(__str.begin(), __str.end(), std::forward_iterator_tag()); - } -# 759 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template> - - - - constexpr - basic_string(_InputIterator __beg, _InputIterator __end, - const _Alloc& __a = _Alloc()) - : _M_dataplus(_M_local_data(), __a), _M_string_length(0) - { - - _M_construct(__beg, __end, std::__iterator_category(__beg)); - - - - - } -# 785 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template>> - constexpr - 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> - constexpr - explicit - basic_string(const _Tp& __t, const _Alloc& __a = _Alloc()) - : basic_string(__sv_wrapper(_S_to_string_view(__t)), __a) { } - - - - - - constexpr - ~basic_string() - { _M_dispose(); } - - - - - - constexpr - basic_string& - operator=(const basic_string& __str) - { - return this->assign(__str); - } - - - - - - constexpr - basic_string& - operator=(const _CharT* __s) - { return this->assign(__s); } -# 838 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - operator=(_CharT __c) - { - this->assign(1, __c); - return *this; - } -# 856 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - operator=(basic_string&& __str) - noexcept(_Alloc_traits::_S_nothrow_move()) - { - const bool __equal_allocs = _Alloc_traits::_S_always_equal() - || _M_get_allocator() == __str._M_get_allocator(); - if (!_M_is_local() && _Alloc_traits::_S_propagate_on_move_assign() - && !__equal_allocs) - { - - _M_destroy(_M_allocated_capacity); - _M_data(_M_local_data()); - _M_set_length(0); - } - - std::__alloc_on_move(_M_get_allocator(), __str._M_get_allocator()); - - if (__str._M_is_local()) - { - - - - if (__builtin_expect(std::__addressof(__str) != this, true)) - { - if (__str.size()) - this->_S_copy(_M_data(), __str._M_data(), __str.size()); - _M_set_length(__str.size()); - } - } - else if (_Alloc_traits::_S_propagate_on_move_assign() || __equal_allocs) - { - - pointer __data = nullptr; - size_type __capacity; - if (!_M_is_local()) - { - if (__equal_allocs) - { - - __data = _M_data(); - __capacity = _M_allocated_capacity; - } - else - _M_destroy(_M_allocated_capacity); - } - - _M_data(__str._M_data()); - _M_length(__str.length()); - _M_capacity(__str._M_allocated_capacity); - if (__data) - { - __str._M_data(__data); - __str._M_capacity(__capacity); - } - else - __str._M_data(__str._M_use_local_data()); - } - else - assign(__str); - __str.clear(); - return *this; - } - - - - - - constexpr - basic_string& - operator=(initializer_list<_CharT> __l) - { - this->assign(__l.begin(), __l.size()); - return *this; - } - - - - - - - - template - constexpr - _If_sv<_Tp, basic_string&> - operator=(const _Tp& __svt) - { return this->assign(__svt); } - - - - - - constexpr - operator __sv_type() const noexcept - { return __sv_type(data(), size()); } - - - - - - - - [[__nodiscard__]] constexpr - iterator - begin() noexcept - { return iterator(_M_data()); } - - - - - - [[__nodiscard__]] constexpr - const_iterator - begin() const noexcept - { return const_iterator(_M_data()); } - - - - - - [[__nodiscard__]] constexpr - iterator - end() noexcept - { return iterator(_M_data() + this->size()); } - - - - - - [[__nodiscard__]] constexpr - const_iterator - end() const noexcept - { return const_iterator(_M_data() + this->size()); } - - - - - - - [[__nodiscard__]] constexpr - reverse_iterator - rbegin() noexcept - { return reverse_iterator(this->end()); } - - - - - - - [[__nodiscard__]] constexpr - const_reverse_iterator - rbegin() const noexcept - { return const_reverse_iterator(this->end()); } - - - - - - - [[__nodiscard__]] constexpr - reverse_iterator - rend() noexcept - { return reverse_iterator(this->begin()); } - - - - - - - [[__nodiscard__]] constexpr - const_reverse_iterator - rend() const noexcept - { return const_reverse_iterator(this->begin()); } - - - - - - - [[__nodiscard__]] constexpr - const_iterator - cbegin() const noexcept - { return const_iterator(this->_M_data()); } - - - - - - [[__nodiscard__]] constexpr - const_iterator - cend() const noexcept - { return const_iterator(this->_M_data() + this->size()); } - - - - - - - [[__nodiscard__]] constexpr - const_reverse_iterator - crbegin() const noexcept - { return const_reverse_iterator(this->end()); } - - - - - - - [[__nodiscard__]] constexpr - const_reverse_iterator - crend() const noexcept - { return const_reverse_iterator(this->begin()); } - - - public: - - - - [[__nodiscard__]] constexpr - size_type - size() const noexcept - { return _M_string_length; } - - - - [[__nodiscard__]] constexpr - size_type - length() const noexcept - { return _M_string_length; } - - - [[__nodiscard__]] constexpr - size_type - max_size() const noexcept - { return (_Alloc_traits::max_size(_M_get_allocator()) - 1) / 2; } -# 1102 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - void - resize(size_type __n, _CharT __c); -# 1116 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - void - resize(size_type __n) - { this->resize(__n, _CharT()); } - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - - constexpr - void - shrink_to_fit() noexcept - { reserve(); } -#pragma GCC diagnostic pop -# 1169 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr void - __resize_and_overwrite(size_type __n, _Operation __op); - - - - - - - [[__nodiscard__]] constexpr - size_type - capacity() const noexcept - { - return _M_is_local() ? size_type(_S_local_capacity) - : _M_allocated_capacity; - } -# 1203 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - void - reserve(size_type __res_arg); - - - - - - [[deprecated("use shrink_to_fit() instead")]] - - constexpr - void - reserve(); - - - - - constexpr - void - clear() noexcept - { _M_set_length(0); } - - - - - - [[__nodiscard__]] constexpr - bool - empty() const noexcept - { return this->size() == 0; } -# 1245 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - const_reference - operator[] (size_type __pos) const noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__pos <= size()), false)) std::__glibcxx_assert_fail(); } while (false); - return _M_data()[__pos]; - } -# 1263 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - reference - operator[](size_type __pos) - { - - - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__pos <= size()), false)) std::__glibcxx_assert_fail(); } while (false); - - ; - return _M_data()[__pos]; - } -# 1285 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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]; - } -# 1307 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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()); - return _M_data()[__n]; - } - - - - - - - [[__nodiscard__]] constexpr - reference - front() noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); - return operator[](0); - } - - - - - - [[__nodiscard__]] constexpr - const_reference - front() const noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); - return operator[](0); - } - - - - - - [[__nodiscard__]] constexpr - reference - back() noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); - return operator[](this->size() - 1); - } - - - - - - [[__nodiscard__]] constexpr - const_reference - back() const noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); - return operator[](this->size() - 1); - } -# 1375 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - operator+=(const basic_string& __str) - { return this->append(__str); } - - - - - - - constexpr - basic_string& - operator+=(const _CharT* __s) - { return this->append(__s); } - - - - - - - constexpr - basic_string& - operator+=(_CharT __c) - { - this->push_back(__c); - return *this; - } - - - - - - - - constexpr - basic_string& - operator+=(initializer_list<_CharT> __l) - { return this->append(__l.begin(), __l.size()); } -# 1421 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - _If_sv<_Tp, basic_string&> - operator+=(const _Tp& __svt) - { return this->append(__svt); } - - - - - - - - constexpr - basic_string& - append(const basic_string& __str) - { return this->append(__str._M_data(), __str.size()); } -# 1451 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - append(const basic_string& __str, size_type __pos, size_type __n = npos) - { return this->append(__str._M_data() - + __str._M_check(__pos, "basic_string::append"), - __str._M_limit(__pos, __n)); } - - - - - - - - constexpr - basic_string& - append(const _CharT* __s, size_type __n) - { - ; - _M_check_length(size_type(0), __n, "basic_string::append"); - return _M_append(__s, __n); - } - - - - - - - constexpr - basic_string& - append(const _CharT* __s) - { - ; - const size_type __n = traits_type::length(__s); - _M_check_length(size_type(0), __n, "basic_string::append"); - return _M_append(__s, __n); - } -# 1496 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - append(size_type __n, _CharT __c) - { return _M_replace_aux(this->size(), size_type(0), __n, __c); } - - - - - - - - constexpr - basic_string& - append(initializer_list<_CharT> __l) - { return this->append(__l.begin(), __l.size()); } -# 1522 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template> - constexpr - - - - basic_string& - append(_InputIterator __first, _InputIterator __last) - { return this->replace(end(), end(), __first, __last); } - - - - - - - - template - constexpr - _If_sv<_Tp, basic_string&> - append(const _Tp& __svt) - { - __sv_type __sv = __svt; - return this->append(__sv.data(), __sv.size()); - } -# 1554 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - _If_sv<_Tp, basic_string&> - append(const _Tp& __svt, size_type __pos, size_type __n = npos) - { - __sv_type __sv = __svt; - return _M_append(__sv.data() - + std::__sv_check(__sv.size(), __pos, "basic_string::append"), - std::__sv_limit(__sv.size(), __pos, __n)); - } - - - - - - - constexpr - void - push_back(_CharT __c) - { - const size_type __size = this->size(); - if (__size + 1 > this->capacity()) - this->_M_mutate(__size, size_type(0), 0, size_type(1)); - traits_type::assign(this->_M_data()[__size], __c); - this->_M_set_length(__size + 1); - } - - - - - - - constexpr - basic_string& - assign(const basic_string& __str) - { - - if (_Alloc_traits::_S_propagate_on_copy_assign()) - { - if (!_Alloc_traits::_S_always_equal() && !_M_is_local() - && _M_get_allocator() != __str._M_get_allocator()) - { - - - if (__str.size() <= _S_local_capacity) - { - _M_destroy(_M_allocated_capacity); - _M_data(_M_use_local_data()); - _M_set_length(0); - } - else - { - const auto __len = __str.size(); - auto __alloc = __str._M_get_allocator(); - - auto __ptr = _S_allocate(__alloc, __len + 1); - _M_destroy(_M_allocated_capacity); - _M_data(__ptr); - _M_capacity(__len); - _M_set_length(__len); - } - } - std::__alloc_on_copy(_M_get_allocator(), __str._M_get_allocator()); - } - - this->_M_assign(__str); - return *this; - } -# 1632 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - assign(basic_string&& __str) - noexcept(_Alloc_traits::_S_nothrow_move()) - { - - - return *this = std::move(__str); - } -# 1656 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - assign(const basic_string& __str, size_type __pos, size_type __n = npos) - { return _M_replace(size_type(0), this->size(), __str._M_data() - + __str._M_check(__pos, "basic_string::assign"), - __str._M_limit(__pos, __n)); } -# 1673 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - assign(const _CharT* __s, size_type __n) - { - ; - return _M_replace(size_type(0), this->size(), __s, __n); - } -# 1690 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - assign(const _CharT* __s) - { - ; - return _M_replace(size_type(0), this->size(), __s, - traits_type::length(__s)); - } -# 1708 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - assign(size_type __n, _CharT __c) - { return _M_replace_aux(size_type(0), this->size(), __n, __c); } -# 1722 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wc++17-extensions" - template> - constexpr - basic_string& - assign(_InputIterator __first, _InputIterator __last) - { - - if constexpr (contiguous_iterator<_InputIterator> - && is_same_v, _CharT>) - - - - - { - ; - return _M_replace(size_type(0), size(), - std::__to_address(__first), __last - __first); - } - else - return *this = basic_string(__first, __last, get_allocator()); - } -#pragma GCC diagnostic pop -# 1759 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - assign(initializer_list<_CharT> __l) - { - - - const size_type __n = __l.size(); - if (__n > capacity()) - *this = basic_string(__l.begin(), __l.end(), get_allocator()); - else - { - if (__n) - _S_copy(_M_data(), __l.begin(), __n); - _M_set_length(__n); - } - return *this; - } -# 1784 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - _If_sv<_Tp, basic_string&> - assign(const _Tp& __svt) - { - __sv_type __sv = __svt; - return this->assign(__sv.data(), __sv.size()); - } -# 1800 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - _If_sv<_Tp, basic_string&> - assign(const _Tp& __svt, size_type __pos, size_type __n = npos) - { - __sv_type __sv = __svt; - return _M_replace(size_type(0), this->size(), - __sv.data() - + std::__sv_check(__sv.size(), __pos, "basic_string::assign"), - std::__sv_limit(__sv.size(), __pos, __n)); - } -# 1829 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - iterator - insert(const_iterator __p, size_type __n, _CharT __c) - { - ; - const size_type __pos = __p - begin(); - this->replace(__p, __p, __n, __c); - return iterator(this->_M_data() + __pos); - } -# 1872 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template> - constexpr - iterator - insert(const_iterator __p, _InputIterator __beg, _InputIterator __end) - { - ; - const size_type __pos = __p - begin(); - this->replace(__p, __p, __beg, __end); - return iterator(this->_M_data() + __pos); - } -# 1909 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - iterator - insert(const_iterator __p, initializer_list<_CharT> __l) - { return this->insert(__p, __l.begin(), __l.end()); } -# 1937 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - insert(size_type __pos1, const basic_string& __str) - { return this->replace(__pos1, size_type(0), - __str._M_data(), __str.size()); } -# 1961 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - insert(size_type __pos1, const basic_string& __str, - size_type __pos2, size_type __n = npos) - { return this->replace(__pos1, size_type(0), __str._M_data() - + __str._M_check(__pos2, "basic_string::insert"), - __str._M_limit(__pos2, __n)); } -# 1985 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - insert(size_type __pos, const _CharT* __s, size_type __n) - { return this->replace(__pos, size_type(0), __s, __n); } -# 2005 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - insert(size_type __pos, const _CharT* __s) - { - ; - return this->replace(__pos, size_type(0), __s, - traits_type::length(__s)); - } -# 2030 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - 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); } -# 2049 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - iterator - insert(__const_iterator __p, _CharT __c) - { - ; - const size_type __pos = __p - begin(); - _M_replace_aux(__pos, size_type(0), size_type(1), __c); - return iterator(_M_data() + __pos); - } -# 2066 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - _If_sv<_Tp, basic_string&> - insert(size_type __pos, const _Tp& __svt) - { - __sv_type __sv = __svt; - return this->insert(__pos, __sv.data(), __sv.size()); - } -# 2083 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - _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)); - } -# 2112 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - erase(size_type __pos = 0, size_type __n = npos) - { - _M_check(__pos, "basic_string::erase"); - if (__n == npos) - this->_M_set_length(__pos); - else if (__n != 0) - this->_M_erase(__pos, _M_limit(__pos, __n)); - return *this; - } -# 2132 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - iterator - erase(__const_iterator __position) - { - - ; - const size_type __pos = __position - begin(); - this->_M_erase(__pos, size_type(1)); - return iterator(_M_data() + __pos); - } -# 2152 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - iterator - erase(__const_iterator __first, __const_iterator __last) - { - - ; - const size_type __pos = __first - begin(); - if (__last == end()) - this->_M_set_length(__pos); - else - this->_M_erase(__pos, __last - __first); - return iterator(this->_M_data() + __pos); - } - - - - - - - - constexpr - void - pop_back() noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); - _M_erase(size() - 1, 1); - } -# 2198 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - replace(size_type __pos, size_type __n, const basic_string& __str) - { return this->replace(__pos, __n, __str._M_data(), __str.size()); } -# 2221 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - 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)); } -# 2247 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - replace(size_type __pos, size_type __n1, const _CharT* __s, - size_type __n2) - { - ; - return _M_replace(_M_check(__pos, "basic_string::replace"), - _M_limit(__pos, __n1), __s, __n2); - } -# 2273 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - replace(size_type __pos, size_type __n1, const _CharT* __s) - { - ; - return this->replace(__pos, __n1, __s, traits_type::length(__s)); - } -# 2298 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - 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); } -# 2317 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, - const basic_string& __str) - { return this->replace(__i1, __i2, __str._M_data(), __str.size()); } -# 2338 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, - const _CharT* __s, size_type __n) - { - - ; - return this->replace(__i1 - begin(), __i2 - __i1, __s, __n); - } -# 2361 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, const _CharT* __s) - { - ; - return this->replace(__i1, __i2, __s, traits_type::length(__s)); - } -# 2383 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, size_type __n, - _CharT __c) - { - - ; - return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __c); - } -# 2409 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template> - constexpr - basic_string& - replace(const_iterator __i1, const_iterator __i2, - _InputIterator __k1, _InputIterator __k2) - { - - ; - ; - return this->_M_replace_dispatch(__i1, __i2, __k1, __k2, - std::__false_type()); - } -# 2442 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, - _CharT* __k1, _CharT* __k2) - { - - ; - ; - return this->replace(__i1 - begin(), __i2 - __i1, - __k1, __k2 - __k1); - } - - constexpr - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, - const _CharT* __k1, const _CharT* __k2) - { - - ; - ; - return this->replace(__i1 - begin(), __i2 - __i1, - __k1, __k2 - __k1); - } - - constexpr - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, - iterator __k1, iterator __k2) - { - - ; - ; - return this->replace(__i1 - begin(), __i2 - __i1, - __k1.base(), __k2 - __k1); - } - - constexpr - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, - const_iterator __k1, const_iterator __k2) - { - - ; - ; - return this->replace(__i1 - begin(), __i2 - __i1, - __k1.base(), __k2 - __k1); - } -# 2505 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& replace(const_iterator __i1, const_iterator __i2, - initializer_list<_CharT> __l) - { return this->replace(__i1, __i2, __l.begin(), __l.size()); } -# 2519 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - _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()); - } -# 2537 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - _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)); - } -# 2559 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - _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 - constexpr - basic_string& - _M_replace_dispatch(const_iterator __i1, const_iterator __i2, - _Integer __n, _Integer __val, __true_type) - { return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __val); } - - template - constexpr - basic_string& - _M_replace_dispatch(const_iterator __i1, const_iterator __i2, - _InputIterator __k1, _InputIterator __k2, - __false_type); - - constexpr - basic_string& - _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2, - _CharT __c); - - __attribute__((__noinline__, __noclone__, __cold__)) void - _M_replace_cold(pointer __p, size_type __len1, const _CharT* __s, - const size_type __len2, const size_type __how_much); - - constexpr - basic_string& - _M_replace(size_type __pos, size_type __len1, const _CharT* __s, - const size_type __len2); - - constexpr - basic_string& - _M_append(const _CharT* __s, size_type __n); - - public: -# 2616 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - size_type - copy(_CharT* __s, size_type __n, size_type __pos = 0) const; -# 2627 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - void - swap(basic_string& __s) noexcept; -# 2638 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - const _CharT* - c_str() const noexcept - { return _M_data(); } -# 2651 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - const _CharT* - data() const noexcept - { return _M_data(); } -# 2663 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - _CharT* - data() noexcept - { return _M_data(); } - - - - - - [[__nodiscard__]] constexpr - allocator_type - get_allocator() const noexcept - { return _M_get_allocator(); } -# 2689 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find(const _CharT* __s, size_type __pos, size_type __n) const - noexcept; -# 2704 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find(const basic_string& __str, size_type __pos = 0) const - noexcept - { return this->find(__str.data(), __pos, __str.size()); } -# 2717 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - _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()); - } -# 2738 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find(const _CharT* __s, size_type __pos = 0) const noexcept - { - ; - return this->find(__s, __pos, traits_type::length(__s)); - } -# 2756 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find(_CharT __c, size_type __pos = 0) const noexcept; -# 2770 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - rfind(const basic_string& __str, size_type __pos = npos) const - noexcept - { return this->rfind(__str.data(), __pos, __str.size()); } -# 2783 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - _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()); - } -# 2806 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - rfind(const _CharT* __s, size_type __pos, size_type __n) const - noexcept; -# 2821 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - rfind(const _CharT* __s, size_type __pos = npos) const - { - ; - return this->rfind(__s, __pos, traits_type::length(__s)); - } -# 2839 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - rfind(_CharT __c, size_type __pos = npos) const noexcept; -# 2854 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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()); } -# 2868 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - _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()); - } -# 2891 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find_first_of(const _CharT* __s, size_type __pos, size_type __n) const - noexcept; -# 2906 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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)); - } -# 2927 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find_first_of(_CharT __c, size_type __pos = 0) const noexcept - { return this->find(__c, __pos); } -# 2943 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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()); } -# 2957 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - _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()); - } -# 2980 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find_last_of(const _CharT* __s, size_type __pos, size_type __n) const - noexcept; -# 2995 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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)); - } -# 3016 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find_last_of(_CharT __c, size_type __pos = npos) const noexcept - { return this->rfind(__c, __pos); } -# 3031 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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()); } -# 3045 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - _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()); - } -# 3068 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find_first_not_of(const _CharT* __s, size_type __pos, - size_type __n) const noexcept; -# 3083 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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)); - } -# 3102 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find_first_not_of(_CharT __c, size_type __pos = 0) const - noexcept; -# 3118 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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()); } -# 3132 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - _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()); - } -# 3155 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find_last_not_of(const _CharT* __s, size_type __pos, - size_type __n) const noexcept; -# 3170 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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)); - } -# 3189 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find_last_not_of(_CharT __c, size_type __pos = npos) const - noexcept; -# 3206 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - basic_string - substr(size_type __pos = 0, size_type __n = npos) const - { return basic_string(*this, - _M_check(__pos, "basic_string::substr"), __n); } -# 3226 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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 - [[__nodiscard__]] constexpr - _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; - } -# 3271 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - _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); - } -# 3291 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - _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)); - } -# 3323 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - int - 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; - } -# 3360 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - int - compare(size_type __pos1, size_type __n1, const basic_string& __str, - size_type __pos2, size_type __n2 = npos) 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; - } -# 3391 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - int - 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; - } -# 3426 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - int - 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; - } -# 3465 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - int - 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; - } - - - [[nodiscard]] - constexpr bool - starts_with(basic_string_view<_CharT, _Traits> __x) const noexcept - { return __sv_type(this->data(), this->size()).starts_with(__x); } - - [[nodiscard]] - constexpr bool - starts_with(_CharT __x) const noexcept - { return __sv_type(this->data(), this->size()).starts_with(__x); } - - [[nodiscard, __gnu__::__nonnull__]] - constexpr bool - starts_with(const _CharT* __x) const noexcept - { return __sv_type(this->data(), this->size()).starts_with(__x); } - - [[nodiscard]] - constexpr bool - ends_with(basic_string_view<_CharT, _Traits> __x) const noexcept - { return __sv_type(this->data(), this->size()).ends_with(__x); } - - [[nodiscard]] - constexpr bool - ends_with(_CharT __x) const noexcept - { return __sv_type(this->data(), this->size()).ends_with(__x); } - - [[nodiscard, __gnu__::__nonnull__]] - constexpr bool - ends_with(const _CharT* __x) const noexcept - { return __sv_type(this->data(), this->size()).ends_with(__x); } -# 3530 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template friend class basic_stringbuf; - }; -} - -} - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - -namespace __cxx11 { - 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>; -} - - - template - constexpr - inline _Str - __str_concat(typename _Str::value_type const* __lhs, - typename _Str::size_type __lhs_len, - typename _Str::value_type const* __rhs, - typename _Str::size_type __rhs_len, - typename _Str::allocator_type const& __a) - { - typedef typename _Str::allocator_type allocator_type; - typedef __gnu_cxx::__alloc_traits _Alloc_traits; - _Str __str(_Alloc_traits::_S_select_on_copy(__a)); - __str.reserve(__lhs_len + __rhs_len); - __str.append(__lhs, __lhs_len); - __str.append(__rhs, __rhs_len); - return __str; - } -# 3595 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - inline basic_string<_CharT, _Traits, _Alloc> - operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) - { - typedef basic_string<_CharT, _Traits, _Alloc> _Str; - return std::__str_concat<_Str>(__lhs.c_str(), __lhs.size(), - __rhs.c_str(), __rhs.size(), - __lhs.get_allocator()); - } - - - - - - - - template - [[__nodiscard__]] constexpr - inline basic_string<_CharT,_Traits,_Alloc> - operator+(const _CharT* __lhs, - const basic_string<_CharT,_Traits,_Alloc>& __rhs) - { - ; - typedef basic_string<_CharT, _Traits, _Alloc> _Str; - return std::__str_concat<_Str>(__lhs, _Traits::length(__lhs), - __rhs.c_str(), __rhs.size(), - __rhs.get_allocator()); - } - - - - - - - - template - [[__nodiscard__]] constexpr - inline basic_string<_CharT,_Traits,_Alloc> - operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs) - { - typedef basic_string<_CharT, _Traits, _Alloc> _Str; - return std::__str_concat<_Str>(__builtin_addressof(__lhs), 1, - __rhs.c_str(), __rhs.size(), - __rhs.get_allocator()); - } - - - - - - - - template - [[__nodiscard__]] constexpr - inline basic_string<_CharT, _Traits, _Alloc> - operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const _CharT* __rhs) - { - ; - typedef basic_string<_CharT, _Traits, _Alloc> _Str; - return std::__str_concat<_Str>(__lhs.c_str(), __lhs.size(), - __rhs, _Traits::length(__rhs), - __lhs.get_allocator()); - } - - - - - - - template - [[__nodiscard__]] constexpr - inline basic_string<_CharT, _Traits, _Alloc> - operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs) - { - typedef basic_string<_CharT, _Traits, _Alloc> _Str; - return std::__str_concat<_Str>(__lhs.c_str(), __lhs.size(), - __builtin_addressof(__rhs), 1, - __lhs.get_allocator()); - } - - - template - [[__nodiscard__]] constexpr - 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 - constexpr - 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 - [[__nodiscard__]] constexpr - inline basic_string<_CharT, _Traits, _Alloc> - operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, - basic_string<_CharT, _Traits, _Alloc>&& __rhs) - { - - using _Alloc_traits = allocator_traits<_Alloc>; - bool __use_rhs = false; - if constexpr (typename _Alloc_traits::is_always_equal{}) - __use_rhs = true; - else if (__lhs.get_allocator() == __rhs.get_allocator()) - __use_rhs = true; - if (__use_rhs) - - { - 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 - [[__nodiscard__]] [[__nodiscard__]] constexpr - inline basic_string<_CharT, _Traits, _Alloc> - operator+(const _CharT* __lhs, - basic_string<_CharT, _Traits, _Alloc>&& __rhs) - { return std::move(__rhs.insert(0, __lhs)); } - - template - [[__nodiscard__]] constexpr - inline basic_string<_CharT, _Traits, _Alloc> - operator+(_CharT __lhs, - basic_string<_CharT, _Traits, _Alloc>&& __rhs) - { return std::move(__rhs.insert(0, 1, __lhs)); } - - template - [[__nodiscard__]] constexpr - inline basic_string<_CharT, _Traits, _Alloc> - operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, - const _CharT* __rhs) - { return std::move(__lhs.append(__rhs)); } - - template - [[__nodiscard__]] constexpr - inline basic_string<_CharT, _Traits, _Alloc> - operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, - _CharT __rhs) - { return std::move(__lhs.append(1, __rhs)); } -# 3752 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - inline bool - operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) - noexcept - { - return __lhs.size() == __rhs.size() - && !_Traits::compare(__lhs.data(), __rhs.data(), __lhs.size()); - } - - - - - - - - template - [[__nodiscard__]] constexpr - inline bool - operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const _CharT* __rhs) - { - return __lhs.size() == _Traits::length(__rhs) - && !_Traits::compare(__lhs.data(), __rhs, __lhs.size()); - } -# 3787 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[nodiscard]] - constexpr auto - operator<=>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) noexcept - -> decltype(__detail::__char_traits_cmp_cat<_Traits>(0)) - { return __detail::__char_traits_cmp_cat<_Traits>(__lhs.compare(__rhs)); } -# 3802 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[nodiscard]] - constexpr auto - operator<=>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const _CharT* __rhs) noexcept - -> decltype(__detail::__char_traits_cmp_cat<_Traits>(0)) - { return __detail::__char_traits_cmp_cat<_Traits>(__lhs.compare(__rhs)); } -# 4036 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - inline void - swap(basic_string<_CharT, _Traits, _Alloc>& __lhs, - basic_string<_CharT, _Traits, _Alloc>& __rhs) - noexcept(noexcept(__lhs.swap(__rhs))) - { __lhs.swap(__rhs); } -# 4057 "/usr/include/c++/14.1.1/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); -# 4075 "/usr/include/c++/14.1.1/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()); - } -# 4098 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - basic_istream<_CharT, _Traits>& - getline(basic_istream<_CharT, _Traits>& __is, - basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim); -# 4115 "/usr/include/c++/14.1.1/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/include/c++/14.1.1/ext/string_conversions.h" 1 3 -# 32 "/usr/include/c++/14.1.1/ext/string_conversions.h" 3 - -# 33 "/usr/include/c++/14.1.1/ext/string_conversions.h" 3 -# 43 "/usr/include/c++/14.1.1/ext/string_conversions.h" 3 -# 1 "/usr/include/c++/14.1.1/cstdlib" 1 3 -# 39 "/usr/include/c++/14.1.1/cstdlib" 3 - -# 40 "/usr/include/c++/14.1.1/cstdlib" 3 -# 79 "/usr/include/c++/14.1.1/cstdlib" 3 -# 1 "/usr/include/stdlib.h" 1 3 4 -# 26 "/usr/include/stdlib.h" 3 4 -# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 -# 27 "/usr/include/stdlib.h" 2 3 4 - - - - - -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 33 "/usr/include/stdlib.h" 2 3 4 - -extern "C" { - - - - - -# 1 "/usr/include/bits/waitflags.h" 1 3 4 -# 41 "/usr/include/stdlib.h" 2 3 4 -# 1 "/usr/include/bits/waitstatus.h" 1 3 4 -# 42 "/usr/include/stdlib.h" 2 3 4 -# 59 "/usr/include/stdlib.h" 3 4 -typedef struct - { - int quot; - int rem; - } div_t; - - - -typedef struct - { - long int quot; - long int rem; - } ldiv_t; - - - - - -__extension__ typedef struct - { - long long int quot; - long long int rem; - } lldiv_t; -# 98 "/usr/include/stdlib.h" 3 4 -extern size_t __ctype_get_mb_cur_max (void) noexcept (true) ; - - - -extern double atof (const char *__nptr) - noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; - -extern int atoi (const char *__nptr) - noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; - -extern long int atol (const char *__nptr) - noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; - - - -__extension__ extern long long int atoll (const char *__nptr) - noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; - - - -extern double strtod (const char *__restrict __nptr, - char **__restrict __endptr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern float strtof (const char *__restrict __nptr, - char **__restrict __endptr) noexcept (true) __attribute__ ((__nonnull__ (1))); - -extern long double strtold (const char *__restrict __nptr, - char **__restrict __endptr) - noexcept (true) __attribute__ ((__nonnull__ (1))); -# 141 "/usr/include/stdlib.h" 3 4 -extern _Float32 strtof32 (const char *__restrict __nptr, - char **__restrict __endptr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern _Float64 strtof64 (const char *__restrict __nptr, - char **__restrict __endptr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern _Float128 strtof128 (const char *__restrict __nptr, - char **__restrict __endptr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern _Float32x strtof32x (const char *__restrict __nptr, - char **__restrict __endptr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern _Float64x strtof64x (const char *__restrict __nptr, - char **__restrict __endptr) - noexcept (true) __attribute__ ((__nonnull__ (1))); -# 177 "/usr/include/stdlib.h" 3 4 -extern long int strtol (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - noexcept (true) __attribute__ ((__nonnull__ (1))); - -extern unsigned long int strtoul (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -__extension__ -extern long long int strtoq (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - noexcept (true) __attribute__ ((__nonnull__ (1))); - -__extension__ -extern unsigned long long int strtouq (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - -__extension__ -extern long long int strtoll (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - noexcept (true) __attribute__ ((__nonnull__ (1))); - -__extension__ -extern unsigned long long int strtoull (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - - -extern long int strtol (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtol") - - - __attribute__ ((__nonnull__ (1))); -extern unsigned long int strtoul (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtoul") - - - - __attribute__ ((__nonnull__ (1))); - -__extension__ -extern long long int strtoq (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtoll") - - - __attribute__ ((__nonnull__ (1))); -__extension__ -extern unsigned long long int strtouq (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtoull") - - - - __attribute__ ((__nonnull__ (1))); - -__extension__ -extern long long int strtoll (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtoll") - - - __attribute__ ((__nonnull__ (1))); -__extension__ -extern unsigned long long int strtoull (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtoull") - - - - __attribute__ ((__nonnull__ (1))); -# 278 "/usr/include/stdlib.h" 3 4 -extern int strfromd (char *__dest, size_t __size, const char *__format, - double __f) - noexcept (true) __attribute__ ((__nonnull__ (3))); - -extern int strfromf (char *__dest, size_t __size, const char *__format, - float __f) - noexcept (true) __attribute__ ((__nonnull__ (3))); - -extern int strfroml (char *__dest, size_t __size, const char *__format, - long double __f) - noexcept (true) __attribute__ ((__nonnull__ (3))); -# 298 "/usr/include/stdlib.h" 3 4 -extern int strfromf32 (char *__dest, size_t __size, const char * __format, - _Float32 __f) - noexcept (true) __attribute__ ((__nonnull__ (3))); - - - -extern int strfromf64 (char *__dest, size_t __size, const char * __format, - _Float64 __f) - noexcept (true) __attribute__ ((__nonnull__ (3))); - - - -extern int strfromf128 (char *__dest, size_t __size, const char * __format, - _Float128 __f) - noexcept (true) __attribute__ ((__nonnull__ (3))); - - - -extern int strfromf32x (char *__dest, size_t __size, const char * __format, - _Float32x __f) - noexcept (true) __attribute__ ((__nonnull__ (3))); - - - -extern int strfromf64x (char *__dest, size_t __size, const char * __format, - _Float64x __f) - noexcept (true) __attribute__ ((__nonnull__ (3))); -# 340 "/usr/include/stdlib.h" 3 4 -extern long int strtol_l (const char *__restrict __nptr, - char **__restrict __endptr, int __base, - locale_t __loc) noexcept (true) __attribute__ ((__nonnull__ (1, 4))); - -extern unsigned long int strtoul_l (const char *__restrict __nptr, - char **__restrict __endptr, - int __base, locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 4))); - -__extension__ -extern long long int strtoll_l (const char *__restrict __nptr, - char **__restrict __endptr, int __base, - locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 4))); - -__extension__ -extern unsigned long long int strtoull_l (const char *__restrict __nptr, - char **__restrict __endptr, - int __base, locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 4))); - - - - - -extern long int strtol_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_strtol_l") - - - - __attribute__ ((__nonnull__ (1, 4))); -extern unsigned long int strtoul_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_strtoul_l") - - - - - __attribute__ ((__nonnull__ (1, 4))); -__extension__ -extern long long int strtoll_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_strtoll_l") - - - - - __attribute__ ((__nonnull__ (1, 4))); -__extension__ -extern unsigned long long int strtoull_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_strtoull_l") - - - - - __attribute__ ((__nonnull__ (1, 4))); -# 415 "/usr/include/stdlib.h" 3 4 -extern double strtod_l (const char *__restrict __nptr, - char **__restrict __endptr, locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - -extern float strtof_l (const char *__restrict __nptr, - char **__restrict __endptr, locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - -extern long double strtold_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); -# 436 "/usr/include/stdlib.h" 3 4 -extern _Float32 strtof32_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - - - -extern _Float64 strtof64_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - - - -extern _Float128 strtof128_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - - - -extern _Float32x strtof32x_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - - - -extern _Float64x strtof64x_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); -# 505 "/usr/include/stdlib.h" 3 4 -extern char *l64a (long int __n) noexcept (true) ; - - -extern long int a64l (const char *__s) - noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; - - - - -# 1 "/usr/include/sys/types.h" 1 3 4 -# 27 "/usr/include/sys/types.h" 3 4 -extern "C" { - - - - - -typedef __u_char u_char; -typedef __u_short u_short; -typedef __u_int u_int; -typedef __u_long u_long; -typedef __quad_t quad_t; -typedef __u_quad_t u_quad_t; -typedef __fsid_t fsid_t; - - -typedef __loff_t loff_t; - - - - -typedef __ino_t ino_t; - - - - - - -typedef __ino64_t ino64_t; - - - - -typedef __dev_t dev_t; - - - - -typedef __gid_t gid_t; - - - - -typedef __mode_t mode_t; - - - - -typedef __nlink_t nlink_t; - - - - -typedef __uid_t uid_t; - - - - - -typedef __off_t off_t; - - - - - - -typedef __off64_t off64_t; -# 103 "/usr/include/sys/types.h" 3 4 -typedef __id_t id_t; - - - - -typedef __ssize_t ssize_t; - - - - - -typedef __daddr_t daddr_t; -typedef __caddr_t caddr_t; - - - - - -typedef __key_t key_t; -# 134 "/usr/include/sys/types.h" 3 4 -typedef __useconds_t useconds_t; - - - -typedef __suseconds_t suseconds_t; - - - - - -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 145 "/usr/include/sys/types.h" 2 3 4 - - - -typedef unsigned long int ulong; -typedef unsigned short int ushort; -typedef unsigned int uint; - - - - -# 1 "/usr/include/bits/stdint-intn.h" 1 3 4 -# 24 "/usr/include/bits/stdint-intn.h" 3 4 -typedef __int8_t int8_t; -typedef __int16_t int16_t; -typedef __int32_t int32_t; -typedef __int64_t int64_t; -# 156 "/usr/include/sys/types.h" 2 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 int register_t __attribute__ ((__mode__ (__word__))); -# 176 "/usr/include/sys/types.h" 3 4 -# 1 "/usr/include/endian.h" 1 3 4 -# 35 "/usr/include/endian.h" 3 4 -# 1 "/usr/include/bits/byteswap.h" 1 3 4 -# 33 "/usr/include/bits/byteswap.h" 3 4 -static __inline __uint16_t -__bswap_16 (__uint16_t __bsx) -{ - - return __builtin_bswap16 (__bsx); - - - -} - - - - - - -static __inline __uint32_t -__bswap_32 (__uint32_t __bsx) -{ - - return __builtin_bswap32 (__bsx); - - - -} -# 69 "/usr/include/bits/byteswap.h" 3 4 -__extension__ static __inline __uint64_t -__bswap_64 (__uint64_t __bsx) -{ - - return __builtin_bswap64 (__bsx); - - - -} -# 36 "/usr/include/endian.h" 2 3 4 -# 1 "/usr/include/bits/uintn-identity.h" 1 3 4 -# 32 "/usr/include/bits/uintn-identity.h" 3 4 -static __inline __uint16_t -__uint16_identity (__uint16_t __x) -{ - return __x; -} - -static __inline __uint32_t -__uint32_identity (__uint32_t __x) -{ - return __x; -} - -static __inline __uint64_t -__uint64_identity (__uint64_t __x) -{ - return __x; -} -# 37 "/usr/include/endian.h" 2 3 4 -# 177 "/usr/include/sys/types.h" 2 3 4 - - -# 1 "/usr/include/sys/select.h" 1 3 4 -# 30 "/usr/include/sys/select.h" 3 4 -# 1 "/usr/include/bits/select.h" 1 3 4 -# 31 "/usr/include/sys/select.h" 2 3 4 - - -# 1 "/usr/include/bits/types/sigset_t.h" 1 3 4 - - - - - - -typedef __sigset_t sigset_t; -# 34 "/usr/include/sys/select.h" 2 3 4 -# 49 "/usr/include/sys/select.h" 3 4 -typedef long int __fd_mask; -# 59 "/usr/include/sys/select.h" 3 4 -typedef struct - { - - - - __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; - - - - - - } fd_set; - - - - - - -typedef __fd_mask fd_mask; -# 91 "/usr/include/sys/select.h" 3 4 -extern "C" { -# 102 "/usr/include/sys/select.h" 3 4 -extern int select (int __nfds, fd_set *__restrict __readfds, - fd_set *__restrict __writefds, - fd_set *__restrict __exceptfds, - struct timeval *__restrict __timeout); -# 127 "/usr/include/sys/select.h" 3 4 -extern int pselect (int __nfds, fd_set *__restrict __readfds, - fd_set *__restrict __writefds, - fd_set *__restrict __exceptfds, - const struct timespec *__restrict __timeout, - const __sigset_t *__restrict __sigmask); -# 153 "/usr/include/sys/select.h" 3 4 -} -# 180 "/usr/include/sys/types.h" 2 3 4 - - - - - -typedef __blksize_t blksize_t; - - - - - - -typedef __blkcnt_t blkcnt_t; - - - -typedef __fsblkcnt_t fsblkcnt_t; - - - -typedef __fsfilcnt_t fsfilcnt_t; -# 219 "/usr/include/sys/types.h" 3 4 -typedef __blkcnt64_t blkcnt64_t; -typedef __fsblkcnt64_t fsblkcnt64_t; -typedef __fsfilcnt64_t fsfilcnt64_t; -# 230 "/usr/include/sys/types.h" 3 4 -} -# 515 "/usr/include/stdlib.h" 2 3 4 - - - - - - -extern long int random (void) noexcept (true); - - -extern void srandom (unsigned int __seed) noexcept (true); - - - - - -extern char *initstate (unsigned int __seed, char *__statebuf, - size_t __statelen) noexcept (true) __attribute__ ((__nonnull__ (2))); - - - -extern char *setstate (char *__statebuf) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - - - -struct random_data - { - int32_t *fptr; - int32_t *rptr; - int32_t *state; - int rand_type; - int rand_deg; - int rand_sep; - int32_t *end_ptr; - }; - -extern int random_r (struct random_data *__restrict __buf, - int32_t *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - -extern int srandom_r (unsigned int __seed, struct random_data *__buf) - noexcept (true) __attribute__ ((__nonnull__ (2))); - -extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, - size_t __statelen, - struct random_data *__restrict __buf) - noexcept (true) __attribute__ ((__nonnull__ (2, 4))); - -extern int setstate_r (char *__restrict __statebuf, - struct random_data *__restrict __buf) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - - - - -extern int rand (void) noexcept (true); - -extern void srand (unsigned int __seed) noexcept (true); - - - -extern int rand_r (unsigned int *__seed) noexcept (true); - - - - - - - -extern double drand48 (void) noexcept (true); -extern double erand48 (unsigned short int __xsubi[3]) noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern long int lrand48 (void) noexcept (true); -extern long int nrand48 (unsigned short int __xsubi[3]) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern long int mrand48 (void) noexcept (true); -extern long int jrand48 (unsigned short int __xsubi[3]) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern void srand48 (long int __seedval) noexcept (true); -extern unsigned short int *seed48 (unsigned short int __seed16v[3]) - noexcept (true) __attribute__ ((__nonnull__ (1))); -extern void lcong48 (unsigned short int __param[7]) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - -struct drand48_data - { - unsigned short int __x[3]; - unsigned short int __old_x[3]; - unsigned short int __c; - unsigned short int __init; - __extension__ unsigned long long int __a; - - }; - - -extern int drand48_r (struct drand48_data *__restrict __buffer, - double *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); -extern int erand48_r (unsigned short int __xsubi[3], - struct drand48_data *__restrict __buffer, - double *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int lrand48_r (struct drand48_data *__restrict __buffer, - long int *__restrict __result) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); -extern int nrand48_r (unsigned short int __xsubi[3], - struct drand48_data *__restrict __buffer, - long int *__restrict __result) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int mrand48_r (struct drand48_data *__restrict __buffer, - long int *__restrict __result) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); -extern int jrand48_r (unsigned short int __xsubi[3], - struct drand48_data *__restrict __buffer, - long int *__restrict __result) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int srand48_r (long int __seedval, struct drand48_data *__buffer) - noexcept (true) __attribute__ ((__nonnull__ (2))); - -extern int seed48_r (unsigned short int __seed16v[3], - struct drand48_data *__buffer) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - -extern int lcong48_r (unsigned short int __param[7], - struct drand48_data *__buffer) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern __uint32_t arc4random (void) - noexcept (true) ; - - -extern void arc4random_buf (void *__buf, size_t __size) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern __uint32_t arc4random_uniform (__uint32_t __upper_bound) - noexcept (true) ; - - - - -extern void *malloc (size_t __size) noexcept (true) __attribute__ ((__malloc__)) - __attribute__ ((__alloc_size__ (1))) ; - -extern void *calloc (size_t __nmemb, size_t __size) - noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) ; - - - - - - -extern void *realloc (void *__ptr, size_t __size) - noexcept (true) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2))); - - -extern void free (void *__ptr) noexcept (true); - - - - - - - -extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) - noexcept (true) __attribute__ ((__warn_unused_result__)) - __attribute__ ((__alloc_size__ (2, 3))) - __attribute__ ((__malloc__ (__builtin_free, 1))); - - -extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) - noexcept (true) __attribute__ ((__malloc__ (reallocarray, 1))); - - - -# 1 "/usr/include/alloca.h" 1 3 4 -# 24 "/usr/include/alloca.h" 3 4 -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 25 "/usr/include/alloca.h" 2 3 4 - -extern "C" { - - - - - -extern void *alloca (size_t __size) noexcept (true); - - - - - -} -# 707 "/usr/include/stdlib.h" 2 3 4 - - - - - -extern void *valloc (size_t __size) noexcept (true) __attribute__ ((__malloc__)) - __attribute__ ((__alloc_size__ (1))) ; - - - - -extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) - noexcept (true) __attribute__ ((__nonnull__ (1))) ; - - - - -extern void *aligned_alloc (size_t __alignment, size_t __size) - noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1))) - __attribute__ ((__alloc_size__ (2))) ; - - - -extern void abort (void) noexcept (true) __attribute__ ((__noreturn__)); - - - -extern int atexit (void (*__func) (void)) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - -extern "C++" int at_quick_exit (void (*__func) (void)) - noexcept (true) __asm ("at_quick_exit") __attribute__ ((__nonnull__ (1))); -# 749 "/usr/include/stdlib.h" 3 4 -extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - -extern void exit (int __status) noexcept (true) __attribute__ ((__noreturn__)); - - - - - -extern void quick_exit (int __status) noexcept (true) __attribute__ ((__noreturn__)); - - - - - -extern void _Exit (int __status) noexcept (true) __attribute__ ((__noreturn__)); - - - - -extern char *getenv (const char *__name) noexcept (true) __attribute__ ((__nonnull__ (1))) ; - - - - -extern char *secure_getenv (const char *__name) - noexcept (true) __attribute__ ((__nonnull__ (1))) ; - - - - - - -extern int putenv (char *__string) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - -extern int setenv (const char *__name, const char *__value, int __replace) - noexcept (true) __attribute__ ((__nonnull__ (2))); - - -extern int unsetenv (const char *__name) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - - -extern int clearenv (void) noexcept (true); -# 814 "/usr/include/stdlib.h" 3 4 -extern char *mktemp (char *__template) noexcept (true) __attribute__ ((__nonnull__ (1))); -# 827 "/usr/include/stdlib.h" 3 4 -extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; -# 837 "/usr/include/stdlib.h" 3 4 -extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) ; -# 849 "/usr/include/stdlib.h" 3 4 -extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ; -# 859 "/usr/include/stdlib.h" 3 4 -extern int mkstemps64 (char *__template, int __suffixlen) - __attribute__ ((__nonnull__ (1))) ; -# 870 "/usr/include/stdlib.h" 3 4 -extern char *mkdtemp (char *__template) noexcept (true) __attribute__ ((__nonnull__ (1))) ; -# 881 "/usr/include/stdlib.h" 3 4 -extern int mkostemp (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ; -# 891 "/usr/include/stdlib.h" 3 4 -extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ; -# 901 "/usr/include/stdlib.h" 3 4 -extern int mkostemps (char *__template, int __suffixlen, int __flags) - __attribute__ ((__nonnull__ (1))) ; -# 913 "/usr/include/stdlib.h" 3 4 -extern int mkostemps64 (char *__template, int __suffixlen, int __flags) - __attribute__ ((__nonnull__ (1))) ; -# 923 "/usr/include/stdlib.h" 3 4 -extern int system (const char *__command) ; - - - - - -extern char *canonicalize_file_name (const char *__name) - noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__malloc__)) - __attribute__ ((__malloc__ (__builtin_free, 1))) ; -# 940 "/usr/include/stdlib.h" 3 4 -extern char *realpath (const char *__restrict __name, - char *__restrict __resolved) noexcept (true) ; - - - - - - -typedef int (*__compar_fn_t) (const void *, const void *); - - -typedef __compar_fn_t comparison_fn_t; - - - -typedef int (*__compar_d_fn_t) (const void *, const void *, void *); - - - - -extern void *bsearch (const void *__key, const void *__base, - size_t __nmemb, size_t __size, __compar_fn_t __compar) - __attribute__ ((__nonnull__ (1, 2, 5))) ; - - - - - - - -extern void qsort (void *__base, size_t __nmemb, size_t __size, - __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); - -extern void qsort_r (void *__base, size_t __nmemb, size_t __size, - __compar_d_fn_t __compar, void *__arg) - __attribute__ ((__nonnull__ (1, 4))); - - - - -extern int abs (int __x) noexcept (true) __attribute__ ((__const__)) ; -extern long int labs (long int __x) noexcept (true) __attribute__ ((__const__)) ; - - -__extension__ extern long long int llabs (long long int __x) - noexcept (true) __attribute__ ((__const__)) ; - - - - - - -extern div_t div (int __numer, int __denom) - noexcept (true) __attribute__ ((__const__)) ; -extern ldiv_t ldiv (long int __numer, long int __denom) - noexcept (true) __attribute__ ((__const__)) ; - - -__extension__ extern lldiv_t lldiv (long long int __numer, - long long int __denom) - noexcept (true) __attribute__ ((__const__)) ; -# 1012 "/usr/include/stdlib.h" 3 4 -extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, - int *__restrict __sign) noexcept (true) __attribute__ ((__nonnull__ (3, 4))) ; - - - - -extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, - int *__restrict __sign) noexcept (true) __attribute__ ((__nonnull__ (3, 4))) ; - - - - -extern char *gcvt (double __value, int __ndigit, char *__buf) - noexcept (true) __attribute__ ((__nonnull__ (3))) ; - - - - -extern char *qecvt (long double __value, int __ndigit, - int *__restrict __decpt, int *__restrict __sign) - noexcept (true) __attribute__ ((__nonnull__ (3, 4))) ; -extern char *qfcvt (long double __value, int __ndigit, - int *__restrict __decpt, int *__restrict __sign) - noexcept (true) __attribute__ ((__nonnull__ (3, 4))) ; -extern char *qgcvt (long double __value, int __ndigit, char *__buf) - noexcept (true) __attribute__ ((__nonnull__ (3))) ; - - - - -extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, - int *__restrict __sign, char *__restrict __buf, - size_t __len) noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5))); -extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, - int *__restrict __sign, char *__restrict __buf, - size_t __len) noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5))); - -extern int qecvt_r (long double __value, int __ndigit, - int *__restrict __decpt, int *__restrict __sign, - char *__restrict __buf, size_t __len) - noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5))); -extern int qfcvt_r (long double __value, int __ndigit, - int *__restrict __decpt, int *__restrict __sign, - char *__restrict __buf, size_t __len) - noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5))); - - - - - -extern int mblen (const char *__s, size_t __n) noexcept (true); - - -extern int mbtowc (wchar_t *__restrict __pwc, - const char *__restrict __s, size_t __n) noexcept (true); - - -extern int wctomb (char *__s, wchar_t __wchar) noexcept (true); - - - -extern size_t mbstowcs (wchar_t *__restrict __pwcs, - const char *__restrict __s, size_t __n) noexcept (true) - __attribute__ ((__access__ (__read_only__, 2))); - -extern size_t wcstombs (char *__restrict __s, - const wchar_t *__restrict __pwcs, size_t __n) - noexcept (true) - __attribute__ ((__access__ (__write_only__, 1, 3))) - __attribute__ ((__access__ (__read_only__, 2))); - - - - - - -extern int rpmatch (const char *__response) noexcept (true) __attribute__ ((__nonnull__ (1))) ; -# 1099 "/usr/include/stdlib.h" 3 4 -extern int getsubopt (char **__restrict __optionp, - char *const *__restrict __tokens, - char **__restrict __valuep) - noexcept (true) __attribute__ ((__nonnull__ (1, 2, 3))) ; - - - - - - - -extern int posix_openpt (int __oflag) ; - - - - - - - -extern int grantpt (int __fd) noexcept (true); - - - -extern int unlockpt (int __fd) noexcept (true); - - - - -extern char *ptsname (int __fd) noexcept (true) ; - - - - - - -extern int ptsname_r (int __fd, char *__buf, size_t __buflen) - noexcept (true) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3))); - - -extern int getpt (void); - - - - - - -extern int getloadavg (double __loadavg[], int __nelem) - noexcept (true) __attribute__ ((__nonnull__ (1))); -# 1155 "/usr/include/stdlib.h" 3 4 -# 1 "/usr/include/bits/stdlib-float.h" 1 3 4 -# 1156 "/usr/include/stdlib.h" 2 3 4 -# 1167 "/usr/include/stdlib.h" 3 4 -} -# 80 "/usr/include/c++/14.1.1/cstdlib" 2 3 - -# 1 "/usr/include/c++/14.1.1/bits/std_abs.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/std_abs.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/std_abs.h" 3 -# 46 "/usr/include/c++/14.1.1/bits/std_abs.h" 3 -extern "C++" -{ -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - using ::abs; - - - inline long - abs(long __i) { return __builtin_labs(__i); } - - - - inline long long - abs(long long __x) { return __builtin_llabs (__x); } -# 70 "/usr/include/c++/14.1.1/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); } - - - - __extension__ inline constexpr __int128 - abs(__int128 __x) { return __x >= 0 ? __x : -__x; } -# 135 "/usr/include/c++/14.1.1/bits/std_abs.h" 3 - __extension__ inline constexpr - __float128 - abs(__float128 __x) - { - - - - return __builtin_fabsf128(__x); - - - - - } - - - -} -} -# 82 "/usr/include/c++/14.1.1/cstdlib" 2 3 -# 125 "/usr/include/c++/14.1.1/cstdlib" 3 -extern "C++" -{ -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - 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) noexcept { return ldiv(__i, __j); } - - - - -} -# 199 "/usr/include/c++/14.1.1/cstdlib" 3 -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - - - - 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; -# 231 "/usr/include/c++/14.1.1/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; -} -# 275 "/usr/include/c++/14.1.1/cstdlib" 3 -} -# 44 "/usr/include/c++/14.1.1/ext/string_conversions.h" 2 3 -# 1 "/usr/include/c++/14.1.1/cwchar" 1 3 -# 39 "/usr/include/c++/14.1.1/cwchar" 3 - -# 40 "/usr/include/c++/14.1.1/cwchar" 3 -# 45 "/usr/include/c++/14.1.1/ext/string_conversions.h" 2 3 -# 1 "/usr/include/c++/14.1.1/cstdio" 1 3 -# 39 "/usr/include/c++/14.1.1/cstdio" 3 - -# 40 "/usr/include/c++/14.1.1/cstdio" 3 - - -# 1 "/usr/include/stdio.h" 1 3 4 -# 28 "/usr/include/stdio.h" 3 4 -# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 -# 29 "/usr/include/stdio.h" 2 3 4 - -extern "C" { - - - -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 35 "/usr/include/stdio.h" 2 3 4 - - -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stdarg.h" 1 3 4 -# 38 "/usr/include/stdio.h" 2 3 4 - - -# 1 "/usr/include/bits/types/__fpos_t.h" 1 3 4 -# 10 "/usr/include/bits/types/__fpos_t.h" 3 4 -typedef struct _G_fpos_t -{ - __off_t __pos; - __mbstate_t __state; -} __fpos_t; -# 41 "/usr/include/stdio.h" 2 3 4 -# 1 "/usr/include/bits/types/__fpos64_t.h" 1 3 4 -# 10 "/usr/include/bits/types/__fpos64_t.h" 3 4 -typedef struct _G_fpos64_t -{ - __off64_t __pos; - __mbstate_t __state; -} __fpos64_t; -# 42 "/usr/include/stdio.h" 2 3 4 - - -# 1 "/usr/include/bits/types/struct_FILE.h" 1 3 4 -# 35 "/usr/include/bits/types/struct_FILE.h" 3 4 -struct _IO_FILE; -struct _IO_marker; -struct _IO_codecvt; -struct _IO_wide_data; - - - - -typedef void _IO_lock_t; - - - - - -struct _IO_FILE -{ - int _flags; - - - char *_IO_read_ptr; - char *_IO_read_end; - char *_IO_read_base; - char *_IO_write_base; - char *_IO_write_ptr; - char *_IO_write_end; - char *_IO_buf_base; - char *_IO_buf_end; - - - char *_IO_save_base; - char *_IO_backup_base; - char *_IO_save_end; - - struct _IO_marker *_markers; - - struct _IO_FILE *_chain; - - int _fileno; - int _flags2; - __off_t _old_offset; - - - unsigned short _cur_column; - signed char _vtable_offset; - char _shortbuf[1]; - - _IO_lock_t *_lock; - - - - - - - - __off64_t _offset; - - struct _IO_codecvt *_codecvt; - struct _IO_wide_data *_wide_data; - struct _IO_FILE *_freeres_list; - void *_freeres_buf; - size_t __pad5; - int _mode; - - char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; -}; -# 45 "/usr/include/stdio.h" 2 3 4 - - -# 1 "/usr/include/bits/types/cookie_io_functions_t.h" 1 3 4 -# 27 "/usr/include/bits/types/cookie_io_functions_t.h" 3 4 -typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf, - size_t __nbytes); - - - - - - - -typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf, - size_t __nbytes); - - - - - - - -typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w); - - -typedef int cookie_close_function_t (void *__cookie); - - - - - - -typedef struct _IO_cookie_io_functions_t -{ - cookie_read_function_t *read; - cookie_write_function_t *write; - cookie_seek_function_t *seek; - cookie_close_function_t *close; -} cookie_io_functions_t; -# 48 "/usr/include/stdio.h" 2 3 4 -# 85 "/usr/include/stdio.h" 3 4 -typedef __fpos_t fpos_t; - - - - -typedef __fpos64_t fpos64_t; -# 129 "/usr/include/stdio.h" 3 4 -# 1 "/usr/include/bits/stdio_lim.h" 1 3 4 -# 130 "/usr/include/stdio.h" 2 3 4 -# 149 "/usr/include/stdio.h" 3 4 -extern FILE *stdin; -extern FILE *stdout; -extern FILE *stderr; - - - - - - -extern int remove (const char *__filename) noexcept (true); - -extern int rename (const char *__old, const char *__new) noexcept (true); - - - -extern int renameat (int __oldfd, const char *__old, int __newfd, - const char *__new) noexcept (true); -# 176 "/usr/include/stdio.h" 3 4 -extern int renameat2 (int __oldfd, const char *__old, int __newfd, - const char *__new, unsigned int __flags) noexcept (true); - - - - - - -extern int fclose (FILE *__stream) __attribute__ ((__nonnull__ (1))); -# 194 "/usr/include/stdio.h" 3 4 -extern FILE *tmpfile (void) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; -# 206 "/usr/include/stdio.h" 3 4 -extern FILE *tmpfile64 (void) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; - - - -extern char *tmpnam (char[20]) noexcept (true) ; - - - - -extern char *tmpnam_r (char __s[20]) noexcept (true) ; -# 228 "/usr/include/stdio.h" 3 4 -extern char *tempnam (const char *__dir, const char *__pfx) - noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (__builtin_free, 1))); - - - - - - -extern int fflush (FILE *__stream); -# 245 "/usr/include/stdio.h" 3 4 -extern int fflush_unlocked (FILE *__stream); -# 255 "/usr/include/stdio.h" 3 4 -extern int fcloseall (void); -# 264 "/usr/include/stdio.h" 3 4 -extern FILE *fopen (const char *__restrict __filename, - const char *__restrict __modes) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; - - - - -extern FILE *freopen (const char *__restrict __filename, - const char *__restrict __modes, - FILE *__restrict __stream) __attribute__ ((__nonnull__ (3))); -# 289 "/usr/include/stdio.h" 3 4 -extern FILE *fopen64 (const char *__restrict __filename, - const char *__restrict __modes) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; -extern FILE *freopen64 (const char *__restrict __filename, - const char *__restrict __modes, - FILE *__restrict __stream) __attribute__ ((__nonnull__ (3))); - - - - -extern FILE *fdopen (int __fd, const char *__modes) noexcept (true) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; - - - - - -extern FILE *fopencookie (void *__restrict __magic_cookie, - const char *__restrict __modes, - cookie_io_functions_t __io_funcs) noexcept (true) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; - - - - -extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) - noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; - - - - -extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) noexcept (true) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; - - - - - -extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) noexcept (true) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))); - - - - - -extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) noexcept (true) - __attribute__ ((__nonnull__ (1))); - - - -extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, - int __modes, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - -extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, - size_t __size) noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern void setlinebuf (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - - - -extern int fprintf (FILE *__restrict __stream, - const char *__restrict __format, ...) __attribute__ ((__nonnull__ (1))); - - - - -extern int printf (const char *__restrict __format, ...); - -extern int sprintf (char *__restrict __s, - const char *__restrict __format, ...) noexcept (true); - - - - - -extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, - __gnuc_va_list __arg) __attribute__ ((__nonnull__ (1))); - - - - -extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); - -extern int vsprintf (char *__restrict __s, const char *__restrict __format, - __gnuc_va_list __arg) noexcept (true); - - - -extern int snprintf (char *__restrict __s, size_t __maxlen, - const char *__restrict __format, ...) - noexcept (true) __attribute__ ((__format__ (__printf__, 3, 4))); - -extern int vsnprintf (char *__restrict __s, size_t __maxlen, - const char *__restrict __format, __gnuc_va_list __arg) - noexcept (true) __attribute__ ((__format__ (__printf__, 3, 0))); - - - - - -extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, - __gnuc_va_list __arg) - noexcept (true) __attribute__ ((__format__ (__printf__, 2, 0))) ; -extern int __asprintf (char **__restrict __ptr, - const char *__restrict __fmt, ...) - noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3))) ; -extern int asprintf (char **__restrict __ptr, - const char *__restrict __fmt, ...) - noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3))) ; - - - - -extern int vdprintf (int __fd, const char *__restrict __fmt, - __gnuc_va_list __arg) - __attribute__ ((__format__ (__printf__, 2, 0))); -extern int dprintf (int __fd, const char *__restrict __fmt, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); - - - - - - - -extern int fscanf (FILE *__restrict __stream, - const char *__restrict __format, ...) __attribute__ ((__nonnull__ (1))); - - - - -extern int scanf (const char *__restrict __format, ...) ; - -extern int sscanf (const char *__restrict __s, - const char *__restrict __format, ...) noexcept (true); -# 442 "/usr/include/stdio.h" 3 4 -extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc23_fscanf") - - __attribute__ ((__nonnull__ (1))); -extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc23_scanf") - ; -extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) noexcept (true) __asm__ ("" "__isoc23_sscanf") - - ; -# 490 "/usr/include/stdio.h" 3 4 -extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, - __gnuc_va_list __arg) - __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__nonnull__ (1))); - - - - - -extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) - __attribute__ ((__format__ (__scanf__, 1, 0))) ; - - -extern int vsscanf (const char *__restrict __s, - const char *__restrict __format, __gnuc_va_list __arg) - noexcept (true) __attribute__ ((__format__ (__scanf__, 2, 0))); - - - - - - -extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc23_vfscanf") - - - - __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__nonnull__ (1))); -extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc23_vscanf") - - __attribute__ ((__format__ (__scanf__, 1, 0))) ; -extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) noexcept (true) __asm__ ("" "__isoc23_vsscanf") - - - - __attribute__ ((__format__ (__scanf__, 2, 0))); -# 575 "/usr/include/stdio.h" 3 4 -extern int fgetc (FILE *__stream) __attribute__ ((__nonnull__ (1))); -extern int getc (FILE *__stream) __attribute__ ((__nonnull__ (1))); - - - - - -extern int getchar (void); - - - - - - -extern int getc_unlocked (FILE *__stream) __attribute__ ((__nonnull__ (1))); -extern int getchar_unlocked (void); -# 600 "/usr/include/stdio.h" 3 4 -extern int fgetc_unlocked (FILE *__stream) __attribute__ ((__nonnull__ (1))); -# 611 "/usr/include/stdio.h" 3 4 -extern int fputc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); -extern int putc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); - - - - - -extern int putchar (int __c); -# 627 "/usr/include/stdio.h" 3 4 -extern int fputc_unlocked (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); - - - - - - - -extern int putc_unlocked (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); -extern int putchar_unlocked (int __c); - - - - - - -extern int getw (FILE *__stream) __attribute__ ((__nonnull__ (1))); - - -extern int putw (int __w, FILE *__stream) __attribute__ ((__nonnull__ (2))); - - - - - - - -extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) - __attribute__ ((__access__ (__write_only__, 1, 2))) __attribute__ ((__nonnull__ (3))); -# 677 "/usr/include/stdio.h" 3 4 -extern char *fgets_unlocked (char *__restrict __s, int __n, - FILE *__restrict __stream) - __attribute__ ((__access__ (__write_only__, 1, 2))) __attribute__ ((__nonnull__ (3))); -# 694 "/usr/include/stdio.h" 3 4 -extern __ssize_t __getdelim (char **__restrict __lineptr, - size_t *__restrict __n, int __delimiter, - FILE *__restrict __stream) __attribute__ ((__nonnull__ (4))); -extern __ssize_t getdelim (char **__restrict __lineptr, - size_t *__restrict __n, int __delimiter, - FILE *__restrict __stream) __attribute__ ((__nonnull__ (4))); - - - - - - - -extern __ssize_t getline (char **__restrict __lineptr, - size_t *__restrict __n, - FILE *__restrict __stream) __attribute__ ((__nonnull__ (3))); - - - - - - - -extern int fputs (const char *__restrict __s, FILE *__restrict __stream) - __attribute__ ((__nonnull__ (2))); - - - - - -extern int puts (const char *__s); - - - - - - -extern int ungetc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); - - - - - - -extern size_t fread (void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __stream) - __attribute__ ((__nonnull__ (4))); - - - - -extern size_t fwrite (const void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __s) __attribute__ ((__nonnull__ (4))); -# 755 "/usr/include/stdio.h" 3 4 -extern int fputs_unlocked (const char *__restrict __s, - FILE *__restrict __stream) __attribute__ ((__nonnull__ (2))); -# 766 "/usr/include/stdio.h" 3 4 -extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __stream) - __attribute__ ((__nonnull__ (4))); -extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __stream) - __attribute__ ((__nonnull__ (4))); - - - - - - - -extern int fseek (FILE *__stream, long int __off, int __whence) - __attribute__ ((__nonnull__ (1))); - - - - -extern long int ftell (FILE *__stream) __attribute__ ((__nonnull__ (1))); - - - - -extern void rewind (FILE *__stream) __attribute__ ((__nonnull__ (1))); -# 803 "/usr/include/stdio.h" 3 4 -extern int fseeko (FILE *__stream, __off_t __off, int __whence) - __attribute__ ((__nonnull__ (1))); - - - - -extern __off_t ftello (FILE *__stream) __attribute__ ((__nonnull__ (1))); -# 829 "/usr/include/stdio.h" 3 4 -extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) - __attribute__ ((__nonnull__ (1))); - - - - -extern int fsetpos (FILE *__stream, const fpos_t *__pos) __attribute__ ((__nonnull__ (1))); -# 851 "/usr/include/stdio.h" 3 4 -extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence) - __attribute__ ((__nonnull__ (1))); -extern __off64_t ftello64 (FILE *__stream) __attribute__ ((__nonnull__ (1))); -extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos) - __attribute__ ((__nonnull__ (1))); -extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos) __attribute__ ((__nonnull__ (1))); - - - -extern void clearerr (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); - -extern int feof (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); - -extern int ferror (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern void clearerr_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); -extern int feof_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); -extern int ferror_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - - - -extern void perror (const char *__s) __attribute__ ((__cold__)); - - - - -extern int fileno (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - -extern int fileno_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); -# 897 "/usr/include/stdio.h" 3 4 -extern int pclose (FILE *__stream) __attribute__ ((__nonnull__ (1))); - - - - - -extern FILE *popen (const char *__command, const char *__modes) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) ; - - - - - - -extern char *ctermid (char *__s) noexcept (true) - __attribute__ ((__access__ (__write_only__, 1))); - - - - - -extern char *cuserid (char *__s) - __attribute__ ((__access__ (__write_only__, 1))); - - - - -struct obstack; - - -extern int obstack_printf (struct obstack *__restrict __obstack, - const char *__restrict __format, ...) - noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3))); -extern int obstack_vprintf (struct obstack *__restrict __obstack, - const char *__restrict __format, - __gnuc_va_list __args) - noexcept (true) __attribute__ ((__format__ (__printf__, 2, 0))); - - - - - - - -extern void flockfile (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int ftrylockfile (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern void funlockfile (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); -# 959 "/usr/include/stdio.h" 3 4 -extern int __uflow (FILE *); -extern int __overflow (FILE *, int); -# 983 "/usr/include/stdio.h" 3 4 -} -# 43 "/usr/include/c++/14.1.1/cstdio" 2 3 -# 96 "/usr/include/c++/14.1.1/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/include/c++/14.1.1/cstdio" 3 -namespace __gnu_cxx -{ -# 175 "/usr/include/c++/14.1.1/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; -} -# 46 "/usr/include/c++/14.1.1/ext/string_conversions.h" 2 3 -# 1 "/usr/include/c++/14.1.1/cerrno" 1 3 -# 39 "/usr/include/c++/14.1.1/cerrno" 3 - -# 40 "/usr/include/c++/14.1.1/cerrno" 3 - - -# 1 "/usr/include/errno.h" 1 3 4 -# 28 "/usr/include/errno.h" 3 4 -# 1 "/usr/include/bits/errno.h" 1 3 4 -# 26 "/usr/include/bits/errno.h" 3 4 -# 1 "/usr/include/linux/errno.h" 1 3 4 -# 1 "/usr/include/asm/errno.h" 1 3 4 -# 1 "/usr/include/asm-generic/errno.h" 1 3 4 - - - - -# 1 "/usr/include/asm-generic/errno-base.h" 1 3 4 -# 6 "/usr/include/asm-generic/errno.h" 2 3 4 -# 2 "/usr/include/asm/errno.h" 2 3 4 -# 2 "/usr/include/linux/errno.h" 2 3 4 -# 27 "/usr/include/bits/errno.h" 2 3 4 -# 29 "/usr/include/errno.h" 2 3 4 - - - - - -extern "C" { - - -extern int *__errno_location (void) noexcept (true) __attribute__ ((__const__)); - - - - - - - -extern char *program_invocation_name; -extern char *program_invocation_short_name; - -# 1 "/usr/include/bits/types/error_t.h" 1 3 4 -# 22 "/usr/include/bits/types/error_t.h" 3 4 -typedef int error_t; -# 49 "/usr/include/errno.h" 2 3 4 - - - -} -# 43 "/usr/include/c++/14.1.1/cerrno" 2 3 -# 47 "/usr/include/c++/14.1.1/ext/string_conversions.h" 2 3 - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - - - - 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_location ())) { (*__errno_location ()) = 0; } - ~_Save_errno() { if ((*__errno_location ()) == 0) (*__errno_location ()) = _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_location ()) == 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); - } - - -} -# 4155 "/usr/include/c++/14.1.1/bits/basic_string.h" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/charconv.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/charconv.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/charconv.h" 3 - - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -namespace __detail -{ - - - template - constexpr bool __integer_to_chars_is_unsigned - = ! __gnu_cxx::__int_traits<_Tp>::__is_signed; - - - - template - constexpr unsigned - __to_chars_len(_Tp __value, int __base = 10) noexcept - { - - static_assert(__integer_to_chars_is_unsigned<_Tp>, "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(__integer_to_chars_is_unsigned<_Tp>, "implementation bug"); - - - 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; - } - -} - -} -# 4156 "/usr/include/c++/14.1.1/bits/basic_string.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -namespace __cxx11 { - - - 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); } -# 4198 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - inline double - stod(const string& __str, size_t* __idx = 0) - { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); } - - - - inline float - stof(const string& __str, size_t* __idx = 0) - { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); } -# 4226 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - inline long double - stold(const string& __str, size_t* __idx = 0) - { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); } -# 4238 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] - inline string - to_string(int __val) - - noexcept - - { - const bool __neg = __val < 0; - const unsigned __uval = __neg ? (unsigned)~__val + 1u : __val; - const auto __len = __detail::__to_chars_len(__uval); - string __str; - __str.__resize_and_overwrite(__neg + __len, [=](char* __p, size_t __n) { - __p[0] = '-'; - __detail::__to_chars_10_impl(__p + (int)__neg, __len, __uval); - return __n; - }); - return __str; - } - - [[__nodiscard__]] - inline string - to_string(unsigned __val) - - noexcept - - { - const auto __len = __detail::__to_chars_len(__val); - string __str; - __str.__resize_and_overwrite(__len, [__val](char* __p, size_t __n) { - __detail::__to_chars_10_impl(__p, __n, __val); - return __n; - }); - return __str; - } - - [[__nodiscard__]] - 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; - __str.__resize_and_overwrite(__neg + __len, [=](char* __p, size_t __n) { - __p[0] = '-'; - __detail::__to_chars_10_impl(__p + (int)__neg, __len, __uval); - return __n; - }); - return __str; - } - - [[__nodiscard__]] - inline string - to_string(unsigned long __val) - - - - { - const auto __len = __detail::__to_chars_len(__val); - string __str; - __str.__resize_and_overwrite(__len, [__val](char* __p, size_t __n) { - __detail::__to_chars_10_impl(__p, __n, __val); - return __n; - }); - return __str; - } - - [[__nodiscard__]] - 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; - __str.__resize_and_overwrite(__neg + __len, [=](char* __p, size_t __n) { - __p[0] = '-'; - __detail::__to_chars_10_impl(__p + (int)__neg, __len, __uval); - return __n; - }); - return __str; - } - - [[__nodiscard__]] - inline string - to_string(unsigned long long __val) - { - const auto __len = __detail::__to_chars_len(__val); - string __str; - __str.__resize_and_overwrite(__len, [__val](char* __p, size_t __n) { - __detail::__to_chars_10_impl(__p, __n, __val); - return __n; - }); - return __str; - } -# 4399 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] - 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); - } - - [[__nodiscard__]] - 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); - } - - [[__nodiscard__]] - 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); } - - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wc++17-extensions" - constexpr - inline void - __to_wstring_numeric(const char* __s, int __len, wchar_t* __wout) - { - - - if constexpr (wchar_t('0') == L'0' && wchar_t('-') == L'-' - && wchar_t('.') == L'.' && wchar_t('e') == L'e') - { - for (int __i = 0; __i < __len; ++__i) - __wout[__i] = (wchar_t) __s[__i]; - } - else - { - wchar_t __wc[256]; - for (int __i = '0'; __i <= '9'; ++__i) - __wc[__i] = L'0' + __i; - __wc['.'] = L'.'; - __wc['+'] = L'+'; - __wc['-'] = L'-'; - __wc['a'] = L'a'; - __wc['b'] = L'b'; - __wc['c'] = L'c'; - __wc['d'] = L'd'; - __wc['e'] = L'e'; - __wc['f'] = L'f'; - __wc['n'] = L'n'; - __wc['p'] = L'p'; - __wc['x'] = L'x'; - __wc['A'] = L'A'; - __wc['B'] = L'B'; - __wc['C'] = L'C'; - __wc['D'] = L'D'; - __wc['E'] = L'E'; - __wc['F'] = L'F'; - __wc['N'] = L'N'; - __wc['P'] = L'P'; - __wc['X'] = L'X'; - - for (int __i = 0; __i < __len; ++__i) - __wout[__i] = __wc[(int)__s[__i]]; - } - } - - - constexpr - - inline wstring - - __to_wstring_numeric(string_view __s) - - - - { - if constexpr (wchar_t('0') == L'0' && wchar_t('-') == L'-' - && wchar_t('.') == L'.' && wchar_t('e') == L'e') - return wstring(__s.data(), __s.data() + __s.size()); - else - { - wstring __ws; - auto __f = __s.data(); - __ws.__resize_and_overwrite(__s.size(), - [__f] (wchar_t* __to, int __n) { - std::__to_wstring_numeric(__f, __n, __to); - return __n; - }); - return __ws; - } - } -#pragma GCC diagnostic pop - - [[__nodiscard__]] - inline wstring - to_wstring(int __val) - { return std::__to_wstring_numeric(std::to_string(__val)); } - - [[__nodiscard__]] - inline wstring - to_wstring(unsigned __val) - { return std::__to_wstring_numeric(std::to_string(__val)); } - - [[__nodiscard__]] - inline wstring - to_wstring(long __val) - { return std::__to_wstring_numeric(std::to_string(__val)); } - - [[__nodiscard__]] - inline wstring - to_wstring(unsigned long __val) - { return std::__to_wstring_numeric(std::to_string(__val)); } - - [[__nodiscard__]] - inline wstring - to_wstring(long long __val) - { return std::__to_wstring_numeric(std::to_string(__val)); } - - [[__nodiscard__]] - inline wstring - to_wstring(unsigned long long __val) - { return std::__to_wstring_numeric(std::to_string(__val)); } - - - [[__nodiscard__]] - inline wstring - to_wstring(float __val) - { return std::__to_wstring_numeric(std::to_string(__val)); } - - [[__nodiscard__]] - inline wstring - to_wstring(double __val) - { return std::__to_wstring_numeric(std::to_string(__val)); } - - [[__nodiscard__]] - inline wstring - to_wstring(long double __val) - { return std::__to_wstring_numeric(std::to_string(__val)); } - - - -} - -} - - - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - template, _Alloc>> - struct __str_hash_base - : public __hash_base - { - [[__nodiscard__]] - size_t - operator()(const _StrT& __s) const noexcept - { return _Hash_impl::hash(__s.data(), __s.length() * sizeof(_CharT)); } - }; - - - - template - struct hash, _Alloc>> - : public __str_hash_base - { }; - - - template - struct hash, _Alloc>> - : public __str_hash_base - { }; - - template - struct __is_fast_hash, - _Alloc>>> - : std::false_type - { }; - - - - - template - struct hash, _Alloc>> - : public __str_hash_base - { }; - - - - template - struct hash, _Alloc>> - : public __str_hash_base - { }; - - - template - struct hash, _Alloc>> - : public __str_hash_base - { }; - - - - template<> struct __is_fast_hash> : std::false_type { }; - template<> struct __is_fast_hash> : std::false_type { }; - template<> struct __is_fast_hash> : std::false_type { }; - template<> struct __is_fast_hash> : std::false_type { }; - - template<> struct __is_fast_hash> : std::false_type { }; -# 4678 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - inline namespace literals - { - inline namespace string_literals - { -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wliteral-suffix" - - - - - - - - __attribute ((__abi_tag__ ("cxx11"))) constexpr - inline basic_string - operator""s(const char* __str, size_t __len) - { return basic_string{__str, __len}; } - - __attribute ((__abi_tag__ ("cxx11"))) constexpr - inline basic_string - operator""s(const wchar_t* __str, size_t __len) - { return basic_string{__str, __len}; } - - - __attribute ((__abi_tag__ ("cxx11"))) constexpr - inline basic_string - operator""s(const char8_t* __str, size_t __len) - { return basic_string{__str, __len}; } - - - __attribute ((__abi_tag__ ("cxx11"))) constexpr - inline basic_string - operator""s(const char16_t* __str, size_t __len) - { return basic_string{__str, __len}; } - - __attribute ((__abi_tag__ ("cxx11"))) constexpr - 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 - { }; - } - - - -} -# 55 "/usr/include/c++/14.1.1/string" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/basic_string.tcc" 1 3 -# 42 "/usr/include/c++/14.1.1/bits/basic_string.tcc" 3 - -# 43 "/usr/include/c++/14.1.1/bits/basic_string.tcc" 3 - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - template - const typename basic_string<_CharT, _Traits, _Alloc>::size_type - basic_string<_CharT, _Traits, _Alloc>::npos; - - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - swap(basic_string& __s) noexcept - { - if (this == std::__addressof(__s)) - return; - - _Alloc_traits::_S_on_swap(_M_get_allocator(), __s._M_get_allocator()); - - if (_M_is_local()) - if (__s._M_is_local()) - { - if (length() && __s.length()) - { - _CharT __tmp_data[_S_local_capacity + 1]; - traits_type::copy(__tmp_data, __s._M_local_buf, - __s.length() + 1); - traits_type::copy(__s._M_local_buf, _M_local_buf, - length() + 1); - traits_type::copy(_M_local_buf, __tmp_data, - __s.length() + 1); - } - else if (__s.length()) - { - _M_init_local_buf(); - traits_type::copy(_M_local_buf, __s._M_local_buf, - __s.length() + 1); - _M_length(__s.length()); - __s._M_set_length(0); - return; - } - else if (length()) - { - __s._M_init_local_buf(); - traits_type::copy(__s._M_local_buf, _M_local_buf, - length() + 1); - __s._M_length(length()); - _M_set_length(0); - return; - } - } - else - { - const size_type __tmp_capacity = __s._M_allocated_capacity; - __s._M_init_local_buf(); - traits_type::copy(__s._M_local_buf, _M_local_buf, - length() + 1); - _M_data(__s._M_data()); - __s._M_data(__s._M_local_buf); - _M_capacity(__tmp_capacity); - } - else - { - const size_type __tmp_capacity = _M_allocated_capacity; - if (__s._M_is_local()) - { - _M_init_local_buf(); - traits_type::copy(_M_local_buf, __s._M_local_buf, - __s.length() + 1); - __s._M_data(_M_data()); - _M_data(_M_local_buf); - } - else - { - pointer __tmp_ptr = _M_data(); - _M_data(__s._M_data()); - __s._M_data(__tmp_ptr); - _M_capacity(__s._M_allocated_capacity); - } - __s._M_capacity(__tmp_capacity); - } - - const size_type __tmp_length = length(); - _M_length(__s.length()); - __s._M_length(__tmp_length); - } - - template - constexpr - typename basic_string<_CharT, _Traits, _Alloc>::pointer - basic_string<_CharT, _Traits, _Alloc>:: - _M_create(size_type& __capacity, size_type __old_capacity) - { - - - if (__capacity > max_size()) - std::__throw_length_error(("basic_string::_M_create")); - - - - - if (__capacity > __old_capacity && __capacity < 2 * __old_capacity) - { - __capacity = 2 * __old_capacity; - - if (__capacity > max_size()) - __capacity = max_size(); - } - - - - return _S_allocate(_M_get_allocator(), __capacity + 1); - } - - - - - - template - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - _M_construct(_InIterator __beg, _InIterator __end, - std::input_iterator_tag) - { - size_type __len = 0; - size_type __capacity = size_type(_S_local_capacity); - - _M_init_local_buf(); - - while (__beg != __end && __len < __capacity) - { - _M_local_buf[__len++] = *__beg; - ++__beg; - } - - struct _Guard - { - constexpr - explicit _Guard(basic_string* __s) : _M_guarded(__s) { } - - constexpr - ~_Guard() { if (_M_guarded) _M_guarded->_M_dispose(); } - - basic_string* _M_guarded; - } __guard(this); - - while (__beg != __end) - { - if (__len == __capacity) - { - - __capacity = __len + 1; - pointer __another = _M_create(__capacity, __len); - this->_S_copy(__another, _M_data(), __len); - _M_dispose(); - _M_data(__another); - _M_capacity(__capacity); - } - traits_type::assign(_M_data()[__len++], *__beg); - ++__beg; - } - - __guard._M_guarded = 0; - - _M_set_length(__len); - } - - template - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - _M_construct(_InIterator __beg, _InIterator __end, - std::forward_iterator_tag) - { - size_type __dnew = static_cast(std::distance(__beg, __end)); - - if (__dnew > size_type(_S_local_capacity)) - { - _M_data(_M_create(__dnew, size_type(0))); - _M_capacity(__dnew); - } - else - _M_init_local_buf(); - - - struct _Guard - { - constexpr - explicit _Guard(basic_string* __s) : _M_guarded(__s) { } - - constexpr - ~_Guard() { if (_M_guarded) _M_guarded->_M_dispose(); } - - basic_string* _M_guarded; - } __guard(this); - - this->_S_copy_chars(_M_data(), __beg, __end); - - __guard._M_guarded = 0; - - _M_set_length(__dnew); - } - - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - _M_construct(size_type __n, _CharT __c) - { - if (__n > size_type(_S_local_capacity)) - { - _M_data(_M_create(__n, size_type(0))); - _M_capacity(__n); - } - else - _M_init_local_buf(); - - if (__n) - this->_S_assign(_M_data(), __n, __c); - - _M_set_length(__n); - } - - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - _M_assign(const basic_string& __str) - { - if (this != std::__addressof(__str)) - { - const size_type __rsize = __str.length(); - const size_type __capacity = capacity(); - - if (__rsize > __capacity) - { - size_type __new_capacity = __rsize; - pointer __tmp = _M_create(__new_capacity, __capacity); - _M_dispose(); - _M_data(__tmp); - _M_capacity(__new_capacity); - } - - if (__rsize) - this->_S_copy(_M_data(), __str._M_data(), __rsize); - - _M_set_length(__rsize); - } - } - - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - reserve(size_type __res) - { - const size_type __capacity = capacity(); - - - - - if (__res <= __capacity) - return; - - pointer __tmp = _M_create(__res, __capacity); - this->_S_copy(__tmp, _M_data(), length() + 1); - _M_dispose(); - _M_data(__tmp); - _M_capacity(__res); - } - - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - _M_mutate(size_type __pos, size_type __len1, const _CharT* __s, - size_type __len2) - { - const size_type __how_much = length() - __pos - __len1; - - size_type __new_capacity = length() + __len2 - __len1; - pointer __r = _M_create(__new_capacity, capacity()); - - if (__pos) - this->_S_copy(__r, _M_data(), __pos); - if (__s && __len2) - this->_S_copy(__r + __pos, __s, __len2); - if (__how_much) - this->_S_copy(__r + __pos + __len2, - _M_data() + __pos + __len1, __how_much); - - _M_dispose(); - _M_data(__r); - _M_capacity(__new_capacity); - } - - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - _M_erase(size_type __pos, size_type __n) - { - const size_type __how_much = length() - __pos - __n; - - if (__how_much && __n) - this->_S_move(_M_data() + __pos, _M_data() + __pos + __n, __how_much); - - _M_set_length(length() - __n); - } - - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - reserve() - { - if (_M_is_local()) - return; - - const size_type __length = length(); - const size_type __capacity = _M_allocated_capacity; - - if (__length <= size_type(_S_local_capacity)) - { - _M_init_local_buf(); - this->_S_copy(_M_local_buf, _M_data(), __length + 1); - _M_destroy(__capacity); - _M_data(_M_local_data()); - } - - else if (__length < __capacity) - try - { - pointer __tmp = _S_allocate(_M_get_allocator(), __length + 1); - this->_S_copy(__tmp, _M_data(), __length + 1); - _M_dispose(); - _M_data(__tmp); - _M_capacity(__length); - } - catch (const __cxxabiv1::__forced_unwind&) - { throw; } - catch (...) - { } - - } - - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - resize(size_type __n, _CharT __c) - { - const size_type __size = this->size(); - if (__size < __n) - this->append(__n - __size, __c); - else if (__n < __size) - this->_M_set_length(__n); - } - - template - constexpr - basic_string<_CharT, _Traits, _Alloc>& - basic_string<_CharT, _Traits, _Alloc>:: - _M_append(const _CharT* __s, size_type __n) - { - const size_type __len = __n + this->size(); - - if (__len <= this->capacity()) - { - if (__n) - this->_S_copy(this->_M_data() + this->size(), __s, __n); - } - else - this->_M_mutate(this->size(), size_type(0), __s, __n); - - this->_M_set_length(__len); - return *this; - } - - template - template - constexpr - basic_string<_CharT, _Traits, _Alloc>& - basic_string<_CharT, _Traits, _Alloc>:: - _M_replace_dispatch(const_iterator __i1, const_iterator __i2, - _InputIterator __k1, _InputIterator __k2, - std::__false_type) - { - - - const basic_string __s(__k1, __k2, this->get_allocator()); - const size_type __n1 = __i2 - __i1; - return _M_replace(__i1 - begin(), __n1, __s._M_data(), - __s.size()); - } - - template - constexpr - 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"); - - const size_type __old_size = this->size(); - const size_type __new_size = __old_size + __n2 - __n1; - - if (__new_size <= this->capacity()) - { - pointer __p = this->_M_data() + __pos1; - - const size_type __how_much = __old_size - __pos1 - __n1; - if (__how_much && __n1 != __n2) - this->_S_move(__p + __n2, __p + __n1, __how_much); - } - else - this->_M_mutate(__pos1, __n1, 0, __n2); - - if (__n2) - this->_S_assign(this->_M_data() + __pos1, __n2, __c); - - this->_M_set_length(__new_size); - return *this; - } - - template - __attribute__((__noinline__, __noclone__, __cold__)) void - basic_string<_CharT, _Traits, _Alloc>:: - _M_replace_cold(pointer __p, size_type __len1, const _CharT* __s, - const size_type __len2, const size_type __how_much) - { - - if (__len2 && __len2 <= __len1) - this->_S_move(__p, __s, __len2); - if (__how_much && __len1 != __len2) - this->_S_move(__p + __len2, __p + __len1, __how_much); - if (__len2 > __len1) - { - if (__s + __len2 <= __p + __len1) - this->_S_move(__p, __s, __len2); - else if (__s >= __p + __len1) - { - - - const size_type __poff = (__s - __p) + (__len2 - __len1); - this->_S_copy(__p, __p + __poff, __len2); - } - else - { - const size_type __nleft = (__p + __len1) - __s; - this->_S_move(__p, __s, __nleft); - this->_S_copy(__p + __nleft, __p + __len2, __len2 - __nleft); - } - } - } - - template - constexpr - basic_string<_CharT, _Traits, _Alloc>& - basic_string<_CharT, _Traits, _Alloc>:: - _M_replace(size_type __pos, size_type __len1, const _CharT* __s, - const size_type __len2) - { - _M_check_length(__len1, __len2, "basic_string::_M_replace"); - - const size_type __old_size = this->size(); - const size_type __new_size = __old_size + __len2 - __len1; - - if (__new_size <= this->capacity()) - { - pointer __p = this->_M_data() + __pos; - - const size_type __how_much = __old_size - __pos - __len1; - - if (std::is_constant_evaluated()) - { - auto __newp = _S_allocate(_M_get_allocator(), __new_size); - _S_copy(__newp, this->_M_data(), __pos); - _S_copy(__newp + __pos, __s, __len2); - _S_copy(__newp + __pos + __len2, __p + __len1, __how_much); - _S_copy(this->_M_data(), __newp, __new_size); - this->_M_get_allocator().deallocate(__newp, __new_size); - } - else - - if (__builtin_expect(_M_disjunct(__s), true)) - { - if (__how_much && __len1 != __len2) - this->_S_move(__p + __len2, __p + __len1, __how_much); - if (__len2) - this->_S_copy(__p, __s, __len2); - } - else - _M_replace_cold(__p, __len1, __s, __len2, __how_much); - } - else - this->_M_mutate(__pos, __len1, __s, __len2); - - this->_M_set_length(__new_size); - return *this; - } - - template - constexpr - 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) - _S_copy(__s, _M_data() + __pos, __n); - - return __n; - } -# 580 "/usr/include/c++/14.1.1/bits/basic_string.tcc" 3 - template - template - constexpr void - basic_string<_CharT, _Traits, _Alloc>:: - - - - __resize_and_overwrite(const size_type __n, _Operation __op) - - { - reserve(__n); - _CharT* const __p = _M_data(); - - if (std::__is_constant_evaluated() && __n > size()) - traits_type::assign(__p + size(), __n - size(), _CharT()); - - struct _Terminator { - constexpr ~_Terminator() { _M_this->_M_set_length(_M_r); } - basic_string* _M_this; - size_type _M_r; - }; - _Terminator __term{this, 0}; - auto __r = std::move(__op)(__p + 0, __n + 0); - - static_assert(ranges::__detail::__is_integer_like); - - - - - ; - __term._M_r = size_type(__r); - if (__term._M_r > __n) - __builtin_unreachable(); - } -# 623 "/usr/include/c++/14.1.1/bits/basic_string.tcc" 3 - template - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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 - 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; - } -# 985 "/usr/include/c++/14.1.1/bits/basic_string.tcc" 3 - extern template void - basic_string::_M_replace_cold(char *, size_type, const char*, - const size_type, const size_type); - - - 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&); -# 1011 "/usr/include/c++/14.1.1/bits/basic_string.tcc" 3 - extern template void - basic_string::_M_replace_cold(wchar_t*, size_type, const wchar_t*, - const size_type, const size_type); - - - 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&); - - - - -} -# 56 "/usr/include/c++/14.1.1/string" 2 3 -# 64 "/usr/include/c++/14.1.1/string" 3 -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 65 "/usr/include/c++/14.1.1/string" 2 3 - - -# 1 "/usr/include/c++/14.1.1/bits/memory_resource.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - - - - -# 1 "/usr/include/c++/14.1.1/cstddef" 1 3 -# 42 "/usr/include/c++/14.1.1/cstddef" 3 - -# 43 "/usr/include/c++/14.1.1/cstddef" 3 - - - - - - - -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 51 "/usr/include/c++/14.1.1/cstddef" 2 3 - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 54 "/usr/include/c++/14.1.1/cstddef" 2 3 - -extern "C++" -{ - -namespace std -{ - - using ::max_align_t; -} - - - -namespace std -{ - - - enum class byte : unsigned char {}; - - template struct __byte_operand { }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - - template<> struct __byte_operand { using __type = byte; }; - - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - - template<> struct __byte_operand<__int128> - { using __type = byte; }; - template<> struct __byte_operand - { using __type = byte; }; -# 109 "/usr/include/c++/14.1.1/cstddef" 3 - template - struct __byte_operand - : __byte_operand<_IntegerType> { }; - template - struct __byte_operand - : __byte_operand<_IntegerType> { }; - template - struct __byte_operand - : __byte_operand<_IntegerType> { }; - - template - using __byte_op_t = typename __byte_operand<_IntegerType>::__type; - - template - [[__gnu__::__always_inline__]] - constexpr __byte_op_t<_IntegerType> - operator<<(byte __b, _IntegerType __shift) noexcept - { return (byte)(unsigned char)((unsigned)__b << __shift); } - - template - [[__gnu__::__always_inline__]] - constexpr __byte_op_t<_IntegerType> - operator>>(byte __b, _IntegerType __shift) noexcept - { return (byte)(unsigned char)((unsigned)__b >> __shift); } - - [[__gnu__::__always_inline__]] - constexpr byte - operator|(byte __l, byte __r) noexcept - { return (byte)(unsigned char)((unsigned)__l | (unsigned)__r); } - - [[__gnu__::__always_inline__]] - constexpr byte - operator&(byte __l, byte __r) noexcept - { return (byte)(unsigned char)((unsigned)__l & (unsigned)__r); } - - [[__gnu__::__always_inline__]] - constexpr byte - operator^(byte __l, byte __r) noexcept - { return (byte)(unsigned char)((unsigned)__l ^ (unsigned)__r); } - - [[__gnu__::__always_inline__]] - constexpr byte - operator~(byte __b) noexcept - { return (byte)(unsigned char)~(unsigned)__b; } - - template - [[__gnu__::__always_inline__]] - constexpr __byte_op_t<_IntegerType>& - operator<<=(byte& __b, _IntegerType __shift) noexcept - { return __b = __b << __shift; } - - template - [[__gnu__::__always_inline__]] - constexpr __byte_op_t<_IntegerType>& - operator>>=(byte& __b, _IntegerType __shift) noexcept - { return __b = __b >> __shift; } - - [[__gnu__::__always_inline__]] - constexpr byte& - operator|=(byte& __l, byte __r) noexcept - { return __l = __l | __r; } - - [[__gnu__::__always_inline__]] - constexpr byte& - operator&=(byte& __l, byte __r) noexcept - { return __l = __l & __r; } - - [[__gnu__::__always_inline__]] - constexpr byte& - operator^=(byte& __l, byte __r) noexcept - { return __l = __l ^ __r; } - - template - [[nodiscard,__gnu__::__always_inline__]] - constexpr _IntegerType - to_integer(__byte_op_t<_IntegerType> __b) noexcept - { return _IntegerType(__b); } - - -} - -} -# 39 "/usr/include/c++/14.1.1/bits/memory_resource.h" 2 3 - -# 1 "/usr/include/c++/14.1.1/bits/uses_allocator.h" 1 3 -# 40 "/usr/include/c++/14.1.1/bits/uses_allocator.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - struct __erased_type { }; - - - - - template - using __is_erased_or_convertible - = __or_, is_same<_Tp, __erased_type>>; - - - struct allocator_arg_t { explicit allocator_arg_t() = default; }; - - inline constexpr allocator_arg_t allocator_arg = - allocator_arg_t(); - - template> - struct __uses_allocator_helper - : false_type { }; - - template - struct __uses_allocator_helper<_Tp, _Alloc, - __void_t> - : __is_erased_or_convertible<_Alloc, typename _Tp::allocator_type>::type - { }; - - - template - struct uses_allocator - : __uses_allocator_helper<_Tp, _Alloc>::type - { }; - - struct __uses_alloc_base { }; - - struct __uses_alloc0 : __uses_alloc_base - { - struct _Sink { void constexpr operator=(const void*) { } } _M_a; - }; - - template - struct __uses_alloc1 : __uses_alloc_base { const _Alloc* _M_a; }; - - template - struct __uses_alloc2 : __uses_alloc_base { const _Alloc* _M_a; }; - - template - struct __uses_alloc; - - template - struct __uses_alloc - : __conditional_t< - is_constructible<_Tp, allocator_arg_t, const _Alloc&, _Args...>::value, - __uses_alloc1<_Alloc>, - __uses_alloc2<_Alloc>> - { - - - static_assert(__or_< - is_constructible<_Tp, allocator_arg_t, const _Alloc&, _Args...>, - is_constructible<_Tp, _Args..., const _Alloc&>>::value, - "construction with an allocator must be possible" - " if uses_allocator is true"); - }; - - template - struct __uses_alloc - : __uses_alloc0 { }; - - template - using __uses_alloc_t = - __uses_alloc::value, _Tp, _Alloc, _Args...>; - - template - constexpr - inline __uses_alloc_t<_Tp, _Alloc, _Args...> - __use_alloc(const _Alloc& __a) - { - __uses_alloc_t<_Tp, _Alloc, _Args...> __ret; - __ret._M_a = std::__addressof(__a); - return __ret; - } - - template - void - __use_alloc(const _Alloc&&) = delete; - - - template - inline constexpr bool uses_allocator_v = - uses_allocator<_Tp, _Alloc>::value; - - - template class _Predicate, - typename _Tp, typename _Alloc, typename... _Args> - struct __is_uses_allocator_predicate - : __conditional_t::value, - __or_<_Predicate<_Tp, allocator_arg_t, _Alloc, _Args...>, - _Predicate<_Tp, _Args..., _Alloc>>, - _Predicate<_Tp, _Args...>> { }; - - template - struct __is_uses_allocator_constructible - : __is_uses_allocator_predicate - { }; - - - template - inline constexpr bool __is_uses_allocator_constructible_v = - __is_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value; - - - template - struct __is_nothrow_uses_allocator_constructible - : __is_uses_allocator_predicate - { }; - - - - template - inline constexpr bool - __is_nothrow_uses_allocator_constructible_v = - __is_nothrow_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value; - - - template - void __uses_allocator_construct_impl(__uses_alloc0, _Tp* __ptr, - _Args&&... __args) - { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)...); } - - template - void __uses_allocator_construct_impl(__uses_alloc1<_Alloc> __a, _Tp* __ptr, - _Args&&... __args) - { - ::new ((void*)__ptr) _Tp(allocator_arg, *__a._M_a, - std::forward<_Args>(__args)...); - } - - template - void __uses_allocator_construct_impl(__uses_alloc2<_Alloc> __a, _Tp* __ptr, - _Args&&... __args) - { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)..., *__a._M_a); } - - template - void __uses_allocator_construct(const _Alloc& __a, _Tp* __ptr, - _Args&&... __args) - { - std::__uses_allocator_construct_impl( - std::__use_alloc<_Tp, _Alloc, _Args...>(__a), __ptr, - std::forward<_Args>(__args)...); - } - - - -} -# 41 "/usr/include/c++/14.1.1/bits/memory_resource.h" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/uses_allocator_args.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/uses_allocator_args.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/uses_allocator_args.h" 3 - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 36 "/usr/include/c++/14.1.1/bits/uses_allocator_args.h" 2 3 - - - -# 1 "/usr/include/c++/14.1.1/tuple" 1 3 -# 32 "/usr/include/c++/14.1.1/tuple" 3 - -# 33 "/usr/include/c++/14.1.1/tuple" 3 -# 44 "/usr/include/c++/14.1.1/tuple" 3 -# 1 "/usr/include/c++/14.1.1/bits/ranges_util.h" 1 3 -# 39 "/usr/include/c++/14.1.1/bits/ranges_util.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -namespace ranges -{ - - - namespace __detail - { - template - concept __simple_view = view<_Range> && range - && same_as, iterator_t> - && same_as, sentinel_t>; - - template - concept __has_arrow = input_iterator<_It> - && (is_pointer_v<_It> || requires(_It __it) { __it.operator->(); }); - - using std::__detail::__different_from; - } - - - template - requires is_class_v<_Derived> && same_as<_Derived, remove_cv_t<_Derived>> - class view_interface - { - private: - constexpr _Derived& _M_derived() noexcept - { - static_assert(derived_from<_Derived, view_interface<_Derived>>); - static_assert(view<_Derived>); - return static_cast<_Derived&>(*this); - } - - constexpr const _Derived& _M_derived() const noexcept - { - static_assert(derived_from<_Derived, view_interface<_Derived>>); - static_assert(view<_Derived>); - return static_cast(*this); - } - - static constexpr bool - _S_bool(bool) noexcept; - - template - static constexpr bool - _S_empty(_Tp& __t) - noexcept(noexcept(_S_bool(ranges::begin(__t) == ranges::end(__t)))) - { return ranges::begin(__t) == ranges::end(__t); } - - template - static constexpr auto - _S_size(_Tp& __t) - noexcept(noexcept(ranges::end(__t) - ranges::begin(__t))) - { return ranges::end(__t) - ranges::begin(__t); } - - public: - constexpr bool - empty() - noexcept(noexcept(_S_empty(_M_derived()))) - requires forward_range<_Derived> && (!sized_range<_Derived>) - { return _S_empty(_M_derived()); } - - constexpr bool - empty() - noexcept(noexcept(ranges::size(_M_derived()) == 0)) - requires sized_range<_Derived> - { return ranges::size(_M_derived()) == 0; } - - constexpr bool - empty() const - noexcept(noexcept(_S_empty(_M_derived()))) - requires forward_range && (!sized_range) - { return _S_empty(_M_derived()); } - - constexpr bool - empty() const - noexcept(noexcept(ranges::size(_M_derived()) == 0)) - requires sized_range - { return ranges::size(_M_derived()) == 0; } - - constexpr explicit - operator bool() noexcept(noexcept(ranges::empty(_M_derived()))) - requires requires { ranges::empty(_M_derived()); } - { return !ranges::empty(_M_derived()); } - - constexpr explicit - operator bool() const noexcept(noexcept(ranges::empty(_M_derived()))) - requires requires { ranges::empty(_M_derived()); } - { return !ranges::empty(_M_derived()); } - - constexpr auto - data() noexcept(noexcept(ranges::begin(_M_derived()))) - requires contiguous_iterator> - { return std::to_address(ranges::begin(_M_derived())); } - - constexpr auto - data() const noexcept(noexcept(ranges::begin(_M_derived()))) - requires range - && contiguous_iterator> - { return std::to_address(ranges::begin(_M_derived())); } - - constexpr auto - size() noexcept(noexcept(_S_size(_M_derived()))) - requires forward_range<_Derived> - && sized_sentinel_for, iterator_t<_Derived>> - { return _S_size(_M_derived()); } - - constexpr auto - size() const noexcept(noexcept(_S_size(_M_derived()))) - requires forward_range - && sized_sentinel_for, - iterator_t> - { return _S_size(_M_derived()); } - - constexpr decltype(auto) - front() requires forward_range<_Derived> - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); - return *ranges::begin(_M_derived()); - } - - constexpr decltype(auto) - front() const requires forward_range - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); - return *ranges::begin(_M_derived()); - } - - constexpr decltype(auto) - back() - requires bidirectional_range<_Derived> && common_range<_Derived> - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); - return *ranges::prev(ranges::end(_M_derived())); - } - - constexpr decltype(auto) - back() const - requires bidirectional_range - && common_range - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); - return *ranges::prev(ranges::end(_M_derived())); - } - - template - constexpr decltype(auto) - operator[](range_difference_t<_Range> __n) - { return ranges::begin(_M_derived())[__n]; } - - template - constexpr decltype(auto) - operator[](range_difference_t<_Range> __n) const - { return ranges::begin(_M_derived())[__n]; } -# 212 "/usr/include/c++/14.1.1/bits/ranges_util.h" 3 - }; - - namespace __detail - { - template - concept __uses_nonqualification_pointer_conversion - = is_pointer_v<_From> && is_pointer_v<_To> - && !convertible_to(*)[], - remove_pointer_t<_To>(*)[]>; - - template - concept __convertible_to_non_slicing = convertible_to<_From, _To> - && !__uses_nonqualification_pointer_conversion, - decay_t<_To>>; - - - - - - template - concept __pair_like - = !is_reference_v<_Tp> && requires(_Tp __t) - { - typename tuple_size<_Tp>::type; - requires derived_from, integral_constant>; - typename tuple_element_t<0, remove_const_t<_Tp>>; - typename tuple_element_t<1, remove_const_t<_Tp>>; - { get<0>(__t) } -> convertible_to&>; - { get<1>(__t) } -> convertible_to&>; - }; - - - template - concept __pair_like_convertible_from - = !range<_Tp> && !is_reference_v<_Vp> && __pair_like<_Tp> - && constructible_from<_Tp, _Up, _Vp> - && __convertible_to_non_slicing<_Up, tuple_element_t<0, _Tp>> - && convertible_to<_Vp, tuple_element_t<1, _Tp>>; - - } - - namespace views { struct _Drop; } - - enum class subrange_kind : bool { unsized, sized }; - - - template _Sent = _It, - subrange_kind _Kind = sized_sentinel_for<_Sent, _It> - ? subrange_kind::sized : subrange_kind::unsized> - requires (_Kind == subrange_kind::sized || !sized_sentinel_for<_Sent, _It>) - class subrange : public view_interface> - { - private: - static constexpr bool _S_store_size - = _Kind == subrange_kind::sized && !sized_sentinel_for<_Sent, _It>; - - friend struct views::_Drop; - - _It _M_begin = _It(); - [[no_unique_address]] _Sent _M_end = _Sent(); - - using __size_type - = __detail::__make_unsigned_like_t>; - - template - struct _Size - { - [[__gnu__::__always_inline__]] - constexpr _Size(_Tp = {}) { } - }; - - template - struct _Size<_Tp, true> - { - [[__gnu__::__always_inline__]] - constexpr _Size(_Tp __s = {}) : _M_size(__s) { } - - _Tp _M_size; - }; - - [[no_unique_address]] _Size<__size_type> _M_size = {}; - - public: - subrange() requires default_initializable<_It> = default; - - constexpr - subrange(__detail::__convertible_to_non_slicing<_It> auto __i, _Sent __s) - noexcept(is_nothrow_constructible_v<_It, decltype(__i)> - && is_nothrow_constructible_v<_Sent, _Sent&>) - requires (!_S_store_size) - : _M_begin(std::move(__i)), _M_end(__s) - { } - - constexpr - subrange(__detail::__convertible_to_non_slicing<_It> auto __i, _Sent __s, - __size_type __n) - noexcept(is_nothrow_constructible_v<_It, decltype(__i)> - && is_nothrow_constructible_v<_Sent, _Sent&>) - requires (_Kind == subrange_kind::sized) - : _M_begin(std::move(__i)), _M_end(__s), _M_size(__n) - { } - - template<__detail::__different_from _Rng> - requires borrowed_range<_Rng> - && __detail::__convertible_to_non_slicing, _It> - && convertible_to, _Sent> - constexpr - subrange(_Rng&& __r) - noexcept(noexcept(subrange(__r, ranges::size(__r)))) - requires _S_store_size && sized_range<_Rng> - : subrange(__r, ranges::size(__r)) - { } - - template<__detail::__different_from _Rng> - requires borrowed_range<_Rng> - && __detail::__convertible_to_non_slicing, _It> - && convertible_to, _Sent> - constexpr - subrange(_Rng&& __r) - noexcept(noexcept(subrange(ranges::begin(__r), ranges::end(__r)))) - requires (!_S_store_size) - : subrange(ranges::begin(__r), ranges::end(__r)) - { } - - template - requires __detail::__convertible_to_non_slicing, _It> - && convertible_to, _Sent> - constexpr - subrange(_Rng&& __r, __size_type __n) - noexcept(noexcept(subrange(ranges::begin(__r), ranges::end(__r), __n))) - requires (_Kind == subrange_kind::sized) - : subrange{ranges::begin(__r), ranges::end(__r), __n} - { } - - template<__detail::__different_from _PairLike> - requires __detail::__pair_like_convertible_from<_PairLike, const _It&, - const _Sent&> - constexpr - operator _PairLike() const - { return _PairLike(_M_begin, _M_end); } - - constexpr _It - begin() const requires copyable<_It> - { return _M_begin; } - - [[nodiscard]] constexpr _It - begin() requires (!copyable<_It>) - { return std::move(_M_begin); } - - constexpr _Sent end() const { return _M_end; } - - constexpr bool empty() const { return _M_begin == _M_end; } - - constexpr __size_type - size() const requires (_Kind == subrange_kind::sized) - { - if constexpr (_S_store_size) - return _M_size._M_size; - else - return __detail::__to_unsigned_like(_M_end - _M_begin); - } - - [[nodiscard]] constexpr subrange - next(iter_difference_t<_It> __n = 1) const & - requires forward_iterator<_It> - { - auto __tmp = *this; - __tmp.advance(__n); - return __tmp; - } - - [[nodiscard]] constexpr subrange - next(iter_difference_t<_It> __n = 1) && - { - advance(__n); - return std::move(*this); - } - - [[nodiscard]] constexpr subrange - prev(iter_difference_t<_It> __n = 1) const - requires bidirectional_iterator<_It> - { - auto __tmp = *this; - __tmp.advance(-__n); - return __tmp; - } - - constexpr subrange& - advance(iter_difference_t<_It> __n) - { - - - if constexpr (bidirectional_iterator<_It>) - if (__n < 0) - { - ranges::advance(_M_begin, __n); - if constexpr (_S_store_size) - _M_size._M_size += __detail::__to_unsigned_like(-__n); - return *this; - } - - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__n >= 0), false)) std::__glibcxx_assert_fail(); } while (false); - auto __d = __n - ranges::advance(_M_begin, __n, _M_end); - if constexpr (_S_store_size) - _M_size._M_size -= __detail::__to_unsigned_like(__d); - return *this; - } - }; - - template _Sent> - subrange(_It, _Sent) -> subrange<_It, _Sent>; - - template _Sent> - subrange(_It, _Sent, - __detail::__make_unsigned_like_t>) - -> subrange<_It, _Sent, subrange_kind::sized>; - - template - subrange(_Rng&&) - -> subrange, sentinel_t<_Rng>, - (sized_range<_Rng> - || sized_sentinel_for, iterator_t<_Rng>>) - ? subrange_kind::sized : subrange_kind::unsized>; - - template - subrange(_Rng&&, - __detail::__make_unsigned_like_t>) - -> subrange, sentinel_t<_Rng>, subrange_kind::sized>; - - template - requires (_Num < 2) - constexpr auto - get(const subrange<_It, _Sent, _Kind>& __r) - { - if constexpr (_Num == 0) - return __r.begin(); - else - return __r.end(); - } - - template - requires (_Num < 2) - constexpr auto - get(subrange<_It, _Sent, _Kind>&& __r) - { - if constexpr (_Num == 0) - return __r.begin(); - else - return __r.end(); - } - - template - inline constexpr bool - enable_borrowed_range> = true; - - template - using borrowed_subrange_t = __conditional_t, - subrange>, - dangling>; - - - template - inline constexpr bool __detail::__is_subrange> = true; -} -# 485 "/usr/include/c++/14.1.1/bits/ranges_util.h" 3 -namespace ranges -{ - struct __find_fn - { - template _Sent, typename _Tp, - typename _Proj = identity> - requires indirect_binary_predicate, const _Tp*> - constexpr _Iter - operator()(_Iter __first, _Sent __last, - const _Tp& __value, _Proj __proj = {}) const - { - while (__first != __last - && !(std::__invoke(__proj, *__first) == __value)) - ++__first; - return __first; - } - - template - requires indirect_binary_predicate, _Proj>, - const _Tp*> - constexpr borrowed_iterator_t<_Range> - operator()(_Range&& __r, const _Tp& __value, _Proj __proj = {}) const - { - return (*this)(ranges::begin(__r), ranges::end(__r), - __value, std::move(__proj)); - } - }; - - inline constexpr __find_fn find{}; - - struct __find_if_fn - { - template _Sent, - typename _Proj = identity, - indirect_unary_predicate> _Pred> - constexpr _Iter - operator()(_Iter __first, _Sent __last, - _Pred __pred, _Proj __proj = {}) const - { - while (__first != __last - && !(bool)std::__invoke(__pred, std::__invoke(__proj, *__first))) - ++__first; - return __first; - } - - template, _Proj>> - _Pred> - constexpr borrowed_iterator_t<_Range> - operator()(_Range&& __r, _Pred __pred, _Proj __proj = {}) const - { - return (*this)(ranges::begin(__r), ranges::end(__r), - std::move(__pred), std::move(__proj)); - } - }; - - inline constexpr __find_if_fn find_if{}; - - struct __find_if_not_fn - { - template _Sent, - typename _Proj = identity, - indirect_unary_predicate> _Pred> - constexpr _Iter - operator()(_Iter __first, _Sent __last, - _Pred __pred, _Proj __proj = {}) const - { - while (__first != __last - && (bool)std::__invoke(__pred, std::__invoke(__proj, *__first))) - ++__first; - return __first; - } - - template, _Proj>> - _Pred> - constexpr borrowed_iterator_t<_Range> - operator()(_Range&& __r, _Pred __pred, _Proj __proj = {}) const - { - return (*this)(ranges::begin(__r), ranges::end(__r), - std::move(__pred), std::move(__proj)); - } - }; - - inline constexpr __find_if_not_fn find_if_not{}; - - template - struct in_in_result - { - [[no_unique_address]] _Iter1 in1; - [[no_unique_address]] _Iter2 in2; - - template - requires convertible_to - && convertible_to - constexpr - operator in_in_result<_IIter1, _IIter2>() const & - { return {in1, in2}; } - - template - requires convertible_to<_Iter1, _IIter1> - && convertible_to<_Iter2, _IIter2> - constexpr - operator in_in_result<_IIter1, _IIter2>() && - { return {std::move(in1), std::move(in2)}; } - }; - - template - using mismatch_result = in_in_result<_Iter1, _Iter2>; - - struct __mismatch_fn - { - template _Sent1, - input_iterator _Iter2, sentinel_for<_Iter2> _Sent2, - typename _Pred = ranges::equal_to, - typename _Proj1 = identity, typename _Proj2 = identity> - requires indirectly_comparable<_Iter1, _Iter2, _Pred, _Proj1, _Proj2> - constexpr mismatch_result<_Iter1, _Iter2> - operator()(_Iter1 __first1, _Sent1 __last1, - _Iter2 __first2, _Sent2 __last2, _Pred __pred = {}, - _Proj1 __proj1 = {}, _Proj2 __proj2 = {}) const - { - while (__first1 != __last1 && __first2 != __last2 - && (bool)std::__invoke(__pred, - std::__invoke(__proj1, *__first1), - std::__invoke(__proj2, *__first2))) - { - ++__first1; - ++__first2; - } - return { std::move(__first1), std::move(__first2) }; - } - - template - requires indirectly_comparable, iterator_t<_Range2>, - _Pred, _Proj1, _Proj2> - constexpr mismatch_result, iterator_t<_Range2>> - operator()(_Range1&& __r1, _Range2&& __r2, _Pred __pred = {}, - _Proj1 __proj1 = {}, _Proj2 __proj2 = {}) const - { - return (*this)(ranges::begin(__r1), ranges::end(__r1), - ranges::begin(__r2), ranges::end(__r2), - std::move(__pred), - std::move(__proj1), std::move(__proj2)); - } - }; - - inline constexpr __mismatch_fn mismatch{}; - - struct __search_fn - { - template _Sent1, - forward_iterator _Iter2, sentinel_for<_Iter2> _Sent2, - typename _Pred = ranges::equal_to, - typename _Proj1 = identity, typename _Proj2 = identity> - requires indirectly_comparable<_Iter1, _Iter2, _Pred, _Proj1, _Proj2> - constexpr subrange<_Iter1> - operator()(_Iter1 __first1, _Sent1 __last1, - _Iter2 __first2, _Sent2 __last2, _Pred __pred = {}, - _Proj1 __proj1 = {}, _Proj2 __proj2 = {}) const - { - if (__first1 == __last1 || __first2 == __last2) - return {__first1, __first1}; - - for (;;) - { - for (;;) - { - if (__first1 == __last1) - return {__first1, __first1}; - if (std::__invoke(__pred, - std::__invoke(__proj1, *__first1), - std::__invoke(__proj2, *__first2))) - break; - ++__first1; - } - auto __cur1 = __first1; - auto __cur2 = __first2; - for (;;) - { - if (++__cur2 == __last2) - return {__first1, ++__cur1}; - if (++__cur1 == __last1) - return {__cur1, __cur1}; - if (!(bool)std::__invoke(__pred, - std::__invoke(__proj1, *__cur1), - std::__invoke(__proj2, *__cur2))) - { - ++__first1; - break; - } - } - } - } - - template - requires indirectly_comparable, iterator_t<_Range2>, - _Pred, _Proj1, _Proj2> - constexpr borrowed_subrange_t<_Range1> - operator()(_Range1&& __r1, _Range2&& __r2, _Pred __pred = {}, - _Proj1 __proj1 = {}, _Proj2 __proj2 = {}) const - { - return (*this)(ranges::begin(__r1), ranges::end(__r1), - ranges::begin(__r2), ranges::end(__r2), - std::move(__pred), - std::move(__proj1), std::move(__proj2)); - } - }; - - inline constexpr __search_fn search{}; - - struct __min_fn - { - template> - _Comp = ranges::less> - constexpr const _Tp& - operator()(const _Tp& __a, const _Tp& __b, - _Comp __comp = {}, _Proj __proj = {}) const - { - if (std::__invoke(__comp, - std::__invoke(__proj, __b), - std::__invoke(__proj, __a))) - return __b; - else - return __a; - } - - template, _Proj>> - _Comp = ranges::less> - requires indirectly_copyable_storable, - range_value_t<_Range>*> - constexpr range_value_t<_Range> - operator()(_Range&& __r, _Comp __comp = {}, _Proj __proj = {}) const - { - auto __first = ranges::begin(__r); - auto __last = ranges::end(__r); - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__first != __last), false)) std::__glibcxx_assert_fail(); } while (false); - auto __result = *__first; - while (++__first != __last) - { - auto __tmp = *__first; - if (std::__invoke(__comp, - std::__invoke(__proj, __tmp), - std::__invoke(__proj, __result))) - __result = std::move(__tmp); - } - return __result; - } - - template> - _Comp = ranges::less> - constexpr _Tp - operator()(initializer_list<_Tp> __r, - _Comp __comp = {}, _Proj __proj = {}) const - { - return (*this)(ranges::subrange(__r), - std::move(__comp), std::move(__proj)); - } - }; - - inline constexpr __min_fn min{}; - - struct __adjacent_find_fn - { - template _Sent, - typename _Proj = identity, - indirect_binary_predicate, - projected<_Iter, _Proj>> _Pred - = ranges::equal_to> - constexpr _Iter - operator()(_Iter __first, _Sent __last, - _Pred __pred = {}, _Proj __proj = {}) const - { - if (__first == __last) - return __first; - auto __next = __first; - for (; ++__next != __last; __first = __next) - { - if (std::__invoke(__pred, - std::__invoke(__proj, *__first), - std::__invoke(__proj, *__next))) - return __first; - } - return __next; - } - - template, _Proj>, - projected, _Proj>> _Pred = ranges::equal_to> - constexpr borrowed_iterator_t<_Range> - operator()(_Range&& __r, _Pred __pred = {}, _Proj __proj = {}) const - { - return (*this)(ranges::begin(__r), ranges::end(__r), - std::move(__pred), std::move(__proj)); - } - }; - - inline constexpr __adjacent_find_fn adjacent_find{}; - -} - - using ranges::get; - - template - struct tuple_size> - : integral_constant - { }; - - template - struct tuple_element<0, ranges::subrange<_Iter, _Sent, _Kind>> - { using type = _Iter; }; - - template - struct tuple_element<1, ranges::subrange<_Iter, _Sent, _Kind>> - { using type = _Sent; }; - - template - struct tuple_element<0, const ranges::subrange<_Iter, _Sent, _Kind>> - { using type = _Iter; }; - - template - struct tuple_element<1, const ranges::subrange<_Iter, _Sent, _Kind>> - { using type = _Sent; }; - - -} -# 45 "/usr/include/c++/14.1.1/tuple" 2 3 -# 54 "/usr/include/c++/14.1.1/tuple" 3 -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 55 "/usr/include/c++/14.1.1/tuple" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - - template - class tuple; - - template - struct __is_empty_non_tuple : is_empty<_Tp> { }; - - - template - struct __is_empty_non_tuple> : false_type { }; - - - template - using __empty_not_final - = __conditional_t<__is_final(_Tp), false_type, - __is_empty_non_tuple<_Tp>>; - - template::value> - struct _Head_base; - - - template - struct _Head_base<_Idx, _Head, true> - { - constexpr _Head_base() - : _M_head_impl() { } - - constexpr _Head_base(const _Head& __h) - : _M_head_impl(__h) { } - - constexpr _Head_base(const _Head_base&) = default; - constexpr _Head_base(_Head_base&&) = default; - - template - constexpr _Head_base(_UHead&& __h) - : _M_head_impl(std::forward<_UHead>(__h)) { } - - constexpr - _Head_base(allocator_arg_t, __uses_alloc0) - : _M_head_impl() { } - - template - constexpr - _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a) - : _M_head_impl(allocator_arg, *__a._M_a) { } - - template - constexpr - _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a) - : _M_head_impl(*__a._M_a) { } - - template - constexpr - _Head_base(__uses_alloc0, _UHead&& __uhead) - : _M_head_impl(std::forward<_UHead>(__uhead)) { } - - template - constexpr - _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead) - : _M_head_impl(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead)) - { } - - template - constexpr - _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead) - : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { } - - static constexpr _Head& - _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; } - - static constexpr const _Head& - _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; } - - [[__no_unique_address__]] _Head _M_head_impl; - }; -# 195 "/usr/include/c++/14.1.1/tuple" 3 - template - struct _Head_base<_Idx, _Head, false> - { - constexpr _Head_base() - : _M_head_impl() { } - - constexpr _Head_base(const _Head& __h) - : _M_head_impl(__h) { } - - constexpr _Head_base(const _Head_base&) = default; - constexpr _Head_base(_Head_base&&) = default; - - template - constexpr _Head_base(_UHead&& __h) - : _M_head_impl(std::forward<_UHead>(__h)) { } - - constexpr - _Head_base(allocator_arg_t, __uses_alloc0) - : _M_head_impl() { } - - template - constexpr - _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a) - : _M_head_impl(allocator_arg, *__a._M_a) { } - - template - constexpr - _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a) - : _M_head_impl(*__a._M_a) { } - - template - constexpr - _Head_base(__uses_alloc0, _UHead&& __uhead) - : _M_head_impl(std::forward<_UHead>(__uhead)) { } - - template - constexpr - _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead) - : _M_head_impl(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead)) - { } - - template - constexpr - _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead) - : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { } - - static constexpr _Head& - _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; } - - static constexpr const _Head& - _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; } - - _Head _M_head_impl; - }; -# 274 "/usr/include/c++/14.1.1/tuple" 3 - template - struct _Tuple_impl; - - - - - - - template - struct _Tuple_impl<_Idx, _Head, _Tail...> - : public _Tuple_impl<_Idx + 1, _Tail...>, - private _Head_base<_Idx, _Head> - { - template friend struct _Tuple_impl; - - typedef _Tuple_impl<_Idx + 1, _Tail...> _Inherited; - typedef _Head_base<_Idx, _Head> _Base; - - static constexpr _Head& - _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } - - static constexpr const _Head& - _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } - - static constexpr _Inherited& - _M_tail(_Tuple_impl& __t) noexcept { return __t; } - - static constexpr const _Inherited& - _M_tail(const _Tuple_impl& __t) noexcept { return __t; } - - constexpr _Tuple_impl() - : _Inherited(), _Base() { } - - explicit constexpr - _Tuple_impl(const _Head& __head, const _Tail&... __tail) - : _Inherited(__tail...), _Base(__head) - { } - - template> - explicit constexpr - _Tuple_impl(_UHead&& __head, _UTail&&... __tail) - : _Inherited(std::forward<_UTail>(__tail)...), - _Base(std::forward<_UHead>(__head)) - { } - - constexpr _Tuple_impl(const _Tuple_impl&) = default; - - - - _Tuple_impl& operator=(const _Tuple_impl&) = delete; - - _Tuple_impl(_Tuple_impl&&) = default; - - template - constexpr - _Tuple_impl(const _Tuple_impl<_Idx, _UElements...>& __in) - : _Inherited(_Tuple_impl<_Idx, _UElements...>::_M_tail(__in)), - _Base(_Tuple_impl<_Idx, _UElements...>::_M_head(__in)) - { } - - template - constexpr - _Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in) - : _Inherited(std::move - (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))), - _Base(std::forward<_UHead> - (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))) - { } -# 370 "/usr/include/c++/14.1.1/tuple" 3 - template - constexpr - _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a) - : _Inherited(__tag, __a), - _Base(__tag, __use_alloc<_Head>(__a)) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, - const _Head& __head, const _Tail&... __tail) - : _Inherited(__tag, __a, __tail...), - _Base(__use_alloc<_Head, _Alloc, _Head>(__a), __head) - { } - - template> - constexpr - _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, - _UHead&& __head, _UTail&&... __tail) - : _Inherited(__tag, __a, std::forward<_UTail>(__tail)...), - _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), - std::forward<_UHead>(__head)) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, - const _Tuple_impl& __in) - : _Inherited(__tag, __a, _M_tail(__in)), - _Base(__use_alloc<_Head, _Alloc, _Head>(__a), _M_head(__in)) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, - _Tuple_impl&& __in) - : _Inherited(__tag, __a, std::move(_M_tail(__in))), - _Base(__use_alloc<_Head, _Alloc, _Head>(__a), - std::forward<_Head>(_M_head(__in))) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, - const _Tuple_impl<_Idx, _UHead, _UTails...>& __in) - : _Inherited(__tag, __a, - _Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in)), - _Base(__use_alloc<_Head, _Alloc, const _UHead&>(__a), - _Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, - _Tuple_impl<_Idx, _UHead, _UTails...>&& __in) - : _Inherited(__tag, __a, std::move - (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))), - _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), - std::forward<_UHead> - (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))) - { } -# 465 "/usr/include/c++/14.1.1/tuple" 3 - template - constexpr - void - _M_assign(const _Tuple_impl<_Idx, _UElements...>& __in) - { - _M_head(*this) = _Tuple_impl<_Idx, _UElements...>::_M_head(__in); - _M_tail(*this)._M_assign( - _Tuple_impl<_Idx, _UElements...>::_M_tail(__in)); - } - - template - constexpr - void - _M_assign(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in) - { - _M_head(*this) = std::forward<_UHead> - (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)); - _M_tail(*this)._M_assign( - std::move(_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))); - } -# 525 "/usr/include/c++/14.1.1/tuple" 3 - protected: - constexpr - void - _M_swap(_Tuple_impl& __in) - { - using std::swap; - swap(_M_head(*this), _M_head(__in)); - _Inherited::_M_swap(_M_tail(__in)); - } -# 544 "/usr/include/c++/14.1.1/tuple" 3 - }; - - - template - struct _Tuple_impl<_Idx, _Head> - : private _Head_base<_Idx, _Head> - { - template friend struct _Tuple_impl; - - typedef _Head_base<_Idx, _Head> _Base; - - static constexpr _Head& - _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } - - static constexpr const _Head& - _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } - - constexpr - _Tuple_impl() - : _Base() { } - - explicit constexpr - _Tuple_impl(const _Head& __head) - : _Base(__head) - { } - - template - explicit constexpr - _Tuple_impl(_UHead&& __head) - : _Base(std::forward<_UHead>(__head)) - { } - - constexpr _Tuple_impl(const _Tuple_impl&) = default; - - - - _Tuple_impl& operator=(const _Tuple_impl&) = delete; - - - - - constexpr - _Tuple_impl(_Tuple_impl&& __in) - noexcept(is_nothrow_move_constructible<_Head>::value) - : _Base(static_cast<_Base&&>(__in)) - { } - - - template - constexpr - _Tuple_impl(const _Tuple_impl<_Idx, _UHead>& __in) - : _Base(_Tuple_impl<_Idx, _UHead>::_M_head(__in)) - { } - - template - constexpr - _Tuple_impl(_Tuple_impl<_Idx, _UHead>&& __in) - : _Base(std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in))) - { } -# 626 "/usr/include/c++/14.1.1/tuple" 3 - template - constexpr - _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a) - : _Base(__tag, __use_alloc<_Head>(__a)) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t, const _Alloc& __a, - const _Head& __head) - : _Base(__use_alloc<_Head, _Alloc, const _Head&>(__a), __head) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t, const _Alloc& __a, - _UHead&& __head) - : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), - std::forward<_UHead>(__head)) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t, const _Alloc& __a, - const _Tuple_impl& __in) - : _Base(__use_alloc<_Head, _Alloc, const _Head&>(__a), _M_head(__in)) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t, const _Alloc& __a, - _Tuple_impl&& __in) - : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), - std::forward<_Head>(_M_head(__in))) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t, const _Alloc& __a, - const _Tuple_impl<_Idx, _UHead>& __in) - : _Base(__use_alloc<_Head, _Alloc, const _UHead&>(__a), - _Tuple_impl<_Idx, _UHead>::_M_head(__in)) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t, const _Alloc& __a, - _Tuple_impl<_Idx, _UHead>&& __in) - : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), - std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in))) - { } -# 705 "/usr/include/c++/14.1.1/tuple" 3 - template - constexpr - void - _M_assign(const _Tuple_impl<_Idx, _UHead>& __in) - { - _M_head(*this) = _Tuple_impl<_Idx, _UHead>::_M_head(__in); - } - - template - constexpr - void - _M_assign(_Tuple_impl<_Idx, _UHead>&& __in) - { - _M_head(*this) - = std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in)); - } -# 751 "/usr/include/c++/14.1.1/tuple" 3 - protected: - constexpr - void - _M_swap(_Tuple_impl& __in) - { - using std::swap; - swap(_M_head(*this), _M_head(__in)); - } -# 768 "/usr/include/c++/14.1.1/tuple" 3 - }; - - - - template - struct _TupleConstraints - { - template - using __constructible = __and_...>; - - template - using __convertible = __and_...>; - - - - - template - static constexpr bool __is_implicitly_constructible() - { - return __and_<__constructible<_UTypes...>, - __convertible<_UTypes...> - >::value; - } - - - - - template - static constexpr bool __is_explicitly_constructible() - { - return __and_<__constructible<_UTypes...>, - __not_<__convertible<_UTypes...>> - >::value; - } - - static constexpr bool __is_implicitly_default_constructible() - { - return __and_... - >::value; - } - - static constexpr bool __is_explicitly_default_constructible() - { - return __and_..., - __not_<__and_< - std::__is_implicitly_default_constructible<_Types>...> - >>::value; - } - }; - - - - template - struct _TupleConstraints - { - template - static constexpr bool __is_implicitly_constructible() - { return false; } - - template - static constexpr bool __is_explicitly_constructible() - { return false; } - }; - - - template - class tuple : public _Tuple_impl<0, _Elements...> - { - using _Inherited = _Tuple_impl<0, _Elements...>; - - - template - static consteval bool - __constructible() - { - if constexpr (sizeof...(_UTypes) == sizeof...(_Elements)) - return __and_v...>; - else - return false; - } - - template - static consteval bool - __nothrow_constructible() - { - if constexpr (sizeof...(_UTypes) == sizeof...(_Elements)) - return __and_v...>; - else - return false; - } - - template - static consteval bool - __convertible() - { - if constexpr (sizeof...(_UTypes) == sizeof...(_Elements)) - return __and_v...>; - else - return false; - } - - - - template - static consteval bool - __disambiguating_constraint() - { - if constexpr (sizeof...(_Elements) != sizeof...(_UTypes)) - return false; - else if constexpr (sizeof...(_Elements) == 1) - { - using _U0 = typename _Nth_type<0, _UTypes...>::type; - return !is_same_v, tuple>; - } - else if constexpr (sizeof...(_Elements) < 4) - { - using _U0 = typename _Nth_type<0, _UTypes...>::type; - if constexpr (!is_same_v, allocator_arg_t>) - return true; - else - { - using _T0 = typename _Nth_type<0, _Elements...>::type; - return is_same_v, allocator_arg_t>; - } - } - return true; - } - - - - - template - static consteval bool - __use_other_ctor() - { - if constexpr (sizeof...(_Elements) != 1) - return false; - else if constexpr (is_same_v, tuple>) - return true; - else - { - using _Tp = typename _Nth_type<0, _Elements...>::type; - if constexpr (is_convertible_v<_Tuple, _Tp>) - return true; - else if constexpr (is_constructible_v<_Tp, _Tuple>) - return true; - } - return false; - } - - template - static consteval bool - __dangles() - { - - return (__reference_constructs_from_temporary(_Elements, _Up&&) - || ...); - - - - } -# 961 "/usr/include/c++/14.1.1/tuple" 3 - public: - constexpr - explicit(!(__is_implicitly_default_constructible_v<_Elements> && ...)) - tuple() - noexcept((is_nothrow_default_constructible_v<_Elements> && ...)) - requires (is_default_constructible_v<_Elements> && ...) - : _Inherited() - { } - - constexpr explicit(!__convertible()) - tuple(const _Elements&... __elements) - noexcept(__nothrow_constructible()) - requires (__constructible()) - : _Inherited(__elements...) - { } - - template - requires (__disambiguating_constraint<_UTypes...>()) - && (__constructible<_UTypes...>()) - && (!__dangles<_UTypes...>()) - constexpr explicit(!__convertible<_UTypes...>()) - tuple(_UTypes&&... __u) - noexcept(__nothrow_constructible<_UTypes...>()) - : _Inherited(std::forward<_UTypes>(__u)...) - { } - - template - requires (__disambiguating_constraint<_UTypes...>()) - && (__constructible<_UTypes...>()) - && (__dangles<_UTypes...>()) - tuple(_UTypes&&...) = delete; - - constexpr tuple(const tuple&) = default; - - constexpr tuple(tuple&&) = default; - - template - requires (__constructible()) - && (!__use_other_ctor&>()) - && (!__dangles()) - constexpr explicit(!__convertible()) - tuple(const tuple<_UTypes...>& __u) - noexcept(__nothrow_constructible()) - : _Inherited(static_cast&>(__u)) - { } - - template - requires (__constructible()) - && (!__use_other_ctor&>()) - && (__dangles()) - tuple(const tuple<_UTypes...>&) = delete; - - template - requires (__constructible<_UTypes...>()) - && (!__use_other_ctor>()) - && (!__dangles<_UTypes...>()) - constexpr explicit(!__convertible<_UTypes...>()) - tuple(tuple<_UTypes...>&& __u) - noexcept(__nothrow_constructible<_UTypes...>()) - : _Inherited(static_cast<_Tuple_impl<0, _UTypes...>&&>(__u)) - { } - - template - requires (__constructible<_UTypes...>()) - && (!__use_other_ctor>()) - && (__dangles<_UTypes...>()) - tuple(tuple<_UTypes...>&&) = delete; -# 1063 "/usr/include/c++/14.1.1/tuple" 3 - template - requires (sizeof...(_Elements) == 2) - && (__constructible()) - && (!__dangles()) - constexpr explicit(!__convertible()) - tuple(const pair<_U1, _U2>& __u) - noexcept(__nothrow_constructible()) - : _Inherited(__u.first, __u.second) - { } - - template - requires (sizeof...(_Elements) == 2) - && (__constructible()) - && (__dangles()) - tuple(const pair<_U1, _U2>&) = delete; - - template - requires (sizeof...(_Elements) == 2) - && (__constructible<_U1, _U2>()) - && (!__dangles<_U1, _U2>()) - constexpr explicit(!__convertible<_U1, _U2>()) - tuple(pair<_U1, _U2>&& __u) - noexcept(__nothrow_constructible<_U1, _U2>()) - : _Inherited(std::forward<_U1>(__u.first), - std::forward<_U2>(__u.second)) - { } - - template - requires (sizeof...(_Elements) == 2) - && (__constructible<_U1, _U2>()) - && (__dangles<_U1, _U2>()) - tuple(pair<_U1, _U2>&&) = delete; -# 1152 "/usr/include/c++/14.1.1/tuple" 3 - template - constexpr - explicit(!(__is_implicitly_default_constructible_v<_Elements> && ...)) - tuple(allocator_arg_t __tag, const _Alloc& __a) - requires (is_default_constructible_v<_Elements> && ...) - : _Inherited(__tag, __a) - { } - - template - constexpr explicit(!__convertible()) - tuple(allocator_arg_t __tag, const _Alloc& __a, - const _Elements&... __elements) - requires (__constructible()) - : _Inherited(__tag, __a, __elements...) - { } - - template - requires (__disambiguating_constraint<_UTypes...>()) - && (__constructible<_UTypes...>()) - && (!__dangles<_UTypes...>()) - constexpr explicit(!__convertible<_UTypes...>()) - tuple(allocator_arg_t __tag, const _Alloc& __a, _UTypes&&... __u) - : _Inherited(__tag, __a, std::forward<_UTypes>(__u)...) - { } - - template - requires (__disambiguating_constraint<_UTypes...>()) - && (__constructible<_UTypes...>()) - && (__dangles<_UTypes...>()) - tuple(allocator_arg_t, const _Alloc&, _UTypes&&...) = delete; - - template - constexpr - tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __u) - : _Inherited(__tag, __a, static_cast(__u)) - { } - - template - requires (__constructible<_Elements...>()) - constexpr - tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __u) - : _Inherited(__tag, __a, static_cast<_Inherited&&>(__u)) - { } - - template - requires (__constructible()) - && (!__use_other_ctor&>()) - && (!__dangles()) - constexpr explicit(!__convertible()) - tuple(allocator_arg_t __tag, const _Alloc& __a, - const tuple<_UTypes...>& __u) - : _Inherited(__tag, __a, - static_cast&>(__u)) - { } - - template - requires (__constructible()) - && (!__use_other_ctor&>()) - && (__dangles()) - tuple(allocator_arg_t, const _Alloc&, const tuple<_UTypes...>&) = delete; - - template - requires (__constructible<_UTypes...>()) - && (!__use_other_ctor>()) - && (!__dangles<_UTypes...>()) - constexpr explicit(!__use_other_ctor>()) - tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_UTypes...>&& __u) - : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _UTypes...>&&>(__u)) - { } - - template - requires (__constructible<_UTypes...>()) - && (!__use_other_ctor>()) - && (__dangles<_UTypes...>()) - tuple(allocator_arg_t, const _Alloc&, tuple<_UTypes...>&&) = delete; -# 1262 "/usr/include/c++/14.1.1/tuple" 3 - template - requires (sizeof...(_Elements) == 2) - && (__constructible()) - && (!__dangles()) - constexpr explicit(!__convertible()) - tuple(allocator_arg_t __tag, const _Alloc& __a, - const pair<_U1, _U2>& __u) - noexcept(__nothrow_constructible()) - : _Inherited(__tag, __a, __u.first, __u.second) - { } - - template - requires (sizeof...(_Elements) == 2) - && (__constructible()) - && (__dangles()) - tuple(allocator_arg_t, const _Alloc&, const pair<_U1, _U2>&) = delete; - - template - requires (sizeof...(_Elements) == 2) - && (__constructible<_U1, _U2>()) - && (!__dangles<_U1, _U2>()) - constexpr explicit(!__convertible<_U1, _U2>()) - tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __u) - noexcept(__nothrow_constructible<_U1, _U2>()) - : _Inherited(__tag, __a, std::move(__u.first), std::move(__u.second)) - { } - - template - requires (sizeof...(_Elements) == 2) - && (__constructible<_U1, _U2>()) - && (__dangles<_U1, _U2>()) - tuple(allocator_arg_t, const _Alloc&, pair<_U1, _U2>&&) = delete; -# 1654 "/usr/include/c++/14.1.1/tuple" 3 - private: - template - static consteval bool - __assignable() - { - if constexpr (sizeof...(_UTypes) == sizeof...(_Elements)) - return __and_v...>; - else - return false; - } - - template - static consteval bool - __nothrow_assignable() - { - if constexpr (sizeof...(_UTypes) == sizeof...(_Elements)) - return __and_v...>; - else - return false; - } -# 1707 "/usr/include/c++/14.1.1/tuple" 3 - public: - - tuple& operator=(const tuple& __u) = delete; - - constexpr tuple& - operator=(const tuple& __u) - noexcept(__nothrow_assignable()) - requires (__assignable()) - { - this->_M_assign(__u); - return *this; - } - - constexpr tuple& - operator=(tuple&& __u) - noexcept(__nothrow_assignable<_Elements...>()) - requires (__assignable<_Elements...>()) - { - this->_M_assign(std::move(__u)); - return *this; - } - - template - requires (__assignable()) - constexpr tuple& - operator=(const tuple<_UTypes...>& __u) - noexcept(__nothrow_assignable()) - { - this->_M_assign(__u); - return *this; - } - - template - requires (__assignable<_UTypes...>()) - constexpr tuple& - operator=(tuple<_UTypes...>&& __u) - noexcept(__nothrow_assignable<_UTypes...>()) - { - this->_M_assign(std::move(__u)); - return *this; - } -# 1785 "/usr/include/c++/14.1.1/tuple" 3 - template - requires (__assignable()) - constexpr tuple& - operator=(const pair<_U1, _U2>& __u) - noexcept(__nothrow_assignable()) - { - this->_M_head(*this) = __u.first; - this->_M_tail(*this)._M_head(*this) = __u.second; - return *this; - } - - template - requires (__assignable<_U1, _U2>()) - constexpr tuple& - operator=(pair<_U1, _U2>&& __u) - noexcept(__nothrow_assignable<_U1, _U2>()) - { - this->_M_head(*this) = std::forward<_U1>(__u.first); - this->_M_tail(*this)._M_head(*this) = std::forward<_U2>(__u.second); - return *this; - } -# 1947 "/usr/include/c++/14.1.1/tuple" 3 - constexpr - void - swap(tuple& __in) - noexcept(__and_<__is_nothrow_swappable<_Elements>...>::value) - { _Inherited::_M_swap(__in); } -# 1966 "/usr/include/c++/14.1.1/tuple" 3 - }; - - - template - tuple(_UTypes...) -> tuple<_UTypes...>; - template - tuple(pair<_T1, _T2>) -> tuple<_T1, _T2>; - template - tuple(allocator_arg_t, _Alloc, _UTypes...) -> tuple<_UTypes...>; - template - tuple(allocator_arg_t, _Alloc, pair<_T1, _T2>) -> tuple<_T1, _T2>; - template - tuple(allocator_arg_t, _Alloc, tuple<_UTypes...>) -> tuple<_UTypes...>; - - - - template<> - class tuple<> - { - public: - constexpr - void swap(tuple&) noexcept { } - - - - - - tuple() = default; - - template - constexpr - tuple(allocator_arg_t, const _Alloc&) noexcept { } - template - constexpr - tuple(allocator_arg_t, const _Alloc&, const tuple&) noexcept { } - }; -# 2402 "/usr/include/c++/14.1.1/tuple" 3 - template - struct tuple_size> - : public integral_constant { }; - - - template - inline constexpr size_t tuple_size_v> - = sizeof...(_Types); - - template - inline constexpr size_t tuple_size_v> - = sizeof...(_Types); - - - - template - struct tuple_element<__i, tuple<_Types...>> - { - static_assert(__i < sizeof...(_Types), "tuple index must be in range"); - - using type = typename _Nth_type<__i, _Types...>::type; - }; - - template - constexpr _Head& - __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept - { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); } - - template - constexpr const _Head& - __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept - { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); } - - - template - __enable_if_t<(__i >= sizeof...(_Types))> - __get_helper(const tuple<_Types...>&) = delete; - - - template - constexpr __tuple_element_t<__i, tuple<_Elements...>>& - get(tuple<_Elements...>& __t) noexcept - { return std::__get_helper<__i>(__t); } - - - template - constexpr const __tuple_element_t<__i, tuple<_Elements...>>& - get(const tuple<_Elements...>& __t) noexcept - { return std::__get_helper<__i>(__t); } - - - template - constexpr __tuple_element_t<__i, tuple<_Elements...>>&& - get(tuple<_Elements...>&& __t) noexcept - { - typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type; - return std::forward<__element_type>(std::__get_helper<__i>(__t)); - } - - - template - constexpr const __tuple_element_t<__i, tuple<_Elements...>>&& - get(const tuple<_Elements...>&& __t) noexcept - { - typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type; - return std::forward(std::__get_helper<__i>(__t)); - } - - - - template - constexpr __enable_if_t<(__i >= sizeof...(_Elements))> - get(const tuple<_Elements...>&) = delete; - - - - - template - constexpr _Tp& - get(tuple<_Types...>& __t) noexcept - { - constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>(); - static_assert(__idx < sizeof...(_Types), - "the type T in std::get must occur exactly once in the tuple"); - return std::__get_helper<__idx>(__t); - } - - - template - constexpr _Tp&& - get(tuple<_Types...>&& __t) noexcept - { - constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>(); - static_assert(__idx < sizeof...(_Types), - "the type T in std::get must occur exactly once in the tuple"); - return std::forward<_Tp>(std::__get_helper<__idx>(__t)); - } - - - template - constexpr const _Tp& - get(const tuple<_Types...>& __t) noexcept - { - constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>(); - static_assert(__idx < sizeof...(_Types), - "the type T in std::get must occur exactly once in the tuple"); - return std::__get_helper<__idx>(__t); - } - - - - template - constexpr const _Tp&& - get(const tuple<_Types...>&& __t) noexcept - { - constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>(); - static_assert(__idx < sizeof...(_Types), - "the type T in std::get must occur exactly once in the tuple"); - return std::forward(std::__get_helper<__idx>(__t)); - } - - - - template - struct __tuple_compare - { - static constexpr bool - __eq(const _Tp& __t, const _Up& __u) - { - return bool(std::get<__i>(__t) == std::get<__i>(__u)) - && __tuple_compare<_Tp, _Up, __i + 1, __size>::__eq(__t, __u); - } - - static constexpr bool - __less(const _Tp& __t, const _Up& __u) - { - return bool(std::get<__i>(__t) < std::get<__i>(__u)) - || (!bool(std::get<__i>(__u) < std::get<__i>(__t)) - && __tuple_compare<_Tp, _Up, __i + 1, __size>::__less(__t, __u)); - } - }; - - template - struct __tuple_compare<_Tp, _Up, __size, __size> - { - static constexpr bool - __eq(const _Tp&, const _Up&) { return true; } - - static constexpr bool - __less(const _Tp&, const _Up&) { return false; } - }; - - template - constexpr bool - operator==(const tuple<_TElements...>& __t, - const tuple<_UElements...>& __u) - { - static_assert(sizeof...(_TElements) == sizeof...(_UElements), - "tuple objects can only be compared if they have equal sizes."); - using __compare = __tuple_compare, - tuple<_UElements...>, - 0, sizeof...(_TElements)>; - return __compare::__eq(__t, __u); - } - - - template - constexpr _Cat - __tuple_cmp(const _Tp&, const _Up&, index_sequence<>) - { return _Cat::equivalent; } - - template - constexpr _Cat - __tuple_cmp(const _Tp& __t, const _Up& __u, - index_sequence<_Idx0, _Idxs...>) - { - auto __c - = __detail::__synth3way(std::get<_Idx0>(__t), std::get<_Idx0>(__u)); - if (__c != 0) - return __c; - return std::__tuple_cmp<_Cat>(__t, __u, index_sequence<_Idxs...>()); - } - - template - constexpr - common_comparison_category_t<__detail::__synth3way_t<_Tps, _Ups>...> - operator<=>(const tuple<_Tps...>& __t, const tuple<_Ups...>& __u) - { - using _Cat - = common_comparison_category_t<__detail::__synth3way_t<_Tps, _Ups>...>; - return std::__tuple_cmp<_Cat>(__t, __u, index_sequence_for<_Tps...>()); - } -# 2636 "/usr/include/c++/14.1.1/tuple" 3 - template - constexpr tuple::__type...> - make_tuple(_Elements&&... __args) - { - typedef tuple::__type...> - __result_type; - return __result_type(std::forward<_Elements>(__args)...); - } - - - - - template - constexpr tuple<_Elements&&...> - forward_as_tuple(_Elements&&... __args) noexcept - { return tuple<_Elements&&...>(std::forward<_Elements>(__args)...); } - - - template - struct __make_tuple_impl; - - template - struct __make_tuple_impl<_Idx, tuple<_Tp...>, _Tuple, _Nm> - : __make_tuple_impl<_Idx + 1, - tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>, - _Tuple, _Nm> - { }; - - template - struct __make_tuple_impl<_Nm, tuple<_Tp...>, _Tuple, _Nm> - { - typedef tuple<_Tp...> __type; - }; - - template - struct __do_make_tuple - : __make_tuple_impl<0, tuple<>, _Tuple, tuple_size<_Tuple>::value> - { }; - - - template - struct __make_tuple - : public __do_make_tuple<__remove_cvref_t<_Tuple>> - { }; - - - template - struct __combine_tuples; - - template<> - struct __combine_tuples<> - { - typedef tuple<> __type; - }; - - template - struct __combine_tuples> - { - typedef tuple<_Ts...> __type; - }; - - template - struct __combine_tuples, tuple<_T2s...>, _Rem...> - { - typedef typename __combine_tuples, - _Rem...>::__type __type; - }; - - - template - struct __tuple_cat_result - { - typedef typename __combine_tuples - ::__type...>::__type __type; - }; - - - - template - struct __make_1st_indices; - - template<> - struct __make_1st_indices<> - { - typedef _Index_tuple<> __type; - }; - - template - struct __make_1st_indices<_Tp, _Tpls...> - { - typedef typename _Build_index_tuple::type>::value>::__type __type; - }; - - - - - template - struct __tuple_concater; - - template - struct __tuple_concater<_Ret, _Index_tuple<_Is...>, _Tp, _Tpls...> - { - template - static constexpr _Ret - _S_do(_Tp&& __tp, _Tpls&&... __tps, _Us&&... __us) - { - typedef typename __make_1st_indices<_Tpls...>::__type __idx; - typedef __tuple_concater<_Ret, __idx, _Tpls...> __next; - return __next::_S_do(std::forward<_Tpls>(__tps)..., - std::forward<_Us>(__us)..., - std::get<_Is>(std::forward<_Tp>(__tp))...); - } - }; - - template - struct __tuple_concater<_Ret, _Index_tuple<>> - { - template - static constexpr _Ret - _S_do(_Us&&... __us) - { - return _Ret(std::forward<_Us>(__us)...); - } - }; - - template - struct __is_tuple_like_impl> : true_type - { }; - - - - - - - template...>::value>::type> - - constexpr auto - tuple_cat(_Tpls&&... __tpls) - -> typename __tuple_cat_result<_Tpls...>::__type - { - typedef typename __tuple_cat_result<_Tpls...>::__type __ret; - typedef typename __make_1st_indices<_Tpls...>::__type __idx; - typedef __tuple_concater<__ret, __idx, _Tpls...> __concater; - return __concater::_S_do(std::forward<_Tpls>(__tpls)...); - } - - - - - template - constexpr tuple<_Elements&...> - tie(_Elements&... __args) noexcept - { return tuple<_Elements&...>(__args...); } - - - template - constexpr - inline - - - typename enable_if<__and_<__is_swappable<_Elements>...>::value - >::type - - - - swap(tuple<_Elements...>& __x, tuple<_Elements...>& __y) - noexcept(noexcept(__x.swap(__y))) - { __x.swap(__y); } -# 2818 "/usr/include/c++/14.1.1/tuple" 3 - template - constexpr - typename enable_if...>::value>::type - swap(tuple<_Elements...>&, tuple<_Elements...>&) = delete; - - - - - - - struct _Swallow_assign - { - template - constexpr const _Swallow_assign& - operator=(const _Tp&) const - { return *this; } - }; -# 2853 "/usr/include/c++/14.1.1/tuple" 3 - inline constexpr _Swallow_assign ignore{}; - - - template - struct uses_allocator, _Alloc> : true_type { }; -# 2868 "/usr/include/c++/14.1.1/tuple" 3 - template - template - constexpr - inline - pair<_T1, _T2>:: - pair(piecewise_construct_t, - tuple<_Args1...> __first, tuple<_Args2...> __second) - : pair(__first, __second, - typename _Build_index_tuple::__type(), - typename _Build_index_tuple::__type()) - { } - - template - template - constexpr inline - pair<_T1, _T2>:: - pair(tuple<_Args1...>& __tuple1, tuple<_Args2...>& __tuple2, - _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>) - : first(std::forward<_Args1>(std::get<_Indexes1>(__tuple1))...), - second(std::forward<_Args2>(std::get<_Indexes2>(__tuple2))...) - { } - - - - - - - template class _Trait, typename _Tp, typename _Tuple> - inline constexpr bool __unpack_std_tuple = false; - - template class _Trait, typename _Tp, typename... _Up> - inline constexpr bool __unpack_std_tuple<_Trait, _Tp, tuple<_Up...>> - = _Trait<_Tp, _Up...>::value; - - template class _Trait, typename _Tp, typename... _Up> - inline constexpr bool __unpack_std_tuple<_Trait, _Tp, tuple<_Up...>&> - = _Trait<_Tp, _Up&...>::value; - - template class _Trait, typename _Tp, typename... _Up> - inline constexpr bool __unpack_std_tuple<_Trait, _Tp, const tuple<_Up...>> - = _Trait<_Tp, const _Up...>::value; - - template class _Trait, typename _Tp, typename... _Up> - inline constexpr bool __unpack_std_tuple<_Trait, _Tp, const tuple<_Up...>&> - = _Trait<_Tp, const _Up&...>::value; - - - - template - constexpr decltype(auto) - __apply_impl(_Fn&& __f, _Tuple&& __t, index_sequence<_Idx...>) - { - return std::__invoke(std::forward<_Fn>(__f), - std::get<_Idx>(std::forward<_Tuple>(__t))...); - } - - - - - template - - constexpr decltype(auto) - apply(_Fn&& __f, _Tuple&& __t) - noexcept(__unpack_std_tuple) - { - using _Indices - = make_index_sequence>>; - return std::__apply_impl(std::forward<_Fn>(__f), - std::forward<_Tuple>(__t), - _Indices{}); - } - - - - template - constexpr _Tp - __make_from_tuple_impl(_Tuple&& __t, index_sequence<_Idx...>) - { return _Tp(std::get<_Idx>(std::forward<_Tuple>(__t))...); } - - - - - template - - constexpr _Tp - make_from_tuple(_Tuple&& __t) - noexcept(__unpack_std_tuple) - { - constexpr size_t __n = tuple_size_v>; - - if constexpr (__n == 1) - { - using _Elt = decltype(std::get<0>(std::declval<_Tuple>())); - static_assert(!__reference_constructs_from_temporary(_Tp, _Elt)); - } - - return __make_from_tuple_impl<_Tp>(std::forward<_Tuple>(__t), - make_index_sequence<__n>{}); - } -# 3030 "/usr/include/c++/14.1.1/tuple" 3 - -} -# 40 "/usr/include/c++/14.1.1/bits/uses_allocator_args.h" 2 3 - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - concept _Std_pair = __is_pair>; - - - - - template - constexpr auto - uses_allocator_construction_args(const _Alloc& __a, - _Args&&... __args) noexcept - requires (! _Std_pair<_Tp>) - { - if constexpr (uses_allocator_v, _Alloc>) - { - if constexpr (is_constructible_v<_Tp, allocator_arg_t, - const _Alloc&, _Args...>) - { - return tuple( - allocator_arg, __a, std::forward<_Args>(__args)...); - } - else - { - static_assert(is_constructible_v<_Tp, _Args..., const _Alloc&>, - "construction with an allocator must be possible" - " if uses_allocator is true"); - - return tuple<_Args&&..., const _Alloc&>( - std::forward<_Args>(__args)..., __a); - } - } - else - { - static_assert(is_constructible_v<_Tp, _Args...>); - - return tuple<_Args&&...>(std::forward<_Args>(__args)...); - } - } - - template<_Std_pair _Tp, typename _Alloc, typename _Tuple1, typename _Tuple2> - constexpr auto - uses_allocator_construction_args(const _Alloc& __a, piecewise_construct_t, - _Tuple1&& __x, _Tuple2&& __y) noexcept; - - template<_Std_pair _Tp, typename _Alloc> - constexpr auto - uses_allocator_construction_args(const _Alloc&) noexcept; - - template<_Std_pair _Tp, typename _Alloc, typename _Up, typename _Vp> - constexpr auto - uses_allocator_construction_args(const _Alloc&, _Up&&, _Vp&&) noexcept; - - template<_Std_pair _Tp, typename _Alloc, typename _Up, typename _Vp> - constexpr auto - uses_allocator_construction_args(const _Alloc&, - const pair<_Up, _Vp>&) noexcept; - - template<_Std_pair _Tp, typename _Alloc, typename _Up, typename _Vp> - constexpr auto - uses_allocator_construction_args(const _Alloc&, pair<_Up, _Vp>&&) noexcept; -# 118 "/usr/include/c++/14.1.1/bits/uses_allocator_args.h" 3 - template<_Std_pair _Tp, typename _Alloc, typename _Tuple1, typename _Tuple2> - constexpr auto - uses_allocator_construction_args(const _Alloc& __a, piecewise_construct_t, - _Tuple1&& __x, _Tuple2&& __y) noexcept - { - using _Tp1 = typename _Tp::first_type; - using _Tp2 = typename _Tp::second_type; - - return std::make_tuple(piecewise_construct, - std::apply([&__a](auto&&... __args1) { - return std::uses_allocator_construction_args<_Tp1>( - __a, std::forward(__args1)...); - }, std::forward<_Tuple1>(__x)), - std::apply([&__a](auto&&... __args2) { - return std::uses_allocator_construction_args<_Tp2>( - __a, std::forward(__args2)...); - }, std::forward<_Tuple2>(__y))); - } - - template<_Std_pair _Tp, typename _Alloc> - constexpr auto - uses_allocator_construction_args(const _Alloc& __a) noexcept - { - using _Tp1 = typename _Tp::first_type; - using _Tp2 = typename _Tp::second_type; - - return std::make_tuple(piecewise_construct, - std::uses_allocator_construction_args<_Tp1>(__a), - std::uses_allocator_construction_args<_Tp2>(__a)); - } - - template<_Std_pair _Tp, typename _Alloc, typename _Up, typename _Vp> - constexpr auto - uses_allocator_construction_args(const _Alloc& __a, _Up&& __u, _Vp&& __v) - noexcept - { - using _Tp1 = typename _Tp::first_type; - using _Tp2 = typename _Tp::second_type; - - return std::make_tuple(piecewise_construct, - std::uses_allocator_construction_args<_Tp1>(__a, - std::forward<_Up>(__u)), - std::uses_allocator_construction_args<_Tp2>(__a, - std::forward<_Vp>(__v))); - } - - template<_Std_pair _Tp, typename _Alloc, typename _Up, typename _Vp> - constexpr auto - uses_allocator_construction_args(const _Alloc& __a, - const pair<_Up, _Vp>& __pr) noexcept - { - using _Tp1 = typename _Tp::first_type; - using _Tp2 = typename _Tp::second_type; - - return std::make_tuple(piecewise_construct, - std::uses_allocator_construction_args<_Tp1>(__a, __pr.first), - std::uses_allocator_construction_args<_Tp2>(__a, __pr.second)); - } - - template<_Std_pair _Tp, typename _Alloc, typename _Up, typename _Vp> - constexpr auto - uses_allocator_construction_args(const _Alloc& __a, - pair<_Up, _Vp>&& __pr) noexcept - { - using _Tp1 = typename _Tp::first_type; - using _Tp2 = typename _Tp::second_type; - - - - - return std::make_tuple(piecewise_construct, - std::uses_allocator_construction_args<_Tp1>(__a, - std::get<0>(std::move(__pr))), - std::uses_allocator_construction_args<_Tp2>(__a, - std::get<1>(std::move(__pr)))); - } -# 225 "/usr/include/c++/14.1.1/bits/uses_allocator_args.h" 3 - template - constexpr _Tp - make_obj_using_allocator(const _Alloc& __a, _Args&&... __args) - { - return std::make_from_tuple<_Tp>( - std::uses_allocator_construction_args<_Tp>(__a, - std::forward<_Args>(__args)...)); - } - - template - constexpr _Tp* - uninitialized_construct_using_allocator(_Tp* __p, const _Alloc& __a, - _Args&&... __args) - { - return std::apply([&](auto&&... __xs) { - return std::construct_at(__p, std::forward(__xs)...); - }, std::uses_allocator_construction_args<_Tp>(__a, - std::forward<_Args>(__args)...)); - } - - -} -# 42 "/usr/include/c++/14.1.1/bits/memory_resource.h" 2 3 -# 50 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -namespace pmr -{ - - - - - - - class memory_resource - { - static constexpr size_t _S_max_align = alignof(max_align_t); - - public: - memory_resource() = default; - memory_resource(const memory_resource&) = default; - virtual ~memory_resource(); - - memory_resource& operator=(const memory_resource&) = default; - - [[nodiscard]] - void* - allocate(size_t __bytes, size_t __alignment = _S_max_align) - __attribute__((__returns_nonnull__,__alloc_size__(2),__alloc_align__(3))) - { return ::operator new(__bytes, do_allocate(__bytes, __alignment)); } - - void - deallocate(void* __p, size_t __bytes, size_t __alignment = _S_max_align) - __attribute__((__nonnull__)) - { return do_deallocate(__p, __bytes, __alignment); } - - [[nodiscard]] - bool - is_equal(const memory_resource& __other) const noexcept - { return do_is_equal(__other); } - - private: - virtual void* - do_allocate(size_t __bytes, size_t __alignment) = 0; - - virtual void - do_deallocate(void* __p, size_t __bytes, size_t __alignment) = 0; - - virtual bool - do_is_equal(const memory_resource& __other) const noexcept = 0; - }; - - [[nodiscard]] - inline bool - operator==(const memory_resource& __a, const memory_resource& __b) noexcept - { return &__a == &__b || __a.is_equal(__b); } -# 119 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - template - class polymorphic_allocator - { - - - template - struct __not_pair { using type = void; }; - - template - struct __not_pair> { }; - - public: - using value_type = _Tp; - - polymorphic_allocator() noexcept - { - extern memory_resource* get_default_resource() noexcept - __attribute__((__returns_nonnull__)); - _M_resource = get_default_resource(); - } - - polymorphic_allocator(memory_resource* __r) noexcept - __attribute__((__nonnull__)) - : _M_resource(__r) - { ; } - - polymorphic_allocator(const polymorphic_allocator& __other) = default; - - template - polymorphic_allocator(const polymorphic_allocator<_Up>& __x) noexcept - : _M_resource(__x.resource()) - { } - - polymorphic_allocator& - operator=(const polymorphic_allocator&) = delete; - - [[nodiscard]] - _Tp* - allocate(size_t __n) - __attribute__((__returns_nonnull__)) - { - if ((__gnu_cxx::__int_traits::__max / sizeof(_Tp)) < __n) - std::__throw_bad_array_new_length(); - return static_cast<_Tp*>(_M_resource->allocate(__n * sizeof(_Tp), - alignof(_Tp))); - } - - void - deallocate(_Tp* __p, size_t __n) noexcept - __attribute__((__nonnull__)) - { _M_resource->deallocate(__p, __n * sizeof(_Tp), alignof(_Tp)); } - - - [[nodiscard]] void* - allocate_bytes(size_t __nbytes, - size_t __alignment = alignof(max_align_t)) - { return _M_resource->allocate(__nbytes, __alignment); } - - void - deallocate_bytes(void* __p, size_t __nbytes, - size_t __alignment = alignof(max_align_t)) - { _M_resource->deallocate(__p, __nbytes, __alignment); } - - template - [[nodiscard]] _Up* - allocate_object(size_t __n = 1) - { - if ((__gnu_cxx::__int_traits::__max / sizeof(_Up)) < __n) - std::__throw_bad_array_new_length(); - return static_cast<_Up*>(allocate_bytes(__n * sizeof(_Up), - alignof(_Up))); - } - - template - void - deallocate_object(_Up* __p, size_t __n = 1) - { deallocate_bytes(__p, __n * sizeof(_Up), alignof(_Up)); } - - template - [[nodiscard]] _Up* - new_object(_CtorArgs&&... __ctor_args) - { - _Up* __p = allocate_object<_Up>(); - try - { - construct(__p, std::forward<_CtorArgs>(__ctor_args)...); - } - catch(...) - { - deallocate_object(__p); - throw; - } - return __p; - } - - template - void - delete_object(_Up* __p) - { - __p->~_Up(); - deallocate_object(__p); - } -# 297 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - template - __attribute__((__nonnull__)) - void - construct(_Tp1* __p, _Args&&... __args) - { - std::uninitialized_construct_using_allocator(__p, *this, - std::forward<_Args>(__args)...); - } - - - template - __attribute__ ((__deprecated__ ("use '" "allocator_traits::destroy" "' instead"))) - __attribute__((__nonnull__)) - void - destroy(_Up* __p) - { __p->~_Up(); } - - polymorphic_allocator - select_on_container_copy_construction() const noexcept - { return polymorphic_allocator(); } - - memory_resource* - resource() const noexcept - __attribute__((__returns_nonnull__)) - { return _M_resource; } - - - - [[nodiscard]] - friend bool - operator==(const polymorphic_allocator& __a, - const polymorphic_allocator& __b) noexcept - { return *__a.resource() == *__b.resource(); } -# 339 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - private: -# 366 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - memory_resource* _M_resource; - }; - - template - [[nodiscard]] - inline bool - operator==(const polymorphic_allocator<_Tp1>& __a, - const polymorphic_allocator<_Tp2>& __b) noexcept - { return *__a.resource() == *__b.resource(); } -# 385 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 -} - - template struct allocator_traits; - - - template - struct allocator_traits> - { - - using allocator_type = pmr::polymorphic_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 = false_type; - using propagate_on_container_swap = false_type; - - static allocator_type - select_on_container_copy_construction(const allocator_type&) noexcept - { return allocator_type(); } - - - - using is_always_equal = false_type; - - template - using rebind_alloc = pmr::polymorphic_allocator<_Up>; - - template - using rebind_traits = allocator_traits>; -# 446 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - [[nodiscard]] static pointer - allocate(allocator_type& __a, size_type __n) - { return __a.allocate(__n); } -# 461 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - [[nodiscard]] static pointer - allocate(allocator_type& __a, size_type __n, const_void_pointer) - { return __a.allocate(__n); } -# 473 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - static void - deallocate(allocator_type& __a, pointer __p, size_type __n) - { __a.deallocate(__p, __n); } -# 488 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - template - static void - construct(allocator_type& __a, _Up* __p, _Args&&... __args) - { __a.construct(__p, std::forward<_Args>(__args)...); } -# 500 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - template - static constexpr void - destroy(allocator_type&, _Up* __p) - noexcept(is_nothrow_destructible<_Up>::value) - { __p->~_Up(); } - - - - - - static constexpr size_type - max_size(const allocator_type&) noexcept - { return size_t(-1) / sizeof(value_type); } - }; - - -} -# 68 "/usr/include/c++/14.1.1/string" 2 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - namespace pmr { - template> - using basic_string = std::basic_string<_CharT, _Traits, - polymorphic_allocator<_CharT>>; - using string = basic_string; - - using u8string = basic_string; - - using u16string = basic_string; - using u32string = basic_string; - using wstring = basic_string; - } - -} - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - constexpr - inline typename basic_string<_CharT, _Traits, _Alloc>::size_type - erase_if(basic_string<_CharT, _Traits, _Alloc>& __cont, _Predicate __pred) - { - using namespace __gnu_cxx; - const auto __osz = __cont.size(); - const auto __end = __cont.end(); - auto __removed = std::__remove_if(__cont.begin(), __end, - __ops::__pred_iter(std::ref(__pred))); - __cont.erase(__removed, __end); - return __osz - __cont.size(); - } - - template - constexpr - inline typename basic_string<_CharT, _Traits, _Alloc>::size_type - erase(basic_string<_CharT, _Traits, _Alloc>& __cont, const _Up& __value) - { - using namespace __gnu_cxx; - const auto __osz = __cont.size(); - const auto __end = __cont.end(); - auto __removed = std::__remove_if(__cont.begin(), __end, - __ops::__iter_equals_val(__value)); - __cont.erase(__removed, __end); - return __osz - __cont.size(); - } - -} -# 41 "/usr/include/c++/14.1.1/bits/locale_classes.h" 2 3 - - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 66 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - class locale - { - public: - - - typedef int category; - - - class facet; - class id; - class _Impl; - - friend class facet; - friend class _Impl; - - template - friend bool - has_facet(const locale&) throw(); - - template - friend const _Facet& - use_facet(const locale&); - - template - friend const _Facet* - __try_use_facet(const locale&) noexcept; - - template - friend struct __use_cache; -# 106 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - static const category none = 0; - static const category ctype = 1L << 0; - static const category numeric = 1L << 1; - static const category collate = 1L << 2; - static const category time = 1L << 3; - static const category monetary = 1L << 4; - static const category messages = 1L << 5; - static const category all = (ctype | numeric | collate | - time | monetary | messages); -# 125 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - locale() throw(); -# 134 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - locale(const locale& __other) throw(); -# 144 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - explicit - locale(const char* __s); -# 159 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - locale(const locale& __base, const char* __s, category __cat); -# 170 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - explicit - locale(const std::string& __s) : locale(__s.c_str()) { } -# 185 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - locale(const locale& __base, const std::string& __s, category __cat) - : locale(__base, __s.c_str(), __cat) { } -# 200 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - locale(const locale& __base, const locale& __add, category __cat); -# 213 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - template - locale(const locale& __other, _Facet* __f); - - - ~locale() throw(); -# 227 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - const locale& - operator=(const locale& __other) throw(); -# 242 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - template - locale - combine(const locale& __other) const; - - - - - - - __attribute ((__abi_tag__ ("cxx11"))) - string - name() const; -# 272 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - bool - operator==(const locale& __other) const throw(); -# 302 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - template - bool - operator()(const basic_string<_Char, _Traits, _Alloc>& __s1, - const basic_string<_Char, _Traits, _Alloc>& __s2) const; -# 318 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - static locale - global(const locale& __loc); - - - - - static const locale& - classic(); - - private: - - _Impl* _M_impl; - - - static _Impl* _S_classic; - - - static _Impl* _S_global; - - - - - - static const char* const* const _S_categories; -# 353 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - enum { _S_categories_size = 6 + 6 }; - - - static __gthread_once_t _S_once; - - - explicit - locale(_Impl*) throw(); - - static void - _S_initialize(); - - static void - _S_initialize_once() throw(); - - static category - _S_normalize_category(category); - - void - _M_coalesce(const locale& __base, const locale& __add, category __cat); - - - static const id* const _S_twinned_facets[]; - - }; -# 391 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - class locale::facet - { - private: - friend class locale; - friend class locale::_Impl; - - mutable _Atomic_word _M_refcount; - - - static __c_locale _S_c_locale; - - - static const char _S_c_name[2]; - - - static __gthread_once_t _S_once; - - - static void - _S_initialize_once(); - - protected: -# 422 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - explicit - facet(size_t __refs = 0) throw() : _M_refcount(__refs ? 1 : 0) - { } - - - virtual - ~facet(); - - static void - _S_create_c_locale(__c_locale& __cloc, const char* __s, - __c_locale __old = 0); - - static __c_locale - _S_clone_c_locale(__c_locale& __cloc) throw(); - - static void - _S_destroy_c_locale(__c_locale& __cloc); - - static __c_locale - _S_lc_ctype_c_locale(__c_locale __cloc, const char* __s); - - - - static __c_locale - _S_get_c_locale(); - - __attribute__ ((__const__)) static const char* - _S_get_c_name() throw(); -# 458 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - facet(const facet&) = delete; - - facet& - operator=(const facet&) = delete; - - - private: - void - _M_add_reference() const throw() - { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } - - void - _M_remove_reference() const throw() - { - - ; - if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1) - { - ; - try - { delete this; } - catch(...) - { } - } - } - - const facet* _M_sso_shim(const id*) const; - const facet* _M_cow_shim(const id*) const; - - protected: - class __shim; - }; -# 503 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - class locale::id - { - private: - friend class locale; - friend class locale::_Impl; - - template - friend const _Facet& - use_facet(const locale&); - - template - friend bool - has_facet(const locale&) throw(); - - template - friend const _Facet* - __try_use_facet(const locale&) noexcept; - - - - - mutable size_t _M_index; - - - static _Atomic_word _S_refcount; - - void - operator=(const id&); - - id(const id&); - - public: - - - - id() { } - - size_t - _M_id() const throw(); - }; - - - - class locale::_Impl - { - public: - - friend class locale; - friend class locale::facet; - - template - friend bool - has_facet(const locale&) throw(); - - template - friend const _Facet& - use_facet(const locale&); - - template - friend const _Facet* - __try_use_facet(const locale&) noexcept; - - template - friend struct __use_cache; - - private: - - _Atomic_word _M_refcount; - const facet** _M_facets; - size_t _M_facets_size; - const facet** _M_caches; - char** _M_names; - static const locale::id* const _S_id_ctype[]; - static const locale::id* const _S_id_numeric[]; - static const locale::id* const _S_id_collate[]; - static const locale::id* const _S_id_time[]; - static const locale::id* const _S_id_monetary[]; - static const locale::id* const _S_id_messages[]; - static const locale::id* const* const _S_facet_categories[]; - - void - _M_add_reference() throw() - { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } - - void - _M_remove_reference() throw() - { - - ; - if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1) - { - ; - try - { delete this; } - catch(...) - { } - } - } - - _Impl(const _Impl&, size_t); - _Impl(const char*, size_t); - _Impl(size_t) throw(); - - ~_Impl() throw(); - - _Impl(const _Impl&); - - void - operator=(const _Impl&); - - bool - _M_check_same_name() - { - bool __ret = true; - if (_M_names[1]) - - for (size_t __i = 0; __ret && __i < _S_categories_size - 1; ++__i) - __ret = __builtin_strcmp(_M_names[__i], _M_names[__i + 1]) == 0; - return __ret; - } - - void - _M_replace_categories(const _Impl*, category); - - void - _M_replace_category(const _Impl*, const locale::id* const*); - - void - _M_replace_facet(const _Impl*, const locale::id*); - - void - _M_install_facet(const locale::id*, const facet*); - - template - void - _M_init_facet(_Facet* __facet) - { _M_install_facet(&_Facet::id, __facet); } - - template - void - _M_init_facet_unchecked(_Facet* __facet) - { - __facet->_M_add_reference(); - _M_facets[_Facet::id._M_id()] = __facet; - } - - void - _M_install_cache(const facet*, size_t); - - void _M_init_extra(facet**); - void _M_init_extra(void*, void*, const char*, const char*); - - - - - }; -# 673 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - template - class __cxx11:: collate : public locale::facet - { - public: - - - - typedef _CharT char_type; - typedef basic_string<_CharT> string_type; - - - protected: - - - __c_locale _M_c_locale_collate; - - public: - - static locale::id id; -# 700 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - explicit - collate(size_t __refs = 0) - : facet(__refs), _M_c_locale_collate(_S_get_c_locale()) - { } -# 714 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - explicit - collate(__c_locale __cloc, size_t __refs = 0) - : facet(__refs), _M_c_locale_collate(_S_clone_c_locale(__cloc)) - { } -# 731 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - int - compare(const _CharT* __lo1, const _CharT* __hi1, - const _CharT* __lo2, const _CharT* __hi2) const - { return this->do_compare(__lo1, __hi1, __lo2, __hi2); } -# 750 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - string_type - transform(const _CharT* __lo, const _CharT* __hi) const - { return this->do_transform(__lo, __hi); } -# 764 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - long - hash(const _CharT* __lo, const _CharT* __hi) const - { return this->do_hash(__lo, __hi); } - - - int - _M_compare(const _CharT*, const _CharT*) const throw(); - - size_t - _M_transform(_CharT*, const _CharT*, size_t) const throw(); - - protected: - - virtual - ~collate() - { _S_destroy_c_locale(_M_c_locale_collate); } -# 793 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - virtual int - do_compare(const _CharT* __lo1, const _CharT* __hi1, - const _CharT* __lo2, const _CharT* __hi2) const; -# 807 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - virtual string_type - do_transform(const _CharT* __lo, const _CharT* __hi) const; -# 820 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - virtual long - do_hash(const _CharT* __lo, const _CharT* __hi) const; - }; - - template - locale::id collate<_CharT>::id; - - - template<> - int - collate::_M_compare(const char*, const char*) const throw(); - - template<> - size_t - collate::_M_transform(char*, const char*, size_t) const throw(); - - - template<> - int - collate::_M_compare(const wchar_t*, const wchar_t*) const throw(); - - template<> - size_t - collate::_M_transform(wchar_t*, const wchar_t*, size_t) const throw(); - - - - template - class __cxx11:: collate_byname : public collate<_CharT> - { - public: - - - typedef _CharT char_type; - typedef basic_string<_CharT> string_type; - - - explicit - collate_byname(const char* __s, size_t __refs = 0) - : collate<_CharT>(__refs) - { - if (__builtin_strcmp(__s, "C") != 0 - && __builtin_strcmp(__s, "POSIX") != 0) - { - this->_S_destroy_c_locale(this->_M_c_locale_collate); - this->_S_create_c_locale(this->_M_c_locale_collate, __s); - } - } - - - explicit - collate_byname(const string& __s, size_t __refs = 0) - : collate_byname(__s.c_str(), __refs) { } - - - protected: - virtual - ~collate_byname() { } - }; - - -} - -# 1 "/usr/include/c++/14.1.1/bits/locale_classes.tcc" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/locale_classes.tcc" 3 - -# 38 "/usr/include/c++/14.1.1/bits/locale_classes.tcc" 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - locale:: - locale(const locale& __other, _Facet* __f) - { - _M_impl = new _Impl(*__other._M_impl, 1); - - try - { _M_impl->_M_install_facet(&_Facet::id, __f); } - catch(...) - { - _M_impl->_M_remove_reference(); - throw; - } - delete [] _M_impl->_M_names[0]; - _M_impl->_M_names[0] = 0; - } - - template - locale - locale:: - combine(const locale& __other) const - { - _Impl* __tmp = new _Impl(*_M_impl, 1); - try - { - __tmp->_M_replace_facet(__other._M_impl, &_Facet::id); - } - catch(...) - { - __tmp->_M_remove_reference(); - throw; - } - return locale(__tmp); - } - - template - bool - locale:: - operator()(const basic_string<_CharT, _Traits, _Alloc>& __s1, - const basic_string<_CharT, _Traits, _Alloc>& __s2) const - { - typedef std::collate<_CharT> __collate_type; - const __collate_type& __collate = use_facet<__collate_type>(*this); - return (__collate.compare(__s1.data(), __s1.data() + __s1.length(), - __s2.data(), __s2.data() + __s2.length()) < 0); - } - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wc++17-extensions" - template - inline const _Facet* - __try_use_facet(const locale& __loc) noexcept - { - const size_t __i = _Facet::id._M_id(); - const locale::facet** __facets = __loc._M_impl->_M_facets; - - - - - - - - if constexpr (__is_same(_Facet, ctype)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, num_get)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, num_put)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, codecvt)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, collate)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, moneypunct)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, moneypunct)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, money_get)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, money_put)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, numpunct)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, time_get)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, time_put)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, messages)) return static_cast(__facets[__i]); - - - if constexpr (__is_same(_Facet, ctype)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, num_get)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, num_put)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, codecvt)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, collate)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, moneypunct)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, moneypunct)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, money_get)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, money_put)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, numpunct)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, time_get)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, time_put)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, messages)) return static_cast(__facets[__i]); - - - if constexpr (__is_same(_Facet, codecvt)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, codecvt)) return static_cast(__facets[__i]); - - - - - if (__i >= __loc._M_impl->_M_facets_size || !__facets[__i]) - return 0; - - - return dynamic_cast(__facets[__i]); - - - - } -#pragma GCC diagnostic pop -# 164 "/usr/include/c++/14.1.1/bits/locale_classes.tcc" 3 - template - inline bool - has_facet(const locale& __loc) throw() - { - - static_assert(__is_base_of(locale::facet, _Facet), - "template argument must be derived from locale::facet"); - - - - return std::__try_use_facet<_Facet>(__loc) != 0; - } -# 191 "/usr/include/c++/14.1.1/bits/locale_classes.tcc" 3 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdangling-reference" - template - inline const _Facet& - use_facet(const locale& __loc) - { - - static_assert(__is_base_of(locale::facet, _Facet), - "template argument must be derived from locale::facet"); - - - - if (const _Facet* __f = std::__try_use_facet<_Facet>(__loc)) - return *__f; - __throw_bad_cast(); - } -#pragma GCC diagnostic pop - - - - template - int - collate<_CharT>::_M_compare(const _CharT*, const _CharT*) const throw () - { return 0; } - - - template - size_t - collate<_CharT>::_M_transform(_CharT*, const _CharT*, size_t) const throw () - { return 0; } - - template - int - collate<_CharT>:: - do_compare(const _CharT* __lo1, const _CharT* __hi1, - const _CharT* __lo2, const _CharT* __hi2) const - { - - - const string_type __one(__lo1, __hi1); - const string_type __two(__lo2, __hi2); - - const _CharT* __p = __one.c_str(); - const _CharT* __pend = __one.data() + __one.length(); - const _CharT* __q = __two.c_str(); - const _CharT* __qend = __two.data() + __two.length(); - - - - - for (;;) - { - const int __res = _M_compare(__p, __q); - if (__res) - return __res; - - __p += char_traits<_CharT>::length(__p); - __q += char_traits<_CharT>::length(__q); - if (__p == __pend && __q == __qend) - return 0; - else if (__p == __pend) - return -1; - else if (__q == __qend) - return 1; - - __p++; - __q++; - } - } - - template - typename collate<_CharT>::string_type - collate<_CharT>:: - do_transform(const _CharT* __lo, const _CharT* __hi) const - { - string_type __ret; - - - const string_type __str(__lo, __hi); - - const _CharT* __p = __str.c_str(); - const _CharT* __pend = __str.data() + __str.length(); - - size_t __len = (__hi - __lo) * 2; - - _CharT* __c = new _CharT[__len]; - - try - { - - - - for (;;) - { - - size_t __res = _M_transform(__c, __p, __len); - - - if (__res >= __len) - { - __len = __res + 1; - delete [] __c, __c = 0; - __c = new _CharT[__len]; - __res = _M_transform(__c, __p, __len); - } - - __ret.append(__c, __res); - __p += char_traits<_CharT>::length(__p); - if (__p == __pend) - break; - - __p++; - __ret.push_back(_CharT()); - } - } - catch(...) - { - delete [] __c; - throw; - } - - delete [] __c; - - return __ret; - } - - template - long - collate<_CharT>:: - do_hash(const _CharT* __lo, const _CharT* __hi) const - { - unsigned long __val = 0; - for (; __lo < __hi; ++__lo) - __val = - *__lo + ((__val << 7) - | (__val >> (__gnu_cxx::__numeric_traits:: - __digits - 7))); - return static_cast(__val); - } - - - - - extern template class collate; - extern template class collate_byname; - - extern template - const collate* - __try_use_facet >(const locale&) noexcept; - - extern template - const collate& - use_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - - extern template class collate; - extern template class collate_byname; - - extern template - const collate* - __try_use_facet >(const locale&) noexcept; - - extern template - const collate& - use_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - - - -} -# 884 "/usr/include/c++/14.1.1/bits/locale_classes.h" 2 3 -# 42 "/usr/include/c++/14.1.1/bits/ios_base.h" 2 3 - - - - -# 1 "/usr/include/c++/14.1.1/system_error" 1 3 -# 32 "/usr/include/c++/14.1.1/system_error" 3 - -# 33 "/usr/include/c++/14.1.1/system_error" 3 -# 41 "/usr/include/c++/14.1.1/system_error" 3 -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/error_constants.h" 1 3 -# 34 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/error_constants.h" 3 -# 1 "/usr/include/c++/14.1.1/cerrno" 1 3 -# 39 "/usr/include/c++/14.1.1/cerrno" 3 - -# 40 "/usr/include/c++/14.1.1/cerrno" 3 -# 35 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/error_constants.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - enum class errc - { - address_family_not_supported = 97, - address_in_use = 98, - address_not_available = 99, - already_connected = 106, - argument_list_too_long = 7, - argument_out_of_domain = 33, - bad_address = 14, - bad_file_descriptor = 9, - - - bad_message = 74, - - - broken_pipe = 32, - connection_aborted = 103, - connection_already_in_progress = 114, - connection_refused = 111, - connection_reset = 104, - cross_device_link = 18, - destination_address_required = 89, - device_or_resource_busy = 16, - directory_not_empty = 39, - executable_format_error = 8, - file_exists = 17, - file_too_large = 27, - filename_too_long = 36, - function_not_supported = 38, - host_unreachable = 113, - - - identifier_removed = 43, - - - illegal_byte_sequence = 84, - inappropriate_io_control_operation = 25, - interrupted = 4, - invalid_argument = 22, - invalid_seek = 29, - io_error = 5, - is_a_directory = 21, - message_size = 90, - network_down = 100, - network_reset = 102, - network_unreachable = 101, - no_buffer_space = 105, - no_child_process = 10, - - - no_link = 67, - - - no_lock_available = 37, - - - no_message_available = 61, - - - no_message = 42, - no_protocol_option = 92, - no_space_on_device = 28, - - - no_stream_resources = 63, - - - no_such_device_or_address = 6, - no_such_device = 19, - no_such_file_or_directory = 2, - no_such_process = 3, - not_a_directory = 20, - not_a_socket = 88, - - - not_a_stream = 60, - - - not_connected = 107, - not_enough_memory = 12, - - - not_supported = 95, - - - - operation_canceled = 125, - - - operation_in_progress = 115, - operation_not_permitted = 1, - operation_not_supported = 95, - operation_would_block = 11, - - - owner_dead = 130, - - - permission_denied = 13, - - - protocol_error = 71, - - - protocol_not_supported = 93, - read_only_file_system = 30, - resource_deadlock_would_occur = 35, - resource_unavailable_try_again = 11, - result_out_of_range = 34, - - - state_not_recoverable = 131, - - - - stream_timeout = 62, - - - - text_file_busy = 26, - - - timed_out = 110, - too_many_files_open_in_system = 23, - too_many_files_open = 24, - too_many_links = 31, - too_many_symbolic_link_levels = 40, - - - value_too_large = 75, - - - - - wrong_protocol_type = 91 - }; - - -} -# 42 "/usr/include/c++/14.1.1/system_error" 2 3 - -# 1 "/usr/include/c++/14.1.1/stdexcept" 1 3 -# 36 "/usr/include/c++/14.1.1/stdexcept" 3 - -# 37 "/usr/include/c++/14.1.1/stdexcept" 3 - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - struct __cow_string - { - union { - const char* _M_p; - char _M_bytes[sizeof(const char*)]; - }; - - __cow_string(); - __cow_string(const std::string&); - __cow_string(const char*, size_t); - __cow_string(const __cow_string&) noexcept; - __cow_string& operator=(const __cow_string&) noexcept; - ~__cow_string(); - - __cow_string(__cow_string&&) noexcept; - __cow_string& operator=(__cow_string&&) noexcept; - - }; - - typedef basic_string __sso_string; -# 113 "/usr/include/c++/14.1.1/stdexcept" 3 - class logic_error : public exception - { - __cow_string _M_msg; - - public: - - explicit - logic_error(const string& __arg) ; - - - explicit - logic_error(const char*) ; - - logic_error(logic_error&&) noexcept; - logic_error& operator=(logic_error&&) noexcept; - - - - logic_error(const logic_error&) noexcept; - logic_error& operator=(const logic_error&) noexcept; - - - - - - virtual ~logic_error() noexcept; - - - - virtual const char* - what() const noexcept; - - - - - - }; - - - - class domain_error : public logic_error - { - public: - explicit domain_error(const string& __arg) ; - - explicit domain_error(const char*) ; - domain_error(const domain_error&) = default; - domain_error& operator=(const domain_error&) = default; - domain_error(domain_error&&) = default; - domain_error& operator=(domain_error&&) = default; - - virtual ~domain_error() noexcept; - }; - - - class invalid_argument : public logic_error - { - public: - explicit invalid_argument(const string& __arg) ; - - explicit invalid_argument(const char*) ; - invalid_argument(const invalid_argument&) = default; - invalid_argument& operator=(const invalid_argument&) = default; - invalid_argument(invalid_argument&&) = default; - invalid_argument& operator=(invalid_argument&&) = default; - - virtual ~invalid_argument() noexcept; - }; - - - - class length_error : public logic_error - { - public: - explicit length_error(const string& __arg) ; - - explicit length_error(const char*) ; - length_error(const length_error&) = default; - length_error& operator=(const length_error&) = default; - length_error(length_error&&) = default; - length_error& operator=(length_error&&) = default; - - virtual ~length_error() noexcept; - }; - - - - class out_of_range : public logic_error - { - public: - explicit out_of_range(const string& __arg) ; - - explicit out_of_range(const char*) ; - out_of_range(const out_of_range&) = default; - out_of_range& operator=(const out_of_range&) = default; - out_of_range(out_of_range&&) = default; - out_of_range& operator=(out_of_range&&) = default; - - virtual ~out_of_range() noexcept; - }; - - - - - - - class runtime_error : public exception - { - __cow_string _M_msg; - - public: - - explicit - runtime_error(const string& __arg) ; - - - explicit - runtime_error(const char*) ; - - runtime_error(runtime_error&&) noexcept; - runtime_error& operator=(runtime_error&&) noexcept; - - - - runtime_error(const runtime_error&) noexcept; - runtime_error& operator=(const runtime_error&) noexcept; - - - - - - virtual ~runtime_error() noexcept; - - - - virtual const char* - what() const noexcept; - - - - - - }; - - - class range_error : public runtime_error - { - public: - explicit range_error(const string& __arg) ; - - explicit range_error(const char*) ; - range_error(const range_error&) = default; - range_error& operator=(const range_error&) = default; - range_error(range_error&&) = default; - range_error& operator=(range_error&&) = default; - - virtual ~range_error() noexcept; - }; - - - class overflow_error : public runtime_error - { - public: - explicit overflow_error(const string& __arg) ; - - explicit overflow_error(const char*) ; - overflow_error(const overflow_error&) = default; - overflow_error& operator=(const overflow_error&) = default; - overflow_error(overflow_error&&) = default; - overflow_error& operator=(overflow_error&&) = default; - - virtual ~overflow_error() noexcept; - }; - - - class underflow_error : public runtime_error - { - public: - explicit underflow_error(const string& __arg) ; - - explicit underflow_error(const char*) ; - underflow_error(const underflow_error&) = default; - underflow_error& operator=(const underflow_error&) = default; - underflow_error(underflow_error&&) = default; - underflow_error& operator=(underflow_error&&) = default; - - virtual ~underflow_error() noexcept; - }; - - - - -} -# 44 "/usr/include/c++/14.1.1/system_error" 2 3 - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - class error_code; - class error_condition; - class system_error; - - - template - struct is_error_code_enum : public false_type { }; - - - template - struct is_error_condition_enum : public false_type { }; - - template<> - struct is_error_condition_enum - : public true_type { }; - - - template - inline constexpr bool is_error_code_enum_v = - is_error_code_enum<_Tp>::value; - template - inline constexpr bool is_error_condition_enum_v = - is_error_condition_enum<_Tp>::value; - - - -inline namespace _V2 { -# 106 "/usr/include/c++/14.1.1/system_error" 3 - class error_category - { - public: - constexpr error_category() noexcept = default; - - virtual ~error_category(); - - error_category(const error_category&) = delete; - error_category& operator=(const error_category&) = delete; - - - virtual const char* - name() const noexcept = 0; - - - - - - - private: - __attribute ((__abi_tag__ ("cxx11"))) - virtual __cow_string - _M_message(int) const; - - public: - - __attribute ((__abi_tag__ ("cxx11"))) - virtual string - message(int) const = 0; -# 144 "/usr/include/c++/14.1.1/system_error" 3 - public: - - virtual error_condition - default_error_condition(int __i) const noexcept; - - - virtual bool - equivalent(int __i, const error_condition& __cond) const noexcept; - - - virtual bool - equivalent(const error_code& __code, int __i) const noexcept; - - - [[__nodiscard__]] - bool - operator==(const error_category& __other) const noexcept - { return this == &__other; } - - - - [[nodiscard]] - strong_ordering - operator<=>(const error_category& __rhs) const noexcept - { return std::compare_three_way()(this, &__rhs); } -# 178 "/usr/include/c++/14.1.1/system_error" 3 - }; - - - - - [[__nodiscard__, __gnu__::__const__]] - const error_category& - generic_category() noexcept; - - - [[__nodiscard__, __gnu__::__const__]] - const error_category& - system_category() noexcept; - - - -} - - - - - -namespace __adl_only -{ - void make_error_code() = delete; - void make_error_condition() = delete; -} -# 223 "/usr/include/c++/14.1.1/system_error" 3 - class error_code - { - template - using _Check - = __enable_if_t::value>; - - public: - error_code() noexcept - : _M_value(0), _M_cat(&system_category()) { } - - error_code(int __v, const error_category& __cat) noexcept - : _M_value(__v), _M_cat(&__cat) { } - - - template> - error_code(_ErrorCodeEnum __e) noexcept - { - using __adl_only::make_error_code; - *this = make_error_code(__e); - } - - error_code(const error_code&) = default; - error_code& operator=(const error_code&) = default; - - void - assign(int __v, const error_category& __cat) noexcept - { - _M_value = __v; - _M_cat = &__cat; - } - - void - clear() noexcept - { assign(0, system_category()); } - - - [[__nodiscard__]] - int - value() const noexcept { return _M_value; } - - - [[__nodiscard__]] - const error_category& - category() const noexcept { return *_M_cat; } - - - error_condition - default_error_condition() const noexcept; - - - __attribute ((__abi_tag__ ("cxx11"))) - string - message() const - { return category().message(value()); } - - - [[__nodiscard__]] - explicit operator bool() const noexcept - { return _M_value != 0; } - - - private: - int _M_value; - const error_category* _M_cat; - }; -# 300 "/usr/include/c++/14.1.1/system_error" 3 - [[__nodiscard__]] - inline error_code - make_error_code(errc __e) noexcept - { return error_code(static_cast(__e), generic_category()); } -# 314 "/usr/include/c++/14.1.1/system_error" 3 - [[nodiscard]] - inline strong_ordering - operator<=>(const error_code& __lhs, const error_code& __rhs) noexcept - { - if (auto __c = __lhs.category() <=> __rhs.category(); __c != 0) - return __c; - return __lhs.value() <=> __rhs.value(); - } -# 337 "/usr/include/c++/14.1.1/system_error" 3 - template - basic_ostream<_CharT, _Traits>& - operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e) - { return (__os << __e.category().name() << ':' << __e.value()); } -# 354 "/usr/include/c++/14.1.1/system_error" 3 - class error_condition - { - template - using _Check - = __enable_if_t::value>; - - public: - - error_condition() noexcept - : _M_value(0), _M_cat(&generic_category()) { } - - - error_condition(int __v, const error_category& __cat) noexcept - : _M_value(__v), _M_cat(&__cat) { } - - - template> - error_condition(_ErrorConditionEnum __e) noexcept - { - using __adl_only::make_error_condition; - *this = make_error_condition(__e); - } - - error_condition(const error_condition&) = default; - error_condition& operator=(const error_condition&) = default; - - - void - assign(int __v, const error_category& __cat) noexcept - { - _M_value = __v; - _M_cat = &__cat; - } - - - void - clear() noexcept - { assign(0, generic_category()); } - - - - - [[__nodiscard__]] - int - value() const noexcept { return _M_value; } - - - [[__nodiscard__]] - const error_category& - category() const noexcept { return *_M_cat; } - - - __attribute ((__abi_tag__ ("cxx11"))) - string - message() const - { return category().message(value()); } - - - [[__nodiscard__]] - explicit operator bool() const noexcept - { return _M_value != 0; } - - - private: - int _M_value; - const error_category* _M_cat; - }; -# 433 "/usr/include/c++/14.1.1/system_error" 3 - [[__nodiscard__]] - inline error_condition - make_error_condition(errc __e) noexcept - { return error_condition(static_cast(__e), generic_category()); } -# 447 "/usr/include/c++/14.1.1/system_error" 3 - [[__nodiscard__]] - inline bool - operator==(const error_code& __lhs, const error_code& __rhs) noexcept - { - return __lhs.category() == __rhs.category() - && __lhs.value() == __rhs.value(); - } -# 463 "/usr/include/c++/14.1.1/system_error" 3 - [[__nodiscard__]] - inline bool - operator==(const error_code& __lhs, const error_condition& __rhs) noexcept - { - return __lhs.category().equivalent(__lhs.value(), __rhs) - || __rhs.category().equivalent(__lhs, __rhs.value()); - } -# 478 "/usr/include/c++/14.1.1/system_error" 3 - [[__nodiscard__]] - inline bool - operator==(const error_condition& __lhs, - const error_condition& __rhs) noexcept - { - return __lhs.category() == __rhs.category() - && __lhs.value() == __rhs.value(); - } -# 496 "/usr/include/c++/14.1.1/system_error" 3 - [[nodiscard]] - inline strong_ordering - operator<=>(const error_condition& __lhs, - const error_condition& __rhs) noexcept - { - if (auto __c = __lhs.category() <=> __rhs.category(); __c != 0) - return __c; - return __lhs.value() <=> __rhs.value(); - } -# 556 "/usr/include/c++/14.1.1/system_error" 3 - class system_error : public std::runtime_error - { - private: - error_code _M_code; - - public: - system_error(error_code __ec = error_code()) - : runtime_error(__ec.message()), _M_code(__ec) { } - - system_error(error_code __ec, const string& __what) - : runtime_error(__what + (": " + __ec.message())), _M_code(__ec) { } - - system_error(error_code __ec, const char* __what) - : runtime_error(__what + (": " + __ec.message())), _M_code(__ec) { } - - system_error(int __v, const error_category& __ecat, const char* __what) - : system_error(error_code(__v, __ecat), __what) { } - - system_error(int __v, const error_category& __ecat) - : runtime_error(error_code(__v, __ecat).message()), - _M_code(__v, __ecat) { } - - system_error(int __v, const error_category& __ecat, const string& __what) - : runtime_error(__what + (": " + error_code(__v, __ecat).message())), - _M_code(__v, __ecat) { } - - - system_error (const system_error &) = default; - system_error &operator= (const system_error &) = default; - - - virtual ~system_error() noexcept; - - const error_code& - code() const noexcept { return _M_code; } - }; - - -} - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - template<> - struct hash - : public __hash_base - { - size_t - operator()(const error_code& __e) const noexcept - { - const size_t __tmp = std::_Hash_impl::hash(__e.value()); - return std::_Hash_impl::__hash_combine(&__e.category(), __tmp); - } - }; - - - - - - - template<> - struct hash - : public __hash_base - { - size_t - operator()(const error_condition& __e) const noexcept - { - const size_t __tmp = std::_Hash_impl::hash(__e.value()); - return std::_Hash_impl::__hash_combine(&__e.category(), __tmp); - } - }; - - - -} -# 47 "/usr/include/c++/14.1.1/bits/ios_base.h" 2 3 - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - enum _Ios_Fmtflags - { - _S_boolalpha = 1L << 0, - _S_dec = 1L << 1, - _S_fixed = 1L << 2, - _S_hex = 1L << 3, - _S_internal = 1L << 4, - _S_left = 1L << 5, - _S_oct = 1L << 6, - _S_right = 1L << 7, - _S_scientific = 1L << 8, - _S_showbase = 1L << 9, - _S_showpoint = 1L << 10, - _S_showpos = 1L << 11, - _S_skipws = 1L << 12, - _S_unitbuf = 1L << 13, - _S_uppercase = 1L << 14, - _S_adjustfield = _S_left | _S_right | _S_internal, - _S_basefield = _S_dec | _S_oct | _S_hex, - _S_floatfield = _S_scientific | _S_fixed, - _S_ios_fmtflags_end = 1L << 16, - _S_ios_fmtflags_max = 0x7fffffff, - _S_ios_fmtflags_min = ~0x7fffffff - }; - - [[__nodiscard__]] constexpr - inline _Ios_Fmtflags - operator&(_Ios_Fmtflags __a, _Ios_Fmtflags __b) noexcept - { return _Ios_Fmtflags(static_cast(__a) & static_cast(__b)); } - - [[__nodiscard__]] constexpr - inline _Ios_Fmtflags - operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b) noexcept - { return _Ios_Fmtflags(static_cast(__a) | static_cast(__b)); } - - [[__nodiscard__]] constexpr - inline _Ios_Fmtflags - operator^(_Ios_Fmtflags __a, _Ios_Fmtflags __b) noexcept - { return _Ios_Fmtflags(static_cast(__a) ^ static_cast(__b)); } - - [[__nodiscard__]] constexpr - inline _Ios_Fmtflags - operator~(_Ios_Fmtflags __a) noexcept - { return _Ios_Fmtflags(~static_cast(__a)); } - - constexpr - inline const _Ios_Fmtflags& - operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) noexcept - { return __a = __a | __b; } - - constexpr - inline const _Ios_Fmtflags& - operator&=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) noexcept - { return __a = __a & __b; } - - constexpr - inline const _Ios_Fmtflags& - operator^=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) noexcept - { return __a = __a ^ __b; } - - - enum _Ios_Openmode - { - _S_app = 1L << 0, - _S_ate = 1L << 1, - _S_bin = 1L << 2, - _S_in = 1L << 3, - _S_out = 1L << 4, - _S_trunc = 1L << 5, - _S_noreplace = 1L << 6, - _S_ios_openmode_end = 1L << 16, - _S_ios_openmode_max = 0x7fffffff, - _S_ios_openmode_min = ~0x7fffffff - }; - - [[__nodiscard__]] constexpr - inline _Ios_Openmode - operator&(_Ios_Openmode __a, _Ios_Openmode __b) noexcept - { return _Ios_Openmode(static_cast(__a) & static_cast(__b)); } - - [[__nodiscard__]] constexpr - inline _Ios_Openmode - operator|(_Ios_Openmode __a, _Ios_Openmode __b) noexcept - { return _Ios_Openmode(static_cast(__a) | static_cast(__b)); } - - [[__nodiscard__]] constexpr - inline _Ios_Openmode - operator^(_Ios_Openmode __a, _Ios_Openmode __b) noexcept - { return _Ios_Openmode(static_cast(__a) ^ static_cast(__b)); } - - [[__nodiscard__]] constexpr - inline _Ios_Openmode - operator~(_Ios_Openmode __a) noexcept - { return _Ios_Openmode(~static_cast(__a)); } - - constexpr - inline const _Ios_Openmode& - operator|=(_Ios_Openmode& __a, _Ios_Openmode __b) noexcept - { return __a = __a | __b; } - - constexpr - inline const _Ios_Openmode& - operator&=(_Ios_Openmode& __a, _Ios_Openmode __b) noexcept - { return __a = __a & __b; } - - constexpr - inline const _Ios_Openmode& - operator^=(_Ios_Openmode& __a, _Ios_Openmode __b) noexcept - { return __a = __a ^ __b; } - - - enum _Ios_Iostate - { - _S_goodbit = 0, - _S_badbit = 1L << 0, - _S_eofbit = 1L << 1, - _S_failbit = 1L << 2, - _S_ios_iostate_end = 1L << 16, - _S_ios_iostate_max = 0x7fffffff, - _S_ios_iostate_min = ~0x7fffffff - }; - - [[__nodiscard__]] constexpr - inline _Ios_Iostate - operator&(_Ios_Iostate __a, _Ios_Iostate __b) noexcept - { return _Ios_Iostate(static_cast(__a) & static_cast(__b)); } - - [[__nodiscard__]] constexpr - inline _Ios_Iostate - operator|(_Ios_Iostate __a, _Ios_Iostate __b) noexcept - { return _Ios_Iostate(static_cast(__a) | static_cast(__b)); } - - [[__nodiscard__]] constexpr - inline _Ios_Iostate - operator^(_Ios_Iostate __a, _Ios_Iostate __b) noexcept - { return _Ios_Iostate(static_cast(__a) ^ static_cast(__b)); } - - [[__nodiscard__]] constexpr - inline _Ios_Iostate - operator~(_Ios_Iostate __a) noexcept - { return _Ios_Iostate(~static_cast(__a)); } - - constexpr - inline const _Ios_Iostate& - operator|=(_Ios_Iostate& __a, _Ios_Iostate __b) noexcept - { return __a = __a | __b; } - - constexpr - inline const _Ios_Iostate& - operator&=(_Ios_Iostate& __a, _Ios_Iostate __b) noexcept - { return __a = __a & __b; } - - constexpr - inline const _Ios_Iostate& - operator^=(_Ios_Iostate& __a, _Ios_Iostate __b) noexcept - { return __a = __a ^ __b; } - - - enum _Ios_Seekdir - { - _S_beg = 0, - _S_cur = 1, - _S_end = 2, - _S_ios_seekdir_end = 1L << 16 - }; - - - - enum class io_errc { stream = 1 }; - - template <> struct is_error_code_enum : public true_type { }; - - [[__nodiscard__, __gnu__::__const__]] - const error_category& - iostream_category() noexcept; - - [[__nodiscard__]] - inline error_code - make_error_code(io_errc __e) noexcept - { return error_code(static_cast(__e), iostream_category()); } - - [[__nodiscard__]] - inline error_condition - make_error_condition(io_errc __e) noexcept - { return error_condition(static_cast(__e), iostream_category()); } -# 254 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - class ios_base - { -# 272 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - public: -# 281 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - class __attribute ((__abi_tag__ ("cxx11"))) failure : public system_error - { - public: - explicit - failure(const string& __str); - - - explicit - failure(const string&, const error_code&); - - explicit - failure(const char*, const error_code& = io_errc::stream); - - - virtual - ~failure() throw(); - - virtual const char* - what() const throw(); - }; -# 367 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - typedef _Ios_Fmtflags fmtflags; - - - static const fmtflags boolalpha = _S_boolalpha; - - - static const fmtflags dec = _S_dec; - - - static const fmtflags fixed = _S_fixed; - - - static const fmtflags hex = _S_hex; - - - - - static const fmtflags internal = _S_internal; - - - - static const fmtflags left = _S_left; - - - static const fmtflags oct = _S_oct; - - - - static const fmtflags right = _S_right; - - - static const fmtflags scientific = _S_scientific; - - - - static const fmtflags showbase = _S_showbase; - - - - static const fmtflags showpoint = _S_showpoint; - - - static const fmtflags showpos = _S_showpos; - - - static const fmtflags skipws = _S_skipws; - - - static const fmtflags unitbuf = _S_unitbuf; - - - - static const fmtflags uppercase = _S_uppercase; - - - static const fmtflags adjustfield = _S_adjustfield; - - - static const fmtflags basefield = _S_basefield; - - - static const fmtflags floatfield = _S_floatfield; -# 442 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - typedef _Ios_Iostate iostate; - - - - static const iostate badbit = _S_badbit; - - - static const iostate eofbit = _S_eofbit; - - - - - static const iostate failbit = _S_failbit; - - - static const iostate goodbit = _S_goodbit; -# 473 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - typedef _Ios_Openmode openmode; - - - static const openmode app = _S_app; - - - static const openmode ate = _S_ate; - - - - - static const openmode binary = _S_bin; - - - static const openmode in = _S_in; - - - static const openmode out = _S_out; - - - static const openmode trunc = _S_trunc; - - static const openmode __noreplace = _S_noreplace; -# 512 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - typedef _Ios_Seekdir seekdir; - - - static const seekdir beg = _S_beg; - - - static const seekdir cur = _S_cur; - - - static const seekdir end = _S_end; -# 545 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - enum event - { - erase_event, - imbue_event, - copyfmt_event - }; -# 562 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - typedef void (*event_callback) (event __e, ios_base& __b, int __i); -# 574 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - void - register_callback(event_callback __fn, int __index); - - protected: - streamsize _M_precision; - streamsize _M_width; - fmtflags _M_flags; - iostate _M_exception; - iostate _M_streambuf_state; - - - - struct _Callback_list - { - - _Callback_list* _M_next; - ios_base::event_callback _M_fn; - int _M_index; - _Atomic_word _M_refcount; - - _Callback_list(ios_base::event_callback __fn, int __index, - _Callback_list* __cb) - : _M_next(__cb), _M_fn(__fn), _M_index(__index), _M_refcount(0) { } - - void - _M_add_reference() { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } - - - int - _M_remove_reference() - { - - ; - int __res = __gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1); - if (__res == 0) - { - ; - } - return __res; - } - }; - - _Callback_list* _M_callbacks; - - void - _M_call_callbacks(event __ev) throw(); - - void - _M_dispose_callbacks(void) throw(); - - - struct _Words - { - void* _M_pword; - long _M_iword; - _Words() : _M_pword(0), _M_iword(0) { } - }; - - - _Words _M_word_zero; - - - - enum { _S_local_word_size = 8 }; - _Words _M_local_word[_S_local_word_size]; - - - int _M_word_size; - _Words* _M_word; - - _Words& - _M_grow_words(int __index, bool __iword); - - - locale _M_ios_locale; - - void - _M_init() throw(); - - public: - - - - - - class Init - { - friend class ios_base; - public: - Init(); - ~Init(); - - - Init(const Init&) = default; - Init& operator=(const Init&) = default; - - - private: - static _Atomic_word _S_refcount; - static bool _S_synced_with_stdio; - }; - - - - - - - fmtflags - flags() const - { return _M_flags; } -# 692 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - fmtflags - flags(fmtflags __fmtfl) - { - fmtflags __old = _M_flags; - _M_flags = __fmtfl; - return __old; - } -# 708 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - fmtflags - setf(fmtflags __fmtfl) - { - fmtflags __old = _M_flags; - _M_flags |= __fmtfl; - return __old; - } -# 725 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - fmtflags - setf(fmtflags __fmtfl, fmtflags __mask) - { - fmtflags __old = _M_flags; - _M_flags &= ~__mask; - _M_flags |= (__fmtfl & __mask); - return __old; - } - - - - - - - - void - unsetf(fmtflags __mask) - { _M_flags &= ~__mask; } -# 751 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - streamsize - precision() const - { return _M_precision; } - - - - - - - streamsize - precision(streamsize __prec) - { - streamsize __old = _M_precision; - _M_precision = __prec; - return __old; - } - - - - - - - - streamsize - width() const - { return _M_width; } - - - - - - - streamsize - width(streamsize __wide) - { - streamsize __old = _M_width; - _M_width = __wide; - return __old; - } -# 802 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - static bool - sync_with_stdio(bool __sync = true); -# 814 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - locale - imbue(const locale& __loc) throw(); -# 825 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - locale - getloc() const - { return _M_ios_locale; } -# 836 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - const locale& - _M_getloc() const - { return _M_ios_locale; } -# 855 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - static int - xalloc() throw(); -# 871 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - long& - iword(int __ix) - { - _Words& __word = ((unsigned)__ix < (unsigned)_M_word_size) - ? _M_word[__ix] : _M_grow_words(__ix, true); - return __word._M_iword; - } -# 892 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - void*& - pword(int __ix) - { - _Words& __word = ((unsigned)__ix < (unsigned)_M_word_size) - ? _M_word[__ix] : _M_grow_words(__ix, false); - return __word._M_pword; - } -# 909 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - virtual ~ios_base(); - - protected: - ios_base() throw (); -# 923 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - public: - ios_base(const ios_base&) = delete; - - ios_base& - operator=(const ios_base&) = delete; - - protected: - void - _M_move(ios_base&) noexcept; - - void - _M_swap(ios_base& __rhs) noexcept; - - }; - - - - inline ios_base& - boolalpha(ios_base& __base) - { - __base.setf(ios_base::boolalpha); - return __base; - } - - - inline ios_base& - noboolalpha(ios_base& __base) - { - __base.unsetf(ios_base::boolalpha); - return __base; - } - - - inline ios_base& - showbase(ios_base& __base) - { - __base.setf(ios_base::showbase); - return __base; - } - - - inline ios_base& - noshowbase(ios_base& __base) - { - __base.unsetf(ios_base::showbase); - return __base; - } - - - inline ios_base& - showpoint(ios_base& __base) - { - __base.setf(ios_base::showpoint); - return __base; - } - - - inline ios_base& - noshowpoint(ios_base& __base) - { - __base.unsetf(ios_base::showpoint); - return __base; - } - - - inline ios_base& - showpos(ios_base& __base) - { - __base.setf(ios_base::showpos); - return __base; - } - - - inline ios_base& - noshowpos(ios_base& __base) - { - __base.unsetf(ios_base::showpos); - return __base; - } - - - inline ios_base& - skipws(ios_base& __base) - { - __base.setf(ios_base::skipws); - return __base; - } - - - inline ios_base& - noskipws(ios_base& __base) - { - __base.unsetf(ios_base::skipws); - return __base; - } - - - inline ios_base& - uppercase(ios_base& __base) - { - __base.setf(ios_base::uppercase); - return __base; - } - - - inline ios_base& - nouppercase(ios_base& __base) - { - __base.unsetf(ios_base::uppercase); - return __base; - } - - - inline ios_base& - unitbuf(ios_base& __base) - { - __base.setf(ios_base::unitbuf); - return __base; - } - - - inline ios_base& - nounitbuf(ios_base& __base) - { - __base.unsetf(ios_base::unitbuf); - return __base; - } - - - - inline ios_base& - internal(ios_base& __base) - { - __base.setf(ios_base::internal, ios_base::adjustfield); - return __base; - } - - - inline ios_base& - left(ios_base& __base) - { - __base.setf(ios_base::left, ios_base::adjustfield); - return __base; - } - - - inline ios_base& - right(ios_base& __base) - { - __base.setf(ios_base::right, ios_base::adjustfield); - return __base; - } - - - - inline ios_base& - dec(ios_base& __base) - { - __base.setf(ios_base::dec, ios_base::basefield); - return __base; - } - - - inline ios_base& - hex(ios_base& __base) - { - __base.setf(ios_base::hex, ios_base::basefield); - return __base; - } - - - inline ios_base& - oct(ios_base& __base) - { - __base.setf(ios_base::oct, ios_base::basefield); - return __base; - } - - - - inline ios_base& - fixed(ios_base& __base) - { - __base.setf(ios_base::fixed, ios_base::floatfield); - return __base; - } - - - inline ios_base& - scientific(ios_base& __base) - { - __base.setf(ios_base::scientific, ios_base::floatfield); - return __base; - } - - - - - - - inline ios_base& - hexfloat(ios_base& __base) - { - __base.setf(ios_base::fixed | ios_base::scientific, ios_base::floatfield); - return __base; - } - - - inline ios_base& - defaultfloat(ios_base& __base) - { - __base.unsetf(ios_base::floatfield); - return __base; - } - - - -} -# 45 "/usr/include/c++/14.1.1/ios" 2 3 -# 1 "/usr/include/c++/14.1.1/streambuf" 1 3 -# 36 "/usr/include/c++/14.1.1/streambuf" 3 - -# 37 "/usr/include/c++/14.1.1/streambuf" 3 -# 47 "/usr/include/c++/14.1.1/streambuf" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - template - streamsize - __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>*, - basic_streambuf<_CharT, _Traits>*, bool&); -# 123 "/usr/include/c++/14.1.1/streambuf" 3 - template - class basic_streambuf - { - public: - - - - - - - typedef _CharT char_type; - typedef _Traits traits_type; - typedef typename traits_type::int_type int_type; - typedef typename traits_type::pos_type pos_type; - typedef typename traits_type::off_type off_type; - - - - - typedef basic_streambuf __streambuf_type; - - - friend class basic_ios; - friend class basic_istream; - friend class basic_ostream; - friend class istreambuf_iterator; - friend class ostreambuf_iterator; - - friend streamsize - __copy_streambufs_eof<>(basic_streambuf*, basic_streambuf*, bool&); - - template - friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, - _CharT2*>::__type - __copy_move_a2(istreambuf_iterator<_CharT2>, - istreambuf_iterator<_CharT2>, _CharT2*); - - template - friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, - istreambuf_iterator<_CharT2> >::__type - find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, - const _CharT2&); - - template - friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, - void>::__type - advance(istreambuf_iterator<_CharT2>&, _Distance); - - friend void __istream_extract(istream&, char*, streamsize); - - template - friend basic_istream<_CharT2, _Traits2>& - operator>>(basic_istream<_CharT2, _Traits2>&, - basic_string<_CharT2, _Traits2, _Alloc>&); - - template - friend basic_istream<_CharT2, _Traits2>& - getline(basic_istream<_CharT2, _Traits2>&, - basic_string<_CharT2, _Traits2, _Alloc>&, _CharT2); - - protected: - - - - - - - - char_type* _M_in_beg; - char_type* _M_in_cur; - char_type* _M_in_end; - char_type* _M_out_beg; - char_type* _M_out_cur; - char_type* _M_out_end; - - - locale _M_buf_locale; - - public: - - virtual - ~basic_streambuf() - { } -# 215 "/usr/include/c++/14.1.1/streambuf" 3 - locale - pubimbue(const locale& __loc) - { - locale __tmp(this->getloc()); - this->imbue(__loc); - _M_buf_locale = __loc; - return __tmp; - } -# 232 "/usr/include/c++/14.1.1/streambuf" 3 - locale - getloc() const - { return _M_buf_locale; } -# 245 "/usr/include/c++/14.1.1/streambuf" 3 - basic_streambuf* - pubsetbuf(char_type* __s, streamsize __n) - { return this->setbuf(__s, __n); } -# 257 "/usr/include/c++/14.1.1/streambuf" 3 - pos_type - pubseekoff(off_type __off, ios_base::seekdir __way, - ios_base::openmode __mode = ios_base::in | ios_base::out) - { return this->seekoff(__off, __way, __mode); } -# 269 "/usr/include/c++/14.1.1/streambuf" 3 - pos_type - pubseekpos(pos_type __sp, - ios_base::openmode __mode = ios_base::in | ios_base::out) - { return this->seekpos(__sp, __mode); } - - - - - int - pubsync() { return this->sync(); } -# 290 "/usr/include/c++/14.1.1/streambuf" 3 - streamsize - in_avail() - { - const streamsize __ret = this->egptr() - this->gptr(); - return __ret ? __ret : this->showmanyc(); - } -# 304 "/usr/include/c++/14.1.1/streambuf" 3 - int_type - snextc() - { - int_type __ret = traits_type::eof(); - if (__builtin_expect(!traits_type::eq_int_type(this->sbumpc(), - __ret), true)) - __ret = this->sgetc(); - return __ret; - } -# 322 "/usr/include/c++/14.1.1/streambuf" 3 - int_type - sbumpc() - { - int_type __ret; - if (__builtin_expect(this->gptr() < this->egptr(), true)) - { - __ret = traits_type::to_int_type(*this->gptr()); - this->gbump(1); - } - else - __ret = this->uflow(); - return __ret; - } -# 344 "/usr/include/c++/14.1.1/streambuf" 3 - int_type - sgetc() - { - int_type __ret; - if (__builtin_expect(this->gptr() < this->egptr(), true)) - __ret = traits_type::to_int_type(*this->gptr()); - else - __ret = this->underflow(); - return __ret; - } -# 363 "/usr/include/c++/14.1.1/streambuf" 3 - streamsize - sgetn(char_type* __s, streamsize __n) - { return this->xsgetn(__s, __n); } -# 378 "/usr/include/c++/14.1.1/streambuf" 3 - int_type - sputbackc(char_type __c) - { - int_type __ret; - const bool __testpos = this->eback() < this->gptr(); - if (__builtin_expect(!__testpos || - !traits_type::eq(__c, this->gptr()[-1]), false)) - __ret = this->pbackfail(traits_type::to_int_type(__c)); - else - { - this->gbump(-1); - __ret = traits_type::to_int_type(*this->gptr()); - } - return __ret; - } -# 403 "/usr/include/c++/14.1.1/streambuf" 3 - int_type - sungetc() - { - int_type __ret; - if (__builtin_expect(this->eback() < this->gptr(), true)) - { - this->gbump(-1); - __ret = traits_type::to_int_type(*this->gptr()); - } - else - __ret = this->pbackfail(); - return __ret; - } -# 430 "/usr/include/c++/14.1.1/streambuf" 3 - int_type - sputc(char_type __c) - { - int_type __ret; - if (__builtin_expect(this->pptr() < this->epptr(), true)) - { - *this->pptr() = __c; - this->pbump(1); - __ret = traits_type::to_int_type(__c); - } - else - __ret = this->overflow(traits_type::to_int_type(__c)); - return __ret; - } -# 456 "/usr/include/c++/14.1.1/streambuf" 3 - streamsize - sputn(const char_type* __s, streamsize __n) - { return this->xsputn(__s, __n); } - - protected: -# 470 "/usr/include/c++/14.1.1/streambuf" 3 - basic_streambuf() - : _M_in_beg(0), _M_in_cur(0), _M_in_end(0), - _M_out_beg(0), _M_out_cur(0), _M_out_end(0), - _M_buf_locale(locale()) - { } -# 488 "/usr/include/c++/14.1.1/streambuf" 3 - char_type* - eback() const { return _M_in_beg; } - - char_type* - gptr() const { return _M_in_cur; } - - char_type* - egptr() const { return _M_in_end; } -# 504 "/usr/include/c++/14.1.1/streambuf" 3 - void - gbump(int __n) { _M_in_cur += __n; } -# 515 "/usr/include/c++/14.1.1/streambuf" 3 - void - setg(char_type* __gbeg, char_type* __gnext, char_type* __gend) - { - _M_in_beg = __gbeg; - _M_in_cur = __gnext; - _M_in_end = __gend; - } -# 535 "/usr/include/c++/14.1.1/streambuf" 3 - char_type* - pbase() const { return _M_out_beg; } - - char_type* - pptr() const { return _M_out_cur; } - - char_type* - epptr() const { return _M_out_end; } -# 551 "/usr/include/c++/14.1.1/streambuf" 3 - void - pbump(int __n) { _M_out_cur += __n; } -# 561 "/usr/include/c++/14.1.1/streambuf" 3 - void - setp(char_type* __pbeg, char_type* __pend) - { - _M_out_beg = _M_out_cur = __pbeg; - _M_out_end = __pend; - } -# 582 "/usr/include/c++/14.1.1/streambuf" 3 - virtual void - imbue(const locale& __loc __attribute__ ((__unused__))) - { } -# 597 "/usr/include/c++/14.1.1/streambuf" 3 - virtual basic_streambuf* - setbuf(char_type*, streamsize) - { return this; } -# 608 "/usr/include/c++/14.1.1/streambuf" 3 - virtual pos_type - seekoff(off_type, ios_base::seekdir, - ios_base::openmode = ios_base::in | ios_base::out) - { return pos_type(off_type(-1)); } -# 620 "/usr/include/c++/14.1.1/streambuf" 3 - virtual pos_type - seekpos(pos_type, - ios_base::openmode = ios_base::in | ios_base::out) - { return pos_type(off_type(-1)); } -# 633 "/usr/include/c++/14.1.1/streambuf" 3 - virtual int - sync() { return 0; } -# 655 "/usr/include/c++/14.1.1/streambuf" 3 - virtual streamsize - showmanyc() { return 0; } -# 671 "/usr/include/c++/14.1.1/streambuf" 3 - virtual streamsize - xsgetn(char_type* __s, streamsize __n); -# 693 "/usr/include/c++/14.1.1/streambuf" 3 - virtual int_type - underflow() - { return traits_type::eof(); } -# 706 "/usr/include/c++/14.1.1/streambuf" 3 - virtual int_type - uflow() - { - int_type __ret = traits_type::eof(); - const bool __testeof = traits_type::eq_int_type(this->underflow(), - __ret); - if (!__testeof) - { - __ret = traits_type::to_int_type(*this->gptr()); - this->gbump(1); - } - return __ret; - } -# 730 "/usr/include/c++/14.1.1/streambuf" 3 - virtual int_type - pbackfail(int_type __c __attribute__ ((__unused__)) = traits_type::eof()) - { return traits_type::eof(); } -# 748 "/usr/include/c++/14.1.1/streambuf" 3 - virtual streamsize - xsputn(const char_type* __s, streamsize __n); -# 774 "/usr/include/c++/14.1.1/streambuf" 3 - virtual int_type - overflow(int_type __c __attribute__ ((__unused__)) = traits_type::eof()) - { return traits_type::eof(); } -# 801 "/usr/include/c++/14.1.1/streambuf" 3 - void - __safe_gbump(streamsize __n) { _M_in_cur += __n; } - - void - __safe_pbump(streamsize __n) { _M_out_cur += __n; } - - - - - protected: - - basic_streambuf(const basic_streambuf&); - - basic_streambuf& - operator=(const basic_streambuf&); - - - void - swap(basic_streambuf& __sb) - { - std::swap(_M_in_beg, __sb._M_in_beg); - std::swap(_M_in_cur, __sb._M_in_cur); - std::swap(_M_in_end, __sb._M_in_end); - std::swap(_M_out_beg, __sb._M_out_beg); - std::swap(_M_out_cur, __sb._M_out_cur); - std::swap(_M_out_end, __sb._M_out_end); - std::swap(_M_buf_locale, __sb._M_buf_locale); - } - - }; - - - template - std::basic_streambuf<_CharT, _Traits>:: - basic_streambuf(const basic_streambuf&) = default; - - template - std::basic_streambuf<_CharT, _Traits>& - std::basic_streambuf<_CharT, _Traits>:: - operator=(const basic_streambuf&) = default; - - - - template<> - streamsize - __copy_streambufs_eof(basic_streambuf* __sbin, - basic_streambuf* __sbout, bool& __ineof); - - template<> - streamsize - __copy_streambufs_eof(basic_streambuf* __sbin, - basic_streambuf* __sbout, bool& __ineof); - - - - - -} - -# 1 "/usr/include/c++/14.1.1/bits/streambuf.tcc" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/streambuf.tcc" 3 - -# 38 "/usr/include/c++/14.1.1/bits/streambuf.tcc" 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - streamsize - basic_streambuf<_CharT, _Traits>:: - xsgetn(char_type* __s, streamsize __n) - { - streamsize __ret = 0; - while (__ret < __n) - { - const streamsize __buf_len = this->egptr() - this->gptr(); - if (__buf_len) - { - const streamsize __remaining = __n - __ret; - const streamsize __len = std::min(__buf_len, __remaining); - traits_type::copy(__s, this->gptr(), __len); - __ret += __len; - __s += __len; - this->__safe_gbump(__len); - } - - if (__ret < __n) - { - const int_type __c = this->uflow(); - if (!traits_type::eq_int_type(__c, traits_type::eof())) - { - traits_type::assign(*__s++, traits_type::to_char_type(__c)); - ++__ret; - } - else - break; - } - } - return __ret; - } - - template - streamsize - basic_streambuf<_CharT, _Traits>:: - xsputn(const char_type* __s, streamsize __n) - { - streamsize __ret = 0; - while (__ret < __n) - { - const streamsize __buf_len = this->epptr() - this->pptr(); - if (__buf_len) - { - const streamsize __remaining = __n - __ret; - const streamsize __len = std::min(__buf_len, __remaining); - traits_type::copy(this->pptr(), __s, __len); - __ret += __len; - __s += __len; - this->__safe_pbump(__len); - } - - if (__ret < __n) - { - int_type __c = this->overflow(traits_type::to_int_type(*__s)); - if (!traits_type::eq_int_type(__c, traits_type::eof())) - { - ++__ret; - ++__s; - } - else - break; - } - } - return __ret; - } - - - - - template - streamsize - __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>* __sbin, - basic_streambuf<_CharT, _Traits>* __sbout, - bool& __ineof) - { - streamsize __ret = 0; - __ineof = true; - typename _Traits::int_type __c = __sbin->sgetc(); - while (!_Traits::eq_int_type(__c, _Traits::eof())) - { - __c = __sbout->sputc(_Traits::to_char_type(__c)); - if (_Traits::eq_int_type(__c, _Traits::eof())) - { - __ineof = false; - break; - } - ++__ret; - __c = __sbin->snextc(); - } - return __ret; - } - - template - inline streamsize - __copy_streambufs(basic_streambuf<_CharT, _Traits>* __sbin, - basic_streambuf<_CharT, _Traits>* __sbout) - { - bool __ineof; - return __copy_streambufs_eof(__sbin, __sbout, __ineof); - } - - - - - extern template class basic_streambuf; - - extern template - streamsize - __copy_streambufs(basic_streambuf*, - basic_streambuf*); - - - extern template class basic_streambuf; - - extern template - streamsize - __copy_streambufs(basic_streambuf*, - basic_streambuf*); - - - - -} -# 861 "/usr/include/c++/14.1.1/streambuf" 2 3 -# 46 "/usr/include/c++/14.1.1/ios" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/basic_ios.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - - - -# 1 "/usr/include/c++/14.1.1/bits/locale_facets.h" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - -# 38 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - -# 1 "/usr/include/c++/14.1.1/cwctype" 1 3 -# 39 "/usr/include/c++/14.1.1/cwctype" 3 - -# 40 "/usr/include/c++/14.1.1/cwctype" 3 -# 50 "/usr/include/c++/14.1.1/cwctype" 3 -# 1 "/usr/include/wctype.h" 1 3 4 -# 38 "/usr/include/wctype.h" 3 4 -# 1 "/usr/include/bits/wctype-wchar.h" 1 3 4 -# 38 "/usr/include/bits/wctype-wchar.h" 3 4 -typedef unsigned long int wctype_t; -# 56 "/usr/include/bits/wctype-wchar.h" 3 4 -enum -{ - __ISwupper = 0, - __ISwlower = 1, - __ISwalpha = 2, - __ISwdigit = 3, - __ISwxdigit = 4, - __ISwspace = 5, - __ISwprint = 6, - __ISwgraph = 7, - __ISwblank = 8, - __ISwcntrl = 9, - __ISwpunct = 10, - __ISwalnum = 11, - - _ISwupper = ((__ISwupper) < 8 ? (int) ((1UL << (__ISwupper)) << 24) : ((__ISwupper) < 16 ? (int) ((1UL << (__ISwupper)) << 8) : ((__ISwupper) < 24 ? (int) ((1UL << (__ISwupper)) >> 8) : (int) ((1UL << (__ISwupper)) >> 24)))), - _ISwlower = ((__ISwlower) < 8 ? (int) ((1UL << (__ISwlower)) << 24) : ((__ISwlower) < 16 ? (int) ((1UL << (__ISwlower)) << 8) : ((__ISwlower) < 24 ? (int) ((1UL << (__ISwlower)) >> 8) : (int) ((1UL << (__ISwlower)) >> 24)))), - _ISwalpha = ((__ISwalpha) < 8 ? (int) ((1UL << (__ISwalpha)) << 24) : ((__ISwalpha) < 16 ? (int) ((1UL << (__ISwalpha)) << 8) : ((__ISwalpha) < 24 ? (int) ((1UL << (__ISwalpha)) >> 8) : (int) ((1UL << (__ISwalpha)) >> 24)))), - _ISwdigit = ((__ISwdigit) < 8 ? (int) ((1UL << (__ISwdigit)) << 24) : ((__ISwdigit) < 16 ? (int) ((1UL << (__ISwdigit)) << 8) : ((__ISwdigit) < 24 ? (int) ((1UL << (__ISwdigit)) >> 8) : (int) ((1UL << (__ISwdigit)) >> 24)))), - _ISwxdigit = ((__ISwxdigit) < 8 ? (int) ((1UL << (__ISwxdigit)) << 24) : ((__ISwxdigit) < 16 ? (int) ((1UL << (__ISwxdigit)) << 8) : ((__ISwxdigit) < 24 ? (int) ((1UL << (__ISwxdigit)) >> 8) : (int) ((1UL << (__ISwxdigit)) >> 24)))), - _ISwspace = ((__ISwspace) < 8 ? (int) ((1UL << (__ISwspace)) << 24) : ((__ISwspace) < 16 ? (int) ((1UL << (__ISwspace)) << 8) : ((__ISwspace) < 24 ? (int) ((1UL << (__ISwspace)) >> 8) : (int) ((1UL << (__ISwspace)) >> 24)))), - _ISwprint = ((__ISwprint) < 8 ? (int) ((1UL << (__ISwprint)) << 24) : ((__ISwprint) < 16 ? (int) ((1UL << (__ISwprint)) << 8) : ((__ISwprint) < 24 ? (int) ((1UL << (__ISwprint)) >> 8) : (int) ((1UL << (__ISwprint)) >> 24)))), - _ISwgraph = ((__ISwgraph) < 8 ? (int) ((1UL << (__ISwgraph)) << 24) : ((__ISwgraph) < 16 ? (int) ((1UL << (__ISwgraph)) << 8) : ((__ISwgraph) < 24 ? (int) ((1UL << (__ISwgraph)) >> 8) : (int) ((1UL << (__ISwgraph)) >> 24)))), - _ISwblank = ((__ISwblank) < 8 ? (int) ((1UL << (__ISwblank)) << 24) : ((__ISwblank) < 16 ? (int) ((1UL << (__ISwblank)) << 8) : ((__ISwblank) < 24 ? (int) ((1UL << (__ISwblank)) >> 8) : (int) ((1UL << (__ISwblank)) >> 24)))), - _ISwcntrl = ((__ISwcntrl) < 8 ? (int) ((1UL << (__ISwcntrl)) << 24) : ((__ISwcntrl) < 16 ? (int) ((1UL << (__ISwcntrl)) << 8) : ((__ISwcntrl) < 24 ? (int) ((1UL << (__ISwcntrl)) >> 8) : (int) ((1UL << (__ISwcntrl)) >> 24)))), - _ISwpunct = ((__ISwpunct) < 8 ? (int) ((1UL << (__ISwpunct)) << 24) : ((__ISwpunct) < 16 ? (int) ((1UL << (__ISwpunct)) << 8) : ((__ISwpunct) < 24 ? (int) ((1UL << (__ISwpunct)) >> 8) : (int) ((1UL << (__ISwpunct)) >> 24)))), - _ISwalnum = ((__ISwalnum) < 8 ? (int) ((1UL << (__ISwalnum)) << 24) : ((__ISwalnum) < 16 ? (int) ((1UL << (__ISwalnum)) << 8) : ((__ISwalnum) < 24 ? (int) ((1UL << (__ISwalnum)) >> 8) : (int) ((1UL << (__ISwalnum)) >> 24)))) -}; - - - -extern "C" { - - - - - - - -extern int iswalnum (wint_t __wc) noexcept (true); - - - - - -extern int iswalpha (wint_t __wc) noexcept (true); - - -extern int iswcntrl (wint_t __wc) noexcept (true); - - - -extern int iswdigit (wint_t __wc) noexcept (true); - - - -extern int iswgraph (wint_t __wc) noexcept (true); - - - - -extern int iswlower (wint_t __wc) noexcept (true); - - -extern int iswprint (wint_t __wc) noexcept (true); - - - - -extern int iswpunct (wint_t __wc) noexcept (true); - - - - -extern int iswspace (wint_t __wc) noexcept (true); - - - - -extern int iswupper (wint_t __wc) noexcept (true); - - - - -extern int iswxdigit (wint_t __wc) noexcept (true); - - - - - -extern int iswblank (wint_t __wc) noexcept (true); -# 155 "/usr/include/bits/wctype-wchar.h" 3 4 -extern wctype_t wctype (const char *__property) noexcept (true); - - - -extern int iswctype (wint_t __wc, wctype_t __desc) noexcept (true); - - - - - - -extern wint_t towlower (wint_t __wc) noexcept (true); - - -extern wint_t towupper (wint_t __wc) noexcept (true); - -} -# 39 "/usr/include/wctype.h" 2 3 4 - - - - - -extern "C" { - - - -typedef const __int32_t *wctrans_t; - - - -extern wctrans_t wctrans (const char *__property) noexcept (true); - - -extern wint_t towctrans (wint_t __wc, wctrans_t __desc) noexcept (true); - - - - - - - -extern int iswalnum_l (wint_t __wc, locale_t __locale) noexcept (true); - - - - - -extern int iswalpha_l (wint_t __wc, locale_t __locale) noexcept (true); - - -extern int iswcntrl_l (wint_t __wc, locale_t __locale) noexcept (true); - - - -extern int iswdigit_l (wint_t __wc, locale_t __locale) noexcept (true); - - - -extern int iswgraph_l (wint_t __wc, locale_t __locale) noexcept (true); - - - - -extern int iswlower_l (wint_t __wc, locale_t __locale) noexcept (true); - - -extern int iswprint_l (wint_t __wc, locale_t __locale) noexcept (true); - - - - -extern int iswpunct_l (wint_t __wc, locale_t __locale) noexcept (true); - - - - -extern int iswspace_l (wint_t __wc, locale_t __locale) noexcept (true); - - - - -extern int iswupper_l (wint_t __wc, locale_t __locale) noexcept (true); - - - - -extern int iswxdigit_l (wint_t __wc, locale_t __locale) noexcept (true); - - - - -extern int iswblank_l (wint_t __wc, locale_t __locale) noexcept (true); - - - -extern wctype_t wctype_l (const char *__property, locale_t __locale) - noexcept (true); - - - -extern int iswctype_l (wint_t __wc, wctype_t __desc, locale_t __locale) - noexcept (true); - - - - - - -extern wint_t towlower_l (wint_t __wc, locale_t __locale) noexcept (true); - - -extern wint_t towupper_l (wint_t __wc, locale_t __locale) noexcept (true); - - - -extern wctrans_t wctrans_l (const char *__property, locale_t __locale) - noexcept (true); - - -extern wint_t towctrans_l (wint_t __wc, wctrans_t __desc, - locale_t __locale) noexcept (true); - - - -} -# 51 "/usr/include/c++/14.1.1/cwctype" 2 3 -# 80 "/usr/include/c++/14.1.1/cwctype" 3 -namespace std -{ - using ::wctrans_t; - using ::wctype_t; - using ::wint_t; - - using ::iswalnum; - using ::iswalpha; - - using ::iswblank; - - using ::iswcntrl; - using ::iswctype; - using ::iswdigit; - using ::iswgraph; - using ::iswlower; - using ::iswprint; - using ::iswpunct; - using ::iswspace; - using ::iswupper; - using ::iswxdigit; - using ::towctrans; - using ::towlower; - using ::towupper; - using ::wctrans; - using ::wctype; -} -# 40 "/usr/include/c++/14.1.1/bits/locale_facets.h" 2 3 -# 1 "/usr/include/c++/14.1.1/cctype" 1 3 -# 39 "/usr/include/c++/14.1.1/cctype" 3 - -# 40 "/usr/include/c++/14.1.1/cctype" 3 -# 41 "/usr/include/c++/14.1.1/bits/locale_facets.h" 2 3 -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/ctype_base.h" 1 3 -# 36 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/ctype_base.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - struct ctype_base - { - - typedef const int* __to_type; - - - - typedef unsigned short mask; - static const mask upper = _ISupper; - static const mask lower = _ISlower; - static const mask alpha = _ISalpha; - static const mask digit = _ISdigit; - static const mask xdigit = _ISxdigit; - static const mask space = _ISspace; - static const mask print = _ISprint; - static const mask graph = _ISalpha | _ISdigit | _ISpunct; - static const mask cntrl = _IScntrl; - static const mask punct = _ISpunct; - static const mask alnum = _ISalpha | _ISdigit; - - static const mask blank = _ISblank; - - }; - - -} -# 42 "/usr/include/c++/14.1.1/bits/locale_facets.h" 2 3 - - - - - - -# 1 "/usr/include/c++/14.1.1/bits/streambuf_iterator.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/streambuf_iterator.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/streambuf_iterator.h" 3 - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - - - -# 49 "/usr/include/c++/14.1.1/bits/streambuf_iterator.h" 3 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - - - template - class istreambuf_iterator - : public iterator - { - public: -# 67 "/usr/include/c++/14.1.1/bits/streambuf_iterator.h" 3 - using pointer = void; - - - typedef _CharT char_type; - typedef _Traits traits_type; - typedef typename _Traits::int_type int_type; - typedef basic_streambuf<_CharT, _Traits> streambuf_type; - typedef basic_istream<_CharT, _Traits> istream_type; - - - template - friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, - ostreambuf_iterator<_CharT2> >::__type - copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, - ostreambuf_iterator<_CharT2>); - - template - friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, - _CharT2*>::__type - __copy_move_a2(istreambuf_iterator<_CharT2>, - istreambuf_iterator<_CharT2>, _CharT2*); - - template - friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, - _CharT2*>::__type - __copy_n_a(istreambuf_iterator<_CharT2>, _Size, _CharT2*, bool); - - template - friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, - istreambuf_iterator<_CharT2> >::__type - find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, - const _CharT2&); - - template - friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, - void>::__type - advance(istreambuf_iterator<_CharT2>&, _Distance); - - private: - - - - - - - - mutable streambuf_type* _M_sbuf; - int_type _M_c; - - public: - - constexpr istreambuf_iterator() noexcept - : _M_sbuf(0), _M_c(traits_type::eof()) { } - - - constexpr istreambuf_iterator(default_sentinel_t) noexcept - : istreambuf_iterator() { } - - - - istreambuf_iterator(const istreambuf_iterator&) noexcept = default; - - ~istreambuf_iterator() = default; - - - - istreambuf_iterator(istream_type& __s) noexcept - : _M_sbuf(__s.rdbuf()), _M_c(traits_type::eof()) { } - - - istreambuf_iterator(streambuf_type* __s) noexcept - : _M_sbuf(__s), _M_c(traits_type::eof()) { } - - - istreambuf_iterator& - operator=(const istreambuf_iterator&) noexcept = default; - - - - - - [[__nodiscard__]] - char_type - operator*() const - { - int_type __c = _M_get(); -# 161 "/usr/include/c++/14.1.1/bits/streambuf_iterator.h" 3 - return traits_type::to_char_type(__c); - } - - - istreambuf_iterator& - operator++() - { - - - - ; - - _M_sbuf->sbumpc(); - _M_c = traits_type::eof(); - return *this; - } - - - istreambuf_iterator - operator++(int) - { - - - - ; - - istreambuf_iterator __old = *this; - __old._M_c = _M_sbuf->sbumpc(); - _M_c = traits_type::eof(); - return __old; - } - - - - - - [[__nodiscard__]] - bool - equal(const istreambuf_iterator& __b) const - { return _M_at_eof() == __b._M_at_eof(); } - - private: - int_type - _M_get() const - { - int_type __ret = _M_c; - if (_M_sbuf && _S_is_eof(__ret) && _S_is_eof(__ret = _M_sbuf->sgetc())) - _M_sbuf = 0; - return __ret; - } - - bool - _M_at_eof() const - { return _S_is_eof(_M_get()); } - - static bool - _S_is_eof(int_type __c) - { - const int_type __eof = traits_type::eof(); - return traits_type::eq_int_type(__c, __eof); - } - - - [[nodiscard]] - friend bool - operator==(const istreambuf_iterator& __i, default_sentinel_t) - { return __i._M_at_eof(); } - - }; - - template - [[__nodiscard__]] - inline bool - operator==(const istreambuf_iterator<_CharT, _Traits>& __a, - const istreambuf_iterator<_CharT, _Traits>& __b) - { return __a.equal(__b); } -# 248 "/usr/include/c++/14.1.1/bits/streambuf_iterator.h" 3 - template - class ostreambuf_iterator - : public iterator - { - public: - - - - - using difference_type = ptrdiff_t; - - typedef _CharT char_type; - typedef _Traits traits_type; - typedef basic_streambuf<_CharT, _Traits> streambuf_type; - typedef basic_ostream<_CharT, _Traits> ostream_type; - - - template - friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, - ostreambuf_iterator<_CharT2> >::__type - copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, - ostreambuf_iterator<_CharT2>); - - private: - streambuf_type* _M_sbuf; - bool _M_failed; - - public: - - - constexpr - ostreambuf_iterator() noexcept - : _M_sbuf(nullptr), _M_failed(true) { } - - - - ostreambuf_iterator(ostream_type& __s) noexcept - : _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { } - - - ostreambuf_iterator(streambuf_type* __s) noexcept - : _M_sbuf(__s), _M_failed(!_M_sbuf) { } - - - ostreambuf_iterator& - operator=(_CharT __c) - { - if (!_M_failed && - _Traits::eq_int_type(_M_sbuf->sputc(__c), _Traits::eof())) - _M_failed = true; - return *this; - } - - - [[__nodiscard__]] - ostreambuf_iterator& - operator*() - { return *this; } - - - ostreambuf_iterator& - operator++(int) - { return *this; } - - - ostreambuf_iterator& - operator++() - { return *this; } - - - [[__nodiscard__]] - bool - failed() const noexcept - { return _M_failed; } - - ostreambuf_iterator& - _M_put(const _CharT* __ws, streamsize __len) - { - if (__builtin_expect(!_M_failed, true) - && __builtin_expect(this->_M_sbuf->sputn(__ws, __len) != __len, - false)) - _M_failed = true; - return *this; - } - }; -#pragma GCC diagnostic pop - - - template - typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, - ostreambuf_iterator<_CharT> >::__type - copy(istreambuf_iterator<_CharT> __first, - istreambuf_iterator<_CharT> __last, - ostreambuf_iterator<_CharT> __result) - { - if (__first._M_sbuf && !__last._M_sbuf && !__result._M_failed) - { - bool __ineof; - __copy_streambufs_eof(__first._M_sbuf, __result._M_sbuf, __ineof); - if (!__ineof) - __result._M_failed = true; - } - return __result; - } - - template - typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, - ostreambuf_iterator<_CharT> >::__type - __copy_move_a2(_CharT* __first, _CharT* __last, - ostreambuf_iterator<_CharT> __result) - { - const streamsize __num = __last - __first; - if (__num > 0) - __result._M_put(__first, __num); - return __result; - } - - template - typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, - ostreambuf_iterator<_CharT> >::__type - __copy_move_a2(const _CharT* __first, const _CharT* __last, - ostreambuf_iterator<_CharT> __result) - { - const streamsize __num = __last - __first; - if (__num > 0) - __result._M_put(__first, __num); - return __result; - } - - template - typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, - _CharT*>::__type - __copy_move_a2(istreambuf_iterator<_CharT> __first, - istreambuf_iterator<_CharT> __last, _CharT* __result) - { - typedef istreambuf_iterator<_CharT> __is_iterator_type; - typedef typename __is_iterator_type::traits_type traits_type; - typedef typename __is_iterator_type::streambuf_type streambuf_type; - typedef typename traits_type::int_type int_type; - - if (__first._M_sbuf && !__last._M_sbuf) - { - streambuf_type* __sb = __first._M_sbuf; - int_type __c = __sb->sgetc(); - while (!traits_type::eq_int_type(__c, traits_type::eof())) - { - const streamsize __n = __sb->egptr() - __sb->gptr(); - if (__n > 1) - { - traits_type::copy(__result, __sb->gptr(), __n); - __sb->__safe_gbump(__n); - __result += __n; - __c = __sb->underflow(); - } - else - { - *__result++ = traits_type::to_char_type(__c); - __c = __sb->snextc(); - } - } - } - return __result; - } - - template - typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, - _CharT*>::__type - __copy_n_a(istreambuf_iterator<_CharT> __it, _Size __n, _CharT* __result, - bool __strict __attribute__((__unused__))) - { - if (__n == 0) - return __result; - - - - ; - _CharT* __beg = __result; - __result += __it._M_sbuf->sgetn(__beg, __n); - - - ; - return __result; - } - - template - typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, - istreambuf_iterator<_CharT> >::__type - find(istreambuf_iterator<_CharT> __first, - istreambuf_iterator<_CharT> __last, const _CharT& __val) - { - typedef istreambuf_iterator<_CharT> __is_iterator_type; - typedef typename __is_iterator_type::traits_type traits_type; - typedef typename __is_iterator_type::streambuf_type streambuf_type; - typedef typename traits_type::int_type int_type; - const int_type __eof = traits_type::eof(); - - if (__first._M_sbuf && !__last._M_sbuf) - { - const int_type __ival = traits_type::to_int_type(__val); - streambuf_type* __sb = __first._M_sbuf; - int_type __c = __sb->sgetc(); - while (!traits_type::eq_int_type(__c, __eof) - && !traits_type::eq_int_type(__c, __ival)) - { - streamsize __n = __sb->egptr() - __sb->gptr(); - if (__n > 1) - { - const _CharT* __p = traits_type::find(__sb->gptr(), - __n, __val); - if (__p) - __n = __p - __sb->gptr(); - __sb->__safe_gbump(__n); - __c = __sb->sgetc(); - } - else - __c = __sb->snextc(); - } - - __first._M_c = __eof; - } - - return __first; - } - - template - typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, - void>::__type - advance(istreambuf_iterator<_CharT>& __i, _Distance __n) - { - if (__n == 0) - return; - - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__n > 0), false)) std::__glibcxx_assert_fail(); } while (false); - - - ; - - typedef istreambuf_iterator<_CharT> __is_iterator_type; - typedef typename __is_iterator_type::traits_type traits_type; - typedef typename __is_iterator_type::streambuf_type streambuf_type; - typedef typename traits_type::int_type int_type; - const int_type __eof = traits_type::eof(); - - streambuf_type* __sb = __i._M_sbuf; - while (__n > 0) - { - streamsize __size = __sb->egptr() - __sb->gptr(); - if (__size > __n) - { - __sb->__safe_gbump(__n); - break; - } - - __sb->__safe_gbump(__size); - __n -= __size; - if (traits_type::eq_int_type(__sb->underflow(), __eof)) - { - - - ; - break; - } - } - - __i._M_c = __eof; - } - - - - -} -# 49 "/usr/include/c++/14.1.1/bits/locale_facets.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 74 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - template - void - __convert_to_v(const char*, _Tp&, ios_base::iostate&, - const __c_locale&) throw(); - - - template<> - void - __convert_to_v(const char*, float&, ios_base::iostate&, - const __c_locale&) throw(); - - template<> - void - __convert_to_v(const char*, double&, ios_base::iostate&, - const __c_locale&) throw(); - - template<> - void - __convert_to_v(const char*, long double&, ios_base::iostate&, - const __c_locale&) throw(); - - - - template - struct __pad - { - static void - _S_pad(ios_base& __io, _CharT __fill, _CharT* __news, - const _CharT* __olds, streamsize __newlen, streamsize __oldlen); - }; - - - - - - - template - _CharT* - __add_grouping(_CharT* __s, _CharT __sep, - const char* __gbeg, size_t __gsize, - const _CharT* __first, const _CharT* __last); - - - - - template - inline - ostreambuf_iterator<_CharT> - __write(ostreambuf_iterator<_CharT> __s, const _CharT* __ws, int __len) - { - __s._M_put(__ws, __len); - return __s; - } - - - template - inline - _OutIter - __write(_OutIter __s, const _CharT* __ws, int __len) - { - for (int __j = 0; __j < __len; __j++, ++__s) - *__s = __ws[__j]; - return __s; - } -# 152 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - template - class __ctype_abstract_base : public locale::facet, public ctype_base - { - public: - - - typedef _CharT char_type; -# 171 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - bool - is(mask __m, char_type __c) const - { return this->do_is(__m, __c); } -# 188 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char_type* - is(const char_type *__lo, const char_type *__hi, mask *__vec) const - { return this->do_is(__lo, __hi, __vec); } -# 204 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char_type* - scan_is(mask __m, const char_type* __lo, const char_type* __hi) const - { return this->do_scan_is(__m, __lo, __hi); } -# 220 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char_type* - scan_not(mask __m, const char_type* __lo, const char_type* __hi) const - { return this->do_scan_not(__m, __lo, __hi); } -# 234 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char_type - toupper(char_type __c) const - { return this->do_toupper(__c); } -# 249 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char_type* - toupper(char_type *__lo, const char_type* __hi) const - { return this->do_toupper(__lo, __hi); } -# 263 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char_type - tolower(char_type __c) const - { return this->do_tolower(__c); } -# 278 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char_type* - tolower(char_type* __lo, const char_type* __hi) const - { return this->do_tolower(__lo, __hi); } -# 295 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char_type - widen(char __c) const - { return this->do_widen(__c); } -# 314 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char* - widen(const char* __lo, const char* __hi, char_type* __to) const - { return this->do_widen(__lo, __hi, __to); } -# 333 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char - narrow(char_type __c, char __dfault) const - { return this->do_narrow(__c, __dfault); } -# 355 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char_type* - narrow(const char_type* __lo, const char_type* __hi, - char __dfault, char* __to) const - { return this->do_narrow(__lo, __hi, __dfault, __to); } - - protected: - explicit - __ctype_abstract_base(size_t __refs = 0): facet(__refs) { } - - virtual - ~__ctype_abstract_base() { } -# 380 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual bool - do_is(mask __m, char_type __c) const = 0; -# 399 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_is(const char_type* __lo, const char_type* __hi, - mask* __vec) const = 0; -# 418 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_scan_is(mask __m, const char_type* __lo, - const char_type* __hi) const = 0; -# 437 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_scan_not(mask __m, const char_type* __lo, - const char_type* __hi) const = 0; -# 455 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_toupper(char_type __c) const = 0; -# 472 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_toupper(char_type* __lo, const char_type* __hi) const = 0; -# 488 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_tolower(char_type __c) const = 0; -# 505 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_tolower(char_type* __lo, const char_type* __hi) const = 0; -# 524 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_widen(char __c) const = 0; -# 545 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char* - do_widen(const char* __lo, const char* __hi, char_type* __to) const = 0; -# 566 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char - do_narrow(char_type __c, char __dfault) const = 0; -# 591 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_narrow(const char_type* __lo, const char_type* __hi, - char __dfault, char* __to) const = 0; - }; -# 614 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - template - class ctype : public __ctype_abstract_base<_CharT> - { - public: - - typedef _CharT char_type; - typedef typename __ctype_abstract_base<_CharT>::mask mask; - - - static locale::id id; - - explicit - ctype(size_t __refs = 0) : __ctype_abstract_base<_CharT>(__refs) { } - - protected: - virtual - ~ctype(); - - virtual bool - do_is(mask __m, char_type __c) const; - - virtual const char_type* - do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const; - - virtual const char_type* - do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const; - - virtual const char_type* - do_scan_not(mask __m, const char_type* __lo, - const char_type* __hi) const; - - virtual char_type - do_toupper(char_type __c) const; - - virtual const char_type* - do_toupper(char_type* __lo, const char_type* __hi) const; - - virtual char_type - do_tolower(char_type __c) const; - - virtual const char_type* - do_tolower(char_type* __lo, const char_type* __hi) const; - - virtual char_type - do_widen(char __c) const; - - virtual const char* - do_widen(const char* __lo, const char* __hi, char_type* __dest) const; - - virtual char - do_narrow(char_type, char __dfault) const; - - virtual const char_type* - do_narrow(const char_type* __lo, const char_type* __hi, - char __dfault, char* __to) const; - }; - - template - locale::id ctype<_CharT>::id; - - - - template - class ctype >; -# 688 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - template<> - class ctype : public locale::facet, public ctype_base - { - public: - - - typedef char char_type; - - protected: - - __c_locale _M_c_locale_ctype; - bool _M_del; - __to_type _M_toupper; - __to_type _M_tolower; - const mask* _M_table; - mutable char _M_widen_ok; - mutable char _M_widen[1 + static_cast(-1)]; - mutable char _M_narrow[1 + static_cast(-1)]; - mutable char _M_narrow_ok; - - - public: - - static locale::id id; - - static const size_t table_size = 1 + static_cast(-1); -# 725 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - explicit - ctype(const mask* __table = 0, bool __del = false, size_t __refs = 0); -# 738 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - explicit - ctype(__c_locale __cloc, const mask* __table = 0, bool __del = false, - size_t __refs = 0); -# 751 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - inline bool - is(mask __m, char __c) const; -# 766 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - inline const char* - is(const char* __lo, const char* __hi, mask* __vec) const; -# 780 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - inline const char* - scan_is(mask __m, const char* __lo, const char* __hi) const; -# 794 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - inline const char* - scan_not(mask __m, const char* __lo, const char* __hi) const; -# 809 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char_type - toupper(char_type __c) const - { return this->do_toupper(__c); } -# 826 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char_type* - toupper(char_type *__lo, const char_type* __hi) const - { return this->do_toupper(__lo, __hi); } -# 842 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char_type - tolower(char_type __c) const - { return this->do_tolower(__c); } -# 859 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char_type* - tolower(char_type* __lo, const char_type* __hi) const - { return this->do_tolower(__lo, __hi); } -# 879 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char_type - widen(char __c) const - { - if (_M_widen_ok) - return _M_widen[static_cast(__c)]; - this->_M_widen_init(); - return this->do_widen(__c); - } -# 906 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char* - widen(const char* __lo, const char* __hi, char_type* __to) const - { - if (_M_widen_ok == 1) - { - if (__builtin_expect(__hi != __lo, true)) - __builtin_memcpy(__to, __lo, __hi - __lo); - return __hi; - } - if (!_M_widen_ok) - _M_widen_init(); - return this->do_widen(__lo, __hi, __to); - } -# 938 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char - narrow(char_type __c, char __dfault) const - { - if (_M_narrow[static_cast(__c)]) - return _M_narrow[static_cast(__c)]; - const char __t = do_narrow(__c, __dfault); - if (__t != __dfault) - _M_narrow[static_cast(__c)] = __t; - return __t; - } -# 971 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char_type* - narrow(const char_type* __lo, const char_type* __hi, - char __dfault, char* __to) const - { - if (__builtin_expect(_M_narrow_ok == 1, true)) - { - if (__builtin_expect(__hi != __lo, true)) - __builtin_memcpy(__to, __lo, __hi - __lo); - return __hi; - } - if (!_M_narrow_ok) - _M_narrow_init(); - return this->do_narrow(__lo, __hi, __dfault, __to); - } - - - - - - const mask* - table() const throw() - { return _M_table; } - - - static const mask* - classic_table() throw(); - protected: - - - - - - - - virtual - ~ctype(); -# 1021 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_toupper(char_type __c) const; -# 1038 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_toupper(char_type* __lo, const char_type* __hi) const; -# 1054 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_tolower(char_type __c) const; -# 1071 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_tolower(char_type* __lo, const char_type* __hi) const; -# 1091 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_widen(char __c) const - { return __c; } -# 1114 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char* - do_widen(const char* __lo, const char* __hi, char_type* __to) const - { - if (__builtin_expect(__hi != __lo, true)) - __builtin_memcpy(__to, __lo, __hi - __lo); - return __hi; - } -# 1141 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char - do_narrow(char_type __c, char __dfault __attribute__((__unused__))) const - { return __c; } -# 1167 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_narrow(const char_type* __lo, const char_type* __hi, - char __dfault __attribute__((__unused__)), char* __to) const - { - if (__builtin_expect(__hi != __lo, true)) - __builtin_memcpy(__to, __lo, __hi - __lo); - return __hi; - } - - private: - void _M_narrow_init() const; - void _M_widen_init() const; - }; -# 1193 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - template<> - class ctype : public __ctype_abstract_base - { - public: - - - typedef wchar_t char_type; - typedef wctype_t __wmask_type; - - protected: - __c_locale _M_c_locale_ctype; - - - bool _M_narrow_ok; - char _M_narrow[128]; - wint_t _M_widen[1 + static_cast(-1)]; - - - mask _M_bit[16]; - __wmask_type _M_wmask[16]; - - public: - - - static locale::id id; -# 1226 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - explicit - ctype(size_t __refs = 0); -# 1237 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - explicit - ctype(__c_locale __cloc, size_t __refs = 0); - - protected: - __wmask_type - _M_convert_to_wmask(const mask __m) const throw(); - - - virtual - ~ctype(); -# 1261 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual bool - do_is(mask __m, char_type __c) const; -# 1280 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const; -# 1298 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const; -# 1316 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_scan_not(mask __m, const char_type* __lo, - const char_type* __hi) const; -# 1333 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_toupper(char_type __c) const; -# 1350 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_toupper(char_type* __lo, const char_type* __hi) const; -# 1366 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_tolower(char_type __c) const; -# 1383 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_tolower(char_type* __lo, const char_type* __hi) const; -# 1403 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_widen(char __c) const; -# 1425 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char* - do_widen(const char* __lo, const char* __hi, char_type* __to) const; -# 1448 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char - do_narrow(char_type __c, char __dfault) const; -# 1474 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_narrow(const char_type* __lo, const char_type* __hi, - char __dfault, char* __to) const; - - - void - _M_initialize_ctype() throw(); - }; - - - - template - class ctype_byname : public ctype<_CharT> - { - public: - typedef typename ctype<_CharT>::mask mask; - - explicit - ctype_byname(const char* __s, size_t __refs = 0); - - - explicit - ctype_byname(const string& __s, size_t __refs = 0) - : ctype_byname(__s.c_str(), __refs) { } - - - protected: - virtual - ~ctype_byname() { } - }; - - - template<> - class ctype_byname : public ctype - { - public: - explicit - ctype_byname(const char* __s, size_t __refs = 0); - - - explicit - ctype_byname(const string& __s, size_t __refs = 0); - - - protected: - virtual - ~ctype_byname(); - }; - - - template<> - class ctype_byname : public ctype - { - public: - explicit - ctype_byname(const char* __s, size_t __refs = 0); - - - explicit - ctype_byname(const string& __s, size_t __refs = 0); - - - protected: - virtual - ~ctype_byname(); - }; - - - -} - - -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/ctype_inline.h" 1 3 -# 37 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/ctype_inline.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - bool - ctype:: - is(mask __m, char __c) const - { return _M_table[static_cast(__c)] & __m; } - - const char* - ctype:: - is(const char* __low, const char* __high, mask* __vec) const - { - while (__low < __high) - *__vec++ = _M_table[static_cast(*__low++)]; - return __high; - } - - const char* - ctype:: - scan_is(mask __m, const char* __low, const char* __high) const - { - while (__low < __high - && !(_M_table[static_cast(*__low)] & __m)) - ++__low; - return __low; - } - - const char* - ctype:: - scan_not(mask __m, const char* __low, const char* __high) const - { - while (__low < __high - && (_M_table[static_cast(*__low)] & __m) != 0) - ++__low; - return __low; - } - - -} -# 1547 "/usr/include/c++/14.1.1/bits/locale_facets.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - class __num_base - { - public: - - - enum - { - _S_ominus, - _S_oplus, - _S_ox, - _S_oX, - _S_odigits, - _S_odigits_end = _S_odigits + 16, - _S_oudigits = _S_odigits_end, - _S_oudigits_end = _S_oudigits + 16, - _S_oe = _S_odigits + 14, - _S_oE = _S_oudigits + 14, - _S_oend = _S_oudigits_end - }; - - - - - - - static const char* _S_atoms_out; - - - - static const char* _S_atoms_in; - - enum - { - _S_iminus, - _S_iplus, - _S_ix, - _S_iX, - _S_izero, - _S_ie = _S_izero + 14, - _S_iE = _S_izero + 20, - _S_iend = 26 - }; - - - - static void - _S_format_float(const ios_base& __io, char* __fptr, char __mod) throw(); - }; - - template - struct __numpunct_cache : public locale::facet - { - const char* _M_grouping; - size_t _M_grouping_size; - bool _M_use_grouping; - const _CharT* _M_truename; - size_t _M_truename_size; - const _CharT* _M_falsename; - size_t _M_falsename_size; - _CharT _M_decimal_point; - _CharT _M_thousands_sep; - - - - - - _CharT _M_atoms_out[__num_base::_S_oend]; - - - - - - _CharT _M_atoms_in[__num_base::_S_iend]; - - bool _M_allocated; - - __numpunct_cache(size_t __refs = 0) - : facet(__refs), _M_grouping(0), _M_grouping_size(0), - _M_use_grouping(false), - _M_truename(0), _M_truename_size(0), _M_falsename(0), - _M_falsename_size(0), _M_decimal_point(_CharT()), - _M_thousands_sep(_CharT()), _M_allocated(false) - { } - - ~__numpunct_cache(); - - void - _M_cache(const locale& __loc); - - private: - __numpunct_cache& - operator=(const __numpunct_cache&); - - explicit - __numpunct_cache(const __numpunct_cache&); - }; - - template - __numpunct_cache<_CharT>::~__numpunct_cache() - { - if (_M_allocated) - { - delete [] _M_grouping; - delete [] _M_truename; - delete [] _M_falsename; - } - } - -namespace __cxx11 { -# 1677 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - template - class numpunct : public locale::facet - { - public: - - - - typedef _CharT char_type; - typedef basic_string<_CharT> string_type; - - typedef __numpunct_cache<_CharT> __cache_type; - - protected: - __cache_type* _M_data; - - public: - - static locale::id id; - - - - - - - explicit - numpunct(size_t __refs = 0) - : facet(__refs), _M_data(0) - { _M_initialize_numpunct(); } -# 1715 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - explicit - numpunct(__cache_type* __cache, size_t __refs = 0) - : facet(__refs), _M_data(__cache) - { _M_initialize_numpunct(); } -# 1729 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - explicit - numpunct(__c_locale __cloc, size_t __refs = 0) - : facet(__refs), _M_data(0) - { _M_initialize_numpunct(__cloc); } -# 1743 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char_type - decimal_point() const - { return this->do_decimal_point(); } -# 1756 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char_type - thousands_sep() const - { return this->do_thousands_sep(); } -# 1787 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - string - grouping() const - { return this->do_grouping(); } -# 1800 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - string_type - truename() const - { return this->do_truename(); } -# 1813 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - string_type - falsename() const - { return this->do_falsename(); } - - protected: - - virtual - ~numpunct(); -# 1830 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_decimal_point() const - { return _M_data->_M_decimal_point; } -# 1842 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_thousands_sep() const - { return _M_data->_M_thousands_sep; } -# 1855 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual string - do_grouping() const - { return _M_data->_M_grouping; } -# 1868 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual string_type - do_truename() const - { return _M_data->_M_truename; } -# 1881 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual string_type - do_falsename() const - { return _M_data->_M_falsename; } - - - void - _M_initialize_numpunct(__c_locale __cloc = 0); - }; - - template - locale::id numpunct<_CharT>::id; - - template<> - numpunct::~numpunct(); - - template<> - void - numpunct::_M_initialize_numpunct(__c_locale __cloc); - - - template<> - numpunct::~numpunct(); - - template<> - void - numpunct::_M_initialize_numpunct(__c_locale __cloc); - - - - template - class numpunct_byname : public numpunct<_CharT> - { - public: - typedef _CharT char_type; - typedef basic_string<_CharT> string_type; - - explicit - numpunct_byname(const char* __s, size_t __refs = 0) - : numpunct<_CharT>(__refs) - { - if (__builtin_strcmp(__s, "C") != 0 - && __builtin_strcmp(__s, "POSIX") != 0) - { - __c_locale __tmp; - this->_S_create_c_locale(__tmp, __s); - this->_M_initialize_numpunct(__tmp); - this->_S_destroy_c_locale(__tmp); - } - } - - - explicit - numpunct_byname(const string& __s, size_t __refs = 0) - : numpunct_byname(__s.c_str(), __refs) { } - - - protected: - virtual - ~numpunct_byname() { } - }; - -} - - -# 1959 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - template - class num_get : public locale::facet - { - public: - - - - typedef _CharT char_type; - typedef _InIter iter_type; - - - - static locale::id id; -# 1980 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - explicit - num_get(size_t __refs = 0) : facet(__refs) { } -# 2006 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, bool& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } -# 2043 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, long& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } - - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, unsigned short& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } - - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, unsigned int& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } - - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, unsigned long& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } - - - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, long long& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } - - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, unsigned long long& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } -# 2103 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, float& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } - - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, double& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } - - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, long double& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } -# 2146 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, void*& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } - - protected: - - virtual ~num_get() { } - - __attribute ((__abi_tag__ ("cxx11"))) - iter_type - _M_extract_float(iter_type, iter_type, ios_base&, ios_base::iostate&, - string&) const; - - template - __attribute ((__abi_tag__ ("cxx11"))) - iter_type - _M_extract_int(iter_type, iter_type, ios_base&, ios_base::iostate&, - _ValueT&) const; - - template - typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, int>::__type - _M_find(const _CharT2*, size_t __len, _CharT2 __c) const - { - int __ret = -1; - if (__len <= 10) - { - if (__c >= _CharT2('0') && __c < _CharT2(_CharT2('0') + __len)) - __ret = __c - _CharT2('0'); - } - else - { - if (__c >= _CharT2('0') && __c <= _CharT2('9')) - __ret = __c - _CharT2('0'); - else if (__c >= _CharT2('a') && __c <= _CharT2('f')) - __ret = 10 + (__c - _CharT2('a')); - else if (__c >= _CharT2('A') && __c <= _CharT2('F')) - __ret = 10 + (__c - _CharT2('A')); - } - return __ret; - } - - template - typename __gnu_cxx::__enable_if::__value, - int>::__type - _M_find(const _CharT2* __zero, size_t __len, _CharT2 __c) const - { - int __ret = -1; - const char_type* __q = char_traits<_CharT2>::find(__zero, __len, __c); - if (__q) - { - __ret = __q - __zero; - if (__ret > 15) - __ret -= 6; - } - return __ret; - } -# 2219 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual iter_type - do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&) const; - - virtual iter_type - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, long& __v) const - { return _M_extract_int(__beg, __end, __io, __err, __v); } - - virtual iter_type - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, unsigned short& __v) const - { return _M_extract_int(__beg, __end, __io, __err, __v); } - - virtual iter_type - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, unsigned int& __v) const - { return _M_extract_int(__beg, __end, __io, __err, __v); } - - virtual iter_type - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, unsigned long& __v) const - { return _M_extract_int(__beg, __end, __io, __err, __v); } - - - virtual iter_type - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, long long& __v) const - { return _M_extract_int(__beg, __end, __io, __err, __v); } - - virtual iter_type - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, unsigned long long& __v) const - { return _M_extract_int(__beg, __end, __io, __err, __v); } - - - virtual iter_type - do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, float&) const; - - virtual iter_type - do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, - double&) const; -# 2271 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual iter_type - do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, - long double&) const; - - - virtual iter_type - do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, void*&) const; -# 2299 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - }; - - template - locale::id num_get<_CharT, _InIter>::id; -# 2317 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - template - class num_put : public locale::facet - { - public: - - - - typedef _CharT char_type; - typedef _OutIter iter_type; - - - - static locale::id id; -# 2338 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - explicit - num_put(size_t __refs = 0) : facet(__refs) { } -# 2356 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const - { return this->do_put(__s, __io, __fill, __v); } -# 2398 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, long __v) const - { return this->do_put(__s, __io, __fill, __v); } - - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, - unsigned long __v) const - { return this->do_put(__s, __io, __fill, __v); } - - - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, long long __v) const - { return this->do_put(__s, __io, __fill, __v); } - - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, - unsigned long long __v) const - { return this->do_put(__s, __io, __fill, __v); } -# 2461 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, double __v) const - { return this->do_put(__s, __io, __fill, __v); } - - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, - long double __v) const - { return this->do_put(__s, __io, __fill, __v); } -# 2486 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, - const void* __v) const - { return this->do_put(__s, __io, __fill, __v); } - - protected: - template - iter_type - _M_insert_float(iter_type, ios_base& __io, char_type __fill, - char __mod, _ValueT __v) const; - - void - _M_group_float(const char* __grouping, size_t __grouping_size, - char_type __sep, const char_type* __p, char_type* __new, - char_type* __cs, int& __len) const; - - template - iter_type - _M_insert_int(iter_type, ios_base& __io, char_type __fill, - _ValueT __v) const; - - void - _M_group_int(const char* __grouping, size_t __grouping_size, - char_type __sep, ios_base& __io, char_type* __new, - char_type* __cs, int& __len) const; - - void - _M_pad(char_type __fill, streamsize __w, ios_base& __io, - char_type* __new, const char_type* __cs, int& __len) const; - - - virtual - ~num_put() { } -# 2534 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual iter_type - do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const; - - virtual iter_type - do_put(iter_type __s, ios_base& __io, char_type __fill, long __v) const - { return _M_insert_int(__s, __io, __fill, __v); } - - virtual iter_type - do_put(iter_type __s, ios_base& __io, char_type __fill, - unsigned long __v) const - { return _M_insert_int(__s, __io, __fill, __v); } - - - virtual iter_type - do_put(iter_type __s, ios_base& __io, char_type __fill, - long long __v) const - { return _M_insert_int(__s, __io, __fill, __v); } - - virtual iter_type - do_put(iter_type __s, ios_base& __io, char_type __fill, - unsigned long long __v) const - { return _M_insert_int(__s, __io, __fill, __v); } - - - virtual iter_type - do_put(iter_type, ios_base&, char_type, double) const; - - - - - - - virtual iter_type - do_put(iter_type, ios_base&, char_type, long double) const; - - - virtual iter_type - do_put(iter_type, ios_base&, char_type, const void*) const; -# 2586 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - }; - - template - locale::id num_put<_CharT, _OutIter>::id; - - - - - - - - - - template - inline bool - isspace(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::space, __c); } - - - template - inline bool - isprint(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::print, __c); } - - - template - inline bool - iscntrl(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::cntrl, __c); } - - - template - inline bool - isupper(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::upper, __c); } - - - template - inline bool - islower(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::lower, __c); } - - - template - inline bool - isalpha(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::alpha, __c); } - - - template - inline bool - isdigit(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::digit, __c); } - - - template - inline bool - ispunct(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::punct, __c); } - - - template - inline bool - isxdigit(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::xdigit, __c); } - - - template - inline bool - isalnum(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::alnum, __c); } - - - template - inline bool - isgraph(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::graph, __c); } - - - - template - inline bool - isblank(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::blank, __c); } - - - - template - inline _CharT - toupper(_CharT __c, const locale& __loc) - { return use_facet >(__loc).toupper(__c); } - - - template - inline _CharT - tolower(_CharT __c, const locale& __loc) - { return use_facet >(__loc).tolower(__c); } - - -} - -# 1 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - -# 34 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - template - struct __use_cache - { - const _Facet* - operator() (const locale& __loc) const; - }; - - - template - struct __use_cache<__numpunct_cache<_CharT> > - { - const __numpunct_cache<_CharT>* - operator() (const locale& __loc) const - { - const size_t __i = numpunct<_CharT>::id._M_id(); - const locale::facet** __caches = __loc._M_impl->_M_caches; - if (!__caches[__i]) - { - __numpunct_cache<_CharT>* __tmp = 0; - try - { - __tmp = new __numpunct_cache<_CharT>; - __tmp->_M_cache(__loc); - } - catch(...) - { - delete __tmp; - throw; - } - __loc._M_impl->_M_install_cache(__tmp, __i); - } - return static_cast*>(__caches[__i]); - } - }; - - template - void - __numpunct_cache<_CharT>::_M_cache(const locale& __loc) - { - const numpunct<_CharT>& __np = use_facet >(__loc); - - char* __grouping = 0; - _CharT* __truename = 0; - _CharT* __falsename = 0; - try - { - const string& __g = __np.grouping(); - _M_grouping_size = __g.size(); - __grouping = new char[_M_grouping_size]; - __g.copy(__grouping, _M_grouping_size); - _M_use_grouping = (_M_grouping_size - && static_cast(__grouping[0]) > 0 - && (__grouping[0] - != __gnu_cxx::__numeric_traits::__max)); - - const basic_string<_CharT>& __tn = __np.truename(); - _M_truename_size = __tn.size(); - __truename = new _CharT[_M_truename_size]; - __tn.copy(__truename, _M_truename_size); - - const basic_string<_CharT>& __fn = __np.falsename(); - _M_falsename_size = __fn.size(); - __falsename = new _CharT[_M_falsename_size]; - __fn.copy(__falsename, _M_falsename_size); - - _M_decimal_point = __np.decimal_point(); - _M_thousands_sep = __np.thousands_sep(); - - const ctype<_CharT>& __ct = use_facet >(__loc); - __ct.widen(__num_base::_S_atoms_out, - __num_base::_S_atoms_out - + __num_base::_S_oend, _M_atoms_out); - __ct.widen(__num_base::_S_atoms_in, - __num_base::_S_atoms_in - + __num_base::_S_iend, _M_atoms_in); - - _M_grouping = __grouping; - _M_truename = __truename; - _M_falsename = __falsename; - _M_allocated = true; - } - catch(...) - { - delete [] __grouping; - delete [] __truename; - delete [] __falsename; - throw; - } - } -# 139 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - __attribute__ ((__pure__)) bool - __verify_grouping(const char* __grouping, size_t __grouping_size, - const string& __grouping_tmp) throw (); - - - - template - __attribute ((__abi_tag__ ("cxx11"))) - _InIter - num_get<_CharT, _InIter>:: - _M_extract_float(_InIter __beg, _InIter __end, ios_base& __io, - ios_base::iostate& __err, string& __xtrc) const - { - typedef char_traits<_CharT> __traits_type; - typedef __numpunct_cache<_CharT> __cache_type; - __use_cache<__cache_type> __uc; - const locale& __loc = __io._M_getloc(); - const __cache_type* __lc = __uc(__loc); - const _CharT* __lit = __lc->_M_atoms_in; - char_type __c = char_type(); - - - bool __testeof = __beg == __end; - - - if (!__testeof) - { - __c = *__beg; - const bool __plus = __c == __lit[__num_base::_S_iplus]; - if ((__plus || __c == __lit[__num_base::_S_iminus]) - && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) - && !(__c == __lc->_M_decimal_point)) - { - __xtrc += __plus ? '+' : '-'; - if (++__beg != __end) - __c = *__beg; - else - __testeof = true; - } - } - - - bool __found_mantissa = false; - int __sep_pos = 0; - while (!__testeof) - { - if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) - || __c == __lc->_M_decimal_point) - break; - else if (__c == __lit[__num_base::_S_izero]) - { - if (!__found_mantissa) - { - __xtrc += '0'; - __found_mantissa = true; - } - ++__sep_pos; - - if (++__beg != __end) - __c = *__beg; - else - __testeof = true; - } - else - break; - } - - - bool __found_dec = false; - bool __found_sci = false; - string __found_grouping; - if (__lc->_M_use_grouping) - __found_grouping.reserve(32); - const char_type* __lit_zero = __lit + __num_base::_S_izero; - - if (!__lc->_M_allocated) - - while (!__testeof) - { - const int __digit = _M_find(__lit_zero, 10, __c); - if (__digit != -1) - { - __xtrc += '0' + __digit; - __found_mantissa = true; - } - else if (__c == __lc->_M_decimal_point - && !__found_dec && !__found_sci) - { - __xtrc += '.'; - __found_dec = true; - } - else if ((__c == __lit[__num_base::_S_ie] - || __c == __lit[__num_base::_S_iE]) - && !__found_sci && __found_mantissa) - { - - __xtrc += 'e'; - __found_sci = true; - - - if (++__beg != __end) - { - __c = *__beg; - const bool __plus = __c == __lit[__num_base::_S_iplus]; - if (__plus || __c == __lit[__num_base::_S_iminus]) - __xtrc += __plus ? '+' : '-'; - else - continue; - } - else - { - __testeof = true; - break; - } - } - else - break; - - if (++__beg != __end) - __c = *__beg; - else - __testeof = true; - } - else - while (!__testeof) - { - - - if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) - { - if (!__found_dec && !__found_sci) - { - - - if (__sep_pos) - { - __found_grouping += static_cast(__sep_pos); - __sep_pos = 0; - } - else - { - - - __xtrc.clear(); - break; - } - } - else - break; - } - else if (__c == __lc->_M_decimal_point) - { - if (!__found_dec && !__found_sci) - { - - - - if (__found_grouping.size()) - __found_grouping += static_cast(__sep_pos); - __xtrc += '.'; - __found_dec = true; - } - else - break; - } - else - { - const char_type* __q = - __traits_type::find(__lit_zero, 10, __c); - if (__q) - { - __xtrc += '0' + (__q - __lit_zero); - __found_mantissa = true; - ++__sep_pos; - } - else if ((__c == __lit[__num_base::_S_ie] - || __c == __lit[__num_base::_S_iE]) - && !__found_sci && __found_mantissa) - { - - if (__found_grouping.size() && !__found_dec) - __found_grouping += static_cast(__sep_pos); - __xtrc += 'e'; - __found_sci = true; - - - if (++__beg != __end) - { - __c = *__beg; - const bool __plus = __c == __lit[__num_base::_S_iplus]; - if ((__plus || __c == __lit[__num_base::_S_iminus]) - && !(__lc->_M_use_grouping - && __c == __lc->_M_thousands_sep) - && !(__c == __lc->_M_decimal_point)) - __xtrc += __plus ? '+' : '-'; - else - continue; - } - else - { - __testeof = true; - break; - } - } - else - break; - } - - if (++__beg != __end) - __c = *__beg; - else - __testeof = true; - } - - - - if (__found_grouping.size()) - { - - if (!__found_dec && !__found_sci) - __found_grouping += static_cast(__sep_pos); - - if (!std::__verify_grouping(__lc->_M_grouping, - __lc->_M_grouping_size, - __found_grouping)) - __err = ios_base::failbit; - } - - return __beg; - } - - template - template - __attribute ((__abi_tag__ ("cxx11"))) - _InIter - num_get<_CharT, _InIter>:: - _M_extract_int(_InIter __beg, _InIter __end, ios_base& __io, - ios_base::iostate& __err, _ValueT& __v) const - { - typedef char_traits<_CharT> __traits_type; - using __gnu_cxx::__add_unsigned; - typedef typename __add_unsigned<_ValueT>::__type __unsigned_type; - typedef __numpunct_cache<_CharT> __cache_type; - __use_cache<__cache_type> __uc; - const locale& __loc = __io._M_getloc(); - const __cache_type* __lc = __uc(__loc); - const _CharT* __lit = __lc->_M_atoms_in; - char_type __c = char_type(); - - - const ios_base::fmtflags __basefield = __io.flags() - & ios_base::basefield; - const bool __oct = __basefield == ios_base::oct; - int __base = __oct ? 8 : (__basefield == ios_base::hex ? 16 : 10); - - - bool __testeof = __beg == __end; - - - bool __negative = false; - if (!__testeof) - { - __c = *__beg; - __negative = __c == __lit[__num_base::_S_iminus]; - if ((__negative || __c == __lit[__num_base::_S_iplus]) - && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) - && !(__c == __lc->_M_decimal_point)) - { - if (++__beg != __end) - __c = *__beg; - else - __testeof = true; - } - } - - - - bool __found_zero = false; - int __sep_pos = 0; - while (!__testeof) - { - if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) - || __c == __lc->_M_decimal_point) - break; - else if (__c == __lit[__num_base::_S_izero] - && (!__found_zero || __base == 10)) - { - __found_zero = true; - ++__sep_pos; - if (__basefield == 0) - __base = 8; - if (__base == 8) - __sep_pos = 0; - } - else if (__found_zero - && (__c == __lit[__num_base::_S_ix] - || __c == __lit[__num_base::_S_iX])) - { - if (__basefield == 0) - __base = 16; - if (__base == 16) - { - __found_zero = false; - __sep_pos = 0; - } - else - break; - } - else - break; - - if (++__beg != __end) - { - __c = *__beg; - if (!__found_zero) - break; - } - else - __testeof = true; - } - - - - const size_t __len = (__base == 16 ? __num_base::_S_iend - - __num_base::_S_izero : __base); - - - typedef __gnu_cxx::__numeric_traits<_ValueT> __num_traits; - string __found_grouping; - if (__lc->_M_use_grouping) - __found_grouping.reserve(32); - bool __testfail = false; - bool __testoverflow = false; - const __unsigned_type __max = - (__negative && __num_traits::__is_signed) - ? -static_cast<__unsigned_type>(__num_traits::__min) - : __num_traits::__max; - const __unsigned_type __smax = __max / __base; - __unsigned_type __result = 0; - int __digit = 0; - const char_type* __lit_zero = __lit + __num_base::_S_izero; - - if (!__lc->_M_allocated) - - while (!__testeof) - { - __digit = _M_find(__lit_zero, __len, __c); - if (__digit == -1) - break; - - if (__result > __smax) - __testoverflow = true; - else - { - __result *= __base; - __testoverflow |= __result > __max - __digit; - __result += __digit; - ++__sep_pos; - } - - if (++__beg != __end) - __c = *__beg; - else - __testeof = true; - } - else - while (!__testeof) - { - - - if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) - { - - - if (__sep_pos) - { - __found_grouping += static_cast(__sep_pos); - __sep_pos = 0; - } - else - { - __testfail = true; - break; - } - } - else if (__c == __lc->_M_decimal_point) - break; - else - { - const char_type* __q = - __traits_type::find(__lit_zero, __len, __c); - if (!__q) - break; - - __digit = __q - __lit_zero; - if (__digit > 15) - __digit -= 6; - if (__result > __smax) - __testoverflow = true; - else - { - __result *= __base; - __testoverflow |= __result > __max - __digit; - __result += __digit; - ++__sep_pos; - } - } - - if (++__beg != __end) - __c = *__beg; - else - __testeof = true; - } - - - - if (__found_grouping.size()) - { - - __found_grouping += static_cast(__sep_pos); - - if (!std::__verify_grouping(__lc->_M_grouping, - __lc->_M_grouping_size, - __found_grouping)) - __err = ios_base::failbit; - } - - - - if ((!__sep_pos && !__found_zero && !__found_grouping.size()) - || __testfail) - { - __v = 0; - __err = ios_base::failbit; - } - else if (__testoverflow) - { - if (__negative && __num_traits::__is_signed) - __v = __num_traits::__min; - else - __v = __num_traits::__max; - __err = ios_base::failbit; - } - else - __v = __negative ? -__result : __result; - - if (__testeof) - __err |= ios_base::eofbit; - return __beg; - } - - - - template - _InIter - num_get<_CharT, _InIter>:: - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, bool& __v) const - { - if (!(__io.flags() & ios_base::boolalpha)) - { - - - - long __l = -1; - __beg = _M_extract_int(__beg, __end, __io, __err, __l); - if (__l == 0 || __l == 1) - __v = bool(__l); - else - { - - - __v = true; - __err = ios_base::failbit; - if (__beg == __end) - __err |= ios_base::eofbit; - } - } - else - { - - typedef __numpunct_cache<_CharT> __cache_type; - __use_cache<__cache_type> __uc; - const locale& __loc = __io._M_getloc(); - const __cache_type* __lc = __uc(__loc); - - bool __testf = true; - bool __testt = true; - bool __donef = __lc->_M_falsename_size == 0; - bool __donet = __lc->_M_truename_size == 0; - bool __testeof = false; - size_t __n = 0; - while (!__donef || !__donet) - { - if (__beg == __end) - { - __testeof = true; - break; - } - - const char_type __c = *__beg; - - if (!__donef) - __testf = __c == __lc->_M_falsename[__n]; - - if (!__testf && __donet) - break; - - if (!__donet) - __testt = __c == __lc->_M_truename[__n]; - - if (!__testt && __donef) - break; - - if (!__testt && !__testf) - break; - - ++__n; - ++__beg; - - __donef = !__testf || __n >= __lc->_M_falsename_size; - __donet = !__testt || __n >= __lc->_M_truename_size; - } - if (__testf && __n == __lc->_M_falsename_size && __n) - { - __v = false; - if (__testt && __n == __lc->_M_truename_size) - __err = ios_base::failbit; - else - __err = __testeof ? ios_base::eofbit : ios_base::goodbit; - } - else if (__testt && __n == __lc->_M_truename_size && __n) - { - __v = true; - __err = __testeof ? ios_base::eofbit : ios_base::goodbit; - } - else - { - - - __v = false; - __err = ios_base::failbit; - if (__testeof) - __err |= ios_base::eofbit; - } - } - return __beg; - } - - template - _InIter - num_get<_CharT, _InIter>:: - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, float& __v) const - { - string __xtrc; - __xtrc.reserve(32); - __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); - std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); - if (__beg == __end) - __err |= ios_base::eofbit; - return __beg; - } - - template - _InIter - num_get<_CharT, _InIter>:: - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, double& __v) const - { - string __xtrc; - __xtrc.reserve(32); - __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); - std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); - if (__beg == __end) - __err |= ios_base::eofbit; - return __beg; - } -# 735 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - template - _InIter - num_get<_CharT, _InIter>:: - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, long double& __v) const - { - string __xtrc; - __xtrc.reserve(32); - __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); - std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); - if (__beg == __end) - __err |= ios_base::eofbit; - return __beg; - } - - template - _InIter - num_get<_CharT, _InIter>:: - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, void*& __v) const - { - - typedef ios_base::fmtflags fmtflags; - const fmtflags __fmt = __io.flags(); - __io.flags((__fmt & ~ios_base::basefield) | ios_base::hex); - - typedef __gnu_cxx::__conditional_type<(sizeof(void*) - <= sizeof(unsigned long)), - unsigned long, unsigned long long>::__type _UIntPtrType; - - _UIntPtrType __ul; - __beg = _M_extract_int(__beg, __end, __io, __err, __ul); - - - __io.flags(__fmt); - - __v = reinterpret_cast(__ul); - return __beg; - } -# 795 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - template - void - num_put<_CharT, _OutIter>:: - _M_pad(_CharT __fill, streamsize __w, ios_base& __io, - _CharT* __new, const _CharT* __cs, int& __len) const - { - - - __pad<_CharT, char_traits<_CharT> >::_S_pad(__io, __fill, __new, - __cs, __w, __len); - __len = static_cast(__w); - } - - - - template - int - __int_to_char(_CharT* __bufend, _ValueT __v, const _CharT* __lit, - ios_base::fmtflags __flags, bool __dec) - { - _CharT* __buf = __bufend; - if (__builtin_expect(__dec, true)) - { - - do - { - *--__buf = __lit[(__v % 10) + __num_base::_S_odigits]; - __v /= 10; - } - while (__v != 0); - } - else if ((__flags & ios_base::basefield) == ios_base::oct) - { - - do - { - *--__buf = __lit[(__v & 0x7) + __num_base::_S_odigits]; - __v >>= 3; - } - while (__v != 0); - } - else - { - - const bool __uppercase = __flags & ios_base::uppercase; - const int __case_offset = __uppercase ? __num_base::_S_oudigits - : __num_base::_S_odigits; - do - { - *--__buf = __lit[(__v & 0xf) + __case_offset]; - __v >>= 4; - } - while (__v != 0); - } - return __bufend - __buf; - } - - - - template - void - num_put<_CharT, _OutIter>:: - _M_group_int(const char* __grouping, size_t __grouping_size, _CharT __sep, - ios_base&, _CharT* __new, _CharT* __cs, int& __len) const - { - _CharT* __p = std::__add_grouping(__new, __sep, __grouping, - __grouping_size, __cs, __cs + __len); - __len = __p - __new; - } - - template - template - _OutIter - num_put<_CharT, _OutIter>:: - _M_insert_int(_OutIter __s, ios_base& __io, _CharT __fill, - _ValueT __v) const - { - using __gnu_cxx::__add_unsigned; - typedef typename __add_unsigned<_ValueT>::__type __unsigned_type; - typedef __numpunct_cache<_CharT> __cache_type; - __use_cache<__cache_type> __uc; - const locale& __loc = __io._M_getloc(); - const __cache_type* __lc = __uc(__loc); - const _CharT* __lit = __lc->_M_atoms_out; - const ios_base::fmtflags __flags = __io.flags(); - - - const int __ilen = 5 * sizeof(_ValueT); - _CharT* __cs = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) - * __ilen)); - - - - const ios_base::fmtflags __basefield = __flags & ios_base::basefield; - const bool __dec = (__basefield != ios_base::oct - && __basefield != ios_base::hex); - const __unsigned_type __u = ((__v > 0 || !__dec) - ? __unsigned_type(__v) - : -__unsigned_type(__v)); - int __len = __int_to_char(__cs + __ilen, __u, __lit, __flags, __dec); - __cs += __ilen - __len; - - - if (__lc->_M_use_grouping) - { - - - _CharT* __cs2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) - * (__len + 1) - * 2)); - _M_group_int(__lc->_M_grouping, __lc->_M_grouping_size, - __lc->_M_thousands_sep, __io, __cs2 + 2, __cs, __len); - __cs = __cs2 + 2; - } - - - if (__builtin_expect(__dec, true)) - { - - if (__v >= 0) - { - if (bool(__flags & ios_base::showpos) - && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed) - *--__cs = __lit[__num_base::_S_oplus], ++__len; - } - else - *--__cs = __lit[__num_base::_S_ominus], ++__len; - } - else if (bool(__flags & ios_base::showbase) && __v) - { - if (__basefield == ios_base::oct) - *--__cs = __lit[__num_base::_S_odigits], ++__len; - else - { - - const bool __uppercase = __flags & ios_base::uppercase; - *--__cs = __lit[__num_base::_S_ox + __uppercase]; - - *--__cs = __lit[__num_base::_S_odigits]; - __len += 2; - } - } - - - const streamsize __w = __io.width(); - if (__w > static_cast(__len)) - { - _CharT* __cs3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) - * __w)); - _M_pad(__fill, __w, __io, __cs3, __cs, __len); - __cs = __cs3; - } - __io.width(0); - - - - return std::__write(__s, __cs, __len); - } - - template - void - num_put<_CharT, _OutIter>:: - _M_group_float(const char* __grouping, size_t __grouping_size, - _CharT __sep, const _CharT* __p, _CharT* __new, - _CharT* __cs, int& __len) const - { - - - - const int __declen = __p ? __p - __cs : __len; - _CharT* __p2 = std::__add_grouping(__new, __sep, __grouping, - __grouping_size, - __cs, __cs + __declen); - - - int __newlen = __p2 - __new; - if (__p) - { - char_traits<_CharT>::copy(__p2, __p, __len - __declen); - __newlen += __len - __declen; - } - __len = __newlen; - } -# 989 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - template - template - _OutIter - num_put<_CharT, _OutIter>:: - _M_insert_float(_OutIter __s, ios_base& __io, _CharT __fill, char __mod, - _ValueT __v) const - { - typedef __numpunct_cache<_CharT> __cache_type; - __use_cache<__cache_type> __uc; - const locale& __loc = __io._M_getloc(); - const __cache_type* __lc = __uc(__loc); - - - const streamsize __prec = __io.precision() < 0 ? 6 : __io.precision(); - - const int __max_digits = - __gnu_cxx::__numeric_traits<_ValueT>::__digits10; - - - int __len; - - char __fbuf[16]; - __num_base::_S_format_float(__io, __fbuf, __mod); - - - - const bool __use_prec = - (__io.flags() & ios_base::floatfield) != ios_base::floatfield; - - - - int __cs_size = __max_digits * 3; - char* __cs = static_cast(__builtin_alloca(__cs_size)); - if (__use_prec) - __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, - __fbuf, __prec, __v); - else - __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, - __fbuf, __v); - - - if (__len >= __cs_size) - { - __cs_size = __len + 1; - __cs = static_cast(__builtin_alloca(__cs_size)); - if (__use_prec) - __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, - __fbuf, __prec, __v); - else - __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, - __fbuf, __v); - } -# 1062 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - const ctype<_CharT>& __ctype = use_facet >(__loc); - - _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) - * __len)); - __ctype.widen(__cs, __cs + __len, __ws); - - - _CharT* __wp = 0; - const char* __p = char_traits::find(__cs, __len, '.'); - if (__p) - { - __wp = __ws + (__p - __cs); - *__wp = __lc->_M_decimal_point; - } - - - - - if (__lc->_M_use_grouping - && (__wp || __len < 3 || (__cs[1] <= '9' && __cs[2] <= '9' - && __cs[1] >= '0' && __cs[2] >= '0'))) - { - - - _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) - * __len * 2)); - - streamsize __off = 0; - if (__cs[0] == '-' || __cs[0] == '+') - { - __off = 1; - __ws2[0] = __ws[0]; - __len -= 1; - } - - _M_group_float(__lc->_M_grouping, __lc->_M_grouping_size, - __lc->_M_thousands_sep, __wp, __ws2 + __off, - __ws + __off, __len); - __len += __off; - - __ws = __ws2; - } - - - const streamsize __w = __io.width(); - if (__w > static_cast(__len)) - { - _CharT* __ws3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) - * __w)); - _M_pad(__fill, __w, __io, __ws3, __ws, __len); - __ws = __ws3; - } - __io.width(0); - - - - return std::__write(__s, __ws, __len); - } - - template - _OutIter - num_put<_CharT, _OutIter>:: - do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const - { - const ios_base::fmtflags __flags = __io.flags(); - if ((__flags & ios_base::boolalpha) == 0) - { - const long __l = __v; - __s = _M_insert_int(__s, __io, __fill, __l); - } - else - { - typedef __numpunct_cache<_CharT> __cache_type; - __use_cache<__cache_type> __uc; - const locale& __loc = __io._M_getloc(); - const __cache_type* __lc = __uc(__loc); - - const _CharT* __name = __v ? __lc->_M_truename - : __lc->_M_falsename; - int __len = __v ? __lc->_M_truename_size - : __lc->_M_falsename_size; - - const streamsize __w = __io.width(); - if (__w > static_cast(__len)) - { - const streamsize __plen = __w - __len; - _CharT* __ps - = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) - * __plen)); - - char_traits<_CharT>::assign(__ps, __plen, __fill); - __io.width(0); - - if ((__flags & ios_base::adjustfield) == ios_base::left) - { - __s = std::__write(__s, __name, __len); - __s = std::__write(__s, __ps, __plen); - } - else - { - __s = std::__write(__s, __ps, __plen); - __s = std::__write(__s, __name, __len); - } - return __s; - } - __io.width(0); - __s = std::__write(__s, __name, __len); - } - return __s; - } - - template - _OutIter - num_put<_CharT, _OutIter>:: - do_put(iter_type __s, ios_base& __io, char_type __fill, double __v) const - { return _M_insert_float(__s, __io, __fill, char(), __v); } -# 1187 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - template - _OutIter - num_put<_CharT, _OutIter>:: - do_put(iter_type __s, ios_base& __io, char_type __fill, - long double __v) const - { return _M_insert_float(__s, __io, __fill, 'L', __v); } - - template - _OutIter - num_put<_CharT, _OutIter>:: - do_put(iter_type __s, ios_base& __io, char_type __fill, - const void* __v) const - { - const ios_base::fmtflags __flags = __io.flags(); - const ios_base::fmtflags __fmt = ~(ios_base::basefield - | ios_base::uppercase); - __io.flags((__flags & __fmt) | (ios_base::hex | ios_base::showbase)); - - typedef __gnu_cxx::__conditional_type<(sizeof(const void*) - <= sizeof(unsigned long)), - unsigned long, unsigned long long>::__type _UIntPtrType; - - __s = _M_insert_int(__s, __io, __fill, - reinterpret_cast<_UIntPtrType>(__v)); - __io.flags(__flags); - return __s; - } -# 1224 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - -# 1233 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - template - void - __pad<_CharT, _Traits>::_S_pad(ios_base& __io, _CharT __fill, - _CharT* __news, const _CharT* __olds, - streamsize __newlen, streamsize __oldlen) - { - const size_t __plen = static_cast(__newlen - __oldlen); - const ios_base::fmtflags __adjust = __io.flags() & ios_base::adjustfield; - - - if (__adjust == ios_base::left) - { - _Traits::copy(__news, __olds, __oldlen); - _Traits::assign(__news + __oldlen, __plen, __fill); - return; - } - - size_t __mod = 0; - if (__adjust == ios_base::internal) - { - - - - const locale& __loc = __io._M_getloc(); - const ctype<_CharT>& __ctype = use_facet >(__loc); - - if (__ctype.widen('-') == __olds[0] - || __ctype.widen('+') == __olds[0]) - { - __news[0] = __olds[0]; - __mod = 1; - ++__news; - } - else if (__ctype.widen('0') == __olds[0] - && __oldlen > 1 - && (__ctype.widen('x') == __olds[1] - || __ctype.widen('X') == __olds[1])) - { - __news[0] = __olds[0]; - __news[1] = __olds[1]; - __mod = 2; - __news += 2; - } - - } - _Traits::assign(__news, __plen, __fill); - _Traits::copy(__news + __plen, __olds + __mod, __oldlen - __mod); - } - - template - _CharT* - __add_grouping(_CharT* __s, _CharT __sep, - const char* __gbeg, size_t __gsize, - const _CharT* __first, const _CharT* __last) - { - size_t __idx = 0; - size_t __ctr = 0; - - while (__last - __first > __gbeg[__idx] - && static_cast(__gbeg[__idx]) > 0 - && __gbeg[__idx] != __gnu_cxx::__numeric_traits::__max) - { - __last -= __gbeg[__idx]; - __idx < __gsize - 1 ? ++__idx : ++__ctr; - } - - while (__first != __last) - *__s++ = *__first++; - - while (__ctr--) - { - *__s++ = __sep; - for (char __i = __gbeg[__idx]; __i > 0; --__i) - *__s++ = *__first++; - } - - while (__idx--) - { - *__s++ = __sep; - for (char __i = __gbeg[__idx]; __i > 0; --__i) - *__s++ = *__first++; - } - - return __s; - } - - - - - extern template class __cxx11:: numpunct; - extern template class __cxx11:: numpunct_byname; - extern template class num_get; - extern template class num_put; - extern template class ctype_byname; - - extern template - const ctype* - __try_use_facet >(const locale&) noexcept; - - extern template - const numpunct* - __try_use_facet >(const locale&) noexcept; - - extern template - const num_put* - __try_use_facet >(const locale&) noexcept; - - extern template - const num_get* - __try_use_facet >(const locale&) noexcept; - - extern template - const ctype& - use_facet >(const locale&); - - extern template - const numpunct& - use_facet >(const locale&); - - extern template - const num_put& - use_facet >(const locale&); - - extern template - const num_get& - use_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - - extern template class __cxx11:: numpunct; - extern template class __cxx11:: numpunct_byname; - extern template class num_get; - extern template class num_put; - extern template class ctype_byname; - - extern template - const ctype* - __try_use_facet >(const locale&) noexcept; - - extern template - const numpunct* - __try_use_facet >(const locale&) noexcept; - - extern template - const num_put* - __try_use_facet >(const locale&) noexcept; - - extern template - const num_get* - __try_use_facet >(const locale&) noexcept; - - extern template - const ctype& - use_facet >(const locale&); - - extern template - const numpunct& - use_facet >(const locale&); - - extern template - const num_put& - use_facet >(const locale&); - - extern template - const num_get& - use_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - - - -} -# 2688 "/usr/include/c++/14.1.1/bits/locale_facets.h" 2 3 -# 38 "/usr/include/c++/14.1.1/bits/basic_ios.h" 2 3 - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - inline const _Facet& - __check_facet(const _Facet* __f) - { - if (!__f) - __throw_bad_cast(); - return *__f; - } -# 66 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - template - class basic_ios : public ios_base - { - - static_assert(is_same_v<_CharT, typename _Traits::char_type>); - - - public: - - - - - - - typedef _CharT char_type; - typedef typename _Traits::int_type int_type; - typedef typename _Traits::pos_type pos_type; - typedef typename _Traits::off_type off_type; - typedef _Traits traits_type; - - - - - - - typedef ctype<_CharT> __ctype_type; - typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> > - __num_put_type; - typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> > - __num_get_type; - - - - protected: - basic_ostream<_CharT, _Traits>* _M_tie; - mutable char_type _M_fill; - mutable bool _M_fill_init; - basic_streambuf<_CharT, _Traits>* _M_streambuf; - - - const __ctype_type* _M_ctype; - - const __num_put_type* _M_num_put; - - const __num_get_type* _M_num_get; - - public: -# 121 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - explicit operator bool() const - { return !this->fail(); } - - - - - - bool - operator!() const - { return this->fail(); } -# 140 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - iostate - rdstate() const - { return _M_streambuf_state; } -# 151 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - void - clear(iostate __state = goodbit); - - - - - - - - void - setstate(iostate __state) - { this->clear(this->rdstate() | __state); } - - - - - void - _M_setstate(iostate __state) - { - - - _M_streambuf_state |= __state; - if (this->exceptions() & __state) - throw; - } - - - - - - - - bool - good() const - { return this->rdstate() == 0; } - - - - - - - - bool - eof() const - { return (this->rdstate() & eofbit) != 0; } -# 204 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - bool - fail() const - { return (this->rdstate() & (badbit | failbit)) != 0; } - - - - - - - - bool - bad() const - { return (this->rdstate() & badbit) != 0; } -# 225 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - iostate - exceptions() const - { return _M_exception; } -# 260 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - void - exceptions(iostate __except) - { - _M_exception = __except; - this->clear(_M_streambuf_state); - } - - - - - - - - explicit - basic_ios(basic_streambuf<_CharT, _Traits>* __sb) - : ios_base(), _M_tie(0), _M_fill(), _M_fill_init(false), _M_streambuf(0), - _M_ctype(0), _M_num_put(0), _M_num_get(0) - { this->init(__sb); } - - - - - - - - virtual - ~basic_ios() { } -# 298 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - basic_ostream<_CharT, _Traits>* - tie() const - { return _M_tie; } -# 310 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - basic_ostream<_CharT, _Traits>* - tie(basic_ostream<_CharT, _Traits>* __tiestr) - { - basic_ostream<_CharT, _Traits>* __old = _M_tie; - _M_tie = __tiestr; - return __old; - } - - - - - - - - basic_streambuf<_CharT, _Traits>* - rdbuf() const - { return _M_streambuf; } -# 350 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - basic_streambuf<_CharT, _Traits>* - rdbuf(basic_streambuf<_CharT, _Traits>* __sb); -# 364 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - basic_ios& - copyfmt(const basic_ios& __rhs); - - - - - - - - char_type - fill() const - { - if (!_M_fill_init) - { - _M_fill = this->widen(' '); - _M_fill_init = true; - } - return _M_fill; - } -# 393 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - char_type - fill(char_type __ch) - { - char_type __old = this->fill(); - _M_fill = __ch; - return __old; - } -# 413 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - locale - imbue(const locale& __loc); -# 433 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - char - narrow(char_type __c, char __dfault) const - { return __check_facet(_M_ctype).narrow(__c, __dfault); } -# 452 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - char_type - widen(char __c) const - { return __check_facet(_M_ctype).widen(__c); } - - protected: - - - - - - - - basic_ios() - : ios_base(), _M_tie(0), _M_fill(char_type()), _M_fill_init(false), - _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0) - { } - - - - - - - - void - init(basic_streambuf<_CharT, _Traits>* __sb); - - - basic_ios(const basic_ios&) = delete; - basic_ios& operator=(const basic_ios&) = delete; - - void - move(basic_ios& __rhs) - { - ios_base::_M_move(__rhs); - _M_cache_locale(_M_ios_locale); - this->tie(__rhs.tie(nullptr)); - _M_fill = __rhs._M_fill; - _M_fill_init = __rhs._M_fill_init; - _M_streambuf = nullptr; - } - - void - move(basic_ios&& __rhs) - { this->move(__rhs); } - - void - swap(basic_ios& __rhs) noexcept - { - ios_base::_M_swap(__rhs); - _M_cache_locale(_M_ios_locale); - __rhs._M_cache_locale(__rhs._M_ios_locale); - std::swap(_M_tie, __rhs._M_tie); - std::swap(_M_fill, __rhs._M_fill); - std::swap(_M_fill_init, __rhs._M_fill_init); - } - - void - set_rdbuf(basic_streambuf<_CharT, _Traits>* __sb) - { _M_streambuf = __sb; } - - - void - _M_cache_locale(const locale& __loc); - }; - - -} - -# 1 "/usr/include/c++/14.1.1/bits/basic_ios.tcc" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/basic_ios.tcc" 3 - -# 34 "/usr/include/c++/14.1.1/bits/basic_ios.tcc" 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - void - basic_ios<_CharT, _Traits>::clear(iostate __state) - { - if (this->rdbuf()) - _M_streambuf_state = __state; - else - _M_streambuf_state = __state | badbit; - if (this->exceptions() & this->rdstate()) - __throw_ios_failure(("basic_ios::clear")); - } - - template - basic_streambuf<_CharT, _Traits>* - basic_ios<_CharT, _Traits>::rdbuf(basic_streambuf<_CharT, _Traits>* __sb) - { - basic_streambuf<_CharT, _Traits>* __old = _M_streambuf; - _M_streambuf = __sb; - this->clear(); - return __old; - } - - template - basic_ios<_CharT, _Traits>& - basic_ios<_CharT, _Traits>::copyfmt(const basic_ios& __rhs) - { - - - if (this != std::__addressof(__rhs)) - { - - - - - _Words* __words = (__rhs._M_word_size <= _S_local_word_size) ? - _M_local_word : new _Words[__rhs._M_word_size]; - - - _Callback_list* __cb = __rhs._M_callbacks; - if (__cb) - __cb->_M_add_reference(); - _M_call_callbacks(erase_event); - if (_M_word != _M_local_word) - { - delete [] _M_word; - _M_word = 0; - } - _M_dispose_callbacks(); - - - _M_callbacks = __cb; - for (int __i = 0; __i < __rhs._M_word_size; ++__i) - __words[__i] = __rhs._M_word[__i]; - _M_word = __words; - _M_word_size = __rhs._M_word_size; - - this->flags(__rhs.flags()); - this->width(__rhs.width()); - this->precision(__rhs.precision()); - this->tie(__rhs.tie()); - this->fill(__rhs.fill()); - _M_ios_locale = __rhs.getloc(); - _M_cache_locale(_M_ios_locale); - - _M_call_callbacks(copyfmt_event); - - - this->exceptions(__rhs.exceptions()); - } - return *this; - } - - - template - locale - basic_ios<_CharT, _Traits>::imbue(const locale& __loc) - { - locale __old(this->getloc()); - ios_base::imbue(__loc); - _M_cache_locale(__loc); - if (this->rdbuf() != 0) - this->rdbuf()->pubimbue(__loc); - return __old; - } - - template - void - basic_ios<_CharT, _Traits>::init(basic_streambuf<_CharT, _Traits>* __sb) - { - - ios_base::_M_init(); - - - _M_cache_locale(_M_ios_locale); -# 146 "/usr/include/c++/14.1.1/bits/basic_ios.tcc" 3 - _M_fill = _CharT(); - _M_fill_init = false; - - _M_tie = 0; - _M_exception = goodbit; - _M_streambuf = __sb; - _M_streambuf_state = __sb ? goodbit : badbit; - } - - template - void - basic_ios<_CharT, _Traits>::_M_cache_locale(const locale& __loc) - { - _M_ctype = std::__try_use_facet<__ctype_type>(__loc); - _M_num_put = std::__try_use_facet<__num_put_type>(__loc); - _M_num_get = std::__try_use_facet<__num_get_type>(__loc); - } - - - - - extern template class basic_ios; - - - extern template class basic_ios; - - - - -} -# 521 "/usr/include/c++/14.1.1/bits/basic_ios.h" 2 3 -# 47 "/usr/include/c++/14.1.1/ios" 2 3 - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 50 "/usr/include/c++/14.1.1/ios" 2 3 -# 41 "/usr/include/c++/14.1.1/ostream" 2 3 - - - - - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 48 "/usr/include/c++/14.1.1/ostream" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 65 "/usr/include/c++/14.1.1/ostream" 3 - template - class basic_ostream : virtual public basic_ios<_CharT, _Traits> - { - public: - - typedef _CharT char_type; - typedef typename _Traits::int_type int_type; - typedef typename _Traits::pos_type pos_type; - typedef typename _Traits::off_type off_type; - typedef _Traits traits_type; - - - typedef basic_streambuf<_CharT, _Traits> __streambuf_type; - typedef basic_ios<_CharT, _Traits> __ios_type; - typedef basic_ostream<_CharT, _Traits> __ostream_type; - typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> > - __num_put_type; - typedef ctype<_CharT> __ctype_type; -# 91 "/usr/include/c++/14.1.1/ostream" 3 - explicit - basic_ostream(__streambuf_type* __sb) - { this->init(__sb); } - - - - - - - virtual - ~basic_ostream() { } - - - class sentry; - friend class sentry; -# 115 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - operator<<(__ostream_type& (*__pf)(__ostream_type&)) - { - - - - return __pf(*this); - } - - __ostream_type& - operator<<(__ios_type& (*__pf)(__ios_type&)) - { - - - - __pf(*this); - return *this; - } - - __ostream_type& - operator<<(ios_base& (*__pf) (ios_base&)) - { - - - - __pf(*this); - return *this; - } -# 173 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - operator<<(long __n) - { return _M_insert(__n); } - - __ostream_type& - operator<<(unsigned long __n) - { return _M_insert(__n); } - - __ostream_type& - operator<<(bool __n) - { return _M_insert(__n); } - - __ostream_type& - operator<<(short __n); - - __ostream_type& - operator<<(unsigned short __n) - { - - - return _M_insert(static_cast(__n)); - } - - __ostream_type& - operator<<(int __n); - - __ostream_type& - operator<<(unsigned int __n) - { - - - return _M_insert(static_cast(__n)); - } - - - __ostream_type& - operator<<(long long __n) - { return _M_insert(__n); } - - __ostream_type& - operator<<(unsigned long long __n) - { return _M_insert(__n); } -# 227 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - operator<<(double __f) - { return _M_insert(__f); } - - __ostream_type& - operator<<(float __f) - { - - - return _M_insert(static_cast(__f)); - } - - __ostream_type& - operator<<(long double __f) - { return _M_insert(__f); } -# 297 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - operator<<(const void* __p) - { return _M_insert(__p); } - - - __ostream_type& - operator<<(nullptr_t) - { return *this << "nullptr"; } -# 335 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - operator<<(__streambuf_type* __sb); -# 368 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - put(char_type __c); -# 387 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - write(const char_type* __s, streamsize __n); -# 400 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - flush(); -# 410 "/usr/include/c++/14.1.1/ostream" 3 - pos_type - tellp(); -# 421 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - seekp(pos_type); -# 433 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - seekp(off_type, ios_base::seekdir); - - protected: - basic_ostream() - { this->init(0); } - - - - basic_ostream(basic_iostream<_CharT, _Traits>&) { } - - basic_ostream(const basic_ostream&) = delete; - - basic_ostream(basic_ostream&& __rhs) - : __ios_type() - { __ios_type::move(__rhs); } - - - - basic_ostream& operator=(const basic_ostream&) = delete; - - basic_ostream& - operator=(basic_ostream&& __rhs) - { - swap(__rhs); - return *this; - } - - void - swap(basic_ostream& __rhs) - { __ios_type::swap(__rhs); } - - - template - __ostream_type& - _M_insert(_ValueT __v); - - private: - - void - _M_write(const char_type* __s, streamsize __n) - { std::__ostream_insert(*this, __s, __n); } - - }; -# 485 "/usr/include/c++/14.1.1/ostream" 3 - template - class basic_ostream<_CharT, _Traits>::sentry - { - - bool _M_ok; - basic_ostream<_CharT, _Traits>& _M_os; - - public: -# 504 "/usr/include/c++/14.1.1/ostream" 3 - explicit - sentry(basic_ostream<_CharT, _Traits>& __os); - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - - - - - - - - ~sentry() - { - - if (bool(_M_os.flags() & ios_base::unitbuf) && !uncaught_exception()) - { - - if (_M_os.rdbuf() && _M_os.rdbuf()->pubsync() == -1) - _M_os.setstate(ios_base::badbit); - } - } -#pragma GCC diagnostic pop -# 536 "/usr/include/c++/14.1.1/ostream" 3 - explicit - - operator bool() const - { return _M_ok; } - }; -# 558 "/usr/include/c++/14.1.1/ostream" 3 - template - inline basic_ostream<_CharT, _Traits>& - operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c) - { - if (__out.width() != 0) - return __ostream_insert(__out, &__c, 1); - __out.put(__c); - return __out; - } - - template - inline basic_ostream<_CharT, _Traits>& - operator<<(basic_ostream<_CharT, _Traits>& __out, char __c) - { return (__out << __out.widen(__c)); } - - - template - inline basic_ostream& - operator<<(basic_ostream& __out, char __c) - { - if (__out.width() != 0) - return __ostream_insert(__out, &__c, 1); - __out.put(__c); - return __out; - } - - - template - inline basic_ostream& - operator<<(basic_ostream& __out, signed char __c) - { return (__out << static_cast(__c)); } - - template - inline basic_ostream& - operator<<(basic_ostream& __out, unsigned char __c) - { return (__out << static_cast(__c)); } - - - - - - template - basic_ostream& - operator<<(basic_ostream&, wchar_t) = delete; - - - template - basic_ostream& - operator<<(basic_ostream&, char8_t) = delete; - - - template - basic_ostream& - operator<<(basic_ostream&, char16_t) = delete; - - template - basic_ostream& - operator<<(basic_ostream&, char32_t) = delete; - - - - template - basic_ostream& - operator<<(basic_ostream&, char8_t) = delete; - - - template - basic_ostream& - operator<<(basic_ostream&, char16_t) = delete; - - template - basic_ostream& - operator<<(basic_ostream&, char32_t) = delete; -# 649 "/usr/include/c++/14.1.1/ostream" 3 - template - inline basic_ostream<_CharT, _Traits>& - operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s) - { - if (!__s) - __out.setstate(ios_base::badbit); - else - __ostream_insert(__out, __s, - static_cast(_Traits::length(__s))); - return __out; - } - - template - basic_ostream<_CharT, _Traits> & - operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s); - - - template - inline basic_ostream& - operator<<(basic_ostream& __out, const char* __s) - { - if (!__s) - __out.setstate(ios_base::badbit); - else - __ostream_insert(__out, __s, - static_cast(_Traits::length(__s))); - return __out; - } - - - template - inline basic_ostream& - operator<<(basic_ostream& __out, const signed char* __s) - { return (__out << reinterpret_cast(__s)); } - - template - inline basic_ostream & - operator<<(basic_ostream& __out, const unsigned char* __s) - { return (__out << reinterpret_cast(__s)); } - - - - - - template - basic_ostream& - operator<<(basic_ostream&, const wchar_t*) = delete; - - - template - basic_ostream& - operator<<(basic_ostream&, const char8_t*) = delete; - - - template - basic_ostream& - operator<<(basic_ostream&, const char16_t*) = delete; - - template - basic_ostream& - operator<<(basic_ostream&, const char32_t*) = delete; - - - - template - basic_ostream& - operator<<(basic_ostream&, const char8_t*) = delete; - - - template - basic_ostream& - operator<<(basic_ostream&, const char16_t*) = delete; - - template - basic_ostream& - operator<<(basic_ostream&, const char32_t*) = delete; -# 739 "/usr/include/c++/14.1.1/ostream" 3 - template - inline basic_ostream<_CharT, _Traits>& - endl(basic_ostream<_CharT, _Traits>& __os) - { return flush(__os.put(__os.widen('\n'))); } -# 751 "/usr/include/c++/14.1.1/ostream" 3 - template - inline basic_ostream<_CharT, _Traits>& - ends(basic_ostream<_CharT, _Traits>& __os) - { return __os.put(_CharT()); } - - - - - - - template - inline basic_ostream<_CharT, _Traits>& - flush(basic_ostream<_CharT, _Traits>& __os) - { return __os.flush(); } -# 773 "/usr/include/c++/14.1.1/ostream" 3 - template - concept __derived_from_ios_base = is_class_v<_Tp> - && (!is_same_v<_Tp, ios_base>) - && requires (_Tp* __t, ios_base* __b) { __b = __t; }; - - template - requires __derived_from_ios_base<_Os> - && requires (_Os& __os, const _Tp& __t) { __os << __t; } - using __rvalue_stream_insertion_t = _Os&&; -# 805 "/usr/include/c++/14.1.1/ostream" 3 - template - inline __rvalue_stream_insertion_t<_Ostream, _Tp> - operator<<(_Ostream&& __os, const _Tp& __x) - { - __os << __x; - return std::move(__os); - } - - - template - class __syncbuf_base : public basic_streambuf<_CharT, _Traits> - { - public: - static bool* - _S_get(basic_streambuf<_CharT, _Traits>* __buf [[maybe_unused]]) noexcept - { - - if (auto __p = dynamic_cast<__syncbuf_base*>(__buf)) - return &__p->_M_emit_on_sync; - - return nullptr; - } - - protected: - __syncbuf_base(basic_streambuf<_CharT, _Traits>* __w = nullptr) - : _M_wrapped(__w) - { } - - basic_streambuf<_CharT, _Traits>* _M_wrapped = nullptr; - bool _M_emit_on_sync = false; - bool _M_needs_sync = false; - }; - - template - inline basic_ostream<_CharT, _Traits>& - emit_on_flush(basic_ostream<_CharT, _Traits>& __os) - { - if (bool* __flag = __syncbuf_base<_CharT, _Traits>::_S_get(__os.rdbuf())) - *__flag = true; - return __os; - } - - template - inline basic_ostream<_CharT, _Traits>& - noemit_on_flush(basic_ostream<_CharT, _Traits>& __os) - { - if (bool* __flag = __syncbuf_base<_CharT, _Traits>::_S_get(__os.rdbuf())) - *__flag = false; - return __os; - } - - template - inline basic_ostream<_CharT, _Traits>& - flush_emit(basic_ostream<_CharT, _Traits>& __os) - { - struct _Restore - { - ~_Restore() { *_M_flag = _M_prev; } - - bool _M_prev = false; - bool* _M_flag = &_M_prev; - } __restore; - - if (bool* __flag = __syncbuf_base<_CharT, _Traits>::_S_get(__os.rdbuf())) - { - __restore._M_prev = *__flag; - __restore._M_flag = __flag; - *__flag = true; - } - - __os.flush(); - return __os; - } -# 1014 "/usr/include/c++/14.1.1/ostream" 3 - -} - -# 1 "/usr/include/c++/14.1.1/bits/ostream.tcc" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/ostream.tcc" 3 - -# 38 "/usr/include/c++/14.1.1/bits/ostream.tcc" 3 - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - basic_ostream<_CharT, _Traits>::sentry:: - sentry(basic_ostream<_CharT, _Traits>& __os) - : _M_ok(false), _M_os(__os) - { - - if (__os.tie() && __os.good()) - __os.tie()->flush(); - - if (__os.good()) - _M_ok = true; - else if (__os.bad()) - __os.setstate(ios_base::failbit); - } - - template - template - basic_ostream<_CharT, _Traits>& - basic_ostream<_CharT, _Traits>:: - _M_insert(_ValueT __v) - { - sentry __cerb(*this); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - - const __num_put_type& __np = __check_facet(this->_M_num_put); - - - - - if (__np.put(*this, *this, this->fill(), __v).failed()) - __err |= ios_base::badbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - basic_ostream<_CharT, _Traits>& - basic_ostream<_CharT, _Traits>:: - operator<<(short __n) - { - - - const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield; - if (__fmt == ios_base::oct || __fmt == ios_base::hex) - return _M_insert(static_cast(static_cast(__n))); - else - return _M_insert(static_cast(__n)); - } - - template - basic_ostream<_CharT, _Traits>& - basic_ostream<_CharT, _Traits>:: - operator<<(int __n) - { - - - const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield; - if (__fmt == ios_base::oct || __fmt == ios_base::hex) - return _M_insert(static_cast(static_cast(__n))); - else - return _M_insert(static_cast(__n)); - } - - template - basic_ostream<_CharT, _Traits>& - basic_ostream<_CharT, _Traits>:: - operator<<(__streambuf_type* __sbin) - { - ios_base::iostate __err = ios_base::goodbit; - sentry __cerb(*this); - if (__cerb && __sbin) - { - try - { - if (!__copy_streambufs(__sbin, this->rdbuf())) - __err |= ios_base::failbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::failbit); } - } - else if (!__sbin) - __err |= ios_base::badbit; - if (__err) - this->setstate(__err); - return *this; - } - - template - basic_ostream<_CharT, _Traits>& - basic_ostream<_CharT, _Traits>:: - put(char_type __c) - { - - - - - - - sentry __cerb(*this); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - const int_type __put = this->rdbuf()->sputc(__c); - if (traits_type::eq_int_type(__put, traits_type::eof())) - __err |= ios_base::badbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - basic_ostream<_CharT, _Traits>& - basic_ostream<_CharT, _Traits>:: - write(const _CharT* __s, streamsize __n) - { - - - - - - - - sentry __cerb(*this); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - if (this->rdbuf()->sputn(__s, __n) != __n) - __err = ios_base::badbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(ios_base::badbit); - } - return *this; - } - - template - basic_ostream<_CharT, _Traits>& - basic_ostream<_CharT, _Traits>:: - flush() - { - - - - - - if (__streambuf_type* __buf = this->rdbuf()) - { - sentry __cerb(*this); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - if (this->rdbuf()->pubsync() == -1) - __err |= ios_base::badbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - } - return *this; - } - - template - typename basic_ostream<_CharT, _Traits>::pos_type - basic_ostream<_CharT, _Traits>:: - tellp() - { - sentry __cerb(*this); - pos_type __ret = pos_type(-1); - if (!this->fail()) - __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::out); - return __ret; - } - - template - basic_ostream<_CharT, _Traits>& - basic_ostream<_CharT, _Traits>:: - seekp(pos_type __pos) - { - sentry __cerb(*this); - if (!this->fail()) - { - - - const pos_type __p = this->rdbuf()->pubseekpos(__pos, ios_base::out); - - - if (__p == pos_type(off_type(-1))) - this->setstate(ios_base::failbit); - } - return *this; - } - - template - basic_ostream<_CharT, _Traits>& - basic_ostream<_CharT, _Traits>:: - seekp(off_type __off, ios_base::seekdir __dir) - { - sentry __cerb(*this); - if (!this->fail()) - { - - - const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir, - ios_base::out); - - - if (__p == pos_type(off_type(-1))) - this->setstate(ios_base::failbit); - } - return *this; - } - - template - basic_ostream<_CharT, _Traits>& - operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s) - { - if (!__s) - __out.setstate(ios_base::badbit); - else - { - - - const size_t __clen = char_traits::length(__s); - try - { - struct __ptr_guard - { - _CharT *__p; - __ptr_guard (_CharT *__ip): __p(__ip) { } - ~__ptr_guard() { delete[] __p; } - _CharT* __get() { return __p; } - } __pg (new _CharT[__clen]); - - _CharT *__ws = __pg.__get(); - for (size_t __i = 0; __i < __clen; ++__i) - __ws[__i] = __out.widen(__s[__i]); - __ostream_insert(__out, __ws, __clen); - } - catch(__cxxabiv1::__forced_unwind&) - { - __out._M_setstate(ios_base::badbit); - throw; - } - catch(...) - { __out._M_setstate(ios_base::badbit); } - } - return __out; - } - - - - - extern template class basic_ostream; - extern template ostream& endl(ostream&); - extern template ostream& ends(ostream&); - extern template ostream& flush(ostream&); - extern template ostream& operator<<(ostream&, char); - extern template ostream& operator<<(ostream&, unsigned char); - extern template ostream& operator<<(ostream&, signed char); - extern template ostream& operator<<(ostream&, const char*); - extern template ostream& operator<<(ostream&, const unsigned char*); - extern template ostream& operator<<(ostream&, const signed char*); - - extern template ostream& ostream::_M_insert(long); - extern template ostream& ostream::_M_insert(unsigned long); - extern template ostream& ostream::_M_insert(bool); - - extern template ostream& ostream::_M_insert(long long); - extern template ostream& ostream::_M_insert(unsigned long long); - - extern template ostream& ostream::_M_insert(double); - extern template ostream& ostream::_M_insert(long double); - extern template ostream& ostream::_M_insert(const void*); - - - extern template class basic_ostream; - extern template wostream& endl(wostream&); - extern template wostream& ends(wostream&); - extern template wostream& flush(wostream&); - extern template wostream& operator<<(wostream&, wchar_t); - extern template wostream& operator<<(wostream&, char); - extern template wostream& operator<<(wostream&, const wchar_t*); - extern template wostream& operator<<(wostream&, const char*); - - extern template wostream& wostream::_M_insert(long); - extern template wostream& wostream::_M_insert(unsigned long); - extern template wostream& wostream::_M_insert(bool); - - extern template wostream& wostream::_M_insert(long long); - extern template wostream& wostream::_M_insert(unsigned long long); - - extern template wostream& wostream::_M_insert(double); - extern template wostream& wostream::_M_insert(long double); - extern template wostream& wostream::_M_insert(const void*); - - - - -} -# 1018 "/usr/include/c++/14.1.1/ostream" 2 3 -# 42 "/usr/include/c++/14.1.1/iostream" 2 3 -# 1 "/usr/include/c++/14.1.1/istream" 1 3 -# 36 "/usr/include/c++/14.1.1/istream" 3 - -# 37 "/usr/include/c++/14.1.1/istream" 3 - - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 59 "/usr/include/c++/14.1.1/istream" 3 - template - class basic_istream : virtual public basic_ios<_CharT, _Traits> - { - public: - - typedef _CharT char_type; - typedef typename _Traits::int_type int_type; - typedef typename _Traits::pos_type pos_type; - typedef typename _Traits::off_type off_type; - typedef _Traits traits_type; - - - typedef basic_streambuf<_CharT, _Traits> __streambuf_type; - typedef basic_ios<_CharT, _Traits> __ios_type; - typedef basic_istream<_CharT, _Traits> __istream_type; - typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> > - __num_get_type; - typedef ctype<_CharT> __ctype_type; - - protected: - - - - - - streamsize _M_gcount; - - public: - - - - - - - - explicit - basic_istream(__streambuf_type* __sb) - : _M_gcount(streamsize(0)) - { this->init(__sb); } - - - - - - - virtual - ~basic_istream() - { _M_gcount = streamsize(0); } - - - class sentry; - friend class sentry; -# 121 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - operator>>(__istream_type& (*__pf)(__istream_type&)) - { return __pf(*this); } - - __istream_type& - operator>>(__ios_type& (*__pf)(__ios_type&)) - { - __pf(*this); - return *this; - } - - __istream_type& - operator>>(ios_base& (*__pf)(ios_base&)) - { - __pf(*this); - return *this; - } -# 169 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - operator>>(bool& __n) - { return _M_extract(__n); } - - __istream_type& - operator>>(short& __n); - - __istream_type& - operator>>(unsigned short& __n) - { return _M_extract(__n); } - - __istream_type& - operator>>(int& __n); - - __istream_type& - operator>>(unsigned int& __n) - { return _M_extract(__n); } - - __istream_type& - operator>>(long& __n) - { return _M_extract(__n); } - - __istream_type& - operator>>(unsigned long& __n) - { return _M_extract(__n); } - - - __istream_type& - operator>>(long long& __n) - { return _M_extract(__n); } - - __istream_type& - operator>>(unsigned long long& __n) - { return _M_extract(__n); } -# 215 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - operator>>(float& __f) - { return _M_extract(__f); } - - __istream_type& - operator>>(double& __f) - { return _M_extract(__f); } - - __istream_type& - operator>>(long double& __f) - { return _M_extract(__f); } -# 324 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - operator>>(void*& __p) - { return _M_extract(__p); } -# 348 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - operator>>(__streambuf_type* __sb); -# 358 "/usr/include/c++/14.1.1/istream" 3 - streamsize - gcount() const - { return _M_gcount; } -# 391 "/usr/include/c++/14.1.1/istream" 3 - int_type - get(); -# 405 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - get(char_type& __c); -# 432 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - get(char_type* __s, streamsize __n, char_type __delim); -# 443 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - get(char_type* __s, streamsize __n) - { return this->get(__s, __n, this->widen('\n')); } -# 466 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - get(__streambuf_type& __sb, char_type __delim); -# 476 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - get(__streambuf_type& __sb) - { return this->get(__sb, this->widen('\n')); } -# 505 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - getline(char_type* __s, streamsize __n, char_type __delim); -# 516 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - getline(char_type* __s, streamsize __n) - { return this->getline(__s, __n, this->widen('\n')); } -# 540 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - ignore(streamsize __n, int_type __delim); - - __istream_type& - ignore(streamsize __n); - - __istream_type& - ignore(); -# 557 "/usr/include/c++/14.1.1/istream" 3 - int_type - peek(); -# 575 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - read(char_type* __s, streamsize __n); -# 594 "/usr/include/c++/14.1.1/istream" 3 - streamsize - readsome(char_type* __s, streamsize __n); -# 611 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - putback(char_type __c); -# 627 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - unget(); -# 645 "/usr/include/c++/14.1.1/istream" 3 - int - sync(); -# 660 "/usr/include/c++/14.1.1/istream" 3 - pos_type - tellg(); -# 675 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - seekg(pos_type); -# 691 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - seekg(off_type, ios_base::seekdir); - - - protected: - basic_istream() - : _M_gcount(streamsize(0)) - { this->init(0); } - - - basic_istream(const basic_istream&) = delete; - - basic_istream(basic_istream&& __rhs) - : __ios_type(), _M_gcount(__rhs._M_gcount) - { - __ios_type::move(__rhs); - __rhs._M_gcount = 0; - } - - - - basic_istream& operator=(const basic_istream&) = delete; - - basic_istream& - operator=(basic_istream&& __rhs) - { - swap(__rhs); - return *this; - } - - void - swap(basic_istream& __rhs) - { - __ios_type::swap(__rhs); - std::swap(_M_gcount, __rhs._M_gcount); - } - - - template - __istream_type& - _M_extract(_ValueT& __v); - }; - - - template<> - basic_istream& - basic_istream:: - getline(char_type* __s, streamsize __n, char_type __delim); - - template<> - basic_istream& - basic_istream:: - ignore(streamsize __n); - - template<> - basic_istream& - basic_istream:: - ignore(streamsize __n, int_type __delim); - - - template<> - basic_istream& - basic_istream:: - getline(char_type* __s, streamsize __n, char_type __delim); - - template<> - basic_istream& - basic_istream:: - ignore(streamsize __n); - - template<> - basic_istream& - basic_istream:: - ignore(streamsize __n, int_type __delim); -# 775 "/usr/include/c++/14.1.1/istream" 3 - template - class basic_istream<_CharT, _Traits>::sentry - { - - bool _M_ok; - - public: - - typedef _Traits traits_type; - typedef basic_streambuf<_CharT, _Traits> __streambuf_type; - typedef basic_istream<_CharT, _Traits> __istream_type; - typedef typename __istream_type::__ctype_type __ctype_type; - typedef typename _Traits::int_type __int_type; -# 811 "/usr/include/c++/14.1.1/istream" 3 - explicit - sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false); -# 822 "/usr/include/c++/14.1.1/istream" 3 - explicit - - operator bool() const - { return _M_ok; } - }; -# 840 "/usr/include/c++/14.1.1/istream" 3 - template - basic_istream<_CharT, _Traits>& - operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c); - - template - inline basic_istream& - operator>>(basic_istream& __in, unsigned char& __c) - { return (__in >> reinterpret_cast(__c)); } - - template - inline basic_istream& - operator>>(basic_istream& __in, signed char& __c) - { return (__in >> reinterpret_cast(__c)); } - - - - template - void - __istream_extract(basic_istream<_CharT, _Traits>&, _CharT*, streamsize); - - void __istream_extract(istream&, char*, streamsize); -# 947 "/usr/include/c++/14.1.1/istream" 3 - template - inline basic_istream<_CharT, _Traits>& - operator>>(basic_istream<_CharT, _Traits>& __in, _CharT (&__s)[_Num]) - { - static_assert(_Num <= __gnu_cxx::__numeric_traits::__max); - std::__istream_extract(__in, __s, _Num); - return __in; - } - - template - inline basic_istream& - operator>>(basic_istream& __in, unsigned char (&__s)[_Num]) - { return __in >> reinterpret_cast(__s); } - - template - inline basic_istream& - operator>>(basic_istream& __in, signed char (&__s)[_Num]) - { return __in >> reinterpret_cast(__s); } -# 979 "/usr/include/c++/14.1.1/istream" 3 - template - class basic_iostream - : public basic_istream<_CharT, _Traits>, - public basic_ostream<_CharT, _Traits> - { - public: - - - - typedef _CharT char_type; - typedef typename _Traits::int_type int_type; - typedef typename _Traits::pos_type pos_type; - typedef typename _Traits::off_type off_type; - typedef _Traits traits_type; - - - typedef basic_istream<_CharT, _Traits> __istream_type; - typedef basic_ostream<_CharT, _Traits> __ostream_type; - - - - - - - - explicit - basic_iostream(basic_streambuf<_CharT, _Traits>* __sb) - : __istream_type(__sb), __ostream_type(__sb) { } - - - - - virtual - ~basic_iostream() { } - - protected: - basic_iostream() - : __istream_type(), __ostream_type() { } - - - basic_iostream(const basic_iostream&) = delete; - - basic_iostream(basic_iostream&& __rhs) - : __istream_type(std::move(__rhs)), __ostream_type(*this) - { } - - - - basic_iostream& operator=(const basic_iostream&) = delete; - - basic_iostream& - operator=(basic_iostream&& __rhs) - { - swap(__rhs); - return *this; - } - - void - swap(basic_iostream& __rhs) - { __istream_type::swap(__rhs); } - - }; -# 1062 "/usr/include/c++/14.1.1/istream" 3 - template - basic_istream<_CharT, _Traits>& - ws(basic_istream<_CharT, _Traits>& __is); -# 1073 "/usr/include/c++/14.1.1/istream" 3 - template - requires __derived_from_ios_base<_Is> - && requires (_Is& __is, _Tp&& __t) { __is >> std::forward<_Tp>(__t); } - using __rvalue_stream_extraction_t = _Is&&; -# 1094 "/usr/include/c++/14.1.1/istream" 3 - template - inline __rvalue_stream_extraction_t<_Istream, _Tp> - operator>>(_Istream&& __is, _Tp&& __x) - { - __is >> std::forward<_Tp>(__x); - return std::move(__is); - } - - - -} - -# 1 "/usr/include/c++/14.1.1/bits/istream.tcc" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/istream.tcc" 3 - -# 38 "/usr/include/c++/14.1.1/bits/istream.tcc" 3 - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - basic_istream<_CharT, _Traits>::sentry:: - sentry(basic_istream<_CharT, _Traits>& __in, bool __noskip) : _M_ok(false) - { - ios_base::iostate __err = ios_base::goodbit; - if (__in.good()) - { - try - { - if (__in.tie()) - __in.tie()->flush(); - if (!__noskip && bool(__in.flags() & ios_base::skipws)) - { - const __int_type __eof = traits_type::eof(); - __streambuf_type* __sb = __in.rdbuf(); - __int_type __c = __sb->sgetc(); - - const __ctype_type& __ct = __check_facet(__in._M_ctype); - while (!traits_type::eq_int_type(__c, __eof) - && __ct.is(ctype_base::space, - traits_type::to_char_type(__c))) - __c = __sb->snextc(); - - - - - if (traits_type::eq_int_type(__c, __eof)) - __err |= ios_base::eofbit; - } - } - catch(__cxxabiv1::__forced_unwind&) - { - __in._M_setstate(ios_base::badbit); - throw; - } - catch(...) - { __in._M_setstate(ios_base::badbit); } - } - - if (__in.good() && __err == ios_base::goodbit) - _M_ok = true; - else - { - __err |= ios_base::failbit; - __in.setstate(__err); - } - } - - template - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - _M_extract(_ValueT& __v) - { - sentry __cerb(*this, false); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - - const __num_get_type& __ng = __check_facet(this->_M_num_get); - - - - - __ng.get(*this, 0, *this, __err, __v); - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - operator>>(short& __n) - { - - - sentry __cerb(*this, false); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - long __l; - - const __num_get_type& __ng = __check_facet(this->_M_num_get); - - - - - __ng.get(*this, 0, *this, __err, __l); - - - - if (__l < __gnu_cxx::__numeric_traits::__min) - { - __err |= ios_base::failbit; - __n = __gnu_cxx::__numeric_traits::__min; - } - else if (__l > __gnu_cxx::__numeric_traits::__max) - { - __err |= ios_base::failbit; - __n = __gnu_cxx::__numeric_traits::__max; - } - else - __n = short(__l); - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - operator>>(int& __n) - { - - - sentry __cerb(*this, false); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - long __l; - - const __num_get_type& __ng = __check_facet(this->_M_num_get); - - - - - __ng.get(*this, 0, *this, __err, __l); - - - - if (__l < __gnu_cxx::__numeric_traits::__min) - { - __err |= ios_base::failbit; - __n = __gnu_cxx::__numeric_traits::__min; - } - else if (__l > __gnu_cxx::__numeric_traits::__max) - { - __err |= ios_base::failbit; - __n = __gnu_cxx::__numeric_traits::__max; - } - else - __n = int(__l); - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - operator>>(__streambuf_type* __sbout) - { - ios_base::iostate __err = ios_base::goodbit; - sentry __cerb(*this, false); - if (__cerb && __sbout) - { - try - { - bool __ineof; - if (!__copy_streambufs_eof(this->rdbuf(), __sbout, __ineof)) - __err |= ios_base::failbit; - if (__ineof) - __err |= ios_base::eofbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::failbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::failbit); } - } - else if (!__sbout) - __err |= ios_base::failbit; - if (__err) - this->setstate(__err); - return *this; - } - - template - typename basic_istream<_CharT, _Traits>::int_type - basic_istream<_CharT, _Traits>:: - get(void) - { - const int_type __eof = traits_type::eof(); - int_type __c = __eof; - _M_gcount = 0; - ios_base::iostate __err = ios_base::goodbit; - sentry __cerb(*this, true); - if (__cerb) - { - try - { - __c = this->rdbuf()->sbumpc(); - - if (!traits_type::eq_int_type(__c, __eof)) - _M_gcount = 1; - else - __err |= ios_base::eofbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - } - if (!_M_gcount) - __err |= ios_base::failbit; - if (__err) - this->setstate(__err); - return __c; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - get(char_type& __c) - { - _M_gcount = 0; - ios_base::iostate __err = ios_base::goodbit; - sentry __cerb(*this, true); - if (__cerb) - { - try - { - const int_type __cb = this->rdbuf()->sbumpc(); - - if (!traits_type::eq_int_type(__cb, traits_type::eof())) - { - _M_gcount = 1; - __c = traits_type::to_char_type(__cb); - } - else - __err |= ios_base::eofbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - } - if (!_M_gcount) - __err |= ios_base::failbit; - if (__err) - this->setstate(__err); - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - get(char_type* __s, streamsize __n, char_type __delim) - { - _M_gcount = 0; - ios_base::iostate __err = ios_base::goodbit; - sentry __cerb(*this, true); - if (__cerb) - { - try - { - const int_type __idelim = traits_type::to_int_type(__delim); - const int_type __eof = traits_type::eof(); - __streambuf_type* __sb = this->rdbuf(); - int_type __c = __sb->sgetc(); - - while (_M_gcount + 1 < __n - && !traits_type::eq_int_type(__c, __eof) - && !traits_type::eq_int_type(__c, __idelim)) - { - *__s++ = traits_type::to_char_type(__c); - ++_M_gcount; - __c = __sb->snextc(); - } - if (traits_type::eq_int_type(__c, __eof)) - __err |= ios_base::eofbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - } - - - if (__n > 0) - *__s = char_type(); - if (!_M_gcount) - __err |= ios_base::failbit; - if (__err) - this->setstate(__err); - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - get(__streambuf_type& __sb, char_type __delim) - { - _M_gcount = 0; - ios_base::iostate __err = ios_base::goodbit; - sentry __cerb(*this, true); - if (__cerb) - { - try - { - const int_type __idelim = traits_type::to_int_type(__delim); - const int_type __eof = traits_type::eof(); - __streambuf_type* __this_sb = this->rdbuf(); - int_type __c = __this_sb->sgetc(); - char_type __c2 = traits_type::to_char_type(__c); - unsigned long long __gcount = 0; - - while (!traits_type::eq_int_type(__c, __eof) - && !traits_type::eq_int_type(__c, __idelim) - && !traits_type::eq_int_type(__sb.sputc(__c2), __eof)) - { - ++__gcount; - __c = __this_sb->snextc(); - __c2 = traits_type::to_char_type(__c); - } - if (traits_type::eq_int_type(__c, __eof)) - __err |= ios_base::eofbit; - - - if (__gcount <= __gnu_cxx::__numeric_traits::__max) - _M_gcount = __gcount; - else - _M_gcount = __gnu_cxx::__numeric_traits::__max; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - } - if (!_M_gcount) - __err |= ios_base::failbit; - if (__err) - this->setstate(__err); - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - getline(char_type* __s, streamsize __n, char_type __delim) - { - _M_gcount = 0; - ios_base::iostate __err = ios_base::goodbit; - sentry __cerb(*this, true); - if (__cerb) - { - try - { - const int_type __idelim = traits_type::to_int_type(__delim); - const int_type __eof = traits_type::eof(); - __streambuf_type* __sb = this->rdbuf(); - int_type __c = __sb->sgetc(); - - while (_M_gcount + 1 < __n - && !traits_type::eq_int_type(__c, __eof) - && !traits_type::eq_int_type(__c, __idelim)) - { - *__s++ = traits_type::to_char_type(__c); - __c = __sb->snextc(); - ++_M_gcount; - } - if (traits_type::eq_int_type(__c, __eof)) - __err |= ios_base::eofbit; - else - { - if (traits_type::eq_int_type(__c, __idelim)) - { - __sb->sbumpc(); - ++_M_gcount; - } - else - __err |= ios_base::failbit; - } - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - } - - - if (__n > 0) - *__s = char_type(); - if (!_M_gcount) - __err |= ios_base::failbit; - if (__err) - this->setstate(__err); - return *this; - } - - - - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - ignore(void) - { - _M_gcount = 0; - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - const int_type __eof = traits_type::eof(); - __streambuf_type* __sb = this->rdbuf(); - - if (traits_type::eq_int_type(__sb->sbumpc(), __eof)) - __err |= ios_base::eofbit; - else - _M_gcount = 1; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - ignore(streamsize __n) - { - _M_gcount = 0; - sentry __cerb(*this, true); - if (__cerb && __n > 0) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - const int_type __eof = traits_type::eof(); - __streambuf_type* __sb = this->rdbuf(); - int_type __c = __sb->sgetc(); -# 545 "/usr/include/c++/14.1.1/bits/istream.tcc" 3 - bool __large_ignore = false; - while (true) - { - while (_M_gcount < __n - && !traits_type::eq_int_type(__c, __eof)) - { - ++_M_gcount; - __c = __sb->snextc(); - } - if (__n == __gnu_cxx::__numeric_traits::__max - && !traits_type::eq_int_type(__c, __eof)) - { - _M_gcount = - __gnu_cxx::__numeric_traits::__min; - __large_ignore = true; - } - else - break; - } - - if (__n == __gnu_cxx::__numeric_traits::__max) - { - if (__large_ignore) - _M_gcount = __gnu_cxx::__numeric_traits::__max; - - if (traits_type::eq_int_type(__c, __eof)) - __err |= ios_base::eofbit; - } - else if (_M_gcount < __n) - { - if (traits_type::eq_int_type(__c, __eof)) - __err |= ios_base::eofbit; - } - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - ignore(streamsize __n, int_type __delim) - { - _M_gcount = 0; - sentry __cerb(*this, true); - if (__cerb && __n > 0) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - const int_type __eof = traits_type::eof(); - __streambuf_type* __sb = this->rdbuf(); - int_type __c = __sb->sgetc(); - - - bool __large_ignore = false; - while (true) - { - while (_M_gcount < __n - && !traits_type::eq_int_type(__c, __eof) - && !traits_type::eq_int_type(__c, __delim)) - { - ++_M_gcount; - __c = __sb->snextc(); - } - if (__n == __gnu_cxx::__numeric_traits::__max - && !traits_type::eq_int_type(__c, __eof) - && !traits_type::eq_int_type(__c, __delim)) - { - _M_gcount = - __gnu_cxx::__numeric_traits::__min; - __large_ignore = true; - } - else - break; - } - - if (__n == __gnu_cxx::__numeric_traits::__max) - { - if (__large_ignore) - _M_gcount = __gnu_cxx::__numeric_traits::__max; - - if (traits_type::eq_int_type(__c, __eof)) - __err |= ios_base::eofbit; - else - { - if (_M_gcount != __n) - ++_M_gcount; - __sb->sbumpc(); - } - } - else if (_M_gcount < __n) - { - if (traits_type::eq_int_type(__c, __eof)) - __err |= ios_base::eofbit; - else - { - ++_M_gcount; - __sb->sbumpc(); - } - } - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - typename basic_istream<_CharT, _Traits>::int_type - basic_istream<_CharT, _Traits>:: - peek(void) - { - int_type __c = traits_type::eof(); - _M_gcount = 0; - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - __c = this->rdbuf()->sgetc(); - if (traits_type::eq_int_type(__c, traits_type::eof())) - __err |= ios_base::eofbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return __c; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - read(char_type* __s, streamsize __n) - { - _M_gcount = 0; - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - _M_gcount = this->rdbuf()->sgetn(__s, __n); - if (_M_gcount != __n) - __err |= (ios_base::eofbit | ios_base::failbit); - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - streamsize - basic_istream<_CharT, _Traits>:: - readsome(char_type* __s, streamsize __n) - { - _M_gcount = 0; - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - - const streamsize __num = this->rdbuf()->in_avail(); - if (__num > 0) - _M_gcount = this->rdbuf()->sgetn(__s, std::min(__num, __n)); - else if (__num == -1) - __err |= ios_base::eofbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return _M_gcount; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - putback(char_type __c) - { - - - _M_gcount = 0; - - this->clear(this->rdstate() & ~ios_base::eofbit); - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - const int_type __eof = traits_type::eof(); - __streambuf_type* __sb = this->rdbuf(); - if (!__sb - || traits_type::eq_int_type(__sb->sputbackc(__c), __eof)) - __err |= ios_base::badbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - unget(void) - { - - - _M_gcount = 0; - - this->clear(this->rdstate() & ~ios_base::eofbit); - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - const int_type __eof = traits_type::eof(); - __streambuf_type* __sb = this->rdbuf(); - if (!__sb - || traits_type::eq_int_type(__sb->sungetc(), __eof)) - __err |= ios_base::badbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - int - basic_istream<_CharT, _Traits>:: - sync(void) - { - - - int __ret = -1; - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - __streambuf_type* __sb = this->rdbuf(); - if (__sb) - { - if (__sb->pubsync() == -1) - __err |= ios_base::badbit; - else - __ret = 0; - } - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return __ret; - } - - template - typename basic_istream<_CharT, _Traits>::pos_type - basic_istream<_CharT, _Traits>:: - tellg(void) - { - - - pos_type __ret = pos_type(-1); - sentry __cerb(*this, true); - if (__cerb) - { - try - { - if (!this->fail()) - __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, - ios_base::in); - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - } - return __ret; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - seekg(pos_type __pos) - { - - - - this->clear(this->rdstate() & ~ios_base::eofbit); - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - if (!this->fail()) - { - - const pos_type __p = this->rdbuf()->pubseekpos(__pos, - ios_base::in); - - - if (__p == pos_type(off_type(-1))) - __err |= ios_base::failbit; - } - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - seekg(off_type __off, ios_base::seekdir __dir) - { - - - - this->clear(this->rdstate() & ~ios_base::eofbit); - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - if (!this->fail()) - { - - const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir, - ios_base::in); - - - if (__p == pos_type(off_type(-1))) - __err |= ios_base::failbit; - } - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - - template - basic_istream<_CharT, _Traits>& - operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c) - { - typedef basic_istream<_CharT, _Traits> __istream_type; - typedef typename __istream_type::int_type __int_type; - - typename __istream_type::sentry __cerb(__in, false); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - const __int_type __cb = __in.rdbuf()->sbumpc(); - if (!_Traits::eq_int_type(__cb, _Traits::eof())) - __c = _Traits::to_char_type(__cb); - else - __err |= (ios_base::eofbit | ios_base::failbit); - } - catch(__cxxabiv1::__forced_unwind&) - { - __in._M_setstate(ios_base::badbit); - throw; - } - catch(...) - { __in._M_setstate(ios_base::badbit); } - if (__err) - __in.setstate(__err); - } - return __in; - } - - template - void - __istream_extract(basic_istream<_CharT, _Traits>& __in, _CharT* __s, - streamsize __num) - { - typedef basic_istream<_CharT, _Traits> __istream_type; - typedef basic_streambuf<_CharT, _Traits> __streambuf_type; - typedef typename _Traits::int_type int_type; - typedef _CharT char_type; - typedef ctype<_CharT> __ctype_type; - - streamsize __extracted = 0; - ios_base::iostate __err = ios_base::goodbit; - typename __istream_type::sentry __cerb(__in, false); - if (__cerb) - { - try - { - - streamsize __width = __in.width(); - if (0 < __width && __width < __num) - __num = __width; - - const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); - - const int_type __eof = _Traits::eof(); - __streambuf_type* __sb = __in.rdbuf(); - int_type __c = __sb->sgetc(); - - while (__extracted < __num - 1 - && !_Traits::eq_int_type(__c, __eof) - && !__ct.is(ctype_base::space, - _Traits::to_char_type(__c))) - { - *__s++ = _Traits::to_char_type(__c); - ++__extracted; - __c = __sb->snextc(); - } - - if (__extracted < __num - 1 - && _Traits::eq_int_type(__c, __eof)) - __err |= ios_base::eofbit; - - - - *__s = char_type(); - __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); - } - - - template - basic_istream<_CharT, _Traits>& - ws(basic_istream<_CharT, _Traits>& __in) - { - typedef basic_istream<_CharT, _Traits> __istream_type; - typedef basic_streambuf<_CharT, _Traits> __streambuf_type; - typedef typename __istream_type::int_type __int_type; - typedef ctype<_CharT> __ctype_type; - - - - typename __istream_type::sentry __cerb(__in, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); - const __int_type __eof = _Traits::eof(); - __streambuf_type* __sb = __in.rdbuf(); - __int_type __c = __sb->sgetc(); - - while (true) - { - if (_Traits::eq_int_type(__c, __eof)) - { - __err = ios_base::eofbit; - break; - } - if (!__ct.is(ctype_base::space, _Traits::to_char_type(__c))) - break; - __c = __sb->snextc(); - } - } - catch(const __cxxabiv1::__forced_unwind&) - { - __in._M_setstate(ios_base::badbit); - throw; - } - catch(...) - { - __in._M_setstate(ios_base::badbit); - } - if (__err) - __in.setstate(__err); - } - return __in; - } - - - - - extern template class basic_istream; - extern template istream& ws(istream&); - extern template istream& operator>>(istream&, char&); - extern template istream& operator>>(istream&, unsigned char&); - extern template istream& operator>>(istream&, signed char&); - - extern template istream& istream::_M_extract(unsigned short&); - extern template istream& istream::_M_extract(unsigned int&); - extern template istream& istream::_M_extract(long&); - extern template istream& istream::_M_extract(unsigned long&); - extern template istream& istream::_M_extract(bool&); - - extern template istream& istream::_M_extract(long long&); - extern template istream& istream::_M_extract(unsigned long long&); - - extern template istream& istream::_M_extract(float&); - extern template istream& istream::_M_extract(double&); - extern template istream& istream::_M_extract(long double&); - extern template istream& istream::_M_extract(void*&); - - extern template class basic_iostream; - - - extern template class basic_istream; - extern template wistream& ws(wistream&); - extern template wistream& operator>>(wistream&, wchar_t&); - extern template void __istream_extract(wistream&, wchar_t*, streamsize); - - extern template wistream& wistream::_M_extract(unsigned short&); - extern template wistream& wistream::_M_extract(unsigned int&); - extern template wistream& wistream::_M_extract(long&); - extern template wistream& wistream::_M_extract(unsigned long&); - extern template wistream& wistream::_M_extract(bool&); - - extern template wistream& wistream::_M_extract(long long&); - extern template wistream& wistream::_M_extract(unsigned long long&); - - extern template wistream& wistream::_M_extract(float&); - extern template wistream& wistream::_M_extract(double&); - extern template wistream& wistream::_M_extract(long double&); - extern template wistream& wistream::_M_extract(void*&); - - extern template class basic_iostream; - - - - -} -# 1107 "/usr/include/c++/14.1.1/istream" 2 3 -# 43 "/usr/include/c++/14.1.1/iostream" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 62 "/usr/include/c++/14.1.1/iostream" 3 - extern istream cin; - extern ostream cout; - extern ostream cerr; - extern ostream clog; - - - extern wistream wcin; - extern wostream wcout; - extern wostream wcerr; - extern wostream wclog; -# 82 "/usr/include/c++/14.1.1/iostream" 3 - __extension__ __asm (".globl _ZSt21ios_base_library_initv"); - - - -} -# 2 "/home/ghazal/CLionProjects/NextFlick/main.cpp" 2 - - -# 3 "/home/ghazal/CLionProjects/NextFlick/main.cpp" -int main() { - - return 0; -} diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/main.cpp.o.modmap b/cmake-build-debug/CMakeFiles/NextFlick.dir/main.cpp.o.modmap deleted file mode 100644 index b7619d4..0000000 --- a/cmake-build-debug/CMakeFiles/NextFlick.dir/main.cpp.o.modmap +++ /dev/null @@ -1 +0,0 @@ -$root . diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/main.cpp.obj b/cmake-build-debug/CMakeFiles/NextFlick.dir/main.cpp.obj new file mode 100644 index 0000000..72039f6 Binary files /dev/null and b/cmake-build-debug/CMakeFiles/NextFlick.dir/main.cpp.obj differ diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/main.cpp.obj.d b/cmake-build-debug/CMakeFiles/NextFlick.dir/main.cpp.obj.d new file mode 100644 index 0000000..5040e51 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/NextFlick.dir/main.cpp.obj.d @@ -0,0 +1,189 @@ +CMakeFiles/NextFlick.dir/main.cpp.obj: \ + C:\Users\ZBook\ Fury\CLionProjects\NextFlick\main.cpp \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/iostream \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/requires_hosted.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++config.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/os_defines.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/cpu_defines.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/pstl/pstl_config.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ostream \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ios \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/iosfwd \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stringfwd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/memoryfwd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/postypes.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cwchar \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/wchar.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_mac.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_secapi.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/vadefs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sdks/_mingw_ddk.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_stdio_config.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_wstdlib.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_off_t.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_stat64.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/swprintf.inl \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/wchar_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/exception \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception_ptr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception_defines.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cxxabi_init_exception.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/stddef.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stddef.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/crtdefs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/typeinfo \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/hash_bytes.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/new \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/move.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/type_traits \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/nested_exception.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/char_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/compare \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/concepts \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_construct.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_types.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/iterator_concepts.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ptr_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_cmp.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_funcs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/concept_check.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/debug/assertions.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/localefwd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++locale.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/clocale \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/locale.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdio.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/stdio_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cctype \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/ctype.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ios_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/atomicity.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/gthr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/gthr-default.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/errno.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sys/types.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/process.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_startup.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/limits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/syslimits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/limits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/signal.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_signal.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/time.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sys/timeb.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/sys/timeb_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_timeval.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_time.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_compat.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_unistd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/atomic_word.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_classes.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/string \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/new_allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/functexcept.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cpp_type_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ostream_insert.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cxxabi_forced.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/type_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_function.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward/binders.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/numeric_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_algobase.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_pair.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/utility.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/debug/debug.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/predefined_ops.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bit \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/refwrap.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/invoke.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/range_access.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/initializer_list \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_string.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/alloc_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/alloc_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/string_view \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/functional_hash.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/max_size_type.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/numbers \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/string_view.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/string_conversions.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstdlib \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdlib.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/stdlib_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/stdlib.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/malloc.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/mm_malloc.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/std_abs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstdio \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cerrno \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/charconv.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_string.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/memory_resource.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstddef \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/uses_allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/uses_allocator_args.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/tuple \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_util.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_classes.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/system_error \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/error_constants.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/stdexcept \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/streambuf \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/streambuf.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_ios.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_facets.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cwctype \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/wctype.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/streambuf_iterator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_inline.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_facets.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_ios.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ostream.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/istream \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/istream.tcc \ + C:\Users\ZBook\ Fury\CLionProjects\NextFlick\CompressedTrie.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/vector \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_uninitialized.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_vector.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_bvector.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/vector.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/unordered_map \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/unordered_map.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/hashtable.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/hashtable_policy.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/aligned_buffer.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/enable_special_members.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/node_handle.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/erase_if.h \ + C:\Users\ZBook\ Fury\CLionProjects\NextFlick\Media.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/memory \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_tempbuf.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_raw_storage_iter.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/align.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/stdint.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdint.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/unique_ptr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/shared_ptr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/shared_ptr_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/allocated_ptr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/concurrence.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/shared_ptr_atomic.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/atomic_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/atomic_lockfree_defines.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/atomic_wait.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/std_mutex.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward/auto_ptr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_uninitialized.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_algobase.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/pstl/glue_memory_defs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/pstl/execution_defs.h \ + C:\Users\ZBook\ Fury\CLionProjects\NextFlick\Film.h diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/objects.a b/cmake-build-debug/CMakeFiles/NextFlick.dir/objects.a new file mode 100644 index 0000000..3558db0 Binary files /dev/null and b/cmake-build-debug/CMakeFiles/NextFlick.dir/objects.a differ diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/objects1.rsp b/cmake-build-debug/CMakeFiles/NextFlick.dir/objects1.rsp new file mode 100644 index 0000000..2ec72eb --- /dev/null +++ b/cmake-build-debug/CMakeFiles/NextFlick.dir/objects1.rsp @@ -0,0 +1 @@ +CMakeFiles/NextFlick.dir/main.cpp.obj CMakeFiles/NextFlick.dir/users.cpp.obj CMakeFiles/NextFlick.dir/admin.cpp.obj CMakeFiles/NextFlick.dir/CompressedTrie.cpp.obj diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/progress.make b/cmake-build-debug/CMakeFiles/NextFlick.dir/progress.make new file mode 100644 index 0000000..33e6bff --- /dev/null +++ b/cmake-build-debug/CMakeFiles/NextFlick.dir/progress.make @@ -0,0 +1,6 @@ +CMAKE_PROGRESS_1 = 1 +CMAKE_PROGRESS_2 = 2 +CMAKE_PROGRESS_3 = 3 +CMAKE_PROGRESS_4 = 4 +CMAKE_PROGRESS_5 = 5 + diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/users.cpp.ddi b/cmake-build-debug/CMakeFiles/NextFlick.dir/users.cpp.ddi deleted file mode 100644 index 59bae28..0000000 --- a/cmake-build-debug/CMakeFiles/NextFlick.dir/users.cpp.ddi +++ /dev/null @@ -1,11 +0,0 @@ -{ -"rules": [ -{ -"primary-output": "CMakeFiles/NextFlick.dir/users.cpp.o", -"requires": [ -] -} -], -"version": 0, -"revision": 0 -} diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/users.cpp.o b/cmake-build-debug/CMakeFiles/NextFlick.dir/users.cpp.o deleted file mode 100644 index 18b8bf4..0000000 Binary files a/cmake-build-debug/CMakeFiles/NextFlick.dir/users.cpp.o and /dev/null differ diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/users.cpp.o.ddi b/cmake-build-debug/CMakeFiles/NextFlick.dir/users.cpp.o.ddi deleted file mode 100644 index 59bae28..0000000 --- a/cmake-build-debug/CMakeFiles/NextFlick.dir/users.cpp.o.ddi +++ /dev/null @@ -1,11 +0,0 @@ -{ -"rules": [ -{ -"primary-output": "CMakeFiles/NextFlick.dir/users.cpp.o", -"requires": [ -] -} -], -"version": 0, -"revision": 0 -} diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/users.cpp.o.ddi.d b/cmake-build-debug/CMakeFiles/NextFlick.dir/users.cpp.o.ddi.d deleted file mode 100644 index bb8d47f..0000000 --- a/cmake-build-debug/CMakeFiles/NextFlick.dir/users.cpp.o.ddi.d +++ /dev/null @@ -1,151 +0,0 @@ -CMakeFiles/NextFlick.dir/users.cpp.o.ddi: \ - /home/ghazal/CLionProjects/NextFlick/users.cpp \ - /usr/include/stdc-predef.h /home/ghazal/CLionProjects/NextFlick/users.h \ - /home/ghazal/CLionProjects/NextFlick/user.h \ - /usr/include/c++/14.1.1/iostream \ - /usr/include/c++/14.1.1/bits/requires_hosted.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/os_defines.h \ - /usr/include/features.h /usr/include/features-time64.h \ - /usr/include/bits/wordsize.h /usr/include/bits/timesize.h \ - /usr/include/sys/cdefs.h /usr/include/bits/long-double.h \ - /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/cpu_defines.h \ - /usr/include/c++/14.1.1/pstl/pstl_config.h \ - /usr/include/c++/14.1.1/ostream /usr/include/c++/14.1.1/ios \ - /usr/include/c++/14.1.1/iosfwd /usr/include/c++/14.1.1/bits/stringfwd.h \ - /usr/include/c++/14.1.1/bits/memoryfwd.h \ - /usr/include/c++/14.1.1/bits/postypes.h /usr/include/c++/14.1.1/cwchar \ - /usr/include/wchar.h /usr/include/bits/libc-header-start.h \ - /usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \ - /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h \ - /usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stdarg.h \ - /usr/include/bits/wchar.h /usr/include/bits/types/wint_t.h \ - /usr/include/bits/types/mbstate_t.h \ - /usr/include/bits/types/__mbstate_t.h /usr/include/bits/types/__FILE.h \ - /usr/include/bits/types/FILE.h /usr/include/bits/types/locale_t.h \ - /usr/include/bits/types/__locale_t.h /usr/include/c++/14.1.1/exception \ - /usr/include/c++/14.1.1/bits/exception.h \ - /usr/include/c++/14.1.1/bits/version.h \ - /usr/include/c++/14.1.1/bits/exception_ptr.h \ - /usr/include/c++/14.1.1/bits/exception_defines.h \ - /usr/include/c++/14.1.1/bits/cxxabi_init_exception.h \ - /usr/include/c++/14.1.1/typeinfo \ - /usr/include/c++/14.1.1/bits/hash_bytes.h /usr/include/c++/14.1.1/new \ - /usr/include/c++/14.1.1/bits/move.h /usr/include/c++/14.1.1/type_traits \ - /usr/include/c++/14.1.1/bits/nested_exception.h \ - /usr/include/c++/14.1.1/bits/char_traits.h \ - /usr/include/c++/14.1.1/compare /usr/include/c++/14.1.1/concepts \ - /usr/include/c++/14.1.1/bits/stl_construct.h \ - /usr/include/c++/14.1.1/bits/stl_iterator_base_types.h \ - /usr/include/c++/14.1.1/bits/iterator_concepts.h \ - /usr/include/c++/14.1.1/bits/ptr_traits.h \ - /usr/include/c++/14.1.1/bits/ranges_cmp.h \ - /usr/include/c++/14.1.1/bits/stl_iterator_base_funcs.h \ - /usr/include/c++/14.1.1/bits/concept_check.h \ - /usr/include/c++/14.1.1/debug/assertions.h \ - /usr/include/c++/14.1.1/bits/localefwd.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++locale.h \ - /usr/include/c++/14.1.1/clocale /usr/include/locale.h \ - /usr/include/bits/locale.h /usr/include/c++/14.1.1/cctype \ - /usr/include/ctype.h /usr/include/bits/types.h \ - /usr/include/bits/typesizes.h /usr/include/bits/time64.h \ - /usr/include/bits/endian.h /usr/include/bits/endianness.h \ - /usr/include/c++/14.1.1/bits/ios_base.h \ - /usr/include/c++/14.1.1/ext/atomicity.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h \ - /usr/include/pthread.h /usr/include/sched.h \ - /usr/include/bits/types/time_t.h \ - /usr/include/bits/types/struct_timespec.h /usr/include/bits/sched.h \ - /usr/include/bits/types/struct_sched_param.h /usr/include/bits/cpu-set.h \ - /usr/include/time.h /usr/include/bits/time.h /usr/include/bits/timex.h \ - /usr/include/bits/types/struct_timeval.h \ - /usr/include/bits/types/clock_t.h /usr/include/bits/types/struct_tm.h \ - /usr/include/bits/types/clockid_t.h /usr/include/bits/types/timer_t.h \ - /usr/include/bits/types/struct_itimerspec.h \ - /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \ - /usr/include/bits/pthreadtypes-arch.h \ - /usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \ - /usr/include/bits/struct_rwlock.h /usr/include/bits/setjmp.h \ - /usr/include/bits/types/__sigset_t.h \ - /usr/include/bits/types/struct___jmp_buf_tag.h \ - /usr/include/bits/pthread_stack_min-dynamic.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/atomic_word.h \ - /usr/include/sys/single_threaded.h \ - /usr/include/c++/14.1.1/bits/locale_classes.h \ - /usr/include/c++/14.1.1/string /usr/include/c++/14.1.1/bits/allocator.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h \ - /usr/include/c++/14.1.1/bits/new_allocator.h \ - /usr/include/c++/14.1.1/bits/functexcept.h \ - /usr/include/c++/14.1.1/bits/cpp_type_traits.h \ - /usr/include/c++/14.1.1/bits/ostream_insert.h \ - /usr/include/c++/14.1.1/bits/cxxabi_forced.h \ - /usr/include/c++/14.1.1/bits/stl_iterator.h \ - /usr/include/c++/14.1.1/ext/type_traits.h \ - /usr/include/c++/14.1.1/bits/stl_function.h \ - /usr/include/c++/14.1.1/backward/binders.h \ - /usr/include/c++/14.1.1/ext/numeric_traits.h \ - /usr/include/c++/14.1.1/bits/stl_algobase.h \ - /usr/include/c++/14.1.1/bits/stl_pair.h \ - /usr/include/c++/14.1.1/bits/utility.h \ - /usr/include/c++/14.1.1/debug/debug.h \ - /usr/include/c++/14.1.1/bits/predefined_ops.h \ - /usr/include/c++/14.1.1/bit /usr/include/c++/14.1.1/bits/refwrap.h \ - /usr/include/c++/14.1.1/bits/invoke.h \ - /usr/include/c++/14.1.1/bits/range_access.h \ - /usr/include/c++/14.1.1/initializer_list \ - /usr/include/c++/14.1.1/bits/basic_string.h \ - /usr/include/c++/14.1.1/ext/alloc_traits.h \ - /usr/include/c++/14.1.1/bits/alloc_traits.h \ - /usr/include/c++/14.1.1/string_view \ - /usr/include/c++/14.1.1/bits/functional_hash.h \ - /usr/include/c++/14.1.1/bits/ranges_base.h \ - /usr/include/c++/14.1.1/bits/max_size_type.h \ - /usr/include/c++/14.1.1/numbers \ - /usr/include/c++/14.1.1/bits/string_view.tcc \ - /usr/include/c++/14.1.1/ext/string_conversions.h \ - /usr/include/c++/14.1.1/cstdlib /usr/include/stdlib.h \ - /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ - /usr/include/sys/types.h /usr/include/bits/stdint-intn.h \ - /usr/include/endian.h /usr/include/bits/byteswap.h \ - /usr/include/bits/uintn-identity.h /usr/include/sys/select.h \ - /usr/include/bits/select.h /usr/include/bits/types/sigset_t.h \ - /usr/include/alloca.h /usr/include/bits/stdlib-float.h \ - /usr/include/c++/14.1.1/bits/std_abs.h /usr/include/c++/14.1.1/cstdio \ - /usr/include/stdio.h /usr/include/bits/types/__fpos_t.h \ - /usr/include/bits/types/__fpos64_t.h \ - /usr/include/bits/types/struct_FILE.h \ - /usr/include/bits/types/cookie_io_functions_t.h \ - /usr/include/bits/stdio_lim.h /usr/include/c++/14.1.1/cerrno \ - /usr/include/errno.h /usr/include/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/bits/types/error_t.h \ - /usr/include/c++/14.1.1/bits/charconv.h \ - /usr/include/c++/14.1.1/bits/basic_string.tcc \ - /usr/include/c++/14.1.1/bits/memory_resource.h \ - /usr/include/c++/14.1.1/cstddef \ - /usr/include/c++/14.1.1/bits/uses_allocator.h \ - /usr/include/c++/14.1.1/bits/uses_allocator_args.h \ - /usr/include/c++/14.1.1/tuple /usr/include/c++/14.1.1/bits/ranges_util.h \ - /usr/include/c++/14.1.1/bits/locale_classes.tcc \ - /usr/include/c++/14.1.1/system_error \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/error_constants.h \ - /usr/include/c++/14.1.1/stdexcept /usr/include/c++/14.1.1/streambuf \ - /usr/include/c++/14.1.1/bits/streambuf.tcc \ - /usr/include/c++/14.1.1/bits/basic_ios.h \ - /usr/include/c++/14.1.1/bits/locale_facets.h \ - /usr/include/c++/14.1.1/cwctype /usr/include/wctype.h \ - /usr/include/bits/wctype-wchar.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/ctype_base.h \ - /usr/include/c++/14.1.1/bits/streambuf_iterator.h \ - /usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/ctype_inline.h \ - /usr/include/c++/14.1.1/bits/locale_facets.tcc \ - /usr/include/c++/14.1.1/bits/basic_ios.tcc \ - /usr/include/c++/14.1.1/bits/ostream.tcc /usr/include/c++/14.1.1/istream \ - /usr/include/c++/14.1.1/bits/istream.tcc /usr/include/c++/14.1.1/vector \ - /usr/include/c++/14.1.1/bits/stl_uninitialized.h \ - /usr/include/c++/14.1.1/bits/stl_vector.h \ - /usr/include/c++/14.1.1/bits/stl_bvector.h \ - /usr/include/c++/14.1.1/bits/vector.tcc diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/users.cpp.o.ddi.i b/cmake-build-debug/CMakeFiles/NextFlick.dir/users.cpp.o.ddi.i deleted file mode 100644 index f8ed7d5..0000000 --- a/cmake-build-debug/CMakeFiles/NextFlick.dir/users.cpp.o.ddi.i +++ /dev/null @@ -1,48254 +0,0 @@ -# 0 "/home/ghazal/CLionProjects/NextFlick/users.cpp" -# 1 "/home/ghazal/CLionProjects/NextFlick/cmake-build-debug//" -# 0 "" -# 0 "" -# 1 "/usr/include/stdc-predef.h" 1 3 4 -# 0 "" 2 -# 1 "/home/ghazal/CLionProjects/NextFlick/users.cpp" - - - - -# 1 "/home/ghazal/CLionProjects/NextFlick/users.h" 1 - - - - - - -# 1 "/home/ghazal/CLionProjects/NextFlick/user.h" 1 - - - - - - -# 1 "/usr/include/c++/14.1.1/iostream" 1 3 -# 36 "/usr/include/c++/14.1.1/iostream" 3 - -# 37 "/usr/include/c++/14.1.1/iostream" 3 - -# 1 "/usr/include/c++/14.1.1/bits/requires_hosted.h" 1 3 -# 31 "/usr/include/c++/14.1.1/bits/requires_hosted.h" 3 -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 1 3 -# 33 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 - -# 34 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 -# 308 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 - -# 308 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 -namespace std -{ - typedef long unsigned int size_t; - typedef long int ptrdiff_t; - - - typedef decltype(nullptr) nullptr_t; - - -#pragma GCC visibility push(default) - - - extern "C++" __attribute__ ((__noreturn__, __always_inline__)) - inline void __terminate() noexcept - { - void terminate() noexcept __attribute__ ((__noreturn__,__cold__)); - terminate(); - } -#pragma GCC visibility pop -} -# 341 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 -namespace std -{ - inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } -} -namespace __gnu_cxx -{ - inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } -} -# 534 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 -namespace std -{ -#pragma GCC visibility push(default) - - - - - __attribute__((__always_inline__)) - constexpr inline bool - __is_constant_evaluated() noexcept - { - - - - - - return __builtin_is_constant_evaluated(); - - - - } -#pragma GCC visibility pop -} -# 573 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 -namespace std -{ -#pragma GCC visibility push(default) - - extern "C++" __attribute__ ((__noreturn__)) - void - __glibcxx_assert_fail - (const char* __file, int __line, const char* __function, - const char* __condition) - noexcept; -#pragma GCC visibility pop -} -# 601 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 -namespace std -{ - __attribute__((__always_inline__,__visibility__("default"))) - inline void - __glibcxx_assert_fail() - { } -} -# 680 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/os_defines.h" 1 3 -# 39 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/os_defines.h" 3 -# 1 "/usr/include/features.h" 1 3 4 -# 394 "/usr/include/features.h" 3 4 -# 1 "/usr/include/features-time64.h" 1 3 4 -# 20 "/usr/include/features-time64.h" 3 4 -# 1 "/usr/include/bits/wordsize.h" 1 3 4 -# 21 "/usr/include/features-time64.h" 2 3 4 -# 1 "/usr/include/bits/timesize.h" 1 3 4 -# 19 "/usr/include/bits/timesize.h" 3 4 -# 1 "/usr/include/bits/wordsize.h" 1 3 4 -# 20 "/usr/include/bits/timesize.h" 2 3 4 -# 22 "/usr/include/features-time64.h" 2 3 4 -# 395 "/usr/include/features.h" 2 3 4 -# 503 "/usr/include/features.h" 3 4 -# 1 "/usr/include/sys/cdefs.h" 1 3 4 -# 576 "/usr/include/sys/cdefs.h" 3 4 -# 1 "/usr/include/bits/wordsize.h" 1 3 4 -# 577 "/usr/include/sys/cdefs.h" 2 3 4 -# 1 "/usr/include/bits/long-double.h" 1 3 4 -# 578 "/usr/include/sys/cdefs.h" 2 3 4 -# 504 "/usr/include/features.h" 2 3 4 -# 527 "/usr/include/features.h" 3 4 -# 1 "/usr/include/gnu/stubs.h" 1 3 4 -# 10 "/usr/include/gnu/stubs.h" 3 4 -# 1 "/usr/include/gnu/stubs-64.h" 1 3 4 -# 11 "/usr/include/gnu/stubs.h" 2 3 4 -# 528 "/usr/include/features.h" 2 3 4 -# 40 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/os_defines.h" 2 3 -# 681 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 2 3 - - -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/cpu_defines.h" 1 3 -# 684 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 2 3 -# 825 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 -namespace __gnu_cxx -{ - typedef __decltype(0.0bf16) __bfloat16_t; -} -# 887 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 3 -# 1 "/usr/include/c++/14.1.1/pstl/pstl_config.h" 1 3 -# 888 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++config.h" 2 3 -# 32 "/usr/include/c++/14.1.1/bits/requires_hosted.h" 2 3 -# 39 "/usr/include/c++/14.1.1/iostream" 2 3 - - -# 1 "/usr/include/c++/14.1.1/ostream" 1 3 -# 36 "/usr/include/c++/14.1.1/ostream" 3 - -# 37 "/usr/include/c++/14.1.1/ostream" 3 - - - -# 1 "/usr/include/c++/14.1.1/ios" 1 3 -# 36 "/usr/include/c++/14.1.1/ios" 3 - -# 37 "/usr/include/c++/14.1.1/ios" 3 - - - -# 1 "/usr/include/c++/14.1.1/iosfwd" 1 3 -# 36 "/usr/include/c++/14.1.1/iosfwd" 3 - -# 37 "/usr/include/c++/14.1.1/iosfwd" 3 - - - - -# 1 "/usr/include/c++/14.1.1/bits/stringfwd.h" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/stringfwd.h" 3 - -# 38 "/usr/include/c++/14.1.1/bits/stringfwd.h" 3 - - -# 1 "/usr/include/c++/14.1.1/bits/memoryfwd.h" 1 3 -# 46 "/usr/include/c++/14.1.1/bits/memoryfwd.h" 3 - -# 47 "/usr/include/c++/14.1.1/bits/memoryfwd.h" 3 - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 64 "/usr/include/c++/14.1.1/bits/memoryfwd.h" 3 - template - class allocator; - - template<> - class allocator; - - - - template - struct uses_allocator; - - template - struct allocator_traits; - - - - - -} -# 41 "/usr/include/c++/14.1.1/bits/stringfwd.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - - - template - struct char_traits; - - template<> struct char_traits; - - template<> struct char_traits; - - - template<> struct char_traits; - - - - template<> struct char_traits; - template<> struct char_traits; - - -namespace __cxx11 { - - template, - typename _Alloc = allocator<_CharT> > - class basic_string; - -} - - - typedef basic_string string; - - - typedef basic_string wstring; - - - - typedef basic_string u8string; - - - - - typedef basic_string u16string; - - - typedef basic_string u32string; - - - - - -} -# 42 "/usr/include/c++/14.1.1/iosfwd" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/postypes.h" 1 3 -# 38 "/usr/include/c++/14.1.1/bits/postypes.h" 3 - -# 39 "/usr/include/c++/14.1.1/bits/postypes.h" 3 - -# 1 "/usr/include/c++/14.1.1/cwchar" 1 3 -# 39 "/usr/include/c++/14.1.1/cwchar" 3 - -# 40 "/usr/include/c++/14.1.1/cwchar" 3 - - - - -# 1 "/usr/include/wchar.h" 1 3 4 -# 27 "/usr/include/wchar.h" 3 4 -# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 -# 28 "/usr/include/wchar.h" 2 3 4 - - -# 1 "/usr/include/bits/floatn.h" 1 3 4 -# 119 "/usr/include/bits/floatn.h" 3 4 -# 1 "/usr/include/bits/floatn-common.h" 1 3 4 -# 24 "/usr/include/bits/floatn-common.h" 3 4 -# 1 "/usr/include/bits/long-double.h" 1 3 4 -# 25 "/usr/include/bits/floatn-common.h" 2 3 4 -# 120 "/usr/include/bits/floatn.h" 2 3 4 -# 31 "/usr/include/wchar.h" 2 3 4 - - - - -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 214 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 3 4 -typedef long unsigned int size_t; -# 36 "/usr/include/wchar.h" 2 3 4 - - -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stdarg.h" 1 3 4 -# 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stdarg.h" 3 4 -typedef __builtin_va_list __gnuc_va_list; -# 39 "/usr/include/wchar.h" 2 3 4 - - - - -typedef __gnuc_va_list va_list; - - - - - - - -# 1 "/usr/include/bits/wchar.h" 1 3 4 -# 52 "/usr/include/wchar.h" 2 3 4 -# 1 "/usr/include/bits/types/wint_t.h" 1 3 4 -# 20 "/usr/include/bits/types/wint_t.h" 3 4 -typedef unsigned int wint_t; -# 53 "/usr/include/wchar.h" 2 3 4 -# 1 "/usr/include/bits/types/mbstate_t.h" 1 3 4 - - - -# 1 "/usr/include/bits/types/__mbstate_t.h" 1 3 4 -# 13 "/usr/include/bits/types/__mbstate_t.h" 3 4 -typedef struct -{ - int __count; - union - { - unsigned int __wch; - char __wchb[4]; - } __value; -} __mbstate_t; -# 5 "/usr/include/bits/types/mbstate_t.h" 2 3 4 - -typedef __mbstate_t mbstate_t; -# 54 "/usr/include/wchar.h" 2 3 4 -# 1 "/usr/include/bits/types/__FILE.h" 1 3 4 - - - -struct _IO_FILE; -typedef struct _IO_FILE __FILE; -# 55 "/usr/include/wchar.h" 2 3 4 - - -# 1 "/usr/include/bits/types/FILE.h" 1 3 4 - - - -struct _IO_FILE; - - -typedef struct _IO_FILE FILE; -# 58 "/usr/include/wchar.h" 2 3 4 - - -# 1 "/usr/include/bits/types/locale_t.h" 1 3 4 -# 22 "/usr/include/bits/types/locale_t.h" 3 4 -# 1 "/usr/include/bits/types/__locale_t.h" 1 3 4 -# 27 "/usr/include/bits/types/__locale_t.h" 3 4 -struct __locale_struct -{ - - struct __locale_data *__locales[13]; - - - const unsigned short int *__ctype_b; - const int *__ctype_tolower; - const int *__ctype_toupper; - - - const char *__names[13]; -}; - -typedef struct __locale_struct *__locale_t; -# 23 "/usr/include/bits/types/locale_t.h" 2 3 4 - -typedef __locale_t locale_t; -# 61 "/usr/include/wchar.h" 2 3 4 -# 90 "/usr/include/wchar.h" 3 4 -extern "C" { - - - -struct tm; - - - -extern wchar_t *wcscpy (wchar_t *__restrict __dest, - const wchar_t *__restrict __src) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern wchar_t *wcsncpy (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, size_t __n) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - - -extern size_t wcslcpy (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, size_t __n) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 3))); - - - -extern size_t wcslcat (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, size_t __n) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__read_write__, 1, 3))); - - - -extern wchar_t *wcscat (wchar_t *__restrict __dest, - const wchar_t *__restrict __src) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - -extern wchar_t *wcsncat (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, size_t __n) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2) - noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); - -extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) - noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); - - - -extern int wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) noexcept (true); - - -extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2, - size_t __n) noexcept (true); - - - -extern int wcscasecmp_l (const wchar_t *__s1, const wchar_t *__s2, - locale_t __loc) noexcept (true); - -extern int wcsncasecmp_l (const wchar_t *__s1, const wchar_t *__s2, - size_t __n, locale_t __loc) noexcept (true); - - - - -extern int wcscoll (const wchar_t *__s1, const wchar_t *__s2) noexcept (true); - - - -extern size_t wcsxfrm (wchar_t *__restrict __s1, - const wchar_t *__restrict __s2, size_t __n) noexcept (true); - - - - - - - -extern int wcscoll_l (const wchar_t *__s1, const wchar_t *__s2, - locale_t __loc) noexcept (true); - - - - -extern size_t wcsxfrm_l (wchar_t *__s1, const wchar_t *__s2, - size_t __n, locale_t __loc) noexcept (true); - - -extern wchar_t *wcsdup (const wchar_t *__s) noexcept (true) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (__builtin_free, 1))); - - - - -extern "C++" wchar_t *wcschr (wchar_t *__wcs, wchar_t __wc) - noexcept (true) __asm ("wcschr") __attribute__ ((__pure__)); -extern "C++" const wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc) - noexcept (true) __asm ("wcschr") __attribute__ ((__pure__)); - - - - - - -extern "C++" wchar_t *wcsrchr (wchar_t *__wcs, wchar_t __wc) - noexcept (true) __asm ("wcsrchr") __attribute__ ((__pure__)); -extern "C++" const wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc) - noexcept (true) __asm ("wcsrchr") __attribute__ ((__pure__)); -# 206 "/usr/include/wchar.h" 3 4 -extern wchar_t *wcschrnul (const wchar_t *__s, wchar_t __wc) - noexcept (true) __attribute__ ((__pure__)); - - - - -extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject) - noexcept (true) __attribute__ ((__pure__)); - - -extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept) - noexcept (true) __attribute__ ((__pure__)); - - -extern "C++" wchar_t *wcspbrk (wchar_t *__wcs, const wchar_t *__accept) - noexcept (true) __asm ("wcspbrk") __attribute__ ((__pure__)); -extern "C++" const wchar_t *wcspbrk (const wchar_t *__wcs, - const wchar_t *__accept) - noexcept (true) __asm ("wcspbrk") __attribute__ ((__pure__)); - - - - - - -extern "C++" wchar_t *wcsstr (wchar_t *__haystack, const wchar_t *__needle) - noexcept (true) __asm ("wcsstr") __attribute__ ((__pure__)); -extern "C++" const wchar_t *wcsstr (const wchar_t *__haystack, - const wchar_t *__needle) - noexcept (true) __asm ("wcsstr") __attribute__ ((__pure__)); - - - - - - -extern wchar_t *wcstok (wchar_t *__restrict __s, - const wchar_t *__restrict __delim, - wchar_t **__restrict __ptr) noexcept (true); - - -extern size_t wcslen (const wchar_t *__s) noexcept (true) __attribute__ ((__pure__)); - - - - -extern "C++" wchar_t *wcswcs (wchar_t *__haystack, const wchar_t *__needle) - noexcept (true) __asm ("wcswcs") __attribute__ ((__pure__)); -extern "C++" const wchar_t *wcswcs (const wchar_t *__haystack, - const wchar_t *__needle) - noexcept (true) __asm ("wcswcs") __attribute__ ((__pure__)); -# 265 "/usr/include/wchar.h" 3 4 -extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen) - noexcept (true) __attribute__ ((__pure__)); - - - - - -extern "C++" wchar_t *wmemchr (wchar_t *__s, wchar_t __c, size_t __n) - noexcept (true) __asm ("wmemchr") __attribute__ ((__pure__)); -extern "C++" const wchar_t *wmemchr (const wchar_t *__s, wchar_t __c, - size_t __n) - noexcept (true) __asm ("wmemchr") __attribute__ ((__pure__)); - - - - - - -extern int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) - noexcept (true) __attribute__ ((__pure__)); - - -extern wchar_t *wmemcpy (wchar_t *__restrict __s1, - const wchar_t *__restrict __s2, size_t __n) noexcept (true); - - - -extern wchar_t *wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n) - noexcept (true); - - -extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) noexcept (true); - - - - -extern wchar_t *wmempcpy (wchar_t *__restrict __s1, - const wchar_t *__restrict __s2, size_t __n) - noexcept (true); - - - - - -extern wint_t btowc (int __c) noexcept (true); - - - -extern int wctob (wint_t __c) noexcept (true); - - - -extern int mbsinit (const mbstate_t *__ps) noexcept (true) __attribute__ ((__pure__)); - - - -extern size_t mbrtowc (wchar_t *__restrict __pwc, - const char *__restrict __s, size_t __n, - mbstate_t *__restrict __p) noexcept (true); - - -extern size_t wcrtomb (char *__restrict __s, wchar_t __wc, - mbstate_t *__restrict __ps) noexcept (true); - - -extern size_t __mbrlen (const char *__restrict __s, size_t __n, - mbstate_t *__restrict __ps) noexcept (true); -extern size_t mbrlen (const char *__restrict __s, size_t __n, - mbstate_t *__restrict __ps) noexcept (true); -# 362 "/usr/include/wchar.h" 3 4 -extern size_t mbsrtowcs (wchar_t *__restrict __dst, - const char **__restrict __src, size_t __len, - mbstate_t *__restrict __ps) noexcept (true); - - - -extern size_t wcsrtombs (char *__restrict __dst, - const wchar_t **__restrict __src, size_t __len, - mbstate_t *__restrict __ps) noexcept (true); - - - - - -extern size_t mbsnrtowcs (wchar_t *__restrict __dst, - const char **__restrict __src, size_t __nmc, - size_t __len, mbstate_t *__restrict __ps) noexcept (true); - - - -extern size_t wcsnrtombs (char *__restrict __dst, - const wchar_t **__restrict __src, - size_t __nwc, size_t __len, - mbstate_t *__restrict __ps) noexcept (true); - - - - - - -extern int wcwidth (wchar_t __c) noexcept (true); - - - -extern int wcswidth (const wchar_t *__s, size_t __n) noexcept (true); - - - - - -extern double wcstod (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) noexcept (true); - - - -extern float wcstof (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) noexcept (true); -extern long double wcstold (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) noexcept (true); -# 422 "/usr/include/wchar.h" 3 4 -extern _Float32 wcstof32 (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) noexcept (true); - - - -extern _Float64 wcstof64 (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) noexcept (true); - - - -extern _Float128 wcstof128 (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) noexcept (true); - - - -extern _Float32x wcstof32x (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) noexcept (true); - - - -extern _Float64x wcstof64x (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) noexcept (true); -# 455 "/usr/include/wchar.h" 3 4 -extern long int wcstol (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, int __base) noexcept (true); - - - -extern unsigned long int wcstoul (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, int __base) - noexcept (true); - - - - -__extension__ -extern long long int wcstoll (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, int __base) - noexcept (true); - - - -__extension__ -extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - int __base) noexcept (true); - - - - - -__extension__ -extern long long int wcstoq (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, int __base) - noexcept (true); - - - -__extension__ -extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - int __base) noexcept (true); - - - - - - -extern long int wcstol (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstol") - - ; -extern unsigned long int wcstoul (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstoul") - - - ; -__extension__ -extern long long int wcstoll (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstoll") - - - ; -__extension__ -extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstoull") - - - ; - -__extension__ -extern long long int wcstoq (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstoll") - - ; -__extension__ -extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstoull") - - - ; -# 561 "/usr/include/wchar.h" 3 4 -extern long int wcstol_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, int __base, - locale_t __loc) noexcept (true); - -extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - int __base, locale_t __loc) noexcept (true); - -__extension__ -extern long long int wcstoll_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - int __base, locale_t __loc) noexcept (true); - -__extension__ -extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - int __base, locale_t __loc) - noexcept (true); - - - - - -extern long int wcstol_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_wcstol_l") - - - ; -extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_wcstoul_l") - - - - ; -__extension__ -extern long long int wcstoll_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_wcstoll_l") - - - - ; -__extension__ -extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_wcstoull_l") - - - - ; -# 630 "/usr/include/wchar.h" 3 4 -extern double wcstod_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, locale_t __loc) - noexcept (true); - -extern float wcstof_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, locale_t __loc) - noexcept (true); - -extern long double wcstold_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - locale_t __loc) noexcept (true); -# 649 "/usr/include/wchar.h" 3 4 -extern _Float32 wcstof32_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - locale_t __loc) noexcept (true); - - - -extern _Float64 wcstof64_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - locale_t __loc) noexcept (true); - - - -extern _Float128 wcstof128_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - locale_t __loc) noexcept (true); - - - -extern _Float32x wcstof32x_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - locale_t __loc) noexcept (true); - - - -extern _Float64x wcstof64x_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - locale_t __loc) noexcept (true); -# 689 "/usr/include/wchar.h" 3 4 -extern wchar_t *wcpcpy (wchar_t *__restrict __dest, - const wchar_t *__restrict __src) noexcept (true); - - - -extern wchar_t *wcpncpy (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, size_t __n) - noexcept (true); -# 718 "/usr/include/wchar.h" 3 4 -extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) noexcept (true) - __attribute__ ((__malloc__)) ; - - - - - -extern int fwide (__FILE *__fp, int __mode) noexcept (true); - - - - - - -extern int fwprintf (__FILE *__restrict __stream, - const wchar_t *__restrict __format, ...) - ; - - - - -extern int wprintf (const wchar_t *__restrict __format, ...) - ; - -extern int swprintf (wchar_t *__restrict __s, size_t __n, - const wchar_t *__restrict __format, ...) - noexcept (true) ; - - - - - -extern int vfwprintf (__FILE *__restrict __s, - const wchar_t *__restrict __format, - __gnuc_va_list __arg) - ; - - - - -extern int vwprintf (const wchar_t *__restrict __format, - __gnuc_va_list __arg) - ; - - -extern int vswprintf (wchar_t *__restrict __s, size_t __n, - const wchar_t *__restrict __format, - __gnuc_va_list __arg) - noexcept (true) ; - - - - - - -extern int fwscanf (__FILE *__restrict __stream, - const wchar_t *__restrict __format, ...) - ; - - - - -extern int wscanf (const wchar_t *__restrict __format, ...) - ; - -extern int swscanf (const wchar_t *__restrict __s, - const wchar_t *__restrict __format, ...) - noexcept (true) ; -# 795 "/usr/include/wchar.h" 3 4 -extern int fwscanf (__FILE *__restrict __stream, const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc23_fwscanf") - - - ; -extern int wscanf (const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc23_wscanf") - - ; -extern int swscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, ...) noexcept (true) __asm__ ("" "__isoc23_swscanf") - - - ; -# 851 "/usr/include/wchar.h" 3 4 -extern int vfwscanf (__FILE *__restrict __s, - const wchar_t *__restrict __format, - __gnuc_va_list __arg) - ; - - - - -extern int vwscanf (const wchar_t *__restrict __format, - __gnuc_va_list __arg) - ; - -extern int vswscanf (const wchar_t *__restrict __s, - const wchar_t *__restrict __format, - __gnuc_va_list __arg) - noexcept (true) ; -# 875 "/usr/include/wchar.h" 3 4 -extern int vfwscanf (__FILE *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc23_vfwscanf") - - - ; -extern int vwscanf (const wchar_t *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc23_vwscanf") - - ; -extern int vswscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) noexcept (true) __asm__ ("" "__isoc23_vswscanf") - - - ; -# 935 "/usr/include/wchar.h" 3 4 -extern wint_t fgetwc (__FILE *__stream); -extern wint_t getwc (__FILE *__stream); - - - - - -extern wint_t getwchar (void); - - - - - - -extern wint_t fputwc (wchar_t __wc, __FILE *__stream); -extern wint_t putwc (wchar_t __wc, __FILE *__stream); - - - - - -extern wint_t putwchar (wchar_t __wc); - - - - - - - -extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n, - __FILE *__restrict __stream); - - - - - -extern int fputws (const wchar_t *__restrict __ws, - __FILE *__restrict __stream); - - - - - - -extern wint_t ungetwc (wint_t __wc, __FILE *__stream); -# 990 "/usr/include/wchar.h" 3 4 -extern wint_t getwc_unlocked (__FILE *__stream); -extern wint_t getwchar_unlocked (void); - - - - - - - -extern wint_t fgetwc_unlocked (__FILE *__stream); - - - - - - - -extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream); -# 1016 "/usr/include/wchar.h" 3 4 -extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream); -extern wint_t putwchar_unlocked (wchar_t __wc); -# 1026 "/usr/include/wchar.h" 3 4 -extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n, - __FILE *__restrict __stream); - - - - - - - -extern int fputws_unlocked (const wchar_t *__restrict __ws, - __FILE *__restrict __stream); - - - - - - -extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize, - const wchar_t *__restrict __format, - const struct tm *__restrict __tp) noexcept (true); - - - - -extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize, - const wchar_t *__restrict __format, - const struct tm *__restrict __tp, - locale_t __loc) noexcept (true); -# 1073 "/usr/include/wchar.h" 3 4 -} -# 45 "/usr/include/c++/14.1.1/cwchar" 2 3 -# 62 "/usr/include/c++/14.1.1/cwchar" 3 -namespace std -{ - using ::mbstate_t; -} -# 135 "/usr/include/c++/14.1.1/cwchar" 3 -extern "C++" -{ -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - 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; -# 234 "/usr/include/c++/14.1.1/cwchar" 3 - -} -} - - - - - - - -namespace __gnu_cxx -{ - - - - - - using ::wcstold; -# 260 "/usr/include/c++/14.1.1/cwchar" 3 - using ::wcstoll; - using ::wcstoull; - -} - -namespace std -{ - using ::__gnu_cxx::wcstold; - using ::__gnu_cxx::wcstoll; - using ::__gnu_cxx::wcstoull; -} -# 280 "/usr/include/c++/14.1.1/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/include/c++/14.1.1/bits/postypes.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 62 "/usr/include/c++/14.1.1/bits/postypes.h" 3 - typedef long int streamoff; - - - - - - typedef ptrdiff_t streamsize; -# 81 "/usr/include/c++/14.1.1/bits/postypes.h" 3 - template - class fpos - { - private: - streamoff _M_off; - _StateT _M_state; - - public: - - - - - fpos() - : _M_off(0), _M_state() { } -# 103 "/usr/include/c++/14.1.1/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; - - - - typedef fpos u8streampos; - - - - - typedef fpos u16streampos; - - typedef fpos u32streampos; - - - -} -# 43 "/usr/include/c++/14.1.1/iosfwd" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 76 "/usr/include/c++/14.1.1/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; - - -namespace __cxx11 { - - 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; - - - - template, - typename _Allocator = allocator<_CharT>> - class basic_syncbuf; - template, - typename _Allocator = allocator<_CharT>> - class basic_osyncstream; - - using syncbuf = basic_syncbuf; - using osyncstream = basic_osyncstream; - - - using wsyncbuf = basic_syncbuf; - using wosyncstream = basic_osyncstream; -# 255 "/usr/include/c++/14.1.1/iosfwd" 3 - -} -# 41 "/usr/include/c++/14.1.1/ios" 2 3 -# 1 "/usr/include/c++/14.1.1/exception" 1 3 -# 33 "/usr/include/c++/14.1.1/exception" 3 - -# 34 "/usr/include/c++/14.1.1/exception" 3 - - -# 1 "/usr/include/c++/14.1.1/bits/exception.h" 1 3 -# 34 "/usr/include/c++/14.1.1/bits/exception.h" 3 - -# 35 "/usr/include/c++/14.1.1/bits/exception.h" 3 - - - -extern "C++" { - -namespace std __attribute__ ((__visibility__ ("default"))) -{ -# 59 "/usr/include/c++/14.1.1/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; - }; - - - -} - -} -# 37 "/usr/include/c++/14.1.1/exception" 2 3 - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 40 "/usr/include/c++/14.1.1/exception" 2 3 - -extern "C++" { - -namespace std __attribute__ ((__visibility__ ("default"))) -{ -# 54 "/usr/include/c++/14.1.1/exception" 3 - class bad_exception : public exception - { - public: - bad_exception() noexcept { } - - - - virtual ~bad_exception() noexcept; - - - virtual const char* - what() const noexcept; - }; - - - typedef void (*terminate_handler) (); - - - terminate_handler set_terminate(terminate_handler) noexcept; - - - - terminate_handler get_terminate() noexcept; - - - - - void terminate() noexcept __attribute__ ((__noreturn__,__cold__)); - - - - typedef void (*__attribute__ ((__deprecated__)) unexpected_handler) (); - - - - - - __attribute__ ((__deprecated__)) - unexpected_handler set_unexpected(unexpected_handler) noexcept; - - - - - - - - __attribute__ ((__deprecated__)) - unexpected_handler get_unexpected() noexcept; - - - - - - - - __attribute__ ((__deprecated__)) - void unexpected() __attribute__ ((__noreturn__,__cold__)); -# 124 "/usr/include/c++/14.1.1/exception" 3 - __attribute__ ((__deprecated__ ("use '" "std::uncaught_exceptions()" "' instead"))) - bool uncaught_exception() noexcept __attribute__ ((__pure__)); - - - - - - - int uncaught_exceptions() noexcept __attribute__ ((__pure__)); - - - -} - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - -# 158 "/usr/include/c++/14.1.1/exception" 3 - void __verbose_terminate_handler(); - - -} - -} - - -# 1 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 1 3 -# 35 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 3 -# 1 "/usr/include/c++/14.1.1/bits/exception_defines.h" 1 3 -# 36 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/cxxabi_init_exception.h" 1 3 -# 34 "/usr/include/c++/14.1.1/bits/cxxabi_init_exception.h" 3 - -# 35 "/usr/include/c++/14.1.1/bits/cxxabi_init_exception.h" 3 - -#pragma GCC visibility push(default) - -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 145 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 3 4 -typedef long int ptrdiff_t; -# 425 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/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)))); -# 436 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 3 4 -} max_align_t; - - - - - - - typedef decltype(nullptr) nullptr_t; -# 39 "/usr/include/c++/14.1.1/bits/cxxabi_init_exception.h" 2 3 -# 50 "/usr/include/c++/14.1.1/bits/cxxabi_init_exception.h" 3 -namespace std -{ - class type_info; -} - -namespace __cxxabiv1 -{ - struct __cxa_refcounted_exception; - - extern "C" - { - - void* - __cxa_allocate_exception(size_t) noexcept; - - void - __cxa_free_exception(void*) noexcept; - - - __cxa_refcounted_exception* - __cxa_init_primary_exception(void *__object, std::type_info *__tinfo, - void ( *__dest) (void *)) - noexcept; - - } -} - - - -#pragma GCC visibility pop -# 37 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 2 3 -# 1 "/usr/include/c++/14.1.1/typeinfo" 1 3 -# 32 "/usr/include/c++/14.1.1/typeinfo" 3 - -# 33 "/usr/include/c++/14.1.1/typeinfo" 3 - - - -# 1 "/usr/include/c++/14.1.1/bits/hash_bytes.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/hash_bytes.h" 3 - -# 34 "/usr/include/c++/14.1.1/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/include/c++/14.1.1/typeinfo" 2 3 - - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 41 "/usr/include/c++/14.1.1/typeinfo" 2 3 - -#pragma GCC visibility push(default) - -extern "C++" { - -namespace __cxxabiv1 -{ - class __class_type_info; -} -# 83 "/usr/include/c++/14.1.1/typeinfo" 3 -namespace std -{ - - - - - - - class type_info - { - public: - - - - - virtual ~type_info(); - - - - const char* name() const noexcept - { return __name[0] == '*' ? __name + 1 : __name; } - - - - bool before(const type_info& __arg) const noexcept; - - - bool operator==(const type_info& __arg) const noexcept; - - - - - - - - size_t hash_code() const noexcept - { - - return _Hash_bytes(name(), __builtin_strlen(name()), - static_cast(0xc70f6907UL)); - - - - } - - - - virtual bool __is_pointer_p() const; - - - virtual bool __is_function_p() const; - - - - - - - - virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj, - unsigned __outer) const; - - - virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target, - void **__obj_ptr) const; - - protected: - const char *__name; - - explicit type_info(const char *__n): __name(__n) { } - - private: - - - type_info& operator=(const type_info&) = delete; - type_info(const type_info&) = delete; -# 166 "/usr/include/c++/14.1.1/typeinfo" 3 - }; - - - inline bool - type_info::before(const type_info& __arg) const noexcept - { - - - - - if (__name[0] != '*' || __arg.__name[0] != '*') - return __builtin_strcmp (__name, __arg.__name) < 0; -# 186 "/usr/include/c++/14.1.1/typeinfo" 3 - return __name < __arg.__name; - } - - - - inline bool - type_info::operator==(const type_info& __arg) const noexcept - { - if (std::__is_constant_evaluated()) - return this == &__arg; - - if (__name == __arg.__name) - return true; - - - - - - - return __name[0] != '*' && __builtin_strcmp (__name, __arg.name()) == 0; - - - - } -# 219 "/usr/include/c++/14.1.1/typeinfo" 3 - class bad_cast : public exception - { - public: - bad_cast() noexcept { } - - - - virtual ~bad_cast() noexcept; - - - virtual const char* what() const noexcept; - }; - - - - - - class bad_typeid : public exception - { - public: - bad_typeid () noexcept { } - - - - virtual ~bad_typeid() noexcept; - - - virtual const char* what() const noexcept; - }; -} - -} - -#pragma GCC visibility pop -# 38 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 2 3 -# 1 "/usr/include/c++/14.1.1/new" 1 3 -# 38 "/usr/include/c++/14.1.1/new" 3 - -# 39 "/usr/include/c++/14.1.1/new" 3 - - - - - - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 47 "/usr/include/c++/14.1.1/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; - -} -# 131 "/usr/include/c++/14.1.1/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; - - - - inline constexpr size_t hardware_destructive_interference_size = 64; - inline constexpr size_t hardware_constructive_interference_size = 64; - -} - - - - -namespace std -{ - - - struct destroying_delete_t - { - explicit destroying_delete_t() = default; - }; - - inline constexpr destroying_delete_t destroying_delete{}; -} - - -#pragma GCC visibility pop -# 39 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 2 3 - - -# 1 "/usr/include/c++/14.1.1/bits/move.h" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/move.h" 3 -# 1 "/usr/include/c++/14.1.1/type_traits" 1 3 -# 32 "/usr/include/c++/14.1.1/type_traits" 3 - -# 33 "/usr/include/c++/14.1.1/type_traits" 3 -# 63 "/usr/include/c++/14.1.1/type_traits" 3 -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 64 "/usr/include/c++/14.1.1/type_traits" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - class reference_wrapper; -# 86 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct integral_constant - { - static constexpr _Tp value = __v; - using value_type = _Tp; - using type = integral_constant<_Tp, __v>; - constexpr operator value_type() const noexcept { return value; } - - - constexpr value_type operator()() const noexcept { return value; } - - }; -# 106 "/usr/include/c++/14.1.1/type_traits" 3 - template - using __bool_constant = integral_constant; - - - - using true_type = __bool_constant; - - - using false_type = __bool_constant; - - - - - template - using bool_constant = __bool_constant<__v>; - - - - - - - template - struct enable_if - { }; - - - template - struct enable_if - { using type = _Tp; }; - - - template - using __enable_if_t = typename enable_if<_Cond, _Tp>::type; - - template - struct __conditional - { - template - using type = _Tp; - }; - - template<> - struct __conditional - { - template - using type = _Up; - }; - - - template - using __conditional_t - = typename __conditional<_Cond>::template type<_If, _Else>; - - - template - struct __type_identity - { using type = _Type; }; - - template - using __type_identity_t = typename __type_identity<_Tp>::type; - - namespace __detail - { - - template - using __first_t = _Tp; - - - template - auto __or_fn(int) -> __first_t...>; - - template - auto __or_fn(...) -> true_type; - - template - auto __and_fn(int) -> __first_t...>; - - template - auto __and_fn(...) -> false_type; - } - - - - - template - struct __or_ - : decltype(__detail::__or_fn<_Bn...>(0)) - { }; - - template - struct __and_ - : decltype(__detail::__and_fn<_Bn...>(0)) - { }; - - template - struct __not_ - : __bool_constant - { }; - - - - - - template - inline constexpr bool __or_v = __or_<_Bn...>::value; - template - inline constexpr bool __and_v = __and_<_Bn...>::value; - - namespace __detail - { - template - struct __disjunction_impl - { using type = _B1; }; - - template - struct __disjunction_impl<__enable_if_t, _B1, _B2, _Bn...> - { using type = typename __disjunction_impl::type; }; - - template - struct __conjunction_impl - { using type = _B1; }; - - template - struct __conjunction_impl<__enable_if_t, _B1, _B2, _Bn...> - { using type = typename __conjunction_impl::type; }; - } - - - template - struct conjunction - : __detail::__conjunction_impl::type - { }; - - template<> - struct conjunction<> - : true_type - { }; - - template - struct disjunction - : __detail::__disjunction_impl::type - { }; - - template<> - struct disjunction<> - : false_type - { }; - - template - struct negation - : __not_<_Pp>::type - { }; - - - - - 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 - using __remove_cv_t = typename remove_cv<_Tp>::type; - - - - - - template - struct is_void - : public false_type { }; - - template<> - struct is_void - : public true_type { }; - - template<> - struct is_void - : public true_type { }; - - template<> - struct is_void - : public true_type { }; - - template<> - struct is_void - : public true_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 { }; - - - 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 - : public true_type { }; - - - - - __extension__ - template<> - struct __is_integral_helper<__int128> - : public true_type { }; - - __extension__ - template<> - struct __is_integral_helper - : public true_type { }; -# 460 "/usr/include/c++/14.1.1/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 { }; -# 513 "/usr/include/c++/14.1.1/type_traits" 3 - 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 __bool_constant<__is_array(_Tp)> - { }; -# 545 "/usr/include/c++/14.1.1/type_traits" 3 - 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 - : public __bool_constant<__is_member_object_pointer(_Tp)> - { }; -# 601 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct is_member_function_pointer - : public __bool_constant<__is_member_function_pointer(_Tp)> - { }; -# 622 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct is_enum - : public __bool_constant<__is_enum(_Tp)> - { }; - - - template - struct is_union - : public __bool_constant<__is_union(_Tp)> - { }; - - - template - struct is_class - : public __bool_constant<__is_class(_Tp)> - { }; - - - - template - struct is_function - : public __bool_constant<__is_function(_Tp)> - { }; -# 661 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct is_null_pointer - : public false_type { }; - - template<> - struct is_null_pointer - : public true_type { }; - - template<> - struct is_null_pointer - : public true_type { }; - - template<> - struct is_null_pointer - : public true_type { }; - - template<> - struct is_null_pointer - : public true_type { }; - - - - template - struct __is_nullptr_t - : public is_null_pointer<_Tp> - { } __attribute__ ((__deprecated__ ("use '" "std::is_null_pointer" "' instead"))); - - - - - - - template - struct is_reference - : public __bool_constant<__is_reference(_Tp)> - { }; -# 715 "/usr/include/c++/14.1.1/type_traits" 3 - 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 __bool_constant<__is_object(_Tp)> - { }; -# 741 "/usr/include/c++/14.1.1/type_traits" 3 - 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 __bool_constant::value> { }; - - - - template - struct is_member_pointer - : public __bool_constant<__is_member_pointer(_Tp)> - { }; -# 779 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct is_same; - - - template - using __is_one_of = __or_...>; - - - __extension__ - 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 -# 804 "/usr/include/c++/14.1.1/type_traits" 3 - >; - - - __extension__ - 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 -# 824 "/usr/include/c++/14.1.1/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_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 __bool_constant<__is_trivial(_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_copyable - : public __bool_constant<__is_trivially_copyable(_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_standard_layout - : public __bool_constant<__is_standard_layout(_Tp)> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - - - - - template - struct - __attribute__ ((__deprecated__ ("use '" "is_standard_layout && is_trivial" "' instead"))) - is_pod - : public __bool_constant<__is_pod(_Tp)> - { - 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 __bool_constant<__is_literal_type(_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_empty - : public __bool_constant<__is_empty(_Tp)> - { }; - - - template - struct is_polymorphic - : public __bool_constant<__is_polymorphic(_Tp)> - { }; - - - - - template - struct is_final - : public __bool_constant<__is_final(_Tp)> - { }; - - - - template - struct is_abstract - : public __bool_constant<__is_abstract(_Tp)> - { }; - - - template::value> - struct __is_signed_helper - : public false_type { }; - - template - struct __is_signed_helper<_Tp, true> - : public __bool_constant<_Tp(-1) < _Tp(0)> - { }; - - - - template - struct is_signed - : public __is_signed_helper<_Tp>::type - { }; - - - template - struct is_unsigned - : public __and_, __not_>>::type - { }; - - - template - _Up - __declval(int); - - template - _Tp - __declval(long); - - - template - auto declval() noexcept -> decltype(__declval<_Tp>(0)); - - template - struct remove_all_extents; - - - template - struct __is_array_known_bounds - : public false_type - { }; - - template - struct __is_array_known_bounds<_Tp[_Size]> - : public true_type - { }; - - template - struct __is_array_unknown_bounds - : public false_type - { }; - - template - struct __is_array_unknown_bounds<_Tp[]> - : public true_type - { }; -# 1006 "/usr/include/c++/14.1.1/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 - { - using type = decltype(__test<_Tp>(0)); - }; - - 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 - { - using type = decltype(__test<_Tp>(0)); - }; - - 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 - using __is_constructible_impl - = __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> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - template - struct __add_lvalue_reference_helper - { using type = _Tp; }; - - template - struct __add_lvalue_reference_helper<_Tp, __void_t<_Tp&>> - { using type = _Tp&; }; - - template - using __add_lval_ref_t = typename __add_lvalue_reference_helper<_Tp>::type; - - - - template - struct is_copy_constructible - : public __is_constructible_impl<_Tp, __add_lval_ref_t> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - template - struct __add_rvalue_reference_helper - { using type = _Tp; }; - - template - struct __add_rvalue_reference_helper<_Tp, __void_t<_Tp&&>> - { using type = _Tp&&; }; - - template - using __add_rval_ref_t = typename __add_rvalue_reference_helper<_Tp>::type; - - - - template - struct is_move_constructible - : public __is_constructible_impl<_Tp, __add_rval_ref_t<_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...> - { - 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 __is_nothrow_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_nothrow_copy_constructible - : public __is_nothrow_constructible_impl<_Tp, __add_lval_ref_t> - { - 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_move_constructible - : public __is_nothrow_constructible_impl<_Tp, __add_rval_ref_t<_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_assignable_impl = __bool_constant<__is_assignable(_Tp, _Up)>; - - - - template - struct is_assignable - : public __is_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 - struct is_copy_assignable - : public __is_assignable_impl<__add_lval_ref_t<_Tp>, - __add_lval_ref_t> - { - static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), - "template argument must be a complete class or an unbounded array"); - }; - - - template - struct is_move_assignable - : public __is_assignable_impl<__add_lval_ref_t<_Tp>, __add_rval_ref_t<_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_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 - struct is_nothrow_copy_assignable - : public __is_nothrow_assignable_impl<__add_lval_ref_t<_Tp>, - __add_lval_ref_t> - { - 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_move_assignable - : public __is_nothrow_assignable_impl<__add_lval_ref_t<_Tp>, - __add_rval_ref_t<_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_trivially_constructible_impl - = __bool_constant<__is_trivially_constructible(_Tp, _Args...)>; - - - - template - struct is_trivially_constructible - : public __is_trivially_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_trivially_default_constructible - : public __is_trivially_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 - constexpr bool __is_implicitly_default_constructible_v - = requires (void(&__f)(_Tp)) { __f({}); }; - - template - struct __is_implicitly_default_constructible - : __bool_constant<__is_implicitly_default_constructible_v<_Tp>> - { }; -# 1351 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct is_trivially_copy_constructible - : public __is_trivially_constructible_impl<_Tp, __add_lval_ref_t> - { - 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_move_constructible - : public __is_trivially_constructible_impl<_Tp, __add_rval_ref_t<_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_trivially_assignable_impl - = __bool_constant<__is_trivially_assignable(_Tp, _Up)>; - - - - template - struct is_trivially_assignable - : public __is_trivially_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 - struct is_trivially_copy_assignable - : public __is_trivially_assignable_impl<__add_lval_ref_t<_Tp>, - __add_lval_ref_t> - { - 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_move_assignable - : public __is_trivially_assignable_impl<__add_lval_ref_t<_Tp>, - __add_rval_ref_t<_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)>>::type - { - 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 __bool_constant<__has_virtual_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 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], 0> - : public integral_constant { }; - - template - struct extent<_Tp[_Size], _Uint> - : public extent<_Tp, _Uint - 1>::type { }; - - template - struct extent<_Tp[], 0> - : public integral_constant { }; - - template - struct extent<_Tp[], _Uint> - : public extent<_Tp, _Uint - 1>::type { }; - - - - - - - template - struct is_same - : public __bool_constant<__is_same(_Tp, _Up)> - { }; -# 1491 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct is_base_of - : public __bool_constant<__is_base_of(_Base, _Derived)> - { }; - - - template - struct is_convertible - : public __bool_constant<__is_convertible(_From, _To)> - { }; -# 1540 "/usr/include/c++/14.1.1/type_traits" 3 - template - using __is_array_convertible - = is_convertible<_FromElementType(*)[], _ToElementType(*)[]>; - - - - - - template - inline constexpr bool is_nothrow_convertible_v - = __is_nothrow_convertible(_From, _To); - - - template - struct is_nothrow_convertible - : public bool_constant> - { }; -# 1603 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct remove_const - { using type = _Tp; }; - - template - struct remove_const<_Tp const> - { using type = _Tp; }; - - - template - struct remove_volatile - { using type = _Tp; }; - - template - struct remove_volatile<_Tp volatile> - { using type = _Tp; }; - - - - template - struct remove_cv - { using type = __remove_cv(_Tp); }; -# 1644 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct add_const - { using type = _Tp const; }; - - - template - struct add_volatile - { using type = _Tp volatile; }; - - - template - struct add_cv - { using type = _Tp const volatile; }; - - - - 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 - { using type = __remove_reference(_Tp); }; -# 1706 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct add_lvalue_reference - { using type = __add_lval_ref_t<_Tp>; }; - - - template - struct add_rvalue_reference - { using type = __add_rval_ref_t<_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> - { using __type = _Unqualified; }; - - template - struct __cv_selector<_Unqualified, false, true> - { using __type = volatile _Unqualified; }; - - template - struct __cv_selector<_Unqualified, true, false> - { using __type = const _Unqualified; }; - - template - struct __cv_selector<_Unqualified, true, true> - { using __type = const volatile _Unqualified; }; - - template::value, - bool _IsVol = is_volatile<_Qualified>::value> - class __match_cv_qualifiers - { - using __match = __cv_selector<_Unqualified, _IsConst, _IsVol>; - - public: - using __type = typename __match::__type; - }; - - - template - struct __make_unsigned - { using __type = _Tp; }; - - template<> - struct __make_unsigned - { using __type = unsigned char; }; - - template<> - struct __make_unsigned - { using __type = unsigned char; }; - - template<> - struct __make_unsigned - { using __type = unsigned short; }; - - template<> - struct __make_unsigned - { using __type = unsigned int; }; - - template<> - struct __make_unsigned - { using __type = unsigned long; }; - - template<> - struct __make_unsigned - { using __type = unsigned long long; }; - - - __extension__ - template<> - struct __make_unsigned<__int128> - { using __type = unsigned __int128; }; -# 1819 "/usr/include/c++/14.1.1/type_traits" 3 - template::value, - bool _IsEnum = __is_enum(_Tp)> - 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; - }; - - - 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 - { - using __type - = typename __make_unsigned_selector::__type; - }; - - - - - - - template - struct make_unsigned - { using type = typename __make_unsigned_selector<_Tp>::__type; }; - - - template<> struct make_unsigned; - template<> struct make_unsigned; - template<> struct make_unsigned; - template<> struct make_unsigned; - - - - - template - struct __make_signed - { using __type = _Tp; }; - - template<> - struct __make_signed - { using __type = signed char; }; - - template<> - struct __make_signed - { using __type = signed char; }; - - template<> - struct __make_signed - { using __type = signed short; }; - - template<> - struct __make_signed - { using __type = signed int; }; - - template<> - struct __make_signed - { using __type = signed long; }; - - template<> - struct __make_signed - { using __type = signed long long; }; - - - __extension__ - template<> - struct __make_signed - { using __type = __int128; }; -# 1979 "/usr/include/c++/14.1.1/type_traits" 3 - template::value, - bool _IsEnum = __is_enum(_Tp)> - 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> - { - using __unsigned_type = typename __make_unsigned_selector<_Tp>::__type; - - public: - using __type = typename __make_signed_selector<__unsigned_type>::__type; - }; - - - - - - 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 - { - using __type - = typename __make_signed_selector::__type; - }; - - template<> - struct __make_signed - { - using __type - = typename __make_signed_selector::__type; - }; - - - - - - - template - struct make_signed - { using type = typename __make_signed_selector<_Tp>::__type; }; - - - template<> struct make_signed; - template<> struct make_signed; - template<> struct make_signed; - 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 - { using type = _Tp; }; - - template - struct remove_extent<_Tp[_Size]> - { using type = _Tp; }; - - template - struct remove_extent<_Tp[]> - { using type = _Tp; }; - - - template - struct remove_all_extents - { using type = _Tp; }; - - template - struct remove_all_extents<_Tp[_Size]> - { using type = typename remove_all_extents<_Tp>::type; }; - - template - struct remove_all_extents<_Tp[]> - { using type = typename remove_all_extents<_Tp>::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 - { using type = __remove_pointer(_Tp); }; -# 2124 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct __add_pointer_helper - { using type = _Tp; }; - - template - struct __add_pointer_helper<_Tp, __void_t<_Tp*>> - { using type = _Tp*; }; - - - template - struct add_pointer - : public __add_pointer_helper<_Tp> - { }; - - template - struct add_pointer<_Tp&> - { using type = _Tp*; }; - - template - struct add_pointer<_Tp&&> - { using type = _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; - }; - }; -# 2179 "/usr/include/c++/14.1.1/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; - }; - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" -# 2225 "/usr/include/c++/14.1.1/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; - - using type = typename aligned_storage<_S_len, alignment_value>::type; - }; - - template - const size_t aligned_union<_Len, _Types...>::alignment_value; -#pragma GCC diagnostic pop - - - - - - template - struct __decay_selector - : __conditional_t::value, - remove_cv<_Up>, - add_pointer<_Up>> - { }; - - template - struct __decay_selector<_Up[_Nm]> - { using type = _Up*; }; - - template - struct __decay_selector<_Up[]> - { using type = _Up*; }; - - - - - template - struct decay - { using type = typename __decay_selector<_Tp>::type; }; - - template - struct decay<_Tp&> - { using type = typename __decay_selector<_Tp>::type; }; - - template - struct decay<_Tp&&> - { using type = typename __decay_selector<_Tp>::type; }; - - - - - template - struct __strip_reference_wrapper - { - using __type = _Tp; - }; - - template - struct __strip_reference_wrapper > - { - using __type = _Tp&; - }; - - - template - using __decay_t = typename decay<_Tp>::type; - - template - using __decay_and_strip = __strip_reference_wrapper<__decay_t<_Tp>>; - - - - - - template - using _Require = __enable_if_t<__and_<_Cond...>::value>; - - - template - using __remove_cvref_t - = typename remove_cv::type>::type; - - - - - template - struct conditional - { using type = _Iftrue; }; - - - template - struct conditional - { using type = _Iffalse; }; - - - template - struct common_type; -# 2340 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct __success_type - { using type = _Tp; }; - - struct __failure_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); - - - - - template - static __success_type<__remove_cvref_t<__cond_t>> - _S_test_2(int); - - - 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 - 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 - { - using type = decltype(_S_test<_MemPtr, _Arg, _Args...>(0)); - }; - - - 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 - { - using type = decltype(_S_test<_MemPtr, _Arg, _Args...>(0)); - }; - - - 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 - { - using type = decltype(_S_test<_MemPtr, _Arg>(0)); - }; - - - 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 - { - using type = decltype(_S_test<_MemPtr, _Arg>(0)); - }; - - template - struct __result_of_memobj; - - template - struct __result_of_memobj<_Res _Class::*, _Arg> - { - using _Argval = __remove_cvref_t<_Arg>; - using _MemPtr = _Res _Class::*; - using type = typename __conditional_t<__or_, - is_base_of<_Class, _Argval>>::value, - __result_of_memobj_ref<_MemPtr, _Arg>, - __result_of_memobj_deref<_MemPtr, _Arg> - >::type; - }; - - template - struct __result_of_memfun; - - template - struct __result_of_memfun<_Res _Class::*, _Arg, _Args...> - { - using _Argval = typename remove_reference<_Arg>::type; - using _MemPtr = _Res _Class::*; - using type = typename __conditional_t::value, - __result_of_memfun_ref<_MemPtr, _Arg, _Args...>, - __result_of_memfun_deref<_MemPtr, _Arg, _Args...> - >::type; - }; - - - - - - - template> - struct __inv_unwrap - { - using type = _Tp; - }; - - template - struct __inv_unwrap<_Tp, reference_wrapper<_Up>> - { - using type = _Up&; - }; - - template - struct __result_of_impl - { - using type = __failure_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 - { - using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); - }; - - - 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 - using __invoke_result_t = typename __invoke_result<_Fn, _Args...>::type; - - - template - struct result_of<_Functor(_ArgTypes...)> - : public __invoke_result<_Functor, _ArgTypes...> - { } __attribute__ ((__deprecated__ ("use '" "std::invoke_result" "' instead"))); - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - - template::__type)> - using aligned_storage_t = typename aligned_storage<_Len, _Align>::type; - - template - using aligned_union_t = typename aligned_union<_Len, _Types...>::type; -#pragma GCC diagnostic pop - - - 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; -# 2727 "/usr/include/c++/14.1.1/type_traits" 3 - template class _Op, typename... _Args> - struct __detected_or - { - using type = _Def; - using __is_detected = false_type; - }; - - - template class _Op, typename... _Args> - requires requires { typename _Op<_Args...>; } - struct __detected_or<_Def, _Op, _Args...> - { - using type = _Op<_Args...>; - using __is_detected = true_type; - }; -# 2767 "/usr/include/c++/14.1.1/type_traits" 3 - template class _Op, - typename... _Args> - using __detected_or_t - = typename __detected_or<_Default, _Op, _Args...>::type; -# 2786 "/usr/include/c++/14.1.1/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 - : public __is_tuple_like_impl<__remove_cvref_t<_Tp>>::type - { }; - - - template - constexpr - 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 - constexpr - 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 - { - using type = decltype(__test<_Tp>(0)); - }; - - template - struct __is_nothrow_swappable_impl - : public __swappable_details::__do_is_nothrow_swappable_impl - { - using type = decltype(__test<_Tp>(0)); - }; - - 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 - { - using type = decltype(__test<_Tp, _Up>(0)); - }; - - - template - struct __is_swappable_with_impl<_Tp&, _Tp&> - : public __swappable_details::__do_is_swappable_impl - { - using type = decltype(__test<_Tp&>(0)); - }; - - template - struct __is_nothrow_swappable_with_impl - : public __swappable_with_details::__do_is_nothrow_swappable_with_impl - { - using type = decltype(__test<_Tp, _Up>(0)); - }; - - - template - struct __is_nothrow_swappable_with_impl<_Tp&, _Tp&> - : public __swappable_details::__do_is_nothrow_swappable_impl - { - using type = decltype(__test<_Tp&>(0)); - }; - - - - 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; -# 3008 "/usr/include/c++/14.1.1/type_traits" 3 - template::value, typename = void> - struct __is_invocable_impl - : false_type - { - using __nothrow_conv = false_type; - }; - - - template - struct __is_invocable_impl<_Result, _Ret, - true, - __void_t> - : true_type - { - using __nothrow_conv = true_type; - }; - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wctor-dtor-privacy" - - template - struct __is_invocable_impl<_Result, _Ret, - false, - __void_t> - { - private: - - using _Res_t = typename _Result::type; - - - - static _Res_t _S_get() noexcept; - - - template - static void _S_conv(__type_identity_t<_Tp>) noexcept; - - - template(_S_get())), - typename = decltype(_S_conv<_Tp>(_S_get())), - - bool _Dangle = __reference_converts_from_temporary(_Tp, _Res_t) - - - - > - static __bool_constant<_Nothrow && !_Dangle> - _S_test(int); - - template - static false_type - _S_test(...); - - public: - - using type = decltype(_S_test<_Ret, true>(1)); - - - using __nothrow_conv = decltype(_S_test<_Ret>(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_conv; - - - - 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"); - }; -# 3236 "/usr/include/c++/14.1.1/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); -# 3257 "/usr/include/c++/14.1.1/type_traits" 3 -template - inline constexpr bool is_pointer_v = is_pointer<_Tp>::value; -template - inline constexpr bool is_lvalue_reference_v = false; -template - inline constexpr bool is_lvalue_reference_v<_Tp&> = true; -template - inline constexpr bool is_rvalue_reference_v = false; -template - inline constexpr bool is_rvalue_reference_v<_Tp&&> = true; - - -template - inline constexpr bool is_member_object_pointer_v = - __is_member_object_pointer(_Tp); - - - - - - - -template - inline constexpr bool is_member_function_pointer_v = - __is_member_function_pointer(_Tp); - - - - - - -template - inline constexpr bool is_enum_v = __is_enum(_Tp); -template - inline constexpr bool is_union_v = __is_union(_Tp); -template - inline constexpr bool is_class_v = __is_class(_Tp); - - - -template - inline constexpr bool is_reference_v = __is_reference(_Tp); -# 3308 "/usr/include/c++/14.1.1/type_traits" 3 -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); - - - - - -template - inline constexpr bool is_scalar_v = is_scalar<_Tp>::value; -template - inline constexpr bool is_compound_v = !is_fundamental_v<_Tp>; - - -template - inline constexpr bool is_member_pointer_v = __is_member_pointer(_Tp); - - - - - -template - inline constexpr bool is_const_v = false; -template - inline constexpr bool is_const_v = true; - - -template - inline constexpr bool is_function_v = __is_function(_Tp); -# 3351 "/usr/include/c++/14.1.1/type_traits" 3 -template - inline constexpr bool is_volatile_v = false; -template - inline constexpr bool is_volatile_v = true; - -template - inline constexpr bool is_trivial_v = __is_trivial(_Tp); -template - inline constexpr bool is_trivially_copyable_v = __is_trivially_copyable(_Tp); -template - inline constexpr bool is_standard_layout_v = __is_standard_layout(_Tp); -template - __attribute__ ((__deprecated__ ("use '" "is_standard_layout_v && is_trivial_v" "' instead"))) - inline constexpr bool is_pod_v = __is_pod(_Tp); -template - [[__deprecated__]] - inline constexpr bool is_literal_type_v = __is_literal_type(_Tp); -template - inline constexpr bool is_empty_v = __is_empty(_Tp); -template - inline constexpr bool is_polymorphic_v = __is_polymorphic(_Tp); -template - inline constexpr bool is_abstract_v = __is_abstract(_Tp); -template - inline constexpr bool is_final_v = __is_final(_Tp); - -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...); -template - inline constexpr bool is_default_constructible_v = __is_constructible(_Tp); -template - inline constexpr bool is_copy_constructible_v - = __is_constructible(_Tp, __add_lval_ref_t); -template - inline constexpr bool is_move_constructible_v - = __is_constructible(_Tp, __add_rval_ref_t<_Tp>); - -template - inline constexpr bool is_assignable_v = __is_assignable(_Tp, _Up); -template - inline constexpr bool is_copy_assignable_v - = __is_assignable(__add_lval_ref_t<_Tp>, __add_lval_ref_t); -template - inline constexpr bool is_move_assignable_v - = __is_assignable(__add_lval_ref_t<_Tp>, __add_rval_ref_t<_Tp>); - -template - inline constexpr bool is_destructible_v = is_destructible<_Tp>::value; - -template - inline constexpr bool is_trivially_constructible_v - = __is_trivially_constructible(_Tp, _Args...); -template - inline constexpr bool is_trivially_default_constructible_v - = __is_trivially_constructible(_Tp); -template - inline constexpr bool is_trivially_copy_constructible_v - = __is_trivially_constructible(_Tp, __add_lval_ref_t); -template - inline constexpr bool is_trivially_move_constructible_v - = __is_trivially_constructible(_Tp, __add_rval_ref_t<_Tp>); - -template - inline constexpr bool is_trivially_assignable_v - = __is_trivially_assignable(_Tp, _Up); -template - inline constexpr bool is_trivially_copy_assignable_v - = __is_trivially_assignable(__add_lval_ref_t<_Tp>, - __add_lval_ref_t); -template - inline constexpr bool is_trivially_move_assignable_v - = __is_trivially_assignable(__add_lval_ref_t<_Tp>, - __add_rval_ref_t<_Tp>); - - -template - inline constexpr bool is_trivially_destructible_v = false; - -template - requires (!is_reference_v<_Tp>) && requires (_Tp& __t) { __t.~_Tp(); } - inline constexpr bool is_trivially_destructible_v<_Tp> - = __has_trivial_destructor(_Tp); -template - inline constexpr bool is_trivially_destructible_v<_Tp&> = true; -template - inline constexpr bool is_trivially_destructible_v<_Tp&&> = true; -template - inline constexpr bool is_trivially_destructible_v<_Tp[_Nm]> - = is_trivially_destructible_v<_Tp>; - - - - - - -template - inline constexpr bool is_nothrow_constructible_v - = __is_nothrow_constructible(_Tp, _Args...); -template - inline constexpr bool is_nothrow_default_constructible_v - = __is_nothrow_constructible(_Tp); -template - inline constexpr bool is_nothrow_copy_constructible_v - = __is_nothrow_constructible(_Tp, __add_lval_ref_t); -template - inline constexpr bool is_nothrow_move_constructible_v - = __is_nothrow_constructible(_Tp, __add_rval_ref_t<_Tp>); - -template - inline constexpr bool is_nothrow_assignable_v - = __is_nothrow_assignable(_Tp, _Up); -template - inline constexpr bool is_nothrow_copy_assignable_v - = __is_nothrow_assignable(__add_lval_ref_t<_Tp>, - __add_lval_ref_t); -template - inline constexpr bool is_nothrow_move_assignable_v - = __is_nothrow_assignable(__add_lval_ref_t<_Tp>, __add_rval_ref_t<_Tp>); - -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); - -template - inline constexpr size_t alignment_of_v = alignment_of<_Tp>::value; - -template - inline constexpr size_t rank_v = 0; -template - inline constexpr size_t rank_v<_Tp[_Size]> = 1 + rank_v<_Tp>; -template - inline constexpr size_t rank_v<_Tp[]> = 1 + rank_v<_Tp>; - -template - inline constexpr size_t extent_v = 0; -template - inline constexpr size_t extent_v<_Tp[_Size], 0> = _Size; -template - inline constexpr size_t extent_v<_Tp[_Size], _Idx> = extent_v<_Tp, _Idx - 1>; -template - inline constexpr size_t extent_v<_Tp[], 0> = 0; -template - inline constexpr size_t extent_v<_Tp[], _Idx> = extent_v<_Tp, _Idx - 1>; - - -template - inline constexpr bool is_same_v = __is_same(_Tp, _Up); - - - - - - -template - inline constexpr bool is_base_of_v = __is_base_of(_Base, _Derived); - -template - inline constexpr bool is_convertible_v = __is_convertible(_From, _To); - - - - -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(remove_cv_t<_Tp>); -# 3581 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct remove_cvref - { using type = __remove_cvref(_Tp); }; -# 3598 "/usr/include/c++/14.1.1/type_traits" 3 - template - using remove_cvref_t = typename remove_cvref<_Tp>::type; -# 3608 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct type_identity { using type = _Tp; }; - - template - using type_identity_t = typename type_identity<_Tp>::type; -# 3621 "/usr/include/c++/14.1.1/type_traits" 3 - template - struct unwrap_reference { using type = _Tp; }; - - template - struct unwrap_reference> { using type = _Tp&; }; - - template - using unwrap_reference_t = typename unwrap_reference<_Tp>::type; - - - - - - - template - struct unwrap_ref_decay { using type = unwrap_reference_t>; }; - - template - using unwrap_ref_decay_t = typename unwrap_ref_decay<_Tp>::type; -# 3648 "/usr/include/c++/14.1.1/type_traits" 3 - template - inline constexpr bool is_bounded_array_v = __is_bounded_array(_Tp); -# 3661 "/usr/include/c++/14.1.1/type_traits" 3 - template - inline constexpr bool is_unbounded_array_v = false; - - template - inline constexpr bool is_unbounded_array_v<_Tp[]> = true; - - - - template - struct is_bounded_array - : public bool_constant> - { }; - - - - template - struct is_unbounded_array - : public bool_constant> - { }; - - - - - - template - struct is_layout_compatible - : bool_constant<__is_layout_compatible(_Tp, _Up)> - { }; - - - - template - constexpr bool is_layout_compatible_v - = __is_layout_compatible(_Tp, _Up); - - - - - - - - template - constexpr bool - is_corresponding_member(_M1 _S1::*__m1, _M2 _S2::*__m2) noexcept - { return __builtin_is_corresponding_member(__m1, __m2); } - - - - - - - - template - struct is_pointer_interconvertible_base_of - : bool_constant<__is_pointer_interconvertible_base_of(_Base, _Derived)> - { }; - - - - template - constexpr bool is_pointer_interconvertible_base_of_v - = __is_pointer_interconvertible_base_of(_Base, _Derived); -# 3732 "/usr/include/c++/14.1.1/type_traits" 3 - template - constexpr bool - is_pointer_interconvertible_with_class(_Mem _Tp::*__mp) noexcept - { return __builtin_is_pointer_interconvertible_with_class(__mp); } -# 3816 "/usr/include/c++/14.1.1/type_traits" 3 - constexpr inline bool - is_constant_evaluated() noexcept - { - - - - return __builtin_is_constant_evaluated(); - - } - - - - - template - using __copy_cv = typename __match_cv_qualifiers<_From, _To>::__type; - - template - using __cond_res - = decltype(false ? declval<_Xp(&)()>()() : declval<_Yp(&)()>()()); - - template - struct __common_ref_impl - { }; - - - template - using __common_ref = typename __common_ref_impl<_Ap, _Bp>::type; - - - template - using __condres_cvref - = __cond_res<__copy_cv<_Xp, _Yp>&, __copy_cv<_Yp, _Xp>&>; - - - template - struct __common_ref_impl<_Xp&, _Yp&, __void_t<__condres_cvref<_Xp, _Yp>>> - : enable_if>, - __condres_cvref<_Xp, _Yp>> - { }; - - - template - using __common_ref_C = remove_reference_t<__common_ref<_Xp&, _Yp&>>&&; - - - template - struct __common_ref_impl<_Xp&&, _Yp&&, - _Require>, - is_convertible<_Yp&&, __common_ref_C<_Xp, _Yp>>>> - { using type = __common_ref_C<_Xp, _Yp>; }; - - - template - using __common_ref_D = __common_ref; - - - template - struct __common_ref_impl<_Xp&&, _Yp&, - _Require>>> - { using type = __common_ref_D<_Xp, _Yp>; }; - - - template - struct __common_ref_impl<_Xp&, _Yp&&> - : __common_ref_impl<_Yp&&, _Xp&> - { }; - - - template class _TQual, template class _UQual> - struct basic_common_reference - { }; - - - template - struct __xref - { template using __type = __copy_cv<_Tp, _Up>; }; - - template - struct __xref<_Tp&> - { template using __type = __copy_cv<_Tp, _Up>&; }; - - template - struct __xref<_Tp&&> - { template using __type = __copy_cv<_Tp, _Up>&&; }; - - template - using __basic_common_ref - = typename basic_common_reference, - remove_cvref_t<_Tp2>, - __xref<_Tp1>::template __type, - __xref<_Tp2>::template __type>::type; - - - template - struct common_reference; - - template - using common_reference_t = typename common_reference<_Tp...>::type; - - - template<> - struct common_reference<> - { }; - - - template - struct common_reference<_Tp0> - { using type = _Tp0; }; - - - template - struct __common_reference_impl - : __common_reference_impl<_Tp1, _Tp2, _Bullet + 1> - { }; - - - template - struct common_reference<_Tp1, _Tp2> - : __common_reference_impl<_Tp1, _Tp2> - { }; - - - template - struct __common_reference_impl<_Tp1&, _Tp2&, 1, - void_t<__common_ref<_Tp1&, _Tp2&>>> - { using type = __common_ref<_Tp1&, _Tp2&>; }; - - template - struct __common_reference_impl<_Tp1&&, _Tp2&&, 1, - void_t<__common_ref<_Tp1&&, _Tp2&&>>> - { using type = __common_ref<_Tp1&&, _Tp2&&>; }; - - template - struct __common_reference_impl<_Tp1&, _Tp2&&, 1, - void_t<__common_ref<_Tp1&, _Tp2&&>>> - { using type = __common_ref<_Tp1&, _Tp2&&>; }; - - template - struct __common_reference_impl<_Tp1&&, _Tp2&, 1, - void_t<__common_ref<_Tp1&&, _Tp2&>>> - { using type = __common_ref<_Tp1&&, _Tp2&>; }; - - - template - struct __common_reference_impl<_Tp1, _Tp2, 2, - void_t<__basic_common_ref<_Tp1, _Tp2>>> - { using type = __basic_common_ref<_Tp1, _Tp2>; }; - - - template - struct __common_reference_impl<_Tp1, _Tp2, 3, - void_t<__cond_res<_Tp1, _Tp2>>> - { using type = __cond_res<_Tp1, _Tp2>; }; - - - template - struct __common_reference_impl<_Tp1, _Tp2, 4, - void_t>> - { using type = common_type_t<_Tp1, _Tp2>; }; - - - template - struct __common_reference_impl<_Tp1, _Tp2, 5, void> - { }; - - - template - struct common_reference<_Tp1, _Tp2, _Rest...> - : __common_type_fold, - __common_type_pack<_Rest...>> - { }; - - - template - struct __common_type_fold, - __common_type_pack<_Rest...>, - void_t>> - : public common_reference, _Rest...> - { }; - - - - - - - -} -# 38 "/usr/include/c++/14.1.1/bits/move.h" 2 3 - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - - template - inline constexpr _Tp* - __addressof(_Tp& __r) noexcept - { return __builtin_addressof(__r); } -# 67 "/usr/include/c++/14.1.1/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); - } -# 123 "/usr/include/c++/14.1.1/bits/move.h" 3 - 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 { }; -# 143 "/usr/include/c++/14.1.1/bits/move.h" 3 - template - [[__nodiscard__]] - constexpr - __conditional_t<__move_if_noexcept_cond<_Tp>::value, const _Tp&, _Tp&&> - move_if_noexcept(_Tp& __x) noexcept - { return std::move(__x); } -# 159 "/usr/include/c++/14.1.1/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 - constexpr - inline _Tp - __exchange(_Tp& __obj, _Up&& __new_val) - { - _Tp __old_val = std::move(__obj); - __obj = std::forward<_Up>(__new_val); - return __old_val; - } -# 203 "/usr/include/c++/14.1.1/bits/move.h" 3 - template - constexpr - 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 - constexpr - 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]); - } - - - -} -# 42 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 2 3 -# 50 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 3 -extern "C++" { - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - class type_info; - - - - - - - namespace __exception_ptr - { - class exception_ptr; - } - - using __exception_ptr::exception_ptr; -# 75 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 3 - exception_ptr current_exception() noexcept; - - template - exception_ptr make_exception_ptr(_Ex) noexcept; - - - void rethrow_exception(exception_ptr) __attribute__ ((__noreturn__)); - - namespace __exception_ptr - { - using std::rethrow_exception; -# 97 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 3 - class exception_ptr - { - void* _M_exception_object; - - explicit exception_ptr(void* __e) noexcept; - - void _M_addref() noexcept; - void _M_release() noexcept; - - void *_M_get() const noexcept __attribute__ ((__pure__)); - - friend exception_ptr std::current_exception() noexcept; - friend void std::rethrow_exception(exception_ptr); - template - friend exception_ptr std::make_exception_ptr(_Ex) noexcept; - - public: - exception_ptr() noexcept; - - exception_ptr(const exception_ptr&) noexcept; - - - exception_ptr(nullptr_t) noexcept - : _M_exception_object(nullptr) - { } - - exception_ptr(exception_ptr&& __o) noexcept - : _M_exception_object(__o._M_exception_object) - { __o._M_exception_object = nullptr; } -# 135 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 3 - exception_ptr& - operator=(const exception_ptr&) noexcept; - - - exception_ptr& - operator=(exception_ptr&& __o) noexcept - { - exception_ptr(static_cast(__o)).swap(*this); - return *this; - } - - - ~exception_ptr() noexcept; - - void - swap(exception_ptr&) noexcept; -# 162 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 3 - explicit operator bool() const noexcept - { return _M_exception_object; } - - - - - friend bool - operator==(const exception_ptr&, const exception_ptr&) noexcept = default; -# 182 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 3 - const class std::type_info* - __cxa_exception_type() const noexcept - __attribute__ ((__pure__)); - }; - - - inline - exception_ptr::exception_ptr() noexcept - : _M_exception_object(0) - { } - - - inline - exception_ptr::exception_ptr(const exception_ptr& __other) - noexcept - : _M_exception_object(__other._M_exception_object) - { - if (_M_exception_object) - _M_addref(); - } - - - inline - exception_ptr::~exception_ptr() noexcept - { - if (_M_exception_object) - _M_release(); - } - - - inline exception_ptr& - exception_ptr::operator=(const exception_ptr& __other) noexcept - { - exception_ptr(__other).swap(*this); - return *this; - } - - - inline void - exception_ptr::swap(exception_ptr &__other) noexcept - { - void *__tmp = _M_exception_object; - _M_exception_object = __other._M_exception_object; - __other._M_exception_object = __tmp; - } - - - inline void - swap(exception_ptr& __lhs, exception_ptr& __rhs) - { __lhs.swap(__rhs); } - - - template - - inline void - __dest_thunk(void* __x) - { static_cast<_Ex*>(__x)->~_Ex(); } - - - } - - using __exception_ptr::swap; - - - - template - exception_ptr - make_exception_ptr(_Ex __ex) noexcept - { - - using _Ex2 = typename decay<_Ex>::type; - void* __e = __cxxabiv1::__cxa_allocate_exception(sizeof(_Ex)); - (void) __cxxabiv1::__cxa_init_primary_exception( - __e, const_cast(&typeid(_Ex)), - __exception_ptr::__dest_thunk<_Ex2>); - try - { - ::new (__e) _Ex2(__ex); - return exception_ptr(__e); - } - catch(...) - { - __cxxabiv1::__cxa_free_exception(__e); - return current_exception(); - } -# 277 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 3 - } -# 291 "/usr/include/c++/14.1.1/bits/exception_ptr.h" 3 -} - -} -# 167 "/usr/include/c++/14.1.1/exception" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/nested_exception.h" 1 3 -# 40 "/usr/include/c++/14.1.1/bits/nested_exception.h" 3 -extern "C++" { - -namespace std __attribute__ ((__visibility__ ("default"))) -{ -# 59 "/usr/include/c++/14.1.1/bits/nested_exception.h" 3 - class nested_exception - { - exception_ptr _M_ptr; - - public: - - nested_exception() noexcept : _M_ptr(current_exception()) { } - - nested_exception(const nested_exception&) noexcept = default; - - nested_exception& operator=(const nested_exception&) noexcept = default; - - virtual ~nested_exception() noexcept; - - - [[noreturn]] - void - rethrow_nested() const - { - if (_M_ptr) - rethrow_exception(_M_ptr); - std::terminate(); - } - - - exception_ptr - nested_ptr() const noexcept - { return _M_ptr; } - }; - - - - template - struct _Nested_exception : public _Except, public nested_exception - { - explicit _Nested_exception(const _Except& __ex) - : _Except(__ex) - { } - - explicit _Nested_exception(_Except&& __ex) - : _Except(static_cast<_Except&&>(__ex)) - { } - }; -# 145 "/usr/include/c++/14.1.1/bits/nested_exception.h" 3 - template - [[noreturn]] - inline void - throw_with_nested(_Tp&& __t) - { - using _Up = typename decay<_Tp>::type; - using _CopyConstructible - = __and_, is_move_constructible<_Up>>; - static_assert(_CopyConstructible::value, - "throw_with_nested argument must be CopyConstructible"); - - - if constexpr (is_class_v<_Up>) - if constexpr (!is_final_v<_Up>) - if constexpr (!is_base_of_v) - throw _Nested_exception<_Up>{std::forward<_Tp>(__t)}; - throw std::forward<_Tp>(__t); - - - - - - } -# 203 "/usr/include/c++/14.1.1/bits/nested_exception.h" 3 - template - - - - inline void - rethrow_if_nested(const _Ex& __ex) - { - const _Ex* __ptr = __builtin_addressof(__ex); -# 223 "/usr/include/c++/14.1.1/bits/nested_exception.h" 3 - if constexpr (!is_polymorphic_v<_Ex>) - return; - else if constexpr (is_base_of_v - && !is_convertible_v<_Ex*, nested_exception*>) - return; - - - - - else if (auto __ne_ptr = dynamic_cast(__ptr)) - __ne_ptr->rethrow_nested(); - - } - - -} - -} -# 168 "/usr/include/c++/14.1.1/exception" 2 3 -# 42 "/usr/include/c++/14.1.1/ios" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/char_traits.h" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/char_traits.h" 3 - -# 38 "/usr/include/c++/14.1.1/bits/char_traits.h" 3 -# 46 "/usr/include/c++/14.1.1/bits/char_traits.h" 3 -# 1 "/usr/include/c++/14.1.1/cwchar" 1 3 -# 39 "/usr/include/c++/14.1.1/cwchar" 3 - -# 40 "/usr/include/c++/14.1.1/cwchar" 3 -# 47 "/usr/include/c++/14.1.1/bits/char_traits.h" 2 3 -# 56 "/usr/include/c++/14.1.1/bits/char_traits.h" 3 -# 1 "/usr/include/c++/14.1.1/compare" 1 3 -# 33 "/usr/include/c++/14.1.1/compare" 3 - -# 34 "/usr/include/c++/14.1.1/compare" 3 - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 37 "/usr/include/c++/14.1.1/compare" 2 3 - - - -# 1 "/usr/include/c++/14.1.1/concepts" 1 3 -# 33 "/usr/include/c++/14.1.1/concepts" 3 - -# 34 "/usr/include/c++/14.1.1/concepts" 3 - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 37 "/usr/include/c++/14.1.1/concepts" 2 3 -# 48 "/usr/include/c++/14.1.1/concepts" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - namespace __detail - { - template - concept __same_as = std::is_same_v<_Tp, _Up>; - } - - - template - concept same_as - = __detail::__same_as<_Tp, _Up> && __detail::__same_as<_Up, _Tp>; - - namespace __detail - { - template - concept __different_from - = !same_as, remove_cvref_t<_Up>>; - } - - - template - concept derived_from = __is_base_of(_Base, _Derived) - && is_convertible_v; - - - template - concept convertible_to = is_convertible_v<_From, _To> - && requires { static_cast<_To>(std::declval<_From>()); }; - - - template - concept common_reference_with - = same_as, common_reference_t<_Up, _Tp>> - && convertible_to<_Tp, common_reference_t<_Tp, _Up>> - && convertible_to<_Up, common_reference_t<_Tp, _Up>>; - - - template - concept common_with - = same_as, common_type_t<_Up, _Tp>> - && requires { - static_cast>(std::declval<_Tp>()); - static_cast>(std::declval<_Up>()); - } - && common_reference_with, - add_lvalue_reference_t> - && common_reference_with>, - common_reference_t< - add_lvalue_reference_t, - add_lvalue_reference_t>>; - - - - template - concept integral = is_integral_v<_Tp>; - - template - concept signed_integral = integral<_Tp> && is_signed_v<_Tp>; - - template - concept unsigned_integral = integral<_Tp> && !signed_integral<_Tp>; - - template - concept floating_point = is_floating_point_v<_Tp>; - - namespace __detail - { - template - using __cref = const remove_reference_t<_Tp>&; - - template - concept __class_or_enum - = is_class_v<_Tp> || is_union_v<_Tp> || is_enum_v<_Tp>; - - template - constexpr bool __destructible_impl = false; - template - requires requires(_Tp& __t) { { __t.~_Tp() } noexcept; } - constexpr bool __destructible_impl<_Tp> = true; - - template - constexpr bool __destructible = __destructible_impl<_Tp>; - template - constexpr bool __destructible<_Tp&> = true; - template - constexpr bool __destructible<_Tp&&> = true; - template - constexpr bool __destructible<_Tp[_Nm]> = __destructible<_Tp>; - - } - - - template - concept assignable_from - = is_lvalue_reference_v<_Lhs> - && common_reference_with<__detail::__cref<_Lhs>, __detail::__cref<_Rhs>> - && requires(_Lhs __lhs, _Rhs&& __rhs) { - { __lhs = static_cast<_Rhs&&>(__rhs) } -> same_as<_Lhs>; - }; - - - template - concept destructible = __detail::__destructible<_Tp>; - - - template - concept constructible_from - = destructible<_Tp> && is_constructible_v<_Tp, _Args...>; - - - template - concept default_initializable = constructible_from<_Tp> - && requires - { - _Tp{}; - (void) ::new _Tp; - }; - - - template - concept move_constructible - = constructible_from<_Tp, _Tp> && convertible_to<_Tp, _Tp>; - - - template - concept copy_constructible - = move_constructible<_Tp> - && constructible_from<_Tp, _Tp&> && convertible_to<_Tp&, _Tp> - && constructible_from<_Tp, const _Tp&> && convertible_to - && constructible_from<_Tp, const _Tp> && convertible_to; - - - - namespace ranges - { - - namespace __swap - { - template void swap(_Tp&, _Tp&) = delete; - - template - concept __adl_swap - = (std::__detail::__class_or_enum> - || std::__detail::__class_or_enum>) - && requires(_Tp&& __t, _Up&& __u) { - swap(static_cast<_Tp&&>(__t), static_cast<_Up&&>(__u)); - }; - - struct _Swap - { - private: - template - static constexpr bool - _S_noexcept() - { - if constexpr (__adl_swap<_Tp, _Up>) - return noexcept(swap(std::declval<_Tp>(), std::declval<_Up>())); - else - return is_nothrow_move_constructible_v> - && is_nothrow_move_assignable_v>; - } - - public: - template - requires __adl_swap<_Tp, _Up> - || (same_as<_Tp, _Up> && is_lvalue_reference_v<_Tp> - && move_constructible> - && assignable_from<_Tp, remove_reference_t<_Tp>>) - constexpr void - operator()(_Tp&& __t, _Up&& __u) const - noexcept(_S_noexcept<_Tp, _Up>()) - { - if constexpr (__adl_swap<_Tp, _Up>) - swap(static_cast<_Tp&&>(__t), static_cast<_Up&&>(__u)); - else - { - auto __tmp = static_cast&&>(__t); - __t = static_cast&&>(__u); - __u = static_cast&&>(__tmp); - } - } - - template - requires requires(const _Swap& __swap, _Tp& __e1, _Up& __e2) { - __swap(__e1, __e2); - } - constexpr void - operator()(_Tp (&__e1)[_Num], _Up (&__e2)[_Num]) const - noexcept(noexcept(std::declval()(*__e1, *__e2))) - { - for (size_t __n = 0; __n < _Num; ++__n) - (*this)(__e1[__n], __e2[__n]); - } - }; - } - - - inline namespace _Cpo { - inline constexpr __swap::_Swap swap{}; - } - } - - template - concept swappable - = requires(_Tp& __a, _Tp& __b) { ranges::swap(__a, __b); }; - - template - concept swappable_with = common_reference_with<_Tp, _Up> - && requires(_Tp&& __t, _Up&& __u) { - ranges::swap(static_cast<_Tp&&>(__t), static_cast<_Tp&&>(__t)); - ranges::swap(static_cast<_Up&&>(__u), static_cast<_Up&&>(__u)); - ranges::swap(static_cast<_Tp&&>(__t), static_cast<_Up&&>(__u)); - ranges::swap(static_cast<_Up&&>(__u), static_cast<_Tp&&>(__t)); - }; - - - - template - concept movable = is_object_v<_Tp> && move_constructible<_Tp> - && assignable_from<_Tp&, _Tp> && swappable<_Tp>; - - template - concept copyable = copy_constructible<_Tp> && movable<_Tp> - && assignable_from<_Tp&, _Tp&> && assignable_from<_Tp&, const _Tp&> - && assignable_from<_Tp&, const _Tp>; - - template - concept semiregular = copyable<_Tp> && default_initializable<_Tp>; - - - - - namespace __detail - { - template - concept __boolean_testable_impl = convertible_to<_Tp, bool>; - - template - concept __boolean_testable - = __boolean_testable_impl<_Tp> - && requires(_Tp&& __t) - { { !static_cast<_Tp&&>(__t) } -> __boolean_testable_impl; }; - } - - - - namespace __detail - { - template - concept __weakly_eq_cmp_with - = requires(__detail::__cref<_Tp> __t, __detail::__cref<_Up> __u) { - { __t == __u } -> __boolean_testable; - { __t != __u } -> __boolean_testable; - { __u == __t } -> __boolean_testable; - { __u != __t } -> __boolean_testable; - }; - } - - template - concept equality_comparable = __detail::__weakly_eq_cmp_with<_Tp, _Tp>; - - template - concept equality_comparable_with - = equality_comparable<_Tp> && equality_comparable<_Up> - && common_reference_with<__detail::__cref<_Tp>, __detail::__cref<_Up>> - && equality_comparable, - __detail::__cref<_Up>>> - && __detail::__weakly_eq_cmp_with<_Tp, _Up>; - - namespace __detail - { - template - concept __partially_ordered_with - = requires(const remove_reference_t<_Tp>& __t, - const remove_reference_t<_Up>& __u) { - { __t < __u } -> __boolean_testable; - { __t > __u } -> __boolean_testable; - { __t <= __u } -> __boolean_testable; - { __t >= __u } -> __boolean_testable; - { __u < __t } -> __boolean_testable; - { __u > __t } -> __boolean_testable; - { __u <= __t } -> __boolean_testable; - { __u >= __t } -> __boolean_testable; - }; - } - - - template - concept totally_ordered - = equality_comparable<_Tp> - && __detail::__partially_ordered_with<_Tp, _Tp>; - - template - concept totally_ordered_with - = totally_ordered<_Tp> && totally_ordered<_Up> - && equality_comparable_with<_Tp, _Up> - && totally_ordered, - __detail::__cref<_Up>>> - && __detail::__partially_ordered_with<_Tp, _Up>; - - template - concept regular = semiregular<_Tp> && equality_comparable<_Tp>; - - - - - template - concept invocable = is_invocable_v<_Fn, _Args...>; - - - template - concept regular_invocable = invocable<_Fn, _Args...>; - - - template - concept predicate = regular_invocable<_Fn, _Args...> - && __detail::__boolean_testable>; - - - template - concept relation - = predicate<_Rel, _Tp, _Tp> && predicate<_Rel, _Up, _Up> - && predicate<_Rel, _Tp, _Up> && predicate<_Rel, _Up, _Tp>; - - - template - concept equivalence_relation = relation<_Rel, _Tp, _Up>; - - - template - concept strict_weak_order = relation<_Rel, _Tp, _Up>; - - -} -# 41 "/usr/include/c++/14.1.1/compare" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - namespace __cmp_cat - { - using type = signed char; - - enum class _Ord : type { equivalent = 0, less = -1, greater = 1 }; - - enum class _Ncmp : type { _Unordered = 2 }; - - struct __unspec - { - consteval __unspec(__unspec*) noexcept { } - }; - } - - class partial_ordering - { - - __cmp_cat::type _M_value; - - constexpr explicit - partial_ordering(__cmp_cat::_Ord __v) noexcept - : _M_value(__cmp_cat::type(__v)) - { } - - constexpr explicit - partial_ordering(__cmp_cat::_Ncmp __v) noexcept - : _M_value(__cmp_cat::type(__v)) - { } - - friend class weak_ordering; - friend class strong_ordering; - - public: - - static const partial_ordering less; - static const partial_ordering equivalent; - static const partial_ordering greater; - static const partial_ordering unordered; - - - [[nodiscard]] - friend constexpr bool - operator==(partial_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value == 0; } - - [[nodiscard]] - friend constexpr bool - operator==(partial_ordering, partial_ordering) noexcept = default; - - [[nodiscard]] - friend constexpr bool - operator< (partial_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value == -1; } - - [[nodiscard]] - friend constexpr bool - operator> (partial_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value == 1; } - - [[nodiscard]] - friend constexpr bool - operator<=(partial_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value <= 0; } - - [[nodiscard]] - friend constexpr bool - operator>=(partial_ordering __v, __cmp_cat::__unspec) noexcept - { return __cmp_cat::type(__v._M_value & 1) == __v._M_value; } - - [[nodiscard]] - friend constexpr bool - operator< (__cmp_cat::__unspec, partial_ordering __v) noexcept - { return __v._M_value == 1; } - - [[nodiscard]] - friend constexpr bool - operator> (__cmp_cat::__unspec, partial_ordering __v) noexcept - { return __v._M_value == -1; } - - [[nodiscard]] - friend constexpr bool - operator<=(__cmp_cat::__unspec, partial_ordering __v) noexcept - { return __cmp_cat::type(__v._M_value & 1) == __v._M_value; } - - [[nodiscard]] - friend constexpr bool - operator>=(__cmp_cat::__unspec, partial_ordering __v) noexcept - { return 0 >= __v._M_value; } - - [[nodiscard]] - friend constexpr partial_ordering - operator<=>(partial_ordering __v, __cmp_cat::__unspec) noexcept - { return __v; } - - [[nodiscard]] - friend constexpr partial_ordering - operator<=>(__cmp_cat::__unspec, partial_ordering __v) noexcept - { - if (__v._M_value & 1) - return partial_ordering(__cmp_cat::_Ord(-__v._M_value)); - else - return __v; - } - }; - - - inline constexpr partial_ordering - partial_ordering::less(__cmp_cat::_Ord::less); - - inline constexpr partial_ordering - partial_ordering::equivalent(__cmp_cat::_Ord::equivalent); - - inline constexpr partial_ordering - partial_ordering::greater(__cmp_cat::_Ord::greater); - - inline constexpr partial_ordering - partial_ordering::unordered(__cmp_cat::_Ncmp::_Unordered); - - class weak_ordering - { - __cmp_cat::type _M_value; - - constexpr explicit - weak_ordering(__cmp_cat::_Ord __v) noexcept : _M_value(__cmp_cat::type(__v)) - { } - - friend class strong_ordering; - - public: - - static const weak_ordering less; - static const weak_ordering equivalent; - static const weak_ordering greater; - - [[nodiscard]] - constexpr operator partial_ordering() const noexcept - { return partial_ordering(__cmp_cat::_Ord(_M_value)); } - - - [[nodiscard]] - friend constexpr bool - operator==(weak_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value == 0; } - - [[nodiscard]] - friend constexpr bool - operator==(weak_ordering, weak_ordering) noexcept = default; - - [[nodiscard]] - friend constexpr bool - operator< (weak_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value < 0; } - - [[nodiscard]] - friend constexpr bool - operator> (weak_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value > 0; } - - [[nodiscard]] - friend constexpr bool - operator<=(weak_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value <= 0; } - - [[nodiscard]] - friend constexpr bool - operator>=(weak_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value >= 0; } - - [[nodiscard]] - friend constexpr bool - operator< (__cmp_cat::__unspec, weak_ordering __v) noexcept - { return 0 < __v._M_value; } - - [[nodiscard]] - friend constexpr bool - operator> (__cmp_cat::__unspec, weak_ordering __v) noexcept - { return 0 > __v._M_value; } - - [[nodiscard]] - friend constexpr bool - operator<=(__cmp_cat::__unspec, weak_ordering __v) noexcept - { return 0 <= __v._M_value; } - - [[nodiscard]] - friend constexpr bool - operator>=(__cmp_cat::__unspec, weak_ordering __v) noexcept - { return 0 >= __v._M_value; } - - [[nodiscard]] - friend constexpr weak_ordering - operator<=>(weak_ordering __v, __cmp_cat::__unspec) noexcept - { return __v; } - - [[nodiscard]] - friend constexpr weak_ordering - operator<=>(__cmp_cat::__unspec, weak_ordering __v) noexcept - { return weak_ordering(__cmp_cat::_Ord(-__v._M_value)); } - }; - - - inline constexpr weak_ordering - weak_ordering::less(__cmp_cat::_Ord::less); - - inline constexpr weak_ordering - weak_ordering::equivalent(__cmp_cat::_Ord::equivalent); - - inline constexpr weak_ordering - weak_ordering::greater(__cmp_cat::_Ord::greater); - - class strong_ordering - { - __cmp_cat::type _M_value; - - constexpr explicit - strong_ordering(__cmp_cat::_Ord __v) noexcept - : _M_value(__cmp_cat::type(__v)) - { } - - public: - - static const strong_ordering less; - static const strong_ordering equal; - static const strong_ordering equivalent; - static const strong_ordering greater; - - [[nodiscard]] - constexpr operator partial_ordering() const noexcept - { return partial_ordering(__cmp_cat::_Ord(_M_value)); } - - [[nodiscard]] - constexpr operator weak_ordering() const noexcept - { return weak_ordering(__cmp_cat::_Ord(_M_value)); } - - - [[nodiscard]] - friend constexpr bool - operator==(strong_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value == 0; } - - [[nodiscard]] - friend constexpr bool - operator==(strong_ordering, strong_ordering) noexcept = default; - - [[nodiscard]] - friend constexpr bool - operator< (strong_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value < 0; } - - [[nodiscard]] - friend constexpr bool - operator> (strong_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value > 0; } - - [[nodiscard]] - friend constexpr bool - operator<=(strong_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value <= 0; } - - [[nodiscard]] - friend constexpr bool - operator>=(strong_ordering __v, __cmp_cat::__unspec) noexcept - { return __v._M_value >= 0; } - - [[nodiscard]] - friend constexpr bool - operator< (__cmp_cat::__unspec, strong_ordering __v) noexcept - { return 0 < __v._M_value; } - - [[nodiscard]] - friend constexpr bool - operator> (__cmp_cat::__unspec, strong_ordering __v) noexcept - { return 0 > __v._M_value; } - - [[nodiscard]] - friend constexpr bool - operator<=(__cmp_cat::__unspec, strong_ordering __v) noexcept - { return 0 <= __v._M_value; } - - [[nodiscard]] - friend constexpr bool - operator>=(__cmp_cat::__unspec, strong_ordering __v) noexcept - { return 0 >= __v._M_value; } - - [[nodiscard]] - friend constexpr strong_ordering - operator<=>(strong_ordering __v, __cmp_cat::__unspec) noexcept - { return __v; } - - [[nodiscard]] - friend constexpr strong_ordering - operator<=>(__cmp_cat::__unspec, strong_ordering __v) noexcept - { return strong_ordering(__cmp_cat::_Ord(-__v._M_value)); } - }; - - - inline constexpr strong_ordering - strong_ordering::less(__cmp_cat::_Ord::less); - - inline constexpr strong_ordering - strong_ordering::equal(__cmp_cat::_Ord::equivalent); - - inline constexpr strong_ordering - strong_ordering::equivalent(__cmp_cat::_Ord::equivalent); - - inline constexpr strong_ordering - strong_ordering::greater(__cmp_cat::_Ord::greater); - - - - [[nodiscard]] - constexpr bool - is_eq(partial_ordering __cmp) noexcept - { return __cmp == 0; } - - [[nodiscard]] - constexpr bool - is_neq(partial_ordering __cmp) noexcept - { return __cmp != 0; } - - [[nodiscard]] - constexpr bool - is_lt (partial_ordering __cmp) noexcept - { return __cmp < 0; } - - [[nodiscard]] - constexpr bool - is_lteq(partial_ordering __cmp) noexcept - { return __cmp <= 0; } - - [[nodiscard]] - constexpr bool - is_gt (partial_ordering __cmp) noexcept - { return __cmp > 0; } - - [[nodiscard]] - constexpr bool - is_gteq(partial_ordering __cmp) noexcept - { return __cmp >= 0; } - - namespace __detail - { - template - inline constexpr unsigned __cmp_cat_id = 1; - template<> - inline constexpr unsigned __cmp_cat_id = 2; - template<> - inline constexpr unsigned __cmp_cat_id = 4; - template<> - inline constexpr unsigned __cmp_cat_id = 8; - - template - constexpr auto __common_cmp_cat() - { - constexpr unsigned __cats = (__cmp_cat_id<_Ts> | ...); - - if constexpr (__cats & 1) - return; - - - else if constexpr (bool(__cats & __cmp_cat_id)) - return partial_ordering::equivalent; - - - else if constexpr (bool(__cats & __cmp_cat_id)) - return weak_ordering::equivalent; - - else - return strong_ordering::equivalent; - } - } - - - template - struct common_comparison_category - { - using type = decltype(__detail::__common_cmp_cat<_Ts...>()); - }; - - - - template - struct common_comparison_category<_Tp> - { using type = void; }; - - template<> - struct common_comparison_category - { using type = partial_ordering; }; - - template<> - struct common_comparison_category - { using type = weak_ordering; }; - - template<> - struct common_comparison_category - { using type = strong_ordering; }; - - template<> - struct common_comparison_category<> - { using type = strong_ordering; }; - - template - using common_comparison_category_t - = typename common_comparison_category<_Ts...>::type; - - - - namespace __detail - { - template - concept __compares_as - = same_as, _Cat>; - } - - - template - concept three_way_comparable - = __detail::__weakly_eq_cmp_with<_Tp, _Tp> - && __detail::__partially_ordered_with<_Tp, _Tp> - && requires(const remove_reference_t<_Tp>& __a, - const remove_reference_t<_Tp>& __b) - { - { __a <=> __b } -> __detail::__compares_as<_Cat>; - }; - - template - concept three_way_comparable_with - = three_way_comparable<_Tp, _Cat> - && three_way_comparable<_Up, _Cat> - && common_reference_with&, - const remove_reference_t<_Up>&> - && three_way_comparable< - common_reference_t&, - const remove_reference_t<_Up>&>, _Cat> - && __detail::__weakly_eq_cmp_with<_Tp, _Up> - && __detail::__partially_ordered_with<_Tp, _Up> - && requires(const remove_reference_t<_Tp>& __t, - const remove_reference_t<_Up>& __u) - { - { __t <=> __u } -> __detail::__compares_as<_Cat>; - { __u <=> __t } -> __detail::__compares_as<_Cat>; - }; - - namespace __detail - { - template - using __cmp3way_res_t - = decltype(std::declval<_Tp>() <=> std::declval<_Up>()); - - - - - - - template - struct __cmp3way_res_impl - { }; - - template - requires requires { typename __cmp3way_res_t<__cref<_Tp>, __cref<_Up>>; } - struct __cmp3way_res_impl<_Tp, _Up> - { - using type = __cmp3way_res_t<__cref<_Tp>, __cref<_Up>>; - }; - } - - - template - struct compare_three_way_result - : __detail::__cmp3way_res_impl<_Tp, _Up> - { }; - - - template - using compare_three_way_result_t - = typename __detail::__cmp3way_res_impl<_Tp, _Up>::type; - - namespace __detail - { - - - - - template - concept __3way_builtin_ptr_cmp - = requires(_Tp&& __t, _Up&& __u) - { static_cast<_Tp&&>(__t) <=> static_cast<_Up&&>(__u); } - && convertible_to<_Tp, const volatile void*> - && convertible_to<_Up, const volatile void*> - && ! requires(_Tp&& __t, _Up&& __u) - { operator<=>(static_cast<_Tp&&>(__t), static_cast<_Up&&>(__u)); } - && ! requires(_Tp&& __t, _Up&& __u) - { static_cast<_Tp&&>(__t).operator<=>(static_cast<_Up&&>(__u)); }; - } - - - - - - struct compare_three_way - { - template - requires three_way_comparable_with<_Tp, _Up> - constexpr auto - operator() [[nodiscard]] (_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::declval<_Tp>() <=> std::declval<_Up>())) - { - if constexpr (__detail::__3way_builtin_ptr_cmp<_Tp, _Up>) - { - auto __pt = static_cast(__t); - auto __pu = static_cast(__u); - if (std::__is_constant_evaluated()) - return __pt <=> __pu; - auto __it = reinterpret_cast(__pt); - auto __iu = reinterpret_cast(__pu); - return __it <=> __iu; - } - else - return static_cast<_Tp&&>(__t) <=> static_cast<_Up&&>(__u); - } - - using is_transparent = void; - }; - - - - namespace __compare - { - template - constexpr weak_ordering - __fp_weak_ordering(_Tp __e, _Tp __f) - { - - - auto __cat = [](_Tp __fp) -> int { - const int __sign = __builtin_signbit(__fp) ? -1 : 1; - if (__builtin_isnormal(__fp)) - return (__fp == 0 ? 1 : 3) * __sign; - if (__builtin_isnan(__fp)) - return 5 * __sign; - if (int __inf = __builtin_isinf_sign(__fp)) - return 4 * __inf; - return 2 * __sign; - }; - - auto __po = __e <=> __f; - if (is_lt(__po)) - return weak_ordering::less; - else if (is_gt(__po)) - return weak_ordering::greater; - else if (__po == partial_ordering::equivalent) - return weak_ordering::equivalent; - else - { - - auto __isnan_sign = [](_Tp __fp) -> int { - return __builtin_isnan(__fp) - ? __builtin_signbit(__fp) ? -1 : 1 - : 0; - }; - auto __ord = __isnan_sign(__e) <=> __isnan_sign(__f); - if (is_eq(__ord)) - return weak_ordering::equivalent; - else if (is_lt(__ord)) - return weak_ordering::less; - else - return weak_ordering::greater; - } - } - - void strong_order() = delete; - - template - concept __adl_strong = requires(_Tp&& __t, _Up&& __u) - { - strong_ordering(strong_order(static_cast<_Tp&&>(__t), - static_cast<_Up&&>(__u))); - }; - - void weak_order() = delete; - - template - concept __adl_weak = requires(_Tp&& __t, _Up&& __u) - { - weak_ordering(weak_order(static_cast<_Tp&&>(__t), - static_cast<_Up&&>(__u))); - }; - - void partial_order() = delete; - - template - concept __adl_partial = requires(_Tp&& __t, _Up&& __u) - { - partial_ordering(partial_order(static_cast<_Tp&&>(__t), - static_cast<_Up&&>(__u))); - }; - - template - concept __cmp3way = requires(_Tp&& __t, _Up&& __u, compare_three_way __c) - { - _Ord(__c(static_cast<_Tp&&>(__t), static_cast<_Up&&>(__u))); - }; - - template - concept __strongly_ordered - = __adl_strong<_Tp, _Up> - || floating_point> - || __cmp3way; - - template - concept __decayed_same_as = same_as, decay_t<_Up>>; - - class _Strong_order - { - template - static constexpr bool - _S_noexcept() - { - if constexpr (floating_point>) - return true; - else if constexpr (__adl_strong<_Tp, _Up>) - return noexcept(strong_ordering(strong_order(std::declval<_Tp>(), - std::declval<_Up>()))); - else if constexpr (__cmp3way) - return noexcept(compare_three_way()(std::declval<_Tp>(), - std::declval<_Up>())); - } - - friend class _Weak_order; - friend class _Strong_fallback; - - - enum class _Fp_fmt - { - _Binary16, _Binary32, _Binary64, _Binary128, - _X86_80bit, - _M68k_80bit, - _Dbldbl, - _Bfloat16, - }; -# 699 "/usr/include/c++/14.1.1/compare" 3 - template - static consteval _Fp_fmt - _S_fp_fmt() noexcept - { - - using enum _Fp_fmt; -# 719 "/usr/include/c++/14.1.1/compare" 3 - if constexpr (__is_same(_Tp, long double)) - return (-16381) == -16381 ? _X86_80bit : _M68k_80bit; - - - if constexpr (__is_same(_Tp, __float80)) - return _X86_80bit; - - - - - - - constexpr int __width = sizeof(_Tp) * 8; - - if constexpr (__width == 16) - return _Binary16; - else if constexpr (__width == 32) - return _Binary32; - else if constexpr (__width == 64) - return _Binary64; - else if constexpr (__width == 128) - return _Binary128; - } - - - using int64_t = long int; - using int32_t = int; - using int16_t = short int; - using uint64_t = long unsigned int; - using uint16_t = short unsigned int; - - - template - struct _Int - { - - uint64_t _M_lo; - _Tp _M_hi; - - - - - - constexpr explicit - _Int(_Tp __hi, uint64_t __lo) noexcept : _M_hi(__hi) - { _M_lo = __lo; } - - constexpr explicit - _Int(uint64_t __lo) noexcept : _M_hi(0) - { _M_lo = __lo; } - - constexpr bool operator==(const _Int&) const = default; -# 781 "/usr/include/c++/14.1.1/compare" 3 - constexpr _Int& - operator^=(const _Int& __rhs) noexcept - { - _M_hi ^= __rhs._M_hi; - _M_lo ^= __rhs._M_lo; - return *this; - } - - constexpr strong_ordering - operator<=>(const _Int& __rhs) const noexcept - { - strong_ordering __cmp = _M_hi <=> __rhs._M_hi; - if (__cmp != strong_ordering::equal) - return __cmp; - return _M_lo <=> __rhs._M_lo; - } - }; - - template - static constexpr _Tp - _S_compl(_Tp __t) noexcept - { - constexpr int __width = sizeof(_Tp) * 8; - - make_unsigned_t<_Tp> __sign = __t >> (__width - 1); - - - return __t ^ (__sign >> 1); - } - - - template - static constexpr _Int<_Tp> - _S_compl(_Int<_Tp> __t) noexcept - { - constexpr int __width = sizeof(_Tp) * 8; - make_unsigned_t<_Tp> __sign = __t._M_hi >> (__width - 1); - __t._M_hi ^= (__sign >> 1 ); - uint64_t __sign64 = (_Tp)__sign; - __t._M_lo ^= __sign64; - return __t; - } - - - template - constexpr static auto - _S_fp_bits(_Tp __val) noexcept - { - if constexpr (sizeof(_Tp) == sizeof(int64_t)) - return __builtin_bit_cast(int64_t, __val); - else if constexpr (sizeof(_Tp) == sizeof(int32_t)) - return __builtin_bit_cast(int32_t, __val); - else if constexpr (sizeof(_Tp) == sizeof(int16_t)) - return __builtin_bit_cast(int16_t, __val); - else - { - - using enum _Fp_fmt; - - constexpr auto __fmt = _S_fp_fmt<_Tp>(); - if constexpr (__fmt == _X86_80bit || __fmt == _M68k_80bit) - { - if constexpr (sizeof(_Tp) == 3 * sizeof(int32_t)) - { - auto __ival = __builtin_bit_cast(_Int, __val); - return _Int(__ival._M_hi, __ival._M_lo); - } - else - { - auto __ival = __builtin_bit_cast(_Int, __val); - return _Int(__ival._M_hi, __ival._M_lo); - } - } - else if constexpr (sizeof(_Tp) == 2 * sizeof(int64_t)) - { - - return __builtin_bit_cast(__int128, __val); - - - - } - else - static_assert(sizeof(_Tp) == sizeof(int64_t), - "unsupported floating-point type"); - } - } - - template - static constexpr strong_ordering - _S_fp_cmp(_Tp __x, _Tp __y) noexcept - { -# 885 "/usr/include/c++/14.1.1/compare" 3 - auto __ix = _S_fp_bits(__x); - auto __iy = _S_fp_bits(__y); - - if (__ix == __iy) - return strong_ordering::equal; - - - using enum _Fp_fmt; - - constexpr auto __fmt = _S_fp_fmt<_Tp>(); - - if constexpr (__fmt == _Dbldbl) - { - - - struct _Unpacked { double _M_hi; int64_t _M_lo; }; - auto __x2 = __builtin_bit_cast(_Unpacked, __x); - auto __y2 = __builtin_bit_cast(_Unpacked, __y); - - - auto __cmp = _S_fp_cmp(__x2._M_hi, __y2._M_hi); - if (__cmp != strong_ordering::equal) - return __cmp; - - - - if (__builtin_isnan(__x2._M_hi)) - return strong_ordering::equal; - - - if (((__x2._M_lo | __y2._M_lo) & 0x7fffffffffffffffULL) == 0) - return strong_ordering::equal; - - - return _S_compl(__x2._M_lo) <=> _S_compl(__y2._M_lo); - } - else - { - if constexpr (__fmt == _M68k_80bit) - { - - - - constexpr uint16_t __maxexp = 0x7fff; - if ((__ix._M_hi & __maxexp) == __maxexp) - __ix._M_lo |= 1ull << 63; - if ((__iy._M_hi & __maxexp) == __maxexp) - __iy._M_lo |= 1ull << 63; - } - else - { -# 952 "/usr/include/c++/14.1.1/compare" 3 - } - return _S_compl(__ix) <=> _S_compl(__iy); - } - } - - public: - template _Up> - requires __strongly_ordered<_Tp, _Up> - constexpr strong_ordering - operator() [[nodiscard]] (_Tp&& __e, _Up&& __f) const - noexcept(_S_noexcept<_Tp, _Up>()) - { - if constexpr (floating_point>) - return _S_fp_cmp(__e, __f); - else if constexpr (__adl_strong<_Tp, _Up>) - return strong_ordering(strong_order(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f))); - else if constexpr (__cmp3way) - return compare_three_way()(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f)); - } - }; - - template - concept __weakly_ordered - = floating_point> - || __adl_weak<_Tp, _Up> - || __cmp3way - || __strongly_ordered<_Tp, _Up>; - - class _Weak_order - { - template - static constexpr bool - _S_noexcept() - { - if constexpr (floating_point>) - return true; - else if constexpr (__adl_weak<_Tp, _Up>) - return noexcept(weak_ordering(weak_order(std::declval<_Tp>(), - std::declval<_Up>()))); - else if constexpr (__cmp3way) - return noexcept(compare_three_way()(std::declval<_Tp>(), - std::declval<_Up>())); - else if constexpr (__strongly_ordered<_Tp, _Up>) - return _Strong_order::_S_noexcept<_Tp, _Up>(); - } - - friend class _Partial_order; - friend class _Weak_fallback; - - public: - template _Up> - requires __weakly_ordered<_Tp, _Up> - constexpr weak_ordering - operator() [[nodiscard]] (_Tp&& __e, _Up&& __f) const - noexcept(_S_noexcept<_Tp, _Up>()) - { - if constexpr (floating_point>) - return __compare::__fp_weak_ordering(__e, __f); - else if constexpr (__adl_weak<_Tp, _Up>) - return weak_ordering(weak_order(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f))); - else if constexpr (__cmp3way) - return compare_three_way()(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f)); - else if constexpr (__strongly_ordered<_Tp, _Up>) - return _Strong_order{}(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f)); - } - }; - - template - concept __partially_ordered - = __adl_partial<_Tp, _Up> - || __cmp3way - || __weakly_ordered<_Tp, _Up>; - - class _Partial_order - { - template - static constexpr bool - _S_noexcept() - { - if constexpr (__adl_partial<_Tp, _Up>) - return noexcept(partial_ordering(partial_order(std::declval<_Tp>(), - std::declval<_Up>()))); - else if constexpr (__cmp3way) - return noexcept(compare_three_way()(std::declval<_Tp>(), - std::declval<_Up>())); - else if constexpr (__weakly_ordered<_Tp, _Up>) - return _Weak_order::_S_noexcept<_Tp, _Up>(); - } - - friend class _Partial_fallback; - - public: - template _Up> - requires __partially_ordered<_Tp, _Up> - constexpr partial_ordering - operator() [[nodiscard]] (_Tp&& __e, _Up&& __f) const - noexcept(_S_noexcept<_Tp, _Up>()) - { - if constexpr (__adl_partial<_Tp, _Up>) - return partial_ordering(partial_order(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f))); - else if constexpr (__cmp3way) - return compare_three_way()(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f)); - else if constexpr (__weakly_ordered<_Tp, _Up>) - return _Weak_order{}(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f)); - } - }; - - template - concept __op_eq_lt = requires(_Tp&& __t, _Up&& __u) - { - { static_cast<_Tp&&>(__t) == static_cast<_Up&&>(__u) } - -> convertible_to; - { static_cast<_Tp&&>(__t) < static_cast<_Up&&>(__u) } - -> convertible_to; - }; - - class _Strong_fallback - { - template - static constexpr bool - _S_noexcept() - { - if constexpr (__strongly_ordered<_Tp, _Up>) - return _Strong_order::_S_noexcept<_Tp, _Up>(); - else - return noexcept(bool(std::declval<_Tp>() == std::declval<_Up>())) - && noexcept(bool(std::declval<_Tp>() < std::declval<_Up>())); - } - - public: - template _Up> - requires __strongly_ordered<_Tp, _Up> || __op_eq_lt<_Tp, _Up> - constexpr strong_ordering - operator() [[nodiscard]] (_Tp&& __e, _Up&& __f) const - noexcept(_S_noexcept<_Tp, _Up>()) - { - if constexpr (__strongly_ordered<_Tp, _Up>) - return _Strong_order{}(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f)); - else - return static_cast<_Tp&&>(__e) == static_cast<_Up&&>(__f) - ? strong_ordering::equal - : static_cast<_Tp&&>(__e) < static_cast<_Up&&>(__f) - ? strong_ordering::less - : strong_ordering::greater; - } - }; - - class _Weak_fallback - { - template - static constexpr bool - _S_noexcept() - { - if constexpr (__weakly_ordered<_Tp, _Up>) - return _Weak_order::_S_noexcept<_Tp, _Up>(); - else - return noexcept(bool(std::declval<_Tp>() == std::declval<_Up>())) - && noexcept(bool(std::declval<_Tp>() < std::declval<_Up>())); - } - - public: - template _Up> - requires __weakly_ordered<_Tp, _Up> || __op_eq_lt<_Tp, _Up> - constexpr weak_ordering - operator() [[nodiscard]] (_Tp&& __e, _Up&& __f) const - noexcept(_S_noexcept<_Tp, _Up>()) - { - if constexpr (__weakly_ordered<_Tp, _Up>) - return _Weak_order{}(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f)); - else - return static_cast<_Tp&&>(__e) == static_cast<_Up&&>(__f) - ? weak_ordering::equivalent - : static_cast<_Tp&&>(__e) < static_cast<_Up&&>(__f) - ? weak_ordering::less - : weak_ordering::greater; - } - }; - - - - template - concept __op_eq_lt_lt = __op_eq_lt<_Tp, _Up> - && requires(_Tp&& __t, _Up&& __u) - { - { static_cast<_Up&&>(__u) < static_cast<_Tp&&>(__t) } - -> convertible_to; - }; - - class _Partial_fallback - { - template - static constexpr bool - _S_noexcept() - { - if constexpr (__partially_ordered<_Tp, _Up>) - return _Partial_order::_S_noexcept<_Tp, _Up>(); - else - return noexcept(bool(std::declval<_Tp>() == std::declval<_Up>())) - && noexcept(bool(std::declval<_Tp>() < std::declval<_Up>())); - } - - public: - template _Up> - requires __partially_ordered<_Tp, _Up> || __op_eq_lt_lt<_Tp, _Up> - constexpr partial_ordering - operator() [[nodiscard]] (_Tp&& __e, _Up&& __f) const - noexcept(_S_noexcept<_Tp, _Up>()) - { - if constexpr (__partially_ordered<_Tp, _Up>) - return _Partial_order{}(static_cast<_Tp&&>(__e), - static_cast<_Up&&>(__f)); - else - return static_cast<_Tp&&>(__e) == static_cast<_Up&&>(__f) - ? partial_ordering::equivalent - : static_cast<_Tp&&>(__e) < static_cast<_Up&&>(__f) - ? partial_ordering::less - : static_cast<_Up&&>(__f) < static_cast<_Tp&&>(__e) - ? partial_ordering::greater - : partial_ordering::unordered; - } - }; - } - - - - inline namespace _Cpo - { - inline constexpr __compare::_Strong_order strong_order{}; - - inline constexpr __compare::_Weak_order weak_order{}; - - inline constexpr __compare::_Partial_order partial_order{}; - - inline constexpr __compare::_Strong_fallback - compare_strong_order_fallback{}; - - inline constexpr __compare::_Weak_fallback - compare_weak_order_fallback{}; - - inline constexpr __compare::_Partial_fallback - compare_partial_order_fallback{}; - } - - - namespace __detail - { - - inline constexpr struct _Synth3way - { - template - static constexpr bool - _S_noexcept(const _Tp* __t = nullptr, const _Up* __u = nullptr) - { - if constexpr (three_way_comparable_with<_Tp, _Up>) - return noexcept(*__t <=> *__u); - else - return noexcept(*__t < *__u) && noexcept(*__u < *__t); - } - - template - [[nodiscard]] - constexpr auto - operator()(const _Tp& __t, const _Up& __u) const - noexcept(_S_noexcept<_Tp, _Up>()) - requires requires - { - { __t < __u } -> __boolean_testable; - { __u < __t } -> __boolean_testable; - } - { - if constexpr (three_way_comparable_with<_Tp, _Up>) - return __t <=> __u; - else - { - if (__t < __u) - return weak_ordering::less; - else if (__u < __t) - return weak_ordering::greater; - else - return weak_ordering::equivalent; - } - } - } __synth3way = {}; - - - template - using __synth3way_t - = decltype(__detail::__synth3way(std::declval<_Tp&>(), - std::declval<_Up&>())); - } - - -} -# 57 "/usr/include/c++/14.1.1/bits/char_traits.h" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/stl_construct.h" 1 3 -# 61 "/usr/include/c++/14.1.1/bits/stl_construct.h" 3 -# 1 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 1 3 -# 62 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 3 - -# 63 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 3 -# 71 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 3 -# 1 "/usr/include/c++/14.1.1/bits/iterator_concepts.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/iterator_concepts.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/iterator_concepts.h" 3 - - - -# 1 "/usr/include/c++/14.1.1/bits/ptr_traits.h" 1 3 -# 39 "/usr/include/c++/14.1.1/bits/ptr_traits.h" 3 -namespace __gnu_debug { struct _Safe_iterator_base; } - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - class __undefined; - - - - template - struct __get_first_arg - { using type = __undefined; }; - - template class _SomeTemplate, typename _Tp, - typename... _Types> - struct __get_first_arg<_SomeTemplate<_Tp, _Types...>> - { using type = _Tp; }; - - - - template - struct __replace_first_arg - { }; - - template class _SomeTemplate, typename _Up, - typename _Tp, typename... _Types> - struct __replace_first_arg<_SomeTemplate<_Tp, _Types...>, _Up> - { using type = _SomeTemplate<_Up, _Types...>; }; - - - template - struct __ptr_traits_elem : __get_first_arg<_Ptr> - { }; - - - - template requires requires { typename _Ptr::element_type; } - struct __ptr_traits_elem<_Ptr, void> - { using type = typename _Ptr::element_type; }; - - - - - - - template - using __ptr_traits_elem_t = typename __ptr_traits_elem<_Ptr>::type; - - - - - template::value> - struct __ptr_traits_ptr_to - { - using pointer = _Ptr; - using element_type = _Elt; - - - - - - - - static pointer - pointer_to(element_type& __r) - - requires requires { - { pointer::pointer_to(__r) } -> convertible_to; - } - - { return pointer::pointer_to(__r); } - }; - - - template - struct __ptr_traits_ptr_to<_Ptr, _Elt, true> - { }; - - - template - struct __ptr_traits_ptr_to<_Tp*, _Tp, false> - { - using pointer = _Tp*; - using element_type = _Tp; - - - - - - - static constexpr pointer - pointer_to(element_type& __r) noexcept - { return std::addressof(__r); } - }; - - template - struct __ptr_traits_impl : __ptr_traits_ptr_to<_Ptr, _Elt> - { - private: - template - using __diff_t = typename _Tp::difference_type; - - template - using __rebind = __type_identity>; - - public: - - using pointer = _Ptr; - - - using element_type = _Elt; - - - using difference_type = __detected_or_t; - - - template - using rebind = typename __detected_or_t<__replace_first_arg<_Ptr, _Up>, - __rebind, _Ptr, _Up>::type; - }; - - - - template - struct __ptr_traits_impl<_Ptr, __undefined> - { }; - - - - - - - - template - struct pointer_traits : __ptr_traits_impl<_Ptr, __ptr_traits_elem_t<_Ptr>> - { }; - - - - - - - - template - struct pointer_traits<_Tp*> : __ptr_traits_ptr_to<_Tp*, _Tp> - { - - typedef _Tp* pointer; - - typedef _Tp element_type; - - typedef ptrdiff_t difference_type; - - template using rebind = _Up*; - }; - - - 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 auto - __to_address(const _Ptr& __ptr) noexcept - -> decltype(std::pointer_traits<_Ptr>::to_address(__ptr)) - { return std::pointer_traits<_Ptr>::to_address(__ptr); } - - template - constexpr auto - __to_address(const _Ptr& __ptr, _None...) noexcept - { - if constexpr (is_base_of_v<__gnu_debug::_Safe_iterator_base, _Ptr>) - return std::__to_address(__ptr.base().operator->()); - else - return std::__to_address(__ptr.operator->()); - } - - - - - - - - template - constexpr _Tp* - to_address(_Tp* __ptr) noexcept - { return std::__to_address(__ptr); } -# 251 "/usr/include/c++/14.1.1/bits/ptr_traits.h" 3 - template - constexpr auto - to_address(const _Ptr& __ptr) noexcept - { return std::__to_address(__ptr); } - - - -} -# 38 "/usr/include/c++/14.1.1/bits/iterator_concepts.h" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/ranges_cmp.h" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/ranges_cmp.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - struct __is_transparent; - - - - - - struct identity - { - template - [[nodiscard]] - constexpr _Tp&& - operator()(_Tp&& __t) const noexcept - { return std::forward<_Tp>(__t); } - - using is_transparent = __is_transparent; - }; - - -namespace ranges -{ - namespace __detail - { - - - - template - concept __less_builtin_ptr_cmp - = requires (_Tp&& __t, _Up&& __u) { { __t < __u } -> same_as; } - && convertible_to<_Tp, const volatile void*> - && convertible_to<_Up, const volatile void*> - && (! requires(_Tp&& __t, _Up&& __u) - { operator<(std::forward<_Tp>(__t), std::forward<_Up>(__u)); } - && ! requires(_Tp&& __t, _Up&& __u) - { std::forward<_Tp>(__t).operator<(std::forward<_Up>(__u)); }); - } - - - - - - - - struct equal_to - { - template - requires equality_comparable_with<_Tp, _Up> - constexpr bool - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::declval<_Tp>() == std::declval<_Up>())) - { return std::forward<_Tp>(__t) == std::forward<_Up>(__u); } - - using is_transparent = __is_transparent; - }; - - - struct not_equal_to - { - template - requires equality_comparable_with<_Tp, _Up> - constexpr bool - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::declval<_Up>() == std::declval<_Tp>())) - { return !equal_to{}(std::forward<_Tp>(__t), std::forward<_Up>(__u)); } - - using is_transparent = __is_transparent; - }; - - - struct less - { - template - requires totally_ordered_with<_Tp, _Up> - constexpr bool - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::declval<_Tp>() < std::declval<_Up>())) - { - if constexpr (__detail::__less_builtin_ptr_cmp<_Tp, _Up>) - { - if (std::__is_constant_evaluated()) - return __t < __u; - - auto __x = reinterpret_cast( - static_cast(std::forward<_Tp>(__t))); - auto __y = reinterpret_cast( - static_cast(std::forward<_Up>(__u))); - return __x < __y; - } - else - return std::forward<_Tp>(__t) < std::forward<_Up>(__u); - } - - using is_transparent = __is_transparent; - }; - - - struct greater - { - template - requires totally_ordered_with<_Tp, _Up> - constexpr bool - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::declval<_Up>() < std::declval<_Tp>())) - { return less{}(std::forward<_Up>(__u), std::forward<_Tp>(__t)); } - - using is_transparent = __is_transparent; - }; - - - struct greater_equal - { - template - requires totally_ordered_with<_Tp, _Up> - constexpr bool - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::declval<_Tp>() < std::declval<_Up>())) - { return !less{}(std::forward<_Tp>(__t), std::forward<_Up>(__u)); } - - using is_transparent = __is_transparent; - }; - - - struct less_equal - { - template - requires totally_ordered_with<_Tp, _Up> - constexpr bool - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::declval<_Up>() < std::declval<_Tp>())) - { return !less{}(std::forward<_Up>(__u), std::forward<_Tp>(__t)); } - - using is_transparent = __is_transparent; - }; - -} - - -} -# 39 "/usr/include/c++/14.1.1/bits/iterator_concepts.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 58 "/usr/include/c++/14.1.1/bits/iterator_concepts.h" 3 - struct default_sentinel_t { }; - - - inline constexpr default_sentinel_t default_sentinel{}; - - - struct input_iterator_tag; - struct output_iterator_tag; - struct forward_iterator_tag; - struct bidirectional_iterator_tag; - struct random_access_iterator_tag; - struct contiguous_iterator_tag; - - template - struct iterator_traits; - - template requires is_object_v<_Tp> - struct iterator_traits<_Tp*>; - - template - struct __iterator_traits; - - namespace __detail - { - template - using __with_ref = _Tp&; - - template - concept __can_reference = requires { typename __with_ref<_Tp>; }; - - template - concept __dereferenceable = requires(_Tp& __t) - { - { *__t } -> __can_reference; - }; - } - - template<__detail::__dereferenceable _Tp> - using iter_reference_t = decltype(*std::declval<_Tp&>()); - - namespace ranges - { - - namespace __imove - { - void iter_move() = delete; - - template - concept __adl_imove - = (std::__detail::__class_or_enum>) - && requires(_Tp&& __t) { iter_move(static_cast<_Tp&&>(__t)); }; - - struct _IterMove - { - private: - template - struct __result - { using type = iter_reference_t<_Tp>; }; - - template - requires __adl_imove<_Tp> - struct __result<_Tp> - { using type = decltype(iter_move(std::declval<_Tp>())); }; - - template - requires (!__adl_imove<_Tp>) - && is_lvalue_reference_v> - struct __result<_Tp> - { using type = remove_reference_t>&&; }; - - template - static constexpr bool - _S_noexcept() - { - if constexpr (__adl_imove<_Tp>) - return noexcept(iter_move(std::declval<_Tp>())); - else - return noexcept(*std::declval<_Tp>()); - } - - public: - - template - using __type = typename __result<_Tp>::type; - - template - [[nodiscard]] - constexpr __type<_Tp> - operator()(_Tp&& __e) const - noexcept(_S_noexcept<_Tp>()) - { - if constexpr (__adl_imove<_Tp>) - return iter_move(static_cast<_Tp&&>(__e)); - else if constexpr (is_lvalue_reference_v>) - return static_cast<__type<_Tp>>(*__e); - else - return *__e; - } - }; - } - - - inline namespace _Cpo { - inline constexpr __imove::_IterMove iter_move{}; - } - } - - template<__detail::__dereferenceable _Tp> - requires __detail::__can_reference> - using iter_rvalue_reference_t = ranges::__imove::_IterMove::__type<_Tp&>; - - template struct incrementable_traits { }; - - template requires is_object_v<_Tp> - struct incrementable_traits<_Tp*> - { using difference_type = ptrdiff_t; }; - - template - struct incrementable_traits - : incrementable_traits<_Iter> { }; - - template requires requires { typename _Tp::difference_type; } - struct incrementable_traits<_Tp> - { using difference_type = typename _Tp::difference_type; }; - - template - requires (!requires { typename _Tp::difference_type; } - && requires(const _Tp& __a, const _Tp& __b) - { { __a - __b } -> integral; }) - struct incrementable_traits<_Tp> - { - using difference_type - = make_signed_t() - std::declval<_Tp>())>; - }; -# 204 "/usr/include/c++/14.1.1/bits/iterator_concepts.h" 3 - namespace __detail - { - - - template - concept __primary_traits_iter - = __is_base_of(__iterator_traits<_Iter, void>, iterator_traits<_Iter>); - - template - struct __iter_traits_impl - { using type = iterator_traits<_Iter>; }; - - template - requires __primary_traits_iter<_Iter> - struct __iter_traits_impl<_Iter, _Tp> - { using type = _Tp; }; - - - template - using __iter_traits = typename __iter_traits_impl<_Iter, _Tp>::type; - - template - using __iter_diff_t = typename - __iter_traits<_Tp, incrementable_traits<_Tp>>::difference_type; - } - - template - using iter_difference_t = __detail::__iter_diff_t>; - - namespace __detail - { - template struct __cond_value_type { }; - - template requires is_object_v<_Tp> - struct __cond_value_type<_Tp> - { using value_type = remove_cv_t<_Tp>; }; - - template - concept __has_member_value_type - = requires { typename _Tp::value_type; }; - - template - concept __has_member_element_type - = requires { typename _Tp::element_type; }; - - } - - template struct indirectly_readable_traits { }; - - template - struct indirectly_readable_traits<_Tp*> - : __detail::__cond_value_type<_Tp> - { }; - - template requires is_array_v<_Iter> - struct indirectly_readable_traits<_Iter> - { using value_type = remove_cv_t>; }; - - template - struct indirectly_readable_traits - : indirectly_readable_traits<_Iter> - { }; - - template<__detail::__has_member_value_type _Tp> - struct indirectly_readable_traits<_Tp> - : __detail::__cond_value_type - { }; - - template<__detail::__has_member_element_type _Tp> - struct indirectly_readable_traits<_Tp> - : __detail::__cond_value_type - { }; - - - - template<__detail::__has_member_value_type _Tp> - requires __detail::__has_member_element_type<_Tp> - && same_as, - remove_cv_t> - struct indirectly_readable_traits<_Tp> - : __detail::__cond_value_type - { }; - - - - template<__detail::__has_member_value_type _Tp> - requires __detail::__has_member_element_type<_Tp> - struct indirectly_readable_traits<_Tp> - { }; - - namespace __detail - { - template - using __iter_value_t = typename - __iter_traits<_Tp, indirectly_readable_traits<_Tp>>::value_type; - } - - template - using iter_value_t = __detail::__iter_value_t>; - - namespace __detail - { - - - template - concept __cpp17_iterator = requires(_Iter __it) - { - { *__it } -> __can_reference; - { ++__it } -> same_as<_Iter&>; - { *__it++ } -> __can_reference; - } && copyable<_Iter>; - - template - concept __cpp17_input_iterator = __cpp17_iterator<_Iter> - && equality_comparable<_Iter> - && requires(_Iter __it) - { - typename incrementable_traits<_Iter>::difference_type; - typename indirectly_readable_traits<_Iter>::value_type; - typename common_reference_t&&, - typename indirectly_readable_traits<_Iter>::value_type&>; - typename common_reference_t::value_type&>; - requires signed_integral< - typename incrementable_traits<_Iter>::difference_type>; - }; - - template - concept __cpp17_fwd_iterator = __cpp17_input_iterator<_Iter> - && constructible_from<_Iter> - && is_lvalue_reference_v> - && same_as>, - typename indirectly_readable_traits<_Iter>::value_type> - && requires(_Iter __it) - { - { __it++ } -> convertible_to; - { *__it++ } -> same_as>; - }; - - template - concept __cpp17_bidi_iterator = __cpp17_fwd_iterator<_Iter> - && requires(_Iter __it) - { - { --__it } -> same_as<_Iter&>; - { __it-- } -> convertible_to; - { *__it-- } -> same_as>; - }; - - template - concept __cpp17_randacc_iterator = __cpp17_bidi_iterator<_Iter> - && totally_ordered<_Iter> - && requires(_Iter __it, - typename incrementable_traits<_Iter>::difference_type __n) - { - { __it += __n } -> same_as<_Iter&>; - { __it -= __n } -> same_as<_Iter&>; - { __it + __n } -> same_as<_Iter>; - { __n + __it } -> same_as<_Iter>; - { __it - __n } -> same_as<_Iter>; - { __it - __it } -> same_as; - { __it[__n] } -> convertible_to>; - }; - - template - concept __iter_with_nested_types = requires { - typename _Iter::iterator_category; - typename _Iter::value_type; - typename _Iter::difference_type; - typename _Iter::reference; - }; - - template - concept __iter_without_nested_types = !__iter_with_nested_types<_Iter>; - - template - concept __iter_without_category - = !requires { typename _Iter::iterator_category; }; - - } - - template - requires __detail::__iter_with_nested_types<_Iterator> - struct __iterator_traits<_Iterator, void> - { - private: - template - struct __ptr - { using type = void; }; - - template requires requires { typename _Iter::pointer; } - struct __ptr<_Iter> - { using type = typename _Iter::pointer; }; - - public: - using iterator_category = typename _Iterator::iterator_category; - using value_type = typename _Iterator::value_type; - using difference_type = typename _Iterator::difference_type; - using pointer = typename __ptr<_Iterator>::type; - using reference = typename _Iterator::reference; - }; - - template - requires __detail::__iter_without_nested_types<_Iterator> - && __detail::__cpp17_input_iterator<_Iterator> - struct __iterator_traits<_Iterator, void> - { - private: - template - struct __cat - { using type = input_iterator_tag; }; - - template - requires requires { typename _Iter::iterator_category; } - struct __cat<_Iter> - { using type = typename _Iter::iterator_category; }; - - template - requires __detail::__iter_without_category<_Iter> - && __detail::__cpp17_randacc_iterator<_Iter> - struct __cat<_Iter> - { using type = random_access_iterator_tag; }; - - template - requires __detail::__iter_without_category<_Iter> - && __detail::__cpp17_bidi_iterator<_Iter> - struct __cat<_Iter> - { using type = bidirectional_iterator_tag; }; - - template - requires __detail::__iter_without_category<_Iter> - && __detail::__cpp17_fwd_iterator<_Iter> - struct __cat<_Iter> - { using type = forward_iterator_tag; }; - - template - struct __ptr - { using type = void; }; - - template requires requires { typename _Iter::pointer; } - struct __ptr<_Iter> - { using type = typename _Iter::pointer; }; - - template - requires (!requires { typename _Iter::pointer; } - && requires(_Iter& __it) { __it.operator->(); }) - struct __ptr<_Iter> - { using type = decltype(std::declval<_Iter&>().operator->()); }; - - template - struct __ref - { using type = iter_reference_t<_Iter>; }; - - template requires requires { typename _Iter::reference; } - struct __ref<_Iter> - { using type = typename _Iter::reference; }; - - public: - using iterator_category = typename __cat<_Iterator>::type; - using value_type - = typename indirectly_readable_traits<_Iterator>::value_type; - using difference_type - = typename incrementable_traits<_Iterator>::difference_type; - using pointer = typename __ptr<_Iterator>::type; - using reference = typename __ref<_Iterator>::type; - }; - - template - requires __detail::__iter_without_nested_types<_Iterator> - && __detail::__cpp17_iterator<_Iterator> - struct __iterator_traits<_Iterator, void> - { - private: - template - struct __diff - { using type = void; }; - - template - requires requires - { typename incrementable_traits<_Iter>::difference_type; } - struct __diff<_Iter> - { - using type = typename incrementable_traits<_Iter>::difference_type; - }; - - public: - using iterator_category = output_iterator_tag; - using value_type = void; - using difference_type = typename __diff<_Iterator>::type; - using pointer = void; - using reference = void; - }; - - namespace __detail - { - template - struct __iter_concept_impl; - - - template - requires requires { typename __iter_traits<_Iter>::iterator_concept; } - struct __iter_concept_impl<_Iter> - { using type = typename __iter_traits<_Iter>::iterator_concept; }; - - - template - requires (!requires { typename __iter_traits<_Iter>::iterator_concept; } - && requires { typename __iter_traits<_Iter>::iterator_category; }) - struct __iter_concept_impl<_Iter> - { using type = typename __iter_traits<_Iter>::iterator_category; }; - - - template - requires (!requires { typename __iter_traits<_Iter>::iterator_concept; } - && !requires { typename __iter_traits<_Iter>::iterator_category; } - && __primary_traits_iter<_Iter>) - struct __iter_concept_impl<_Iter> - { using type = random_access_iterator_tag; }; - - - template - struct __iter_concept_impl - { }; - - - template - using __iter_concept = typename __iter_concept_impl<_Iter>::type; - - template - concept __indirectly_readable_impl = requires - { - typename iter_value_t<_In>; - typename iter_reference_t<_In>; - typename iter_rvalue_reference_t<_In>; - requires same_as, - iter_reference_t<_In>>; - requires same_as, - iter_rvalue_reference_t<_In>>; - } - && common_reference_with&&, iter_value_t<_In>&> - && common_reference_with&&, - iter_rvalue_reference_t<_In>&&> - && common_reference_with&&, - const iter_value_t<_In>&>; - - } - - - template - concept indirectly_readable - = __detail::__indirectly_readable_impl>; - - template - using iter_common_reference_t - = common_reference_t, iter_value_t<_Tp>&>; - - - template - concept indirectly_writable = requires(_Out&& __o, _Tp&& __t) - { - *__o = std::forward<_Tp>(__t); - *std::forward<_Out>(__o) = std::forward<_Tp>(__t); - const_cast&&>(*__o) - = std::forward<_Tp>(__t); - const_cast&&>(*std::forward<_Out>(__o)) - = std::forward<_Tp>(__t); - }; - - namespace ranges::__detail - { - class __max_diff_type; - class __max_size_type; - - __extension__ - template - concept __is_signed_int128 - - = same_as<_Tp, __int128>; - - - - - __extension__ - template - concept __is_unsigned_int128 - - = same_as<_Tp, unsigned __int128>; - - - - - template - concept __cv_bool = same_as; - - template - concept __integral_nonbool = integral<_Tp> && !__cv_bool<_Tp>; - - template - concept __is_int128 = __is_signed_int128<_Tp> || __is_unsigned_int128<_Tp>; - - template - concept __is_integer_like = __integral_nonbool<_Tp> - || __is_int128<_Tp> - || same_as<_Tp, __max_diff_type> || same_as<_Tp, __max_size_type>; - - template - concept __is_signed_integer_like = signed_integral<_Tp> - || __is_signed_int128<_Tp> - || same_as<_Tp, __max_diff_type>; - - } - - namespace __detail { using ranges::__detail::__is_signed_integer_like; } - - - template - concept weakly_incrementable = movable<_Iter> - && requires(_Iter __i) - { - typename iter_difference_t<_Iter>; - requires __detail::__is_signed_integer_like>; - { ++__i } -> same_as<_Iter&>; - __i++; - }; - - template - concept incrementable = regular<_Iter> && weakly_incrementable<_Iter> - && requires(_Iter __i) { { __i++ } -> same_as<_Iter>; }; - - template - concept input_or_output_iterator - = requires(_Iter __i) { { *__i } -> __detail::__can_reference; } - && weakly_incrementable<_Iter>; - - template - concept sentinel_for = semiregular<_Sent> - && input_or_output_iterator<_Iter> - && __detail::__weakly_eq_cmp_with<_Sent, _Iter>; - - template - inline constexpr bool disable_sized_sentinel_for = false; - - template - concept sized_sentinel_for = sentinel_for<_Sent, _Iter> - && !disable_sized_sentinel_for, remove_cv_t<_Iter>> - && requires(const _Iter& __i, const _Sent& __s) - { - { __s - __i } -> same_as>; - { __i - __s } -> same_as>; - }; - - template - concept input_iterator = input_or_output_iterator<_Iter> - && indirectly_readable<_Iter> - && requires { typename __detail::__iter_concept<_Iter>; } - && derived_from<__detail::__iter_concept<_Iter>, input_iterator_tag>; - - template - concept output_iterator = input_or_output_iterator<_Iter> - && indirectly_writable<_Iter, _Tp> - && requires(_Iter __i, _Tp&& __t) { *__i++ = std::forward<_Tp>(__t); }; - - template - concept forward_iterator = input_iterator<_Iter> - && derived_from<__detail::__iter_concept<_Iter>, forward_iterator_tag> - && incrementable<_Iter> && sentinel_for<_Iter, _Iter>; - - template - concept bidirectional_iterator = forward_iterator<_Iter> - && derived_from<__detail::__iter_concept<_Iter>, - bidirectional_iterator_tag> - && requires(_Iter __i) - { - { --__i } -> same_as<_Iter&>; - { __i-- } -> same_as<_Iter>; - }; - - template - concept random_access_iterator = bidirectional_iterator<_Iter> - && derived_from<__detail::__iter_concept<_Iter>, - random_access_iterator_tag> - && totally_ordered<_Iter> && sized_sentinel_for<_Iter, _Iter> - && requires(_Iter __i, const _Iter __j, - const iter_difference_t<_Iter> __n) - { - { __i += __n } -> same_as<_Iter&>; - { __j + __n } -> same_as<_Iter>; - { __n + __j } -> same_as<_Iter>; - { __i -= __n } -> same_as<_Iter&>; - { __j - __n } -> same_as<_Iter>; - { __j[__n] } -> same_as>; - }; - - template - concept contiguous_iterator = random_access_iterator<_Iter> - && derived_from<__detail::__iter_concept<_Iter>, contiguous_iterator_tag> - && is_lvalue_reference_v> - && same_as, remove_cvref_t>> - && requires(const _Iter& __i) - { - { std::to_address(__i) } - -> same_as>>; - }; - - - - - - template - concept indirectly_unary_invocable = indirectly_readable<_Iter> - && copy_constructible<_Fn> && invocable<_Fn&, iter_value_t<_Iter>&> - && invocable<_Fn&, iter_reference_t<_Iter>> - && invocable<_Fn&, iter_common_reference_t<_Iter>> - && common_reference_with&>, - invoke_result_t<_Fn&, iter_reference_t<_Iter>>>; - - template - concept indirectly_regular_unary_invocable = indirectly_readable<_Iter> - && copy_constructible<_Fn> - && regular_invocable<_Fn&, iter_value_t<_Iter>&> - && regular_invocable<_Fn&, iter_reference_t<_Iter>> - && regular_invocable<_Fn&, iter_common_reference_t<_Iter>> - && common_reference_with&>, - invoke_result_t<_Fn&, iter_reference_t<_Iter>>>; - - template - concept indirect_unary_predicate = indirectly_readable<_Iter> - && copy_constructible<_Fn> && predicate<_Fn&, iter_value_t<_Iter>&> - && predicate<_Fn&, iter_reference_t<_Iter>> - && predicate<_Fn&, iter_common_reference_t<_Iter>>; - - template - concept indirect_binary_predicate - = indirectly_readable<_I1> && indirectly_readable<_I2> - && copy_constructible<_Fn> - && predicate<_Fn&, iter_value_t<_I1>&, iter_value_t<_I2>&> - && predicate<_Fn&, iter_value_t<_I1>&, iter_reference_t<_I2>> - && predicate<_Fn&, iter_reference_t<_I1>, iter_value_t<_I2>&> - && predicate<_Fn&, iter_reference_t<_I1>, iter_reference_t<_I2>> - && predicate<_Fn&, iter_common_reference_t<_I1>, - iter_common_reference_t<_I2>>; - - template - concept indirect_equivalence_relation - = indirectly_readable<_I1> && indirectly_readable<_I2> - && copy_constructible<_Fn> - && equivalence_relation<_Fn&, iter_value_t<_I1>&, iter_value_t<_I2>&> - && equivalence_relation<_Fn&, iter_value_t<_I1>&, iter_reference_t<_I2>> - && equivalence_relation<_Fn&, iter_reference_t<_I1>, iter_value_t<_I2>&> - && equivalence_relation<_Fn&, iter_reference_t<_I1>, - iter_reference_t<_I2>> - && equivalence_relation<_Fn&, iter_common_reference_t<_I1>, - iter_common_reference_t<_I2>>; - - template - concept indirect_strict_weak_order - = indirectly_readable<_I1> && indirectly_readable<_I2> - && copy_constructible<_Fn> - && strict_weak_order<_Fn&, iter_value_t<_I1>&, iter_value_t<_I2>&> - && strict_weak_order<_Fn&, iter_value_t<_I1>&, iter_reference_t<_I2>> - && strict_weak_order<_Fn&, iter_reference_t<_I1>, iter_value_t<_I2>&> - && strict_weak_order<_Fn&, iter_reference_t<_I1>, iter_reference_t<_I2>> - && strict_weak_order<_Fn&, iter_common_reference_t<_I1>, - iter_common_reference_t<_I2>>; - - template - requires (indirectly_readable<_Is> && ...) - && invocable<_Fn, iter_reference_t<_Is>...> - using indirect_result_t = invoke_result_t<_Fn, iter_reference_t<_Is>...>; - - namespace __detail - { - template - struct __projected - { - struct __type - { - using value_type = remove_cvref_t>; - indirect_result_t<_Proj&, _Iter> operator*() const; - }; - }; - - template - struct __projected<_Iter, _Proj> - { - struct __type - { - using value_type = remove_cvref_t>; - using difference_type = iter_difference_t<_Iter>; - indirect_result_t<_Proj&, _Iter> operator*() const; - }; - }; - } - - - template _Proj> - using projected = typename __detail::__projected<_Iter, _Proj>::__type; - - - - - - template - concept indirectly_movable = indirectly_readable<_In> - && indirectly_writable<_Out, iter_rvalue_reference_t<_In>>; - - template - concept indirectly_movable_storable = indirectly_movable<_In, _Out> - && indirectly_writable<_Out, iter_value_t<_In>> - && movable> - && constructible_from, iter_rvalue_reference_t<_In>> - && assignable_from&, iter_rvalue_reference_t<_In>>; - - - template - concept indirectly_copyable = indirectly_readable<_In> - && indirectly_writable<_Out, iter_reference_t<_In>>; - - template - concept indirectly_copyable_storable = indirectly_copyable<_In, _Out> - && indirectly_writable<_Out, iter_value_t<_In>&> - && indirectly_writable<_Out, const iter_value_t<_In>&> - && indirectly_writable<_Out, iter_value_t<_In>&&> - && indirectly_writable<_Out, const iter_value_t<_In>&&> - && copyable> - && constructible_from, iter_reference_t<_In>> - && assignable_from&, iter_reference_t<_In>>; - -namespace ranges -{ - - namespace __iswap - { - template - void iter_swap(_It1, _It2) = delete; - - template - concept __adl_iswap - = (std::__detail::__class_or_enum> - || std::__detail::__class_or_enum>) - && requires(_Tp&& __t, _Up&& __u) { - iter_swap(static_cast<_Tp&&>(__t), static_cast<_Up&&>(__u)); - }; - - template - constexpr iter_value_t<_Xp> - __iter_exchange_move(_Xp&& __x, _Yp&& __y) - noexcept(noexcept(iter_value_t<_Xp>(iter_move(__x))) - && noexcept(*__x = iter_move(__y))) - { - iter_value_t<_Xp> __old_value(iter_move(__x)); - *__x = iter_move(__y); - return __old_value; - } - - struct _IterSwap - { - private: - template - static constexpr bool - _S_noexcept() - { - if constexpr (__adl_iswap<_Tp, _Up>) - return noexcept(iter_swap(std::declval<_Tp>(), - std::declval<_Up>())); - else if constexpr (indirectly_readable<_Tp> - && indirectly_readable<_Up> - && swappable_with, iter_reference_t<_Up>>) - return noexcept(ranges::swap(*std::declval<_Tp>(), - *std::declval<_Up>())); - else - return noexcept(*std::declval<_Tp>() - = __iswap::__iter_exchange_move(std::declval<_Up>(), - std::declval<_Tp>())); - } - - public: - template - requires __adl_iswap<_Tp, _Up> - || (indirectly_readable> - && indirectly_readable> - && swappable_with, iter_reference_t<_Up>>) - || (indirectly_movable_storable<_Tp, _Up> - && indirectly_movable_storable<_Up, _Tp>) - constexpr void - operator()(_Tp&& __e1, _Up&& __e2) const - noexcept(_S_noexcept<_Tp, _Up>()) - { - if constexpr (__adl_iswap<_Tp, _Up>) - iter_swap(static_cast<_Tp&&>(__e1), static_cast<_Up&&>(__e2)); - else if constexpr (indirectly_readable<_Tp> - && indirectly_readable<_Up> - && swappable_with, iter_reference_t<_Up>>) - ranges::swap(*__e1, *__e2); - else - *__e1 = __iswap::__iter_exchange_move(__e2, __e1); - } - }; - } - - - inline namespace _Cpo { - inline constexpr __iswap::_IterSwap iter_swap{}; - } - -} - - - template - concept indirectly_swappable - = indirectly_readable<_I1> && indirectly_readable<_I2> - && requires(const _I1 __i1, const _I2 __i2) - { - ranges::iter_swap(__i1, __i1); - ranges::iter_swap(__i2, __i2); - ranges::iter_swap(__i1, __i2); - ranges::iter_swap(__i2, __i1); - }; - - - template - concept indirectly_comparable - = indirect_binary_predicate<_Rel, projected<_I1, _P1>, - projected<_I2, _P2>>; - - - template - concept permutable = forward_iterator<_Iter> - && indirectly_movable_storable<_Iter, _Iter> - && indirectly_swappable<_Iter, _Iter>; - - - template - concept mergeable = input_iterator<_I1> && input_iterator<_I2> - && weakly_incrementable<_Out> && indirectly_copyable<_I1, _Out> - && indirectly_copyable<_I2, _Out> - && indirect_strict_weak_order<_Rel, projected<_I1, _P1>, - projected<_I2, _P2>>; - - - template - concept sortable = permutable<_Iter> - && indirect_strict_weak_order<_Rel, projected<_Iter, _Proj>>; - - struct unreachable_sentinel_t - { - template - friend constexpr bool - operator==(unreachable_sentinel_t, const _It&) noexcept - { return false; } - }; - - inline constexpr unreachable_sentinel_t unreachable_sentinel{}; - - - namespace ranges::__access - { - using std::__detail::__class_or_enum; - - struct _Decay_copy final - { - template - constexpr decay_t<_Tp> - operator()(_Tp&& __t) const - noexcept(is_nothrow_convertible_v<_Tp, decay_t<_Tp>>) - { return std::forward<_Tp>(__t); } - } inline constexpr __decay_copy{}; - - template - concept __member_begin = requires(_Tp& __t) - { - { __decay_copy(__t.begin()) } -> input_or_output_iterator; - }; - - - void begin() = delete; - - template - concept __adl_begin = __class_or_enum> - && requires(_Tp& __t) - { - { __decay_copy(begin(__t)) } -> input_or_output_iterator; - }; - - - - template - requires is_array_v<_Tp> || __member_begin<_Tp&> || __adl_begin<_Tp&> - auto - __begin(_Tp& __t) - { - if constexpr (is_array_v<_Tp>) - return __t + 0; - else if constexpr (__member_begin<_Tp&>) - return __t.begin(); - else - return begin(__t); - } - } - - namespace __detail - { - - template - using __range_iter_t - = decltype(ranges::__access::__begin(std::declval<_Tp&>())); - - } - - - -} -# 72 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 2 3 - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 93 "/usr/include/c++/14.1.1/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 { }; - - - - struct contiguous_iterator_tag : public random_access_iterator_tag { }; -# 125 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 3 - template - struct [[__deprecated__]] iterator - { - - typedef _Category iterator_category; - - typedef _Tp value_type; - - typedef _Distance difference_type; - - typedef _Pointer pointer; - - typedef _Reference reference; - }; -# 149 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 3 - template - struct iterator_traits; - - - - - template> - struct __iterator_traits { }; -# 176 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 3 - template - struct iterator_traits - : public __iterator_traits<_Iterator> { }; -# 194 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 3 - template - - requires is_object_v<_Tp> - - struct iterator_traits<_Tp*> - { - using iterator_concept = contiguous_iterator_tag; - using iterator_category = random_access_iterator_tag; - using value_type = remove_cv_t<_Tp>; - using difference_type = ptrdiff_t; - using pointer = _Tp*; - using reference = _Tp&; - }; -# 235 "/usr/include/c++/14.1.1/bits/stl_iterator_base_types.h" 3 - template - __attribute__((__always_inline__)) - inline constexpr - typename iterator_traits<_Iter>::iterator_category - __iterator_category(const _Iter&) - { return typename iterator_traits<_Iter>::iterator_category(); } - - - - - template - using __iter_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 }; - }; - - - - - - - - -} -# 62 "/usr/include/c++/14.1.1/bits/stl_construct.h" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/stl_iterator_base_funcs.h" 1 3 -# 62 "/usr/include/c++/14.1.1/bits/stl_iterator_base_funcs.h" 3 - -# 63 "/usr/include/c++/14.1.1/bits/stl_iterator_base_funcs.h" 3 - -# 1 "/usr/include/c++/14.1.1/bits/concept_check.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/concept_check.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/concept_check.h" 3 -# 65 "/usr/include/c++/14.1.1/bits/stl_iterator_base_funcs.h" 2 3 -# 1 "/usr/include/c++/14.1.1/debug/assertions.h" 1 3 -# 66 "/usr/include/c++/14.1.1/bits/stl_iterator_base_funcs.h" 2 3 - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - 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 - __attribute__((__always_inline__)) - inline constexpr - typename iterator_traits<_RandomAccessIterator>::difference_type - __distance(_RandomAccessIterator __first, _RandomAccessIterator __last, - random_access_iterator_tag) - { - - - - return __last - __first; - } - - - - template - ptrdiff_t - __distance(std::_List_iterator<_Tp>, - std::_List_iterator<_Tp>, - input_iterator_tag); - - template - ptrdiff_t - __distance(std::_List_const_iterator<_Tp>, - std::_List_const_iterator<_Tp>, - input_iterator_tag); - - - - - template - void - __distance(_OutputIterator, _OutputIterator, output_iterator_tag) = delete; -# 144 "/usr/include/c++/14.1.1/bits/stl_iterator_base_funcs.h" 3 - template - [[__nodiscard__]] __attribute__((__always_inline__)) - 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 (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__n >= 0), false)) std::__glibcxx_assert_fail(); } 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; - } - - - - template - void - __advance(_OutputIterator&, _Distance, output_iterator_tag) = delete; -# 217 "/usr/include/c++/14.1.1/bits/stl_iterator_base_funcs.h" 3 - template - __attribute__((__always_inline__)) - 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 - [[__nodiscard__]] [[__gnu__::__always_inline__]] - inline constexpr _InputIterator - next(_InputIterator __x, typename - iterator_traits<_InputIterator>::difference_type __n = 1) - { - - - std::advance(__x, __n); - return __x; - } - - template - [[__nodiscard__]] [[__gnu__::__always_inline__]] - inline constexpr _BidirectionalIterator - prev(_BidirectionalIterator __x, typename - iterator_traits<_BidirectionalIterator>::difference_type __n = 1) - { - - - - std::advance(__x, -__n); - return __x; - } - - - - -} -# 63 "/usr/include/c++/14.1.1/bits/stl_construct.h" 2 3 -# 73 "/usr/include/c++/14.1.1/bits/stl_construct.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - template - constexpr inline void - destroy_at(_Tp* __location) - { - if constexpr (202002L > 201703L && is_array_v<_Tp>) - { - for (auto& __x : *__location) - std::destroy_at(std::__addressof(__x)); - } - else - __location->~_Tp(); - } - - - template - constexpr auto - construct_at(_Tp* __location, _Args&&... __args) - noexcept(noexcept(::new((void*)0) _Tp(std::declval<_Args>()...))) - -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...)) - { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } -# 106 "/usr/include/c++/14.1.1/bits/stl_construct.h" 3 - template - constexpr - inline void - _Construct(_Tp* __p, _Args&&... __args) - { - - if (std::__is_constant_evaluated()) - { - - std::construct_at(__p, std::forward<_Args>(__args)...); - return; - } - - ::new((void*)__p) _Tp(std::forward<_Args>(__args)...); - } -# 132 "/usr/include/c++/14.1.1/bits/stl_construct.h" 3 - template - inline void - _Construct_novalue(_T1* __p) - { ::new((void*)__p) _T1; } - - template - constexpr void - _Destroy(_ForwardIterator __first, _ForwardIterator __last); - - - - - template - constexpr inline void - _Destroy(_Tp* __pointer) - { - - std::destroy_at(__pointer); - - - - } - - template - struct _Destroy_aux - { - template - static constexpr 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 - constexpr 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"); - - - if (std::__is_constant_evaluated()) - return std::_Destroy_aux::__destroy(__first, __last); - - std::_Destroy_aux<__has_trivial_destructor(_Value_type)>:: - __destroy(__first, __last); - } - - template - struct _Destroy_n_aux - { - template - static constexpr _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 - constexpr 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"); - - - if (std::__is_constant_evaluated()) - return std::_Destroy_n_aux::__destroy_n(__first, __count); - - return std::_Destroy_n_aux<__has_trivial_destructor(_Value_type)>:: - __destroy_n(__first, __count); - } - - - template - constexpr inline void - destroy(_ForwardIterator __first, _ForwardIterator __last) - { - std::_Destroy(__first, __last); - } - - template - constexpr inline _ForwardIterator - destroy_n(_ForwardIterator __first, _Size __count) - { - return std::_Destroy_n(__first, __count); - } - - - -} -# 58 "/usr/include/c++/14.1.1/bits/char_traits.h" 2 3 - - - - - - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - - - -# 68 "/usr/include/c++/14.1.1/bits/char_traits.h" 3 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wstringop-overflow" -#pragma GCC diagnostic ignored "-Wstringop-overread" -#pragma GCC diagnostic ignored "-Warray-bounds" -# 83 "/usr/include/c++/14.1.1/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; - - }; -# 110 "/usr/include/c++/14.1.1/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; - - - using comparison_category = std::strong_ordering; - - - static constexpr void - assign(char_type& __c1, const char_type& __c2) - { - - if (std::__is_constant_evaluated()) - std::construct_at(__builtin_addressof(__c1), __c2); - else - - __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 constexpr char_type* - move(char_type* __s1, const char_type* __s2, std::size_t __n); - - static constexpr char_type* - copy(char_type* __s1, const char_type* __s2, std::size_t __n); - - static constexpr 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 - constexpr - 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; - - if (std::__is_constant_evaluated()) - { - - if (__builtin_constant_p(__s2 < __s1) - && __s1 > __s2 && __s1 < (__s2 + __n)) - { - do - { - --__n; - assign(__s1[__n], __s2[__n]); - } - while (__n > 0); - } - else - copy(__s1, __s2, __n); - return __s1; - } - - __builtin_memmove(__s1, __s2, __n * sizeof(char_type)); - return __s1; - } - - template - constexpr - typename char_traits<_CharT>::char_type* - char_traits<_CharT>:: - copy(char_type* __s1, const char_type* __s2, std::size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - { - for (std::size_t __i = 0; __i < __n; ++__i) - std::construct_at(__s1 + __i, __s2[__i]); - return __s1; - } - - __builtin_memcpy(__s1, __s2, __n * sizeof(char_type)); - return __s1; - } - - template - constexpr - typename char_traits<_CharT>::char_type* - char_traits<_CharT>:: - assign(char_type* __s, std::size_t __n, char_type __a) - { - - if (std::__is_constant_evaluated()) - { - for (std::size_t __i = 0; __i < __n; ++__i) - std::construct_at(__s + __i, __a); - return __s; - } - - - if constexpr (sizeof(_CharT) == 1 && __is_trivial(_CharT)) - { - if (__n) - { - unsigned char __c; - __builtin_memcpy(&__c, __builtin_addressof(__a), 1); - __builtin_memset(__s, __c, __n); - } - } - else - { - for (std::size_t __i = 0; __i < __n; ++__i) - __s[__i] = __a; - } - return __s; - } - - -} - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 322 "/usr/include/c++/14.1.1/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; - - - using comparison_category = strong_ordering; - - - static constexpr void - assign(char_type& __c1, const char_type& __c2) noexcept - { - - if (std::__is_constant_evaluated()) - std::construct_at(__builtin_addressof(__c1), __c2); - else - - __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 (std::__is_constant_evaluated()) - { - 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 (std::__is_constant_evaluated()) - 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 (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::find(__s, __n, __a); - - return static_cast(__builtin_memchr(__s, __a, __n)); - } - - static constexpr char_type* - move(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::move(__s1, __s2, __n); - - return static_cast(__builtin_memmove(__s1, __s2, __n)); - } - - static constexpr char_type* - copy(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::copy(__s1, __s2, __n); - - return static_cast(__builtin_memcpy(__s1, __s2, __n)); - } - - static constexpr char_type* - assign(char_type* __s, size_t __n, char_type __a) - { - if (__n == 0) - return __s; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::assign(__s, __n, __a); - - 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; - - - using comparison_category = strong_ordering; - - - static constexpr void - assign(char_type& __c1, const char_type& __c2) noexcept - { - - if (std::__is_constant_evaluated()) - std::construct_at(__builtin_addressof(__c1), __c2); - else - - __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 (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::compare(__s1, __s2, __n); - - return wmemcmp(__s1, __s2, __n); - } - - static constexpr size_t - length(const char_type* __s) - { - - if (std::__is_constant_evaluated()) - 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 (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::find(__s, __n, __a); - - return wmemchr(__s, __a, __n); - } - - static constexpr char_type* - move(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::move(__s1, __s2, __n); - - return wmemmove(__s1, __s2, __n); - } - - static constexpr char_type* - copy(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::copy(__s1, __s2, __n); - - return wmemcpy(__s1, __s2, __n); - } - - static constexpr char_type* - assign(char_type* __s, size_t __n, char_type __a) - { - if (__n == 0) - return __s; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::assign(__s, __n, __a); - - 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((0xffffffffu)); } - - static constexpr int_type - not_eof(const int_type& __c) noexcept - { return eq_int_type(__c, eof()) ? 0 : __c; } - - }; - - - - - - - - template<> - struct char_traits - { - typedef char8_t char_type; - typedef unsigned int int_type; - - typedef u8streampos pos_type; - typedef streamoff off_type; - typedef mbstate_t state_type; - - - using comparison_category = strong_ordering; - - - static constexpr void - assign(char_type& __c1, const char_type& __c2) noexcept - { - - if (std::__is_constant_evaluated()) - std::construct_at(__builtin_addressof(__c1), __c2); - else - - __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 (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::compare(__s1, __s2, __n); - - return __builtin_memcmp(__s1, __s2, __n); - } - - static constexpr size_t - length(const char_type* __s) - { - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::length(__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) - { - if (__n == 0) - return 0; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::find(__s, __n, __a); - - return static_cast(__builtin_memchr(__s, __a, __n)); - } - - static constexpr char_type* - move(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::move(__s1, __s2, __n); - - return static_cast(__builtin_memmove(__s1, __s2, __n)); - } - - static constexpr char_type* - copy(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::copy(__s1, __s2, __n); - - return static_cast(__builtin_memcpy(__s1, __s2, __n)); - } - - static constexpr char_type* - assign(char_type* __s, size_t __n, char_type __a) - { - if (__n == 0) - return __s; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::assign(__s, __n, __a); - - return static_cast(__builtin_memset(__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(-1); } - - static constexpr int_type - not_eof(const int_type& __c) noexcept - { return eq_int_type(__c, eof()) ? 0 : __c; } - - }; - - - -} - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template<> - struct char_traits - { - typedef char16_t char_type; - - typedef short unsigned int int_type; - - - - - typedef streamoff off_type; - typedef u16streampos pos_type; - typedef mbstate_t state_type; - - - using comparison_category = strong_ordering; - - - static constexpr void - assign(char_type& __c1, const char_type& __c2) noexcept - { - - if (std::__is_constant_evaluated()) - std::construct_at(__builtin_addressof(__c1), __c2); - else - - __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 constexpr char_type* - move(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::move(__s1, __s2, __n); - - return (static_cast - (__builtin_memmove(__s1, __s2, __n * sizeof(char_type)))); - } - - static constexpr char_type* - copy(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::copy(__s1, __s2, __n); - - return (static_cast - (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type)))); - } - - static constexpr 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 bool - eq_int_type(const int_type& __c1, const int_type& __c2) noexcept - { return __c1 == __c2; } - - - static constexpr int_type - to_int_type(const char_type& __c) noexcept - { return __c == eof() ? int_type(0xfffd) : int_type(__c); } - - 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 unsigned int int_type; - - - - - typedef streamoff off_type; - typedef u32streampos pos_type; - typedef mbstate_t state_type; - - - using comparison_category = strong_ordering; - - - static constexpr void - assign(char_type& __c1, const char_type& __c2) noexcept - { - - if (std::__is_constant_evaluated()) - std::construct_at(__builtin_addressof(__c1), __c2); - else - - __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 constexpr char_type* - move(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::move(__s1, __s2, __n); - - return (static_cast - (__builtin_memmove(__s1, __s2, __n * sizeof(char_type)))); - } - - static constexpr char_type* - copy(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - - if (std::__is_constant_evaluated()) - return __gnu_cxx::char_traits::copy(__s1, __s2, __n); - - return (static_cast - (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type)))); - } - - static constexpr 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; } - - }; - - - namespace __detail - { - template - constexpr auto - __char_traits_cmp_cat(int __cmp) noexcept - { - if constexpr (requires { typename _ChTraits::comparison_category; }) - { - using _Cat = typename _ChTraits::comparison_category; - static_assert( !is_void_v> ); - return static_cast<_Cat>(__cmp <=> 0); - } - else - return static_cast(__cmp <=> 0); - } - } - - -#pragma GCC diagnostic pop - - -} -# 43 "/usr/include/c++/14.1.1/ios" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/localefwd.h" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/localefwd.h" 3 - -# 38 "/usr/include/c++/14.1.1/bits/localefwd.h" 3 - - -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++locale.h" 1 3 -# 39 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++locale.h" 3 - -# 40 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++locale.h" 3 - -# 1 "/usr/include/c++/14.1.1/clocale" 1 3 -# 39 "/usr/include/c++/14.1.1/clocale" 3 - -# 40 "/usr/include/c++/14.1.1/clocale" 3 - - -# 1 "/usr/include/locale.h" 1 3 4 -# 28 "/usr/include/locale.h" 3 4 -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 29 "/usr/include/locale.h" 2 3 4 -# 1 "/usr/include/bits/locale.h" 1 3 4 -# 30 "/usr/include/locale.h" 2 3 4 - -extern "C" { -# 51 "/usr/include/locale.h" 3 4 -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_p_cs_precedes; - - char int_p_sep_by_space; - - char int_n_cs_precedes; - - char int_n_sep_by_space; - - - - - - - char int_p_sign_posn; - char int_n_sign_posn; -# 118 "/usr/include/locale.h" 3 4 -}; - - - -extern char *setlocale (int __category, const char *__locale) noexcept (true); - - -extern struct lconv *localeconv (void) noexcept (true); -# 141 "/usr/include/locale.h" 3 4 -extern locale_t newlocale (int __category_mask, const char *__locale, - locale_t __base) noexcept (true); -# 176 "/usr/include/locale.h" 3 4 -extern locale_t duplocale (locale_t __dataset) noexcept (true); - - - -extern void freelocale (locale_t __dataset) noexcept (true); - - - - - - -extern locale_t uselocale (locale_t __dataset) noexcept (true); - - - - - - - -} -# 43 "/usr/include/c++/14.1.1/clocale" 2 3 -# 51 "/usr/include/c++/14.1.1/clocale" 3 -namespace std -{ - using ::lconv; - using ::setlocale; - using ::localeconv; -} -# 42 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++locale.h" 2 3 - - - - - - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - - - extern "C" __typeof(uselocale) __uselocale; - - -} - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - typedef __locale_t __c_locale; -# 73 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++locale.h" 3 - inline int - __convert_from_v(const __c_locale& __cloc __attribute__ ((__unused__)), - char* __out, - const int __size __attribute__ ((__unused__)), - const char* __fmt, ...) - { - - __c_locale __old = __gnu_cxx::__uselocale(__cloc); -# 93 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++locale.h" 3 - __builtin_va_list __args; - __builtin_va_start(__args, __fmt); - - - const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); - - - - - __builtin_va_end(__args); - - - __gnu_cxx::__uselocale(__old); - - - - - - - - return __ret; - } - - - - - - - -} -# 41 "/usr/include/c++/14.1.1/bits/localefwd.h" 2 3 - -# 1 "/usr/include/c++/14.1.1/cctype" 1 3 -# 39 "/usr/include/c++/14.1.1/cctype" 3 - -# 40 "/usr/include/c++/14.1.1/cctype" 3 - - -# 1 "/usr/include/ctype.h" 1 3 4 -# 26 "/usr/include/ctype.h" 3 4 -# 1 "/usr/include/bits/types.h" 1 3 4 -# 27 "/usr/include/bits/types.h" 3 4 -# 1 "/usr/include/bits/wordsize.h" 1 3 4 -# 28 "/usr/include/bits/types.h" 2 3 4 -# 1 "/usr/include/bits/timesize.h" 1 3 4 -# 19 "/usr/include/bits/timesize.h" 3 4 -# 1 "/usr/include/bits/wordsize.h" 1 3 4 -# 20 "/usr/include/bits/timesize.h" 2 3 4 -# 29 "/usr/include/bits/types.h" 2 3 4 - - -typedef unsigned char __u_char; -typedef unsigned short int __u_short; -typedef unsigned int __u_int; -typedef unsigned long int __u_long; - - -typedef signed char __int8_t; -typedef unsigned char __uint8_t; -typedef signed short int __int16_t; -typedef unsigned short int __uint16_t; -typedef signed int __int32_t; -typedef unsigned int __uint32_t; - -typedef signed long int __int64_t; -typedef unsigned long int __uint64_t; - - - - - - -typedef __int8_t __int_least8_t; -typedef __uint8_t __uint_least8_t; -typedef __int16_t __int_least16_t; -typedef __uint16_t __uint_least16_t; -typedef __int32_t __int_least32_t; -typedef __uint32_t __uint_least32_t; -typedef __int64_t __int_least64_t; -typedef __uint64_t __uint_least64_t; - - - -typedef long int __quad_t; -typedef unsigned long int __u_quad_t; - - - - - - - -typedef long int __intmax_t; -typedef unsigned long int __uintmax_t; -# 141 "/usr/include/bits/types.h" 3 4 -# 1 "/usr/include/bits/typesizes.h" 1 3 4 -# 142 "/usr/include/bits/types.h" 2 3 4 -# 1 "/usr/include/bits/time64.h" 1 3 4 -# 143 "/usr/include/bits/types.h" 2 3 4 - - -typedef unsigned long int __dev_t; -typedef unsigned int __uid_t; -typedef unsigned int __gid_t; -typedef unsigned long int __ino_t; -typedef unsigned long int __ino64_t; -typedef unsigned int __mode_t; -typedef unsigned long int __nlink_t; -typedef long int __off_t; -typedef long int __off64_t; -typedef int __pid_t; -typedef struct { int __val[2]; } __fsid_t; -typedef long int __clock_t; -typedef unsigned long int __rlim_t; -typedef unsigned long int __rlim64_t; -typedef unsigned int __id_t; -typedef long int __time_t; -typedef unsigned int __useconds_t; -typedef long int __suseconds_t; -typedef long int __suseconds64_t; - -typedef int __daddr_t; -typedef int __key_t; - - -typedef int __clockid_t; - - -typedef void * __timer_t; - - -typedef long int __blksize_t; - - - - -typedef long int __blkcnt_t; -typedef long int __blkcnt64_t; - - -typedef unsigned long int __fsblkcnt_t; -typedef unsigned long int __fsblkcnt64_t; - - -typedef unsigned long int __fsfilcnt_t; -typedef unsigned long int __fsfilcnt64_t; - - -typedef long int __fsword_t; - -typedef long int __ssize_t; - - -typedef long int __syscall_slong_t; - -typedef unsigned long int __syscall_ulong_t; - - - -typedef __off64_t __loff_t; -typedef char *__caddr_t; - - -typedef long int __intptr_t; - - -typedef unsigned int __socklen_t; - - - - -typedef int __sig_atomic_t; -# 27 "/usr/include/ctype.h" 2 3 4 - -extern "C" { -# 39 "/usr/include/ctype.h" 3 4 -# 1 "/usr/include/bits/endian.h" 1 3 4 -# 35 "/usr/include/bits/endian.h" 3 4 -# 1 "/usr/include/bits/endianness.h" 1 3 4 -# 36 "/usr/include/bits/endian.h" 2 3 4 -# 40 "/usr/include/ctype.h" 2 3 4 - - - - - - -enum -{ - _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), - _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), - _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), - _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), - _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), - _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), - _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), - _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), - _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), - _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), - _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), - _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) -}; -# 79 "/usr/include/ctype.h" 3 4 -extern const unsigned short int **__ctype_b_loc (void) - noexcept (true) __attribute__ ((__const__)); -extern const __int32_t **__ctype_tolower_loc (void) - noexcept (true) __attribute__ ((__const__)); -extern const __int32_t **__ctype_toupper_loc (void) - noexcept (true) __attribute__ ((__const__)); -# 108 "/usr/include/ctype.h" 3 4 -extern int isalnum (int) noexcept (true); -extern int isalpha (int) noexcept (true); -extern int iscntrl (int) noexcept (true); -extern int isdigit (int) noexcept (true); -extern int islower (int) noexcept (true); -extern int isgraph (int) noexcept (true); -extern int isprint (int) noexcept (true); -extern int ispunct (int) noexcept (true); -extern int isspace (int) noexcept (true); -extern int isupper (int) noexcept (true); -extern int isxdigit (int) noexcept (true); - - - -extern int tolower (int __c) noexcept (true); - - -extern int toupper (int __c) noexcept (true); - - - - -extern int isblank (int) noexcept (true); - - - - -extern int isctype (int __c, int __mask) noexcept (true); - - - - - - -extern int isascii (int __c) noexcept (true); - - - -extern int toascii (int __c) noexcept (true); - - - -extern int _toupper (int) noexcept (true); -extern int _tolower (int) noexcept (true); -# 251 "/usr/include/ctype.h" 3 4 -extern int isalnum_l (int, locale_t) noexcept (true); -extern int isalpha_l (int, locale_t) noexcept (true); -extern int iscntrl_l (int, locale_t) noexcept (true); -extern int isdigit_l (int, locale_t) noexcept (true); -extern int islower_l (int, locale_t) noexcept (true); -extern int isgraph_l (int, locale_t) noexcept (true); -extern int isprint_l (int, locale_t) noexcept (true); -extern int ispunct_l (int, locale_t) noexcept (true); -extern int isspace_l (int, locale_t) noexcept (true); -extern int isupper_l (int, locale_t) noexcept (true); -extern int isxdigit_l (int, locale_t) noexcept (true); - -extern int isblank_l (int, locale_t) noexcept (true); - - - -extern int __tolower_l (int __c, locale_t __l) noexcept (true); -extern int tolower_l (int __c, locale_t __l) noexcept (true); - - -extern int __toupper_l (int __c, locale_t __l) noexcept (true); -extern int toupper_l (int __c, locale_t __l) noexcept (true); -# 327 "/usr/include/ctype.h" 3 4 -} -# 43 "/usr/include/c++/14.1.1/cctype" 2 3 -# 62 "/usr/include/c++/14.1.1/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/include/c++/14.1.1/bits/localefwd.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 55 "/usr/include/c++/14.1.1/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; - template<> class codecvt; - - - template - class codecvt_byname; - - - - template > - class num_get; - template > - class num_put; - -namespace __cxx11 { - template class numpunct; - template class numpunct_byname; -} - -namespace __cxx11 { - - template - class collate; - template - class collate_byname; -} - - - class time_base; -namespace __cxx11 { - template > - class time_get; - template > - class time_get_byname; -} - template > - class time_put; - template > - class time_put_byname; - - - class money_base; -namespace __cxx11 { - template > - class money_get; - template > - class money_put; -} -namespace __cxx11 { - template - class moneypunct; - template - class moneypunct_byname; -} - - - struct messages_base; -namespace __cxx11 { - template - class messages; - template - class messages_byname; -} - - -} -# 44 "/usr/include/c++/14.1.1/ios" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/ios_base.h" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - -# 38 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - -# 1 "/usr/include/c++/14.1.1/ext/atomicity.h" 1 3 -# 32 "/usr/include/c++/14.1.1/ext/atomicity.h" 3 - -# 33 "/usr/include/c++/14.1.1/ext/atomicity.h" 3 - - -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr.h" 1 3 -# 30 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr.h" 3 -#pragma GCC visibility push(default) -# 157 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr.h" 3 -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h" 1 3 -# 35 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h" 3 -# 1 "/usr/include/pthread.h" 1 3 4 -# 22 "/usr/include/pthread.h" 3 4 -# 1 "/usr/include/sched.h" 1 3 4 -# 29 "/usr/include/sched.h" 3 4 -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 30 "/usr/include/sched.h" 2 3 4 - -# 1 "/usr/include/bits/types/time_t.h" 1 3 4 -# 10 "/usr/include/bits/types/time_t.h" 3 4 -typedef __time_t time_t; -# 32 "/usr/include/sched.h" 2 3 4 -# 1 "/usr/include/bits/types/struct_timespec.h" 1 3 4 -# 11 "/usr/include/bits/types/struct_timespec.h" 3 4 -struct timespec -{ - - - - __time_t tv_sec; - - - - - __syscall_slong_t tv_nsec; -# 31 "/usr/include/bits/types/struct_timespec.h" 3 4 -}; -# 33 "/usr/include/sched.h" 2 3 4 - - - - - -typedef __pid_t pid_t; - - - - -# 1 "/usr/include/bits/sched.h" 1 3 4 -# 80 "/usr/include/bits/sched.h" 3 4 -# 1 "/usr/include/bits/types/struct_sched_param.h" 1 3 4 -# 23 "/usr/include/bits/types/struct_sched_param.h" 3 4 -struct sched_param -{ - int sched_priority; -}; -# 81 "/usr/include/bits/sched.h" 2 3 4 - -extern "C" { - - - -extern int clone (int (*__fn) (void *__arg), void *__child_stack, - int __flags, void *__arg, ...) noexcept (true); - - -extern int unshare (int __flags) noexcept (true); - - -extern int sched_getcpu (void) noexcept (true); - - -extern int getcpu (unsigned int *, unsigned int *) noexcept (true); - - -extern int setns (int __fd, int __nstype) noexcept (true); - - -} -# 44 "/usr/include/sched.h" 2 3 4 -# 1 "/usr/include/bits/cpu-set.h" 1 3 4 -# 32 "/usr/include/bits/cpu-set.h" 3 4 -typedef unsigned long int __cpu_mask; - - - - - - -typedef struct -{ - __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))]; -} cpu_set_t; -# 115 "/usr/include/bits/cpu-set.h" 3 4 -extern "C" { - -extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp) - noexcept (true); -extern cpu_set_t *__sched_cpualloc (size_t __count) noexcept (true) ; -extern void __sched_cpufree (cpu_set_t *__set) noexcept (true); - -} -# 45 "/usr/include/sched.h" 2 3 4 - - - - - - -extern "C" { - - -extern int sched_setparam (__pid_t __pid, const struct sched_param *__param) - noexcept (true); - - -extern int sched_getparam (__pid_t __pid, struct sched_param *__param) noexcept (true); - - -extern int sched_setscheduler (__pid_t __pid, int __policy, - const struct sched_param *__param) noexcept (true); - - -extern int sched_getscheduler (__pid_t __pid) noexcept (true); - - -extern int sched_yield (void) noexcept (true); - - -extern int sched_get_priority_max (int __algorithm) noexcept (true); - - -extern int sched_get_priority_min (int __algorithm) noexcept (true); - - - -extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) noexcept (true); -# 130 "/usr/include/sched.h" 3 4 -extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize, - const cpu_set_t *__cpuset) noexcept (true); - - -extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize, - cpu_set_t *__cpuset) noexcept (true); - - -} -# 23 "/usr/include/pthread.h" 2 3 4 -# 1 "/usr/include/time.h" 1 3 4 -# 29 "/usr/include/time.h" 3 4 -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 30 "/usr/include/time.h" 2 3 4 - - - -# 1 "/usr/include/bits/time.h" 1 3 4 -# 73 "/usr/include/bits/time.h" 3 4 -# 1 "/usr/include/bits/timex.h" 1 3 4 -# 22 "/usr/include/bits/timex.h" 3 4 -# 1 "/usr/include/bits/types/struct_timeval.h" 1 3 4 - - - - - - - -struct timeval -{ - - - - - __time_t tv_sec; - __suseconds_t tv_usec; - -}; -# 23 "/usr/include/bits/timex.h" 2 3 4 - - - -struct timex -{ -# 58 "/usr/include/bits/timex.h" 3 4 - unsigned int modes; - __syscall_slong_t offset; - __syscall_slong_t freq; - __syscall_slong_t maxerror; - __syscall_slong_t esterror; - int status; - __syscall_slong_t constant; - __syscall_slong_t precision; - __syscall_slong_t tolerance; - struct timeval time; - __syscall_slong_t tick; - __syscall_slong_t ppsfreq; - __syscall_slong_t jitter; - int shift; - __syscall_slong_t stabil; - __syscall_slong_t jitcnt; - __syscall_slong_t calcnt; - __syscall_slong_t errcnt; - __syscall_slong_t stbcnt; - - int tai; - - - int :32; int :32; int :32; int :32; - int :32; int :32; int :32; int :32; - int :32; int :32; int :32; - -}; -# 74 "/usr/include/bits/time.h" 2 3 4 - -extern "C" { - - -extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) noexcept (true) __attribute__ ((__nonnull__ (2))); -# 90 "/usr/include/bits/time.h" 3 4 -} -# 34 "/usr/include/time.h" 2 3 4 - - - -# 1 "/usr/include/bits/types/clock_t.h" 1 3 4 - - - - - - -typedef __clock_t clock_t; -# 38 "/usr/include/time.h" 2 3 4 - -# 1 "/usr/include/bits/types/struct_tm.h" 1 3 4 - - - - - - -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 int tm_gmtoff; - const char *tm_zone; - - - - -}; -# 40 "/usr/include/time.h" 2 3 4 - - - - - - -# 1 "/usr/include/bits/types/clockid_t.h" 1 3 4 - - - - - - -typedef __clockid_t clockid_t; -# 47 "/usr/include/time.h" 2 3 4 -# 1 "/usr/include/bits/types/timer_t.h" 1 3 4 - - - - - - -typedef __timer_t timer_t; -# 48 "/usr/include/time.h" 2 3 4 -# 1 "/usr/include/bits/types/struct_itimerspec.h" 1 3 4 - - - - - - - -struct itimerspec - { - struct timespec it_interval; - struct timespec it_value; - }; -# 49 "/usr/include/time.h" 2 3 4 -struct sigevent; -# 68 "/usr/include/time.h" 3 4 -extern "C" { - - - -extern clock_t clock (void) noexcept (true); - - - -extern time_t time (time_t *__timer) noexcept (true); - - -extern double difftime (time_t __time1, time_t __time0) - noexcept (true) __attribute__ ((__const__)); - - -extern time_t mktime (struct tm *__tp) noexcept (true); -# 100 "/usr/include/time.h" 3 4 -extern size_t strftime (char *__restrict __s, size_t __maxsize, - const char *__restrict __format, - const struct tm *__restrict __tp) - noexcept (true) __attribute__ ((__nonnull__ (1, 3, 4))); - - - - -extern char *strptime (const char *__restrict __s, - const char *__restrict __fmt, struct tm *__tp) - noexcept (true); - - - - - - -extern size_t strftime_l (char *__restrict __s, size_t __maxsize, - const char *__restrict __format, - const struct tm *__restrict __tp, - locale_t __loc) noexcept (true); - - - -extern char *strptime_l (const char *__restrict __s, - const char *__restrict __fmt, struct tm *__tp, - locale_t __loc) noexcept (true); - - - - - - -extern struct tm *gmtime (const time_t *__timer) noexcept (true); - - - -extern struct tm *localtime (const time_t *__timer) noexcept (true); -# 155 "/usr/include/time.h" 3 4 -extern struct tm *gmtime_r (const time_t *__restrict __timer, - struct tm *__restrict __tp) noexcept (true); - - - -extern struct tm *localtime_r (const time_t *__restrict __timer, - struct tm *__restrict __tp) noexcept (true); -# 180 "/usr/include/time.h" 3 4 -extern char *asctime (const struct tm *__tp) noexcept (true); - - - -extern char *ctime (const time_t *__timer) noexcept (true); -# 198 "/usr/include/time.h" 3 4 -extern char *asctime_r (const struct tm *__restrict __tp, - char *__restrict __buf) noexcept (true); - - - -extern char *ctime_r (const time_t *__restrict __timer, - char *__restrict __buf) noexcept (true); -# 218 "/usr/include/time.h" 3 4 -extern char *__tzname[2]; -extern int __daylight; -extern long int __timezone; - - - - -extern char *tzname[2]; - - - -extern void tzset (void) noexcept (true); - - - -extern int daylight; -extern long int timezone; -# 247 "/usr/include/time.h" 3 4 -extern time_t timegm (struct tm *__tp) noexcept (true); -# 264 "/usr/include/time.h" 3 4 -extern time_t timelocal (struct tm *__tp) noexcept (true); - - - - - - - -extern int dysize (int __year) noexcept (true) __attribute__ ((__const__)); -# 282 "/usr/include/time.h" 3 4 -extern int nanosleep (const struct timespec *__requested_time, - struct timespec *__remaining); - - -extern int clock_getres (clockid_t __clock_id, struct timespec *__res) noexcept (true); - - -extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) - noexcept (true) __attribute__ ((__nonnull__ (2))); - - -extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp) - noexcept (true) __attribute__ ((__nonnull__ (2))); -# 324 "/usr/include/time.h" 3 4 -extern int clock_nanosleep (clockid_t __clock_id, int __flags, - const struct timespec *__req, - struct timespec *__rem); -# 339 "/usr/include/time.h" 3 4 -extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) noexcept (true); - - - - -extern int timer_create (clockid_t __clock_id, - struct sigevent *__restrict __evp, - timer_t *__restrict __timerid) noexcept (true); - - -extern int timer_delete (timer_t __timerid) noexcept (true); - - - -extern int timer_settime (timer_t __timerid, int __flags, - const struct itimerspec *__restrict __value, - struct itimerspec *__restrict __ovalue) noexcept (true); - - -extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) - noexcept (true); -# 377 "/usr/include/time.h" 3 4 -extern int timer_getoverrun (timer_t __timerid) noexcept (true); - - - - - - -extern int timespec_get (struct timespec *__ts, int __base) - noexcept (true) __attribute__ ((__nonnull__ (1))); -# 400 "/usr/include/time.h" 3 4 -extern int timespec_getres (struct timespec *__ts, int __base) - noexcept (true); -# 426 "/usr/include/time.h" 3 4 -extern int getdate_err; -# 435 "/usr/include/time.h" 3 4 -extern struct tm *getdate (const char *__string); -# 449 "/usr/include/time.h" 3 4 -extern int getdate_r (const char *__restrict __string, - struct tm *__restrict __resbufp); - - -} -# 24 "/usr/include/pthread.h" 2 3 4 - - -# 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 -# 23 "/usr/include/bits/pthreadtypes.h" 3 4 -# 1 "/usr/include/bits/thread-shared-types.h" 1 3 4 -# 44 "/usr/include/bits/thread-shared-types.h" 3 4 -# 1 "/usr/include/bits/pthreadtypes-arch.h" 1 3 4 -# 21 "/usr/include/bits/pthreadtypes-arch.h" 3 4 -# 1 "/usr/include/bits/wordsize.h" 1 3 4 -# 22 "/usr/include/bits/pthreadtypes-arch.h" 2 3 4 -# 45 "/usr/include/bits/thread-shared-types.h" 2 3 4 - -# 1 "/usr/include/bits/atomic_wide_counter.h" 1 3 4 -# 25 "/usr/include/bits/atomic_wide_counter.h" 3 4 -typedef union -{ - __extension__ unsigned long long int __value64; - struct - { - unsigned int __low; - unsigned int __high; - } __value32; -} __atomic_wide_counter; -# 47 "/usr/include/bits/thread-shared-types.h" 2 3 4 - - - - -typedef struct __pthread_internal_list -{ - struct __pthread_internal_list *__prev; - struct __pthread_internal_list *__next; -} __pthread_list_t; - -typedef struct __pthread_internal_slist -{ - struct __pthread_internal_slist *__next; -} __pthread_slist_t; -# 76 "/usr/include/bits/thread-shared-types.h" 3 4 -# 1 "/usr/include/bits/struct_mutex.h" 1 3 4 -# 22 "/usr/include/bits/struct_mutex.h" 3 4 -struct __pthread_mutex_s -{ - int __lock; - unsigned int __count; - int __owner; - - unsigned int __nusers; - - - - int __kind; - - short __spins; - short __elision; - __pthread_list_t __list; -# 53 "/usr/include/bits/struct_mutex.h" 3 4 -}; -# 77 "/usr/include/bits/thread-shared-types.h" 2 3 4 -# 89 "/usr/include/bits/thread-shared-types.h" 3 4 -# 1 "/usr/include/bits/struct_rwlock.h" 1 3 4 -# 23 "/usr/include/bits/struct_rwlock.h" 3 4 -struct __pthread_rwlock_arch_t -{ - unsigned int __readers; - unsigned int __writers; - unsigned int __wrphase_futex; - unsigned int __writers_futex; - unsigned int __pad3; - unsigned int __pad4; - - int __cur_writer; - int __shared; - signed char __rwelision; - - - - - unsigned char __pad1[7]; - - - unsigned long int __pad2; - - - unsigned int __flags; -# 55 "/usr/include/bits/struct_rwlock.h" 3 4 -}; -# 90 "/usr/include/bits/thread-shared-types.h" 2 3 4 - - - - -struct __pthread_cond_s -{ - __atomic_wide_counter __wseq; - __atomic_wide_counter __g1_start; - unsigned int __g_refs[2] ; - unsigned int __g_size[2]; - unsigned int __g1_orig_size; - unsigned int __wrefs; - unsigned int __g_signals[2]; -}; - -typedef unsigned int __tss_t; -typedef unsigned long int __thrd_t; - -typedef struct -{ - int __data ; -} __once_flag; -# 24 "/usr/include/bits/pthreadtypes.h" 2 3 4 - - - -typedef unsigned long int pthread_t; - - - - -typedef union -{ - char __size[4]; - int __align; -} pthread_mutexattr_t; - - - - -typedef union -{ - char __size[4]; - int __align; -} pthread_condattr_t; - - - -typedef unsigned int pthread_key_t; - - - -typedef int pthread_once_t; - - -union pthread_attr_t -{ - char __size[56]; - long int __align; -}; - -typedef union pthread_attr_t pthread_attr_t; - - - - -typedef union -{ - struct __pthread_mutex_s __data; - char __size[40]; - long int __align; -} pthread_mutex_t; - - -typedef union -{ - struct __pthread_cond_s __data; - char __size[48]; - __extension__ long long int __align; -} pthread_cond_t; - - - - - -typedef union -{ - struct __pthread_rwlock_arch_t __data; - char __size[56]; - long int __align; -} pthread_rwlock_t; - -typedef union -{ - char __size[8]; - long int __align; -} pthread_rwlockattr_t; - - - - - -typedef volatile int pthread_spinlock_t; - - - - -typedef union -{ - char __size[32]; - long int __align; -} pthread_barrier_t; - -typedef union -{ - char __size[4]; - int __align; -} pthread_barrierattr_t; -# 27 "/usr/include/pthread.h" 2 3 4 -# 1 "/usr/include/bits/setjmp.h" 1 3 4 -# 26 "/usr/include/bits/setjmp.h" 3 4 -# 1 "/usr/include/bits/wordsize.h" 1 3 4 -# 27 "/usr/include/bits/setjmp.h" 2 3 4 - - - - -typedef long int __jmp_buf[8]; -# 28 "/usr/include/pthread.h" 2 3 4 -# 1 "/usr/include/bits/wordsize.h" 1 3 4 -# 29 "/usr/include/pthread.h" 2 3 4 - -# 1 "/usr/include/bits/types/__sigset_t.h" 1 3 4 - - - - -typedef struct -{ - unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; -} __sigset_t; -# 31 "/usr/include/pthread.h" 2 3 4 -# 1 "/usr/include/bits/types/struct___jmp_buf_tag.h" 1 3 4 -# 26 "/usr/include/bits/types/struct___jmp_buf_tag.h" 3 4 -struct __jmp_buf_tag - { - - - - - __jmp_buf __jmpbuf; - int __mask_was_saved; - __sigset_t __saved_mask; - }; -# 32 "/usr/include/pthread.h" 2 3 4 - -# 1 "/usr/include/bits/pthread_stack_min-dynamic.h" 1 3 4 -# 23 "/usr/include/bits/pthread_stack_min-dynamic.h" 3 4 -extern "C" { -extern long int __sysconf (int __name) noexcept (true); -} -# 34 "/usr/include/pthread.h" 2 3 4 - - - -enum -{ - PTHREAD_CREATE_JOINABLE, - - PTHREAD_CREATE_DETACHED - -}; - - - -enum -{ - PTHREAD_MUTEX_TIMED_NP, - PTHREAD_MUTEX_RECURSIVE_NP, - PTHREAD_MUTEX_ERRORCHECK_NP, - PTHREAD_MUTEX_ADAPTIVE_NP - - , - PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP, - PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP, - PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP, - PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL - - - - , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP - -}; - - - - -enum -{ - PTHREAD_MUTEX_STALLED, - PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED, - PTHREAD_MUTEX_ROBUST, - PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST -}; - - - - - -enum -{ - PTHREAD_PRIO_NONE, - PTHREAD_PRIO_INHERIT, - PTHREAD_PRIO_PROTECT -}; -# 104 "/usr/include/pthread.h" 3 4 -enum -{ - PTHREAD_RWLOCK_PREFER_READER_NP, - PTHREAD_RWLOCK_PREFER_WRITER_NP, - PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, - PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP -}; -# 124 "/usr/include/pthread.h" 3 4 -enum -{ - PTHREAD_INHERIT_SCHED, - - PTHREAD_EXPLICIT_SCHED - -}; - - - -enum -{ - PTHREAD_SCOPE_SYSTEM, - - PTHREAD_SCOPE_PROCESS - -}; - - - -enum -{ - PTHREAD_PROCESS_PRIVATE, - - PTHREAD_PROCESS_SHARED - -}; -# 159 "/usr/include/pthread.h" 3 4 -struct _pthread_cleanup_buffer -{ - void (*__routine) (void *); - void *__arg; - int __canceltype; - struct _pthread_cleanup_buffer *__prev; -}; - - -enum -{ - PTHREAD_CANCEL_ENABLE, - - PTHREAD_CANCEL_DISABLE - -}; -enum -{ - PTHREAD_CANCEL_DEFERRED, - - PTHREAD_CANCEL_ASYNCHRONOUS - -}; -# 197 "/usr/include/pthread.h" 3 4 -extern "C" { - - - - -extern int pthread_create (pthread_t *__restrict __newthread, - const pthread_attr_t *__restrict __attr, - void *(*__start_routine) (void *), - void *__restrict __arg) noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - - - - - -extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__)); - - - - - - - -extern int pthread_join (pthread_t __th, void **__thread_return); - - - - -extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) noexcept (true); -# 233 "/usr/include/pthread.h" 3 4 -extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return, - const struct timespec *__abstime); -# 243 "/usr/include/pthread.h" 3 4 -extern int pthread_clockjoin_np (pthread_t __th, void **__thread_return, - clockid_t __clockid, - const struct timespec *__abstime); -# 269 "/usr/include/pthread.h" 3 4 -extern int pthread_detach (pthread_t __th) noexcept (true); - - - -extern pthread_t pthread_self (void) noexcept (true) __attribute__ ((__const__)); - - -extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) - noexcept (true) __attribute__ ((__const__)); - - - - - - - -extern int pthread_attr_init (pthread_attr_t *__attr) noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_attr_destroy (pthread_attr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_attr_getdetachstate (const pthread_attr_t *__attr, - int *__detachstate) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_attr_setdetachstate (pthread_attr_t *__attr, - int __detachstate) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_attr_getguardsize (const pthread_attr_t *__attr, - size_t *__guardsize) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_attr_setguardsize (pthread_attr_t *__attr, - size_t __guardsize) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_attr_getschedparam (const pthread_attr_t *__restrict __attr, - struct sched_param *__restrict __param) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr, - const struct sched_param *__restrict - __param) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_attr_getschedpolicy (const pthread_attr_t *__restrict - __attr, int *__restrict __policy) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_attr_getinheritsched (const pthread_attr_t *__restrict - __attr, int *__restrict __inherit) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_attr_setinheritsched (pthread_attr_t *__attr, - int __inherit) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_attr_getscope (const pthread_attr_t *__restrict __attr, - int *__restrict __scope) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_attr_getstackaddr (const pthread_attr_t *__restrict - __attr, void **__restrict __stackaddr) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__)); - - - - - -extern int pthread_attr_setstackaddr (pthread_attr_t *__attr, - void *__stackaddr) - noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)); - - -extern int pthread_attr_getstacksize (const pthread_attr_t *__restrict - __attr, size_t *__restrict __stacksize) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - - - -extern int pthread_attr_setstacksize (pthread_attr_t *__attr, - size_t __stacksize) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_attr_getstack (const pthread_attr_t *__restrict __attr, - void **__restrict __stackaddr, - size_t *__restrict __stacksize) - noexcept (true) __attribute__ ((__nonnull__ (1, 2, 3))); - - - - -extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr, - size_t __stacksize) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - -extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr, - size_t __cpusetsize, - const cpu_set_t *__cpuset) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - - - -extern int pthread_attr_getaffinity_np (const pthread_attr_t *__attr, - size_t __cpusetsize, - cpu_set_t *__cpuset) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - - -extern int pthread_getattr_default_np (pthread_attr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_attr_setsigmask_np (pthread_attr_t *__attr, - const __sigset_t *sigmask); - - - - -extern int pthread_attr_getsigmask_np (const pthread_attr_t *__attr, - __sigset_t *sigmask); - - - - - - - -extern int pthread_setattr_default_np (const pthread_attr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - -extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (2))); - - - - - - - -extern int pthread_setschedparam (pthread_t __target_thread, int __policy, - const struct sched_param *__param) - noexcept (true) __attribute__ ((__nonnull__ (3))); - - -extern int pthread_getschedparam (pthread_t __target_thread, - int *__restrict __policy, - struct sched_param *__restrict __param) - noexcept (true) __attribute__ ((__nonnull__ (2, 3))); - - -extern int pthread_setschedprio (pthread_t __target_thread, int __prio) - noexcept (true); - - - - -extern int pthread_getname_np (pthread_t __target_thread, char *__buf, - size_t __buflen) - noexcept (true) __attribute__ ((__nonnull__ (2))); - - -extern int pthread_setname_np (pthread_t __target_thread, const char *__name) - noexcept (true) __attribute__ ((__nonnull__ (2))); - - - - - -extern int pthread_getconcurrency (void) noexcept (true); - - -extern int pthread_setconcurrency (int __level) noexcept (true); - - - -extern int pthread_yield (void) noexcept (true); - -extern int pthread_yield (void) noexcept (true) __asm__ ("" "sched_yield") - __attribute__ ((__deprecated__ ("pthread_yield is deprecated, use sched_yield instead"))) - ; - - - - - - - -extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize, - const cpu_set_t *__cpuset) - noexcept (true) __attribute__ ((__nonnull__ (3))); - - -extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize, - cpu_set_t *__cpuset) - noexcept (true) __attribute__ ((__nonnull__ (3))); -# 509 "/usr/include/pthread.h" 3 4 -extern int pthread_once (pthread_once_t *__once_control, - void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2))); -# 521 "/usr/include/pthread.h" 3 4 -extern int pthread_setcancelstate (int __state, int *__oldstate); - - - -extern int pthread_setcanceltype (int __type, int *__oldtype); - - -extern int pthread_cancel (pthread_t __th); - - - - -extern void pthread_testcancel (void); - - - - -struct __cancel_jmp_buf_tag -{ - __jmp_buf __cancel_jmp_buf; - int __mask_was_saved; -}; - -typedef struct -{ - struct __cancel_jmp_buf_tag __cancel_jmp_buf[1]; - void *__pad[4]; -} __pthread_unwind_buf_t __attribute__ ((__aligned__)); -# 557 "/usr/include/pthread.h" 3 4 -struct __pthread_cleanup_frame -{ - void (*__cancel_routine) (void *); - void *__cancel_arg; - int __do_it; - int __cancel_type; -}; - - - - -class __pthread_cleanup_class -{ - void (*__cancel_routine) (void *); - void *__cancel_arg; - int __do_it; - int __cancel_type; - - public: - __pthread_cleanup_class (void (*__fct) (void *), void *__arg) - : __cancel_routine (__fct), __cancel_arg (__arg), __do_it (1) { } - ~__pthread_cleanup_class () { if (__do_it) __cancel_routine (__cancel_arg); } - void __setdoit (int __newval) { __do_it = __newval; } - void __defer () { pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED, - &__cancel_type); } - void __restore () const { pthread_setcanceltype (__cancel_type, 0); } -}; -# 766 "/usr/include/pthread.h" 3 4 -extern int __sigsetjmp_cancel (struct __cancel_jmp_buf_tag __env[1], int __savemask) noexcept (true) __asm__ ("" "__sigsetjmp") - - - __attribute__ ((__returns_twice__)); -# 781 "/usr/include/pthread.h" 3 4 -extern int pthread_mutex_init (pthread_mutex_t *__mutex, - const pthread_mutexattr_t *__mutexattr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_mutex_destroy (pthread_mutex_t *__mutex) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_mutex_trylock (pthread_mutex_t *__mutex) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_mutex_lock (pthread_mutex_t *__mutex) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - -extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex, - const struct timespec *__restrict - __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); -# 817 "/usr/include/pthread.h" 3 4 -extern int pthread_mutex_clocklock (pthread_mutex_t *__restrict __mutex, - clockid_t __clockid, - const struct timespec *__restrict - __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3))); -# 835 "/usr/include/pthread.h" 3 4 -extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_mutex_getprioceiling (const pthread_mutex_t * - __restrict __mutex, - int *__restrict __prioceiling) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - - -extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex, - int __prioceiling, - int *__restrict __old_ceiling) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - - - - -extern int pthread_mutex_consistent (pthread_mutex_t *__mutex) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_mutex_consistent_np (pthread_mutex_t *) noexcept (true) __asm__ ("" "pthread_mutex_consistent") - __attribute__ ((__nonnull__ (1))) - __attribute__ ((__deprecated__ ("pthread_mutex_consistent_np is deprecated, use pthread_mutex_consistent"))) - ; -# 874 "/usr/include/pthread.h" 3 4 -extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_mutexattr_getpshared (const pthread_mutexattr_t * - __restrict __attr, - int *__restrict __pshared) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr, - int __pshared) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_mutexattr_gettype (const pthread_mutexattr_t *__restrict - __attr, int *__restrict __kind) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - - - -extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_mutexattr_getprotocol (const pthread_mutexattr_t * - __restrict __attr, - int *__restrict __protocol) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - - -extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr, - int __protocol) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t * - __restrict __attr, - int *__restrict __prioceiling) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr, - int __prioceiling) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_mutexattr_getrobust (const pthread_mutexattr_t *__attr, - int *__robustness) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_mutexattr_getrobust_np (pthread_mutexattr_t *, int *) noexcept (true) __asm__ ("" "pthread_mutexattr_getrobust") - - __attribute__ ((__nonnull__ (1))) - __attribute__ ((__deprecated__ ("pthread_mutexattr_getrobust_np is deprecated, use pthread_mutexattr_getrobust"))) - ; - - - - - - -extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr, - int __robustness) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *, int) noexcept (true) __asm__ ("" "pthread_mutexattr_setrobust") - - __attribute__ ((__nonnull__ (1))) - __attribute__ ((__deprecated__ ("pthread_mutexattr_setrobust_np is deprecated, use pthread_mutexattr_setrobust"))) - ; -# 967 "/usr/include/pthread.h" 3 4 -extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock, - const pthread_rwlockattr_t *__restrict - __attr) noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - -extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock, - const struct timespec *__restrict - __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); -# 1004 "/usr/include/pthread.h" 3 4 -extern int pthread_rwlock_clockrdlock (pthread_rwlock_t *__restrict __rwlock, - clockid_t __clockid, - const struct timespec *__restrict - __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3))); -# 1023 "/usr/include/pthread.h" 3 4 -extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - -extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock, - const struct timespec *__restrict - __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); -# 1051 "/usr/include/pthread.h" 3 4 -extern int pthread_rwlock_clockwrlock (pthread_rwlock_t *__restrict __rwlock, - clockid_t __clockid, - const struct timespec *__restrict - __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3))); -# 1071 "/usr/include/pthread.h" 3 4 -extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - -extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t * - __restrict __attr, - int *__restrict __pshared) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr, - int __pshared) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_rwlockattr_getkind_np (const pthread_rwlockattr_t * - __restrict __attr, - int *__restrict __pref) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr, - int __pref) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - - - -extern int pthread_cond_init (pthread_cond_t *__restrict __cond, - const pthread_condattr_t *__restrict __cond_attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_cond_destroy (pthread_cond_t *__cond) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_cond_signal (pthread_cond_t *__cond) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_cond_broadcast (pthread_cond_t *__cond) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - - -extern int pthread_cond_wait (pthread_cond_t *__restrict __cond, - pthread_mutex_t *__restrict __mutex) - __attribute__ ((__nonnull__ (1, 2))); -# 1145 "/usr/include/pthread.h" 3 4 -extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond, - pthread_mutex_t *__restrict __mutex, - const struct timespec *__restrict __abstime) - __attribute__ ((__nonnull__ (1, 2, 3))); -# 1171 "/usr/include/pthread.h" 3 4 -extern int pthread_cond_clockwait (pthread_cond_t *__restrict __cond, - pthread_mutex_t *__restrict __mutex, - __clockid_t __clock_id, - const struct timespec *__restrict __abstime) - __attribute__ ((__nonnull__ (1, 2, 4))); -# 1194 "/usr/include/pthread.h" 3 4 -extern int pthread_condattr_init (pthread_condattr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_condattr_destroy (pthread_condattr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_condattr_getpshared (const pthread_condattr_t * - __restrict __attr, - int *__restrict __pshared) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_condattr_setpshared (pthread_condattr_t *__attr, - int __pshared) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_condattr_getclock (const pthread_condattr_t * - __restrict __attr, - __clockid_t *__restrict __clock_id) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_condattr_setclock (pthread_condattr_t *__attr, - __clockid_t __clock_id) - noexcept (true) __attribute__ ((__nonnull__ (1))); -# 1230 "/usr/include/pthread.h" 3 4 -extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_spin_destroy (pthread_spinlock_t *__lock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_spin_lock (pthread_spinlock_t *__lock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_spin_trylock (pthread_spinlock_t *__lock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_spin_unlock (pthread_spinlock_t *__lock) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - - -extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier, - const pthread_barrierattr_t *__restrict - __attr, unsigned int __count) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_barrier_destroy (pthread_barrier_t *__barrier) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_barrier_wait (pthread_barrier_t *__barrier) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_barrierattr_getpshared (const pthread_barrierattr_t * - __restrict __attr, - int *__restrict __pshared) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr, - int __pshared) - noexcept (true) __attribute__ ((__nonnull__ (1))); -# 1297 "/usr/include/pthread.h" 3 4 -extern int pthread_key_create (pthread_key_t *__key, - void (*__destr_function) (void *)) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern int pthread_key_delete (pthread_key_t __key) noexcept (true); - - -extern void *pthread_getspecific (pthread_key_t __key) noexcept (true); - - -extern int pthread_setspecific (pthread_key_t __key, - const void *__pointer) - noexcept (true) __attribute__ ((__access__ (__none__, 2))); - - - - -extern int pthread_getcpuclockid (pthread_t __thread_id, - __clockid_t *__clock_id) - noexcept (true) __attribute__ ((__nonnull__ (2))); -# 1332 "/usr/include/pthread.h" 3 4 -extern int pthread_atfork (void (*__prepare) (void), - void (*__parent) (void), - void (*__child) (void)) noexcept (true); -# 1346 "/usr/include/pthread.h" 3 4 -} -# 36 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h" 2 3 -# 47 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/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; -# 108 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h" 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# 312 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h" 3 -static inline int -__gthread_active_p (void) -{ - return 1; -} -# 672 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/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; -} -# 821 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/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); -} -# 863 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/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); -} -# 158 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/gthr.h" 2 3 - - -#pragma GCC visibility pop -# 36 "/usr/include/c++/14.1.1/ext/atomicity.h" 2 3 -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/atomic_word.h" 1 3 -# 32 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/atomic_word.h" 3 -typedef int _Atomic_word; -# 37 "/usr/include/c++/14.1.1/ext/atomicity.h" 2 3 - -# 1 "/usr/include/sys/single_threaded.h" 1 3 4 -# 24 "/usr/include/sys/single_threaded.h" 3 4 -extern "C" { - - - - -extern char __libc_single_threaded; - -} -# 39 "/usr/include/c++/14.1.1/ext/atomicity.h" 2 3 - - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - - - __attribute__((__always_inline__)) - inline bool - __is_single_threaded() noexcept - { - - - - return ::__libc_single_threaded; - - - - } - - - - - - - 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/include/c++/14.1.1/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/include/c++/14.1.1/bits/ios_base.h" 2 3 - -# 1 "/usr/include/c++/14.1.1/bits/locale_classes.h" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - -# 38 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - - -# 1 "/usr/include/c++/14.1.1/string" 1 3 -# 36 "/usr/include/c++/14.1.1/string" 3 - -# 37 "/usr/include/c++/14.1.1/string" 3 - - - - - - -# 1 "/usr/include/c++/14.1.1/bits/allocator.h" 1 3 -# 46 "/usr/include/c++/14.1.1/bits/allocator.h" 3 -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h" 1 3 -# 33 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h" 3 -# 1 "/usr/include/c++/14.1.1/bits/new_allocator.h" 1 3 -# 35 "/usr/include/c++/14.1.1/bits/new_allocator.h" 3 -# 1 "/usr/include/c++/14.1.1/bits/functexcept.h" 1 3 -# 42 "/usr/include/c++/14.1.1/bits/functexcept.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - 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__,__cold__)); - - void - __throw_bad_typeid(void) __attribute__((__noreturn__,__cold__)); - - - void - __throw_logic_error(const char*) __attribute__((__noreturn__,__cold__)); - - void - __throw_domain_error(const char*) __attribute__((__noreturn__,__cold__)); - - void - __throw_invalid_argument(const char*) __attribute__((__noreturn__,__cold__)); - - void - __throw_length_error(const char*) __attribute__((__noreturn__,__cold__)); - - void - __throw_out_of_range(const char*) __attribute__((__noreturn__,__cold__)); - - void - __throw_out_of_range_fmt(const char*, ...) __attribute__((__noreturn__,__cold__)) - __attribute__((__format__(__gnu_printf__, 1, 2))); - - void - __throw_runtime_error(const char*) __attribute__((__noreturn__,__cold__)); - - void - __throw_range_error(const char*) __attribute__((__noreturn__,__cold__)); - - void - __throw_overflow_error(const char*) __attribute__((__noreturn__,__cold__)); - - void - __throw_underflow_error(const char*) __attribute__((__noreturn__,__cold__)); - - - void - __throw_ios_failure(const char*) __attribute__((__noreturn__,__cold__)); - - void - __throw_ios_failure(const char*, int) __attribute__((__noreturn__,__cold__)); - - - void - __throw_system_error(int) __attribute__((__noreturn__,__cold__)); - - - void - __throw_future_error(int) __attribute__((__noreturn__,__cold__)); - - - void - __throw_bad_function_call() __attribute__((__noreturn__,__cold__)); -# 140 "/usr/include/c++/14.1.1/bits/functexcept.h" 3 - -} -# 36 "/usr/include/c++/14.1.1/bits/new_allocator.h" 2 3 - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 62 "/usr/include/c++/14.1.1/bits/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; -# 83 "/usr/include/c++/14.1.1/bits/new_allocator.h" 3 - typedef std::true_type propagate_on_container_move_assignment; - - - __attribute__((__always_inline__)) - constexpr - __new_allocator() noexcept { } - - __attribute__((__always_inline__)) - constexpr - __new_allocator(const __new_allocator&) noexcept { } - - template - __attribute__((__always_inline__)) - constexpr - __new_allocator(const __new_allocator<_Tp1>&) noexcept { } - - - __new_allocator& operator=(const __new_allocator&) = default; -# 125 "/usr/include/c++/14.1.1/bits/new_allocator.h" 3 - [[__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 __n __attribute__ ((__unused__))) - { - - - - - - - - if (alignof(_Tp) > 16) - { - ::operator delete((__p), (__n) * sizeof(_Tp), - std::align_val_t(alignof(_Tp))); - return; - } - - ::operator delete((__p), (__n) * sizeof(_Tp)); - } -# 213 "/usr/include/c++/14.1.1/bits/new_allocator.h" 3 - template - friend __attribute__((__always_inline__)) constexpr bool - operator==(const __new_allocator&, const __new_allocator<_Up>&) - noexcept - { return true; } -# 227 "/usr/include/c++/14.1.1/bits/new_allocator.h" 3 - private: - __attribute__((__always_inline__)) - constexpr size_type - _M_max_size() const noexcept - { - - return std::size_t(0x7fffffffffffffffL) / sizeof(_Tp); - - - - } - }; - - -} -# 34 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h" 2 3 - - -namespace std -{ -# 46 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h" 3 - template - using __allocator_base = __new_allocator<_Tp>; -} -# 47 "/usr/include/c++/14.1.1/bits/allocator.h" 2 3 - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 72 "/usr/include/c++/14.1.1/bits/allocator.h" 3 - template<> - class allocator - { - public: - typedef void value_type; - typedef size_t size_type; - typedef ptrdiff_t difference_type; -# 93 "/usr/include/c++/14.1.1/bits/allocator.h" 3 - using propagate_on_container_move_assignment = true_type; - - using is_always_equal - __attribute__ ((__deprecated__ ("use '" "std::allocator_traits::is_always_equal" "' instead"))) - = true_type; - - - - - allocator() = default; - ~allocator() = default; - - template - __attribute__((__always_inline__)) - constexpr - allocator(const allocator<_Up>&) noexcept { } - - - - - - - }; -# 127 "/usr/include/c++/14.1.1/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; -# 150 "/usr/include/c++/14.1.1/bits/allocator.h" 3 - using propagate_on_container_move_assignment = true_type; - - using is_always_equal - __attribute__ ((__deprecated__ ("use '" "std::allocator_traits::is_always_equal" "' instead"))) - = true_type; - - - - - __attribute__((__always_inline__)) - constexpr - allocator() noexcept { } - - __attribute__((__always_inline__)) - constexpr - allocator(const allocator& __a) noexcept - : __allocator_base<_Tp>(__a) { } - - - - allocator& operator=(const allocator&) = default; - - - template - __attribute__((__always_inline__)) - constexpr - allocator(const allocator<_Tp1>&) noexcept { } - - __attribute__((__always_inline__)) - - constexpr - - ~allocator() noexcept { } - - - [[nodiscard,__gnu__::__always_inline__]] - constexpr _Tp* - allocate(size_t __n) - { - if (std::__is_constant_evaluated()) - { - if (__builtin_mul_overflow(__n, sizeof(_Tp), &__n)) - std::__throw_bad_array_new_length(); - return static_cast<_Tp*>(::operator new(__n)); - } - - return __allocator_base<_Tp>::allocate(__n, 0); - } - - [[__gnu__::__always_inline__]] - constexpr void - deallocate(_Tp* __p, size_t __n) - { - if (std::__is_constant_evaluated()) - { - ::operator delete(__p); - return; - } - __allocator_base<_Tp>::deallocate(__p, __n); - } - - - friend __attribute__((__always_inline__)) constexpr - bool - operator==(const allocator&, const allocator&) noexcept - { return true; } -# 225 "/usr/include/c++/14.1.1/bits/allocator.h" 3 - }; - - - - - - - template - __attribute__((__always_inline__)) - inline constexpr bool - operator==(const allocator<_T1>&, const allocator<_T2>&) - noexcept - { return true; } -# 252 "/usr/include/c++/14.1.1/bits/allocator.h" 3 - template - class allocator - { - public: - typedef _Tp value_type; - allocator() { } - template allocator(const allocator<_Up>&) { } - }; - - template - class allocator - { - public: - typedef _Tp value_type; - allocator() { } - template allocator(const allocator<_Up>&) { } - }; - - template - class allocator - { - public: - typedef _Tp value_type; - allocator() { } - template allocator(const allocator<_Up>&) { } - }; - - - - - - - - extern template class allocator; - extern template class allocator; - - - - - - -} -# 44 "/usr/include/c++/14.1.1/string" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/cpp_type_traits.h" 1 3 -# 35 "/usr/include/c++/14.1.1/bits/cpp_type_traits.h" 3 - -# 36 "/usr/include/c++/14.1.1/bits/cpp_type_traits.h" 3 -# 67 "/usr/include/c++/14.1.1/bits/cpp_type_traits.h" 3 -extern "C++" { - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - 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; - }; - - - - 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; - }; - - template<> - struct __is_integer - { - enum { __value = 1 }; - typedef __true_type __type; - }; -# 272 "/usr/include/c++/14.1.1/bits/cpp_type_traits.h" 3 -__extension__ template<> struct __is_integer<__int128> { enum { __value = 1 }; typedef __true_type __type; }; __extension__ template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; -# 289 "/usr/include/c++/14.1.1/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; - }; -# 366 "/usr/include/c++/14.1.1/bits/cpp_type_traits.h" 3 - 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; - }; - - - - template<> - struct __is_byte - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - - 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; - }; -# 579 "/usr/include/c++/14.1.1/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 - constexpr - inline _Iterator - __miter_base(_Iterator __it) - { return __it; } - - -} -} -# 45 "/usr/include/c++/14.1.1/string" 2 3 - -# 1 "/usr/include/c++/14.1.1/bits/ostream_insert.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/ostream_insert.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/ostream_insert.h" 3 - - -# 1 "/usr/include/c++/14.1.1/bits/cxxabi_forced.h" 1 3 -# 34 "/usr/include/c++/14.1.1/bits/cxxabi_forced.h" 3 - -# 35 "/usr/include/c++/14.1.1/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/include/c++/14.1.1/bits/ostream_insert.h" 2 3 - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - 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); - - - - - - -} -# 47 "/usr/include/c++/14.1.1/string" 2 3 - -# 1 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 1 3 -# 65 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 -# 1 "/usr/include/c++/14.1.1/ext/type_traits.h" 1 3 -# 32 "/usr/include/c++/14.1.1/ext/type_traits.h" 3 - -# 33 "/usr/include/c++/14.1.1/ext/type_traits.h" 3 - - - - -extern "C++" { - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - - - - 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 - constexpr - inline bool - __is_null_pointer(_Type* __ptr) - { return __ptr == 0; } - - template - constexpr - inline bool - __is_null_pointer(_Type) - { return false; } - - - constexpr 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; }; -# 225 "/usr/include/c++/14.1.1/ext/type_traits.h" 3 - template - using __promoted_t = decltype((typename __promote<_Tp>::__type(0) + ...)); - - - - template - using __promote_2 = __promote<__promoted_t<_Tp, _Up>>; - - template - using __promote_3 = __promote<__promoted_t<_Tp, _Up, _Vp>>; - - template - using __promote_4 = __promote<__promoted_t<_Tp, _Up, _Vp, _Wp>>; -# 269 "/usr/include/c++/14.1.1/ext/type_traits.h" 3 - -} -} -# 66 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 2 3 -# 85 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - - - namespace __detail - { - - - template - using __clamp_iter_cat - = __conditional_t, _Limit, _Otherwise>; - } - - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" -# 128 "/usr/include/c++/14.1.1/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; - - - - - template - static constexpr bool __convertible = !is_same_v<_Iter, _Iterator> - && convertible_to; - - - protected: - _Iterator current; - - typedef iterator_traits<_Iterator> __traits_type; - - public: - typedef _Iterator iterator_type; - typedef typename __traits_type::pointer pointer; - - - - - using iterator_concept - = __conditional_t, - random_access_iterator_tag, - bidirectional_iterator_tag>; - using iterator_category - = __detail::__clamp_iter_cat; - using value_type = iter_value_t<_Iterator>; - using difference_type = iter_difference_t<_Iterator>; - using reference = iter_reference_t<_Iterator>; -# 178 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - constexpr - reverse_iterator() - noexcept(noexcept(_Iterator())) - : current() - { } - - - - - explicit constexpr - reverse_iterator(iterator_type __x) - noexcept(noexcept(_Iterator(__x))) - : current(__x) - { } - - - - - constexpr - reverse_iterator(const reverse_iterator& __x) - noexcept(noexcept(_Iterator(__x.current))) - : current(__x.current) - { } - - - reverse_iterator& operator=(const reverse_iterator&) = default; - - - - - - - template - - requires __convertible<_Iter> - - constexpr - reverse_iterator(const reverse_iterator<_Iter>& __x) - noexcept(noexcept(_Iterator(__x.current))) - : current(__x.current) - { } - - - template - - requires __convertible<_Iter> - && assignable_from<_Iterator&, const _Iter&> - - constexpr - reverse_iterator& - operator=(const reverse_iterator<_Iter>& __x) - noexcept(noexcept(current = __x.current)) - { - current = __x.current; - return *this; - } - - - - - - [[__nodiscard__]] - constexpr iterator_type - base() const - noexcept(noexcept(_Iterator(current))) - { return current; } -# 255 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - [[__nodiscard__]] - constexpr reference - operator*() const - { - _Iterator __tmp = current; - return *--__tmp; - } - - - - - - - [[__nodiscard__]] - constexpr pointer - operator->() const - - requires is_pointer_v<_Iterator> - || requires(const _Iterator __i) { __i.operator->(); } - - { - - - _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; - } - - - - - - - [[__nodiscard__]] - constexpr reverse_iterator - operator+(difference_type __n) const - { return reverse_iterator(current - __n); } - - - - - - - - constexpr reverse_iterator& - operator+=(difference_type __n) - { - current -= __n; - return *this; - } - - - - - - - [[__nodiscard__]] - constexpr reverse_iterator - operator-(difference_type __n) const - { return reverse_iterator(current + __n); } - - - - - - - - constexpr reverse_iterator& - operator-=(difference_type __n) - { - current += __n; - return *this; - } - - - - - - - [[__nodiscard__]] - constexpr reference - operator[](difference_type __n) const - { return *(*this + __n); } - - - [[nodiscard]] - friend constexpr iter_rvalue_reference_t<_Iterator> - iter_move(const reverse_iterator& __i) - noexcept(is_nothrow_copy_constructible_v<_Iterator> - && noexcept(ranges::iter_move(--std::declval<_Iterator&>()))) - { - auto __tmp = __i.base(); - return ranges::iter_move(--__tmp); - } - - template _Iter2> - friend constexpr void - iter_swap(const reverse_iterator& __x, - const reverse_iterator<_Iter2>& __y) - noexcept(is_nothrow_copy_constructible_v<_Iterator> - && is_nothrow_copy_constructible_v<_Iter2> - && noexcept(ranges::iter_swap(--std::declval<_Iterator&>(), - --std::declval<_Iter2&>()))) - { - auto __xtmp = __x.base(); - auto __ytmp = __y.base(); - ranges::iter_swap(--__xtmp, --__ytmp); - } - - - private: - template - static constexpr _Tp* - _S_to_pointer(_Tp* __p) - { return __p; } - - template - static constexpr pointer - _S_to_pointer(_Tp __t) - { return __t.operator->(); } - }; -# 524 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - [[nodiscard]] - constexpr bool - operator==(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - requires requires { { __x.base() == __y.base() } -> convertible_to; } - { return __x.base() == __y.base(); } - - template - [[nodiscard]] - constexpr bool - operator!=(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - requires requires { { __x.base() != __y.base() } -> convertible_to; } - { return __x.base() != __y.base(); } - - template - [[nodiscard]] - constexpr bool - operator<(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - requires requires { { __x.base() > __y.base() } -> convertible_to; } - { return __x.base() > __y.base(); } - - template - [[nodiscard]] - constexpr bool - operator>(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - requires requires { { __x.base() < __y.base() } -> convertible_to; } - { return __x.base() < __y.base(); } - - template - [[nodiscard]] - constexpr bool - operator<=(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - requires requires { { __x.base() >= __y.base() } -> convertible_to; } - { return __x.base() >= __y.base(); } - - template - [[nodiscard]] - constexpr bool - operator>=(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - requires requires { { __x.base() <= __y.base() } -> convertible_to; } - { return __x.base() <= __y.base(); } - - template _IteratorR> - [[nodiscard]] - constexpr compare_three_way_result_t<_IteratorL, _IteratorR> - operator<=>(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - { return __y.base() <=> __x.base(); } - - - - - template - [[nodiscard]] - constexpr bool - operator==(const reverse_iterator<_Iterator>& __x, - const reverse_iterator<_Iterator>& __y) - requires requires { { __x.base() == __y.base() } -> convertible_to; } - { return __x.base() == __y.base(); } - - template - [[nodiscard]] - constexpr compare_three_way_result_t<_Iterator, _Iterator> - operator<=>(const reverse_iterator<_Iterator>& __x, - const reverse_iterator<_Iterator>& __y) - { return __y.base() <=> __x.base(); } -# 615 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - [[__nodiscard__]] - 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 - [[__nodiscard__]] - 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 - [[__nodiscard__]] - inline constexpr reverse_iterator<_Iterator> - make_reverse_iterator(_Iterator __i) - { return reverse_iterator<_Iterator>(__i); } - - - template - requires (!sized_sentinel_for<_Iterator1, _Iterator2>) - inline constexpr bool - disable_sized_sentinel_for, - reverse_iterator<_Iterator2>> = true; - - - - template - constexpr - 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 - constexpr - auto - __miter_base(reverse_iterator<_Iterator> __it) - -> decltype(__make_reverse_iterator(__miter_base(__it.base()))) - { return __make_reverse_iterator(__miter_base(__it.base())); } -# 688 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - class back_insert_iterator - : public iterator - { - protected: - _Container* container; - - public: - - typedef _Container container_type; - - using difference_type = ptrdiff_t; - - - - explicit constexpr - back_insert_iterator(_Container& __x) - : container(std::__addressof(__x)) { } -# 726 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - constexpr - back_insert_iterator& - operator=(const typename _Container::value_type& __value) - { - container->push_back(__value); - return *this; - } - - constexpr - back_insert_iterator& - operator=(typename _Container::value_type&& __value) - { - container->push_back(std::move(__value)); - return *this; - } - - - - [[__nodiscard__]] constexpr - back_insert_iterator& - operator*() - { return *this; } - - - constexpr - back_insert_iterator& - operator++() - { return *this; } - - - constexpr - back_insert_iterator - operator++(int) - { return *this; } - }; -# 773 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - [[__nodiscard__]] constexpr - inline back_insert_iterator<_Container> - back_inserter(_Container& __x) - { return back_insert_iterator<_Container>(__x); } -# 789 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - class front_insert_iterator - : public iterator - { - protected: - _Container* container; - - public: - - typedef _Container container_type; - - using difference_type = ptrdiff_t; - - - - explicit constexpr - front_insert_iterator(_Container& __x) - : container(std::__addressof(__x)) { } -# 827 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - constexpr - front_insert_iterator& - operator=(const typename _Container::value_type& __value) - { - container->push_front(__value); - return *this; - } - - constexpr - front_insert_iterator& - operator=(typename _Container::value_type&& __value) - { - container->push_front(std::move(__value)); - return *this; - } - - - - [[__nodiscard__]] constexpr - front_insert_iterator& - operator*() - { return *this; } - - - constexpr - front_insert_iterator& - operator++() - { return *this; } - - - constexpr - front_insert_iterator - operator++(int) - { return *this; } - }; -# 874 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - [[__nodiscard__]] constexpr - inline front_insert_iterator<_Container> - front_inserter(_Container& __x) - { return front_insert_iterator<_Container>(__x); } -# 894 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - class insert_iterator - : public iterator - { - - using _Iter = std::__detail::__range_iter_t<_Container>; - - - - protected: - _Container* container; - _Iter iter; - - public: - - typedef _Container container_type; - - - using difference_type = ptrdiff_t; - - - - - - - constexpr - insert_iterator(_Container& __x, _Iter __i) - : container(std::__addressof(__x)), iter(__i) {} -# 955 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - constexpr - insert_iterator& - operator=(const typename _Container::value_type& __value) - { - iter = container->insert(iter, __value); - ++iter; - return *this; - } - - constexpr - insert_iterator& - operator=(typename _Container::value_type&& __value) - { - iter = container->insert(iter, std::move(__value)); - ++iter; - return *this; - } - - - - [[__nodiscard__]] constexpr - insert_iterator& - operator*() - { return *this; } - - - constexpr - insert_iterator& - operator++() - { return *this; } - - - constexpr - insert_iterator& - operator++(int) - { return *this; } - }; - -#pragma GCC diagnostic pop -# 1008 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - [[nodiscard]] - constexpr insert_iterator<_Container> - inserter(_Container& __x, std::__detail::__range_iter_t<_Container> __i) - { return insert_iterator<_Container>(__x, __i); } -# 1023 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - -} - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - -# 1037 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - class __normal_iterator - { - protected: - _Iterator _M_current; - - typedef std::iterator_traits<_Iterator> __traits_type; - - - template - using __convertible_from - = std::__enable_if_t::value>; - - - 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; - - - using iterator_concept = std::__detail::__iter_concept<_Iterator>; - - - constexpr __normal_iterator() noexcept - : _M_current(_Iterator()) { } - - explicit constexpr - __normal_iterator(const _Iterator& __i) noexcept - : _M_current(__i) { } - - - - template> - constexpr - __normal_iterator(const __normal_iterator<_Iter, _Container>& __i) - noexcept -# 1085 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - : _M_current(__i.base()) { } - - - constexpr - reference - operator*() const noexcept - { return *_M_current; } - - constexpr - pointer - operator->() const noexcept - { return _M_current; } - - constexpr - __normal_iterator& - operator++() noexcept - { - ++_M_current; - return *this; - } - - constexpr - __normal_iterator - operator++(int) noexcept - { return __normal_iterator(_M_current++); } - - - constexpr - __normal_iterator& - operator--() noexcept - { - --_M_current; - return *this; - } - - constexpr - __normal_iterator - operator--(int) noexcept - { return __normal_iterator(_M_current--); } - - - constexpr - reference - operator[](difference_type __n) const noexcept - { return _M_current[__n]; } - - constexpr - __normal_iterator& - operator+=(difference_type __n) noexcept - { _M_current += __n; return *this; } - - constexpr - __normal_iterator - operator+(difference_type __n) const noexcept - { return __normal_iterator(_M_current + __n); } - - constexpr - __normal_iterator& - operator-=(difference_type __n) noexcept - { _M_current -= __n; return *this; } - - constexpr - __normal_iterator - operator-(difference_type __n) const noexcept - { return __normal_iterator(_M_current - __n); } - - constexpr - const _Iterator& - base() const noexcept - { return _M_current; } - }; -# 1166 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - [[nodiscard]] - constexpr bool - operator==(const __normal_iterator<_IteratorL, _Container>& __lhs, - const __normal_iterator<_IteratorR, _Container>& __rhs) - noexcept(noexcept(__lhs.base() == __rhs.base())) - requires requires { - { __lhs.base() == __rhs.base() } -> std::convertible_to; - } - { return __lhs.base() == __rhs.base(); } - - template - [[nodiscard]] - constexpr std::__detail::__synth3way_t<_IteratorR, _IteratorL> - operator<=>(const __normal_iterator<_IteratorL, _Container>& __lhs, - const __normal_iterator<_IteratorR, _Container>& __rhs) - noexcept(noexcept(std::__detail::__synth3way(__lhs.base(), __rhs.base()))) - { return std::__detail::__synth3way(__lhs.base(), __rhs.base()); } - - template - [[nodiscard]] - constexpr bool - operator==(const __normal_iterator<_Iterator, _Container>& __lhs, - const __normal_iterator<_Iterator, _Container>& __rhs) - noexcept(noexcept(__lhs.base() == __rhs.base())) - requires requires { - { __lhs.base() == __rhs.base() } -> std::convertible_to; - } - { return __lhs.base() == __rhs.base(); } - - template - [[nodiscard]] - constexpr std::__detail::__synth3way_t<_Iterator> - operator<=>(const __normal_iterator<_Iterator, _Container>& __lhs, - const __normal_iterator<_Iterator, _Container>& __rhs) - noexcept(noexcept(std::__detail::__synth3way(__lhs.base(), __rhs.base()))) - { return std::__detail::__synth3way(__lhs.base(), __rhs.base()); } -# 1307 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - - - [[__nodiscard__]] constexpr - 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 - [[__nodiscard__]] constexpr - 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 - [[__nodiscard__]] constexpr - 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 __attribute__ ((__visibility__ ("default"))) -{ - - - template - constexpr - _Iterator - __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it) - noexcept(std::is_nothrow_copy_constructible<_Iterator>::value) - { return __it.base(); } -# 1371 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - class move_sentinel - { - public: - constexpr - move_sentinel() - noexcept(is_nothrow_default_constructible_v<_Sent>) - : _M_last() { } - - constexpr explicit - move_sentinel(_Sent __s) - noexcept(is_nothrow_move_constructible_v<_Sent>) - : _M_last(std::move(__s)) { } - - template requires convertible_to - constexpr - move_sentinel(const move_sentinel<_S2>& __s) - noexcept(is_nothrow_constructible_v<_Sent, const _S2&>) - : _M_last(__s.base()) - { } - - template requires assignable_from<_Sent&, const _S2&> - constexpr move_sentinel& - operator=(const move_sentinel<_S2>& __s) - noexcept(is_nothrow_assignable_v<_Sent, const _S2&>) - { - _M_last = __s.base(); - return *this; - } - - [[nodiscard]] - constexpr _Sent - base() const - noexcept(is_nothrow_copy_constructible_v<_Sent>) - { return _M_last; } - - private: - _Sent _M_last; - }; - - - namespace __detail - { - - template - struct __move_iter_cat - { }; - - template - requires requires { typename __iter_category_t<_Iterator>; } - struct __move_iter_cat<_Iterator> - { - using iterator_category - = __clamp_iter_cat<__iter_category_t<_Iterator>, - random_access_iterator_tag>; - }; - - } -# 1439 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - class move_iterator - - : public __detail::__move_iter_cat<_Iterator> - - { - _Iterator _M_current; - - using __traits_type = iterator_traits<_Iterator>; - - - - - template - friend class move_iterator; - - - - - template - static constexpr bool __convertible = !is_same_v<_Iter2, _Iterator> - && convertible_to; - - - - static auto - _S_iter_concept() - { - if constexpr (random_access_iterator<_Iterator>) - return random_access_iterator_tag{}; - else if constexpr (bidirectional_iterator<_Iterator>) - return bidirectional_iterator_tag{}; - else if constexpr (forward_iterator<_Iterator>) - return forward_iterator_tag{}; - else - return input_iterator_tag{}; - } - - - public: - using iterator_type = _Iterator; - - - using iterator_concept = decltype(_S_iter_concept()); - - - using value_type = iter_value_t<_Iterator>; - using difference_type = iter_difference_t<_Iterator>; - using pointer = _Iterator; - using reference = iter_rvalue_reference_t<_Iterator>; -# 1503 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - constexpr - move_iterator() - : _M_current() { } - - explicit constexpr - move_iterator(iterator_type __i) - : _M_current(std::move(__i)) { } - - template - - requires __convertible<_Iter> - - constexpr - move_iterator(const move_iterator<_Iter>& __i) - : _M_current(__i._M_current) { } - - template - - requires __convertible<_Iter> - && assignable_from<_Iterator&, const _Iter&> - - constexpr - move_iterator& operator=(const move_iterator<_Iter>& __i) - { - _M_current = __i._M_current; - return *this; - } - - - - - - - - [[nodiscard]] - constexpr const iterator_type& - base() const & noexcept - { return _M_current; } - - [[nodiscard]] - constexpr iterator_type - base() && - { return std::move(_M_current); } - - - [[__nodiscard__]] - constexpr reference - operator*() const - - { return ranges::iter_move(_M_current); } - - - - - [[__nodiscard__]] - 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 void - operator++(int) requires (!forward_iterator<_Iterator>) - { ++_M_current; } - - - constexpr move_iterator& - operator--() - { - --_M_current; - return *this; - } - - constexpr move_iterator - operator--(int) - { - move_iterator __tmp = *this; - --_M_current; - return __tmp; - } - - [[__nodiscard__]] - 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; - } - - [[__nodiscard__]] - 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; - } - - [[__nodiscard__]] - constexpr reference - operator[](difference_type __n) const - - { return ranges::iter_move(_M_current + __n); } - - - - - - template _Sent> - [[nodiscard]] - friend constexpr bool - operator==(const move_iterator& __x, const move_sentinel<_Sent>& __y) - { return __x.base() == __y.base(); } - - template _Sent> - [[nodiscard]] - friend constexpr iter_difference_t<_Iterator> - operator-(const move_sentinel<_Sent>& __x, const move_iterator& __y) - { return __x.base() - __y.base(); } - - template _Sent> - [[nodiscard]] - friend constexpr iter_difference_t<_Iterator> - operator-(const move_iterator& __x, const move_sentinel<_Sent>& __y) - { return __x.base() - __y.base(); } - - [[nodiscard]] - friend constexpr iter_rvalue_reference_t<_Iterator> - iter_move(const move_iterator& __i) - noexcept(noexcept(ranges::iter_move(__i._M_current))) - { return ranges::iter_move(__i._M_current); } - - template _Iter2> - friend constexpr void - iter_swap(const move_iterator& __x, const move_iterator<_Iter2>& __y) - noexcept(noexcept(ranges::iter_swap(__x._M_current, __y._M_current))) - { return ranges::iter_swap(__x._M_current, __y._M_current); } - - }; - - template - [[__nodiscard__]] - inline constexpr bool - operator==(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - - requires requires { { __x.base() == __y.base() } -> convertible_to; } - - { return __x.base() == __y.base(); } - - - template _IteratorR> - [[__nodiscard__]] - constexpr compare_three_way_result_t<_IteratorL, _IteratorR> - operator<=>(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - { return __x.base() <=> __y.base(); } -# 1691 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - [[__nodiscard__]] - inline constexpr bool - operator<(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - - requires requires { { __x.base() < __y.base() } -> convertible_to; } - - { return __x.base() < __y.base(); } - - template - [[__nodiscard__]] - inline constexpr bool - operator<=(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - - requires requires { { __y.base() < __x.base() } -> convertible_to; } - - { return !(__y < __x); } - - template - [[__nodiscard__]] - inline constexpr bool - operator>(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - - requires requires { { __y.base() < __x.base() } -> convertible_to; } - - { return __y < __x; } - - template - [[__nodiscard__]] - inline constexpr bool - operator>=(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - - requires requires { { __x.base() < __y.base() } -> convertible_to; } - - { return !(__x < __y); } - - - - - template - [[__nodiscard__]] - inline constexpr bool - operator==(const move_iterator<_Iterator>& __x, - const move_iterator<_Iterator>& __y) - { return __x.base() == __y.base(); } - - - template - [[__nodiscard__]] - constexpr compare_three_way_result_t<_Iterator> - operator<=>(const move_iterator<_Iterator>& __x, - const move_iterator<_Iterator>& __y) - { return __x.base() <=> __y.base(); } -# 1786 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - [[__nodiscard__]] - 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 - [[__nodiscard__]] - inline constexpr move_iterator<_Iterator> - operator+(typename move_iterator<_Iterator>::difference_type __n, - const move_iterator<_Iterator>& __x) - { return __x + __n; } - - template - [[__nodiscard__]] - 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>>> - inline constexpr _ReturnType - __make_move_if_noexcept_iterator(_Iterator __i) - { return _ReturnType(__i); } - - - - template::value, - const _Tp*, move_iterator<_Tp*>>> - inline constexpr _ReturnType - __make_move_if_noexcept_iterator(_Tp* __i) - { return _ReturnType(__i); } - - - - - namespace __detail - { - template - concept __common_iter_has_arrow = indirectly_readable - && (requires(const _It& __it) { __it.operator->(); } - || is_reference_v> - || constructible_from, iter_reference_t<_It>>); - - template - concept __common_iter_use_postfix_proxy - = (!requires (_It& __i) { { *__i++ } -> __can_reference; }) - && constructible_from, iter_reference_t<_It>> - && move_constructible>; - } - - - template _Sent> - requires (!same_as<_It, _Sent>) && copyable<_It> - class common_iterator - { - template - static constexpr bool - _S_noexcept1() - { - if constexpr (is_trivially_default_constructible_v<_Tp>) - return is_nothrow_assignable_v<_Tp&, _Up>; - else - return is_nothrow_constructible_v<_Tp, _Up>; - } - - template - static constexpr bool - _S_noexcept() - { return _S_noexcept1<_It, _It2>() && _S_noexcept1<_Sent, _Sent2>(); } - - class __arrow_proxy - { - iter_value_t<_It> _M_keep; - - constexpr - __arrow_proxy(iter_reference_t<_It>&& __x) - : _M_keep(std::move(__x)) { } - - friend class common_iterator; - - public: - constexpr const iter_value_t<_It>* - operator->() const noexcept - { return std::__addressof(_M_keep); } - }; - - class __postfix_proxy - { - iter_value_t<_It> _M_keep; - - constexpr - __postfix_proxy(iter_reference_t<_It>&& __x) - : _M_keep(std::forward>(__x)) { } - - friend class common_iterator; - - public: - constexpr const iter_value_t<_It>& - operator*() const noexcept - { return _M_keep; } - }; - - public: - constexpr - common_iterator() - noexcept(is_nothrow_default_constructible_v<_It>) - requires default_initializable<_It> - : _M_it(), _M_index(0) - { } - - constexpr - common_iterator(_It __i) - noexcept(is_nothrow_move_constructible_v<_It>) - : _M_it(std::move(__i)), _M_index(0) - { } - - constexpr - common_iterator(_Sent __s) - noexcept(is_nothrow_move_constructible_v<_Sent>) - : _M_sent(std::move(__s)), _M_index(1) - { } - - template - requires convertible_to - && convertible_to - constexpr - common_iterator(const common_iterator<_It2, _Sent2>& __x) - noexcept(_S_noexcept()) - : _M_valueless(), _M_index(__x._M_index) - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__x._M_has_value()), false)) std::__glibcxx_assert_fail(); } while (false); - if (_M_index == 0) - { - if constexpr (is_trivially_default_constructible_v<_It>) - _M_it = std::move(__x._M_it); - else - std::construct_at(std::__addressof(_M_it), __x._M_it); - } - else if (_M_index == 1) - { - if constexpr (is_trivially_default_constructible_v<_Sent>) - _M_sent = std::move(__x._M_sent); - else - std::construct_at(std::__addressof(_M_sent), __x._M_sent); - } - } - - common_iterator(const common_iterator&) = default; - - constexpr - common_iterator(const common_iterator& __x) - noexcept(_S_noexcept()) - requires (!is_trivially_copyable_v<_It> || !is_trivially_copyable_v<_Sent>) - : _M_valueless(), _M_index(__x._M_index) - { - if (_M_index == 0) - { - if constexpr (is_trivially_default_constructible_v<_It>) - _M_it = __x._M_it; - else - std::construct_at(std::__addressof(_M_it), __x._M_it); - } - else if (_M_index == 1) - { - if constexpr (is_trivially_default_constructible_v<_Sent>) - _M_sent = __x._M_sent; - else - std::construct_at(std::__addressof(_M_sent), __x._M_sent); - } - } - - common_iterator(common_iterator&&) = default; - - constexpr - common_iterator(common_iterator&& __x) - noexcept(_S_noexcept<_It, _Sent>()) - requires (!is_trivially_copyable_v<_It> || !is_trivially_copyable_v<_Sent>) - : _M_valueless(), _M_index(__x._M_index) - { - if (_M_index == 0) - { - if constexpr (is_trivially_default_constructible_v<_It>) - _M_it = std::move(__x._M_it); - else - std::construct_at(std::__addressof(_M_it), std::move(__x._M_it)); - } - else if (_M_index == 1) - { - if constexpr (is_trivially_default_constructible_v<_Sent>) - _M_sent = std::move(__x._M_sent); - else - std::construct_at(std::__addressof(_M_sent), - std::move(__x._M_sent)); - } - } - - constexpr common_iterator& - operator=(const common_iterator&) = default; - - constexpr common_iterator& - operator=(const common_iterator& __x) - noexcept(is_nothrow_copy_assignable_v<_It> - && is_nothrow_copy_assignable_v<_Sent> - && is_nothrow_copy_constructible_v<_It> - && is_nothrow_copy_constructible_v<_Sent>) - requires (!is_trivially_copy_assignable_v<_It> - || !is_trivially_copy_assignable_v<_Sent>) - { - _M_assign(__x); - return *this; - } - - constexpr common_iterator& - operator=(common_iterator&&) = default; - - constexpr common_iterator& - operator=(common_iterator&& __x) - noexcept(is_nothrow_move_assignable_v<_It> - && is_nothrow_move_assignable_v<_Sent> - && is_nothrow_move_constructible_v<_It> - && is_nothrow_move_constructible_v<_Sent>) - requires (!is_trivially_move_assignable_v<_It> - || !is_trivially_move_assignable_v<_Sent>) - { - _M_assign(std::move(__x)); - return *this; - } - - template - requires convertible_to - && convertible_to - && assignable_from<_It&, const _It2&> - && assignable_from<_Sent&, const _Sent2&> - constexpr common_iterator& - operator=(const common_iterator<_It2, _Sent2>& __x) - noexcept(is_nothrow_constructible_v<_It, const _It2&> - && is_nothrow_constructible_v<_Sent, const _Sent2&> - && is_nothrow_assignable_v<_It&, const _It2&> - && is_nothrow_assignable_v<_Sent&, const _Sent2&>) - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__x._M_has_value()), false)) std::__glibcxx_assert_fail(); } while (false); - _M_assign(__x); - return *this; - } - - - ~common_iterator() = default; - - constexpr - ~common_iterator() - requires (!is_trivially_destructible_v<_It> - || !is_trivially_destructible_v<_Sent>) - - - - - { - if (_M_index == 0) - _M_it.~_It(); - else if (_M_index == 1) - _M_sent.~_Sent(); - } - - [[nodiscard]] - constexpr decltype(auto) - operator*() - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_M_index == 0), false)) std::__glibcxx_assert_fail(); } while (false); - return *_M_it; - } - - [[nodiscard]] - constexpr decltype(auto) - operator*() const requires __detail::__dereferenceable - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_M_index == 0), false)) std::__glibcxx_assert_fail(); } while (false); - return *_M_it; - } - - [[nodiscard]] - constexpr auto - operator->() const requires __detail::__common_iter_has_arrow<_It> - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_M_index == 0), false)) std::__glibcxx_assert_fail(); } while (false); - if constexpr (is_pointer_v<_It> || requires { _M_it.operator->(); }) - return _M_it; - else if constexpr (is_reference_v>) - { - auto&& __tmp = *_M_it; - return std::__addressof(__tmp); - } - else - return __arrow_proxy{*_M_it}; - } - - constexpr common_iterator& - operator++() - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_M_index == 0), false)) std::__glibcxx_assert_fail(); } while (false); - ++_M_it; - return *this; - } - - constexpr decltype(auto) - operator++(int) - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_M_index == 0), false)) std::__glibcxx_assert_fail(); } while (false); - if constexpr (forward_iterator<_It>) - { - common_iterator __tmp = *this; - ++*this; - return __tmp; - } - else if constexpr (!__detail::__common_iter_use_postfix_proxy<_It>) - return _M_it++; - else - { - __postfix_proxy __p(**this); - ++*this; - return __p; - } - } - - template _Sent2> - requires sentinel_for<_Sent, _It2> - friend constexpr bool - operator== [[nodiscard]] (const common_iterator& __x, - const common_iterator<_It2, _Sent2>& __y) - { - switch(__x._M_index << 2 | __y._M_index) - { - case 0b0000: - case 0b0101: - return true; - case 0b0001: - return __x._M_it == __y._M_sent; - case 0b0100: - return __x._M_sent == __y._M_it; - default: - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__x._M_has_value()), false)) std::__glibcxx_assert_fail(); } while (false); - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__y._M_has_value()), false)) std::__glibcxx_assert_fail(); } while (false); - __builtin_unreachable(); - } - } - - template _Sent2> - requires sentinel_for<_Sent, _It2> && equality_comparable_with<_It, _It2> - friend constexpr bool - operator== [[nodiscard]] (const common_iterator& __x, - const common_iterator<_It2, _Sent2>& __y) - { - switch(__x._M_index << 2 | __y._M_index) - { - case 0b0101: - return true; - case 0b0000: - return __x._M_it == __y._M_it; - case 0b0001: - return __x._M_it == __y._M_sent; - case 0b0100: - return __x._M_sent == __y._M_it; - default: - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__x._M_has_value()), false)) std::__glibcxx_assert_fail(); } while (false); - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__y._M_has_value()), false)) std::__glibcxx_assert_fail(); } while (false); - __builtin_unreachable(); - } - } - - template _It2, sized_sentinel_for<_It> _Sent2> - requires sized_sentinel_for<_Sent, _It2> - friend constexpr iter_difference_t<_It2> - operator- [[nodiscard]] (const common_iterator& __x, - const common_iterator<_It2, _Sent2>& __y) - { - switch(__x._M_index << 2 | __y._M_index) - { - case 0b0101: - return 0; - case 0b0000: - return __x._M_it - __y._M_it; - case 0b0001: - return __x._M_it - __y._M_sent; - case 0b0100: - return __x._M_sent - __y._M_it; - default: - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__x._M_has_value()), false)) std::__glibcxx_assert_fail(); } while (false); - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__y._M_has_value()), false)) std::__glibcxx_assert_fail(); } while (false); - __builtin_unreachable(); - } - } - - [[nodiscard]] - friend constexpr iter_rvalue_reference_t<_It> - iter_move(const common_iterator& __i) - noexcept(noexcept(ranges::iter_move(std::declval()))) - requires input_iterator<_It> - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__i._M_index == 0), false)) std::__glibcxx_assert_fail(); } while (false); - return ranges::iter_move(__i._M_it); - } - - template _It2, typename _Sent2> - friend constexpr void - iter_swap(const common_iterator& __x, - const common_iterator<_It2, _Sent2>& __y) - noexcept(noexcept(ranges::iter_swap(std::declval(), - std::declval()))) - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__x._M_index == 0), false)) std::__glibcxx_assert_fail(); } while (false); - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__y._M_index == 0), false)) std::__glibcxx_assert_fail(); } while (false); - return ranges::iter_swap(__x._M_it, __y._M_it); - } - - private: - template _Sent2> - requires (!same_as<_It2, _Sent2>) && copyable<_It2> - friend class common_iterator; - - constexpr bool - _M_has_value() const noexcept { return _M_index != _S_valueless; } - - template - constexpr void - _M_assign(_CIt&& __x) - { - if (_M_index == __x._M_index) - { - if (_M_index == 0) - _M_it = std::forward<_CIt>(__x)._M_it; - else if (_M_index == 1) - _M_sent = std::forward<_CIt>(__x)._M_sent; - } - else - { - if (_M_index == 0) - _M_it.~_It(); - else if (_M_index == 1) - _M_sent.~_Sent(); - _M_index = _S_valueless; - - if (__x._M_index == 0) - std::construct_at(std::__addressof(_M_it), - std::forward<_CIt>(__x)._M_it); - else if (__x._M_index == 1) - std::construct_at(std::__addressof(_M_sent), - std::forward<_CIt>(__x)._M_sent); - _M_index = __x._M_index; - } - } - - union - { - _It _M_it; - _Sent _M_sent; - unsigned char _M_valueless; - }; - unsigned char _M_index; - - static constexpr unsigned char _S_valueless{2}; - }; - - template - struct incrementable_traits> - { - using difference_type = iter_difference_t<_It>; - }; - - template - struct iterator_traits> - { - private: - template - struct __ptr - { - using type = void; - }; - - template - requires __detail::__common_iter_has_arrow<_Iter> - struct __ptr<_Iter> - { - using _CIter = common_iterator<_Iter, _Sent>; - using type = decltype(std::declval().operator->()); - }; - - static auto - _S_iter_cat() - { - if constexpr (requires { requires derived_from<__iter_category_t<_It>, - forward_iterator_tag>; }) - return forward_iterator_tag{}; - else - return input_iterator_tag{}; - } - - public: - using iterator_concept = __conditional_t, - forward_iterator_tag, - input_iterator_tag>; - using iterator_category = decltype(_S_iter_cat()); - using value_type = iter_value_t<_It>; - using difference_type = iter_difference_t<_It>; - using pointer = typename __ptr<_It>::type; - using reference = iter_reference_t<_It>; - }; - - - - namespace __detail - { - template - struct __counted_iter_value_type - { }; - - template - struct __counted_iter_value_type<_It> - { using value_type = iter_value_t<_It>; }; - - template - struct __counted_iter_concept - { }; - - template - requires requires { typename _It::iterator_concept; } - struct __counted_iter_concept<_It> - { using iterator_concept = typename _It::iterator_concept; }; - - template - struct __counted_iter_cat - { }; - - template - requires requires { typename _It::iterator_category; } - struct __counted_iter_cat<_It> - { using iterator_category = typename _It::iterator_category; }; - } - - - template - class counted_iterator - : public __detail::__counted_iter_value_type<_It>, - public __detail::__counted_iter_concept<_It>, - public __detail::__counted_iter_cat<_It> - { - public: - using iterator_type = _It; - - using difference_type = iter_difference_t<_It>; - - - - constexpr counted_iterator() requires default_initializable<_It> = default; - - constexpr - counted_iterator(_It __i, iter_difference_t<_It> __n) - : _M_current(std::move(__i)), _M_length(__n) - { do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__n >= 0), false)) std::__glibcxx_assert_fail(); } while (false); } - - template - requires convertible_to - constexpr - counted_iterator(const counted_iterator<_It2>& __x) - : _M_current(__x._M_current), _M_length(__x._M_length) - { } - - template - requires assignable_from<_It&, const _It2&> - constexpr counted_iterator& - operator=(const counted_iterator<_It2>& __x) - { - _M_current = __x._M_current; - _M_length = __x._M_length; - return *this; - } - - [[nodiscard]] - constexpr const _It& - base() const & noexcept - { return _M_current; } - - [[nodiscard]] - constexpr _It - base() && - noexcept(is_nothrow_move_constructible_v<_It>) - { return std::move(_M_current); } - - [[nodiscard]] - constexpr iter_difference_t<_It> - count() const noexcept { return _M_length; } - - [[nodiscard]] - constexpr decltype(auto) - operator*() - noexcept(noexcept(*_M_current)) - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_M_length > 0), false)) std::__glibcxx_assert_fail(); } while (false); - return *_M_current; - } - - [[nodiscard]] - constexpr decltype(auto) - operator*() const - noexcept(noexcept(*_M_current)) - requires __detail::__dereferenceable - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_M_length > 0), false)) std::__glibcxx_assert_fail(); } while (false); - return *_M_current; - } - - [[nodiscard]] - constexpr auto - operator->() const noexcept - requires contiguous_iterator<_It> - { return std::to_address(_M_current); } - - constexpr counted_iterator& - operator++() - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_M_length > 0), false)) std::__glibcxx_assert_fail(); } while (false); - ++_M_current; - --_M_length; - return *this; - } - - constexpr decltype(auto) - operator++(int) - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_M_length > 0), false)) std::__glibcxx_assert_fail(); } while (false); - --_M_length; - try - { - return _M_current++; - } catch(...) { - ++_M_length; - throw; - } - } - - constexpr counted_iterator - operator++(int) requires forward_iterator<_It> - { - auto __tmp = *this; - ++*this; - return __tmp; - } - - constexpr counted_iterator& - operator--() requires bidirectional_iterator<_It> - { - --_M_current; - ++_M_length; - return *this; - } - - constexpr counted_iterator - operator--(int) requires bidirectional_iterator<_It> - { - auto __tmp = *this; - --*this; - return __tmp; - } - - [[nodiscard]] - constexpr counted_iterator - operator+(iter_difference_t<_It> __n) const - requires random_access_iterator<_It> - { return counted_iterator(_M_current + __n, _M_length - __n); } - - [[nodiscard]] - friend constexpr counted_iterator - operator+(iter_difference_t<_It> __n, const counted_iterator& __x) - requires random_access_iterator<_It> - { return __x + __n; } - - constexpr counted_iterator& - operator+=(iter_difference_t<_It> __n) - requires random_access_iterator<_It> - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__n <= _M_length), false)) std::__glibcxx_assert_fail(); } while (false); - _M_current += __n; - _M_length -= __n; - return *this; - } - - [[nodiscard]] - constexpr counted_iterator - operator-(iter_difference_t<_It> __n) const - requires random_access_iterator<_It> - { return counted_iterator(_M_current - __n, _M_length + __n); } - - template _It2> - [[nodiscard]] - friend constexpr iter_difference_t<_It2> - operator-(const counted_iterator& __x, - const counted_iterator<_It2>& __y) - { return __y._M_length - __x._M_length; } - - [[nodiscard]] - friend constexpr iter_difference_t<_It> - operator-(const counted_iterator& __x, default_sentinel_t) - { return -__x._M_length; } - - [[nodiscard]] - friend constexpr iter_difference_t<_It> - operator-(default_sentinel_t, const counted_iterator& __y) - { return __y._M_length; } - - constexpr counted_iterator& - operator-=(iter_difference_t<_It> __n) - requires random_access_iterator<_It> - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(-__n <= _M_length), false)) std::__glibcxx_assert_fail(); } while (false); - _M_current -= __n; - _M_length += __n; - return *this; - } - - [[nodiscard]] - constexpr decltype(auto) - operator[](iter_difference_t<_It> __n) const - noexcept(noexcept(_M_current[__n])) - requires random_access_iterator<_It> - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__n < _M_length), false)) std::__glibcxx_assert_fail(); } while (false); - return _M_current[__n]; - } - - template _It2> - [[nodiscard]] - friend constexpr bool - operator==(const counted_iterator& __x, - const counted_iterator<_It2>& __y) - { return __x._M_length == __y._M_length; } - - [[nodiscard]] - friend constexpr bool - operator==(const counted_iterator& __x, default_sentinel_t) - { return __x._M_length == 0; } - - template _It2> - [[nodiscard]] - friend constexpr strong_ordering - operator<=>(const counted_iterator& __x, - const counted_iterator<_It2>& __y) - { return __y._M_length <=> __x._M_length; } - - [[nodiscard]] - friend constexpr iter_rvalue_reference_t<_It> - iter_move(const counted_iterator& __i) - noexcept(noexcept(ranges::iter_move(__i._M_current))) - requires input_iterator<_It> - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__i._M_length > 0), false)) std::__glibcxx_assert_fail(); } while (false); - return ranges::iter_move(__i._M_current); - } - - template _It2> - friend constexpr void - iter_swap(const counted_iterator& __x, - const counted_iterator<_It2>& __y) - noexcept(noexcept(ranges::iter_swap(__x._M_current, __y._M_current))) - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__x._M_length > 0 && __y._M_length > 0), false)) std::__glibcxx_assert_fail(); } while (false); - ranges::iter_swap(__x._M_current, __y._M_current); - } - - private: - template friend class counted_iterator; - - _It _M_current = _It(); - iter_difference_t<_It> _M_length = 0; - }; - - template - requires same_as<__detail::__iter_traits<_It>, iterator_traits<_It>> - struct iterator_traits> : iterator_traits<_It> - { - using pointer = __conditional_t, - add_pointer_t>, - void>; - }; -# 2952 "/usr/include/c++/14.1.1/bits/stl_iterator.h" 3 - template - constexpr - 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 - constexpr - auto - __miter_base(move_iterator<_Iterator> __it) - -> decltype(__miter_base(__it.base())) - { return __miter_base(__it.base()); } -# 2984 "/usr/include/c++/14.1.1/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>>; - - - -} -# 49 "/usr/include/c++/14.1.1/string" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/stl_function.h" 1 3 -# 63 "/usr/include/c++/14.1.1/bits/stl_function.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 116 "/usr/include/c++/14.1.1/bits/stl_function.h" 3 - template - struct unary_function - { - - typedef _Arg argument_type; - - - typedef _Result result_type; - } __attribute__ ((__deprecated__)); - - - - - - template - struct binary_function - { - - typedef _Arg1 first_argument_type; - - - typedef _Arg2 second_argument_type; - - - typedef _Result result_type; - } __attribute__ ((__deprecated__)); -# 157 "/usr/include/c++/14.1.1/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; - - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - - - 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; } - }; -#pragma GCC diagnostic pop - - - 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; - }; -# 346 "/usr/include/c++/14.1.1/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; - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - - - 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 (std::__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 (std::__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 (std::__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 (std::__is_constant_evaluated()) - return __x <= __y; - - return (long unsigned int)__x <= (long unsigned int)__y; - } - }; -#pragma GCC diagnostic pop - - - - 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*>>; - }; -# 778 "/usr/include/c++/14.1.1/bits/stl_function.h" 3 - template - struct logical_and; - - template - struct logical_or; - - template - struct logical_not; - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - - - 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; } - }; -#pragma GCC diagnostic pop - - - - 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; - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - - - - 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; } - }; -#pragma GCC diagnostic pop - - - 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; - }; - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" -# 1020 "/usr/include/c++/14.1.1/bits/stl_function.h" 3 - template - class [[__deprecated__]] 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 - __attribute__ ((__deprecated__ ("use '" "std::not_fn" "' instead"))) - constexpr - inline unary_negate<_Predicate> - not1(const _Predicate& __pred) - { return unary_negate<_Predicate>(__pred); } - - - template - class [[__deprecated__]] 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 - __attribute__ ((__deprecated__ ("use '" "std::not_fn" "' instead"))) - constexpr - inline binary_negate<_Predicate> - not2(const _Predicate& __pred) - { return binary_negate<_Predicate>(__pred); } -# 1101 "/usr/include/c++/14.1.1/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); } - } __attribute__ ((__deprecated__)); - - - template - __attribute__ ((__deprecated__ ("use '" "std::function" "' instead"))) - 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); } - } __attribute__ ((__deprecated__)); - - - template - __attribute__ ((__deprecated__ ("use '" "std::function" "' instead"))) - 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; } - }; -# 1228 "/usr/include/c++/14.1.1/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)(); - } __attribute__ ((__deprecated__)); - - - 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; - } __attribute__ ((__deprecated__)); - - - 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)(); - } __attribute__ ((__deprecated__)); - - - 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; - } __attribute__ ((__deprecated__)); - - - 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); - } __attribute__ ((__deprecated__)); - - - 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; - } __attribute__ ((__deprecated__)); - - - 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); - } __attribute__ ((__deprecated__)); - - - 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; - } __attribute__ ((__deprecated__)); - - - - template - __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) - inline mem_fun_t<_Ret, _Tp> - mem_fun(_Ret (_Tp::*__f)()) - { return mem_fun_t<_Ret, _Tp>(__f); } - - template - __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) - inline const_mem_fun_t<_Ret, _Tp> - mem_fun(_Ret (_Tp::*__f)() const) - { return const_mem_fun_t<_Ret, _Tp>(__f); } - - template - __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) - inline mem_fun_ref_t<_Ret, _Tp> - mem_fun_ref(_Ret (_Tp::*__f)()) - { return mem_fun_ref_t<_Ret, _Tp>(__f); } - - template - __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) - 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 - __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) - inline mem_fun1_t<_Ret, _Tp, _Arg> - mem_fun(_Ret (_Tp::*__f)(_Arg)) - { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); } - - template - __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) - 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 - __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) - 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 - __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead"))) - 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); } -#pragma GCC diagnostic pop - - - - - 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/include/c++/14.1.1/backward/binders.h" 1 3 -# 60 "/usr/include/c++/14.1.1/backward/binders.h" 3 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 107 "/usr/include/c++/14.1.1/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 - __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead"))) - 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 - __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead"))) - 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 -# 1436 "/usr/include/c++/14.1.1/bits/stl_function.h" 2 3 -# 50 "/usr/include/c++/14.1.1/string" 2 3 -# 1 "/usr/include/c++/14.1.1/ext/numeric_traits.h" 1 3 -# 32 "/usr/include/c++/14.1.1/ext/numeric_traits.h" 3 - -# 33 "/usr/include/c++/14.1.1/ext/numeric_traits.h" 3 - - - - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - -# 50 "/usr/include/c++/14.1.1/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; -# 137 "/usr/include/c++/14.1.1/ext/numeric_traits.h" 3 - template - using __int_traits = __numeric_traits_integer<_Tp>; -# 157 "/usr/include/c++/14.1.1/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 - { }; -# 238 "/usr/include/c++/14.1.1/ext/numeric_traits.h" 3 - -} -# 51 "/usr/include/c++/14.1.1/string" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 1 3 -# 64 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 -# 1 "/usr/include/c++/14.1.1/bits/stl_pair.h" 1 3 -# 62 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 -# 1 "/usr/include/c++/14.1.1/bits/utility.h" 1 3 -# 36 "/usr/include/c++/14.1.1/bits/utility.h" 3 - -# 37 "/usr/include/c++/14.1.1/bits/utility.h" 3 - - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - template - struct tuple_size; - - - - - - template::type, - typename = typename enable_if::value>::type, - size_t = tuple_size<_Tp>::value> - using __enable_if_has_tuple_size = _Tp; - - template - struct tuple_size> - : public tuple_size<_Tp> { }; - - template - struct tuple_size> - : public tuple_size<_Tp> { }; - - template - struct tuple_size> - : public tuple_size<_Tp> { }; - - - template - inline constexpr size_t tuple_size_v = tuple_size<_Tp>::value; - - - - template - struct tuple_element; - - - template - using __tuple_element_t = typename tuple_element<__i, _Tp>::type; - - template - struct tuple_element<__i, const _Tp> - { - using type = const __tuple_element_t<__i, _Tp>; - }; - - template - struct tuple_element<__i, volatile _Tp> - { - using type = volatile __tuple_element_t<__i, _Tp>; - }; - - template - struct tuple_element<__i, const volatile _Tp> - { - using type = const volatile __tuple_element_t<__i, _Tp>; - }; - - - - - - template - constexpr size_t - __find_uniq_type_in_pack() - { - constexpr size_t __sz = sizeof...(_Types); - constexpr bool __found[__sz] = { __is_same(_Tp, _Types) ... }; - size_t __n = __sz; - for (size_t __i = 0; __i < __sz; ++__i) - { - if (__found[__i]) - { - if (__n < __sz) - return __sz; - __n = __i; - } - } - return __n; - } -# 134 "/usr/include/c++/14.1.1/bits/utility.h" 3 - template - using tuple_element_t = typename tuple_element<__i, _Tp>::type; - - - - - template struct _Index_tuple { }; - - - template - struct _Build_index_tuple - { -# 154 "/usr/include/c++/14.1.1/bits/utility.h" 3 - using __type = _Index_tuple<__integer_pack(_Num)...>; - - }; - - - - - template - struct integer_sequence - { - - static_assert(is_integral_v<_Tp>); - - typedef _Tp value_type; - static constexpr size_t size() noexcept { return sizeof...(_Idx); } - }; - - - template - using make_integer_sequence - - - - = integer_sequence<_Tp, __integer_pack(_Num)...>; - - - - template - using index_sequence = integer_sequence; - - - template - using make_index_sequence = make_integer_sequence; - - - template - using index_sequence_for = make_index_sequence; - - - - - struct in_place_t { - explicit in_place_t() = default; - }; - - inline constexpr in_place_t in_place{}; - - template struct in_place_type_t - { - explicit in_place_type_t() = default; - }; - - template - inline constexpr in_place_type_t<_Tp> in_place_type{}; - - template struct in_place_index_t - { - explicit in_place_index_t() = default; - }; - - template - inline constexpr in_place_index_t<_Idx> in_place_index{}; - - template - inline constexpr bool __is_in_place_type_v = false; - - template - inline constexpr bool __is_in_place_type_v> = true; - - template - using __is_in_place_type = bool_constant<__is_in_place_type_v<_Tp>>; - - template - inline constexpr bool __is_in_place_index_v = false; - - template - inline constexpr bool __is_in_place_index_v> = true; - - - - - template - struct _Nth_type - { using type = __type_pack_element<_Np, _Types...>; }; -# 276 "/usr/include/c++/14.1.1/bits/utility.h" 3 - namespace ranges::__detail - { - template - inline constexpr bool __is_subrange = false; - } - - - -} -# 63 "/usr/include/c++/14.1.1/bits/stl_pair.h" 2 3 - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 79 "/usr/include/c++/14.1.1/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 - struct pair; - - template - class tuple; - - - - - - template - struct array; - - template - struct _Index_tuple; - - template - constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type& - get(pair<_Tp1, _Tp2>& __in) noexcept; - - template - constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&& - get(pair<_Tp1, _Tp2>&& __in) noexcept; - - template - constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type& - get(const pair<_Tp1, _Tp2>& __in) noexcept; - - template - constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&& - get(const pair<_Tp1, _Tp2>&& __in) noexcept; - - template - constexpr __tuple_element_t<__i, tuple<_Elements...>>& - get(tuple<_Elements...>& __t) noexcept; - - template - constexpr const __tuple_element_t<__i, tuple<_Elements...>>& - get(const tuple<_Elements...>& __t) noexcept; - - template - constexpr __tuple_element_t<__i, tuple<_Elements...>>&& - get(tuple<_Elements...>&& __t) noexcept; - - template - constexpr const __tuple_element_t<__i, tuple<_Elements...>>&& - get(const tuple<_Elements...>&& __t) noexcept; - - template - constexpr _Tp& - get(array<_Tp, _Nm>&) noexcept; - - template - constexpr _Tp&& - get(array<_Tp, _Nm>&&) noexcept; - - template - constexpr const _Tp& - get(const array<_Tp, _Nm>&) noexcept; - - template - constexpr const _Tp&& - get(const array<_Tp, _Nm>&&) noexcept; -# 260 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - template class __pair_base - { - - - - - - - - }; -# 283 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - template - struct pair - : public __pair_base<_T1, _T2> - { - typedef _T1 first_type; - typedef _T2 second_type; - - _T1 first; - _T2 second; - - - constexpr pair(const pair&) = default; - constexpr pair(pair&&) = default; - - template - constexpr - pair(piecewise_construct_t, tuple<_Args1...>, tuple<_Args2...>); - - - constexpr 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); - } -# 331 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - private: - template - constexpr - pair(tuple<_Args1...>&, tuple<_Args2...>&, - _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>); - public: - - - - - - constexpr - explicit(__not_<__and_<__is_implicitly_default_constructible<_T1>, - __is_implicitly_default_constructible<_T2>>>()) - pair() - requires is_default_constructible_v<_T1> - && is_default_constructible_v<_T2> - : first(), second() - { } - - private: - - - template - static constexpr bool - _S_constructible() - { - if constexpr (is_constructible_v<_T1, _U1>) - return is_constructible_v<_T2, _U2>; - return false; - } - - template - static constexpr bool - _S_nothrow_constructible() - { - if constexpr (is_nothrow_constructible_v<_T1, _U1>) - return is_nothrow_constructible_v<_T2, _U2>; - return false; - } - - template - static constexpr bool - _S_convertible() - { - if constexpr (is_convertible_v<_U1, _T1>) - return is_convertible_v<_U2, _T2>; - return false; - } - - - template - static constexpr bool - _S_dangles() - { - - if constexpr (__reference_constructs_from_temporary(_T1, _U1&&)) - return true; - else - return __reference_constructs_from_temporary(_T2, _U2&&); - - - - } -# 424 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - public: - - - constexpr explicit(!_S_convertible()) - pair(const _T1& __x, const _T2& __y) - noexcept(_S_nothrow_constructible()) - requires (_S_constructible()) - : first(__x), second(__y) - { } - - - - - - template - - requires (_S_constructible<_U1, _U2>()) && (!_S_dangles<_U1, _U2>()) - constexpr explicit(!_S_convertible<_U1, _U2>()) - pair(_U1&& __x, _U2&& __y) - noexcept(_S_nothrow_constructible<_U1, _U2>()) - : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) - { } - - - - - template - - requires (_S_constructible<_U1, _U2>()) && (_S_dangles<_U1, _U2>()) - constexpr explicit(!_S_convertible<_U1, _U2>()) - pair(_U1&&, _U2&&) = delete; - - - template - requires (_S_constructible()) - && (!_S_dangles<_U1, _U2>()) - constexpr explicit(!_S_convertible()) - pair(const pair<_U1, _U2>& __p) - noexcept(_S_nothrow_constructible()) - : first(__p.first), second(__p.second) - { } - - template - requires (_S_constructible()) - && (_S_dangles()) - constexpr explicit(!_S_convertible()) - pair(const pair<_U1, _U2>&) = delete; - - - template - requires (_S_constructible<_U1, _U2>()) && (!_S_dangles<_U1, _U2>()) - constexpr explicit(!_S_convertible<_U1, _U2>()) - pair(pair<_U1, _U2>&& __p) - noexcept(_S_nothrow_constructible<_U1, _U2>()) - : first(std::forward<_U1>(__p.first)), - second(std::forward<_U2>(__p.second)) - { } - - template - requires (_S_constructible<_U1, _U2>()) && (_S_dangles<_U1, _U2>()) - constexpr explicit(!_S_convertible<_U1, _U2>()) - pair(pair<_U1, _U2>&&) = delete; -# 537 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - private: - - template - static constexpr bool - _S_assignable() - { - if constexpr (is_assignable_v<_T1&, _U1>) - return is_assignable_v<_T2&, _U2>; - return false; - } - - template - static constexpr bool - _S_const_assignable() - { - if constexpr (is_assignable_v) - return is_assignable_v; - return false; - } - - template - static constexpr bool - _S_nothrow_assignable() - { - if constexpr (is_nothrow_assignable_v<_T1&, _U1>) - return is_nothrow_assignable_v<_T2&, _U2>; - return false; - } -# 585 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - public: - - pair& operator=(const pair&) = delete; - - - constexpr pair& - operator=(const pair& __p) - noexcept(_S_nothrow_assignable()) - requires (_S_assignable()) - { - first = __p.first; - second = __p.second; - return *this; - } - - - constexpr pair& - operator=(pair&& __p) - noexcept(_S_nothrow_assignable<_T1, _T2>()) - requires (_S_assignable<_T1, _T2>()) - { - first = std::forward(__p.first); - second = std::forward(__p.second); - return *this; - } - - - template - constexpr pair& - operator=(const pair<_U1, _U2>& __p) - noexcept(_S_nothrow_assignable()) - requires (_S_assignable()) - { - first = __p.first; - second = __p.second; - return *this; - } - - - template - constexpr pair& - operator=(pair<_U1, _U2>&& __p) - noexcept(_S_nothrow_assignable<_U1, _U2>()) - requires (_S_assignable<_U1, _U2>()) - { - first = std::forward<_U1>(__p.first); - second = std::forward<_U2>(__p.second); - return *this; - } -# 995 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - }; - - - - - template pair(_T1, _T2) -> pair<_T1, _T2>; - - - - - - - - template - inline constexpr bool - operator==(const pair<_T1, _T2>& __x, const pair<_U1, _U2>& __y) - { return __x.first == __y.first && __x.second == __y.second; } -# 1020 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - template - constexpr common_comparison_category_t<__detail::__synth3way_t<_T1, _U1>, - __detail::__synth3way_t<_T2, _U2>> - operator<=>(const pair<_T1, _T2>& __x, const pair<_U1, _U2>& __y) - { - if (auto __c = __detail::__synth3way(__x.first, __y.first); __c != 0) - return __c; - return __detail::__synth3way(__x.second, __y.second); - } -# 1080 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - template - constexpr 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); } -# 1103 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - template - typename enable_if, - __is_swappable<_T2>>::value>::type - swap(pair<_T1, _T2>&, pair<_T1, _T2>&) = delete; -# 1129 "/usr/include/c++/14.1.1/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)); - } -# 1152 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - template - struct __is_tuple_like_impl> : true_type - { }; - - - - template - struct tuple_size> - : public integral_constant { }; - - - template - struct tuple_element<0, pair<_Tp1, _Tp2>> - { typedef _Tp1 type; }; - - - template - struct tuple_element<1, pair<_Tp1, _Tp2>> - { typedef _Tp2 type; }; - - - - template - struct tuple_element<__i, tuple<_Types...>>; - - - template - inline constexpr size_t tuple_size_v> = 2; - - template - inline constexpr size_t tuple_size_v> = 2; - - template - inline constexpr bool __is_pair = false; - - template - inline constexpr bool __is_pair> = true; - - - - template - struct __pair_get; - - template<> - struct __pair_get<0> - { - template - static constexpr _Tp1& - __get(pair<_Tp1, _Tp2>& __pair) noexcept - { return __pair.first; } - - template - static constexpr _Tp1&& - __move_get(pair<_Tp1, _Tp2>&& __pair) noexcept - { return std::forward<_Tp1>(__pair.first); } - - template - static constexpr const _Tp1& - __const_get(const pair<_Tp1, _Tp2>& __pair) noexcept - { return __pair.first; } - - template - static constexpr const _Tp1&& - __const_move_get(const pair<_Tp1, _Tp2>&& __pair) noexcept - { return std::forward(__pair.first); } - }; - - template<> - struct __pair_get<1> - { - template - static constexpr _Tp2& - __get(pair<_Tp1, _Tp2>& __pair) noexcept - { return __pair.second; } - - template - static constexpr _Tp2&& - __move_get(pair<_Tp1, _Tp2>&& __pair) noexcept - { return std::forward<_Tp2>(__pair.second); } - - template - static constexpr const _Tp2& - __const_get(const pair<_Tp1, _Tp2>& __pair) noexcept - { return __pair.second; } - - template - static constexpr const _Tp2&& - __const_move_get(const pair<_Tp1, _Tp2>&& __pair) noexcept - { return std::forward(__pair.second); } - }; - - - - - - - template - constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type& - get(pair<_Tp1, _Tp2>& __in) noexcept - { return __pair_get<_Int>::__get(__in); } - - template - constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&& - get(pair<_Tp1, _Tp2>&& __in) noexcept - { return __pair_get<_Int>::__move_get(std::move(__in)); } - - template - constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type& - get(const pair<_Tp1, _Tp2>& __in) noexcept - { return __pair_get<_Int>::__const_get(__in); } - - template - constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&& - get(const pair<_Tp1, _Tp2>&& __in) noexcept - { return __pair_get<_Int>::__const_move_get(std::move(__in)); } - - - - template - constexpr _Tp& - get(pair<_Tp, _Up>& __p) noexcept - { return __p.first; } - - template - constexpr const _Tp& - get(const pair<_Tp, _Up>& __p) noexcept - { return __p.first; } - - template - constexpr _Tp&& - get(pair<_Tp, _Up>&& __p) noexcept - { return std::move(__p.first); } - - template - constexpr const _Tp&& - get(const pair<_Tp, _Up>&& __p) noexcept - { return std::move(__p.first); } - - template - constexpr _Tp& - get(pair<_Up, _Tp>& __p) noexcept - { return __p.second; } - - template - constexpr const _Tp& - get(const pair<_Up, _Tp>& __p) noexcept - { return __p.second; } - - template - constexpr _Tp&& - get(pair<_Up, _Tp>&& __p) noexcept - { return std::move(__p.second); } - - template - constexpr const _Tp&& - get(const pair<_Up, _Tp>&& __p) noexcept - { return std::move(__p.second); } -# 1332 "/usr/include/c++/14.1.1/bits/stl_pair.h" 3 - -} -# 65 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 2 3 - - - - -# 1 "/usr/include/c++/14.1.1/debug/debug.h" 1 3 -# 48 "/usr/include/c++/14.1.1/debug/debug.h" 3 -namespace std -{ - namespace __debug { } -} - - - - -namespace __gnu_debug -{ - using namespace std::__debug; - - template - struct _Safe_iterator; -} -# 70 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 2 3 - -# 1 "/usr/include/c++/14.1.1/bits/predefined_ops.h" 1 3 -# 35 "/usr/include/c++/14.1.1/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; - - - - - constexpr - explicit - _Iter_less_val(_Iter_less_iter) { } - - template - constexpr - bool - operator()(_Iterator __it, _Value& __val) const - { return *__it < __val; } - }; - - constexpr - inline _Iter_less_val - __iter_less_val() - { return _Iter_less_val(); } - - constexpr - inline _Iter_less_val - __iter_comp_val(_Iter_less_iter) - { return _Iter_less_val(); } - - struct _Val_less_iter - { - - constexpr _Val_less_iter() = default; - - - - - constexpr - explicit - _Val_less_iter(_Iter_less_iter) { } - - template - constexpr - bool - operator()(_Value& __val, _Iterator __it) const - { return __val < *__it; } - }; - - constexpr - inline _Val_less_iter - __val_less_iter() - { return _Val_less_iter(); } - - constexpr - inline _Val_less_iter - __val_comp_iter(_Iter_less_iter) - { return _Val_less_iter(); } - - struct _Iter_equal_to_iter - { - template - constexpr - bool - operator()(_Iterator1 __it1, _Iterator2 __it2) const - { return *__it1 == *__it2; } - }; - - constexpr - inline _Iter_equal_to_iter - __iter_equal_to_iter() - { return _Iter_equal_to_iter(); } - - struct _Iter_equal_to_val - { - template - constexpr - bool - operator()(_Iterator __it, _Value& __val) const - { return *__it == __val; } - }; - - constexpr - inline _Iter_equal_to_val - __iter_equal_to_val() - { return _Iter_equal_to_val(); } - - constexpr - 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; - - constexpr - explicit - _Iter_comp_val(_Compare __comp) - : _M_comp(std::move(__comp)) - { } - - constexpr - explicit - _Iter_comp_val(const _Iter_comp_iter<_Compare>& __comp) - : _M_comp(__comp._M_comp) - { } - - - constexpr - explicit - _Iter_comp_val(_Iter_comp_iter<_Compare>&& __comp) - : _M_comp(std::move(__comp._M_comp)) - { } - - - template - constexpr - bool - operator()(_Iterator __it, _Value& __val) - { return bool(_M_comp(*__it, __val)); } - }; - - template - constexpr - inline _Iter_comp_val<_Compare> - __iter_comp_val(_Compare __comp) - { return _Iter_comp_val<_Compare>(std::move(__comp)); } - - template - constexpr - 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; - - constexpr - explicit - _Val_comp_iter(_Compare __comp) - : _M_comp(std::move(__comp)) - { } - - constexpr - explicit - _Val_comp_iter(const _Iter_comp_iter<_Compare>& __comp) - : _M_comp(__comp._M_comp) - { } - - - constexpr - explicit - _Val_comp_iter(_Iter_comp_iter<_Compare>&& __comp) - : _M_comp(std::move(__comp._M_comp)) - { } - - - template - constexpr - bool - operator()(_Value& __val, _Iterator __it) - { return bool(_M_comp(__val, *__it)); } - }; - - template - constexpr - inline _Val_comp_iter<_Compare> - __val_comp_iter(_Compare __comp) - { return _Val_comp_iter<_Compare>(std::move(__comp)); } - - template - constexpr - 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; - - constexpr - explicit - _Iter_equals_val(_Value& __value) - : _M_value(__value) - { } - - template - constexpr - bool - operator()(_Iterator __it) - { return *__it == _M_value; } - }; - - template - constexpr - inline _Iter_equals_val<_Value> - __iter_equals_val(_Value& __val) - { return _Iter_equals_val<_Value>(__val); } - - template - struct _Iter_equals_iter - { - _Iterator1 _M_it1; - - constexpr - explicit - _Iter_equals_iter(_Iterator1 __it1) - : _M_it1(__it1) - { } - - template - constexpr - bool - operator()(_Iterator2 __it2) - { return *__it2 == *_M_it1; } - }; - - template - constexpr - 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; - - constexpr - explicit - _Iter_pred(_Predicate __pred) - : _M_pred(std::move(__pred)) - { } - - template - constexpr - bool - operator()(_Iterator __it) - { return bool(_M_pred(*__it)); } - }; - - template - constexpr - 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; - - constexpr - _Iter_comp_to_val(_Compare __comp, _Value& __value) - : _M_comp(std::move(__comp)), _M_value(__value) - { } - - template - constexpr - bool - operator()(_Iterator __it) - { return bool(_M_comp(*__it, _M_value)); } - }; - - template - _Iter_comp_to_val<_Compare, _Value> - constexpr - __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; - - constexpr - _Iter_comp_to_iter(_Compare __comp, _Iterator1 __it1) - : _M_comp(std::move(__comp)), _M_it1(__it1) - { } - - template - constexpr - bool - operator()(_Iterator2 __it2) - { return bool(_M_comp(*__it2, *_M_it1)); } - }; - - template - constexpr - 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; - - constexpr - explicit - _Iter_negate(_Predicate __pred) - : _M_pred(std::move(__pred)) - { } - - template - constexpr - bool - operator()(_Iterator __it) - { return !bool(_M_pred(*__it)); } - }; - - template - constexpr - inline _Iter_negate<_Predicate> - __negate(_Iter_pred<_Predicate> __pred) - { return _Iter_negate<_Predicate>(std::move(__pred._M_pred)); } - -} -} -# 72 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 2 3 - - - - -# 1 "/usr/include/c++/14.1.1/bit" 1 3 -# 32 "/usr/include/c++/14.1.1/bit" 3 - -# 33 "/usr/include/c++/14.1.1/bit" 3 -# 61 "/usr/include/c++/14.1.1/bit" 3 -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 62 "/usr/include/c++/14.1.1/bit" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 85 "/usr/include/c++/14.1.1/bit" 3 - template - [[nodiscard]] - constexpr _To - bit_cast(const _From& __from) noexcept - - requires (sizeof(_To) == sizeof(_From)) - && is_trivially_copyable_v<_To> && is_trivially_copyable_v<_From> - - { - return __builtin_bit_cast(_To, __from); - } -# 155 "/usr/include/c++/14.1.1/bit" 3 - template - constexpr _Tp - __rotl(_Tp __x, int __s) noexcept - { - constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits; - if constexpr ((_Nd & (_Nd - 1)) == 0) - { - - - constexpr unsigned __uNd = _Nd; - const unsigned __r = __s; - return (__x << (__r % __uNd)) | (__x >> ((-__r) % __uNd)); - } - const int __r = __s % _Nd; - if (__r == 0) - return __x; - else if (__r > 0) - return (__x << __r) | (__x >> ((_Nd - __r) % _Nd)); - else - return (__x >> -__r) | (__x << ((_Nd + __r) % _Nd)); - } - - template - constexpr _Tp - __rotr(_Tp __x, int __s) noexcept - { - constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits; - if constexpr ((_Nd & (_Nd - 1)) == 0) - { - - - constexpr unsigned __uNd = _Nd; - const unsigned __r = __s; - return (__x >> (__r % __uNd)) | (__x << ((-__r) % __uNd)); - } - const int __r = __s % _Nd; - if (__r == 0) - return __x; - else if (__r > 0) - return (__x >> __r) | (__x << ((_Nd - __r) % _Nd)); - else - return (__x << -__r) | (__x >> ((_Nd + __r) % _Nd)); - } - - template - constexpr int - __countl_zero(_Tp __x) noexcept - { - using __gnu_cxx::__int_traits; - constexpr auto _Nd = __int_traits<_Tp>::__digits; - - if (__x == 0) - return _Nd; - - constexpr auto _Nd_ull = __int_traits::__digits; - constexpr auto _Nd_ul = __int_traits::__digits; - constexpr auto _Nd_u = __int_traits::__digits; - - if constexpr (_Nd <= _Nd_u) - { - constexpr int __diff = _Nd_u - _Nd; - return __builtin_clz(__x) - __diff; - } - else if constexpr (_Nd <= _Nd_ul) - { - constexpr int __diff = _Nd_ul - _Nd; - return __builtin_clzl(__x) - __diff; - } - else if constexpr (_Nd <= _Nd_ull) - { - constexpr int __diff = _Nd_ull - _Nd; - return __builtin_clzll(__x) - __diff; - } - else - { - static_assert(_Nd <= (2 * _Nd_ull), - "Maximum supported integer size is 128-bit"); - - unsigned long long __high = __x >> _Nd_ull; - if (__high != 0) - { - constexpr int __diff = (2 * _Nd_ull) - _Nd; - return __builtin_clzll(__high) - __diff; - } - constexpr auto __max_ull = __int_traits::__max; - unsigned long long __low = __x & __max_ull; - return (_Nd - _Nd_ull) + __builtin_clzll(__low); - } - } - - template - constexpr int - __countl_one(_Tp __x) noexcept - { - return std::__countl_zero<_Tp>((_Tp)~__x); - } - - template - constexpr int - __countr_zero(_Tp __x) noexcept - { - using __gnu_cxx::__int_traits; - constexpr auto _Nd = __int_traits<_Tp>::__digits; - - if (__x == 0) - return _Nd; - - constexpr auto _Nd_ull = __int_traits::__digits; - constexpr auto _Nd_ul = __int_traits::__digits; - constexpr auto _Nd_u = __int_traits::__digits; - - if constexpr (_Nd <= _Nd_u) - return __builtin_ctz(__x); - else if constexpr (_Nd <= _Nd_ul) - return __builtin_ctzl(__x); - else if constexpr (_Nd <= _Nd_ull) - return __builtin_ctzll(__x); - else - { - static_assert(_Nd <= (2 * _Nd_ull), - "Maximum supported integer size is 128-bit"); - - constexpr auto __max_ull = __int_traits::__max; - unsigned long long __low = __x & __max_ull; - if (__low != 0) - return __builtin_ctzll(__low); - unsigned long long __high = __x >> _Nd_ull; - return __builtin_ctzll(__high) + _Nd_ull; - } - } - - template - constexpr int - __countr_one(_Tp __x) noexcept - { - return std::__countr_zero((_Tp)~__x); - } - - template - constexpr int - __popcount(_Tp __x) noexcept - { - using __gnu_cxx::__int_traits; - constexpr auto _Nd = __int_traits<_Tp>::__digits; - - constexpr auto _Nd_ull = __int_traits::__digits; - constexpr auto _Nd_ul = __int_traits::__digits; - constexpr auto _Nd_u = __int_traits::__digits; - - if constexpr (_Nd <= _Nd_u) - return __builtin_popcount(__x); - else if constexpr (_Nd <= _Nd_ul) - return __builtin_popcountl(__x); - else if constexpr (_Nd <= _Nd_ull) - return __builtin_popcountll(__x); - else - { - static_assert(_Nd <= (2 * _Nd_ull), - "Maximum supported integer size is 128-bit"); - - constexpr auto __max_ull = __int_traits::__max; - unsigned long long __low = __x & __max_ull; - unsigned long long __high = __x >> _Nd_ull; - return __builtin_popcountll(__low) + __builtin_popcountll(__high); - } - } - - template - constexpr bool - __has_single_bit(_Tp __x) noexcept - { return std::__popcount(__x) == 1; } - - template - constexpr _Tp - __bit_ceil(_Tp __x) noexcept - { - using __gnu_cxx::__int_traits; - constexpr auto _Nd = __int_traits<_Tp>::__digits; - if (__x == 0 || __x == 1) - return 1; - auto __shift_exponent = _Nd - std::__countl_zero((_Tp)(__x - 1u)); - - - - - if (!std::__is_constant_evaluated()) - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__shift_exponent != __int_traits<_Tp>::__digits), false)) std::__glibcxx_assert_fail(); } while (false); - } - - using __promoted_type = decltype(__x << 1); - if constexpr (!is_same<__promoted_type, _Tp>::value) - { - - - - - - const int __extra_exp = sizeof(__promoted_type) / sizeof(_Tp) / 2; - __shift_exponent |= (__shift_exponent & _Nd) << __extra_exp; - } - return (_Tp)1u << __shift_exponent; - } - - template - constexpr _Tp - __bit_floor(_Tp __x) noexcept - { - constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits; - if (__x == 0) - return 0; - return (_Tp)1u << (_Nd - std::__countl_zero((_Tp)(__x >> 1))); - } - - template - constexpr int - __bit_width(_Tp __x) noexcept - { - constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits; - return _Nd - std::__countl_zero(__x); - } - - - - - - - template - concept __unsigned_integer = __is_unsigned_integer<_Tp>::value; - - - - - - template<__unsigned_integer _Tp> - [[nodiscard]] constexpr _Tp - rotl(_Tp __x, int __s) noexcept - { return std::__rotl(__x, __s); } - - - template<__unsigned_integer _Tp> - [[nodiscard]] constexpr _Tp - rotr(_Tp __x, int __s) noexcept - { return std::__rotr(__x, __s); } - - - - - template<__unsigned_integer _Tp> - constexpr int - countl_zero(_Tp __x) noexcept - { return std::__countl_zero(__x); } - - - template<__unsigned_integer _Tp> - constexpr int - countl_one(_Tp __x) noexcept - { return std::__countl_one(__x); } - - - template<__unsigned_integer _Tp> - constexpr int - countr_zero(_Tp __x) noexcept - { return std::__countr_zero(__x); } - - - template<__unsigned_integer _Tp> - constexpr int - countr_one(_Tp __x) noexcept - { return std::__countr_one(__x); } - - - template<__unsigned_integer _Tp> - constexpr int - popcount(_Tp __x) noexcept - { return std::__popcount(__x); } - - - - - - - template<__unsigned_integer _Tp> - constexpr bool - has_single_bit(_Tp __x) noexcept - { return std::__has_single_bit(__x); } - - - template<__unsigned_integer _Tp> - constexpr _Tp - bit_ceil(_Tp __x) noexcept - { return std::__bit_ceil(__x); } - - - template<__unsigned_integer _Tp> - constexpr _Tp - bit_floor(_Tp __x) noexcept - { return std::__bit_floor(__x); } - - - - - template<__unsigned_integer _Tp> - constexpr int - bit_width(_Tp __x) noexcept - { return std::__bit_width(__x); } -# 472 "/usr/include/c++/14.1.1/bit" 3 - enum class endian - { - little = 1234, - big = 4321, - native = 1234 - }; - - - - - -} -# 77 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 2 3 - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - 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"); - - - if (std::is_constant_evaluated()) - { - for(; __num > 0; ++__first1, ++__first2, --__num) - if (*__first1 != *__first2) - return *__first1 < *__first2 ? -1 : 1; - return 0; - } - else - - return __builtin_memcmp(__first1, __first2, sizeof(_Tp) * __num); - } -# 152 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - inline void - iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) - { - - - - -# 185 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - swap(*__a, *__b); - - } -# 201 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - _ForwardIterator2 - swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1, - _ForwardIterator2 __first2) - { - - - - - - ; - - for (; __first1 != __last1; ++__first1, (void)++__first2) - std::iter_swap(__first1, __first2); - return __first2; - } -# 230 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline const _Tp& - min(const _Tp& __a, const _Tp& __b) - { - - - - if (__b < __a) - return __b; - return __a; - } -# 254 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline const _Tp& - max(const _Tp& __a, const _Tp& __b) - { - - - - if (__a < __b) - return __b; - return __a; - } -# 278 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline const _Tp& - min(const _Tp& __a, const _Tp& __b, _Compare __comp) - { - - if (__comp(__b, __a)) - return __b; - return __a; - } -# 300 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline const _Tp& - max(const _Tp& __a, const _Tp& __b, _Compare __comp) - { - - if (__comp(__a, __b)) - return __b; - return __a; - } - - - - template - constexpr - inline _Iterator - __niter_base(_Iterator __it) - noexcept(std::is_nothrow_copy_constructible<_Iterator>::value) - { return __it; } -# 332 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - decltype(std::__niter_base(std::declval<_Ite>())) - __niter_base(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, - std::random_access_iterator_tag>&) - noexcept(std::is_nothrow_copy_constructible<_Ite>::value); - - - - - - template - constexpr - inline _From - __niter_wrap(_From __from, _To __res) - { return __from + (std::__niter_base(__res) - std::__niter_base(__from)); } - - - template - constexpr - inline _Iterator - __niter_wrap(const _Iterator&, _Iterator __res) - { return __res; } - - - - - - - - template - struct __copy_move - { - template - constexpr - 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 - constexpr - 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 - constexpr - 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 - static void - __assign_one(_Tp* __to, _Up* __from) - { *__to = *__from; } - }; - - - template<> - struct __copy_move - { - template - constexpr - 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 - static void - __assign_one(_Tp* __to, _Up* __from) - { *__to = std::move(*__from); } - }; - - - template - struct __copy_move<_IsMove, true, random_access_iterator_tag> - { - template - constexpr - static _Up* - __copy_m(_Tp* __first, _Tp* __last, _Up* __result) - { - const ptrdiff_t _Num = __last - __first; - if (__builtin_expect(_Num > 1, true)) - __builtin_memmove(__result, __first, sizeof(_Tp) * _Num); - else if (_Num == 1) - std::__copy_move<_IsMove, false, random_access_iterator_tag>:: - __assign_one(__result, __first); - 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 - constexpr - inline _OI - __copy_move_a2(_II __first, _II __last, _OI __result) - { - typedef typename iterator_traits<_II>::iterator_category _Category; - - if (std::is_constant_evaluated()) - return std::__copy_move<_IsMove, false, _Category>:: - __copy_m(__first, __last, __result); - - 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 - constexpr - inline _OI - __copy_move_a1(_II __first, _II __last, _OI __result) - { return std::__copy_move_a2<_IsMove>(__first, __last, __result); } - - template - constexpr - 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 - constexpr - _OI - __copy_move_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, - const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, - _OI); - - template - constexpr - __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat> - __copy_move_a(_II, _II, - const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&); - - template - constexpr - ::__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 - constexpr - _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); -# 639 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - 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); - } -# 672 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - 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 - constexpr - static _BI2 - __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) - { - while (__first != __last) - *--__result = *--__last; - return __result; - } - }; - - - template - struct __copy_move_backward - { - template - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - static _Up* - __copy_move_b(_Tp* __first, _Tp* __last, _Up* __result) - { - const ptrdiff_t _Num = __last - __first; - if (__builtin_expect(_Num > 1, true)) - __builtin_memmove(__result - _Num, __first, sizeof(_Tp) * _Num); - else if (_Num == 1) - std::__copy_move<_IsMove, false, random_access_iterator_tag>:: - __assign_one(__result - 1, __first); - return __result - _Num; - } - }; - - template - constexpr - inline _BI2 - __copy_move_backward_a2(_BI1 __first, _BI1 __last, _BI2 __result) - { - typedef typename iterator_traits<_BI1>::iterator_category _Category; - - if (std::is_constant_evaluated()) - return std::__copy_move_backward<_IsMove, false, _Category>:: - __copy_move_b(__first, __last, __result); - - return std::__copy_move_backward<_IsMove, - __memcpyable<_BI2, _BI1>::__value, - _Category>::__copy_move_b(__first, - __last, - __result); - } - - template - constexpr - 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 - constexpr - 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 - constexpr - _OI - __copy_move_backward_a( - const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, - const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, - _OI); - - template - constexpr - __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat> - __copy_move_backward_a(_II, _II, - const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&); - - template - constexpr - ::__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>&); -# 875 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - 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); - } -# 910 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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; - - if (std::is_constant_evaluated()) - { - for (; __first != __last; ++__first) - *__first = __tmp; - return; - } - - if (const size_t __len = __last - __first) - __builtin_memset(__first, static_cast(__tmp), __len); - } - - template - constexpr - 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&); - - constexpr - void - __fill_a1(std::_Bit_iterator, std::_Bit_iterator, - const bool&); - - template - constexpr - inline void - __fill_a(_FIte __first, _FIte __last, const _Tp& __value) - { std::__fill_a1(__first, __last, __value); } - - template - constexpr - void - __fill_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, - const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, - const _Tp&); -# 1019 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - 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; } - - - __extension__ inline constexpr __int128 - __size_to_integer(__int128 __n) { return __n; } - __extension__ inline constexpr unsigned __int128 - __size_to_integer(unsigned __int128 __n) { return __n; } -# 1071 "/usr/include/c++/14.1.1/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; } - - __extension__ inline constexpr long long - __size_to_integer(__float128 __n) { return (long long)__n; } - - - template - constexpr - 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 - constexpr - 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 - constexpr - ::__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 - constexpr - 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 - constexpr - 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 - constexpr - 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; - } -# 1172 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - bool - __equal_aux(const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&, - const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&, - _II2); - - template - constexpr - bool - __equal_aux(_II1, _II1, - const ::__gnu_debug::_Safe_iterator<_II2, _Seq2, _Cat2>&); - - template - constexpr - 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 - constexpr - static _II1 - __newlast1(_II1, _II1 __last1, _II2, _II2) - { return __last1; } - - template - constexpr - static bool - __cnd2(_II __first, _II __last) - { return __first != __last; } - }; - - template<> - struct __lc_rai - { - template - constexpr - 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 constexpr bool - __cnd2(_RAI, _RAI) - { return true; } - }; - - template - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - static bool - __lc(const _Tp* __first1, const _Tp* __last1, - const _Up* __first2, const _Up* __last2) - { return __3way(__first1, __last1, __first2, __last2) < 0; } - - template - constexpr - 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 - constexpr - 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 - - - - - && !is_volatile_v>> - && !is_volatile_v>> - - ); - - 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 - constexpr - 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 - constexpr - bool - __lexicographical_compare_aux( - const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&, - const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&, - _II2, _II2); - - template - constexpr - bool - __lexicographical_compare_aux( - _II1, _II1, - const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&, - const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&); - - template - constexpr - 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 - constexpr - _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; - } -# 1524 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline _ForwardIterator - lower_bound(_ForwardIterator __first, _ForwardIterator __last, - const _Tp& __val) - { - - - - - ; - - return std::__lower_bound(__first, __last, __val, - __gnu_cxx::__ops::__iter_less_val()); - } - - - - template - inline constexpr _Tp - __lg(_Tp __n) - { - - return std::__bit_width(make_unsigned_t<_Tp>(__n)) - 1; -# 1557 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - } - - -# 1573 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline bool - equal(_II1 __first1, _II1 __last1, _II2 __first2) - { - - - - - - - ; - - return std::__equal_aux(__first1, __last1, __first2); - } -# 1604 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - 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 - constexpr - 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 - constexpr - 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; - } -# 1691 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline bool - equal(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) - { - - - - - - - ; - ; - - return std::__equal4(__first1, __last1, __first2, __last2); - } -# 1724 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline bool - equal(_IIter1 __first1, _IIter1 __last1, - _IIter2 __first2, _IIter2 __last2, _BinaryPredicate __binary_pred) - { - - - - ; - ; - - return std::__equal4(__first1, __last1, __first2, __last2, - __binary_pred); - } -# 1756 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline bool - lexicographical_compare(_II1 __first1, _II1 __last1, - _II2 __first2, _II2 __last2) - { - - - - - - - - - - ; - ; - - return std::__lexicographical_compare_aux(__first1, __last1, - __first2, __last2); - } -# 1791 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - 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)); - } - - - - - - template - concept __memcmp_ordered_with - = (__is_memcmp_ordered_with, - iter_value_t<_Iter2>>::__value) - && contiguous_iterator<_Iter1> && contiguous_iterator<_Iter2>; - - - - template - constexpr auto - __min_cmp(_Tp __x, _Tp __y) - { - struct _Res { - _Tp _M_min; - decltype(__x <=> __y) _M_cmp; - }; - auto __c = __x <=> __y; - if (__c > 0) - return _Res{__y, __c}; - return _Res{__x, __c}; - } -# 1845 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[nodiscard]] constexpr auto - lexicographical_compare_three_way(_InputIter1 __first1, - _InputIter1 __last1, - _InputIter2 __first2, - _InputIter2 __last2, - _Comp __comp) - -> decltype(__comp(*__first1, *__first2)) - { - - - - ; - ; - - using _Cat = decltype(__comp(*__first1, *__first2)); - static_assert(same_as, _Cat>); - - if (!std::__is_constant_evaluated()) - if constexpr (same_as<_Comp, __detail::_Synth3way> - || same_as<_Comp, compare_three_way>) - if constexpr (__memcmp_ordered_with<_InputIter1, _InputIter2>) - { - const auto [__len, __lencmp] = std:: - __min_cmp(__last1 - __first1, __last2 - __first2); - if (__len) - { - const auto __blen = __len * sizeof(*__first1); - const auto __c - = __builtin_memcmp(&*__first1, &*__first2, __blen) <=> 0; - if (__c != 0) - return __c; - } - return __lencmp; - } - - while (__first1 != __last1) - { - if (__first2 == __last2) - return strong_ordering::greater; - if (auto __cmp = __comp(*__first1, *__first2); __cmp != 0) - return __cmp; - ++__first1; - ++__first2; - } - return (__first2 == __last2) <=> true; - } - - template - constexpr auto - lexicographical_compare_three_way(_InputIter1 __first1, - _InputIter1 __last1, - _InputIter2 __first2, - _InputIter2 __last2) - { - return std:: - lexicographical_compare_three_way(__first1, __last1, __first2, __last2, - compare_three_way{}); - } - - - template - constexpr - 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); - } -# 1934 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - inline pair<_InputIterator1, _InputIterator2> - mismatch(_InputIterator1 __first1, _InputIterator1 __last1, - _InputIterator2 __first2) - { - - - - - - - ; - - return std::__mismatch(__first1, __last1, __first2, - __gnu_cxx::__ops::__iter_equal_to_iter()); - } -# 1968 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - 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 - constexpr - 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); - } -# 2016 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - 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()); - } -# 2052 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - [[__nodiscard__]] constexpr - 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 - constexpr - inline _InputIterator - __find_if(_InputIterator __first, _InputIterator __last, - _Predicate __pred, input_iterator_tag) - { - while (__first != __last && !__pred(__first)) - ++__first; - return __first; - } - - - template - constexpr - _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 - constexpr - inline _Iterator - __find_if(_Iterator __first, _Iterator __last, _Predicate __pred) - { - return __find_if(__first, __last, __pred, - std::__iterator_category(__first)); - } - - template - constexpr - 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 - constexpr - _ForwardIterator - __remove_if(_ForwardIterator __first, _ForwardIterator __last, - _Predicate __pred) - { - __first = std::__find_if(__first, __last, __pred); - if (__first == __last) - return __first; - _ForwardIterator __result = __first; - ++__first; - for (; __first != __last; ++__first) - if (!__pred(__first)) - { - *__result = std::move(*__first); - ++__result; - } - return __result; - } - - template - constexpr - _ForwardIterator1 - __search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, - _ForwardIterator2 __first2, _ForwardIterator2 __last2, - _BinaryPredicate __predicate) - { - - if (__first1 == __last1 || __first2 == __last2) - return __first1; - - - _ForwardIterator2 __p1(__first2); - if (++__p1 == __last2) - return std::__find_if(__first1, __last1, - __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2)); - - - _ForwardIterator1 __current = __first1; - - for (;;) - { - __first1 = - std::__find_if(__first1, __last1, - __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2)); - - if (__first1 == __last1) - return __last1; - - _ForwardIterator2 __p = __p1; - __current = __first1; - if (++__current == __last1) - return __last1; - - while (__predicate(__current, __p)) - { - if (++__p == __last2) - return __first1; - if (++__current == __last1) - return __last1; - } - ++__first1; - } - return __first1; - } - - - template - constexpr - 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; - } -# 2276 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - inline bool - is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, - _ForwardIterator2 __first2) - { - - - - - - - ; - - return std::__is_permutation(__first1, __last1, __first2, - __gnu_cxx::__ops::__iter_equal_to_iter()); - } - - - -# 2318 "/usr/include/c++/14.1.1/bits/stl_algobase.h" 3 - template - constexpr - inline _ForwardIterator1 - search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, - _ForwardIterator2 __first2, _ForwardIterator2 __last2, - _BinaryPredicate __predicate) - { - - - - - - - ; - ; - - return std::__search(__first1, __last1, __first2, __last2, - __gnu_cxx::__ops::__iter_comp_iter(__predicate)); - } - - - -} -# 52 "/usr/include/c++/14.1.1/string" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/refwrap.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/refwrap.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/refwrap.h" 3 - - - - -# 1 "/usr/include/c++/14.1.1/bits/invoke.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/invoke.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/invoke.h" 3 -# 42 "/usr/include/c++/14.1.1/bits/invoke.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 53 "/usr/include/c++/14.1.1/bits/invoke.h" 3 - template::type> - constexpr _Up&& - __invfwd(typename remove_reference<_Tp>::type& __t) noexcept - { return static_cast<_Up&&>(__t); } - - template - constexpr _Res - __invoke_impl(__invoke_other, _Fn&& __f, _Args&&... __args) - { return std::forward<_Fn>(__f)(std::forward<_Args>(__args)...); } - - template - constexpr _Res - __invoke_impl(__invoke_memfun_ref, _MemFun&& __f, _Tp&& __t, - _Args&&... __args) - { return (__invfwd<_Tp>(__t).*__f)(std::forward<_Args>(__args)...); } - - template - constexpr _Res - __invoke_impl(__invoke_memfun_deref, _MemFun&& __f, _Tp&& __t, - _Args&&... __args) - { - return ((*std::forward<_Tp>(__t)).*__f)(std::forward<_Args>(__args)...); - } - - template - constexpr _Res - __invoke_impl(__invoke_memobj_ref, _MemPtr&& __f, _Tp&& __t) - { return __invfwd<_Tp>(__t).*__f; } - - template - constexpr _Res - __invoke_impl(__invoke_memobj_deref, _MemPtr&& __f, _Tp&& __t) - { return (*std::forward<_Tp>(__t)).*__f; } - - - template - constexpr typename __invoke_result<_Callable, _Args...>::type - __invoke(_Callable&& __fn, _Args&&... __args) - noexcept(__is_nothrow_invocable<_Callable, _Args...>::value) - { - using __result = __invoke_result<_Callable, _Args...>; - using __type = typename __result::type; - using __tag = typename __result::__invoke_type; - return std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn), - std::forward<_Args>(__args)...); - } - - - - template - constexpr enable_if_t, _Res> - __invoke_r(_Callable&& __fn, _Args&&... __args) - noexcept(is_nothrow_invocable_r_v<_Res, _Callable, _Args...>) - { - using __result = __invoke_result<_Callable, _Args...>; - using __type = typename __result::type; - using __tag = typename __result::__invoke_type; - if constexpr (is_void_v<_Res>) - std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn), - std::forward<_Args>(__args)...); - else - return std::__invoke_impl<__type>(__tag{}, - std::forward<_Callable>(__fn), - std::forward<_Args>(__args)...); - } -# 155 "/usr/include/c++/14.1.1/bits/invoke.h" 3 - -} -# 39 "/usr/include/c++/14.1.1/bits/refwrap.h" 2 3 - - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 56 "/usr/include/c++/14.1.1/bits/refwrap.h" 3 - template - struct _Maybe_unary_or_binary_function { }; - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - - - template - struct _Maybe_unary_or_binary_function<_Res, _T1> - : std::unary_function<_T1, _Res> { }; - - - template - struct _Maybe_unary_or_binary_function<_Res, _T1, _T2> - : std::binary_function<_T1, _T2, _Res> { }; - -#pragma GCC diagnostic pop - - template - struct _Mem_fn_traits; - - template - struct _Mem_fn_traits_base - { - using __result_type = _Res; - using __maybe_type - = _Maybe_unary_or_binary_function<_Res, _Class*, _ArgTypes...>; - using __arity = integral_constant; - }; -# 107 "/usr/include/c++/14.1.1/bits/refwrap.h" 3 -template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; -template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; -template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; - - -template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; -template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) & noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) & noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const & noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const & noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile & noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile & noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile & noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile & noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; -template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) && noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) && noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const && noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const && noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile && noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile && noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile && noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile && noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; - - - - - - - template> - struct _Maybe_get_result_type - { }; - - template - struct _Maybe_get_result_type<_Functor, - __void_t> - { typedef typename _Functor::result_type result_type; }; - - - - - - template - struct _Weak_result_type_impl - : _Maybe_get_result_type<_Functor> - { }; - - - template - struct _Weak_result_type_impl<_Res(_ArgTypes...) noexcept (_NE)> - { typedef _Res result_type; }; - - - template - struct _Weak_result_type_impl<_Res(_ArgTypes......) noexcept (_NE)> - { typedef _Res result_type; }; - - - template - struct _Weak_result_type_impl<_Res(*)(_ArgTypes...) noexcept (_NE)> - { typedef _Res result_type; }; - - - template - struct - _Weak_result_type_impl<_Res(*)(_ArgTypes......) noexcept (_NE)> - { typedef _Res result_type; }; - - - template::value> - struct _Weak_result_type_memfun - : _Weak_result_type_impl<_Functor> - { }; - - - template - struct _Weak_result_type_memfun<_MemFunPtr, true> - { - using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type; - }; - - - template - struct _Weak_result_type_memfun<_Func _Class::*, false> - { }; - - - - - - template - struct _Weak_result_type - : _Weak_result_type_memfun::type> - { }; -# 306 "/usr/include/c++/14.1.1/bits/refwrap.h" 3 - template - class reference_wrapper - - - - - - { - _Tp* _M_data; - - constexpr - static _Tp* _S_fun(_Tp& __r) noexcept { return std::__addressof(__r); } - - static void _S_fun(_Tp&&) = delete; - - template> - using __not_same - = typename enable_if::value>::type; - - public: - typedef _Tp type; - - - - - template, typename - = decltype(reference_wrapper::_S_fun(std::declval<_Up>()))> - constexpr - reference_wrapper(_Up&& __uref) - noexcept(noexcept(reference_wrapper::_S_fun(std::declval<_Up>()))) - : _M_data(reference_wrapper::_S_fun(std::forward<_Up>(__uref))) - { } - - reference_wrapper(const reference_wrapper&) = default; - - reference_wrapper& - operator=(const reference_wrapper&) = default; - - constexpr - operator _Tp&() const noexcept - { return this->get(); } - - constexpr - _Tp& - get() const noexcept - { return *_M_data; } - - template - constexpr - typename __invoke_result<_Tp&, _Args...>::type - operator()(_Args&&... __args) const - noexcept(__is_nothrow_invocable<_Tp&, _Args...>::value) - { - - if constexpr (is_object_v) - static_assert(sizeof(type), "type must be complete"); - - return std::__invoke(get(), std::forward<_Args>(__args)...); - } -# 412 "/usr/include/c++/14.1.1/bits/refwrap.h" 3 - }; - - - template - reference_wrapper(_Tp&) -> reference_wrapper<_Tp>; - - - - - - template - constexpr - inline reference_wrapper<_Tp> - ref(_Tp& __t) noexcept - { return reference_wrapper<_Tp>(__t); } - - - template - constexpr - inline reference_wrapper - cref(const _Tp& __t) noexcept - { return reference_wrapper(__t); } - - template - void ref(const _Tp&&) = delete; - - template - void cref(const _Tp&&) = delete; - - - template - constexpr - inline reference_wrapper<_Tp> - ref(reference_wrapper<_Tp> __t) noexcept - { return __t; } - - - template - constexpr - inline reference_wrapper - cref(reference_wrapper<_Tp> __t) noexcept - { return { __t.get() }; } - - - - -} -# 53 "/usr/include/c++/14.1.1/string" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/range_access.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/range_access.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/range_access.h" 3 - - -# 1 "/usr/include/c++/14.1.1/initializer_list" 1 3 -# 33 "/usr/include/c++/14.1.1/initializer_list" 3 - -# 34 "/usr/include/c++/14.1.1/initializer_list" 3 - - - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - 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(); } -} -# 37 "/usr/include/c++/14.1.1/bits/range_access.h" 2 3 - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - begin(_Container& __cont) -> decltype(__cont.begin()) - { return __cont.begin(); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - begin(const _Container& __cont) -> decltype(__cont.begin()) - { return __cont.begin(); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - end(_Container& __cont) -> decltype(__cont.end()) - { return __cont.end(); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - end(const _Container& __cont) -> decltype(__cont.end()) - { return __cont.end(); } - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr _Tp* - begin(_Tp (&__arr)[_Nm]) noexcept - { return __arr; } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - 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 - [[__nodiscard__, __gnu__::__always_inline__]] - constexpr auto - cbegin(const _Container& __cont) noexcept(noexcept(std::begin(__cont))) - -> decltype(std::begin(__cont)) - { return std::begin(__cont); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - constexpr auto - cend(const _Container& __cont) noexcept(noexcept(std::end(__cont))) - -> decltype(std::end(__cont)) - { return std::end(__cont); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - rbegin(_Container& __cont) -> decltype(__cont.rbegin()) - { return __cont.rbegin(); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - rbegin(const _Container& __cont) -> decltype(__cont.rbegin()) - { return __cont.rbegin(); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - rend(_Container& __cont) -> decltype(__cont.rend()) - { return __cont.rend(); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - rend(const _Container& __cont) -> decltype(__cont.rend()) - { return __cont.rend(); } - - - - - - - template - [[__nodiscard__]] - inline constexpr reverse_iterator<_Tp*> - rbegin(_Tp (&__arr)[_Nm]) noexcept - { return reverse_iterator<_Tp*>(__arr + _Nm); } - - - - - - - template - [[__nodiscard__]] - inline constexpr reverse_iterator<_Tp*> - rend(_Tp (&__arr)[_Nm]) noexcept - { return reverse_iterator<_Tp*>(__arr); } - - - - - - - template - [[__nodiscard__]] - inline constexpr reverse_iterator - rbegin(initializer_list<_Tp> __il) noexcept - { return reverse_iterator(__il.end()); } - - - - - - - template - [[__nodiscard__]] - inline constexpr reverse_iterator - rend(initializer_list<_Tp> __il) noexcept - { return reverse_iterator(__il.begin()); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - crbegin(const _Container& __cont) -> decltype(std::rbegin(__cont)) - { return std::rbegin(__cont); } - - - - - - - template - [[__nodiscard__, __gnu__::__always_inline__]] - inline constexpr auto - crend(const _Container& __cont) -> decltype(std::rend(__cont)) - { return std::rend(__cont); } -# 259 "/usr/include/c++/14.1.1/bits/range_access.h" 3 - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr auto - size(const _Container& __cont) noexcept(noexcept(__cont.size())) - -> decltype(__cont.size()) - { return __cont.size(); } - - - - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr size_t - size(const _Tp (&)[_Nm]) noexcept - { return _Nm; } - - - - - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr auto - empty(const _Container& __cont) noexcept(noexcept(__cont.empty())) - -> decltype(__cont.empty()) - { return __cont.empty(); } - - - - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr bool - empty(const _Tp (&)[_Nm]) noexcept - { return false; } - - - - - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr bool - empty(initializer_list<_Tp> __il) noexcept - { return __il.size() == 0;} - - - - - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr auto - data(_Container& __cont) noexcept(noexcept(__cont.data())) - -> decltype(__cont.data()) - { return __cont.data(); } - - - - - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr auto - data(const _Container& __cont) noexcept(noexcept(__cont.data())) - -> decltype(__cont.data()) - { return __cont.data(); } - - - - - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr _Tp* - data(_Tp (&__array)[_Nm]) noexcept - { return __array; } - - - - - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr const _Tp* - data(initializer_list<_Tp> __il) noexcept - { return __il.begin(); } - - - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr auto - ssize(const _Container& __cont) - noexcept(noexcept(__cont.size())) - -> common_type_t> - { - using type = make_signed_t; - return static_cast>(__cont.size()); - } - - template - [[nodiscard, __gnu__::__always_inline__]] - constexpr ptrdiff_t - ssize(const _Tp (&)[_Num]) noexcept - { return _Num; } - - -} -# 54 "/usr/include/c++/14.1.1/string" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/basic_string.h" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - -# 38 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - -# 1 "/usr/include/c++/14.1.1/ext/alloc_traits.h" 1 3 -# 32 "/usr/include/c++/14.1.1/ext/alloc_traits.h" 3 - -# 33 "/usr/include/c++/14.1.1/ext/alloc_traits.h" 3 - -# 1 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 1 3 -# 46 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - struct __allocator_traits_base - { - template - struct __rebind : __replace_first_arg<_Tp, _Up> - { - static_assert(is_same< - typename __replace_first_arg<_Tp, typename _Tp::value_type>::type, - _Tp>::value, - "allocator_traits::rebind_alloc must be A"); - }; - - template - struct __rebind<_Tp, _Up, - __void_t::other>> - { - using type = typename _Tp::template rebind<_Up>::other; - - static_assert(is_same< - typename _Tp::template rebind::other, - _Tp>::value, - "allocator_traits::rebind_alloc must be A"); - }; - - 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 = __type_identity; - }; - - template - using __alloc_rebind - = typename __allocator_traits_base::template __rebind<_Alloc, _Up>::type; -# 105 "/usr/include/c++/14.1.1/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 - = typename __detected_or_t, __equal, _Alloc>::type; - - 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) - { - - - - std::construct_at(__p, 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: -# 332 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - [[__nodiscard__]] static constexpr pointer - allocate(_Alloc& __a, size_type __n) - { return __a.allocate(__n); } -# 347 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - [[__nodiscard__]] static constexpr pointer - allocate(_Alloc& __a, size_type __n, const_void_pointer __hint) - { return _S_allocate(__a, __n, __hint, 0); } -# 359 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - static constexpr void - deallocate(_Alloc& __a, pointer __p, size_type __n) - { __a.deallocate(__p, __n); } -# 374 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - static constexpr 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)...); } -# 390 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - static constexpr void - destroy(_Alloc& __a, _Tp* __p) - noexcept(noexcept(_S_destroy(__a, __p, 0))) - { _S_destroy(__a, __p, 0); } -# 404 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - static constexpr size_type - max_size(const _Alloc& __a) noexcept - { return _S_max_size(__a, 0); } -# 416 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - static constexpr _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>; -# 475 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - [[__nodiscard__,__gnu__::__always_inline__]] - static constexpr pointer - allocate(allocator_type& __a, size_type __n) - { return __a.allocate(__n); } -# 490 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - [[__nodiscard__,__gnu__::__always_inline__]] - static constexpr pointer - allocate(allocator_type& __a, size_type __n, - [[maybe_unused]] const_void_pointer __hint) - { - - - - return __a.allocate(__n); - - } -# 510 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - [[__gnu__::__always_inline__]] - static constexpr void - deallocate(allocator_type& __a, pointer __p, size_type __n) - { __a.deallocate(__p, __n); } -# 526 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - [[__gnu__::__always_inline__]] - static constexpr void - construct(allocator_type& __a __attribute__((__unused__)), _Up* __p, - _Args&&... __args) - noexcept(std::is_nothrow_constructible<_Up, _Args...>::value) - { - - - - std::construct_at(__p, std::forward<_Args>(__args)...); - - } -# 547 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - [[__gnu__::__always_inline__]] - static constexpr void - destroy(allocator_type& __a __attribute__((__unused__)), _Up* __p) - noexcept(is_nothrow_destructible<_Up>::value) - { - - - - std::destroy_at(__p); - - } - - - - - - - [[__gnu__::__always_inline__]] - static constexpr size_type - max_size(const allocator_type& __a __attribute__((__unused__))) noexcept - { - - - - return size_t(-1) / sizeof(value_type); - - } - - - - - - - [[__gnu__::__always_inline__]] - static constexpr 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; -# 652 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - [[__gnu__::__always_inline__]] - static constexpr void - construct(allocator_type&, _Up* __p, _Args&&... __args) - noexcept(std::is_nothrow_constructible<_Up, _Args...>::value) - { std::_Construct(__p, std::forward<_Args>(__args)...); } -# 666 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - [[__gnu__::__always_inline__]] - static constexpr void - destroy(allocator_type&, _Up* __p) - noexcept(is_nothrow_destructible<_Up>::value) - { std::_Destroy(__p); } - - - static size_type - max_size(const allocator_type&) = delete; - - - - - - - [[__gnu__::__always_inline__]] - static constexpr allocator_type - select_on_container_copy_construction(const allocator_type& __rhs) - { return __rhs; } - }; -# 704 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - [[__gnu__::__always_inline__]] - constexpr inline void - __alloc_on_copy(_Alloc& __one, const _Alloc& __two) - { - using __traits = allocator_traits<_Alloc>; - using __pocca = - typename __traits::propagate_on_container_copy_assignment::type; - - if constexpr (__pocca::value) - __one = __two; - - - - } - - template - [[__gnu__::__always_inline__]] - constexpr _Alloc - __alloc_on_copy(const _Alloc& __a) - { - typedef allocator_traits<_Alloc> __traits; - return __traits::select_on_container_copy_construction(__a); - } -# 741 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - [[__gnu__::__always_inline__]] - constexpr inline void - __alloc_on_move(_Alloc& __one, _Alloc& __two) - { - using __traits = allocator_traits<_Alloc>; - using __pocma - = typename __traits::propagate_on_container_move_assignment::type; - - if constexpr (__pocma::value) - __one = std::move(__two); - - - - } -# 772 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - [[__gnu__::__always_inline__]] - constexpr inline void - __alloc_on_swap(_Alloc& __one, _Alloc& __two) - { - using __traits = allocator_traits<_Alloc>; - using __pocs = typename __traits::propagate_on_container_swap::type; - - 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; - - - template - concept __allocator_like = requires (_Alloc& __a) { - typename _Alloc::value_type; - __a.deallocate(__a.allocate(1u), 1u); - }; - - - - - - - - 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, - 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> - { - constexpr - 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; } - - - - } - }; -# 922 "/usr/include/c++/14.1.1/bits/alloc_traits.h" 3 - template - constexpr - void - _Destroy(_ForwardIterator __first, _ForwardIterator __last, - _Allocator& __alloc) - { - for (; __first != __last; ++__first) - - - - allocator_traits<_Allocator>::destroy(__alloc, - std::__addressof(*__first)); - - } - - - template - __attribute__((__always_inline__)) constexpr - inline void - _Destroy(_ForwardIterator __first, _ForwardIterator __last, - allocator<_Tp>&) - { - std::_Destroy(__first, __last); - } - - - - -} -# 35 "/usr/include/c++/14.1.1/ext/alloc_traits.h" 2 3 - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - - - - - - -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 - [[__gnu__::__always_inline__]] - 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 - [[__gnu__::__always_inline__]] - 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)); } - - [[__gnu__::__always_inline__]] - static constexpr _Alloc _S_select_on_copy(const _Alloc& __a) - { return _Base_type::select_on_container_copy_construction(__a); } - - [[__gnu__::__always_inline__]] - static constexpr void _S_on_swap(_Alloc& __a, _Alloc& __b) - { std::__alloc_on_swap(__a, __b); } - - [[__gnu__::__always_inline__]] - static constexpr bool _S_propagate_on_copy_assign() - { return _Base_type::propagate_on_container_copy_assignment::value; } - - [[__gnu__::__always_inline__]] - static constexpr bool _S_propagate_on_move_assign() - { return _Base_type::propagate_on_container_move_assignment::value; } - - [[__gnu__::__always_inline__]] - static constexpr bool _S_propagate_on_swap() - { return _Base_type::propagate_on_container_swap::value; } - - [[__gnu__::__always_inline__]] - static constexpr bool _S_always_equal() - { return _Base_type::is_always_equal::value; } - - __attribute__((__always_inline__)) - 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; }; -# 180 "/usr/include/c++/14.1.1/ext/alloc_traits.h" 3 - }; - - -} -# 40 "/usr/include/c++/14.1.1/bits/basic_string.h" 2 3 - - - - - - - -# 1 "/usr/include/c++/14.1.1/string_view" 1 3 -# 36 "/usr/include/c++/14.1.1/string_view" 3 - -# 37 "/usr/include/c++/14.1.1/string_view" 3 - - - - - - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 45 "/usr/include/c++/14.1.1/string_view" 2 3 - - - - - -# 1 "/usr/include/c++/14.1.1/bits/functional_hash.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/functional_hash.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/functional_hash.h" 3 - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 50 "/usr/include/c++/14.1.1/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/include/c++/14.1.1/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()(char8_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); } }; - - - __extension__ - template<> struct hash<__int128> : public __hash_base { size_t operator()(__int128 __val) const noexcept { return static_cast(__val); } }; - __extension__ - template<> struct hash<__int128 unsigned> : public __hash_base { size_t operator()(__int128 unsigned __val) const noexcept { return static_cast(__val); } }; -# 201 "/usr/include/c++/14.1.1/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; } - }; -# 294 "/usr/include/c++/14.1.1/bits/functional_hash.h" 3 - template - struct __is_fast_hash : public std::true_type - { }; - - template<> - struct __is_fast_hash> : public std::false_type - { }; - - -} -# 51 "/usr/include/c++/14.1.1/string_view" 2 3 - - - - - -# 1 "/usr/include/c++/14.1.1/bits/ranges_base.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - - - - - -# 1 "/usr/include/c++/14.1.1/bits/max_size_type.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/max_size_type.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/max_size_type.h" 3 - - - -# 1 "/usr/include/c++/14.1.1/numbers" 1 3 -# 32 "/usr/include/c++/14.1.1/numbers" 3 - -# 33 "/usr/include/c++/14.1.1/numbers" 3 - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 36 "/usr/include/c++/14.1.1/numbers" 2 3 - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - - -namespace numbers -{ - - - template - using _Enable_if_floating = enable_if_t, _Tp>; - - - - template - inline constexpr _Tp e_v - = _Enable_if_floating<_Tp>(2.718281828459045235360287471352662498L); - - - template - inline constexpr _Tp log2e_v - = _Enable_if_floating<_Tp>(1.442695040888963407359924681001892137L); - - - template - inline constexpr _Tp log10e_v - = _Enable_if_floating<_Tp>(0.434294481903251827651128918916605082L); - - - template - inline constexpr _Tp pi_v - = _Enable_if_floating<_Tp>(3.141592653589793238462643383279502884L); - - - template - inline constexpr _Tp inv_pi_v - = _Enable_if_floating<_Tp>(0.318309886183790671537767526745028724L); - - - template - inline constexpr _Tp inv_sqrtpi_v - = _Enable_if_floating<_Tp>(0.564189583547756286948079451560772586L); - - - template - inline constexpr _Tp ln2_v - = _Enable_if_floating<_Tp>(0.693147180559945309417232121458176568L); - - - template - inline constexpr _Tp ln10_v - = _Enable_if_floating<_Tp>(2.302585092994045684017991454684364208L); - - - template - inline constexpr _Tp sqrt2_v - = _Enable_if_floating<_Tp>(1.414213562373095048801688724209698079L); - - - template - inline constexpr _Tp sqrt3_v - = _Enable_if_floating<_Tp>(1.732050807568877293527446341505872367L); - - - template - inline constexpr _Tp inv_sqrt3_v - = _Enable_if_floating<_Tp>(0.577350269189625764509148780501957456L); - - - template - inline constexpr _Tp egamma_v - = _Enable_if_floating<_Tp>(0.577215664901532860606512090082402431L); - - - template - inline constexpr _Tp phi_v - = _Enable_if_floating<_Tp>(1.618033988749894848204586834365638118L); - - inline constexpr double e = e_v; - inline constexpr double log2e = log2e_v; - inline constexpr double log10e = log10e_v; - inline constexpr double pi = pi_v; - inline constexpr double inv_pi = inv_pi_v; - inline constexpr double inv_sqrtpi = inv_sqrtpi_v; - inline constexpr double ln2 = ln2_v; - inline constexpr double ln10 = ln10_v; - inline constexpr double sqrt2 = sqrt2_v; - inline constexpr double sqrt3 = sqrt3_v; - inline constexpr double inv_sqrt3 = inv_sqrt3_v; - inline constexpr double egamma = egamma_v; - inline constexpr double phi = phi_v; -# 225 "/usr/include/c++/14.1.1/numbers" 3 -template<> inline constexpr __float128 e_v<__float128> = 2.718281828459045235360287471352662498Q; template<> inline constexpr __float128 log2e_v<__float128> = 1.442695040888963407359924681001892137Q; template<> inline constexpr __float128 log10e_v<__float128> = 0.434294481903251827651128918916605082Q; template<> inline constexpr __float128 pi_v<__float128> = 3.141592653589793238462643383279502884Q; template<> inline constexpr __float128 inv_pi_v<__float128> = 0.318309886183790671537767526745028724Q; template<> inline constexpr __float128 inv_sqrtpi_v<__float128> = 0.564189583547756286948079451560772586Q; template<> inline constexpr __float128 ln2_v<__float128> = 0.693147180559945309417232121458176568Q; template<> inline constexpr __float128 ln10_v<__float128> = 2.302585092994045684017991454684364208Q; template<> inline constexpr __float128 sqrt2_v<__float128> = 1.414213562373095048801688724209698079Q; template<> inline constexpr __float128 sqrt3_v<__float128> = 1.732050807568877293527446341505872367Q; template<> inline constexpr __float128 inv_sqrt3_v<__float128> = 0.577350269189625764509148780501957456Q; template<> inline constexpr __float128 egamma_v<__float128> = 0.577215664901532860606512090082402431Q; template<> inline constexpr __float128 phi_v<__float128> = 1.618033988749894848204586834365638118Q; - - - - -} - - -} -# 38 "/usr/include/c++/14.1.1/bits/max_size_type.h" 2 3 -# 48 "/usr/include/c++/14.1.1/bits/max_size_type.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - -template - struct numeric_limits; - -namespace ranges -{ - namespace __detail - { - class __max_size_type - { - public: - __max_size_type() = default; - - template requires integral<_Tp> || __is_int128<_Tp> - constexpr - __max_size_type(_Tp __i) noexcept - : _M_val(__i), _M_msb(__i < 0) - { } - - constexpr explicit - __max_size_type(const __max_diff_type& __d) noexcept; - - template requires integral<_Tp> || __is_int128<_Tp> - constexpr explicit - operator _Tp() const noexcept - { return _M_val; } - - constexpr explicit - operator bool() const noexcept - { return _M_val != 0 || _M_msb != 0; } - - constexpr __max_size_type - operator+() const noexcept - { return *this; } - - constexpr __max_size_type - operator~() const noexcept - { return __max_size_type{~_M_val, !_M_msb}; } - - constexpr __max_size_type - operator-() const noexcept - { return operator~() + 1; } - - constexpr __max_size_type& - operator++() noexcept - { return *this += 1; } - - constexpr __max_size_type - operator++(int) noexcept - { - auto __tmp = *this; - ++*this; - return __tmp; - } - - constexpr __max_size_type& - operator--() noexcept - { return *this -= 1; } - - constexpr __max_size_type - operator--(int) noexcept - { - auto __tmp = *this; - --*this; - return __tmp; - } - - constexpr __max_size_type& - operator+=(const __max_size_type& __r) noexcept - { - const auto __sum = _M_val + __r._M_val; - const bool __overflow = (__sum < _M_val); - _M_msb = _M_msb ^ __r._M_msb ^ __overflow; - _M_val = __sum; - return *this; - } - - constexpr __max_size_type& - operator-=(const __max_size_type& __r) noexcept - { return *this += -__r; } - - constexpr __max_size_type& - operator*=(__max_size_type __r) noexcept - { - constexpr __max_size_type __threshold - = __rep(1) << (_S_rep_bits / 2 - 1); - if (_M_val < __threshold && __r < __threshold) - - - _M_val = _M_val * __r._M_val; - else - { - - - - const bool __lsb = _M_val & 1; - const bool __rlsb = __r._M_val & 1; - *this >>= 1; - __r >>= 1; - _M_val = (2 * _M_val * __r._M_val - + _M_val * __rlsb + __r._M_val * __lsb); - *this <<= 1; - *this += __rlsb * __lsb; - } - - return *this; - } - - constexpr __max_size_type& - operator/=(const __max_size_type& __r) noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__r != 0), false)) std::__glibcxx_assert_fail(); } while (false); - - if (!_M_msb && !__r._M_msb) [[likely]] - _M_val /= __r._M_val; - else if (_M_msb && __r._M_msb) - { - _M_val = (_M_val >= __r._M_val); - _M_msb = 0; - } - else if (!_M_msb && __r._M_msb) - _M_val = 0; - else if (_M_msb && !__r._M_msb) - { - - - - - const auto __orig = *this; - *this >>= 1; - _M_val /= __r._M_val; - *this <<= 1; - if (__orig - *this * __r >= __r) - ++_M_val; - } - return *this; - } - - constexpr __max_size_type& - operator%=(const __max_size_type& __r) noexcept - { - if (!_M_msb && !__r._M_msb) [[likely]] - _M_val %= __r._M_val; - else - *this -= (*this / __r) * __r; - return *this; - } - - constexpr __max_size_type& - operator<<=(const __max_size_type& __r) noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__r <= _S_rep_bits), false)) std::__glibcxx_assert_fail(); } while (false); - if (__r != 0) - { - _M_msb = (_M_val >> (_S_rep_bits - __r._M_val)) & 1; - - if (__r._M_val == _S_rep_bits) [[unlikely]] - _M_val = 0; - else - _M_val <<= __r._M_val; - } - return *this; - } - - constexpr __max_size_type& - operator>>=(const __max_size_type& __r) noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__r <= _S_rep_bits), false)) std::__glibcxx_assert_fail(); } while (false); - if (__r != 0) - { - if (__r._M_val == _S_rep_bits) [[unlikely]] - _M_val = 0; - else - _M_val >>= __r._M_val; - - if (_M_msb) [[unlikely]] - { - _M_val |= __rep(1) << (_S_rep_bits - __r._M_val); - _M_msb = 0; - } - } - return *this; - } - - constexpr __max_size_type& - operator&=(const __max_size_type& __r) noexcept - { - _M_val &= __r._M_val; - _M_msb &= __r._M_msb; - return *this; - } - - constexpr __max_size_type& - operator|=(const __max_size_type& __r) noexcept - { - _M_val |= __r._M_val; - _M_msb |= __r._M_msb; - return *this; - } - - constexpr __max_size_type& - operator^=(const __max_size_type& __r) noexcept - { - _M_val ^= __r._M_val; - _M_msb ^= __r._M_msb; - return *this; - } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator+=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a + __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator-=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a - __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator*=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a * __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator/=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a / __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator%=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a % __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator&=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a & __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator|=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a | __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator^=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a ^ __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator<<=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a << __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator>>=(_Tp& __a, const __max_size_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a >> __b)); } - - friend constexpr __max_size_type - operator+(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l += __r; - return __l; - } - - friend constexpr __max_size_type - operator-(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l -= __r; - return __l; - } - - friend constexpr __max_size_type - operator*(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l *= __r; - return __l; - } - - friend constexpr __max_size_type - operator/(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l /= __r; - return __l; - } - - friend constexpr __max_size_type - operator%(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l %= __r; - return __l; - } - - friend constexpr __max_size_type - operator<<(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l <<= __r; - return __l; - } - - friend constexpr __max_size_type - operator>>(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l >>= __r; - return __l; - } - - friend constexpr __max_size_type - operator&(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l &= __r; - return __l; - } - - friend constexpr __max_size_type - operator|(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l |= __r; - return __l; - } - - friend constexpr __max_size_type - operator^(__max_size_type __l, const __max_size_type& __r) noexcept - { - __l ^= __r; - return __l; - } - - friend constexpr bool - operator==(const __max_size_type& __l, const __max_size_type& __r) noexcept - { return __l._M_val == __r._M_val && __l._M_msb == __r._M_msb; } - - - friend constexpr strong_ordering - operator<=>(const __max_size_type& __l, const __max_size_type& __r) noexcept - { - if (__l._M_msb ^ __r._M_msb) - return __l._M_msb ? strong_ordering::greater : strong_ordering::less; - else - return __l._M_val <=> __r._M_val; - } -# 420 "/usr/include/c++/14.1.1/bits/max_size_type.h" 3 - __extension__ - using __rep = unsigned __int128; - - - - static constexpr size_t _S_rep_bits = sizeof(__rep) * 8; - private: - __rep _M_val = 0; - unsigned _M_msb:1 = 0; - - constexpr explicit - __max_size_type(__rep __val, int __msb) noexcept - : _M_val(__val), _M_msb(__msb) - { } - - friend __max_diff_type; - friend std::numeric_limits<__max_size_type>; - friend std::numeric_limits<__max_diff_type>; - }; - - class __max_diff_type - { - public: - __max_diff_type() = default; - - template requires integral<_Tp> || __is_int128<_Tp> - constexpr - __max_diff_type(_Tp __i) noexcept - : _M_rep(__i) - { } - - constexpr explicit - __max_diff_type(const __max_size_type& __d) noexcept - : _M_rep(__d) - { } - - template requires integral<_Tp> || __is_int128<_Tp> - constexpr explicit - operator _Tp() const noexcept - { return static_cast<_Tp>(_M_rep); } - - constexpr explicit - operator bool() const noexcept - { return _M_rep != 0; } - - constexpr __max_diff_type - operator+() const noexcept - { return *this; } - - constexpr __max_diff_type - operator-() const noexcept - { return __max_diff_type(-_M_rep); } - - constexpr __max_diff_type - operator~() const noexcept - { return __max_diff_type(~_M_rep); } - - constexpr __max_diff_type& - operator++() noexcept - { return *this += 1; } - - constexpr __max_diff_type - operator++(int) noexcept - { - auto __tmp = *this; - ++*this; - return __tmp; - } - - constexpr __max_diff_type& - operator--() noexcept - { return *this -= 1; } - - constexpr __max_diff_type - operator--(int) noexcept - { - auto __tmp = *this; - --*this; - return __tmp; - } - - constexpr __max_diff_type& - operator+=(const __max_diff_type& __r) noexcept - { - _M_rep += __r._M_rep; - return *this; - } - - constexpr __max_diff_type& - operator-=(const __max_diff_type& __r) noexcept - { - _M_rep -= __r._M_rep; - return *this; - } - - constexpr __max_diff_type& - operator*=(const __max_diff_type& __r) noexcept - { - _M_rep *= __r._M_rep; - return *this; - } - - constexpr __max_diff_type& - operator/=(const __max_diff_type& __r) noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__r != 0), false)) std::__glibcxx_assert_fail(); } while (false); - const bool __neg = *this < 0; - const bool __rneg = __r < 0; - if (!__neg && !__rneg) - _M_rep = _M_rep / __r._M_rep; - else if (__neg && __rneg) - _M_rep = -_M_rep / -__r._M_rep; - else if (__neg && !__rneg) - _M_rep = -(-_M_rep / __r._M_rep); - else - _M_rep = -(_M_rep / -__r._M_rep); - return *this ; - } - - constexpr __max_diff_type& - operator%=(const __max_diff_type& __r) noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__r != 0), false)) std::__glibcxx_assert_fail(); } while (false); - if (*this >= 0 && __r > 0) - _M_rep %= __r._M_rep; - else - *this -= (*this / __r) * __r; - return *this; - } - - constexpr __max_diff_type& - operator<<=(const __max_diff_type& __r) noexcept - { - _M_rep.operator<<=(__r._M_rep); - return *this; - } - - constexpr __max_diff_type& - operator>>=(const __max_diff_type& __r) noexcept - { - - const auto __msb = _M_rep._M_msb; - _M_rep >>= __r._M_rep; - if (__msb) - _M_rep |= ~(__max_size_type(-1) >> __r._M_rep); - return *this; - } - - constexpr __max_diff_type& - operator&=(const __max_diff_type& __r) noexcept - { - _M_rep &= __r._M_rep; - return *this; - } - - constexpr __max_diff_type& - operator|=(const __max_diff_type& __r) noexcept - { - _M_rep |= __r._M_rep; - return *this; - } - - constexpr __max_diff_type& - operator^=(const __max_diff_type& __r) noexcept - { - _M_rep ^= __r._M_rep; - return *this; - } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator+=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a + __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator-=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a - __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator*=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a * __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator/=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a / __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator%=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a % __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator&=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a & __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator|=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a | __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator^=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a ^ __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator<<=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a << __b)); } - - template requires integral<_Tp> || __is_int128<_Tp> - friend constexpr _Tp& - operator>>=(_Tp& __a, const __max_diff_type& __b) noexcept - { return (__a = static_cast<_Tp>(__a >> __b)); } - - friend constexpr __max_diff_type - operator+(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l += __r; - return __l; - } - - friend constexpr __max_diff_type - operator-(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l -= __r; - return __l; - } - - friend constexpr __max_diff_type - operator*(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l *= __r; - return __l; - } - - friend constexpr __max_diff_type - operator/(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l /= __r; - return __l; - } - - friend constexpr __max_diff_type - operator%(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l %= __r; - return __l; - } - - friend constexpr __max_diff_type - operator<<(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l <<= __r; - return __l; - } - - friend constexpr __max_diff_type - operator>>(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l >>= __r; - return __l; - } - - friend constexpr __max_diff_type - operator&(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l &= __r; - return __l; - } - - friend constexpr __max_diff_type - operator|(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l |= __r; - return __l; - } - - friend constexpr __max_diff_type - operator^(__max_diff_type __l, const __max_diff_type& __r) noexcept - { - __l ^= __r; - return __l; - } - - friend constexpr bool - operator==(const __max_diff_type& __l, const __max_diff_type& __r) noexcept - { return __l._M_rep == __r._M_rep; } - - - constexpr strong_ordering - operator<=>(const __max_diff_type& __r) const noexcept - { - const auto __lsign = _M_rep._M_msb; - const auto __rsign = __r._M_rep._M_msb; - if (__lsign ^ __rsign) - return __lsign ? strong_ordering::less : strong_ordering::greater; - else - return _M_rep <=> __r._M_rep; - } -# 753 "/usr/include/c++/14.1.1/bits/max_size_type.h" 3 - private: - __max_size_type _M_rep = 0; - - friend class __max_size_type; - }; - - constexpr - __max_size_type::__max_size_type(const __max_diff_type& __d) noexcept - : __max_size_type(__d._M_rep) - { } - - } -} - - template<> - struct numeric_limits - { - using _Sp = ranges::__detail::__max_size_type; - static constexpr bool is_specialized = true; - static constexpr bool is_signed = false; - static constexpr bool is_integer = true; - static constexpr bool is_exact = true; - static constexpr int digits - = __gnu_cxx::__int_traits<_Sp::__rep>::__digits + 1; - static constexpr int digits10 - = static_cast(digits * numbers::ln2 / numbers::ln10); - - static constexpr _Sp - min() noexcept - { return 0; } - - static constexpr _Sp - max() noexcept - { return _Sp(static_cast<_Sp::__rep>(-1), 1); } - - static constexpr _Sp - lowest() noexcept - { return min(); } - }; - - template<> - struct numeric_limits - { - using _Dp = ranges::__detail::__max_diff_type; - using _Sp = ranges::__detail::__max_size_type; - static constexpr bool is_specialized = true; - static constexpr bool is_signed = true; - static constexpr bool is_integer = true; - static constexpr bool is_exact = true; - static constexpr int digits = numeric_limits<_Sp>::digits - 1; - static constexpr int digits10 - = static_cast(digits * numbers::ln2 / numbers::ln10); - - static constexpr _Dp - min() noexcept - { return _Dp(_Sp(0, 1)); } - - static constexpr _Dp - max() noexcept - { return _Dp(_Sp(static_cast<_Sp::__rep>(-1), 0)); } - - static constexpr _Dp - lowest() noexcept - { return min(); } - }; - - -} -# 40 "/usr/include/c++/14.1.1/bits/ranges_base.h" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 41 "/usr/include/c++/14.1.1/bits/ranges_base.h" 2 3 - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -namespace ranges -{ - template - inline constexpr bool disable_sized_range = false; - - template - inline constexpr bool enable_borrowed_range = false; - - namespace __detail - { - constexpr __max_size_type - __to_unsigned_like(__max_size_type __t) noexcept - { return __t; } - - constexpr __max_size_type - __to_unsigned_like(__max_diff_type __t) noexcept - { return __max_size_type(__t); } - - template - constexpr auto - __to_unsigned_like(_Tp __t) noexcept - { return static_cast>(__t); } -# 79 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - template - using __make_unsigned_like_t - = decltype(__detail::__to_unsigned_like(std::declval<_Tp>())); - - - template - concept __maybe_borrowed_range - = is_lvalue_reference_v<_Tp> - || enable_borrowed_range>; - - } - - - namespace __access - { - using std::ranges::__detail::__maybe_borrowed_range; - using std::__detail::__range_iter_t; - - struct _Begin - { - private: - template - static constexpr bool - _S_noexcept() - { - if constexpr (is_array_v>) - return true; - else if constexpr (__member_begin<_Tp>) - return noexcept(__decay_copy(std::declval<_Tp&>().begin())); - else - return noexcept(__decay_copy(begin(std::declval<_Tp&>()))); - } - - public: - template<__maybe_borrowed_range _Tp> - requires is_array_v> || __member_begin<_Tp> - || __adl_begin<_Tp> - constexpr auto - operator()[[nodiscard]](_Tp&& __t) const noexcept(_S_noexcept<_Tp&>()) - { - if constexpr (is_array_v>) - { - static_assert(is_lvalue_reference_v<_Tp>); - return __t + 0; - } - else if constexpr (__member_begin<_Tp>) - return __t.begin(); - else - return begin(__t); - } - }; - - template - concept __member_end = requires(_Tp& __t) - { - { __decay_copy(__t.end()) } -> sentinel_for<__range_iter_t<_Tp>>; - }; - - - void end() = delete; - - template - concept __adl_end = __class_or_enum> - && requires(_Tp& __t) - { - { __decay_copy(end(__t)) } -> sentinel_for<__range_iter_t<_Tp>>; - }; - - struct _End - { - private: - template - static constexpr bool - _S_noexcept() - { - if constexpr (is_bounded_array_v>) - return true; - else if constexpr (__member_end<_Tp>) - return noexcept(__decay_copy(std::declval<_Tp&>().end())); - else - return noexcept(__decay_copy(end(std::declval<_Tp&>()))); - } - - public: - template<__maybe_borrowed_range _Tp> - requires is_bounded_array_v> - || __member_end<_Tp> || __adl_end<_Tp> - constexpr auto - operator()[[nodiscard]](_Tp&& __t) const noexcept(_S_noexcept<_Tp&>()) - { - if constexpr (is_bounded_array_v>) - { - static_assert(is_lvalue_reference_v<_Tp>); - return __t + extent_v>; - } - else if constexpr (__member_end<_Tp>) - return __t.end(); - else - return end(__t); - } - }; - - template - concept __member_rbegin = requires(_Tp& __t) - { - { __decay_copy(__t.rbegin()) } -> input_or_output_iterator; - }; - - void rbegin() = delete; - - template - concept __adl_rbegin = __class_or_enum> - && requires(_Tp& __t) - { - { __decay_copy(rbegin(__t)) } -> input_or_output_iterator; - }; - - template - concept __reversable = requires(_Tp& __t) - { - { _Begin{}(__t) } -> bidirectional_iterator; - { _End{}(__t) } -> same_as; - }; - - struct _RBegin - { - private: - template - static constexpr bool - _S_noexcept() - { - if constexpr (__member_rbegin<_Tp>) - return noexcept(__decay_copy(std::declval<_Tp&>().rbegin())); - else if constexpr (__adl_rbegin<_Tp>) - return noexcept(__decay_copy(rbegin(std::declval<_Tp&>()))); - else - { - if constexpr (noexcept(_End{}(std::declval<_Tp&>()))) - { - using _It = decltype(_End{}(std::declval<_Tp&>())); - - return is_nothrow_copy_constructible_v<_It>; - } - else - return false; - } - } - - public: - template<__maybe_borrowed_range _Tp> - requires __member_rbegin<_Tp> || __adl_rbegin<_Tp> || __reversable<_Tp> - constexpr auto - operator()[[nodiscard]](_Tp&& __t) const - noexcept(_S_noexcept<_Tp&>()) - { - if constexpr (__member_rbegin<_Tp>) - return __t.rbegin(); - else if constexpr (__adl_rbegin<_Tp>) - return rbegin(__t); - else - return std::make_reverse_iterator(_End{}(__t)); - } - }; - - template - concept __member_rend = requires(_Tp& __t) - { - { __decay_copy(__t.rend()) } - -> sentinel_for(__t)))>; - }; - - void rend() = delete; - - template - concept __adl_rend = __class_or_enum> - && requires(_Tp& __t) - { - { __decay_copy(rend(__t)) } - -> sentinel_for(__t)))>; - }; - - struct _REnd - { - private: - template - static constexpr bool - _S_noexcept() - { - if constexpr (__member_rend<_Tp>) - return noexcept(__decay_copy(std::declval<_Tp&>().rend())); - else if constexpr (__adl_rend<_Tp>) - return noexcept(__decay_copy(rend(std::declval<_Tp&>()))); - else - { - if constexpr (noexcept(_Begin{}(std::declval<_Tp&>()))) - { - using _It = decltype(_Begin{}(std::declval<_Tp&>())); - - return is_nothrow_copy_constructible_v<_It>; - } - else - return false; - } - } - - public: - template<__maybe_borrowed_range _Tp> - requires __member_rend<_Tp> || __adl_rend<_Tp> || __reversable<_Tp> - constexpr auto - operator()[[nodiscard]](_Tp&& __t) const - noexcept(_S_noexcept<_Tp&>()) - { - if constexpr (__member_rend<_Tp>) - return __t.rend(); - else if constexpr (__adl_rend<_Tp>) - return rend(__t); - else - return std::make_reverse_iterator(_Begin{}(__t)); - } - }; - - template - concept __member_size = !disable_sized_range> - && requires(_Tp& __t) - { - { __decay_copy(__t.size()) } -> __detail::__is_integer_like; - }; - - void size() = delete; - - template - concept __adl_size = __class_or_enum> - && !disable_sized_range> - && requires(_Tp& __t) - { - { __decay_copy(size(__t)) } -> __detail::__is_integer_like; - }; - - template - concept __sentinel_size = requires(_Tp& __t) - { - requires (!is_unbounded_array_v>); - - { _Begin{}(__t) } -> forward_iterator; - - { _End{}(__t) } -> sized_sentinel_for; - - __detail::__to_unsigned_like(_End{}(__t) - _Begin{}(__t)); - }; - - struct _Size - { - private: - template - static constexpr bool - _S_noexcept() - { - if constexpr (is_bounded_array_v>) - return true; - else if constexpr (__member_size<_Tp>) - return noexcept(__decay_copy(std::declval<_Tp&>().size())); - else if constexpr (__adl_size<_Tp>) - return noexcept(__decay_copy(size(std::declval<_Tp&>()))); - else if constexpr (__sentinel_size<_Tp>) - return noexcept(_End{}(std::declval<_Tp&>()) - - _Begin{}(std::declval<_Tp&>())); - } - - public: - template - requires is_bounded_array_v> - || __member_size<_Tp> || __adl_size<_Tp> || __sentinel_size<_Tp> - constexpr auto - operator()[[nodiscard]](_Tp&& __t) const noexcept(_S_noexcept<_Tp&>()) - { - if constexpr (is_bounded_array_v>) - return extent_v>; - else if constexpr (__member_size<_Tp>) - return __t.size(); - else if constexpr (__adl_size<_Tp>) - return size(__t); - else if constexpr (__sentinel_size<_Tp>) - return __detail::__to_unsigned_like(_End{}(__t) - _Begin{}(__t)); - } - }; - - struct _SSize - { - - - template - requires requires (_Tp& __t) { _Size{}(__t); } - constexpr auto - operator()[[nodiscard]](_Tp&& __t) const noexcept(noexcept(_Size{}(__t))) - { - auto __size = _Size{}(__t); - using __size_type = decltype(__size); - - if constexpr (integral<__size_type>) - { - using __gnu_cxx::__int_traits; - if constexpr (__int_traits<__size_type>::__digits - < __int_traits::__digits) - return static_cast(__size); - else - return static_cast>(__size); - } - - - - - - else - return __detail::__max_diff_type(__size); - } - }; - - template - concept __member_empty = requires(_Tp& __t) { bool(__t.empty()); }; - - template - concept __size0_empty = requires(_Tp& __t) { _Size{}(__t) == 0; }; - - template - concept __eq_iter_empty = requires(_Tp& __t) - { - requires (!is_unbounded_array_v>); - - { _Begin{}(__t) } -> forward_iterator; - - bool(_Begin{}(__t) == _End{}(__t)); - }; - - struct _Empty - { - private: - template - static constexpr bool - _S_noexcept() - { - if constexpr (__member_empty<_Tp>) - return noexcept(bool(std::declval<_Tp&>().empty())); - else if constexpr (__size0_empty<_Tp>) - return noexcept(_Size{}(std::declval<_Tp&>()) == 0); - else - return noexcept(bool(_Begin{}(std::declval<_Tp&>()) - == _End{}(std::declval<_Tp&>()))); - } - - public: - template - requires __member_empty<_Tp> || __size0_empty<_Tp> - || __eq_iter_empty<_Tp> - constexpr bool - operator()[[nodiscard]](_Tp&& __t) const noexcept(_S_noexcept<_Tp&>()) - { - if constexpr (__member_empty<_Tp>) - return bool(__t.empty()); - else if constexpr (__size0_empty<_Tp>) - return _Size{}(__t) == 0; - else - return bool(_Begin{}(__t) == _End{}(__t)); - } - }; - - template - concept __pointer_to_object = is_pointer_v<_Tp> - && is_object_v>; - - template - concept __member_data = requires(_Tp& __t) - { - { __decay_copy(__t.data()) } -> __pointer_to_object; - }; - - template - concept __begin_data = contiguous_iterator<__range_iter_t<_Tp>>; - - struct _Data - { - private: - template - static constexpr bool - _S_noexcept() - { - if constexpr (__member_data<_Tp>) - return noexcept(__decay_copy(std::declval<_Tp&>().data())); - else - return noexcept(_Begin{}(std::declval<_Tp&>())); - } - - public: - template<__maybe_borrowed_range _Tp> - requires __member_data<_Tp> || __begin_data<_Tp> - constexpr auto - operator()[[nodiscard]](_Tp&& __t) const noexcept(_S_noexcept<_Tp>()) - { - if constexpr (__member_data<_Tp>) - return __t.data(); - else - return std::to_address(_Begin{}(__t)); - } - }; - - } - - inline namespace _Cpo - { - inline constexpr ranges::__access::_Begin begin{}; - inline constexpr ranges::__access::_End end{}; - inline constexpr ranges::__access::_RBegin rbegin{}; - inline constexpr ranges::__access::_REnd rend{}; - inline constexpr ranges::__access::_Size size{}; - inline constexpr ranges::__access::_SSize ssize{}; - inline constexpr ranges::__access::_Empty empty{}; - inline constexpr ranges::__access::_Data data{}; - } - - - template - concept range = requires(_Tp& __t) - { - ranges::begin(__t); - ranges::end(__t); - }; - - - template - concept borrowed_range - = range<_Tp> && __detail::__maybe_borrowed_range<_Tp>; - - template - using iterator_t = std::__detail::__range_iter_t<_Tp>; - - template - using sentinel_t = decltype(ranges::end(std::declval<_Range&>())); -# 527 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - template - using range_difference_t = iter_difference_t>; - - template - using range_value_t = iter_value_t>; - - template - using range_reference_t = iter_reference_t>; - - template - using range_rvalue_reference_t - = iter_rvalue_reference_t>; - - - template - concept sized_range = range<_Tp> - && requires(_Tp& __t) { ranges::size(__t); }; - - template - using range_size_t = decltype(ranges::size(std::declval<_Range&>())); - - template - requires is_class_v<_Derived> && same_as<_Derived, remove_cv_t<_Derived>> - class view_interface; - - namespace __detail - { - template - requires (!same_as<_Tp, view_interface<_Up>>) - void __is_derived_from_view_interface_fn(const _Tp&, - const view_interface<_Up>&); - - - - template - concept __is_derived_from_view_interface - = requires (_Tp __t) { __is_derived_from_view_interface_fn(__t, __t); }; - } - - - struct view_base { }; - - - template - inline constexpr bool enable_view = derived_from<_Tp, view_base> - || __detail::__is_derived_from_view_interface<_Tp>; - - - template - concept view - = range<_Tp> && movable<_Tp> && enable_view<_Tp>; - - - - - template - concept output_range - = range<_Range> && output_iterator, _Tp>; - - - template - concept input_range = range<_Tp> && input_iterator>; - - - template - concept forward_range - = input_range<_Tp> && forward_iterator>; - - - template - concept bidirectional_range - = forward_range<_Tp> && bidirectional_iterator>; - - - template - concept random_access_range - = bidirectional_range<_Tp> && random_access_iterator>; - - - template - concept contiguous_range - = random_access_range<_Tp> && contiguous_iterator> - && requires(_Tp& __t) - { - { ranges::data(__t) } -> same_as>>; - }; - - - template - concept common_range - = range<_Tp> && same_as, sentinel_t<_Tp>>; - - - - - - - - namespace __access - { -# 639 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - template - constexpr decltype(auto) - __as_const(_Tp& __t) noexcept - { - static_assert(std::is_same_v<_To&, _Tp&>); - - if constexpr (is_lvalue_reference_v<_To>) - return const_cast(__t); - else - return static_cast(__t); - } - - - struct _CBegin - { -# 668 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - template - [[nodiscard]] - constexpr auto - operator()(_Tp&& __e) const - noexcept(noexcept(_Begin{}(__access::__as_const<_Tp>(__e)))) - requires requires { _Begin{}(__access::__as_const<_Tp>(__e)); } - { - return _Begin{}(__access::__as_const<_Tp>(__e)); - } - - }; - - struct _CEnd final - { -# 696 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - template - [[nodiscard]] - constexpr auto - operator()(_Tp&& __e) const - noexcept(noexcept(_End{}(__access::__as_const<_Tp>(__e)))) - requires requires { _End{}(__access::__as_const<_Tp>(__e)); } - { - return _End{}(__access::__as_const<_Tp>(__e)); - } - - }; - - struct _CRBegin - { -# 724 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - template - [[nodiscard]] - constexpr auto - operator()(_Tp&& __e) const - noexcept(noexcept(_RBegin{}(__access::__as_const<_Tp>(__e)))) - requires requires { _RBegin{}(__access::__as_const<_Tp>(__e)); } - { - return _RBegin{}(__access::__as_const<_Tp>(__e)); - } - - }; - - struct _CREnd - { -# 752 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - template - [[nodiscard]] - constexpr auto - operator()(_Tp&& __e) const - noexcept(noexcept(_REnd{}(__access::__as_const<_Tp>(__e)))) - requires requires { _REnd{}(__access::__as_const<_Tp>(__e)); } - { - return _REnd{}(__access::__as_const<_Tp>(__e)); - } - - }; - - struct _CData - { -# 775 "/usr/include/c++/14.1.1/bits/ranges_base.h" 3 - template - [[nodiscard]] - constexpr auto - operator()(_Tp&& __e) const - noexcept(noexcept(_Data{}(__access::__as_const<_Tp>(__e)))) - requires requires { _Data{}(__access::__as_const<_Tp>(__e)); } - { - return _Data{}(__access::__as_const<_Tp>(__e)); - } - - }; - } - - inline namespace _Cpo - { - inline constexpr ranges::__access::_CBegin cbegin{}; - inline constexpr ranges::__access::_CEnd cend{}; - inline constexpr ranges::__access::_CRBegin crbegin{}; - inline constexpr ranges::__access::_CREnd crend{}; - inline constexpr ranges::__access::_CData cdata{}; - } - - namespace __detail - { - template - inline constexpr bool __is_initializer_list = false; - - template - inline constexpr bool __is_initializer_list> = true; - } - - - template - concept viewable_range = range<_Tp> - && ((view> && constructible_from, _Tp>) - || (!view> - && (is_lvalue_reference_v<_Tp> - || (movable> - && !__detail::__is_initializer_list>)))); - - - - struct __advance_fn final - { - template - constexpr void - operator()(_It& __it, iter_difference_t<_It> __n) const - { - if constexpr (random_access_iterator<_It>) - __it += __n; - else if constexpr (bidirectional_iterator<_It>) - { - if (__n > 0) - { - do - { - ++__it; - } - while (--__n); - } - else if (__n < 0) - { - do - { - --__it; - } - while (++__n); - } - } - else - { - - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__n >= 0), false)) std::__glibcxx_assert_fail(); } while (false); - while (__n-- > 0) - ++__it; - } - } - - template _Sent> - constexpr void - operator()(_It& __it, _Sent __bound) const - { - if constexpr (assignable_from<_It&, _Sent>) - __it = std::move(__bound); - else if constexpr (sized_sentinel_for<_Sent, _It>) - (*this)(__it, __bound - __it); - else - { - while (__it != __bound) - ++__it; - } - } - - template _Sent> - constexpr iter_difference_t<_It> - operator()(_It& __it, iter_difference_t<_It> __n, _Sent __bound) const - { - if constexpr (sized_sentinel_for<_Sent, _It>) - { - const auto __diff = __bound - __it; - - if (__diff == 0) - return __n; - else if (__diff > 0 ? __n >= __diff : __n <= __diff) - { - (*this)(__it, __bound); - return __n - __diff; - } - else if (__n != 0) [[likely]] - { - - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool((__n < 0) == (__diff < 0)), false)) std::__glibcxx_assert_fail(); } while (false); - - (*this)(__it, __n); - return 0; - } - else - return 0; - } - else if (__it == __bound || __n == 0) - return __n; - else if (__n > 0) - { - iter_difference_t<_It> __m = 0; - do - { - ++__it; - ++__m; - } - while (__m != __n && __it != __bound); - return __n - __m; - } - else if constexpr (bidirectional_iterator<_It> && same_as<_It, _Sent>) - { - iter_difference_t<_It> __m = 0; - do - { - --__it; - --__m; - } - while (__m != __n && __it != __bound); - return __n - __m; - } - else - { - - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__n >= 0), false)) std::__glibcxx_assert_fail(); } while (false); - return __n; - } - } - - void operator&() const = delete; - }; - - inline constexpr __advance_fn advance{}; - - struct __distance_fn final - { - template _Sent> - requires (!sized_sentinel_for<_Sent, _It>) - constexpr iter_difference_t<_It> - operator()[[nodiscard]](_It __first, _Sent __last) const - { - iter_difference_t<_It> __n = 0; - while (__first != __last) - { - ++__first; - ++__n; - } - return __n; - } - - template _Sent> - [[nodiscard]] - constexpr iter_difference_t<_It> - operator()(const _It& __first, const _Sent& __last) const - { - return __last - __first; - } - - template - [[nodiscard]] - constexpr range_difference_t<_Range> - operator()(_Range&& __r) const - { - if constexpr (sized_range<_Range>) - return static_cast>(ranges::size(__r)); - else - return (*this)(ranges::begin(__r), ranges::end(__r)); - } - - void operator&() const = delete; - }; - - inline constexpr __distance_fn distance{}; - - struct __next_fn final - { - template - [[nodiscard]] - constexpr _It - operator()(_It __x) const - { - ++__x; - return __x; - } - - template - [[nodiscard]] - constexpr _It - operator()(_It __x, iter_difference_t<_It> __n) const - { - ranges::advance(__x, __n); - return __x; - } - - template _Sent> - [[nodiscard]] - constexpr _It - operator()(_It __x, _Sent __bound) const - { - ranges::advance(__x, __bound); - return __x; - } - - template _Sent> - [[nodiscard]] - constexpr _It - operator()(_It __x, iter_difference_t<_It> __n, _Sent __bound) const - { - ranges::advance(__x, __n, __bound); - return __x; - } - - void operator&() const = delete; - }; - - inline constexpr __next_fn next{}; - - struct __prev_fn final - { - template - [[nodiscard]] - constexpr _It - operator()(_It __x) const - { - --__x; - return __x; - } - - template - [[nodiscard]] - constexpr _It - operator()(_It __x, iter_difference_t<_It> __n) const - { - ranges::advance(__x, -__n); - return __x; - } - - template - [[nodiscard]] - constexpr _It - operator()(_It __x, iter_difference_t<_It> __n, _It __bound) const - { - ranges::advance(__x, -__n, __bound); - return __x; - } - - void operator&() const = delete; - }; - - inline constexpr __prev_fn prev{}; - - - struct dangling - { - constexpr dangling() noexcept = default; - template - constexpr dangling(_Args&&...) noexcept { } - }; - - template - using borrowed_iterator_t = __conditional_t, - iterator_t<_Range>, - dangling>; -} - - - - - - - -} -# 57 "/usr/include/c++/14.1.1/string_view" 2 3 - - - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - 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; - } -# 105 "/usr/include/c++/14.1.1/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; - - [[__gnu__::__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} - { } - - - template _End> - requires same_as, _CharT> - && (!convertible_to<_End, size_type>) - constexpr - basic_string_view(_It __first, _End __last) - noexcept(noexcept(__last - __first)) - : _M_len(__last - __first), _M_str(std::to_address(__first)) - { } -# 180 "/usr/include/c++/14.1.1/string_view" 3 - constexpr basic_string_view& - operator=(const basic_string_view&) noexcept = default; - - - - [[nodiscard]] - constexpr const_iterator - begin() const noexcept - { return this->_M_str; } - - [[nodiscard]] - constexpr const_iterator - end() const noexcept - { return this->_M_str + this->_M_len; } - - [[nodiscard]] - constexpr const_iterator - cbegin() const noexcept - { return this->_M_str; } - - [[nodiscard]] - constexpr const_iterator - cend() const noexcept - { return this->_M_str + this->_M_len; } - - [[nodiscard]] - constexpr const_reverse_iterator - rbegin() const noexcept - { return const_reverse_iterator(this->end()); } - - [[nodiscard]] - constexpr const_reverse_iterator - rend() const noexcept - { return const_reverse_iterator(this->begin()); } - - [[nodiscard]] - constexpr const_reverse_iterator - crbegin() const noexcept - { return const_reverse_iterator(this->end()); } - - [[nodiscard]] - constexpr const_reverse_iterator - crend() const noexcept - { return const_reverse_iterator(this->begin()); } - - - - [[nodiscard]] - constexpr size_type - size() const noexcept - { return this->_M_len; } - - [[nodiscard]] - constexpr size_type - length() const noexcept - { return _M_len; } - - [[nodiscard]] - 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; } - - - - [[nodiscard]] - constexpr const_reference - operator[](size_type __pos) const noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__pos < this->_M_len), false)) std::__glibcxx_assert_fail(); } while (false); - return *(this->_M_str + __pos); - } - - [[nodiscard]] - 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); - } - - [[nodiscard]] - constexpr const_reference - front() const noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(this->_M_len > 0), false)) std::__glibcxx_assert_fail(); } while (false); - return *this->_M_str; - } - - [[nodiscard]] - constexpr const_reference - back() const noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(this->_M_len > 0), false)) std::__glibcxx_assert_fail(); } while (false); - return *(this->_M_str + this->_M_len - 1); - } - - [[nodiscard]] - constexpr const_pointer - data() const noexcept - { return this->_M_str; } - - - - constexpr void - remove_prefix(size_type __n) noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(this->_M_len >= __n), false)) std::__glibcxx_assert_fail(); } while (false); - this->_M_str += __n; - this->_M_len -= __n; - } - - constexpr void - remove_suffix(size_type __n) noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(this->_M_len >= __n), false)) std::__glibcxx_assert_fail(); } while (false); - this->_M_len -= __n; - } - - constexpr void - swap(basic_string_view& __sv) noexcept - { - auto __tmp = *this; - *this = __sv; - __sv = __tmp; - } - - - - constexpr - 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; - } - - [[nodiscard]] - 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}; - } - - [[nodiscard]] - 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; - } - - [[nodiscard]] - constexpr int - compare(size_type __pos1, size_type __n1, basic_string_view __str) const - { return this->substr(__pos1, __n1).compare(__str); } - - [[nodiscard]] - 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)); - } - - [[nodiscard, __gnu__::__nonnull__]] - constexpr int - compare(const _CharT* __str) const noexcept - { return this->compare(basic_string_view{__str}); } - - [[nodiscard, __gnu__::__nonnull__]] - constexpr int - compare(size_type __pos1, size_type __n1, const _CharT* __str) const - { return this->substr(__pos1, __n1).compare(basic_string_view{__str}); } - - [[nodiscard]] - 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)); - } - - - [[nodiscard]] - constexpr bool - starts_with(basic_string_view __x) const noexcept - { return this->substr(0, __x.size()) == __x; } - - [[nodiscard]] - constexpr bool - starts_with(_CharT __x) const noexcept - { return !this->empty() && traits_type::eq(this->front(), __x); } - - [[nodiscard, __gnu__::__nonnull__]] - constexpr bool - starts_with(const _CharT* __x) const noexcept - { return this->starts_with(basic_string_view(__x)); } - - [[nodiscard]] - constexpr bool - ends_with(basic_string_view __x) const noexcept - { - const auto __len = this->size(); - const auto __xlen = __x.size(); - return __len >= __xlen - && traits_type::compare(end() - __xlen, __x.data(), __xlen) == 0; - } - - [[nodiscard]] - constexpr bool - ends_with(_CharT __x) const noexcept - { return !this->empty() && traits_type::eq(this->back(), __x); } - - [[nodiscard, __gnu__::__nonnull__]] - constexpr bool - ends_with(const _CharT* __x) const noexcept - { return this->ends_with(basic_string_view(__x)); } -# 445 "/usr/include/c++/14.1.1/string_view" 3 - [[nodiscard]] - constexpr size_type - find(basic_string_view __str, size_type __pos = 0) const noexcept - { return this->find(__str._M_str, __pos, __str._M_len); } - - [[nodiscard]] - constexpr size_type - find(_CharT __c, size_type __pos = 0) const noexcept; - - [[nodiscard]] - constexpr size_type - find(const _CharT* __str, size_type __pos, size_type __n) const noexcept; - - [[nodiscard, __gnu__::__nonnull__]] - constexpr size_type - find(const _CharT* __str, size_type __pos = 0) const noexcept - { return this->find(__str, __pos, traits_type::length(__str)); } - - [[nodiscard]] - constexpr size_type - rfind(basic_string_view __str, size_type __pos = npos) const noexcept - { return this->rfind(__str._M_str, __pos, __str._M_len); } - - [[nodiscard]] - constexpr size_type - rfind(_CharT __c, size_type __pos = npos) const noexcept; - - [[nodiscard]] - constexpr size_type - rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept; - - [[nodiscard, __gnu__::__nonnull__]] - constexpr size_type - rfind(const _CharT* __str, size_type __pos = npos) const noexcept - { return this->rfind(__str, __pos, traits_type::length(__str)); } - - [[nodiscard]] - 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); } - - [[nodiscard]] - constexpr size_type - find_first_of(_CharT __c, size_type __pos = 0) const noexcept - { return this->find(__c, __pos); } - - [[nodiscard]] - constexpr size_type - find_first_of(const _CharT* __str, size_type __pos, - size_type __n) const noexcept; - - [[nodiscard, __gnu__::__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)); } - - [[nodiscard]] - 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); } - - [[nodiscard]] - constexpr size_type - find_last_of(_CharT __c, size_type __pos=npos) const noexcept - { return this->rfind(__c, __pos); } - - [[nodiscard]] - constexpr size_type - find_last_of(const _CharT* __str, size_type __pos, - size_type __n) const noexcept; - - [[nodiscard, __gnu__::__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)); } - - [[nodiscard]] - 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); } - - [[nodiscard]] - constexpr size_type - find_first_not_of(_CharT __c, size_type __pos = 0) const noexcept; - - [[nodiscard]] - constexpr size_type - find_first_not_of(const _CharT* __str, - size_type __pos, size_type __n) const noexcept; - - [[nodiscard, __gnu__::__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)); - } - - [[nodiscard]] - 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); } - - [[nodiscard]] - constexpr size_type - find_last_not_of(_CharT __c, size_type __pos = npos) const noexcept; - - [[nodiscard]] - constexpr size_type - find_last_not_of(const _CharT* __str, - size_type __pos, size_type __n) const noexcept; - - [[nodiscard, __gnu__::__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; - }; - - - template _End> - basic_string_view(_It, _End) -> basic_string_view>; -# 606 "/usr/include/c++/14.1.1/string_view" 3 - template - [[nodiscard]] - constexpr bool - operator==(basic_string_view<_CharT, _Traits> __x, - type_identity_t> __y) - noexcept - { return __x.size() == __y.size() && __x.compare(__y) == 0; } - - template - [[nodiscard]] - constexpr auto - operator<=>(basic_string_view<_CharT, _Traits> __x, - __type_identity_t> __y) - noexcept - -> decltype(__detail::__char_traits_cmp_cat<_Traits>(0)) - { return __detail::__char_traits_cmp_cat<_Traits>(__x.compare(__y)); } -# 758 "/usr/include/c++/14.1.1/string_view" 3 - 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 u8string_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 - { - [[nodiscard]] - 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 - { - [[nodiscard]] - 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 - { }; - - - template<> - struct hash - : public __hash_base - { - [[nodiscard]] - size_t - operator()(const u8string_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 - { - [[nodiscard]] - 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 - { - [[nodiscard]] - 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}; } - - - inline constexpr basic_string_view - operator""sv(const char8_t* __str, size_t __len) noexcept - { return basic_string_view{__str, __len}; } - - - 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 - } - } - - - namespace ranges - { - - template - inline constexpr bool - enable_borrowed_range> = true; - - - template - inline constexpr bool - enable_view> = true; - } - - -} - -# 1 "/usr/include/c++/14.1.1/bits/string_view.tcc" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/string_view.tcc" 3 - -# 38 "/usr/include/c++/14.1.1/bits/string_view.tcc" 3 - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - 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; - } - - -} -# 905 "/usr/include/c++/14.1.1/string_view" 2 3 -# 48 "/usr/include/c++/14.1.1/bits/basic_string.h" 2 3 - - - - - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 55 "/usr/include/c++/14.1.1/bits/basic_string.h" 2 3 - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -namespace __cxx11 { -# 85 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - class basic_string - { - - static_assert(is_same_v<_CharT, typename _Traits::char_type>); - static_assert(is_same_v<_CharT, typename _Alloc::value_type>); - using _Char_alloc_type = _Alloc; - - - - - - typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits; - - - public: - typedef _Traits traits_type; - typedef typename _Traits::char_type value_type; - typedef _Char_alloc_type allocator_type; - typedef typename _Alloc_traits::size_type size_type; - typedef typename _Alloc_traits::difference_type difference_type; - typedef typename _Alloc_traits::reference reference; - typedef typename _Alloc_traits::const_reference const_reference; - typedef typename _Alloc_traits::pointer pointer; - typedef typename _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; - - - static const size_type npos = static_cast(-1); - - protected: - - - - - typedef const_iterator __const_iterator; - - - private: - static constexpr pointer - _S_allocate(_Char_alloc_type& __a, size_type __n) - { - pointer __p = _Alloc_traits::allocate(__a, __n); - - - - if constexpr (!is_same_v<_Traits, char_traits<_CharT>>) - if (std::__is_constant_evaluated()) - - for (size_type __i = 0; __i < __n; ++__i) - std::construct_at(__builtin_addressof(__p[__i])); - - return __p; - } - - - - typedef basic_string_view<_CharT, _Traits> __sv_type; - - template - using _If_sv = enable_if_t< - __and_, - __not_>, - __not_>>::value, - _Res>; - - - constexpr - static __sv_type - _S_to_string_view(__sv_type __svt) noexcept - { return __svt; } - - - - - - struct __sv_wrapper - { - constexpr explicit - __sv_wrapper(__sv_type __sv) noexcept : _M_sv(__sv) { } - - __sv_type _M_sv; - }; - - - - - - - - constexpr - explicit - basic_string(__sv_wrapper __svw, const _Alloc& __a) - : basic_string(__svw._M_sv.data(), __svw._M_sv.size(), __a) { } - - - - struct _Alloc_hider : allocator_type - { - - - - - constexpr - _Alloc_hider(pointer __dat, const _Alloc& __a) - : allocator_type(__a), _M_p(__dat) { } - - constexpr - _Alloc_hider(pointer __dat, _Alloc&& __a = _Alloc()) - : allocator_type(std::move(__a)), _M_p(__dat) { } - - - pointer _M_p; - }; - - _Alloc_hider _M_dataplus; - size_type _M_string_length; - - enum { _S_local_capacity = 15 / sizeof(_CharT) }; - - union - { - _CharT _M_local_buf[_S_local_capacity + 1]; - size_type _M_allocated_capacity; - }; - - constexpr - void - _M_data(pointer __p) - { _M_dataplus._M_p = __p; } - - constexpr - void - _M_length(size_type __length) - { _M_string_length = __length; } - - constexpr - pointer - _M_data() const - { return _M_dataplus._M_p; } - - constexpr - pointer - _M_local_data() - { - - return std::pointer_traits::pointer_to(*_M_local_buf); - - - - } - - constexpr - const_pointer - _M_local_data() const - { - - return std::pointer_traits::pointer_to(*_M_local_buf); - - - - } - - constexpr - void - _M_capacity(size_type __capacity) - { _M_allocated_capacity = __capacity; } - - constexpr - void - _M_set_length(size_type __n) - { - _M_length(__n); - traits_type::assign(_M_data()[__n], _CharT()); - } - - constexpr - bool - _M_is_local() const - { - if (_M_data() == _M_local_data()) - { - if (_M_string_length > _S_local_capacity) - __builtin_unreachable(); - return true; - } - return false; - } - - - constexpr - pointer - _M_create(size_type&, size_type); - - constexpr - void - _M_dispose() - { - if (!_M_is_local()) - _M_destroy(_M_allocated_capacity); - } - - constexpr - void - _M_destroy(size_type __size) throw() - { _Alloc_traits::deallocate(_M_get_allocator(), _M_data(), __size + 1); } -# 321 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - void - _M_construct(_InIterator __beg, _InIterator __end, - std::input_iterator_tag); - - - - template - constexpr - void - _M_construct(_FwdIterator __beg, _FwdIterator __end, - std::forward_iterator_tag); - - constexpr - void - _M_construct(size_type __req, _CharT __c); - - constexpr - allocator_type& - _M_get_allocator() - { return _M_dataplus; } - - constexpr - const allocator_type& - _M_get_allocator() const - { return _M_dataplus; } - - - __attribute__((__always_inline__)) - constexpr - void - _M_init_local_buf() noexcept - { - - if (std::is_constant_evaluated()) - for (size_type __i = 0; __i <= _S_local_capacity; ++__i) - _M_local_buf[__i] = _CharT(); - - } - - __attribute__((__always_inline__)) - constexpr - pointer - _M_use_local_data() noexcept - { - - _M_init_local_buf(); - - return _M_local_data(); - } - - private: -# 389 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - 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; - } - - constexpr - 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)); - } - - - - constexpr - 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)); - } - - - - constexpr - static void - _S_copy(_CharT* __d, const _CharT* __s, size_type __n) - { - if (__n == 1) - traits_type::assign(*__d, *__s); - else - traits_type::copy(__d, __s, __n); - } - - constexpr - static void - _S_move(_CharT* __d, const _CharT* __s, size_type __n) - { - if (__n == 1) - traits_type::assign(*__d, *__s); - else - traits_type::move(__d, __s, __n); - } - - constexpr - static void - _S_assign(_CharT* __d, size_type __n, _CharT __c) - { - if (__n == 1) - traits_type::assign(*__d, __c); - else - traits_type::assign(__d, __n, __c); - } - - - - template - constexpr - static void - _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2) - { - for (; __k1 != __k2; ++__k1, (void)++__p) - traits_type::assign(*__p, *__k1); - } - - constexpr - static void - _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2) noexcept - { _S_copy_chars(__p, __k1.base(), __k2.base()); } - - constexpr - static void - _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2) - noexcept - { _S_copy_chars(__p, __k1.base(), __k2.base()); } - - constexpr - static void - _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2) noexcept - { _S_copy(__p, __k1, __k2 - __k1); } - - constexpr - static void - _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2) - noexcept - { _S_copy(__p, __k1, __k2 - __k1); } - - constexpr - 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); - } - - constexpr - void - _M_assign(const basic_string&); - - constexpr - void - _M_mutate(size_type __pos, size_type __len1, const _CharT* __s, - size_type __len2); - - constexpr - void - _M_erase(size_type __pos, size_type __n); - - public: - - - - - - - - constexpr - basic_string() - noexcept(is_nothrow_default_constructible<_Alloc>::value) - : _M_dataplus(_M_local_data()) - { - _M_init_local_buf(); - _M_set_length(0); - } - - - - - constexpr - explicit - basic_string(const _Alloc& __a) noexcept - : _M_dataplus(_M_local_data(), __a) - { - _M_init_local_buf(); - _M_set_length(0); - } - - - - - - constexpr - basic_string(const basic_string& __str) - : _M_dataplus(_M_local_data(), - _Alloc_traits::_S_select_on_copy(__str._M_get_allocator())) - { - _M_construct(__str._M_data(), __str._M_data() + __str.length(), - std::forward_iterator_tag()); - } -# 568 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string(const basic_string& __str, size_type __pos, - const _Alloc& __a = _Alloc()) - : _M_dataplus(_M_local_data(), __a) - { - const _CharT* __start = __str._M_data() - + __str._M_check(__pos, "basic_string::basic_string"); - _M_construct(__start, __start + __str._M_limit(__pos, npos), - std::forward_iterator_tag()); - } - - - - - - - - constexpr - basic_string(const basic_string& __str, size_type __pos, - size_type __n) - : _M_dataplus(_M_local_data()) - { - const _CharT* __start = __str._M_data() - + __str._M_check(__pos, "basic_string::basic_string"); - _M_construct(__start, __start + __str._M_limit(__pos, __n), - std::forward_iterator_tag()); - } -# 603 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string(const basic_string& __str, size_type __pos, - size_type __n, const _Alloc& __a) - : _M_dataplus(_M_local_data(), __a) - { - const _CharT* __start - = __str._M_data() + __str._M_check(__pos, "string::string"); - _M_construct(__start, __start + __str._M_limit(__pos, __n), - std::forward_iterator_tag()); - } -# 623 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string(const _CharT* __s, size_type __n, - const _Alloc& __a = _Alloc()) - : _M_dataplus(_M_local_data(), __a) - { - - if (__s == 0 && __n > 0) - std::__throw_logic_error(("basic_string: " "construction from null is not valid") - ); - _M_construct(__s, __s + __n, std::forward_iterator_tag()); - } -# 643 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template> - - constexpr - basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) - : _M_dataplus(_M_local_data(), __a) - { - - if (__s == 0) - std::__throw_logic_error(("basic_string: " "construction from null is not valid") - ); - const _CharT* __end = __s + traits_type::length(__s); - _M_construct(__s, __end, forward_iterator_tag()); - } -# 666 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template> - - constexpr - basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) - : _M_dataplus(_M_local_data(), __a) - { _M_construct(__n, __c); } -# 681 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string(basic_string&& __str) noexcept - : _M_dataplus(_M_local_data(), std::move(__str._M_get_allocator())) - { - if (__str._M_is_local()) - { - _M_init_local_buf(); - traits_type::copy(_M_local_buf, __str._M_local_buf, - __str.length() + 1); - } - else - { - _M_data(__str._M_data()); - _M_capacity(__str._M_allocated_capacity); - } - - - - - _M_length(__str.length()); - __str._M_data(__str._M_use_local_data()); - __str._M_set_length(0); - } - - - - - - - constexpr - basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) - : _M_dataplus(_M_local_data(), __a) - { _M_construct(__l.begin(), __l.end(), std::forward_iterator_tag()); } - - constexpr - basic_string(const basic_string& __str, const _Alloc& __a) - : _M_dataplus(_M_local_data(), __a) - { _M_construct(__str.begin(), __str.end(), std::forward_iterator_tag()); } - - constexpr - basic_string(basic_string&& __str, const _Alloc& __a) - noexcept(_Alloc_traits::_S_always_equal()) - : _M_dataplus(_M_local_data(), __a) - { - if (__str._M_is_local()) - { - _M_init_local_buf(); - traits_type::copy(_M_local_buf, __str._M_local_buf, - __str.length() + 1); - _M_length(__str.length()); - __str._M_set_length(0); - } - else if (_Alloc_traits::_S_always_equal() - || __str.get_allocator() == __a) - { - _M_data(__str._M_data()); - _M_length(__str.length()); - _M_capacity(__str._M_allocated_capacity); - __str._M_data(__str._M_use_local_data()); - __str._M_set_length(0); - } - else - _M_construct(__str.begin(), __str.end(), std::forward_iterator_tag()); - } -# 759 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template> - - - - constexpr - basic_string(_InputIterator __beg, _InputIterator __end, - const _Alloc& __a = _Alloc()) - : _M_dataplus(_M_local_data(), __a), _M_string_length(0) - { - - _M_construct(__beg, __end, std::__iterator_category(__beg)); - - - - - } -# 785 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template>> - constexpr - 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> - constexpr - explicit - basic_string(const _Tp& __t, const _Alloc& __a = _Alloc()) - : basic_string(__sv_wrapper(_S_to_string_view(__t)), __a) { } - - - - - - constexpr - ~basic_string() - { _M_dispose(); } - - - - - - constexpr - basic_string& - operator=(const basic_string& __str) - { - return this->assign(__str); - } - - - - - - constexpr - basic_string& - operator=(const _CharT* __s) - { return this->assign(__s); } -# 838 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - operator=(_CharT __c) - { - this->assign(1, __c); - return *this; - } -# 856 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - operator=(basic_string&& __str) - noexcept(_Alloc_traits::_S_nothrow_move()) - { - const bool __equal_allocs = _Alloc_traits::_S_always_equal() - || _M_get_allocator() == __str._M_get_allocator(); - if (!_M_is_local() && _Alloc_traits::_S_propagate_on_move_assign() - && !__equal_allocs) - { - - _M_destroy(_M_allocated_capacity); - _M_data(_M_local_data()); - _M_set_length(0); - } - - std::__alloc_on_move(_M_get_allocator(), __str._M_get_allocator()); - - if (__str._M_is_local()) - { - - - - if (__builtin_expect(std::__addressof(__str) != this, true)) - { - if (__str.size()) - this->_S_copy(_M_data(), __str._M_data(), __str.size()); - _M_set_length(__str.size()); - } - } - else if (_Alloc_traits::_S_propagate_on_move_assign() || __equal_allocs) - { - - pointer __data = nullptr; - size_type __capacity; - if (!_M_is_local()) - { - if (__equal_allocs) - { - - __data = _M_data(); - __capacity = _M_allocated_capacity; - } - else - _M_destroy(_M_allocated_capacity); - } - - _M_data(__str._M_data()); - _M_length(__str.length()); - _M_capacity(__str._M_allocated_capacity); - if (__data) - { - __str._M_data(__data); - __str._M_capacity(__capacity); - } - else - __str._M_data(__str._M_use_local_data()); - } - else - assign(__str); - __str.clear(); - return *this; - } - - - - - - constexpr - basic_string& - operator=(initializer_list<_CharT> __l) - { - this->assign(__l.begin(), __l.size()); - return *this; - } - - - - - - - - template - constexpr - _If_sv<_Tp, basic_string&> - operator=(const _Tp& __svt) - { return this->assign(__svt); } - - - - - - constexpr - operator __sv_type() const noexcept - { return __sv_type(data(), size()); } - - - - - - - - [[__nodiscard__]] constexpr - iterator - begin() noexcept - { return iterator(_M_data()); } - - - - - - [[__nodiscard__]] constexpr - const_iterator - begin() const noexcept - { return const_iterator(_M_data()); } - - - - - - [[__nodiscard__]] constexpr - iterator - end() noexcept - { return iterator(_M_data() + this->size()); } - - - - - - [[__nodiscard__]] constexpr - const_iterator - end() const noexcept - { return const_iterator(_M_data() + this->size()); } - - - - - - - [[__nodiscard__]] constexpr - reverse_iterator - rbegin() noexcept - { return reverse_iterator(this->end()); } - - - - - - - [[__nodiscard__]] constexpr - const_reverse_iterator - rbegin() const noexcept - { return const_reverse_iterator(this->end()); } - - - - - - - [[__nodiscard__]] constexpr - reverse_iterator - rend() noexcept - { return reverse_iterator(this->begin()); } - - - - - - - [[__nodiscard__]] constexpr - const_reverse_iterator - rend() const noexcept - { return const_reverse_iterator(this->begin()); } - - - - - - - [[__nodiscard__]] constexpr - const_iterator - cbegin() const noexcept - { return const_iterator(this->_M_data()); } - - - - - - [[__nodiscard__]] constexpr - const_iterator - cend() const noexcept - { return const_iterator(this->_M_data() + this->size()); } - - - - - - - [[__nodiscard__]] constexpr - const_reverse_iterator - crbegin() const noexcept - { return const_reverse_iterator(this->end()); } - - - - - - - [[__nodiscard__]] constexpr - const_reverse_iterator - crend() const noexcept - { return const_reverse_iterator(this->begin()); } - - - public: - - - - [[__nodiscard__]] constexpr - size_type - size() const noexcept - { return _M_string_length; } - - - - [[__nodiscard__]] constexpr - size_type - length() const noexcept - { return _M_string_length; } - - - [[__nodiscard__]] constexpr - size_type - max_size() const noexcept - { return (_Alloc_traits::max_size(_M_get_allocator()) - 1) / 2; } -# 1102 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - void - resize(size_type __n, _CharT __c); -# 1116 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - void - resize(size_type __n) - { this->resize(__n, _CharT()); } - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - - constexpr - void - shrink_to_fit() noexcept - { reserve(); } -#pragma GCC diagnostic pop -# 1169 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr void - __resize_and_overwrite(size_type __n, _Operation __op); - - - - - - - [[__nodiscard__]] constexpr - size_type - capacity() const noexcept - { - return _M_is_local() ? size_type(_S_local_capacity) - : _M_allocated_capacity; - } -# 1203 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - void - reserve(size_type __res_arg); - - - - - - [[deprecated("use shrink_to_fit() instead")]] - - constexpr - void - reserve(); - - - - - constexpr - void - clear() noexcept - { _M_set_length(0); } - - - - - - [[__nodiscard__]] constexpr - bool - empty() const noexcept - { return this->size() == 0; } -# 1245 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - const_reference - operator[] (size_type __pos) const noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__pos <= size()), false)) std::__glibcxx_assert_fail(); } while (false); - return _M_data()[__pos]; - } -# 1263 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - reference - operator[](size_type __pos) - { - - - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__pos <= size()), false)) std::__glibcxx_assert_fail(); } while (false); - - ; - return _M_data()[__pos]; - } -# 1285 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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]; - } -# 1307 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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()); - return _M_data()[__n]; - } - - - - - - - [[__nodiscard__]] constexpr - reference - front() noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); - return operator[](0); - } - - - - - - [[__nodiscard__]] constexpr - const_reference - front() const noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); - return operator[](0); - } - - - - - - [[__nodiscard__]] constexpr - reference - back() noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); - return operator[](this->size() - 1); - } - - - - - - [[__nodiscard__]] constexpr - const_reference - back() const noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); - return operator[](this->size() - 1); - } -# 1375 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - operator+=(const basic_string& __str) - { return this->append(__str); } - - - - - - - constexpr - basic_string& - operator+=(const _CharT* __s) - { return this->append(__s); } - - - - - - - constexpr - basic_string& - operator+=(_CharT __c) - { - this->push_back(__c); - return *this; - } - - - - - - - - constexpr - basic_string& - operator+=(initializer_list<_CharT> __l) - { return this->append(__l.begin(), __l.size()); } -# 1421 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - _If_sv<_Tp, basic_string&> - operator+=(const _Tp& __svt) - { return this->append(__svt); } - - - - - - - - constexpr - basic_string& - append(const basic_string& __str) - { return this->append(__str._M_data(), __str.size()); } -# 1451 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - append(const basic_string& __str, size_type __pos, size_type __n = npos) - { return this->append(__str._M_data() - + __str._M_check(__pos, "basic_string::append"), - __str._M_limit(__pos, __n)); } - - - - - - - - constexpr - basic_string& - append(const _CharT* __s, size_type __n) - { - ; - _M_check_length(size_type(0), __n, "basic_string::append"); - return _M_append(__s, __n); - } - - - - - - - constexpr - basic_string& - append(const _CharT* __s) - { - ; - const size_type __n = traits_type::length(__s); - _M_check_length(size_type(0), __n, "basic_string::append"); - return _M_append(__s, __n); - } -# 1496 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - append(size_type __n, _CharT __c) - { return _M_replace_aux(this->size(), size_type(0), __n, __c); } - - - - - - - - constexpr - basic_string& - append(initializer_list<_CharT> __l) - { return this->append(__l.begin(), __l.size()); } -# 1522 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template> - constexpr - - - - basic_string& - append(_InputIterator __first, _InputIterator __last) - { return this->replace(end(), end(), __first, __last); } - - - - - - - - template - constexpr - _If_sv<_Tp, basic_string&> - append(const _Tp& __svt) - { - __sv_type __sv = __svt; - return this->append(__sv.data(), __sv.size()); - } -# 1554 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - _If_sv<_Tp, basic_string&> - append(const _Tp& __svt, size_type __pos, size_type __n = npos) - { - __sv_type __sv = __svt; - return _M_append(__sv.data() - + std::__sv_check(__sv.size(), __pos, "basic_string::append"), - std::__sv_limit(__sv.size(), __pos, __n)); - } - - - - - - - constexpr - void - push_back(_CharT __c) - { - const size_type __size = this->size(); - if (__size + 1 > this->capacity()) - this->_M_mutate(__size, size_type(0), 0, size_type(1)); - traits_type::assign(this->_M_data()[__size], __c); - this->_M_set_length(__size + 1); - } - - - - - - - constexpr - basic_string& - assign(const basic_string& __str) - { - - if (_Alloc_traits::_S_propagate_on_copy_assign()) - { - if (!_Alloc_traits::_S_always_equal() && !_M_is_local() - && _M_get_allocator() != __str._M_get_allocator()) - { - - - if (__str.size() <= _S_local_capacity) - { - _M_destroy(_M_allocated_capacity); - _M_data(_M_use_local_data()); - _M_set_length(0); - } - else - { - const auto __len = __str.size(); - auto __alloc = __str._M_get_allocator(); - - auto __ptr = _S_allocate(__alloc, __len + 1); - _M_destroy(_M_allocated_capacity); - _M_data(__ptr); - _M_capacity(__len); - _M_set_length(__len); - } - } - std::__alloc_on_copy(_M_get_allocator(), __str._M_get_allocator()); - } - - this->_M_assign(__str); - return *this; - } -# 1632 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - assign(basic_string&& __str) - noexcept(_Alloc_traits::_S_nothrow_move()) - { - - - return *this = std::move(__str); - } -# 1656 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - assign(const basic_string& __str, size_type __pos, size_type __n = npos) - { return _M_replace(size_type(0), this->size(), __str._M_data() - + __str._M_check(__pos, "basic_string::assign"), - __str._M_limit(__pos, __n)); } -# 1673 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - assign(const _CharT* __s, size_type __n) - { - ; - return _M_replace(size_type(0), this->size(), __s, __n); - } -# 1690 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - assign(const _CharT* __s) - { - ; - return _M_replace(size_type(0), this->size(), __s, - traits_type::length(__s)); - } -# 1708 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - assign(size_type __n, _CharT __c) - { return _M_replace_aux(size_type(0), this->size(), __n, __c); } -# 1722 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wc++17-extensions" - template> - constexpr - basic_string& - assign(_InputIterator __first, _InputIterator __last) - { - - if constexpr (contiguous_iterator<_InputIterator> - && is_same_v, _CharT>) - - - - - { - ; - return _M_replace(size_type(0), size(), - std::__to_address(__first), __last - __first); - } - else - return *this = basic_string(__first, __last, get_allocator()); - } -#pragma GCC diagnostic pop -# 1759 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - assign(initializer_list<_CharT> __l) - { - - - const size_type __n = __l.size(); - if (__n > capacity()) - *this = basic_string(__l.begin(), __l.end(), get_allocator()); - else - { - if (__n) - _S_copy(_M_data(), __l.begin(), __n); - _M_set_length(__n); - } - return *this; - } -# 1784 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - _If_sv<_Tp, basic_string&> - assign(const _Tp& __svt) - { - __sv_type __sv = __svt; - return this->assign(__sv.data(), __sv.size()); - } -# 1800 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - _If_sv<_Tp, basic_string&> - assign(const _Tp& __svt, size_type __pos, size_type __n = npos) - { - __sv_type __sv = __svt; - return _M_replace(size_type(0), this->size(), - __sv.data() - + std::__sv_check(__sv.size(), __pos, "basic_string::assign"), - std::__sv_limit(__sv.size(), __pos, __n)); - } -# 1829 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - iterator - insert(const_iterator __p, size_type __n, _CharT __c) - { - ; - const size_type __pos = __p - begin(); - this->replace(__p, __p, __n, __c); - return iterator(this->_M_data() + __pos); - } -# 1872 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template> - constexpr - iterator - insert(const_iterator __p, _InputIterator __beg, _InputIterator __end) - { - ; - const size_type __pos = __p - begin(); - this->replace(__p, __p, __beg, __end); - return iterator(this->_M_data() + __pos); - } -# 1909 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - iterator - insert(const_iterator __p, initializer_list<_CharT> __l) - { return this->insert(__p, __l.begin(), __l.end()); } -# 1937 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - insert(size_type __pos1, const basic_string& __str) - { return this->replace(__pos1, size_type(0), - __str._M_data(), __str.size()); } -# 1961 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - insert(size_type __pos1, const basic_string& __str, - size_type __pos2, size_type __n = npos) - { return this->replace(__pos1, size_type(0), __str._M_data() - + __str._M_check(__pos2, "basic_string::insert"), - __str._M_limit(__pos2, __n)); } -# 1985 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - insert(size_type __pos, const _CharT* __s, size_type __n) - { return this->replace(__pos, size_type(0), __s, __n); } -# 2005 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - insert(size_type __pos, const _CharT* __s) - { - ; - return this->replace(__pos, size_type(0), __s, - traits_type::length(__s)); - } -# 2030 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - 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); } -# 2049 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - iterator - insert(__const_iterator __p, _CharT __c) - { - ; - const size_type __pos = __p - begin(); - _M_replace_aux(__pos, size_type(0), size_type(1), __c); - return iterator(_M_data() + __pos); - } -# 2066 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - _If_sv<_Tp, basic_string&> - insert(size_type __pos, const _Tp& __svt) - { - __sv_type __sv = __svt; - return this->insert(__pos, __sv.data(), __sv.size()); - } -# 2083 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - _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)); - } -# 2112 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - erase(size_type __pos = 0, size_type __n = npos) - { - _M_check(__pos, "basic_string::erase"); - if (__n == npos) - this->_M_set_length(__pos); - else if (__n != 0) - this->_M_erase(__pos, _M_limit(__pos, __n)); - return *this; - } -# 2132 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - iterator - erase(__const_iterator __position) - { - - ; - const size_type __pos = __position - begin(); - this->_M_erase(__pos, size_type(1)); - return iterator(_M_data() + __pos); - } -# 2152 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - iterator - erase(__const_iterator __first, __const_iterator __last) - { - - ; - const size_type __pos = __first - begin(); - if (__last == end()) - this->_M_set_length(__pos); - else - this->_M_erase(__pos, __last - __first); - return iterator(this->_M_data() + __pos); - } - - - - - - - - constexpr - void - pop_back() noexcept - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); - _M_erase(size() - 1, 1); - } -# 2198 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - replace(size_type __pos, size_type __n, const basic_string& __str) - { return this->replace(__pos, __n, __str._M_data(), __str.size()); } -# 2221 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - 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)); } -# 2247 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - replace(size_type __pos, size_type __n1, const _CharT* __s, - size_type __n2) - { - ; - return _M_replace(_M_check(__pos, "basic_string::replace"), - _M_limit(__pos, __n1), __s, __n2); - } -# 2273 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - replace(size_type __pos, size_type __n1, const _CharT* __s) - { - ; - return this->replace(__pos, __n1, __s, traits_type::length(__s)); - } -# 2298 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - 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); } -# 2317 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, - const basic_string& __str) - { return this->replace(__i1, __i2, __str._M_data(), __str.size()); } -# 2338 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, - const _CharT* __s, size_type __n) - { - - ; - return this->replace(__i1 - begin(), __i2 - __i1, __s, __n); - } -# 2361 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, const _CharT* __s) - { - ; - return this->replace(__i1, __i2, __s, traits_type::length(__s)); - } -# 2383 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, size_type __n, - _CharT __c) - { - - ; - return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __c); - } -# 2409 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template> - constexpr - basic_string& - replace(const_iterator __i1, const_iterator __i2, - _InputIterator __k1, _InputIterator __k2) - { - - ; - ; - return this->_M_replace_dispatch(__i1, __i2, __k1, __k2, - std::__false_type()); - } -# 2442 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, - _CharT* __k1, _CharT* __k2) - { - - ; - ; - return this->replace(__i1 - begin(), __i2 - __i1, - __k1, __k2 - __k1); - } - - constexpr - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, - const _CharT* __k1, const _CharT* __k2) - { - - ; - ; - return this->replace(__i1 - begin(), __i2 - __i1, - __k1, __k2 - __k1); - } - - constexpr - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, - iterator __k1, iterator __k2) - { - - ; - ; - return this->replace(__i1 - begin(), __i2 - __i1, - __k1.base(), __k2 - __k1); - } - - constexpr - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, - const_iterator __k1, const_iterator __k2) - { - - ; - ; - return this->replace(__i1 - begin(), __i2 - __i1, - __k1.base(), __k2 - __k1); - } -# 2505 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - basic_string& replace(const_iterator __i1, const_iterator __i2, - initializer_list<_CharT> __l) - { return this->replace(__i1, __i2, __l.begin(), __l.size()); } -# 2519 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - _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()); - } -# 2537 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - _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)); - } -# 2559 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - _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 - constexpr - basic_string& - _M_replace_dispatch(const_iterator __i1, const_iterator __i2, - _Integer __n, _Integer __val, __true_type) - { return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __val); } - - template - constexpr - basic_string& - _M_replace_dispatch(const_iterator __i1, const_iterator __i2, - _InputIterator __k1, _InputIterator __k2, - __false_type); - - constexpr - basic_string& - _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2, - _CharT __c); - - __attribute__((__noinline__, __noclone__, __cold__)) void - _M_replace_cold(pointer __p, size_type __len1, const _CharT* __s, - const size_type __len2, const size_type __how_much); - - constexpr - basic_string& - _M_replace(size_type __pos, size_type __len1, const _CharT* __s, - const size_type __len2); - - constexpr - basic_string& - _M_append(const _CharT* __s, size_type __n); - - public: -# 2616 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - size_type - copy(_CharT* __s, size_type __n, size_type __pos = 0) const; -# 2627 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - constexpr - void - swap(basic_string& __s) noexcept; -# 2638 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - const _CharT* - c_str() const noexcept - { return _M_data(); } -# 2651 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - const _CharT* - data() const noexcept - { return _M_data(); } -# 2663 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - _CharT* - data() noexcept - { return _M_data(); } - - - - - - [[__nodiscard__]] constexpr - allocator_type - get_allocator() const noexcept - { return _M_get_allocator(); } -# 2689 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find(const _CharT* __s, size_type __pos, size_type __n) const - noexcept; -# 2704 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find(const basic_string& __str, size_type __pos = 0) const - noexcept - { return this->find(__str.data(), __pos, __str.size()); } -# 2717 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - _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()); - } -# 2738 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find(const _CharT* __s, size_type __pos = 0) const noexcept - { - ; - return this->find(__s, __pos, traits_type::length(__s)); - } -# 2756 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find(_CharT __c, size_type __pos = 0) const noexcept; -# 2770 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - rfind(const basic_string& __str, size_type __pos = npos) const - noexcept - { return this->rfind(__str.data(), __pos, __str.size()); } -# 2783 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - _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()); - } -# 2806 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - rfind(const _CharT* __s, size_type __pos, size_type __n) const - noexcept; -# 2821 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - rfind(const _CharT* __s, size_type __pos = npos) const - { - ; - return this->rfind(__s, __pos, traits_type::length(__s)); - } -# 2839 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - rfind(_CharT __c, size_type __pos = npos) const noexcept; -# 2854 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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()); } -# 2868 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - _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()); - } -# 2891 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find_first_of(const _CharT* __s, size_type __pos, size_type __n) const - noexcept; -# 2906 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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)); - } -# 2927 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find_first_of(_CharT __c, size_type __pos = 0) const noexcept - { return this->find(__c, __pos); } -# 2943 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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()); } -# 2957 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - _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()); - } -# 2980 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find_last_of(const _CharT* __s, size_type __pos, size_type __n) const - noexcept; -# 2995 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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)); - } -# 3016 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find_last_of(_CharT __c, size_type __pos = npos) const noexcept - { return this->rfind(__c, __pos); } -# 3031 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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()); } -# 3045 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - _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()); - } -# 3068 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find_first_not_of(const _CharT* __s, size_type __pos, - size_type __n) const noexcept; -# 3083 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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)); - } -# 3102 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find_first_not_of(_CharT __c, size_type __pos = 0) const - noexcept; -# 3118 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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()); } -# 3132 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - _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()); - } -# 3155 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find_last_not_of(const _CharT* __s, size_type __pos, - size_type __n) const noexcept; -# 3170 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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)); - } -# 3189 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - size_type - find_last_not_of(_CharT __c, size_type __pos = npos) const - noexcept; -# 3206 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - basic_string - substr(size_type __pos = 0, size_type __n = npos) const - { return basic_string(*this, - _M_check(__pos, "basic_string::substr"), __n); } -# 3226 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - 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 - [[__nodiscard__]] constexpr - _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; - } -# 3271 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - _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); - } -# 3291 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - _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)); - } -# 3323 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - int - 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; - } -# 3360 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - int - compare(size_type __pos1, size_type __n1, const basic_string& __str, - size_type __pos2, size_type __n2 = npos) 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; - } -# 3391 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - int - 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; - } -# 3426 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - int - 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; - } -# 3465 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] constexpr - int - 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; - } - - - [[nodiscard]] - constexpr bool - starts_with(basic_string_view<_CharT, _Traits> __x) const noexcept - { return __sv_type(this->data(), this->size()).starts_with(__x); } - - [[nodiscard]] - constexpr bool - starts_with(_CharT __x) const noexcept - { return __sv_type(this->data(), this->size()).starts_with(__x); } - - [[nodiscard, __gnu__::__nonnull__]] - constexpr bool - starts_with(const _CharT* __x) const noexcept - { return __sv_type(this->data(), this->size()).starts_with(__x); } - - [[nodiscard]] - constexpr bool - ends_with(basic_string_view<_CharT, _Traits> __x) const noexcept - { return __sv_type(this->data(), this->size()).ends_with(__x); } - - [[nodiscard]] - constexpr bool - ends_with(_CharT __x) const noexcept - { return __sv_type(this->data(), this->size()).ends_with(__x); } - - [[nodiscard, __gnu__::__nonnull__]] - constexpr bool - ends_with(const _CharT* __x) const noexcept - { return __sv_type(this->data(), this->size()).ends_with(__x); } -# 3530 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template friend class basic_stringbuf; - }; -} - -} - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - -namespace __cxx11 { - 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>; -} - - - template - constexpr - inline _Str - __str_concat(typename _Str::value_type const* __lhs, - typename _Str::size_type __lhs_len, - typename _Str::value_type const* __rhs, - typename _Str::size_type __rhs_len, - typename _Str::allocator_type const& __a) - { - typedef typename _Str::allocator_type allocator_type; - typedef __gnu_cxx::__alloc_traits _Alloc_traits; - _Str __str(_Alloc_traits::_S_select_on_copy(__a)); - __str.reserve(__lhs_len + __rhs_len); - __str.append(__lhs, __lhs_len); - __str.append(__rhs, __rhs_len); - return __str; - } -# 3595 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - inline basic_string<_CharT, _Traits, _Alloc> - operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) - { - typedef basic_string<_CharT, _Traits, _Alloc> _Str; - return std::__str_concat<_Str>(__lhs.c_str(), __lhs.size(), - __rhs.c_str(), __rhs.size(), - __lhs.get_allocator()); - } - - - - - - - - template - [[__nodiscard__]] constexpr - inline basic_string<_CharT,_Traits,_Alloc> - operator+(const _CharT* __lhs, - const basic_string<_CharT,_Traits,_Alloc>& __rhs) - { - ; - typedef basic_string<_CharT, _Traits, _Alloc> _Str; - return std::__str_concat<_Str>(__lhs, _Traits::length(__lhs), - __rhs.c_str(), __rhs.size(), - __rhs.get_allocator()); - } - - - - - - - - template - [[__nodiscard__]] constexpr - inline basic_string<_CharT,_Traits,_Alloc> - operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs) - { - typedef basic_string<_CharT, _Traits, _Alloc> _Str; - return std::__str_concat<_Str>(__builtin_addressof(__lhs), 1, - __rhs.c_str(), __rhs.size(), - __rhs.get_allocator()); - } - - - - - - - - template - [[__nodiscard__]] constexpr - inline basic_string<_CharT, _Traits, _Alloc> - operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const _CharT* __rhs) - { - ; - typedef basic_string<_CharT, _Traits, _Alloc> _Str; - return std::__str_concat<_Str>(__lhs.c_str(), __lhs.size(), - __rhs, _Traits::length(__rhs), - __lhs.get_allocator()); - } - - - - - - - template - [[__nodiscard__]] constexpr - inline basic_string<_CharT, _Traits, _Alloc> - operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs) - { - typedef basic_string<_CharT, _Traits, _Alloc> _Str; - return std::__str_concat<_Str>(__lhs.c_str(), __lhs.size(), - __builtin_addressof(__rhs), 1, - __lhs.get_allocator()); - } - - - template - [[__nodiscard__]] constexpr - 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 - constexpr - 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 - [[__nodiscard__]] constexpr - inline basic_string<_CharT, _Traits, _Alloc> - operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, - basic_string<_CharT, _Traits, _Alloc>&& __rhs) - { - - using _Alloc_traits = allocator_traits<_Alloc>; - bool __use_rhs = false; - if constexpr (typename _Alloc_traits::is_always_equal{}) - __use_rhs = true; - else if (__lhs.get_allocator() == __rhs.get_allocator()) - __use_rhs = true; - if (__use_rhs) - - { - 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 - [[__nodiscard__]] [[__nodiscard__]] constexpr - inline basic_string<_CharT, _Traits, _Alloc> - operator+(const _CharT* __lhs, - basic_string<_CharT, _Traits, _Alloc>&& __rhs) - { return std::move(__rhs.insert(0, __lhs)); } - - template - [[__nodiscard__]] constexpr - inline basic_string<_CharT, _Traits, _Alloc> - operator+(_CharT __lhs, - basic_string<_CharT, _Traits, _Alloc>&& __rhs) - { return std::move(__rhs.insert(0, 1, __lhs)); } - - template - [[__nodiscard__]] constexpr - inline basic_string<_CharT, _Traits, _Alloc> - operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, - const _CharT* __rhs) - { return std::move(__lhs.append(__rhs)); } - - template - [[__nodiscard__]] constexpr - inline basic_string<_CharT, _Traits, _Alloc> - operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, - _CharT __rhs) - { return std::move(__lhs.append(1, __rhs)); } -# 3752 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[__nodiscard__]] constexpr - inline bool - operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) - noexcept - { - return __lhs.size() == __rhs.size() - && !_Traits::compare(__lhs.data(), __rhs.data(), __lhs.size()); - } - - - - - - - - template - [[__nodiscard__]] constexpr - inline bool - operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const _CharT* __rhs) - { - return __lhs.size() == _Traits::length(__rhs) - && !_Traits::compare(__lhs.data(), __rhs, __lhs.size()); - } -# 3787 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[nodiscard]] - constexpr auto - operator<=>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) noexcept - -> decltype(__detail::__char_traits_cmp_cat<_Traits>(0)) - { return __detail::__char_traits_cmp_cat<_Traits>(__lhs.compare(__rhs)); } -# 3802 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - [[nodiscard]] - constexpr auto - operator<=>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const _CharT* __rhs) noexcept - -> decltype(__detail::__char_traits_cmp_cat<_Traits>(0)) - { return __detail::__char_traits_cmp_cat<_Traits>(__lhs.compare(__rhs)); } -# 4036 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - constexpr - inline void - swap(basic_string<_CharT, _Traits, _Alloc>& __lhs, - basic_string<_CharT, _Traits, _Alloc>& __rhs) - noexcept(noexcept(__lhs.swap(__rhs))) - { __lhs.swap(__rhs); } -# 4057 "/usr/include/c++/14.1.1/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); -# 4075 "/usr/include/c++/14.1.1/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()); - } -# 4098 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - template - basic_istream<_CharT, _Traits>& - getline(basic_istream<_CharT, _Traits>& __is, - basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim); -# 4115 "/usr/include/c++/14.1.1/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/include/c++/14.1.1/ext/string_conversions.h" 1 3 -# 32 "/usr/include/c++/14.1.1/ext/string_conversions.h" 3 - -# 33 "/usr/include/c++/14.1.1/ext/string_conversions.h" 3 -# 43 "/usr/include/c++/14.1.1/ext/string_conversions.h" 3 -# 1 "/usr/include/c++/14.1.1/cstdlib" 1 3 -# 39 "/usr/include/c++/14.1.1/cstdlib" 3 - -# 40 "/usr/include/c++/14.1.1/cstdlib" 3 -# 79 "/usr/include/c++/14.1.1/cstdlib" 3 -# 1 "/usr/include/stdlib.h" 1 3 4 -# 26 "/usr/include/stdlib.h" 3 4 -# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 -# 27 "/usr/include/stdlib.h" 2 3 4 - - - - - -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 33 "/usr/include/stdlib.h" 2 3 4 - -extern "C" { - - - - - -# 1 "/usr/include/bits/waitflags.h" 1 3 4 -# 41 "/usr/include/stdlib.h" 2 3 4 -# 1 "/usr/include/bits/waitstatus.h" 1 3 4 -# 42 "/usr/include/stdlib.h" 2 3 4 -# 59 "/usr/include/stdlib.h" 3 4 -typedef struct - { - int quot; - int rem; - } div_t; - - - -typedef struct - { - long int quot; - long int rem; - } ldiv_t; - - - - - -__extension__ typedef struct - { - long long int quot; - long long int rem; - } lldiv_t; -# 98 "/usr/include/stdlib.h" 3 4 -extern size_t __ctype_get_mb_cur_max (void) noexcept (true) ; - - - -extern double atof (const char *__nptr) - noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; - -extern int atoi (const char *__nptr) - noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; - -extern long int atol (const char *__nptr) - noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; - - - -__extension__ extern long long int atoll (const char *__nptr) - noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; - - - -extern double strtod (const char *__restrict __nptr, - char **__restrict __endptr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern float strtof (const char *__restrict __nptr, - char **__restrict __endptr) noexcept (true) __attribute__ ((__nonnull__ (1))); - -extern long double strtold (const char *__restrict __nptr, - char **__restrict __endptr) - noexcept (true) __attribute__ ((__nonnull__ (1))); -# 141 "/usr/include/stdlib.h" 3 4 -extern _Float32 strtof32 (const char *__restrict __nptr, - char **__restrict __endptr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern _Float64 strtof64 (const char *__restrict __nptr, - char **__restrict __endptr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern _Float128 strtof128 (const char *__restrict __nptr, - char **__restrict __endptr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern _Float32x strtof32x (const char *__restrict __nptr, - char **__restrict __endptr) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern _Float64x strtof64x (const char *__restrict __nptr, - char **__restrict __endptr) - noexcept (true) __attribute__ ((__nonnull__ (1))); -# 177 "/usr/include/stdlib.h" 3 4 -extern long int strtol (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - noexcept (true) __attribute__ ((__nonnull__ (1))); - -extern unsigned long int strtoul (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -__extension__ -extern long long int strtoq (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - noexcept (true) __attribute__ ((__nonnull__ (1))); - -__extension__ -extern unsigned long long int strtouq (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - -__extension__ -extern long long int strtoll (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - noexcept (true) __attribute__ ((__nonnull__ (1))); - -__extension__ -extern unsigned long long int strtoull (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - - -extern long int strtol (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtol") - - - __attribute__ ((__nonnull__ (1))); -extern unsigned long int strtoul (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtoul") - - - - __attribute__ ((__nonnull__ (1))); - -__extension__ -extern long long int strtoq (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtoll") - - - __attribute__ ((__nonnull__ (1))); -__extension__ -extern unsigned long long int strtouq (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtoull") - - - - __attribute__ ((__nonnull__ (1))); - -__extension__ -extern long long int strtoll (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtoll") - - - __attribute__ ((__nonnull__ (1))); -__extension__ -extern unsigned long long int strtoull (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtoull") - - - - __attribute__ ((__nonnull__ (1))); -# 278 "/usr/include/stdlib.h" 3 4 -extern int strfromd (char *__dest, size_t __size, const char *__format, - double __f) - noexcept (true) __attribute__ ((__nonnull__ (3))); - -extern int strfromf (char *__dest, size_t __size, const char *__format, - float __f) - noexcept (true) __attribute__ ((__nonnull__ (3))); - -extern int strfroml (char *__dest, size_t __size, const char *__format, - long double __f) - noexcept (true) __attribute__ ((__nonnull__ (3))); -# 298 "/usr/include/stdlib.h" 3 4 -extern int strfromf32 (char *__dest, size_t __size, const char * __format, - _Float32 __f) - noexcept (true) __attribute__ ((__nonnull__ (3))); - - - -extern int strfromf64 (char *__dest, size_t __size, const char * __format, - _Float64 __f) - noexcept (true) __attribute__ ((__nonnull__ (3))); - - - -extern int strfromf128 (char *__dest, size_t __size, const char * __format, - _Float128 __f) - noexcept (true) __attribute__ ((__nonnull__ (3))); - - - -extern int strfromf32x (char *__dest, size_t __size, const char * __format, - _Float32x __f) - noexcept (true) __attribute__ ((__nonnull__ (3))); - - - -extern int strfromf64x (char *__dest, size_t __size, const char * __format, - _Float64x __f) - noexcept (true) __attribute__ ((__nonnull__ (3))); -# 340 "/usr/include/stdlib.h" 3 4 -extern long int strtol_l (const char *__restrict __nptr, - char **__restrict __endptr, int __base, - locale_t __loc) noexcept (true) __attribute__ ((__nonnull__ (1, 4))); - -extern unsigned long int strtoul_l (const char *__restrict __nptr, - char **__restrict __endptr, - int __base, locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 4))); - -__extension__ -extern long long int strtoll_l (const char *__restrict __nptr, - char **__restrict __endptr, int __base, - locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 4))); - -__extension__ -extern unsigned long long int strtoull_l (const char *__restrict __nptr, - char **__restrict __endptr, - int __base, locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 4))); - - - - - -extern long int strtol_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_strtol_l") - - - - __attribute__ ((__nonnull__ (1, 4))); -extern unsigned long int strtoul_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_strtoul_l") - - - - - __attribute__ ((__nonnull__ (1, 4))); -__extension__ -extern long long int strtoll_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_strtoll_l") - - - - - __attribute__ ((__nonnull__ (1, 4))); -__extension__ -extern unsigned long long int strtoull_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_strtoull_l") - - - - - __attribute__ ((__nonnull__ (1, 4))); -# 415 "/usr/include/stdlib.h" 3 4 -extern double strtod_l (const char *__restrict __nptr, - char **__restrict __endptr, locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - -extern float strtof_l (const char *__restrict __nptr, - char **__restrict __endptr, locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - -extern long double strtold_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); -# 436 "/usr/include/stdlib.h" 3 4 -extern _Float32 strtof32_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - - - -extern _Float64 strtof64_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - - - -extern _Float128 strtof128_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - - - -extern _Float32x strtof32x_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); - - - -extern _Float64x strtof64x_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - noexcept (true) __attribute__ ((__nonnull__ (1, 3))); -# 505 "/usr/include/stdlib.h" 3 4 -extern char *l64a (long int __n) noexcept (true) ; - - -extern long int a64l (const char *__s) - noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; - - - - -# 1 "/usr/include/sys/types.h" 1 3 4 -# 27 "/usr/include/sys/types.h" 3 4 -extern "C" { - - - - - -typedef __u_char u_char; -typedef __u_short u_short; -typedef __u_int u_int; -typedef __u_long u_long; -typedef __quad_t quad_t; -typedef __u_quad_t u_quad_t; -typedef __fsid_t fsid_t; - - -typedef __loff_t loff_t; - - - - -typedef __ino_t ino_t; - - - - - - -typedef __ino64_t ino64_t; - - - - -typedef __dev_t dev_t; - - - - -typedef __gid_t gid_t; - - - - -typedef __mode_t mode_t; - - - - -typedef __nlink_t nlink_t; - - - - -typedef __uid_t uid_t; - - - - - -typedef __off_t off_t; - - - - - - -typedef __off64_t off64_t; -# 103 "/usr/include/sys/types.h" 3 4 -typedef __id_t id_t; - - - - -typedef __ssize_t ssize_t; - - - - - -typedef __daddr_t daddr_t; -typedef __caddr_t caddr_t; - - - - - -typedef __key_t key_t; -# 134 "/usr/include/sys/types.h" 3 4 -typedef __useconds_t useconds_t; - - - -typedef __suseconds_t suseconds_t; - - - - - -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 145 "/usr/include/sys/types.h" 2 3 4 - - - -typedef unsigned long int ulong; -typedef unsigned short int ushort; -typedef unsigned int uint; - - - - -# 1 "/usr/include/bits/stdint-intn.h" 1 3 4 -# 24 "/usr/include/bits/stdint-intn.h" 3 4 -typedef __int8_t int8_t; -typedef __int16_t int16_t; -typedef __int32_t int32_t; -typedef __int64_t int64_t; -# 156 "/usr/include/sys/types.h" 2 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 int register_t __attribute__ ((__mode__ (__word__))); -# 176 "/usr/include/sys/types.h" 3 4 -# 1 "/usr/include/endian.h" 1 3 4 -# 35 "/usr/include/endian.h" 3 4 -# 1 "/usr/include/bits/byteswap.h" 1 3 4 -# 33 "/usr/include/bits/byteswap.h" 3 4 -static __inline __uint16_t -__bswap_16 (__uint16_t __bsx) -{ - - return __builtin_bswap16 (__bsx); - - - -} - - - - - - -static __inline __uint32_t -__bswap_32 (__uint32_t __bsx) -{ - - return __builtin_bswap32 (__bsx); - - - -} -# 69 "/usr/include/bits/byteswap.h" 3 4 -__extension__ static __inline __uint64_t -__bswap_64 (__uint64_t __bsx) -{ - - return __builtin_bswap64 (__bsx); - - - -} -# 36 "/usr/include/endian.h" 2 3 4 -# 1 "/usr/include/bits/uintn-identity.h" 1 3 4 -# 32 "/usr/include/bits/uintn-identity.h" 3 4 -static __inline __uint16_t -__uint16_identity (__uint16_t __x) -{ - return __x; -} - -static __inline __uint32_t -__uint32_identity (__uint32_t __x) -{ - return __x; -} - -static __inline __uint64_t -__uint64_identity (__uint64_t __x) -{ - return __x; -} -# 37 "/usr/include/endian.h" 2 3 4 -# 177 "/usr/include/sys/types.h" 2 3 4 - - -# 1 "/usr/include/sys/select.h" 1 3 4 -# 30 "/usr/include/sys/select.h" 3 4 -# 1 "/usr/include/bits/select.h" 1 3 4 -# 31 "/usr/include/sys/select.h" 2 3 4 - - -# 1 "/usr/include/bits/types/sigset_t.h" 1 3 4 - - - - - - -typedef __sigset_t sigset_t; -# 34 "/usr/include/sys/select.h" 2 3 4 -# 49 "/usr/include/sys/select.h" 3 4 -typedef long int __fd_mask; -# 59 "/usr/include/sys/select.h" 3 4 -typedef struct - { - - - - __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; - - - - - - } fd_set; - - - - - - -typedef __fd_mask fd_mask; -# 91 "/usr/include/sys/select.h" 3 4 -extern "C" { -# 102 "/usr/include/sys/select.h" 3 4 -extern int select (int __nfds, fd_set *__restrict __readfds, - fd_set *__restrict __writefds, - fd_set *__restrict __exceptfds, - struct timeval *__restrict __timeout); -# 127 "/usr/include/sys/select.h" 3 4 -extern int pselect (int __nfds, fd_set *__restrict __readfds, - fd_set *__restrict __writefds, - fd_set *__restrict __exceptfds, - const struct timespec *__restrict __timeout, - const __sigset_t *__restrict __sigmask); -# 153 "/usr/include/sys/select.h" 3 4 -} -# 180 "/usr/include/sys/types.h" 2 3 4 - - - - - -typedef __blksize_t blksize_t; - - - - - - -typedef __blkcnt_t blkcnt_t; - - - -typedef __fsblkcnt_t fsblkcnt_t; - - - -typedef __fsfilcnt_t fsfilcnt_t; -# 219 "/usr/include/sys/types.h" 3 4 -typedef __blkcnt64_t blkcnt64_t; -typedef __fsblkcnt64_t fsblkcnt64_t; -typedef __fsfilcnt64_t fsfilcnt64_t; -# 230 "/usr/include/sys/types.h" 3 4 -} -# 515 "/usr/include/stdlib.h" 2 3 4 - - - - - - -extern long int random (void) noexcept (true); - - -extern void srandom (unsigned int __seed) noexcept (true); - - - - - -extern char *initstate (unsigned int __seed, char *__statebuf, - size_t __statelen) noexcept (true) __attribute__ ((__nonnull__ (2))); - - - -extern char *setstate (char *__statebuf) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - - - -struct random_data - { - int32_t *fptr; - int32_t *rptr; - int32_t *state; - int rand_type; - int rand_deg; - int rand_sep; - int32_t *end_ptr; - }; - -extern int random_r (struct random_data *__restrict __buf, - int32_t *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - -extern int srandom_r (unsigned int __seed, struct random_data *__buf) - noexcept (true) __attribute__ ((__nonnull__ (2))); - -extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, - size_t __statelen, - struct random_data *__restrict __buf) - noexcept (true) __attribute__ ((__nonnull__ (2, 4))); - -extern int setstate_r (char *__restrict __statebuf, - struct random_data *__restrict __buf) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - - - - -extern int rand (void) noexcept (true); - -extern void srand (unsigned int __seed) noexcept (true); - - - -extern int rand_r (unsigned int *__seed) noexcept (true); - - - - - - - -extern double drand48 (void) noexcept (true); -extern double erand48 (unsigned short int __xsubi[3]) noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern long int lrand48 (void) noexcept (true); -extern long int nrand48 (unsigned short int __xsubi[3]) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern long int mrand48 (void) noexcept (true); -extern long int jrand48 (unsigned short int __xsubi[3]) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern void srand48 (long int __seedval) noexcept (true); -extern unsigned short int *seed48 (unsigned short int __seed16v[3]) - noexcept (true) __attribute__ ((__nonnull__ (1))); -extern void lcong48 (unsigned short int __param[7]) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - -struct drand48_data - { - unsigned short int __x[3]; - unsigned short int __old_x[3]; - unsigned short int __c; - unsigned short int __init; - __extension__ unsigned long long int __a; - - }; - - -extern int drand48_r (struct drand48_data *__restrict __buffer, - double *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); -extern int erand48_r (unsigned short int __xsubi[3], - struct drand48_data *__restrict __buffer, - double *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int lrand48_r (struct drand48_data *__restrict __buffer, - long int *__restrict __result) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); -extern int nrand48_r (unsigned short int __xsubi[3], - struct drand48_data *__restrict __buffer, - long int *__restrict __result) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int mrand48_r (struct drand48_data *__restrict __buffer, - long int *__restrict __result) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); -extern int jrand48_r (unsigned short int __xsubi[3], - struct drand48_data *__restrict __buffer, - long int *__restrict __result) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern int srand48_r (long int __seedval, struct drand48_data *__buffer) - noexcept (true) __attribute__ ((__nonnull__ (2))); - -extern int seed48_r (unsigned short int __seed16v[3], - struct drand48_data *__buffer) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - -extern int lcong48_r (unsigned short int __param[7], - struct drand48_data *__buffer) - noexcept (true) __attribute__ ((__nonnull__ (1, 2))); - - -extern __uint32_t arc4random (void) - noexcept (true) ; - - -extern void arc4random_buf (void *__buf, size_t __size) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern __uint32_t arc4random_uniform (__uint32_t __upper_bound) - noexcept (true) ; - - - - -extern void *malloc (size_t __size) noexcept (true) __attribute__ ((__malloc__)) - __attribute__ ((__alloc_size__ (1))) ; - -extern void *calloc (size_t __nmemb, size_t __size) - noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) ; - - - - - - -extern void *realloc (void *__ptr, size_t __size) - noexcept (true) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2))); - - -extern void free (void *__ptr) noexcept (true); - - - - - - - -extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) - noexcept (true) __attribute__ ((__warn_unused_result__)) - __attribute__ ((__alloc_size__ (2, 3))) - __attribute__ ((__malloc__ (__builtin_free, 1))); - - -extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) - noexcept (true) __attribute__ ((__malloc__ (reallocarray, 1))); - - - -# 1 "/usr/include/alloca.h" 1 3 4 -# 24 "/usr/include/alloca.h" 3 4 -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 25 "/usr/include/alloca.h" 2 3 4 - -extern "C" { - - - - - -extern void *alloca (size_t __size) noexcept (true); - - - - - -} -# 707 "/usr/include/stdlib.h" 2 3 4 - - - - - -extern void *valloc (size_t __size) noexcept (true) __attribute__ ((__malloc__)) - __attribute__ ((__alloc_size__ (1))) ; - - - - -extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) - noexcept (true) __attribute__ ((__nonnull__ (1))) ; - - - - -extern void *aligned_alloc (size_t __alignment, size_t __size) - noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1))) - __attribute__ ((__alloc_size__ (2))) ; - - - -extern void abort (void) noexcept (true) __attribute__ ((__noreturn__)); - - - -extern int atexit (void (*__func) (void)) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - -extern "C++" int at_quick_exit (void (*__func) (void)) - noexcept (true) __asm ("at_quick_exit") __attribute__ ((__nonnull__ (1))); -# 749 "/usr/include/stdlib.h" 3 4 -extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) - noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - -extern void exit (int __status) noexcept (true) __attribute__ ((__noreturn__)); - - - - - -extern void quick_exit (int __status) noexcept (true) __attribute__ ((__noreturn__)); - - - - - -extern void _Exit (int __status) noexcept (true) __attribute__ ((__noreturn__)); - - - - -extern char *getenv (const char *__name) noexcept (true) __attribute__ ((__nonnull__ (1))) ; - - - - -extern char *secure_getenv (const char *__name) - noexcept (true) __attribute__ ((__nonnull__ (1))) ; - - - - - - -extern int putenv (char *__string) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - -extern int setenv (const char *__name, const char *__value, int __replace) - noexcept (true) __attribute__ ((__nonnull__ (2))); - - -extern int unsetenv (const char *__name) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - - -extern int clearenv (void) noexcept (true); -# 814 "/usr/include/stdlib.h" 3 4 -extern char *mktemp (char *__template) noexcept (true) __attribute__ ((__nonnull__ (1))); -# 827 "/usr/include/stdlib.h" 3 4 -extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; -# 837 "/usr/include/stdlib.h" 3 4 -extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) ; -# 849 "/usr/include/stdlib.h" 3 4 -extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ; -# 859 "/usr/include/stdlib.h" 3 4 -extern int mkstemps64 (char *__template, int __suffixlen) - __attribute__ ((__nonnull__ (1))) ; -# 870 "/usr/include/stdlib.h" 3 4 -extern char *mkdtemp (char *__template) noexcept (true) __attribute__ ((__nonnull__ (1))) ; -# 881 "/usr/include/stdlib.h" 3 4 -extern int mkostemp (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ; -# 891 "/usr/include/stdlib.h" 3 4 -extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ; -# 901 "/usr/include/stdlib.h" 3 4 -extern int mkostemps (char *__template, int __suffixlen, int __flags) - __attribute__ ((__nonnull__ (1))) ; -# 913 "/usr/include/stdlib.h" 3 4 -extern int mkostemps64 (char *__template, int __suffixlen, int __flags) - __attribute__ ((__nonnull__ (1))) ; -# 923 "/usr/include/stdlib.h" 3 4 -extern int system (const char *__command) ; - - - - - -extern char *canonicalize_file_name (const char *__name) - noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__malloc__)) - __attribute__ ((__malloc__ (__builtin_free, 1))) ; -# 940 "/usr/include/stdlib.h" 3 4 -extern char *realpath (const char *__restrict __name, - char *__restrict __resolved) noexcept (true) ; - - - - - - -typedef int (*__compar_fn_t) (const void *, const void *); - - -typedef __compar_fn_t comparison_fn_t; - - - -typedef int (*__compar_d_fn_t) (const void *, const void *, void *); - - - - -extern void *bsearch (const void *__key, const void *__base, - size_t __nmemb, size_t __size, __compar_fn_t __compar) - __attribute__ ((__nonnull__ (1, 2, 5))) ; - - - - - - - -extern void qsort (void *__base, size_t __nmemb, size_t __size, - __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); - -extern void qsort_r (void *__base, size_t __nmemb, size_t __size, - __compar_d_fn_t __compar, void *__arg) - __attribute__ ((__nonnull__ (1, 4))); - - - - -extern int abs (int __x) noexcept (true) __attribute__ ((__const__)) ; -extern long int labs (long int __x) noexcept (true) __attribute__ ((__const__)) ; - - -__extension__ extern long long int llabs (long long int __x) - noexcept (true) __attribute__ ((__const__)) ; - - - - - - -extern div_t div (int __numer, int __denom) - noexcept (true) __attribute__ ((__const__)) ; -extern ldiv_t ldiv (long int __numer, long int __denom) - noexcept (true) __attribute__ ((__const__)) ; - - -__extension__ extern lldiv_t lldiv (long long int __numer, - long long int __denom) - noexcept (true) __attribute__ ((__const__)) ; -# 1012 "/usr/include/stdlib.h" 3 4 -extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, - int *__restrict __sign) noexcept (true) __attribute__ ((__nonnull__ (3, 4))) ; - - - - -extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, - int *__restrict __sign) noexcept (true) __attribute__ ((__nonnull__ (3, 4))) ; - - - - -extern char *gcvt (double __value, int __ndigit, char *__buf) - noexcept (true) __attribute__ ((__nonnull__ (3))) ; - - - - -extern char *qecvt (long double __value, int __ndigit, - int *__restrict __decpt, int *__restrict __sign) - noexcept (true) __attribute__ ((__nonnull__ (3, 4))) ; -extern char *qfcvt (long double __value, int __ndigit, - int *__restrict __decpt, int *__restrict __sign) - noexcept (true) __attribute__ ((__nonnull__ (3, 4))) ; -extern char *qgcvt (long double __value, int __ndigit, char *__buf) - noexcept (true) __attribute__ ((__nonnull__ (3))) ; - - - - -extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, - int *__restrict __sign, char *__restrict __buf, - size_t __len) noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5))); -extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, - int *__restrict __sign, char *__restrict __buf, - size_t __len) noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5))); - -extern int qecvt_r (long double __value, int __ndigit, - int *__restrict __decpt, int *__restrict __sign, - char *__restrict __buf, size_t __len) - noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5))); -extern int qfcvt_r (long double __value, int __ndigit, - int *__restrict __decpt, int *__restrict __sign, - char *__restrict __buf, size_t __len) - noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5))); - - - - - -extern int mblen (const char *__s, size_t __n) noexcept (true); - - -extern int mbtowc (wchar_t *__restrict __pwc, - const char *__restrict __s, size_t __n) noexcept (true); - - -extern int wctomb (char *__s, wchar_t __wchar) noexcept (true); - - - -extern size_t mbstowcs (wchar_t *__restrict __pwcs, - const char *__restrict __s, size_t __n) noexcept (true) - __attribute__ ((__access__ (__read_only__, 2))); - -extern size_t wcstombs (char *__restrict __s, - const wchar_t *__restrict __pwcs, size_t __n) - noexcept (true) - __attribute__ ((__access__ (__write_only__, 1, 3))) - __attribute__ ((__access__ (__read_only__, 2))); - - - - - - -extern int rpmatch (const char *__response) noexcept (true) __attribute__ ((__nonnull__ (1))) ; -# 1099 "/usr/include/stdlib.h" 3 4 -extern int getsubopt (char **__restrict __optionp, - char *const *__restrict __tokens, - char **__restrict __valuep) - noexcept (true) __attribute__ ((__nonnull__ (1, 2, 3))) ; - - - - - - - -extern int posix_openpt (int __oflag) ; - - - - - - - -extern int grantpt (int __fd) noexcept (true); - - - -extern int unlockpt (int __fd) noexcept (true); - - - - -extern char *ptsname (int __fd) noexcept (true) ; - - - - - - -extern int ptsname_r (int __fd, char *__buf, size_t __buflen) - noexcept (true) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3))); - - -extern int getpt (void); - - - - - - -extern int getloadavg (double __loadavg[], int __nelem) - noexcept (true) __attribute__ ((__nonnull__ (1))); -# 1155 "/usr/include/stdlib.h" 3 4 -# 1 "/usr/include/bits/stdlib-float.h" 1 3 4 -# 1156 "/usr/include/stdlib.h" 2 3 4 -# 1167 "/usr/include/stdlib.h" 3 4 -} -# 80 "/usr/include/c++/14.1.1/cstdlib" 2 3 - -# 1 "/usr/include/c++/14.1.1/bits/std_abs.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/std_abs.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/std_abs.h" 3 -# 46 "/usr/include/c++/14.1.1/bits/std_abs.h" 3 -extern "C++" -{ -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - using ::abs; - - - inline long - abs(long __i) { return __builtin_labs(__i); } - - - - inline long long - abs(long long __x) { return __builtin_llabs (__x); } -# 70 "/usr/include/c++/14.1.1/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); } - - - - __extension__ inline constexpr __int128 - abs(__int128 __x) { return __x >= 0 ? __x : -__x; } -# 135 "/usr/include/c++/14.1.1/bits/std_abs.h" 3 - __extension__ inline constexpr - __float128 - abs(__float128 __x) - { - - - - return __builtin_fabsf128(__x); - - - - - } - - - -} -} -# 82 "/usr/include/c++/14.1.1/cstdlib" 2 3 -# 125 "/usr/include/c++/14.1.1/cstdlib" 3 -extern "C++" -{ -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - 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) noexcept { return ldiv(__i, __j); } - - - - -} -# 199 "/usr/include/c++/14.1.1/cstdlib" 3 -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - - - - 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; -# 231 "/usr/include/c++/14.1.1/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; -} -# 275 "/usr/include/c++/14.1.1/cstdlib" 3 -} -# 44 "/usr/include/c++/14.1.1/ext/string_conversions.h" 2 3 -# 1 "/usr/include/c++/14.1.1/cwchar" 1 3 -# 39 "/usr/include/c++/14.1.1/cwchar" 3 - -# 40 "/usr/include/c++/14.1.1/cwchar" 3 -# 45 "/usr/include/c++/14.1.1/ext/string_conversions.h" 2 3 -# 1 "/usr/include/c++/14.1.1/cstdio" 1 3 -# 39 "/usr/include/c++/14.1.1/cstdio" 3 - -# 40 "/usr/include/c++/14.1.1/cstdio" 3 - - -# 1 "/usr/include/stdio.h" 1 3 4 -# 28 "/usr/include/stdio.h" 3 4 -# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 -# 29 "/usr/include/stdio.h" 2 3 4 - -extern "C" { - - - -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 35 "/usr/include/stdio.h" 2 3 4 - - -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stdarg.h" 1 3 4 -# 38 "/usr/include/stdio.h" 2 3 4 - - -# 1 "/usr/include/bits/types/__fpos_t.h" 1 3 4 -# 10 "/usr/include/bits/types/__fpos_t.h" 3 4 -typedef struct _G_fpos_t -{ - __off_t __pos; - __mbstate_t __state; -} __fpos_t; -# 41 "/usr/include/stdio.h" 2 3 4 -# 1 "/usr/include/bits/types/__fpos64_t.h" 1 3 4 -# 10 "/usr/include/bits/types/__fpos64_t.h" 3 4 -typedef struct _G_fpos64_t -{ - __off64_t __pos; - __mbstate_t __state; -} __fpos64_t; -# 42 "/usr/include/stdio.h" 2 3 4 - - -# 1 "/usr/include/bits/types/struct_FILE.h" 1 3 4 -# 35 "/usr/include/bits/types/struct_FILE.h" 3 4 -struct _IO_FILE; -struct _IO_marker; -struct _IO_codecvt; -struct _IO_wide_data; - - - - -typedef void _IO_lock_t; - - - - - -struct _IO_FILE -{ - int _flags; - - - char *_IO_read_ptr; - char *_IO_read_end; - char *_IO_read_base; - char *_IO_write_base; - char *_IO_write_ptr; - char *_IO_write_end; - char *_IO_buf_base; - char *_IO_buf_end; - - - char *_IO_save_base; - char *_IO_backup_base; - char *_IO_save_end; - - struct _IO_marker *_markers; - - struct _IO_FILE *_chain; - - int _fileno; - int _flags2; - __off_t _old_offset; - - - unsigned short _cur_column; - signed char _vtable_offset; - char _shortbuf[1]; - - _IO_lock_t *_lock; - - - - - - - - __off64_t _offset; - - struct _IO_codecvt *_codecvt; - struct _IO_wide_data *_wide_data; - struct _IO_FILE *_freeres_list; - void *_freeres_buf; - size_t __pad5; - int _mode; - - char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; -}; -# 45 "/usr/include/stdio.h" 2 3 4 - - -# 1 "/usr/include/bits/types/cookie_io_functions_t.h" 1 3 4 -# 27 "/usr/include/bits/types/cookie_io_functions_t.h" 3 4 -typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf, - size_t __nbytes); - - - - - - - -typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf, - size_t __nbytes); - - - - - - - -typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w); - - -typedef int cookie_close_function_t (void *__cookie); - - - - - - -typedef struct _IO_cookie_io_functions_t -{ - cookie_read_function_t *read; - cookie_write_function_t *write; - cookie_seek_function_t *seek; - cookie_close_function_t *close; -} cookie_io_functions_t; -# 48 "/usr/include/stdio.h" 2 3 4 -# 85 "/usr/include/stdio.h" 3 4 -typedef __fpos_t fpos_t; - - - - -typedef __fpos64_t fpos64_t; -# 129 "/usr/include/stdio.h" 3 4 -# 1 "/usr/include/bits/stdio_lim.h" 1 3 4 -# 130 "/usr/include/stdio.h" 2 3 4 -# 149 "/usr/include/stdio.h" 3 4 -extern FILE *stdin; -extern FILE *stdout; -extern FILE *stderr; - - - - - - -extern int remove (const char *__filename) noexcept (true); - -extern int rename (const char *__old, const char *__new) noexcept (true); - - - -extern int renameat (int __oldfd, const char *__old, int __newfd, - const char *__new) noexcept (true); -# 176 "/usr/include/stdio.h" 3 4 -extern int renameat2 (int __oldfd, const char *__old, int __newfd, - const char *__new, unsigned int __flags) noexcept (true); - - - - - - -extern int fclose (FILE *__stream) __attribute__ ((__nonnull__ (1))); -# 194 "/usr/include/stdio.h" 3 4 -extern FILE *tmpfile (void) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; -# 206 "/usr/include/stdio.h" 3 4 -extern FILE *tmpfile64 (void) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; - - - -extern char *tmpnam (char[20]) noexcept (true) ; - - - - -extern char *tmpnam_r (char __s[20]) noexcept (true) ; -# 228 "/usr/include/stdio.h" 3 4 -extern char *tempnam (const char *__dir, const char *__pfx) - noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (__builtin_free, 1))); - - - - - - -extern int fflush (FILE *__stream); -# 245 "/usr/include/stdio.h" 3 4 -extern int fflush_unlocked (FILE *__stream); -# 255 "/usr/include/stdio.h" 3 4 -extern int fcloseall (void); -# 264 "/usr/include/stdio.h" 3 4 -extern FILE *fopen (const char *__restrict __filename, - const char *__restrict __modes) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; - - - - -extern FILE *freopen (const char *__restrict __filename, - const char *__restrict __modes, - FILE *__restrict __stream) __attribute__ ((__nonnull__ (3))); -# 289 "/usr/include/stdio.h" 3 4 -extern FILE *fopen64 (const char *__restrict __filename, - const char *__restrict __modes) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; -extern FILE *freopen64 (const char *__restrict __filename, - const char *__restrict __modes, - FILE *__restrict __stream) __attribute__ ((__nonnull__ (3))); - - - - -extern FILE *fdopen (int __fd, const char *__modes) noexcept (true) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; - - - - - -extern FILE *fopencookie (void *__restrict __magic_cookie, - const char *__restrict __modes, - cookie_io_functions_t __io_funcs) noexcept (true) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; - - - - -extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) - noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; - - - - -extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) noexcept (true) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; - - - - - -extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) noexcept (true) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))); - - - - - -extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) noexcept (true) - __attribute__ ((__nonnull__ (1))); - - - -extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, - int __modes, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - -extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, - size_t __size) noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern void setlinebuf (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - - - -extern int fprintf (FILE *__restrict __stream, - const char *__restrict __format, ...) __attribute__ ((__nonnull__ (1))); - - - - -extern int printf (const char *__restrict __format, ...); - -extern int sprintf (char *__restrict __s, - const char *__restrict __format, ...) noexcept (true); - - - - - -extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, - __gnuc_va_list __arg) __attribute__ ((__nonnull__ (1))); - - - - -extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); - -extern int vsprintf (char *__restrict __s, const char *__restrict __format, - __gnuc_va_list __arg) noexcept (true); - - - -extern int snprintf (char *__restrict __s, size_t __maxlen, - const char *__restrict __format, ...) - noexcept (true) __attribute__ ((__format__ (__printf__, 3, 4))); - -extern int vsnprintf (char *__restrict __s, size_t __maxlen, - const char *__restrict __format, __gnuc_va_list __arg) - noexcept (true) __attribute__ ((__format__ (__printf__, 3, 0))); - - - - - -extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, - __gnuc_va_list __arg) - noexcept (true) __attribute__ ((__format__ (__printf__, 2, 0))) ; -extern int __asprintf (char **__restrict __ptr, - const char *__restrict __fmt, ...) - noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3))) ; -extern int asprintf (char **__restrict __ptr, - const char *__restrict __fmt, ...) - noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3))) ; - - - - -extern int vdprintf (int __fd, const char *__restrict __fmt, - __gnuc_va_list __arg) - __attribute__ ((__format__ (__printf__, 2, 0))); -extern int dprintf (int __fd, const char *__restrict __fmt, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); - - - - - - - -extern int fscanf (FILE *__restrict __stream, - const char *__restrict __format, ...) __attribute__ ((__nonnull__ (1))); - - - - -extern int scanf (const char *__restrict __format, ...) ; - -extern int sscanf (const char *__restrict __s, - const char *__restrict __format, ...) noexcept (true); -# 442 "/usr/include/stdio.h" 3 4 -extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc23_fscanf") - - __attribute__ ((__nonnull__ (1))); -extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc23_scanf") - ; -extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) noexcept (true) __asm__ ("" "__isoc23_sscanf") - - ; -# 490 "/usr/include/stdio.h" 3 4 -extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, - __gnuc_va_list __arg) - __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__nonnull__ (1))); - - - - - -extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) - __attribute__ ((__format__ (__scanf__, 1, 0))) ; - - -extern int vsscanf (const char *__restrict __s, - const char *__restrict __format, __gnuc_va_list __arg) - noexcept (true) __attribute__ ((__format__ (__scanf__, 2, 0))); - - - - - - -extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc23_vfscanf") - - - - __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__nonnull__ (1))); -extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc23_vscanf") - - __attribute__ ((__format__ (__scanf__, 1, 0))) ; -extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) noexcept (true) __asm__ ("" "__isoc23_vsscanf") - - - - __attribute__ ((__format__ (__scanf__, 2, 0))); -# 575 "/usr/include/stdio.h" 3 4 -extern int fgetc (FILE *__stream) __attribute__ ((__nonnull__ (1))); -extern int getc (FILE *__stream) __attribute__ ((__nonnull__ (1))); - - - - - -extern int getchar (void); - - - - - - -extern int getc_unlocked (FILE *__stream) __attribute__ ((__nonnull__ (1))); -extern int getchar_unlocked (void); -# 600 "/usr/include/stdio.h" 3 4 -extern int fgetc_unlocked (FILE *__stream) __attribute__ ((__nonnull__ (1))); -# 611 "/usr/include/stdio.h" 3 4 -extern int fputc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); -extern int putc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); - - - - - -extern int putchar (int __c); -# 627 "/usr/include/stdio.h" 3 4 -extern int fputc_unlocked (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); - - - - - - - -extern int putc_unlocked (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); -extern int putchar_unlocked (int __c); - - - - - - -extern int getw (FILE *__stream) __attribute__ ((__nonnull__ (1))); - - -extern int putw (int __w, FILE *__stream) __attribute__ ((__nonnull__ (2))); - - - - - - - -extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) - __attribute__ ((__access__ (__write_only__, 1, 2))) __attribute__ ((__nonnull__ (3))); -# 677 "/usr/include/stdio.h" 3 4 -extern char *fgets_unlocked (char *__restrict __s, int __n, - FILE *__restrict __stream) - __attribute__ ((__access__ (__write_only__, 1, 2))) __attribute__ ((__nonnull__ (3))); -# 694 "/usr/include/stdio.h" 3 4 -extern __ssize_t __getdelim (char **__restrict __lineptr, - size_t *__restrict __n, int __delimiter, - FILE *__restrict __stream) __attribute__ ((__nonnull__ (4))); -extern __ssize_t getdelim (char **__restrict __lineptr, - size_t *__restrict __n, int __delimiter, - FILE *__restrict __stream) __attribute__ ((__nonnull__ (4))); - - - - - - - -extern __ssize_t getline (char **__restrict __lineptr, - size_t *__restrict __n, - FILE *__restrict __stream) __attribute__ ((__nonnull__ (3))); - - - - - - - -extern int fputs (const char *__restrict __s, FILE *__restrict __stream) - __attribute__ ((__nonnull__ (2))); - - - - - -extern int puts (const char *__s); - - - - - - -extern int ungetc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); - - - - - - -extern size_t fread (void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __stream) - __attribute__ ((__nonnull__ (4))); - - - - -extern size_t fwrite (const void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __s) __attribute__ ((__nonnull__ (4))); -# 755 "/usr/include/stdio.h" 3 4 -extern int fputs_unlocked (const char *__restrict __s, - FILE *__restrict __stream) __attribute__ ((__nonnull__ (2))); -# 766 "/usr/include/stdio.h" 3 4 -extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __stream) - __attribute__ ((__nonnull__ (4))); -extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __stream) - __attribute__ ((__nonnull__ (4))); - - - - - - - -extern int fseek (FILE *__stream, long int __off, int __whence) - __attribute__ ((__nonnull__ (1))); - - - - -extern long int ftell (FILE *__stream) __attribute__ ((__nonnull__ (1))); - - - - -extern void rewind (FILE *__stream) __attribute__ ((__nonnull__ (1))); -# 803 "/usr/include/stdio.h" 3 4 -extern int fseeko (FILE *__stream, __off_t __off, int __whence) - __attribute__ ((__nonnull__ (1))); - - - - -extern __off_t ftello (FILE *__stream) __attribute__ ((__nonnull__ (1))); -# 829 "/usr/include/stdio.h" 3 4 -extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) - __attribute__ ((__nonnull__ (1))); - - - - -extern int fsetpos (FILE *__stream, const fpos_t *__pos) __attribute__ ((__nonnull__ (1))); -# 851 "/usr/include/stdio.h" 3 4 -extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence) - __attribute__ ((__nonnull__ (1))); -extern __off64_t ftello64 (FILE *__stream) __attribute__ ((__nonnull__ (1))); -extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos) - __attribute__ ((__nonnull__ (1))); -extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos) __attribute__ ((__nonnull__ (1))); - - - -extern void clearerr (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); - -extern int feof (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); - -extern int ferror (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern void clearerr_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); -extern int feof_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); -extern int ferror_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - - - - -extern void perror (const char *__s) __attribute__ ((__cold__)); - - - - -extern int fileno (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - - -extern int fileno_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); -# 897 "/usr/include/stdio.h" 3 4 -extern int pclose (FILE *__stream) __attribute__ ((__nonnull__ (1))); - - - - - -extern FILE *popen (const char *__command, const char *__modes) - __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) ; - - - - - - -extern char *ctermid (char *__s) noexcept (true) - __attribute__ ((__access__ (__write_only__, 1))); - - - - - -extern char *cuserid (char *__s) - __attribute__ ((__access__ (__write_only__, 1))); - - - - -struct obstack; - - -extern int obstack_printf (struct obstack *__restrict __obstack, - const char *__restrict __format, ...) - noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3))); -extern int obstack_vprintf (struct obstack *__restrict __obstack, - const char *__restrict __format, - __gnuc_va_list __args) - noexcept (true) __attribute__ ((__format__ (__printf__, 2, 0))); - - - - - - - -extern void flockfile (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); - - - -extern int ftrylockfile (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); - - -extern void funlockfile (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1))); -# 959 "/usr/include/stdio.h" 3 4 -extern int __uflow (FILE *); -extern int __overflow (FILE *, int); -# 983 "/usr/include/stdio.h" 3 4 -} -# 43 "/usr/include/c++/14.1.1/cstdio" 2 3 -# 96 "/usr/include/c++/14.1.1/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/include/c++/14.1.1/cstdio" 3 -namespace __gnu_cxx -{ -# 175 "/usr/include/c++/14.1.1/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; -} -# 46 "/usr/include/c++/14.1.1/ext/string_conversions.h" 2 3 -# 1 "/usr/include/c++/14.1.1/cerrno" 1 3 -# 39 "/usr/include/c++/14.1.1/cerrno" 3 - -# 40 "/usr/include/c++/14.1.1/cerrno" 3 - - -# 1 "/usr/include/errno.h" 1 3 4 -# 28 "/usr/include/errno.h" 3 4 -# 1 "/usr/include/bits/errno.h" 1 3 4 -# 26 "/usr/include/bits/errno.h" 3 4 -# 1 "/usr/include/linux/errno.h" 1 3 4 -# 1 "/usr/include/asm/errno.h" 1 3 4 -# 1 "/usr/include/asm-generic/errno.h" 1 3 4 - - - - -# 1 "/usr/include/asm-generic/errno-base.h" 1 3 4 -# 6 "/usr/include/asm-generic/errno.h" 2 3 4 -# 2 "/usr/include/asm/errno.h" 2 3 4 -# 2 "/usr/include/linux/errno.h" 2 3 4 -# 27 "/usr/include/bits/errno.h" 2 3 4 -# 29 "/usr/include/errno.h" 2 3 4 - - - - - -extern "C" { - - -extern int *__errno_location (void) noexcept (true) __attribute__ ((__const__)); - - - - - - - -extern char *program_invocation_name; -extern char *program_invocation_short_name; - -# 1 "/usr/include/bits/types/error_t.h" 1 3 4 -# 22 "/usr/include/bits/types/error_t.h" 3 4 -typedef int error_t; -# 49 "/usr/include/errno.h" 2 3 4 - - - -} -# 43 "/usr/include/c++/14.1.1/cerrno" 2 3 -# 47 "/usr/include/c++/14.1.1/ext/string_conversions.h" 2 3 - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - - - - 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_location ())) { (*__errno_location ()) = 0; } - ~_Save_errno() { if ((*__errno_location ()) == 0) (*__errno_location ()) = _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_location ()) == 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); - } - - -} -# 4155 "/usr/include/c++/14.1.1/bits/basic_string.h" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/charconv.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/charconv.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/charconv.h" 3 - - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -namespace __detail -{ - - - template - constexpr bool __integer_to_chars_is_unsigned - = ! __gnu_cxx::__int_traits<_Tp>::__is_signed; - - - - template - constexpr unsigned - __to_chars_len(_Tp __value, int __base = 10) noexcept - { - - static_assert(__integer_to_chars_is_unsigned<_Tp>, "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(__integer_to_chars_is_unsigned<_Tp>, "implementation bug"); - - - 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; - } - -} - -} -# 4156 "/usr/include/c++/14.1.1/bits/basic_string.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -namespace __cxx11 { - - - 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); } -# 4198 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - inline double - stod(const string& __str, size_t* __idx = 0) - { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); } - - - - inline float - stof(const string& __str, size_t* __idx = 0) - { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); } -# 4226 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - inline long double - stold(const string& __str, size_t* __idx = 0) - { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); } -# 4238 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] - inline string - to_string(int __val) - - noexcept - - { - const bool __neg = __val < 0; - const unsigned __uval = __neg ? (unsigned)~__val + 1u : __val; - const auto __len = __detail::__to_chars_len(__uval); - string __str; - __str.__resize_and_overwrite(__neg + __len, [=](char* __p, size_t __n) { - __p[0] = '-'; - __detail::__to_chars_10_impl(__p + (int)__neg, __len, __uval); - return __n; - }); - return __str; - } - - [[__nodiscard__]] - inline string - to_string(unsigned __val) - - noexcept - - { - const auto __len = __detail::__to_chars_len(__val); - string __str; - __str.__resize_and_overwrite(__len, [__val](char* __p, size_t __n) { - __detail::__to_chars_10_impl(__p, __n, __val); - return __n; - }); - return __str; - } - - [[__nodiscard__]] - 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; - __str.__resize_and_overwrite(__neg + __len, [=](char* __p, size_t __n) { - __p[0] = '-'; - __detail::__to_chars_10_impl(__p + (int)__neg, __len, __uval); - return __n; - }); - return __str; - } - - [[__nodiscard__]] - inline string - to_string(unsigned long __val) - - - - { - const auto __len = __detail::__to_chars_len(__val); - string __str; - __str.__resize_and_overwrite(__len, [__val](char* __p, size_t __n) { - __detail::__to_chars_10_impl(__p, __n, __val); - return __n; - }); - return __str; - } - - [[__nodiscard__]] - 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; - __str.__resize_and_overwrite(__neg + __len, [=](char* __p, size_t __n) { - __p[0] = '-'; - __detail::__to_chars_10_impl(__p + (int)__neg, __len, __uval); - return __n; - }); - return __str; - } - - [[__nodiscard__]] - inline string - to_string(unsigned long long __val) - { - const auto __len = __detail::__to_chars_len(__val); - string __str; - __str.__resize_and_overwrite(__len, [__val](char* __p, size_t __n) { - __detail::__to_chars_10_impl(__p, __n, __val); - return __n; - }); - return __str; - } -# 4399 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - [[__nodiscard__]] - 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); - } - - [[__nodiscard__]] - 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); - } - - [[__nodiscard__]] - 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); } - - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wc++17-extensions" - constexpr - inline void - __to_wstring_numeric(const char* __s, int __len, wchar_t* __wout) - { - - - if constexpr (wchar_t('0') == L'0' && wchar_t('-') == L'-' - && wchar_t('.') == L'.' && wchar_t('e') == L'e') - { - for (int __i = 0; __i < __len; ++__i) - __wout[__i] = (wchar_t) __s[__i]; - } - else - { - wchar_t __wc[256]; - for (int __i = '0'; __i <= '9'; ++__i) - __wc[__i] = L'0' + __i; - __wc['.'] = L'.'; - __wc['+'] = L'+'; - __wc['-'] = L'-'; - __wc['a'] = L'a'; - __wc['b'] = L'b'; - __wc['c'] = L'c'; - __wc['d'] = L'd'; - __wc['e'] = L'e'; - __wc['f'] = L'f'; - __wc['n'] = L'n'; - __wc['p'] = L'p'; - __wc['x'] = L'x'; - __wc['A'] = L'A'; - __wc['B'] = L'B'; - __wc['C'] = L'C'; - __wc['D'] = L'D'; - __wc['E'] = L'E'; - __wc['F'] = L'F'; - __wc['N'] = L'N'; - __wc['P'] = L'P'; - __wc['X'] = L'X'; - - for (int __i = 0; __i < __len; ++__i) - __wout[__i] = __wc[(int)__s[__i]]; - } - } - - - constexpr - - inline wstring - - __to_wstring_numeric(string_view __s) - - - - { - if constexpr (wchar_t('0') == L'0' && wchar_t('-') == L'-' - && wchar_t('.') == L'.' && wchar_t('e') == L'e') - return wstring(__s.data(), __s.data() + __s.size()); - else - { - wstring __ws; - auto __f = __s.data(); - __ws.__resize_and_overwrite(__s.size(), - [__f] (wchar_t* __to, int __n) { - std::__to_wstring_numeric(__f, __n, __to); - return __n; - }); - return __ws; - } - } -#pragma GCC diagnostic pop - - [[__nodiscard__]] - inline wstring - to_wstring(int __val) - { return std::__to_wstring_numeric(std::to_string(__val)); } - - [[__nodiscard__]] - inline wstring - to_wstring(unsigned __val) - { return std::__to_wstring_numeric(std::to_string(__val)); } - - [[__nodiscard__]] - inline wstring - to_wstring(long __val) - { return std::__to_wstring_numeric(std::to_string(__val)); } - - [[__nodiscard__]] - inline wstring - to_wstring(unsigned long __val) - { return std::__to_wstring_numeric(std::to_string(__val)); } - - [[__nodiscard__]] - inline wstring - to_wstring(long long __val) - { return std::__to_wstring_numeric(std::to_string(__val)); } - - [[__nodiscard__]] - inline wstring - to_wstring(unsigned long long __val) - { return std::__to_wstring_numeric(std::to_string(__val)); } - - - [[__nodiscard__]] - inline wstring - to_wstring(float __val) - { return std::__to_wstring_numeric(std::to_string(__val)); } - - [[__nodiscard__]] - inline wstring - to_wstring(double __val) - { return std::__to_wstring_numeric(std::to_string(__val)); } - - [[__nodiscard__]] - inline wstring - to_wstring(long double __val) - { return std::__to_wstring_numeric(std::to_string(__val)); } - - - -} - -} - - - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - template, _Alloc>> - struct __str_hash_base - : public __hash_base - { - [[__nodiscard__]] - size_t - operator()(const _StrT& __s) const noexcept - { return _Hash_impl::hash(__s.data(), __s.length() * sizeof(_CharT)); } - }; - - - - template - struct hash, _Alloc>> - : public __str_hash_base - { }; - - - template - struct hash, _Alloc>> - : public __str_hash_base - { }; - - template - struct __is_fast_hash, - _Alloc>>> - : std::false_type - { }; - - - - - template - struct hash, _Alloc>> - : public __str_hash_base - { }; - - - - template - struct hash, _Alloc>> - : public __str_hash_base - { }; - - - template - struct hash, _Alloc>> - : public __str_hash_base - { }; - - - - template<> struct __is_fast_hash> : std::false_type { }; - template<> struct __is_fast_hash> : std::false_type { }; - template<> struct __is_fast_hash> : std::false_type { }; - template<> struct __is_fast_hash> : std::false_type { }; - - template<> struct __is_fast_hash> : std::false_type { }; -# 4678 "/usr/include/c++/14.1.1/bits/basic_string.h" 3 - inline namespace literals - { - inline namespace string_literals - { -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wliteral-suffix" - - - - - - - - __attribute ((__abi_tag__ ("cxx11"))) constexpr - inline basic_string - operator""s(const char* __str, size_t __len) - { return basic_string{__str, __len}; } - - __attribute ((__abi_tag__ ("cxx11"))) constexpr - inline basic_string - operator""s(const wchar_t* __str, size_t __len) - { return basic_string{__str, __len}; } - - - __attribute ((__abi_tag__ ("cxx11"))) constexpr - inline basic_string - operator""s(const char8_t* __str, size_t __len) - { return basic_string{__str, __len}; } - - - __attribute ((__abi_tag__ ("cxx11"))) constexpr - inline basic_string - operator""s(const char16_t* __str, size_t __len) - { return basic_string{__str, __len}; } - - __attribute ((__abi_tag__ ("cxx11"))) constexpr - 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 - { }; - } - - - -} -# 55 "/usr/include/c++/14.1.1/string" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/basic_string.tcc" 1 3 -# 42 "/usr/include/c++/14.1.1/bits/basic_string.tcc" 3 - -# 43 "/usr/include/c++/14.1.1/bits/basic_string.tcc" 3 - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - template - const typename basic_string<_CharT, _Traits, _Alloc>::size_type - basic_string<_CharT, _Traits, _Alloc>::npos; - - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - swap(basic_string& __s) noexcept - { - if (this == std::__addressof(__s)) - return; - - _Alloc_traits::_S_on_swap(_M_get_allocator(), __s._M_get_allocator()); - - if (_M_is_local()) - if (__s._M_is_local()) - { - if (length() && __s.length()) - { - _CharT __tmp_data[_S_local_capacity + 1]; - traits_type::copy(__tmp_data, __s._M_local_buf, - __s.length() + 1); - traits_type::copy(__s._M_local_buf, _M_local_buf, - length() + 1); - traits_type::copy(_M_local_buf, __tmp_data, - __s.length() + 1); - } - else if (__s.length()) - { - _M_init_local_buf(); - traits_type::copy(_M_local_buf, __s._M_local_buf, - __s.length() + 1); - _M_length(__s.length()); - __s._M_set_length(0); - return; - } - else if (length()) - { - __s._M_init_local_buf(); - traits_type::copy(__s._M_local_buf, _M_local_buf, - length() + 1); - __s._M_length(length()); - _M_set_length(0); - return; - } - } - else - { - const size_type __tmp_capacity = __s._M_allocated_capacity; - __s._M_init_local_buf(); - traits_type::copy(__s._M_local_buf, _M_local_buf, - length() + 1); - _M_data(__s._M_data()); - __s._M_data(__s._M_local_buf); - _M_capacity(__tmp_capacity); - } - else - { - const size_type __tmp_capacity = _M_allocated_capacity; - if (__s._M_is_local()) - { - _M_init_local_buf(); - traits_type::copy(_M_local_buf, __s._M_local_buf, - __s.length() + 1); - __s._M_data(_M_data()); - _M_data(_M_local_buf); - } - else - { - pointer __tmp_ptr = _M_data(); - _M_data(__s._M_data()); - __s._M_data(__tmp_ptr); - _M_capacity(__s._M_allocated_capacity); - } - __s._M_capacity(__tmp_capacity); - } - - const size_type __tmp_length = length(); - _M_length(__s.length()); - __s._M_length(__tmp_length); - } - - template - constexpr - typename basic_string<_CharT, _Traits, _Alloc>::pointer - basic_string<_CharT, _Traits, _Alloc>:: - _M_create(size_type& __capacity, size_type __old_capacity) - { - - - if (__capacity > max_size()) - std::__throw_length_error(("basic_string::_M_create")); - - - - - if (__capacity > __old_capacity && __capacity < 2 * __old_capacity) - { - __capacity = 2 * __old_capacity; - - if (__capacity > max_size()) - __capacity = max_size(); - } - - - - return _S_allocate(_M_get_allocator(), __capacity + 1); - } - - - - - - template - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - _M_construct(_InIterator __beg, _InIterator __end, - std::input_iterator_tag) - { - size_type __len = 0; - size_type __capacity = size_type(_S_local_capacity); - - _M_init_local_buf(); - - while (__beg != __end && __len < __capacity) - { - _M_local_buf[__len++] = *__beg; - ++__beg; - } - - struct _Guard - { - constexpr - explicit _Guard(basic_string* __s) : _M_guarded(__s) { } - - constexpr - ~_Guard() { if (_M_guarded) _M_guarded->_M_dispose(); } - - basic_string* _M_guarded; - } __guard(this); - - while (__beg != __end) - { - if (__len == __capacity) - { - - __capacity = __len + 1; - pointer __another = _M_create(__capacity, __len); - this->_S_copy(__another, _M_data(), __len); - _M_dispose(); - _M_data(__another); - _M_capacity(__capacity); - } - traits_type::assign(_M_data()[__len++], *__beg); - ++__beg; - } - - __guard._M_guarded = 0; - - _M_set_length(__len); - } - - template - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - _M_construct(_InIterator __beg, _InIterator __end, - std::forward_iterator_tag) - { - size_type __dnew = static_cast(std::distance(__beg, __end)); - - if (__dnew > size_type(_S_local_capacity)) - { - _M_data(_M_create(__dnew, size_type(0))); - _M_capacity(__dnew); - } - else - _M_init_local_buf(); - - - struct _Guard - { - constexpr - explicit _Guard(basic_string* __s) : _M_guarded(__s) { } - - constexpr - ~_Guard() { if (_M_guarded) _M_guarded->_M_dispose(); } - - basic_string* _M_guarded; - } __guard(this); - - this->_S_copy_chars(_M_data(), __beg, __end); - - __guard._M_guarded = 0; - - _M_set_length(__dnew); - } - - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - _M_construct(size_type __n, _CharT __c) - { - if (__n > size_type(_S_local_capacity)) - { - _M_data(_M_create(__n, size_type(0))); - _M_capacity(__n); - } - else - _M_init_local_buf(); - - if (__n) - this->_S_assign(_M_data(), __n, __c); - - _M_set_length(__n); - } - - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - _M_assign(const basic_string& __str) - { - if (this != std::__addressof(__str)) - { - const size_type __rsize = __str.length(); - const size_type __capacity = capacity(); - - if (__rsize > __capacity) - { - size_type __new_capacity = __rsize; - pointer __tmp = _M_create(__new_capacity, __capacity); - _M_dispose(); - _M_data(__tmp); - _M_capacity(__new_capacity); - } - - if (__rsize) - this->_S_copy(_M_data(), __str._M_data(), __rsize); - - _M_set_length(__rsize); - } - } - - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - reserve(size_type __res) - { - const size_type __capacity = capacity(); - - - - - if (__res <= __capacity) - return; - - pointer __tmp = _M_create(__res, __capacity); - this->_S_copy(__tmp, _M_data(), length() + 1); - _M_dispose(); - _M_data(__tmp); - _M_capacity(__res); - } - - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - _M_mutate(size_type __pos, size_type __len1, const _CharT* __s, - size_type __len2) - { - const size_type __how_much = length() - __pos - __len1; - - size_type __new_capacity = length() + __len2 - __len1; - pointer __r = _M_create(__new_capacity, capacity()); - - if (__pos) - this->_S_copy(__r, _M_data(), __pos); - if (__s && __len2) - this->_S_copy(__r + __pos, __s, __len2); - if (__how_much) - this->_S_copy(__r + __pos + __len2, - _M_data() + __pos + __len1, __how_much); - - _M_dispose(); - _M_data(__r); - _M_capacity(__new_capacity); - } - - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - _M_erase(size_type __pos, size_type __n) - { - const size_type __how_much = length() - __pos - __n; - - if (__how_much && __n) - this->_S_move(_M_data() + __pos, _M_data() + __pos + __n, __how_much); - - _M_set_length(length() - __n); - } - - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - reserve() - { - if (_M_is_local()) - return; - - const size_type __length = length(); - const size_type __capacity = _M_allocated_capacity; - - if (__length <= size_type(_S_local_capacity)) - { - _M_init_local_buf(); - this->_S_copy(_M_local_buf, _M_data(), __length + 1); - _M_destroy(__capacity); - _M_data(_M_local_data()); - } - - else if (__length < __capacity) - try - { - pointer __tmp = _S_allocate(_M_get_allocator(), __length + 1); - this->_S_copy(__tmp, _M_data(), __length + 1); - _M_dispose(); - _M_data(__tmp); - _M_capacity(__length); - } - catch (const __cxxabiv1::__forced_unwind&) - { throw; } - catch (...) - { } - - } - - template - constexpr - void - basic_string<_CharT, _Traits, _Alloc>:: - resize(size_type __n, _CharT __c) - { - const size_type __size = this->size(); - if (__size < __n) - this->append(__n - __size, __c); - else if (__n < __size) - this->_M_set_length(__n); - } - - template - constexpr - basic_string<_CharT, _Traits, _Alloc>& - basic_string<_CharT, _Traits, _Alloc>:: - _M_append(const _CharT* __s, size_type __n) - { - const size_type __len = __n + this->size(); - - if (__len <= this->capacity()) - { - if (__n) - this->_S_copy(this->_M_data() + this->size(), __s, __n); - } - else - this->_M_mutate(this->size(), size_type(0), __s, __n); - - this->_M_set_length(__len); - return *this; - } - - template - template - constexpr - basic_string<_CharT, _Traits, _Alloc>& - basic_string<_CharT, _Traits, _Alloc>:: - _M_replace_dispatch(const_iterator __i1, const_iterator __i2, - _InputIterator __k1, _InputIterator __k2, - std::__false_type) - { - - - const basic_string __s(__k1, __k2, this->get_allocator()); - const size_type __n1 = __i2 - __i1; - return _M_replace(__i1 - begin(), __n1, __s._M_data(), - __s.size()); - } - - template - constexpr - 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"); - - const size_type __old_size = this->size(); - const size_type __new_size = __old_size + __n2 - __n1; - - if (__new_size <= this->capacity()) - { - pointer __p = this->_M_data() + __pos1; - - const size_type __how_much = __old_size - __pos1 - __n1; - if (__how_much && __n1 != __n2) - this->_S_move(__p + __n2, __p + __n1, __how_much); - } - else - this->_M_mutate(__pos1, __n1, 0, __n2); - - if (__n2) - this->_S_assign(this->_M_data() + __pos1, __n2, __c); - - this->_M_set_length(__new_size); - return *this; - } - - template - __attribute__((__noinline__, __noclone__, __cold__)) void - basic_string<_CharT, _Traits, _Alloc>:: - _M_replace_cold(pointer __p, size_type __len1, const _CharT* __s, - const size_type __len2, const size_type __how_much) - { - - if (__len2 && __len2 <= __len1) - this->_S_move(__p, __s, __len2); - if (__how_much && __len1 != __len2) - this->_S_move(__p + __len2, __p + __len1, __how_much); - if (__len2 > __len1) - { - if (__s + __len2 <= __p + __len1) - this->_S_move(__p, __s, __len2); - else if (__s >= __p + __len1) - { - - - const size_type __poff = (__s - __p) + (__len2 - __len1); - this->_S_copy(__p, __p + __poff, __len2); - } - else - { - const size_type __nleft = (__p + __len1) - __s; - this->_S_move(__p, __s, __nleft); - this->_S_copy(__p + __nleft, __p + __len2, __len2 - __nleft); - } - } - } - - template - constexpr - basic_string<_CharT, _Traits, _Alloc>& - basic_string<_CharT, _Traits, _Alloc>:: - _M_replace(size_type __pos, size_type __len1, const _CharT* __s, - const size_type __len2) - { - _M_check_length(__len1, __len2, "basic_string::_M_replace"); - - const size_type __old_size = this->size(); - const size_type __new_size = __old_size + __len2 - __len1; - - if (__new_size <= this->capacity()) - { - pointer __p = this->_M_data() + __pos; - - const size_type __how_much = __old_size - __pos - __len1; - - if (std::is_constant_evaluated()) - { - auto __newp = _S_allocate(_M_get_allocator(), __new_size); - _S_copy(__newp, this->_M_data(), __pos); - _S_copy(__newp + __pos, __s, __len2); - _S_copy(__newp + __pos + __len2, __p + __len1, __how_much); - _S_copy(this->_M_data(), __newp, __new_size); - this->_M_get_allocator().deallocate(__newp, __new_size); - } - else - - if (__builtin_expect(_M_disjunct(__s), true)) - { - if (__how_much && __len1 != __len2) - this->_S_move(__p + __len2, __p + __len1, __how_much); - if (__len2) - this->_S_copy(__p, __s, __len2); - } - else - _M_replace_cold(__p, __len1, __s, __len2, __how_much); - } - else - this->_M_mutate(__pos, __len1, __s, __len2); - - this->_M_set_length(__new_size); - return *this; - } - - template - constexpr - 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) - _S_copy(__s, _M_data() + __pos, __n); - - return __n; - } -# 580 "/usr/include/c++/14.1.1/bits/basic_string.tcc" 3 - template - template - constexpr void - basic_string<_CharT, _Traits, _Alloc>:: - - - - __resize_and_overwrite(const size_type __n, _Operation __op) - - { - reserve(__n); - _CharT* const __p = _M_data(); - - if (std::__is_constant_evaluated() && __n > size()) - traits_type::assign(__p + size(), __n - size(), _CharT()); - - struct _Terminator { - constexpr ~_Terminator() { _M_this->_M_set_length(_M_r); } - basic_string* _M_this; - size_type _M_r; - }; - _Terminator __term{this, 0}; - auto __r = std::move(__op)(__p + 0, __n + 0); - - static_assert(ranges::__detail::__is_integer_like); - - - - - ; - __term._M_r = size_type(__r); - if (__term._M_r > __n) - __builtin_unreachable(); - } -# 623 "/usr/include/c++/14.1.1/bits/basic_string.tcc" 3 - template - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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 - constexpr - 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 - 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; - } -# 985 "/usr/include/c++/14.1.1/bits/basic_string.tcc" 3 - extern template void - basic_string::_M_replace_cold(char *, size_type, const char*, - const size_type, const size_type); - - - 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&); -# 1011 "/usr/include/c++/14.1.1/bits/basic_string.tcc" 3 - extern template void - basic_string::_M_replace_cold(wchar_t*, size_type, const wchar_t*, - const size_type, const size_type); - - - 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&); - - - - -} -# 56 "/usr/include/c++/14.1.1/string" 2 3 -# 64 "/usr/include/c++/14.1.1/string" 3 -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 65 "/usr/include/c++/14.1.1/string" 2 3 - - -# 1 "/usr/include/c++/14.1.1/bits/memory_resource.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - - - - -# 1 "/usr/include/c++/14.1.1/cstddef" 1 3 -# 42 "/usr/include/c++/14.1.1/cstddef" 3 - -# 43 "/usr/include/c++/14.1.1/cstddef" 3 - - - - - - - -# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/14.1.1/include/stddef.h" 1 3 4 -# 51 "/usr/include/c++/14.1.1/cstddef" 2 3 - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 54 "/usr/include/c++/14.1.1/cstddef" 2 3 - -extern "C++" -{ - -namespace std -{ - - using ::max_align_t; -} - - - -namespace std -{ - - - enum class byte : unsigned char {}; - - template struct __byte_operand { }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - - template<> struct __byte_operand { using __type = byte; }; - - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - template<> struct __byte_operand { using __type = byte; }; - - template<> struct __byte_operand<__int128> - { using __type = byte; }; - template<> struct __byte_operand - { using __type = byte; }; -# 109 "/usr/include/c++/14.1.1/cstddef" 3 - template - struct __byte_operand - : __byte_operand<_IntegerType> { }; - template - struct __byte_operand - : __byte_operand<_IntegerType> { }; - template - struct __byte_operand - : __byte_operand<_IntegerType> { }; - - template - using __byte_op_t = typename __byte_operand<_IntegerType>::__type; - - template - [[__gnu__::__always_inline__]] - constexpr __byte_op_t<_IntegerType> - operator<<(byte __b, _IntegerType __shift) noexcept - { return (byte)(unsigned char)((unsigned)__b << __shift); } - - template - [[__gnu__::__always_inline__]] - constexpr __byte_op_t<_IntegerType> - operator>>(byte __b, _IntegerType __shift) noexcept - { return (byte)(unsigned char)((unsigned)__b >> __shift); } - - [[__gnu__::__always_inline__]] - constexpr byte - operator|(byte __l, byte __r) noexcept - { return (byte)(unsigned char)((unsigned)__l | (unsigned)__r); } - - [[__gnu__::__always_inline__]] - constexpr byte - operator&(byte __l, byte __r) noexcept - { return (byte)(unsigned char)((unsigned)__l & (unsigned)__r); } - - [[__gnu__::__always_inline__]] - constexpr byte - operator^(byte __l, byte __r) noexcept - { return (byte)(unsigned char)((unsigned)__l ^ (unsigned)__r); } - - [[__gnu__::__always_inline__]] - constexpr byte - operator~(byte __b) noexcept - { return (byte)(unsigned char)~(unsigned)__b; } - - template - [[__gnu__::__always_inline__]] - constexpr __byte_op_t<_IntegerType>& - operator<<=(byte& __b, _IntegerType __shift) noexcept - { return __b = __b << __shift; } - - template - [[__gnu__::__always_inline__]] - constexpr __byte_op_t<_IntegerType>& - operator>>=(byte& __b, _IntegerType __shift) noexcept - { return __b = __b >> __shift; } - - [[__gnu__::__always_inline__]] - constexpr byte& - operator|=(byte& __l, byte __r) noexcept - { return __l = __l | __r; } - - [[__gnu__::__always_inline__]] - constexpr byte& - operator&=(byte& __l, byte __r) noexcept - { return __l = __l & __r; } - - [[__gnu__::__always_inline__]] - constexpr byte& - operator^=(byte& __l, byte __r) noexcept - { return __l = __l ^ __r; } - - template - [[nodiscard,__gnu__::__always_inline__]] - constexpr _IntegerType - to_integer(__byte_op_t<_IntegerType> __b) noexcept - { return _IntegerType(__b); } - - -} - -} -# 39 "/usr/include/c++/14.1.1/bits/memory_resource.h" 2 3 - -# 1 "/usr/include/c++/14.1.1/bits/uses_allocator.h" 1 3 -# 40 "/usr/include/c++/14.1.1/bits/uses_allocator.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - struct __erased_type { }; - - - - - template - using __is_erased_or_convertible - = __or_, is_same<_Tp, __erased_type>>; - - - struct allocator_arg_t { explicit allocator_arg_t() = default; }; - - inline constexpr allocator_arg_t allocator_arg = - allocator_arg_t(); - - template> - struct __uses_allocator_helper - : false_type { }; - - template - struct __uses_allocator_helper<_Tp, _Alloc, - __void_t> - : __is_erased_or_convertible<_Alloc, typename _Tp::allocator_type>::type - { }; - - - template - struct uses_allocator - : __uses_allocator_helper<_Tp, _Alloc>::type - { }; - - struct __uses_alloc_base { }; - - struct __uses_alloc0 : __uses_alloc_base - { - struct _Sink { void constexpr operator=(const void*) { } } _M_a; - }; - - template - struct __uses_alloc1 : __uses_alloc_base { const _Alloc* _M_a; }; - - template - struct __uses_alloc2 : __uses_alloc_base { const _Alloc* _M_a; }; - - template - struct __uses_alloc; - - template - struct __uses_alloc - : __conditional_t< - is_constructible<_Tp, allocator_arg_t, const _Alloc&, _Args...>::value, - __uses_alloc1<_Alloc>, - __uses_alloc2<_Alloc>> - { - - - static_assert(__or_< - is_constructible<_Tp, allocator_arg_t, const _Alloc&, _Args...>, - is_constructible<_Tp, _Args..., const _Alloc&>>::value, - "construction with an allocator must be possible" - " if uses_allocator is true"); - }; - - template - struct __uses_alloc - : __uses_alloc0 { }; - - template - using __uses_alloc_t = - __uses_alloc::value, _Tp, _Alloc, _Args...>; - - template - constexpr - inline __uses_alloc_t<_Tp, _Alloc, _Args...> - __use_alloc(const _Alloc& __a) - { - __uses_alloc_t<_Tp, _Alloc, _Args...> __ret; - __ret._M_a = std::__addressof(__a); - return __ret; - } - - template - void - __use_alloc(const _Alloc&&) = delete; - - - template - inline constexpr bool uses_allocator_v = - uses_allocator<_Tp, _Alloc>::value; - - - template class _Predicate, - typename _Tp, typename _Alloc, typename... _Args> - struct __is_uses_allocator_predicate - : __conditional_t::value, - __or_<_Predicate<_Tp, allocator_arg_t, _Alloc, _Args...>, - _Predicate<_Tp, _Args..., _Alloc>>, - _Predicate<_Tp, _Args...>> { }; - - template - struct __is_uses_allocator_constructible - : __is_uses_allocator_predicate - { }; - - - template - inline constexpr bool __is_uses_allocator_constructible_v = - __is_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value; - - - template - struct __is_nothrow_uses_allocator_constructible - : __is_uses_allocator_predicate - { }; - - - - template - inline constexpr bool - __is_nothrow_uses_allocator_constructible_v = - __is_nothrow_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value; - - - template - void __uses_allocator_construct_impl(__uses_alloc0, _Tp* __ptr, - _Args&&... __args) - { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)...); } - - template - void __uses_allocator_construct_impl(__uses_alloc1<_Alloc> __a, _Tp* __ptr, - _Args&&... __args) - { - ::new ((void*)__ptr) _Tp(allocator_arg, *__a._M_a, - std::forward<_Args>(__args)...); - } - - template - void __uses_allocator_construct_impl(__uses_alloc2<_Alloc> __a, _Tp* __ptr, - _Args&&... __args) - { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)..., *__a._M_a); } - - template - void __uses_allocator_construct(const _Alloc& __a, _Tp* __ptr, - _Args&&... __args) - { - std::__uses_allocator_construct_impl( - std::__use_alloc<_Tp, _Alloc, _Args...>(__a), __ptr, - std::forward<_Args>(__args)...); - } - - - -} -# 41 "/usr/include/c++/14.1.1/bits/memory_resource.h" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/uses_allocator_args.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/uses_allocator_args.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/uses_allocator_args.h" 3 - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 36 "/usr/include/c++/14.1.1/bits/uses_allocator_args.h" 2 3 - - - -# 1 "/usr/include/c++/14.1.1/tuple" 1 3 -# 32 "/usr/include/c++/14.1.1/tuple" 3 - -# 33 "/usr/include/c++/14.1.1/tuple" 3 -# 44 "/usr/include/c++/14.1.1/tuple" 3 -# 1 "/usr/include/c++/14.1.1/bits/ranges_util.h" 1 3 -# 39 "/usr/include/c++/14.1.1/bits/ranges_util.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -namespace ranges -{ - - - namespace __detail - { - template - concept __simple_view = view<_Range> && range - && same_as, iterator_t> - && same_as, sentinel_t>; - - template - concept __has_arrow = input_iterator<_It> - && (is_pointer_v<_It> || requires(_It __it) { __it.operator->(); }); - - using std::__detail::__different_from; - } - - - template - requires is_class_v<_Derived> && same_as<_Derived, remove_cv_t<_Derived>> - class view_interface - { - private: - constexpr _Derived& _M_derived() noexcept - { - static_assert(derived_from<_Derived, view_interface<_Derived>>); - static_assert(view<_Derived>); - return static_cast<_Derived&>(*this); - } - - constexpr const _Derived& _M_derived() const noexcept - { - static_assert(derived_from<_Derived, view_interface<_Derived>>); - static_assert(view<_Derived>); - return static_cast(*this); - } - - static constexpr bool - _S_bool(bool) noexcept; - - template - static constexpr bool - _S_empty(_Tp& __t) - noexcept(noexcept(_S_bool(ranges::begin(__t) == ranges::end(__t)))) - { return ranges::begin(__t) == ranges::end(__t); } - - template - static constexpr auto - _S_size(_Tp& __t) - noexcept(noexcept(ranges::end(__t) - ranges::begin(__t))) - { return ranges::end(__t) - ranges::begin(__t); } - - public: - constexpr bool - empty() - noexcept(noexcept(_S_empty(_M_derived()))) - requires forward_range<_Derived> && (!sized_range<_Derived>) - { return _S_empty(_M_derived()); } - - constexpr bool - empty() - noexcept(noexcept(ranges::size(_M_derived()) == 0)) - requires sized_range<_Derived> - { return ranges::size(_M_derived()) == 0; } - - constexpr bool - empty() const - noexcept(noexcept(_S_empty(_M_derived()))) - requires forward_range && (!sized_range) - { return _S_empty(_M_derived()); } - - constexpr bool - empty() const - noexcept(noexcept(ranges::size(_M_derived()) == 0)) - requires sized_range - { return ranges::size(_M_derived()) == 0; } - - constexpr explicit - operator bool() noexcept(noexcept(ranges::empty(_M_derived()))) - requires requires { ranges::empty(_M_derived()); } - { return !ranges::empty(_M_derived()); } - - constexpr explicit - operator bool() const noexcept(noexcept(ranges::empty(_M_derived()))) - requires requires { ranges::empty(_M_derived()); } - { return !ranges::empty(_M_derived()); } - - constexpr auto - data() noexcept(noexcept(ranges::begin(_M_derived()))) - requires contiguous_iterator> - { return std::to_address(ranges::begin(_M_derived())); } - - constexpr auto - data() const noexcept(noexcept(ranges::begin(_M_derived()))) - requires range - && contiguous_iterator> - { return std::to_address(ranges::begin(_M_derived())); } - - constexpr auto - size() noexcept(noexcept(_S_size(_M_derived()))) - requires forward_range<_Derived> - && sized_sentinel_for, iterator_t<_Derived>> - { return _S_size(_M_derived()); } - - constexpr auto - size() const noexcept(noexcept(_S_size(_M_derived()))) - requires forward_range - && sized_sentinel_for, - iterator_t> - { return _S_size(_M_derived()); } - - constexpr decltype(auto) - front() requires forward_range<_Derived> - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); - return *ranges::begin(_M_derived()); - } - - constexpr decltype(auto) - front() const requires forward_range - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); - return *ranges::begin(_M_derived()); - } - - constexpr decltype(auto) - back() - requires bidirectional_range<_Derived> && common_range<_Derived> - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); - return *ranges::prev(ranges::end(_M_derived())); - } - - constexpr decltype(auto) - back() const - requires bidirectional_range - && common_range - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail(); } while (false); - return *ranges::prev(ranges::end(_M_derived())); - } - - template - constexpr decltype(auto) - operator[](range_difference_t<_Range> __n) - { return ranges::begin(_M_derived())[__n]; } - - template - constexpr decltype(auto) - operator[](range_difference_t<_Range> __n) const - { return ranges::begin(_M_derived())[__n]; } -# 212 "/usr/include/c++/14.1.1/bits/ranges_util.h" 3 - }; - - namespace __detail - { - template - concept __uses_nonqualification_pointer_conversion - = is_pointer_v<_From> && is_pointer_v<_To> - && !convertible_to(*)[], - remove_pointer_t<_To>(*)[]>; - - template - concept __convertible_to_non_slicing = convertible_to<_From, _To> - && !__uses_nonqualification_pointer_conversion, - decay_t<_To>>; - - - - - - template - concept __pair_like - = !is_reference_v<_Tp> && requires(_Tp __t) - { - typename tuple_size<_Tp>::type; - requires derived_from, integral_constant>; - typename tuple_element_t<0, remove_const_t<_Tp>>; - typename tuple_element_t<1, remove_const_t<_Tp>>; - { get<0>(__t) } -> convertible_to&>; - { get<1>(__t) } -> convertible_to&>; - }; - - - template - concept __pair_like_convertible_from - = !range<_Tp> && !is_reference_v<_Vp> && __pair_like<_Tp> - && constructible_from<_Tp, _Up, _Vp> - && __convertible_to_non_slicing<_Up, tuple_element_t<0, _Tp>> - && convertible_to<_Vp, tuple_element_t<1, _Tp>>; - - } - - namespace views { struct _Drop; } - - enum class subrange_kind : bool { unsized, sized }; - - - template _Sent = _It, - subrange_kind _Kind = sized_sentinel_for<_Sent, _It> - ? subrange_kind::sized : subrange_kind::unsized> - requires (_Kind == subrange_kind::sized || !sized_sentinel_for<_Sent, _It>) - class subrange : public view_interface> - { - private: - static constexpr bool _S_store_size - = _Kind == subrange_kind::sized && !sized_sentinel_for<_Sent, _It>; - - friend struct views::_Drop; - - _It _M_begin = _It(); - [[no_unique_address]] _Sent _M_end = _Sent(); - - using __size_type - = __detail::__make_unsigned_like_t>; - - template - struct _Size - { - [[__gnu__::__always_inline__]] - constexpr _Size(_Tp = {}) { } - }; - - template - struct _Size<_Tp, true> - { - [[__gnu__::__always_inline__]] - constexpr _Size(_Tp __s = {}) : _M_size(__s) { } - - _Tp _M_size; - }; - - [[no_unique_address]] _Size<__size_type> _M_size = {}; - - public: - subrange() requires default_initializable<_It> = default; - - constexpr - subrange(__detail::__convertible_to_non_slicing<_It> auto __i, _Sent __s) - noexcept(is_nothrow_constructible_v<_It, decltype(__i)> - && is_nothrow_constructible_v<_Sent, _Sent&>) - requires (!_S_store_size) - : _M_begin(std::move(__i)), _M_end(__s) - { } - - constexpr - subrange(__detail::__convertible_to_non_slicing<_It> auto __i, _Sent __s, - __size_type __n) - noexcept(is_nothrow_constructible_v<_It, decltype(__i)> - && is_nothrow_constructible_v<_Sent, _Sent&>) - requires (_Kind == subrange_kind::sized) - : _M_begin(std::move(__i)), _M_end(__s), _M_size(__n) - { } - - template<__detail::__different_from _Rng> - requires borrowed_range<_Rng> - && __detail::__convertible_to_non_slicing, _It> - && convertible_to, _Sent> - constexpr - subrange(_Rng&& __r) - noexcept(noexcept(subrange(__r, ranges::size(__r)))) - requires _S_store_size && sized_range<_Rng> - : subrange(__r, ranges::size(__r)) - { } - - template<__detail::__different_from _Rng> - requires borrowed_range<_Rng> - && __detail::__convertible_to_non_slicing, _It> - && convertible_to, _Sent> - constexpr - subrange(_Rng&& __r) - noexcept(noexcept(subrange(ranges::begin(__r), ranges::end(__r)))) - requires (!_S_store_size) - : subrange(ranges::begin(__r), ranges::end(__r)) - { } - - template - requires __detail::__convertible_to_non_slicing, _It> - && convertible_to, _Sent> - constexpr - subrange(_Rng&& __r, __size_type __n) - noexcept(noexcept(subrange(ranges::begin(__r), ranges::end(__r), __n))) - requires (_Kind == subrange_kind::sized) - : subrange{ranges::begin(__r), ranges::end(__r), __n} - { } - - template<__detail::__different_from _PairLike> - requires __detail::__pair_like_convertible_from<_PairLike, const _It&, - const _Sent&> - constexpr - operator _PairLike() const - { return _PairLike(_M_begin, _M_end); } - - constexpr _It - begin() const requires copyable<_It> - { return _M_begin; } - - [[nodiscard]] constexpr _It - begin() requires (!copyable<_It>) - { return std::move(_M_begin); } - - constexpr _Sent end() const { return _M_end; } - - constexpr bool empty() const { return _M_begin == _M_end; } - - constexpr __size_type - size() const requires (_Kind == subrange_kind::sized) - { - if constexpr (_S_store_size) - return _M_size._M_size; - else - return __detail::__to_unsigned_like(_M_end - _M_begin); - } - - [[nodiscard]] constexpr subrange - next(iter_difference_t<_It> __n = 1) const & - requires forward_iterator<_It> - { - auto __tmp = *this; - __tmp.advance(__n); - return __tmp; - } - - [[nodiscard]] constexpr subrange - next(iter_difference_t<_It> __n = 1) && - { - advance(__n); - return std::move(*this); - } - - [[nodiscard]] constexpr subrange - prev(iter_difference_t<_It> __n = 1) const - requires bidirectional_iterator<_It> - { - auto __tmp = *this; - __tmp.advance(-__n); - return __tmp; - } - - constexpr subrange& - advance(iter_difference_t<_It> __n) - { - - - if constexpr (bidirectional_iterator<_It>) - if (__n < 0) - { - ranges::advance(_M_begin, __n); - if constexpr (_S_store_size) - _M_size._M_size += __detail::__to_unsigned_like(-__n); - return *this; - } - - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__n >= 0), false)) std::__glibcxx_assert_fail(); } while (false); - auto __d = __n - ranges::advance(_M_begin, __n, _M_end); - if constexpr (_S_store_size) - _M_size._M_size -= __detail::__to_unsigned_like(__d); - return *this; - } - }; - - template _Sent> - subrange(_It, _Sent) -> subrange<_It, _Sent>; - - template _Sent> - subrange(_It, _Sent, - __detail::__make_unsigned_like_t>) - -> subrange<_It, _Sent, subrange_kind::sized>; - - template - subrange(_Rng&&) - -> subrange, sentinel_t<_Rng>, - (sized_range<_Rng> - || sized_sentinel_for, iterator_t<_Rng>>) - ? subrange_kind::sized : subrange_kind::unsized>; - - template - subrange(_Rng&&, - __detail::__make_unsigned_like_t>) - -> subrange, sentinel_t<_Rng>, subrange_kind::sized>; - - template - requires (_Num < 2) - constexpr auto - get(const subrange<_It, _Sent, _Kind>& __r) - { - if constexpr (_Num == 0) - return __r.begin(); - else - return __r.end(); - } - - template - requires (_Num < 2) - constexpr auto - get(subrange<_It, _Sent, _Kind>&& __r) - { - if constexpr (_Num == 0) - return __r.begin(); - else - return __r.end(); - } - - template - inline constexpr bool - enable_borrowed_range> = true; - - template - using borrowed_subrange_t = __conditional_t, - subrange>, - dangling>; - - - template - inline constexpr bool __detail::__is_subrange> = true; -} -# 485 "/usr/include/c++/14.1.1/bits/ranges_util.h" 3 -namespace ranges -{ - struct __find_fn - { - template _Sent, typename _Tp, - typename _Proj = identity> - requires indirect_binary_predicate, const _Tp*> - constexpr _Iter - operator()(_Iter __first, _Sent __last, - const _Tp& __value, _Proj __proj = {}) const - { - while (__first != __last - && !(std::__invoke(__proj, *__first) == __value)) - ++__first; - return __first; - } - - template - requires indirect_binary_predicate, _Proj>, - const _Tp*> - constexpr borrowed_iterator_t<_Range> - operator()(_Range&& __r, const _Tp& __value, _Proj __proj = {}) const - { - return (*this)(ranges::begin(__r), ranges::end(__r), - __value, std::move(__proj)); - } - }; - - inline constexpr __find_fn find{}; - - struct __find_if_fn - { - template _Sent, - typename _Proj = identity, - indirect_unary_predicate> _Pred> - constexpr _Iter - operator()(_Iter __first, _Sent __last, - _Pred __pred, _Proj __proj = {}) const - { - while (__first != __last - && !(bool)std::__invoke(__pred, std::__invoke(__proj, *__first))) - ++__first; - return __first; - } - - template, _Proj>> - _Pred> - constexpr borrowed_iterator_t<_Range> - operator()(_Range&& __r, _Pred __pred, _Proj __proj = {}) const - { - return (*this)(ranges::begin(__r), ranges::end(__r), - std::move(__pred), std::move(__proj)); - } - }; - - inline constexpr __find_if_fn find_if{}; - - struct __find_if_not_fn - { - template _Sent, - typename _Proj = identity, - indirect_unary_predicate> _Pred> - constexpr _Iter - operator()(_Iter __first, _Sent __last, - _Pred __pred, _Proj __proj = {}) const - { - while (__first != __last - && (bool)std::__invoke(__pred, std::__invoke(__proj, *__first))) - ++__first; - return __first; - } - - template, _Proj>> - _Pred> - constexpr borrowed_iterator_t<_Range> - operator()(_Range&& __r, _Pred __pred, _Proj __proj = {}) const - { - return (*this)(ranges::begin(__r), ranges::end(__r), - std::move(__pred), std::move(__proj)); - } - }; - - inline constexpr __find_if_not_fn find_if_not{}; - - template - struct in_in_result - { - [[no_unique_address]] _Iter1 in1; - [[no_unique_address]] _Iter2 in2; - - template - requires convertible_to - && convertible_to - constexpr - operator in_in_result<_IIter1, _IIter2>() const & - { return {in1, in2}; } - - template - requires convertible_to<_Iter1, _IIter1> - && convertible_to<_Iter2, _IIter2> - constexpr - operator in_in_result<_IIter1, _IIter2>() && - { return {std::move(in1), std::move(in2)}; } - }; - - template - using mismatch_result = in_in_result<_Iter1, _Iter2>; - - struct __mismatch_fn - { - template _Sent1, - input_iterator _Iter2, sentinel_for<_Iter2> _Sent2, - typename _Pred = ranges::equal_to, - typename _Proj1 = identity, typename _Proj2 = identity> - requires indirectly_comparable<_Iter1, _Iter2, _Pred, _Proj1, _Proj2> - constexpr mismatch_result<_Iter1, _Iter2> - operator()(_Iter1 __first1, _Sent1 __last1, - _Iter2 __first2, _Sent2 __last2, _Pred __pred = {}, - _Proj1 __proj1 = {}, _Proj2 __proj2 = {}) const - { - while (__first1 != __last1 && __first2 != __last2 - && (bool)std::__invoke(__pred, - std::__invoke(__proj1, *__first1), - std::__invoke(__proj2, *__first2))) - { - ++__first1; - ++__first2; - } - return { std::move(__first1), std::move(__first2) }; - } - - template - requires indirectly_comparable, iterator_t<_Range2>, - _Pred, _Proj1, _Proj2> - constexpr mismatch_result, iterator_t<_Range2>> - operator()(_Range1&& __r1, _Range2&& __r2, _Pred __pred = {}, - _Proj1 __proj1 = {}, _Proj2 __proj2 = {}) const - { - return (*this)(ranges::begin(__r1), ranges::end(__r1), - ranges::begin(__r2), ranges::end(__r2), - std::move(__pred), - std::move(__proj1), std::move(__proj2)); - } - }; - - inline constexpr __mismatch_fn mismatch{}; - - struct __search_fn - { - template _Sent1, - forward_iterator _Iter2, sentinel_for<_Iter2> _Sent2, - typename _Pred = ranges::equal_to, - typename _Proj1 = identity, typename _Proj2 = identity> - requires indirectly_comparable<_Iter1, _Iter2, _Pred, _Proj1, _Proj2> - constexpr subrange<_Iter1> - operator()(_Iter1 __first1, _Sent1 __last1, - _Iter2 __first2, _Sent2 __last2, _Pred __pred = {}, - _Proj1 __proj1 = {}, _Proj2 __proj2 = {}) const - { - if (__first1 == __last1 || __first2 == __last2) - return {__first1, __first1}; - - for (;;) - { - for (;;) - { - if (__first1 == __last1) - return {__first1, __first1}; - if (std::__invoke(__pred, - std::__invoke(__proj1, *__first1), - std::__invoke(__proj2, *__first2))) - break; - ++__first1; - } - auto __cur1 = __first1; - auto __cur2 = __first2; - for (;;) - { - if (++__cur2 == __last2) - return {__first1, ++__cur1}; - if (++__cur1 == __last1) - return {__cur1, __cur1}; - if (!(bool)std::__invoke(__pred, - std::__invoke(__proj1, *__cur1), - std::__invoke(__proj2, *__cur2))) - { - ++__first1; - break; - } - } - } - } - - template - requires indirectly_comparable, iterator_t<_Range2>, - _Pred, _Proj1, _Proj2> - constexpr borrowed_subrange_t<_Range1> - operator()(_Range1&& __r1, _Range2&& __r2, _Pred __pred = {}, - _Proj1 __proj1 = {}, _Proj2 __proj2 = {}) const - { - return (*this)(ranges::begin(__r1), ranges::end(__r1), - ranges::begin(__r2), ranges::end(__r2), - std::move(__pred), - std::move(__proj1), std::move(__proj2)); - } - }; - - inline constexpr __search_fn search{}; - - struct __min_fn - { - template> - _Comp = ranges::less> - constexpr const _Tp& - operator()(const _Tp& __a, const _Tp& __b, - _Comp __comp = {}, _Proj __proj = {}) const - { - if (std::__invoke(__comp, - std::__invoke(__proj, __b), - std::__invoke(__proj, __a))) - return __b; - else - return __a; - } - - template, _Proj>> - _Comp = ranges::less> - requires indirectly_copyable_storable, - range_value_t<_Range>*> - constexpr range_value_t<_Range> - operator()(_Range&& __r, _Comp __comp = {}, _Proj __proj = {}) const - { - auto __first = ranges::begin(__r); - auto __last = ranges::end(__r); - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__first != __last), false)) std::__glibcxx_assert_fail(); } while (false); - auto __result = *__first; - while (++__first != __last) - { - auto __tmp = *__first; - if (std::__invoke(__comp, - std::__invoke(__proj, __tmp), - std::__invoke(__proj, __result))) - __result = std::move(__tmp); - } - return __result; - } - - template> - _Comp = ranges::less> - constexpr _Tp - operator()(initializer_list<_Tp> __r, - _Comp __comp = {}, _Proj __proj = {}) const - { - return (*this)(ranges::subrange(__r), - std::move(__comp), std::move(__proj)); - } - }; - - inline constexpr __min_fn min{}; - - struct __adjacent_find_fn - { - template _Sent, - typename _Proj = identity, - indirect_binary_predicate, - projected<_Iter, _Proj>> _Pred - = ranges::equal_to> - constexpr _Iter - operator()(_Iter __first, _Sent __last, - _Pred __pred = {}, _Proj __proj = {}) const - { - if (__first == __last) - return __first; - auto __next = __first; - for (; ++__next != __last; __first = __next) - { - if (std::__invoke(__pred, - std::__invoke(__proj, *__first), - std::__invoke(__proj, *__next))) - return __first; - } - return __next; - } - - template, _Proj>, - projected, _Proj>> _Pred = ranges::equal_to> - constexpr borrowed_iterator_t<_Range> - operator()(_Range&& __r, _Pred __pred = {}, _Proj __proj = {}) const - { - return (*this)(ranges::begin(__r), ranges::end(__r), - std::move(__pred), std::move(__proj)); - } - }; - - inline constexpr __adjacent_find_fn adjacent_find{}; - -} - - using ranges::get; - - template - struct tuple_size> - : integral_constant - { }; - - template - struct tuple_element<0, ranges::subrange<_Iter, _Sent, _Kind>> - { using type = _Iter; }; - - template - struct tuple_element<1, ranges::subrange<_Iter, _Sent, _Kind>> - { using type = _Sent; }; - - template - struct tuple_element<0, const ranges::subrange<_Iter, _Sent, _Kind>> - { using type = _Iter; }; - - template - struct tuple_element<1, const ranges::subrange<_Iter, _Sent, _Kind>> - { using type = _Sent; }; - - -} -# 45 "/usr/include/c++/14.1.1/tuple" 2 3 -# 54 "/usr/include/c++/14.1.1/tuple" 3 -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 55 "/usr/include/c++/14.1.1/tuple" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - - template - class tuple; - - template - struct __is_empty_non_tuple : is_empty<_Tp> { }; - - - template - struct __is_empty_non_tuple> : false_type { }; - - - template - using __empty_not_final - = __conditional_t<__is_final(_Tp), false_type, - __is_empty_non_tuple<_Tp>>; - - template::value> - struct _Head_base; - - - template - struct _Head_base<_Idx, _Head, true> - { - constexpr _Head_base() - : _M_head_impl() { } - - constexpr _Head_base(const _Head& __h) - : _M_head_impl(__h) { } - - constexpr _Head_base(const _Head_base&) = default; - constexpr _Head_base(_Head_base&&) = default; - - template - constexpr _Head_base(_UHead&& __h) - : _M_head_impl(std::forward<_UHead>(__h)) { } - - constexpr - _Head_base(allocator_arg_t, __uses_alloc0) - : _M_head_impl() { } - - template - constexpr - _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a) - : _M_head_impl(allocator_arg, *__a._M_a) { } - - template - constexpr - _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a) - : _M_head_impl(*__a._M_a) { } - - template - constexpr - _Head_base(__uses_alloc0, _UHead&& __uhead) - : _M_head_impl(std::forward<_UHead>(__uhead)) { } - - template - constexpr - _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead) - : _M_head_impl(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead)) - { } - - template - constexpr - _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead) - : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { } - - static constexpr _Head& - _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; } - - static constexpr const _Head& - _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; } - - [[__no_unique_address__]] _Head _M_head_impl; - }; -# 195 "/usr/include/c++/14.1.1/tuple" 3 - template - struct _Head_base<_Idx, _Head, false> - { - constexpr _Head_base() - : _M_head_impl() { } - - constexpr _Head_base(const _Head& __h) - : _M_head_impl(__h) { } - - constexpr _Head_base(const _Head_base&) = default; - constexpr _Head_base(_Head_base&&) = default; - - template - constexpr _Head_base(_UHead&& __h) - : _M_head_impl(std::forward<_UHead>(__h)) { } - - constexpr - _Head_base(allocator_arg_t, __uses_alloc0) - : _M_head_impl() { } - - template - constexpr - _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a) - : _M_head_impl(allocator_arg, *__a._M_a) { } - - template - constexpr - _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a) - : _M_head_impl(*__a._M_a) { } - - template - constexpr - _Head_base(__uses_alloc0, _UHead&& __uhead) - : _M_head_impl(std::forward<_UHead>(__uhead)) { } - - template - constexpr - _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead) - : _M_head_impl(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead)) - { } - - template - constexpr - _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead) - : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { } - - static constexpr _Head& - _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; } - - static constexpr const _Head& - _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; } - - _Head _M_head_impl; - }; -# 274 "/usr/include/c++/14.1.1/tuple" 3 - template - struct _Tuple_impl; - - - - - - - template - struct _Tuple_impl<_Idx, _Head, _Tail...> - : public _Tuple_impl<_Idx + 1, _Tail...>, - private _Head_base<_Idx, _Head> - { - template friend struct _Tuple_impl; - - typedef _Tuple_impl<_Idx + 1, _Tail...> _Inherited; - typedef _Head_base<_Idx, _Head> _Base; - - static constexpr _Head& - _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } - - static constexpr const _Head& - _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } - - static constexpr _Inherited& - _M_tail(_Tuple_impl& __t) noexcept { return __t; } - - static constexpr const _Inherited& - _M_tail(const _Tuple_impl& __t) noexcept { return __t; } - - constexpr _Tuple_impl() - : _Inherited(), _Base() { } - - explicit constexpr - _Tuple_impl(const _Head& __head, const _Tail&... __tail) - : _Inherited(__tail...), _Base(__head) - { } - - template> - explicit constexpr - _Tuple_impl(_UHead&& __head, _UTail&&... __tail) - : _Inherited(std::forward<_UTail>(__tail)...), - _Base(std::forward<_UHead>(__head)) - { } - - constexpr _Tuple_impl(const _Tuple_impl&) = default; - - - - _Tuple_impl& operator=(const _Tuple_impl&) = delete; - - _Tuple_impl(_Tuple_impl&&) = default; - - template - constexpr - _Tuple_impl(const _Tuple_impl<_Idx, _UElements...>& __in) - : _Inherited(_Tuple_impl<_Idx, _UElements...>::_M_tail(__in)), - _Base(_Tuple_impl<_Idx, _UElements...>::_M_head(__in)) - { } - - template - constexpr - _Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in) - : _Inherited(std::move - (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))), - _Base(std::forward<_UHead> - (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))) - { } -# 370 "/usr/include/c++/14.1.1/tuple" 3 - template - constexpr - _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a) - : _Inherited(__tag, __a), - _Base(__tag, __use_alloc<_Head>(__a)) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, - const _Head& __head, const _Tail&... __tail) - : _Inherited(__tag, __a, __tail...), - _Base(__use_alloc<_Head, _Alloc, _Head>(__a), __head) - { } - - template> - constexpr - _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, - _UHead&& __head, _UTail&&... __tail) - : _Inherited(__tag, __a, std::forward<_UTail>(__tail)...), - _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), - std::forward<_UHead>(__head)) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, - const _Tuple_impl& __in) - : _Inherited(__tag, __a, _M_tail(__in)), - _Base(__use_alloc<_Head, _Alloc, _Head>(__a), _M_head(__in)) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, - _Tuple_impl&& __in) - : _Inherited(__tag, __a, std::move(_M_tail(__in))), - _Base(__use_alloc<_Head, _Alloc, _Head>(__a), - std::forward<_Head>(_M_head(__in))) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, - const _Tuple_impl<_Idx, _UHead, _UTails...>& __in) - : _Inherited(__tag, __a, - _Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in)), - _Base(__use_alloc<_Head, _Alloc, const _UHead&>(__a), - _Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, - _Tuple_impl<_Idx, _UHead, _UTails...>&& __in) - : _Inherited(__tag, __a, std::move - (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))), - _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), - std::forward<_UHead> - (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))) - { } -# 465 "/usr/include/c++/14.1.1/tuple" 3 - template - constexpr - void - _M_assign(const _Tuple_impl<_Idx, _UElements...>& __in) - { - _M_head(*this) = _Tuple_impl<_Idx, _UElements...>::_M_head(__in); - _M_tail(*this)._M_assign( - _Tuple_impl<_Idx, _UElements...>::_M_tail(__in)); - } - - template - constexpr - void - _M_assign(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in) - { - _M_head(*this) = std::forward<_UHead> - (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)); - _M_tail(*this)._M_assign( - std::move(_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))); - } -# 525 "/usr/include/c++/14.1.1/tuple" 3 - protected: - constexpr - void - _M_swap(_Tuple_impl& __in) - { - using std::swap; - swap(_M_head(*this), _M_head(__in)); - _Inherited::_M_swap(_M_tail(__in)); - } -# 544 "/usr/include/c++/14.1.1/tuple" 3 - }; - - - template - struct _Tuple_impl<_Idx, _Head> - : private _Head_base<_Idx, _Head> - { - template friend struct _Tuple_impl; - - typedef _Head_base<_Idx, _Head> _Base; - - static constexpr _Head& - _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } - - static constexpr const _Head& - _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } - - constexpr - _Tuple_impl() - : _Base() { } - - explicit constexpr - _Tuple_impl(const _Head& __head) - : _Base(__head) - { } - - template - explicit constexpr - _Tuple_impl(_UHead&& __head) - : _Base(std::forward<_UHead>(__head)) - { } - - constexpr _Tuple_impl(const _Tuple_impl&) = default; - - - - _Tuple_impl& operator=(const _Tuple_impl&) = delete; - - - - - constexpr - _Tuple_impl(_Tuple_impl&& __in) - noexcept(is_nothrow_move_constructible<_Head>::value) - : _Base(static_cast<_Base&&>(__in)) - { } - - - template - constexpr - _Tuple_impl(const _Tuple_impl<_Idx, _UHead>& __in) - : _Base(_Tuple_impl<_Idx, _UHead>::_M_head(__in)) - { } - - template - constexpr - _Tuple_impl(_Tuple_impl<_Idx, _UHead>&& __in) - : _Base(std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in))) - { } -# 626 "/usr/include/c++/14.1.1/tuple" 3 - template - constexpr - _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a) - : _Base(__tag, __use_alloc<_Head>(__a)) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t, const _Alloc& __a, - const _Head& __head) - : _Base(__use_alloc<_Head, _Alloc, const _Head&>(__a), __head) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t, const _Alloc& __a, - _UHead&& __head) - : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), - std::forward<_UHead>(__head)) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t, const _Alloc& __a, - const _Tuple_impl& __in) - : _Base(__use_alloc<_Head, _Alloc, const _Head&>(__a), _M_head(__in)) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t, const _Alloc& __a, - _Tuple_impl&& __in) - : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), - std::forward<_Head>(_M_head(__in))) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t, const _Alloc& __a, - const _Tuple_impl<_Idx, _UHead>& __in) - : _Base(__use_alloc<_Head, _Alloc, const _UHead&>(__a), - _Tuple_impl<_Idx, _UHead>::_M_head(__in)) - { } - - template - constexpr - _Tuple_impl(allocator_arg_t, const _Alloc& __a, - _Tuple_impl<_Idx, _UHead>&& __in) - : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), - std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in))) - { } -# 705 "/usr/include/c++/14.1.1/tuple" 3 - template - constexpr - void - _M_assign(const _Tuple_impl<_Idx, _UHead>& __in) - { - _M_head(*this) = _Tuple_impl<_Idx, _UHead>::_M_head(__in); - } - - template - constexpr - void - _M_assign(_Tuple_impl<_Idx, _UHead>&& __in) - { - _M_head(*this) - = std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in)); - } -# 751 "/usr/include/c++/14.1.1/tuple" 3 - protected: - constexpr - void - _M_swap(_Tuple_impl& __in) - { - using std::swap; - swap(_M_head(*this), _M_head(__in)); - } -# 768 "/usr/include/c++/14.1.1/tuple" 3 - }; - - - - template - struct _TupleConstraints - { - template - using __constructible = __and_...>; - - template - using __convertible = __and_...>; - - - - - template - static constexpr bool __is_implicitly_constructible() - { - return __and_<__constructible<_UTypes...>, - __convertible<_UTypes...> - >::value; - } - - - - - template - static constexpr bool __is_explicitly_constructible() - { - return __and_<__constructible<_UTypes...>, - __not_<__convertible<_UTypes...>> - >::value; - } - - static constexpr bool __is_implicitly_default_constructible() - { - return __and_... - >::value; - } - - static constexpr bool __is_explicitly_default_constructible() - { - return __and_..., - __not_<__and_< - std::__is_implicitly_default_constructible<_Types>...> - >>::value; - } - }; - - - - template - struct _TupleConstraints - { - template - static constexpr bool __is_implicitly_constructible() - { return false; } - - template - static constexpr bool __is_explicitly_constructible() - { return false; } - }; - - - template - class tuple : public _Tuple_impl<0, _Elements...> - { - using _Inherited = _Tuple_impl<0, _Elements...>; - - - template - static consteval bool - __constructible() - { - if constexpr (sizeof...(_UTypes) == sizeof...(_Elements)) - return __and_v...>; - else - return false; - } - - template - static consteval bool - __nothrow_constructible() - { - if constexpr (sizeof...(_UTypes) == sizeof...(_Elements)) - return __and_v...>; - else - return false; - } - - template - static consteval bool - __convertible() - { - if constexpr (sizeof...(_UTypes) == sizeof...(_Elements)) - return __and_v...>; - else - return false; - } - - - - template - static consteval bool - __disambiguating_constraint() - { - if constexpr (sizeof...(_Elements) != sizeof...(_UTypes)) - return false; - else if constexpr (sizeof...(_Elements) == 1) - { - using _U0 = typename _Nth_type<0, _UTypes...>::type; - return !is_same_v, tuple>; - } - else if constexpr (sizeof...(_Elements) < 4) - { - using _U0 = typename _Nth_type<0, _UTypes...>::type; - if constexpr (!is_same_v, allocator_arg_t>) - return true; - else - { - using _T0 = typename _Nth_type<0, _Elements...>::type; - return is_same_v, allocator_arg_t>; - } - } - return true; - } - - - - - template - static consteval bool - __use_other_ctor() - { - if constexpr (sizeof...(_Elements) != 1) - return false; - else if constexpr (is_same_v, tuple>) - return true; - else - { - using _Tp = typename _Nth_type<0, _Elements...>::type; - if constexpr (is_convertible_v<_Tuple, _Tp>) - return true; - else if constexpr (is_constructible_v<_Tp, _Tuple>) - return true; - } - return false; - } - - template - static consteval bool - __dangles() - { - - return (__reference_constructs_from_temporary(_Elements, _Up&&) - || ...); - - - - } -# 961 "/usr/include/c++/14.1.1/tuple" 3 - public: - constexpr - explicit(!(__is_implicitly_default_constructible_v<_Elements> && ...)) - tuple() - noexcept((is_nothrow_default_constructible_v<_Elements> && ...)) - requires (is_default_constructible_v<_Elements> && ...) - : _Inherited() - { } - - constexpr explicit(!__convertible()) - tuple(const _Elements&... __elements) - noexcept(__nothrow_constructible()) - requires (__constructible()) - : _Inherited(__elements...) - { } - - template - requires (__disambiguating_constraint<_UTypes...>()) - && (__constructible<_UTypes...>()) - && (!__dangles<_UTypes...>()) - constexpr explicit(!__convertible<_UTypes...>()) - tuple(_UTypes&&... __u) - noexcept(__nothrow_constructible<_UTypes...>()) - : _Inherited(std::forward<_UTypes>(__u)...) - { } - - template - requires (__disambiguating_constraint<_UTypes...>()) - && (__constructible<_UTypes...>()) - && (__dangles<_UTypes...>()) - tuple(_UTypes&&...) = delete; - - constexpr tuple(const tuple&) = default; - - constexpr tuple(tuple&&) = default; - - template - requires (__constructible()) - && (!__use_other_ctor&>()) - && (!__dangles()) - constexpr explicit(!__convertible()) - tuple(const tuple<_UTypes...>& __u) - noexcept(__nothrow_constructible()) - : _Inherited(static_cast&>(__u)) - { } - - template - requires (__constructible()) - && (!__use_other_ctor&>()) - && (__dangles()) - tuple(const tuple<_UTypes...>&) = delete; - - template - requires (__constructible<_UTypes...>()) - && (!__use_other_ctor>()) - && (!__dangles<_UTypes...>()) - constexpr explicit(!__convertible<_UTypes...>()) - tuple(tuple<_UTypes...>&& __u) - noexcept(__nothrow_constructible<_UTypes...>()) - : _Inherited(static_cast<_Tuple_impl<0, _UTypes...>&&>(__u)) - { } - - template - requires (__constructible<_UTypes...>()) - && (!__use_other_ctor>()) - && (__dangles<_UTypes...>()) - tuple(tuple<_UTypes...>&&) = delete; -# 1063 "/usr/include/c++/14.1.1/tuple" 3 - template - requires (sizeof...(_Elements) == 2) - && (__constructible()) - && (!__dangles()) - constexpr explicit(!__convertible()) - tuple(const pair<_U1, _U2>& __u) - noexcept(__nothrow_constructible()) - : _Inherited(__u.first, __u.second) - { } - - template - requires (sizeof...(_Elements) == 2) - && (__constructible()) - && (__dangles()) - tuple(const pair<_U1, _U2>&) = delete; - - template - requires (sizeof...(_Elements) == 2) - && (__constructible<_U1, _U2>()) - && (!__dangles<_U1, _U2>()) - constexpr explicit(!__convertible<_U1, _U2>()) - tuple(pair<_U1, _U2>&& __u) - noexcept(__nothrow_constructible<_U1, _U2>()) - : _Inherited(std::forward<_U1>(__u.first), - std::forward<_U2>(__u.second)) - { } - - template - requires (sizeof...(_Elements) == 2) - && (__constructible<_U1, _U2>()) - && (__dangles<_U1, _U2>()) - tuple(pair<_U1, _U2>&&) = delete; -# 1152 "/usr/include/c++/14.1.1/tuple" 3 - template - constexpr - explicit(!(__is_implicitly_default_constructible_v<_Elements> && ...)) - tuple(allocator_arg_t __tag, const _Alloc& __a) - requires (is_default_constructible_v<_Elements> && ...) - : _Inherited(__tag, __a) - { } - - template - constexpr explicit(!__convertible()) - tuple(allocator_arg_t __tag, const _Alloc& __a, - const _Elements&... __elements) - requires (__constructible()) - : _Inherited(__tag, __a, __elements...) - { } - - template - requires (__disambiguating_constraint<_UTypes...>()) - && (__constructible<_UTypes...>()) - && (!__dangles<_UTypes...>()) - constexpr explicit(!__convertible<_UTypes...>()) - tuple(allocator_arg_t __tag, const _Alloc& __a, _UTypes&&... __u) - : _Inherited(__tag, __a, std::forward<_UTypes>(__u)...) - { } - - template - requires (__disambiguating_constraint<_UTypes...>()) - && (__constructible<_UTypes...>()) - && (__dangles<_UTypes...>()) - tuple(allocator_arg_t, const _Alloc&, _UTypes&&...) = delete; - - template - constexpr - tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __u) - : _Inherited(__tag, __a, static_cast(__u)) - { } - - template - requires (__constructible<_Elements...>()) - constexpr - tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __u) - : _Inherited(__tag, __a, static_cast<_Inherited&&>(__u)) - { } - - template - requires (__constructible()) - && (!__use_other_ctor&>()) - && (!__dangles()) - constexpr explicit(!__convertible()) - tuple(allocator_arg_t __tag, const _Alloc& __a, - const tuple<_UTypes...>& __u) - : _Inherited(__tag, __a, - static_cast&>(__u)) - { } - - template - requires (__constructible()) - && (!__use_other_ctor&>()) - && (__dangles()) - tuple(allocator_arg_t, const _Alloc&, const tuple<_UTypes...>&) = delete; - - template - requires (__constructible<_UTypes...>()) - && (!__use_other_ctor>()) - && (!__dangles<_UTypes...>()) - constexpr explicit(!__use_other_ctor>()) - tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_UTypes...>&& __u) - : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _UTypes...>&&>(__u)) - { } - - template - requires (__constructible<_UTypes...>()) - && (!__use_other_ctor>()) - && (__dangles<_UTypes...>()) - tuple(allocator_arg_t, const _Alloc&, tuple<_UTypes...>&&) = delete; -# 1262 "/usr/include/c++/14.1.1/tuple" 3 - template - requires (sizeof...(_Elements) == 2) - && (__constructible()) - && (!__dangles()) - constexpr explicit(!__convertible()) - tuple(allocator_arg_t __tag, const _Alloc& __a, - const pair<_U1, _U2>& __u) - noexcept(__nothrow_constructible()) - : _Inherited(__tag, __a, __u.first, __u.second) - { } - - template - requires (sizeof...(_Elements) == 2) - && (__constructible()) - && (__dangles()) - tuple(allocator_arg_t, const _Alloc&, const pair<_U1, _U2>&) = delete; - - template - requires (sizeof...(_Elements) == 2) - && (__constructible<_U1, _U2>()) - && (!__dangles<_U1, _U2>()) - constexpr explicit(!__convertible<_U1, _U2>()) - tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __u) - noexcept(__nothrow_constructible<_U1, _U2>()) - : _Inherited(__tag, __a, std::move(__u.first), std::move(__u.second)) - { } - - template - requires (sizeof...(_Elements) == 2) - && (__constructible<_U1, _U2>()) - && (__dangles<_U1, _U2>()) - tuple(allocator_arg_t, const _Alloc&, pair<_U1, _U2>&&) = delete; -# 1654 "/usr/include/c++/14.1.1/tuple" 3 - private: - template - static consteval bool - __assignable() - { - if constexpr (sizeof...(_UTypes) == sizeof...(_Elements)) - return __and_v...>; - else - return false; - } - - template - static consteval bool - __nothrow_assignable() - { - if constexpr (sizeof...(_UTypes) == sizeof...(_Elements)) - return __and_v...>; - else - return false; - } -# 1707 "/usr/include/c++/14.1.1/tuple" 3 - public: - - tuple& operator=(const tuple& __u) = delete; - - constexpr tuple& - operator=(const tuple& __u) - noexcept(__nothrow_assignable()) - requires (__assignable()) - { - this->_M_assign(__u); - return *this; - } - - constexpr tuple& - operator=(tuple&& __u) - noexcept(__nothrow_assignable<_Elements...>()) - requires (__assignable<_Elements...>()) - { - this->_M_assign(std::move(__u)); - return *this; - } - - template - requires (__assignable()) - constexpr tuple& - operator=(const tuple<_UTypes...>& __u) - noexcept(__nothrow_assignable()) - { - this->_M_assign(__u); - return *this; - } - - template - requires (__assignable<_UTypes...>()) - constexpr tuple& - operator=(tuple<_UTypes...>&& __u) - noexcept(__nothrow_assignable<_UTypes...>()) - { - this->_M_assign(std::move(__u)); - return *this; - } -# 1785 "/usr/include/c++/14.1.1/tuple" 3 - template - requires (__assignable()) - constexpr tuple& - operator=(const pair<_U1, _U2>& __u) - noexcept(__nothrow_assignable()) - { - this->_M_head(*this) = __u.first; - this->_M_tail(*this)._M_head(*this) = __u.second; - return *this; - } - - template - requires (__assignable<_U1, _U2>()) - constexpr tuple& - operator=(pair<_U1, _U2>&& __u) - noexcept(__nothrow_assignable<_U1, _U2>()) - { - this->_M_head(*this) = std::forward<_U1>(__u.first); - this->_M_tail(*this)._M_head(*this) = std::forward<_U2>(__u.second); - return *this; - } -# 1947 "/usr/include/c++/14.1.1/tuple" 3 - constexpr - void - swap(tuple& __in) - noexcept(__and_<__is_nothrow_swappable<_Elements>...>::value) - { _Inherited::_M_swap(__in); } -# 1966 "/usr/include/c++/14.1.1/tuple" 3 - }; - - - template - tuple(_UTypes...) -> tuple<_UTypes...>; - template - tuple(pair<_T1, _T2>) -> tuple<_T1, _T2>; - template - tuple(allocator_arg_t, _Alloc, _UTypes...) -> tuple<_UTypes...>; - template - tuple(allocator_arg_t, _Alloc, pair<_T1, _T2>) -> tuple<_T1, _T2>; - template - tuple(allocator_arg_t, _Alloc, tuple<_UTypes...>) -> tuple<_UTypes...>; - - - - template<> - class tuple<> - { - public: - constexpr - void swap(tuple&) noexcept { } - - - - - - tuple() = default; - - template - constexpr - tuple(allocator_arg_t, const _Alloc&) noexcept { } - template - constexpr - tuple(allocator_arg_t, const _Alloc&, const tuple&) noexcept { } - }; -# 2402 "/usr/include/c++/14.1.1/tuple" 3 - template - struct tuple_size> - : public integral_constant { }; - - - template - inline constexpr size_t tuple_size_v> - = sizeof...(_Types); - - template - inline constexpr size_t tuple_size_v> - = sizeof...(_Types); - - - - template - struct tuple_element<__i, tuple<_Types...>> - { - static_assert(__i < sizeof...(_Types), "tuple index must be in range"); - - using type = typename _Nth_type<__i, _Types...>::type; - }; - - template - constexpr _Head& - __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept - { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); } - - template - constexpr const _Head& - __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept - { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); } - - - template - __enable_if_t<(__i >= sizeof...(_Types))> - __get_helper(const tuple<_Types...>&) = delete; - - - template - constexpr __tuple_element_t<__i, tuple<_Elements...>>& - get(tuple<_Elements...>& __t) noexcept - { return std::__get_helper<__i>(__t); } - - - template - constexpr const __tuple_element_t<__i, tuple<_Elements...>>& - get(const tuple<_Elements...>& __t) noexcept - { return std::__get_helper<__i>(__t); } - - - template - constexpr __tuple_element_t<__i, tuple<_Elements...>>&& - get(tuple<_Elements...>&& __t) noexcept - { - typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type; - return std::forward<__element_type>(std::__get_helper<__i>(__t)); - } - - - template - constexpr const __tuple_element_t<__i, tuple<_Elements...>>&& - get(const tuple<_Elements...>&& __t) noexcept - { - typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type; - return std::forward(std::__get_helper<__i>(__t)); - } - - - - template - constexpr __enable_if_t<(__i >= sizeof...(_Elements))> - get(const tuple<_Elements...>&) = delete; - - - - - template - constexpr _Tp& - get(tuple<_Types...>& __t) noexcept - { - constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>(); - static_assert(__idx < sizeof...(_Types), - "the type T in std::get must occur exactly once in the tuple"); - return std::__get_helper<__idx>(__t); - } - - - template - constexpr _Tp&& - get(tuple<_Types...>&& __t) noexcept - { - constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>(); - static_assert(__idx < sizeof...(_Types), - "the type T in std::get must occur exactly once in the tuple"); - return std::forward<_Tp>(std::__get_helper<__idx>(__t)); - } - - - template - constexpr const _Tp& - get(const tuple<_Types...>& __t) noexcept - { - constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>(); - static_assert(__idx < sizeof...(_Types), - "the type T in std::get must occur exactly once in the tuple"); - return std::__get_helper<__idx>(__t); - } - - - - template - constexpr const _Tp&& - get(const tuple<_Types...>&& __t) noexcept - { - constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>(); - static_assert(__idx < sizeof...(_Types), - "the type T in std::get must occur exactly once in the tuple"); - return std::forward(std::__get_helper<__idx>(__t)); - } - - - - template - struct __tuple_compare - { - static constexpr bool - __eq(const _Tp& __t, const _Up& __u) - { - return bool(std::get<__i>(__t) == std::get<__i>(__u)) - && __tuple_compare<_Tp, _Up, __i + 1, __size>::__eq(__t, __u); - } - - static constexpr bool - __less(const _Tp& __t, const _Up& __u) - { - return bool(std::get<__i>(__t) < std::get<__i>(__u)) - || (!bool(std::get<__i>(__u) < std::get<__i>(__t)) - && __tuple_compare<_Tp, _Up, __i + 1, __size>::__less(__t, __u)); - } - }; - - template - struct __tuple_compare<_Tp, _Up, __size, __size> - { - static constexpr bool - __eq(const _Tp&, const _Up&) { return true; } - - static constexpr bool - __less(const _Tp&, const _Up&) { return false; } - }; - - template - constexpr bool - operator==(const tuple<_TElements...>& __t, - const tuple<_UElements...>& __u) - { - static_assert(sizeof...(_TElements) == sizeof...(_UElements), - "tuple objects can only be compared if they have equal sizes."); - using __compare = __tuple_compare, - tuple<_UElements...>, - 0, sizeof...(_TElements)>; - return __compare::__eq(__t, __u); - } - - - template - constexpr _Cat - __tuple_cmp(const _Tp&, const _Up&, index_sequence<>) - { return _Cat::equivalent; } - - template - constexpr _Cat - __tuple_cmp(const _Tp& __t, const _Up& __u, - index_sequence<_Idx0, _Idxs...>) - { - auto __c - = __detail::__synth3way(std::get<_Idx0>(__t), std::get<_Idx0>(__u)); - if (__c != 0) - return __c; - return std::__tuple_cmp<_Cat>(__t, __u, index_sequence<_Idxs...>()); - } - - template - constexpr - common_comparison_category_t<__detail::__synth3way_t<_Tps, _Ups>...> - operator<=>(const tuple<_Tps...>& __t, const tuple<_Ups...>& __u) - { - using _Cat - = common_comparison_category_t<__detail::__synth3way_t<_Tps, _Ups>...>; - return std::__tuple_cmp<_Cat>(__t, __u, index_sequence_for<_Tps...>()); - } -# 2636 "/usr/include/c++/14.1.1/tuple" 3 - template - constexpr tuple::__type...> - make_tuple(_Elements&&... __args) - { - typedef tuple::__type...> - __result_type; - return __result_type(std::forward<_Elements>(__args)...); - } - - - - - template - constexpr tuple<_Elements&&...> - forward_as_tuple(_Elements&&... __args) noexcept - { return tuple<_Elements&&...>(std::forward<_Elements>(__args)...); } - - - template - struct __make_tuple_impl; - - template - struct __make_tuple_impl<_Idx, tuple<_Tp...>, _Tuple, _Nm> - : __make_tuple_impl<_Idx + 1, - tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>, - _Tuple, _Nm> - { }; - - template - struct __make_tuple_impl<_Nm, tuple<_Tp...>, _Tuple, _Nm> - { - typedef tuple<_Tp...> __type; - }; - - template - struct __do_make_tuple - : __make_tuple_impl<0, tuple<>, _Tuple, tuple_size<_Tuple>::value> - { }; - - - template - struct __make_tuple - : public __do_make_tuple<__remove_cvref_t<_Tuple>> - { }; - - - template - struct __combine_tuples; - - template<> - struct __combine_tuples<> - { - typedef tuple<> __type; - }; - - template - struct __combine_tuples> - { - typedef tuple<_Ts...> __type; - }; - - template - struct __combine_tuples, tuple<_T2s...>, _Rem...> - { - typedef typename __combine_tuples, - _Rem...>::__type __type; - }; - - - template - struct __tuple_cat_result - { - typedef typename __combine_tuples - ::__type...>::__type __type; - }; - - - - template - struct __make_1st_indices; - - template<> - struct __make_1st_indices<> - { - typedef _Index_tuple<> __type; - }; - - template - struct __make_1st_indices<_Tp, _Tpls...> - { - typedef typename _Build_index_tuple::type>::value>::__type __type; - }; - - - - - template - struct __tuple_concater; - - template - struct __tuple_concater<_Ret, _Index_tuple<_Is...>, _Tp, _Tpls...> - { - template - static constexpr _Ret - _S_do(_Tp&& __tp, _Tpls&&... __tps, _Us&&... __us) - { - typedef typename __make_1st_indices<_Tpls...>::__type __idx; - typedef __tuple_concater<_Ret, __idx, _Tpls...> __next; - return __next::_S_do(std::forward<_Tpls>(__tps)..., - std::forward<_Us>(__us)..., - std::get<_Is>(std::forward<_Tp>(__tp))...); - } - }; - - template - struct __tuple_concater<_Ret, _Index_tuple<>> - { - template - static constexpr _Ret - _S_do(_Us&&... __us) - { - return _Ret(std::forward<_Us>(__us)...); - } - }; - - template - struct __is_tuple_like_impl> : true_type - { }; - - - - - - - template...>::value>::type> - - constexpr auto - tuple_cat(_Tpls&&... __tpls) - -> typename __tuple_cat_result<_Tpls...>::__type - { - typedef typename __tuple_cat_result<_Tpls...>::__type __ret; - typedef typename __make_1st_indices<_Tpls...>::__type __idx; - typedef __tuple_concater<__ret, __idx, _Tpls...> __concater; - return __concater::_S_do(std::forward<_Tpls>(__tpls)...); - } - - - - - template - constexpr tuple<_Elements&...> - tie(_Elements&... __args) noexcept - { return tuple<_Elements&...>(__args...); } - - - template - constexpr - inline - - - typename enable_if<__and_<__is_swappable<_Elements>...>::value - >::type - - - - swap(tuple<_Elements...>& __x, tuple<_Elements...>& __y) - noexcept(noexcept(__x.swap(__y))) - { __x.swap(__y); } -# 2818 "/usr/include/c++/14.1.1/tuple" 3 - template - constexpr - typename enable_if...>::value>::type - swap(tuple<_Elements...>&, tuple<_Elements...>&) = delete; - - - - - - - struct _Swallow_assign - { - template - constexpr const _Swallow_assign& - operator=(const _Tp&) const - { return *this; } - }; -# 2853 "/usr/include/c++/14.1.1/tuple" 3 - inline constexpr _Swallow_assign ignore{}; - - - template - struct uses_allocator, _Alloc> : true_type { }; -# 2868 "/usr/include/c++/14.1.1/tuple" 3 - template - template - constexpr - inline - pair<_T1, _T2>:: - pair(piecewise_construct_t, - tuple<_Args1...> __first, tuple<_Args2...> __second) - : pair(__first, __second, - typename _Build_index_tuple::__type(), - typename _Build_index_tuple::__type()) - { } - - template - template - constexpr inline - pair<_T1, _T2>:: - pair(tuple<_Args1...>& __tuple1, tuple<_Args2...>& __tuple2, - _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>) - : first(std::forward<_Args1>(std::get<_Indexes1>(__tuple1))...), - second(std::forward<_Args2>(std::get<_Indexes2>(__tuple2))...) - { } - - - - - - - template class _Trait, typename _Tp, typename _Tuple> - inline constexpr bool __unpack_std_tuple = false; - - template class _Trait, typename _Tp, typename... _Up> - inline constexpr bool __unpack_std_tuple<_Trait, _Tp, tuple<_Up...>> - = _Trait<_Tp, _Up...>::value; - - template class _Trait, typename _Tp, typename... _Up> - inline constexpr bool __unpack_std_tuple<_Trait, _Tp, tuple<_Up...>&> - = _Trait<_Tp, _Up&...>::value; - - template class _Trait, typename _Tp, typename... _Up> - inline constexpr bool __unpack_std_tuple<_Trait, _Tp, const tuple<_Up...>> - = _Trait<_Tp, const _Up...>::value; - - template class _Trait, typename _Tp, typename... _Up> - inline constexpr bool __unpack_std_tuple<_Trait, _Tp, const tuple<_Up...>&> - = _Trait<_Tp, const _Up&...>::value; - - - - template - constexpr decltype(auto) - __apply_impl(_Fn&& __f, _Tuple&& __t, index_sequence<_Idx...>) - { - return std::__invoke(std::forward<_Fn>(__f), - std::get<_Idx>(std::forward<_Tuple>(__t))...); - } - - - - - template - - constexpr decltype(auto) - apply(_Fn&& __f, _Tuple&& __t) - noexcept(__unpack_std_tuple) - { - using _Indices - = make_index_sequence>>; - return std::__apply_impl(std::forward<_Fn>(__f), - std::forward<_Tuple>(__t), - _Indices{}); - } - - - - template - constexpr _Tp - __make_from_tuple_impl(_Tuple&& __t, index_sequence<_Idx...>) - { return _Tp(std::get<_Idx>(std::forward<_Tuple>(__t))...); } - - - - - template - - constexpr _Tp - make_from_tuple(_Tuple&& __t) - noexcept(__unpack_std_tuple) - { - constexpr size_t __n = tuple_size_v>; - - if constexpr (__n == 1) - { - using _Elt = decltype(std::get<0>(std::declval<_Tuple>())); - static_assert(!__reference_constructs_from_temporary(_Tp, _Elt)); - } - - return __make_from_tuple_impl<_Tp>(std::forward<_Tuple>(__t), - make_index_sequence<__n>{}); - } -# 3030 "/usr/include/c++/14.1.1/tuple" 3 - -} -# 40 "/usr/include/c++/14.1.1/bits/uses_allocator_args.h" 2 3 - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - concept _Std_pair = __is_pair>; - - - - - template - constexpr auto - uses_allocator_construction_args(const _Alloc& __a, - _Args&&... __args) noexcept - requires (! _Std_pair<_Tp>) - { - if constexpr (uses_allocator_v, _Alloc>) - { - if constexpr (is_constructible_v<_Tp, allocator_arg_t, - const _Alloc&, _Args...>) - { - return tuple( - allocator_arg, __a, std::forward<_Args>(__args)...); - } - else - { - static_assert(is_constructible_v<_Tp, _Args..., const _Alloc&>, - "construction with an allocator must be possible" - " if uses_allocator is true"); - - return tuple<_Args&&..., const _Alloc&>( - std::forward<_Args>(__args)..., __a); - } - } - else - { - static_assert(is_constructible_v<_Tp, _Args...>); - - return tuple<_Args&&...>(std::forward<_Args>(__args)...); - } - } - - template<_Std_pair _Tp, typename _Alloc, typename _Tuple1, typename _Tuple2> - constexpr auto - uses_allocator_construction_args(const _Alloc& __a, piecewise_construct_t, - _Tuple1&& __x, _Tuple2&& __y) noexcept; - - template<_Std_pair _Tp, typename _Alloc> - constexpr auto - uses_allocator_construction_args(const _Alloc&) noexcept; - - template<_Std_pair _Tp, typename _Alloc, typename _Up, typename _Vp> - constexpr auto - uses_allocator_construction_args(const _Alloc&, _Up&&, _Vp&&) noexcept; - - template<_Std_pair _Tp, typename _Alloc, typename _Up, typename _Vp> - constexpr auto - uses_allocator_construction_args(const _Alloc&, - const pair<_Up, _Vp>&) noexcept; - - template<_Std_pair _Tp, typename _Alloc, typename _Up, typename _Vp> - constexpr auto - uses_allocator_construction_args(const _Alloc&, pair<_Up, _Vp>&&) noexcept; -# 118 "/usr/include/c++/14.1.1/bits/uses_allocator_args.h" 3 - template<_Std_pair _Tp, typename _Alloc, typename _Tuple1, typename _Tuple2> - constexpr auto - uses_allocator_construction_args(const _Alloc& __a, piecewise_construct_t, - _Tuple1&& __x, _Tuple2&& __y) noexcept - { - using _Tp1 = typename _Tp::first_type; - using _Tp2 = typename _Tp::second_type; - - return std::make_tuple(piecewise_construct, - std::apply([&__a](auto&&... __args1) { - return std::uses_allocator_construction_args<_Tp1>( - __a, std::forward(__args1)...); - }, std::forward<_Tuple1>(__x)), - std::apply([&__a](auto&&... __args2) { - return std::uses_allocator_construction_args<_Tp2>( - __a, std::forward(__args2)...); - }, std::forward<_Tuple2>(__y))); - } - - template<_Std_pair _Tp, typename _Alloc> - constexpr auto - uses_allocator_construction_args(const _Alloc& __a) noexcept - { - using _Tp1 = typename _Tp::first_type; - using _Tp2 = typename _Tp::second_type; - - return std::make_tuple(piecewise_construct, - std::uses_allocator_construction_args<_Tp1>(__a), - std::uses_allocator_construction_args<_Tp2>(__a)); - } - - template<_Std_pair _Tp, typename _Alloc, typename _Up, typename _Vp> - constexpr auto - uses_allocator_construction_args(const _Alloc& __a, _Up&& __u, _Vp&& __v) - noexcept - { - using _Tp1 = typename _Tp::first_type; - using _Tp2 = typename _Tp::second_type; - - return std::make_tuple(piecewise_construct, - std::uses_allocator_construction_args<_Tp1>(__a, - std::forward<_Up>(__u)), - std::uses_allocator_construction_args<_Tp2>(__a, - std::forward<_Vp>(__v))); - } - - template<_Std_pair _Tp, typename _Alloc, typename _Up, typename _Vp> - constexpr auto - uses_allocator_construction_args(const _Alloc& __a, - const pair<_Up, _Vp>& __pr) noexcept - { - using _Tp1 = typename _Tp::first_type; - using _Tp2 = typename _Tp::second_type; - - return std::make_tuple(piecewise_construct, - std::uses_allocator_construction_args<_Tp1>(__a, __pr.first), - std::uses_allocator_construction_args<_Tp2>(__a, __pr.second)); - } - - template<_Std_pair _Tp, typename _Alloc, typename _Up, typename _Vp> - constexpr auto - uses_allocator_construction_args(const _Alloc& __a, - pair<_Up, _Vp>&& __pr) noexcept - { - using _Tp1 = typename _Tp::first_type; - using _Tp2 = typename _Tp::second_type; - - - - - return std::make_tuple(piecewise_construct, - std::uses_allocator_construction_args<_Tp1>(__a, - std::get<0>(std::move(__pr))), - std::uses_allocator_construction_args<_Tp2>(__a, - std::get<1>(std::move(__pr)))); - } -# 225 "/usr/include/c++/14.1.1/bits/uses_allocator_args.h" 3 - template - constexpr _Tp - make_obj_using_allocator(const _Alloc& __a, _Args&&... __args) - { - return std::make_from_tuple<_Tp>( - std::uses_allocator_construction_args<_Tp>(__a, - std::forward<_Args>(__args)...)); - } - - template - constexpr _Tp* - uninitialized_construct_using_allocator(_Tp* __p, const _Alloc& __a, - _Args&&... __args) - { - return std::apply([&](auto&&... __xs) { - return std::construct_at(__p, std::forward(__xs)...); - }, std::uses_allocator_construction_args<_Tp>(__a, - std::forward<_Args>(__args)...)); - } - - -} -# 42 "/usr/include/c++/14.1.1/bits/memory_resource.h" 2 3 -# 50 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -namespace pmr -{ - - - - - - - class memory_resource - { - static constexpr size_t _S_max_align = alignof(max_align_t); - - public: - memory_resource() = default; - memory_resource(const memory_resource&) = default; - virtual ~memory_resource(); - - memory_resource& operator=(const memory_resource&) = default; - - [[nodiscard]] - void* - allocate(size_t __bytes, size_t __alignment = _S_max_align) - __attribute__((__returns_nonnull__,__alloc_size__(2),__alloc_align__(3))) - { return ::operator new(__bytes, do_allocate(__bytes, __alignment)); } - - void - deallocate(void* __p, size_t __bytes, size_t __alignment = _S_max_align) - __attribute__((__nonnull__)) - { return do_deallocate(__p, __bytes, __alignment); } - - [[nodiscard]] - bool - is_equal(const memory_resource& __other) const noexcept - { return do_is_equal(__other); } - - private: - virtual void* - do_allocate(size_t __bytes, size_t __alignment) = 0; - - virtual void - do_deallocate(void* __p, size_t __bytes, size_t __alignment) = 0; - - virtual bool - do_is_equal(const memory_resource& __other) const noexcept = 0; - }; - - [[nodiscard]] - inline bool - operator==(const memory_resource& __a, const memory_resource& __b) noexcept - { return &__a == &__b || __a.is_equal(__b); } -# 119 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - template - class polymorphic_allocator - { - - - template - struct __not_pair { using type = void; }; - - template - struct __not_pair> { }; - - public: - using value_type = _Tp; - - polymorphic_allocator() noexcept - { - extern memory_resource* get_default_resource() noexcept - __attribute__((__returns_nonnull__)); - _M_resource = get_default_resource(); - } - - polymorphic_allocator(memory_resource* __r) noexcept - __attribute__((__nonnull__)) - : _M_resource(__r) - { ; } - - polymorphic_allocator(const polymorphic_allocator& __other) = default; - - template - polymorphic_allocator(const polymorphic_allocator<_Up>& __x) noexcept - : _M_resource(__x.resource()) - { } - - polymorphic_allocator& - operator=(const polymorphic_allocator&) = delete; - - [[nodiscard]] - _Tp* - allocate(size_t __n) - __attribute__((__returns_nonnull__)) - { - if ((__gnu_cxx::__int_traits::__max / sizeof(_Tp)) < __n) - std::__throw_bad_array_new_length(); - return static_cast<_Tp*>(_M_resource->allocate(__n * sizeof(_Tp), - alignof(_Tp))); - } - - void - deallocate(_Tp* __p, size_t __n) noexcept - __attribute__((__nonnull__)) - { _M_resource->deallocate(__p, __n * sizeof(_Tp), alignof(_Tp)); } - - - [[nodiscard]] void* - allocate_bytes(size_t __nbytes, - size_t __alignment = alignof(max_align_t)) - { return _M_resource->allocate(__nbytes, __alignment); } - - void - deallocate_bytes(void* __p, size_t __nbytes, - size_t __alignment = alignof(max_align_t)) - { _M_resource->deallocate(__p, __nbytes, __alignment); } - - template - [[nodiscard]] _Up* - allocate_object(size_t __n = 1) - { - if ((__gnu_cxx::__int_traits::__max / sizeof(_Up)) < __n) - std::__throw_bad_array_new_length(); - return static_cast<_Up*>(allocate_bytes(__n * sizeof(_Up), - alignof(_Up))); - } - - template - void - deallocate_object(_Up* __p, size_t __n = 1) - { deallocate_bytes(__p, __n * sizeof(_Up), alignof(_Up)); } - - template - [[nodiscard]] _Up* - new_object(_CtorArgs&&... __ctor_args) - { - _Up* __p = allocate_object<_Up>(); - try - { - construct(__p, std::forward<_CtorArgs>(__ctor_args)...); - } - catch(...) - { - deallocate_object(__p); - throw; - } - return __p; - } - - template - void - delete_object(_Up* __p) - { - __p->~_Up(); - deallocate_object(__p); - } -# 297 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - template - __attribute__((__nonnull__)) - void - construct(_Tp1* __p, _Args&&... __args) - { - std::uninitialized_construct_using_allocator(__p, *this, - std::forward<_Args>(__args)...); - } - - - template - __attribute__ ((__deprecated__ ("use '" "allocator_traits::destroy" "' instead"))) - __attribute__((__nonnull__)) - void - destroy(_Up* __p) - { __p->~_Up(); } - - polymorphic_allocator - select_on_container_copy_construction() const noexcept - { return polymorphic_allocator(); } - - memory_resource* - resource() const noexcept - __attribute__((__returns_nonnull__)) - { return _M_resource; } - - - - [[nodiscard]] - friend bool - operator==(const polymorphic_allocator& __a, - const polymorphic_allocator& __b) noexcept - { return *__a.resource() == *__b.resource(); } -# 339 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - private: -# 366 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - memory_resource* _M_resource; - }; - - template - [[nodiscard]] - inline bool - operator==(const polymorphic_allocator<_Tp1>& __a, - const polymorphic_allocator<_Tp2>& __b) noexcept - { return *__a.resource() == *__b.resource(); } -# 385 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 -} - - template struct allocator_traits; - - - template - struct allocator_traits> - { - - using allocator_type = pmr::polymorphic_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 = false_type; - using propagate_on_container_swap = false_type; - - static allocator_type - select_on_container_copy_construction(const allocator_type&) noexcept - { return allocator_type(); } - - - - using is_always_equal = false_type; - - template - using rebind_alloc = pmr::polymorphic_allocator<_Up>; - - template - using rebind_traits = allocator_traits>; -# 446 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - [[nodiscard]] static pointer - allocate(allocator_type& __a, size_type __n) - { return __a.allocate(__n); } -# 461 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - [[nodiscard]] static pointer - allocate(allocator_type& __a, size_type __n, const_void_pointer) - { return __a.allocate(__n); } -# 473 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - static void - deallocate(allocator_type& __a, pointer __p, size_type __n) - { __a.deallocate(__p, __n); } -# 488 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - template - static void - construct(allocator_type& __a, _Up* __p, _Args&&... __args) - { __a.construct(__p, std::forward<_Args>(__args)...); } -# 500 "/usr/include/c++/14.1.1/bits/memory_resource.h" 3 - template - static constexpr void - destroy(allocator_type&, _Up* __p) - noexcept(is_nothrow_destructible<_Up>::value) - { __p->~_Up(); } - - - - - - static constexpr size_type - max_size(const allocator_type&) noexcept - { return size_t(-1) / sizeof(value_type); } - }; - - -} -# 68 "/usr/include/c++/14.1.1/string" 2 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - namespace pmr { - template> - using basic_string = std::basic_string<_CharT, _Traits, - polymorphic_allocator<_CharT>>; - using string = basic_string; - - using u8string = basic_string; - - using u16string = basic_string; - using u32string = basic_string; - using wstring = basic_string; - } - -} - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - constexpr - inline typename basic_string<_CharT, _Traits, _Alloc>::size_type - erase_if(basic_string<_CharT, _Traits, _Alloc>& __cont, _Predicate __pred) - { - using namespace __gnu_cxx; - const auto __osz = __cont.size(); - const auto __end = __cont.end(); - auto __removed = std::__remove_if(__cont.begin(), __end, - __ops::__pred_iter(std::ref(__pred))); - __cont.erase(__removed, __end); - return __osz - __cont.size(); - } - - template - constexpr - inline typename basic_string<_CharT, _Traits, _Alloc>::size_type - erase(basic_string<_CharT, _Traits, _Alloc>& __cont, const _Up& __value) - { - using namespace __gnu_cxx; - const auto __osz = __cont.size(); - const auto __end = __cont.end(); - auto __removed = std::__remove_if(__cont.begin(), __end, - __ops::__iter_equals_val(__value)); - __cont.erase(__removed, __end); - return __osz - __cont.size(); - } - -} -# 41 "/usr/include/c++/14.1.1/bits/locale_classes.h" 2 3 - - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 66 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - class locale - { - public: - - - typedef int category; - - - class facet; - class id; - class _Impl; - - friend class facet; - friend class _Impl; - - template - friend bool - has_facet(const locale&) throw(); - - template - friend const _Facet& - use_facet(const locale&); - - template - friend const _Facet* - __try_use_facet(const locale&) noexcept; - - template - friend struct __use_cache; -# 106 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - static const category none = 0; - static const category ctype = 1L << 0; - static const category numeric = 1L << 1; - static const category collate = 1L << 2; - static const category time = 1L << 3; - static const category monetary = 1L << 4; - static const category messages = 1L << 5; - static const category all = (ctype | numeric | collate | - time | monetary | messages); -# 125 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - locale() throw(); -# 134 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - locale(const locale& __other) throw(); -# 144 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - explicit - locale(const char* __s); -# 159 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - locale(const locale& __base, const char* __s, category __cat); -# 170 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - explicit - locale(const std::string& __s) : locale(__s.c_str()) { } -# 185 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - locale(const locale& __base, const std::string& __s, category __cat) - : locale(__base, __s.c_str(), __cat) { } -# 200 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - locale(const locale& __base, const locale& __add, category __cat); -# 213 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - template - locale(const locale& __other, _Facet* __f); - - - ~locale() throw(); -# 227 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - const locale& - operator=(const locale& __other) throw(); -# 242 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - template - locale - combine(const locale& __other) const; - - - - - - - __attribute ((__abi_tag__ ("cxx11"))) - string - name() const; -# 272 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - bool - operator==(const locale& __other) const throw(); -# 302 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - template - bool - operator()(const basic_string<_Char, _Traits, _Alloc>& __s1, - const basic_string<_Char, _Traits, _Alloc>& __s2) const; -# 318 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - static locale - global(const locale& __loc); - - - - - static const locale& - classic(); - - private: - - _Impl* _M_impl; - - - static _Impl* _S_classic; - - - static _Impl* _S_global; - - - - - - static const char* const* const _S_categories; -# 353 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - enum { _S_categories_size = 6 + 6 }; - - - static __gthread_once_t _S_once; - - - explicit - locale(_Impl*) throw(); - - static void - _S_initialize(); - - static void - _S_initialize_once() throw(); - - static category - _S_normalize_category(category); - - void - _M_coalesce(const locale& __base, const locale& __add, category __cat); - - - static const id* const _S_twinned_facets[]; - - }; -# 391 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - class locale::facet - { - private: - friend class locale; - friend class locale::_Impl; - - mutable _Atomic_word _M_refcount; - - - static __c_locale _S_c_locale; - - - static const char _S_c_name[2]; - - - static __gthread_once_t _S_once; - - - static void - _S_initialize_once(); - - protected: -# 422 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - explicit - facet(size_t __refs = 0) throw() : _M_refcount(__refs ? 1 : 0) - { } - - - virtual - ~facet(); - - static void - _S_create_c_locale(__c_locale& __cloc, const char* __s, - __c_locale __old = 0); - - static __c_locale - _S_clone_c_locale(__c_locale& __cloc) throw(); - - static void - _S_destroy_c_locale(__c_locale& __cloc); - - static __c_locale - _S_lc_ctype_c_locale(__c_locale __cloc, const char* __s); - - - - static __c_locale - _S_get_c_locale(); - - __attribute__ ((__const__)) static const char* - _S_get_c_name() throw(); -# 458 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - facet(const facet&) = delete; - - facet& - operator=(const facet&) = delete; - - - private: - void - _M_add_reference() const throw() - { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } - - void - _M_remove_reference() const throw() - { - - ; - if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1) - { - ; - try - { delete this; } - catch(...) - { } - } - } - - const facet* _M_sso_shim(const id*) const; - const facet* _M_cow_shim(const id*) const; - - protected: - class __shim; - }; -# 503 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - class locale::id - { - private: - friend class locale; - friend class locale::_Impl; - - template - friend const _Facet& - use_facet(const locale&); - - template - friend bool - has_facet(const locale&) throw(); - - template - friend const _Facet* - __try_use_facet(const locale&) noexcept; - - - - - mutable size_t _M_index; - - - static _Atomic_word _S_refcount; - - void - operator=(const id&); - - id(const id&); - - public: - - - - id() { } - - size_t - _M_id() const throw(); - }; - - - - class locale::_Impl - { - public: - - friend class locale; - friend class locale::facet; - - template - friend bool - has_facet(const locale&) throw(); - - template - friend const _Facet& - use_facet(const locale&); - - template - friend const _Facet* - __try_use_facet(const locale&) noexcept; - - template - friend struct __use_cache; - - private: - - _Atomic_word _M_refcount; - const facet** _M_facets; - size_t _M_facets_size; - const facet** _M_caches; - char** _M_names; - static const locale::id* const _S_id_ctype[]; - static const locale::id* const _S_id_numeric[]; - static const locale::id* const _S_id_collate[]; - static const locale::id* const _S_id_time[]; - static const locale::id* const _S_id_monetary[]; - static const locale::id* const _S_id_messages[]; - static const locale::id* const* const _S_facet_categories[]; - - void - _M_add_reference() throw() - { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } - - void - _M_remove_reference() throw() - { - - ; - if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1) - { - ; - try - { delete this; } - catch(...) - { } - } - } - - _Impl(const _Impl&, size_t); - _Impl(const char*, size_t); - _Impl(size_t) throw(); - - ~_Impl() throw(); - - _Impl(const _Impl&); - - void - operator=(const _Impl&); - - bool - _M_check_same_name() - { - bool __ret = true; - if (_M_names[1]) - - for (size_t __i = 0; __ret && __i < _S_categories_size - 1; ++__i) - __ret = __builtin_strcmp(_M_names[__i], _M_names[__i + 1]) == 0; - return __ret; - } - - void - _M_replace_categories(const _Impl*, category); - - void - _M_replace_category(const _Impl*, const locale::id* const*); - - void - _M_replace_facet(const _Impl*, const locale::id*); - - void - _M_install_facet(const locale::id*, const facet*); - - template - void - _M_init_facet(_Facet* __facet) - { _M_install_facet(&_Facet::id, __facet); } - - template - void - _M_init_facet_unchecked(_Facet* __facet) - { - __facet->_M_add_reference(); - _M_facets[_Facet::id._M_id()] = __facet; - } - - void - _M_install_cache(const facet*, size_t); - - void _M_init_extra(facet**); - void _M_init_extra(void*, void*, const char*, const char*); - - - - - }; -# 673 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - template - class __cxx11:: collate : public locale::facet - { - public: - - - - typedef _CharT char_type; - typedef basic_string<_CharT> string_type; - - - protected: - - - __c_locale _M_c_locale_collate; - - public: - - static locale::id id; -# 700 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - explicit - collate(size_t __refs = 0) - : facet(__refs), _M_c_locale_collate(_S_get_c_locale()) - { } -# 714 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - explicit - collate(__c_locale __cloc, size_t __refs = 0) - : facet(__refs), _M_c_locale_collate(_S_clone_c_locale(__cloc)) - { } -# 731 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - int - compare(const _CharT* __lo1, const _CharT* __hi1, - const _CharT* __lo2, const _CharT* __hi2) const - { return this->do_compare(__lo1, __hi1, __lo2, __hi2); } -# 750 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - string_type - transform(const _CharT* __lo, const _CharT* __hi) const - { return this->do_transform(__lo, __hi); } -# 764 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - long - hash(const _CharT* __lo, const _CharT* __hi) const - { return this->do_hash(__lo, __hi); } - - - int - _M_compare(const _CharT*, const _CharT*) const throw(); - - size_t - _M_transform(_CharT*, const _CharT*, size_t) const throw(); - - protected: - - virtual - ~collate() - { _S_destroy_c_locale(_M_c_locale_collate); } -# 793 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - virtual int - do_compare(const _CharT* __lo1, const _CharT* __hi1, - const _CharT* __lo2, const _CharT* __hi2) const; -# 807 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - virtual string_type - do_transform(const _CharT* __lo, const _CharT* __hi) const; -# 820 "/usr/include/c++/14.1.1/bits/locale_classes.h" 3 - virtual long - do_hash(const _CharT* __lo, const _CharT* __hi) const; - }; - - template - locale::id collate<_CharT>::id; - - - template<> - int - collate::_M_compare(const char*, const char*) const throw(); - - template<> - size_t - collate::_M_transform(char*, const char*, size_t) const throw(); - - - template<> - int - collate::_M_compare(const wchar_t*, const wchar_t*) const throw(); - - template<> - size_t - collate::_M_transform(wchar_t*, const wchar_t*, size_t) const throw(); - - - - template - class __cxx11:: collate_byname : public collate<_CharT> - { - public: - - - typedef _CharT char_type; - typedef basic_string<_CharT> string_type; - - - explicit - collate_byname(const char* __s, size_t __refs = 0) - : collate<_CharT>(__refs) - { - if (__builtin_strcmp(__s, "C") != 0 - && __builtin_strcmp(__s, "POSIX") != 0) - { - this->_S_destroy_c_locale(this->_M_c_locale_collate); - this->_S_create_c_locale(this->_M_c_locale_collate, __s); - } - } - - - explicit - collate_byname(const string& __s, size_t __refs = 0) - : collate_byname(__s.c_str(), __refs) { } - - - protected: - virtual - ~collate_byname() { } - }; - - -} - -# 1 "/usr/include/c++/14.1.1/bits/locale_classes.tcc" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/locale_classes.tcc" 3 - -# 38 "/usr/include/c++/14.1.1/bits/locale_classes.tcc" 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - locale:: - locale(const locale& __other, _Facet* __f) - { - _M_impl = new _Impl(*__other._M_impl, 1); - - try - { _M_impl->_M_install_facet(&_Facet::id, __f); } - catch(...) - { - _M_impl->_M_remove_reference(); - throw; - } - delete [] _M_impl->_M_names[0]; - _M_impl->_M_names[0] = 0; - } - - template - locale - locale:: - combine(const locale& __other) const - { - _Impl* __tmp = new _Impl(*_M_impl, 1); - try - { - __tmp->_M_replace_facet(__other._M_impl, &_Facet::id); - } - catch(...) - { - __tmp->_M_remove_reference(); - throw; - } - return locale(__tmp); - } - - template - bool - locale:: - operator()(const basic_string<_CharT, _Traits, _Alloc>& __s1, - const basic_string<_CharT, _Traits, _Alloc>& __s2) const - { - typedef std::collate<_CharT> __collate_type; - const __collate_type& __collate = use_facet<__collate_type>(*this); - return (__collate.compare(__s1.data(), __s1.data() + __s1.length(), - __s2.data(), __s2.data() + __s2.length()) < 0); - } - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wc++17-extensions" - template - inline const _Facet* - __try_use_facet(const locale& __loc) noexcept - { - const size_t __i = _Facet::id._M_id(); - const locale::facet** __facets = __loc._M_impl->_M_facets; - - - - - - - - if constexpr (__is_same(_Facet, ctype)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, num_get)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, num_put)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, codecvt)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, collate)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, moneypunct)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, moneypunct)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, money_get)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, money_put)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, numpunct)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, time_get)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, time_put)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, messages)) return static_cast(__facets[__i]); - - - if constexpr (__is_same(_Facet, ctype)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, num_get)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, num_put)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, codecvt)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, collate)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, moneypunct)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, moneypunct)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, money_get)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, money_put)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, numpunct)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, time_get)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, time_put)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, messages)) return static_cast(__facets[__i]); - - - if constexpr (__is_same(_Facet, codecvt)) return static_cast(__facets[__i]); - if constexpr (__is_same(_Facet, codecvt)) return static_cast(__facets[__i]); - - - - - if (__i >= __loc._M_impl->_M_facets_size || !__facets[__i]) - return 0; - - - return dynamic_cast(__facets[__i]); - - - - } -#pragma GCC diagnostic pop -# 164 "/usr/include/c++/14.1.1/bits/locale_classes.tcc" 3 - template - inline bool - has_facet(const locale& __loc) throw() - { - - static_assert(__is_base_of(locale::facet, _Facet), - "template argument must be derived from locale::facet"); - - - - return std::__try_use_facet<_Facet>(__loc) != 0; - } -# 191 "/usr/include/c++/14.1.1/bits/locale_classes.tcc" 3 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdangling-reference" - template - inline const _Facet& - use_facet(const locale& __loc) - { - - static_assert(__is_base_of(locale::facet, _Facet), - "template argument must be derived from locale::facet"); - - - - if (const _Facet* __f = std::__try_use_facet<_Facet>(__loc)) - return *__f; - __throw_bad_cast(); - } -#pragma GCC diagnostic pop - - - - template - int - collate<_CharT>::_M_compare(const _CharT*, const _CharT*) const throw () - { return 0; } - - - template - size_t - collate<_CharT>::_M_transform(_CharT*, const _CharT*, size_t) const throw () - { return 0; } - - template - int - collate<_CharT>:: - do_compare(const _CharT* __lo1, const _CharT* __hi1, - const _CharT* __lo2, const _CharT* __hi2) const - { - - - const string_type __one(__lo1, __hi1); - const string_type __two(__lo2, __hi2); - - const _CharT* __p = __one.c_str(); - const _CharT* __pend = __one.data() + __one.length(); - const _CharT* __q = __two.c_str(); - const _CharT* __qend = __two.data() + __two.length(); - - - - - for (;;) - { - const int __res = _M_compare(__p, __q); - if (__res) - return __res; - - __p += char_traits<_CharT>::length(__p); - __q += char_traits<_CharT>::length(__q); - if (__p == __pend && __q == __qend) - return 0; - else if (__p == __pend) - return -1; - else if (__q == __qend) - return 1; - - __p++; - __q++; - } - } - - template - typename collate<_CharT>::string_type - collate<_CharT>:: - do_transform(const _CharT* __lo, const _CharT* __hi) const - { - string_type __ret; - - - const string_type __str(__lo, __hi); - - const _CharT* __p = __str.c_str(); - const _CharT* __pend = __str.data() + __str.length(); - - size_t __len = (__hi - __lo) * 2; - - _CharT* __c = new _CharT[__len]; - - try - { - - - - for (;;) - { - - size_t __res = _M_transform(__c, __p, __len); - - - if (__res >= __len) - { - __len = __res + 1; - delete [] __c, __c = 0; - __c = new _CharT[__len]; - __res = _M_transform(__c, __p, __len); - } - - __ret.append(__c, __res); - __p += char_traits<_CharT>::length(__p); - if (__p == __pend) - break; - - __p++; - __ret.push_back(_CharT()); - } - } - catch(...) - { - delete [] __c; - throw; - } - - delete [] __c; - - return __ret; - } - - template - long - collate<_CharT>:: - do_hash(const _CharT* __lo, const _CharT* __hi) const - { - unsigned long __val = 0; - for (; __lo < __hi; ++__lo) - __val = - *__lo + ((__val << 7) - | (__val >> (__gnu_cxx::__numeric_traits:: - __digits - 7))); - return static_cast(__val); - } - - - - - extern template class collate; - extern template class collate_byname; - - extern template - const collate* - __try_use_facet >(const locale&) noexcept; - - extern template - const collate& - use_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - - extern template class collate; - extern template class collate_byname; - - extern template - const collate* - __try_use_facet >(const locale&) noexcept; - - extern template - const collate& - use_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - - - -} -# 884 "/usr/include/c++/14.1.1/bits/locale_classes.h" 2 3 -# 42 "/usr/include/c++/14.1.1/bits/ios_base.h" 2 3 - - - - -# 1 "/usr/include/c++/14.1.1/system_error" 1 3 -# 32 "/usr/include/c++/14.1.1/system_error" 3 - -# 33 "/usr/include/c++/14.1.1/system_error" 3 -# 41 "/usr/include/c++/14.1.1/system_error" 3 -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/error_constants.h" 1 3 -# 34 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/error_constants.h" 3 -# 1 "/usr/include/c++/14.1.1/cerrno" 1 3 -# 39 "/usr/include/c++/14.1.1/cerrno" 3 - -# 40 "/usr/include/c++/14.1.1/cerrno" 3 -# 35 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/error_constants.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - enum class errc - { - address_family_not_supported = 97, - address_in_use = 98, - address_not_available = 99, - already_connected = 106, - argument_list_too_long = 7, - argument_out_of_domain = 33, - bad_address = 14, - bad_file_descriptor = 9, - - - bad_message = 74, - - - broken_pipe = 32, - connection_aborted = 103, - connection_already_in_progress = 114, - connection_refused = 111, - connection_reset = 104, - cross_device_link = 18, - destination_address_required = 89, - device_or_resource_busy = 16, - directory_not_empty = 39, - executable_format_error = 8, - file_exists = 17, - file_too_large = 27, - filename_too_long = 36, - function_not_supported = 38, - host_unreachable = 113, - - - identifier_removed = 43, - - - illegal_byte_sequence = 84, - inappropriate_io_control_operation = 25, - interrupted = 4, - invalid_argument = 22, - invalid_seek = 29, - io_error = 5, - is_a_directory = 21, - message_size = 90, - network_down = 100, - network_reset = 102, - network_unreachable = 101, - no_buffer_space = 105, - no_child_process = 10, - - - no_link = 67, - - - no_lock_available = 37, - - - no_message_available = 61, - - - no_message = 42, - no_protocol_option = 92, - no_space_on_device = 28, - - - no_stream_resources = 63, - - - no_such_device_or_address = 6, - no_such_device = 19, - no_such_file_or_directory = 2, - no_such_process = 3, - not_a_directory = 20, - not_a_socket = 88, - - - not_a_stream = 60, - - - not_connected = 107, - not_enough_memory = 12, - - - not_supported = 95, - - - - operation_canceled = 125, - - - operation_in_progress = 115, - operation_not_permitted = 1, - operation_not_supported = 95, - operation_would_block = 11, - - - owner_dead = 130, - - - permission_denied = 13, - - - protocol_error = 71, - - - protocol_not_supported = 93, - read_only_file_system = 30, - resource_deadlock_would_occur = 35, - resource_unavailable_try_again = 11, - result_out_of_range = 34, - - - state_not_recoverable = 131, - - - - stream_timeout = 62, - - - - text_file_busy = 26, - - - timed_out = 110, - too_many_files_open_in_system = 23, - too_many_files_open = 24, - too_many_links = 31, - too_many_symbolic_link_levels = 40, - - - value_too_large = 75, - - - - - wrong_protocol_type = 91 - }; - - -} -# 42 "/usr/include/c++/14.1.1/system_error" 2 3 - -# 1 "/usr/include/c++/14.1.1/stdexcept" 1 3 -# 36 "/usr/include/c++/14.1.1/stdexcept" 3 - -# 37 "/usr/include/c++/14.1.1/stdexcept" 3 - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - struct __cow_string - { - union { - const char* _M_p; - char _M_bytes[sizeof(const char*)]; - }; - - __cow_string(); - __cow_string(const std::string&); - __cow_string(const char*, size_t); - __cow_string(const __cow_string&) noexcept; - __cow_string& operator=(const __cow_string&) noexcept; - ~__cow_string(); - - __cow_string(__cow_string&&) noexcept; - __cow_string& operator=(__cow_string&&) noexcept; - - }; - - typedef basic_string __sso_string; -# 113 "/usr/include/c++/14.1.1/stdexcept" 3 - class logic_error : public exception - { - __cow_string _M_msg; - - public: - - explicit - logic_error(const string& __arg) ; - - - explicit - logic_error(const char*) ; - - logic_error(logic_error&&) noexcept; - logic_error& operator=(logic_error&&) noexcept; - - - - logic_error(const logic_error&) noexcept; - logic_error& operator=(const logic_error&) noexcept; - - - - - - virtual ~logic_error() noexcept; - - - - virtual const char* - what() const noexcept; - - - - - - }; - - - - class domain_error : public logic_error - { - public: - explicit domain_error(const string& __arg) ; - - explicit domain_error(const char*) ; - domain_error(const domain_error&) = default; - domain_error& operator=(const domain_error&) = default; - domain_error(domain_error&&) = default; - domain_error& operator=(domain_error&&) = default; - - virtual ~domain_error() noexcept; - }; - - - class invalid_argument : public logic_error - { - public: - explicit invalid_argument(const string& __arg) ; - - explicit invalid_argument(const char*) ; - invalid_argument(const invalid_argument&) = default; - invalid_argument& operator=(const invalid_argument&) = default; - invalid_argument(invalid_argument&&) = default; - invalid_argument& operator=(invalid_argument&&) = default; - - virtual ~invalid_argument() noexcept; - }; - - - - class length_error : public logic_error - { - public: - explicit length_error(const string& __arg) ; - - explicit length_error(const char*) ; - length_error(const length_error&) = default; - length_error& operator=(const length_error&) = default; - length_error(length_error&&) = default; - length_error& operator=(length_error&&) = default; - - virtual ~length_error() noexcept; - }; - - - - class out_of_range : public logic_error - { - public: - explicit out_of_range(const string& __arg) ; - - explicit out_of_range(const char*) ; - out_of_range(const out_of_range&) = default; - out_of_range& operator=(const out_of_range&) = default; - out_of_range(out_of_range&&) = default; - out_of_range& operator=(out_of_range&&) = default; - - virtual ~out_of_range() noexcept; - }; - - - - - - - class runtime_error : public exception - { - __cow_string _M_msg; - - public: - - explicit - runtime_error(const string& __arg) ; - - - explicit - runtime_error(const char*) ; - - runtime_error(runtime_error&&) noexcept; - runtime_error& operator=(runtime_error&&) noexcept; - - - - runtime_error(const runtime_error&) noexcept; - runtime_error& operator=(const runtime_error&) noexcept; - - - - - - virtual ~runtime_error() noexcept; - - - - virtual const char* - what() const noexcept; - - - - - - }; - - - class range_error : public runtime_error - { - public: - explicit range_error(const string& __arg) ; - - explicit range_error(const char*) ; - range_error(const range_error&) = default; - range_error& operator=(const range_error&) = default; - range_error(range_error&&) = default; - range_error& operator=(range_error&&) = default; - - virtual ~range_error() noexcept; - }; - - - class overflow_error : public runtime_error - { - public: - explicit overflow_error(const string& __arg) ; - - explicit overflow_error(const char*) ; - overflow_error(const overflow_error&) = default; - overflow_error& operator=(const overflow_error&) = default; - overflow_error(overflow_error&&) = default; - overflow_error& operator=(overflow_error&&) = default; - - virtual ~overflow_error() noexcept; - }; - - - class underflow_error : public runtime_error - { - public: - explicit underflow_error(const string& __arg) ; - - explicit underflow_error(const char*) ; - underflow_error(const underflow_error&) = default; - underflow_error& operator=(const underflow_error&) = default; - underflow_error(underflow_error&&) = default; - underflow_error& operator=(underflow_error&&) = default; - - virtual ~underflow_error() noexcept; - }; - - - - -} -# 44 "/usr/include/c++/14.1.1/system_error" 2 3 - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - class error_code; - class error_condition; - class system_error; - - - template - struct is_error_code_enum : public false_type { }; - - - template - struct is_error_condition_enum : public false_type { }; - - template<> - struct is_error_condition_enum - : public true_type { }; - - - template - inline constexpr bool is_error_code_enum_v = - is_error_code_enum<_Tp>::value; - template - inline constexpr bool is_error_condition_enum_v = - is_error_condition_enum<_Tp>::value; - - - -inline namespace _V2 { -# 106 "/usr/include/c++/14.1.1/system_error" 3 - class error_category - { - public: - constexpr error_category() noexcept = default; - - virtual ~error_category(); - - error_category(const error_category&) = delete; - error_category& operator=(const error_category&) = delete; - - - virtual const char* - name() const noexcept = 0; - - - - - - - private: - __attribute ((__abi_tag__ ("cxx11"))) - virtual __cow_string - _M_message(int) const; - - public: - - __attribute ((__abi_tag__ ("cxx11"))) - virtual string - message(int) const = 0; -# 144 "/usr/include/c++/14.1.1/system_error" 3 - public: - - virtual error_condition - default_error_condition(int __i) const noexcept; - - - virtual bool - equivalent(int __i, const error_condition& __cond) const noexcept; - - - virtual bool - equivalent(const error_code& __code, int __i) const noexcept; - - - [[__nodiscard__]] - bool - operator==(const error_category& __other) const noexcept - { return this == &__other; } - - - - [[nodiscard]] - strong_ordering - operator<=>(const error_category& __rhs) const noexcept - { return std::compare_three_way()(this, &__rhs); } -# 178 "/usr/include/c++/14.1.1/system_error" 3 - }; - - - - - [[__nodiscard__, __gnu__::__const__]] - const error_category& - generic_category() noexcept; - - - [[__nodiscard__, __gnu__::__const__]] - const error_category& - system_category() noexcept; - - - -} - - - - - -namespace __adl_only -{ - void make_error_code() = delete; - void make_error_condition() = delete; -} -# 223 "/usr/include/c++/14.1.1/system_error" 3 - class error_code - { - template - using _Check - = __enable_if_t::value>; - - public: - error_code() noexcept - : _M_value(0), _M_cat(&system_category()) { } - - error_code(int __v, const error_category& __cat) noexcept - : _M_value(__v), _M_cat(&__cat) { } - - - template> - error_code(_ErrorCodeEnum __e) noexcept - { - using __adl_only::make_error_code; - *this = make_error_code(__e); - } - - error_code(const error_code&) = default; - error_code& operator=(const error_code&) = default; - - void - assign(int __v, const error_category& __cat) noexcept - { - _M_value = __v; - _M_cat = &__cat; - } - - void - clear() noexcept - { assign(0, system_category()); } - - - [[__nodiscard__]] - int - value() const noexcept { return _M_value; } - - - [[__nodiscard__]] - const error_category& - category() const noexcept { return *_M_cat; } - - - error_condition - default_error_condition() const noexcept; - - - __attribute ((__abi_tag__ ("cxx11"))) - string - message() const - { return category().message(value()); } - - - [[__nodiscard__]] - explicit operator bool() const noexcept - { return _M_value != 0; } - - - private: - int _M_value; - const error_category* _M_cat; - }; -# 300 "/usr/include/c++/14.1.1/system_error" 3 - [[__nodiscard__]] - inline error_code - make_error_code(errc __e) noexcept - { return error_code(static_cast(__e), generic_category()); } -# 314 "/usr/include/c++/14.1.1/system_error" 3 - [[nodiscard]] - inline strong_ordering - operator<=>(const error_code& __lhs, const error_code& __rhs) noexcept - { - if (auto __c = __lhs.category() <=> __rhs.category(); __c != 0) - return __c; - return __lhs.value() <=> __rhs.value(); - } -# 337 "/usr/include/c++/14.1.1/system_error" 3 - template - basic_ostream<_CharT, _Traits>& - operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e) - { return (__os << __e.category().name() << ':' << __e.value()); } -# 354 "/usr/include/c++/14.1.1/system_error" 3 - class error_condition - { - template - using _Check - = __enable_if_t::value>; - - public: - - error_condition() noexcept - : _M_value(0), _M_cat(&generic_category()) { } - - - error_condition(int __v, const error_category& __cat) noexcept - : _M_value(__v), _M_cat(&__cat) { } - - - template> - error_condition(_ErrorConditionEnum __e) noexcept - { - using __adl_only::make_error_condition; - *this = make_error_condition(__e); - } - - error_condition(const error_condition&) = default; - error_condition& operator=(const error_condition&) = default; - - - void - assign(int __v, const error_category& __cat) noexcept - { - _M_value = __v; - _M_cat = &__cat; - } - - - void - clear() noexcept - { assign(0, generic_category()); } - - - - - [[__nodiscard__]] - int - value() const noexcept { return _M_value; } - - - [[__nodiscard__]] - const error_category& - category() const noexcept { return *_M_cat; } - - - __attribute ((__abi_tag__ ("cxx11"))) - string - message() const - { return category().message(value()); } - - - [[__nodiscard__]] - explicit operator bool() const noexcept - { return _M_value != 0; } - - - private: - int _M_value; - const error_category* _M_cat; - }; -# 433 "/usr/include/c++/14.1.1/system_error" 3 - [[__nodiscard__]] - inline error_condition - make_error_condition(errc __e) noexcept - { return error_condition(static_cast(__e), generic_category()); } -# 447 "/usr/include/c++/14.1.1/system_error" 3 - [[__nodiscard__]] - inline bool - operator==(const error_code& __lhs, const error_code& __rhs) noexcept - { - return __lhs.category() == __rhs.category() - && __lhs.value() == __rhs.value(); - } -# 463 "/usr/include/c++/14.1.1/system_error" 3 - [[__nodiscard__]] - inline bool - operator==(const error_code& __lhs, const error_condition& __rhs) noexcept - { - return __lhs.category().equivalent(__lhs.value(), __rhs) - || __rhs.category().equivalent(__lhs, __rhs.value()); - } -# 478 "/usr/include/c++/14.1.1/system_error" 3 - [[__nodiscard__]] - inline bool - operator==(const error_condition& __lhs, - const error_condition& __rhs) noexcept - { - return __lhs.category() == __rhs.category() - && __lhs.value() == __rhs.value(); - } -# 496 "/usr/include/c++/14.1.1/system_error" 3 - [[nodiscard]] - inline strong_ordering - operator<=>(const error_condition& __lhs, - const error_condition& __rhs) noexcept - { - if (auto __c = __lhs.category() <=> __rhs.category(); __c != 0) - return __c; - return __lhs.value() <=> __rhs.value(); - } -# 556 "/usr/include/c++/14.1.1/system_error" 3 - class system_error : public std::runtime_error - { - private: - error_code _M_code; - - public: - system_error(error_code __ec = error_code()) - : runtime_error(__ec.message()), _M_code(__ec) { } - - system_error(error_code __ec, const string& __what) - : runtime_error(__what + (": " + __ec.message())), _M_code(__ec) { } - - system_error(error_code __ec, const char* __what) - : runtime_error(__what + (": " + __ec.message())), _M_code(__ec) { } - - system_error(int __v, const error_category& __ecat, const char* __what) - : system_error(error_code(__v, __ecat), __what) { } - - system_error(int __v, const error_category& __ecat) - : runtime_error(error_code(__v, __ecat).message()), - _M_code(__v, __ecat) { } - - system_error(int __v, const error_category& __ecat, const string& __what) - : runtime_error(__what + (": " + error_code(__v, __ecat).message())), - _M_code(__v, __ecat) { } - - - system_error (const system_error &) = default; - system_error &operator= (const system_error &) = default; - - - virtual ~system_error() noexcept; - - const error_code& - code() const noexcept { return _M_code; } - }; - - -} - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - template<> - struct hash - : public __hash_base - { - size_t - operator()(const error_code& __e) const noexcept - { - const size_t __tmp = std::_Hash_impl::hash(__e.value()); - return std::_Hash_impl::__hash_combine(&__e.category(), __tmp); - } - }; - - - - - - - template<> - struct hash - : public __hash_base - { - size_t - operator()(const error_condition& __e) const noexcept - { - const size_t __tmp = std::_Hash_impl::hash(__e.value()); - return std::_Hash_impl::__hash_combine(&__e.category(), __tmp); - } - }; - - - -} -# 47 "/usr/include/c++/14.1.1/bits/ios_base.h" 2 3 - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - enum _Ios_Fmtflags - { - _S_boolalpha = 1L << 0, - _S_dec = 1L << 1, - _S_fixed = 1L << 2, - _S_hex = 1L << 3, - _S_internal = 1L << 4, - _S_left = 1L << 5, - _S_oct = 1L << 6, - _S_right = 1L << 7, - _S_scientific = 1L << 8, - _S_showbase = 1L << 9, - _S_showpoint = 1L << 10, - _S_showpos = 1L << 11, - _S_skipws = 1L << 12, - _S_unitbuf = 1L << 13, - _S_uppercase = 1L << 14, - _S_adjustfield = _S_left | _S_right | _S_internal, - _S_basefield = _S_dec | _S_oct | _S_hex, - _S_floatfield = _S_scientific | _S_fixed, - _S_ios_fmtflags_end = 1L << 16, - _S_ios_fmtflags_max = 0x7fffffff, - _S_ios_fmtflags_min = ~0x7fffffff - }; - - [[__nodiscard__]] constexpr - inline _Ios_Fmtflags - operator&(_Ios_Fmtflags __a, _Ios_Fmtflags __b) noexcept - { return _Ios_Fmtflags(static_cast(__a) & static_cast(__b)); } - - [[__nodiscard__]] constexpr - inline _Ios_Fmtflags - operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b) noexcept - { return _Ios_Fmtflags(static_cast(__a) | static_cast(__b)); } - - [[__nodiscard__]] constexpr - inline _Ios_Fmtflags - operator^(_Ios_Fmtflags __a, _Ios_Fmtflags __b) noexcept - { return _Ios_Fmtflags(static_cast(__a) ^ static_cast(__b)); } - - [[__nodiscard__]] constexpr - inline _Ios_Fmtflags - operator~(_Ios_Fmtflags __a) noexcept - { return _Ios_Fmtflags(~static_cast(__a)); } - - constexpr - inline const _Ios_Fmtflags& - operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) noexcept - { return __a = __a | __b; } - - constexpr - inline const _Ios_Fmtflags& - operator&=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) noexcept - { return __a = __a & __b; } - - constexpr - inline const _Ios_Fmtflags& - operator^=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) noexcept - { return __a = __a ^ __b; } - - - enum _Ios_Openmode - { - _S_app = 1L << 0, - _S_ate = 1L << 1, - _S_bin = 1L << 2, - _S_in = 1L << 3, - _S_out = 1L << 4, - _S_trunc = 1L << 5, - _S_noreplace = 1L << 6, - _S_ios_openmode_end = 1L << 16, - _S_ios_openmode_max = 0x7fffffff, - _S_ios_openmode_min = ~0x7fffffff - }; - - [[__nodiscard__]] constexpr - inline _Ios_Openmode - operator&(_Ios_Openmode __a, _Ios_Openmode __b) noexcept - { return _Ios_Openmode(static_cast(__a) & static_cast(__b)); } - - [[__nodiscard__]] constexpr - inline _Ios_Openmode - operator|(_Ios_Openmode __a, _Ios_Openmode __b) noexcept - { return _Ios_Openmode(static_cast(__a) | static_cast(__b)); } - - [[__nodiscard__]] constexpr - inline _Ios_Openmode - operator^(_Ios_Openmode __a, _Ios_Openmode __b) noexcept - { return _Ios_Openmode(static_cast(__a) ^ static_cast(__b)); } - - [[__nodiscard__]] constexpr - inline _Ios_Openmode - operator~(_Ios_Openmode __a) noexcept - { return _Ios_Openmode(~static_cast(__a)); } - - constexpr - inline const _Ios_Openmode& - operator|=(_Ios_Openmode& __a, _Ios_Openmode __b) noexcept - { return __a = __a | __b; } - - constexpr - inline const _Ios_Openmode& - operator&=(_Ios_Openmode& __a, _Ios_Openmode __b) noexcept - { return __a = __a & __b; } - - constexpr - inline const _Ios_Openmode& - operator^=(_Ios_Openmode& __a, _Ios_Openmode __b) noexcept - { return __a = __a ^ __b; } - - - enum _Ios_Iostate - { - _S_goodbit = 0, - _S_badbit = 1L << 0, - _S_eofbit = 1L << 1, - _S_failbit = 1L << 2, - _S_ios_iostate_end = 1L << 16, - _S_ios_iostate_max = 0x7fffffff, - _S_ios_iostate_min = ~0x7fffffff - }; - - [[__nodiscard__]] constexpr - inline _Ios_Iostate - operator&(_Ios_Iostate __a, _Ios_Iostate __b) noexcept - { return _Ios_Iostate(static_cast(__a) & static_cast(__b)); } - - [[__nodiscard__]] constexpr - inline _Ios_Iostate - operator|(_Ios_Iostate __a, _Ios_Iostate __b) noexcept - { return _Ios_Iostate(static_cast(__a) | static_cast(__b)); } - - [[__nodiscard__]] constexpr - inline _Ios_Iostate - operator^(_Ios_Iostate __a, _Ios_Iostate __b) noexcept - { return _Ios_Iostate(static_cast(__a) ^ static_cast(__b)); } - - [[__nodiscard__]] constexpr - inline _Ios_Iostate - operator~(_Ios_Iostate __a) noexcept - { return _Ios_Iostate(~static_cast(__a)); } - - constexpr - inline const _Ios_Iostate& - operator|=(_Ios_Iostate& __a, _Ios_Iostate __b) noexcept - { return __a = __a | __b; } - - constexpr - inline const _Ios_Iostate& - operator&=(_Ios_Iostate& __a, _Ios_Iostate __b) noexcept - { return __a = __a & __b; } - - constexpr - inline const _Ios_Iostate& - operator^=(_Ios_Iostate& __a, _Ios_Iostate __b) noexcept - { return __a = __a ^ __b; } - - - enum _Ios_Seekdir - { - _S_beg = 0, - _S_cur = 1, - _S_end = 2, - _S_ios_seekdir_end = 1L << 16 - }; - - - - enum class io_errc { stream = 1 }; - - template <> struct is_error_code_enum : public true_type { }; - - [[__nodiscard__, __gnu__::__const__]] - const error_category& - iostream_category() noexcept; - - [[__nodiscard__]] - inline error_code - make_error_code(io_errc __e) noexcept - { return error_code(static_cast(__e), iostream_category()); } - - [[__nodiscard__]] - inline error_condition - make_error_condition(io_errc __e) noexcept - { return error_condition(static_cast(__e), iostream_category()); } -# 254 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - class ios_base - { -# 272 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - public: -# 281 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - class __attribute ((__abi_tag__ ("cxx11"))) failure : public system_error - { - public: - explicit - failure(const string& __str); - - - explicit - failure(const string&, const error_code&); - - explicit - failure(const char*, const error_code& = io_errc::stream); - - - virtual - ~failure() throw(); - - virtual const char* - what() const throw(); - }; -# 367 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - typedef _Ios_Fmtflags fmtflags; - - - static const fmtflags boolalpha = _S_boolalpha; - - - static const fmtflags dec = _S_dec; - - - static const fmtflags fixed = _S_fixed; - - - static const fmtflags hex = _S_hex; - - - - - static const fmtflags internal = _S_internal; - - - - static const fmtflags left = _S_left; - - - static const fmtflags oct = _S_oct; - - - - static const fmtflags right = _S_right; - - - static const fmtflags scientific = _S_scientific; - - - - static const fmtflags showbase = _S_showbase; - - - - static const fmtflags showpoint = _S_showpoint; - - - static const fmtflags showpos = _S_showpos; - - - static const fmtflags skipws = _S_skipws; - - - static const fmtflags unitbuf = _S_unitbuf; - - - - static const fmtflags uppercase = _S_uppercase; - - - static const fmtflags adjustfield = _S_adjustfield; - - - static const fmtflags basefield = _S_basefield; - - - static const fmtflags floatfield = _S_floatfield; -# 442 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - typedef _Ios_Iostate iostate; - - - - static const iostate badbit = _S_badbit; - - - static const iostate eofbit = _S_eofbit; - - - - - static const iostate failbit = _S_failbit; - - - static const iostate goodbit = _S_goodbit; -# 473 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - typedef _Ios_Openmode openmode; - - - static const openmode app = _S_app; - - - static const openmode ate = _S_ate; - - - - - static const openmode binary = _S_bin; - - - static const openmode in = _S_in; - - - static const openmode out = _S_out; - - - static const openmode trunc = _S_trunc; - - static const openmode __noreplace = _S_noreplace; -# 512 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - typedef _Ios_Seekdir seekdir; - - - static const seekdir beg = _S_beg; - - - static const seekdir cur = _S_cur; - - - static const seekdir end = _S_end; -# 545 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - enum event - { - erase_event, - imbue_event, - copyfmt_event - }; -# 562 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - typedef void (*event_callback) (event __e, ios_base& __b, int __i); -# 574 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - void - register_callback(event_callback __fn, int __index); - - protected: - streamsize _M_precision; - streamsize _M_width; - fmtflags _M_flags; - iostate _M_exception; - iostate _M_streambuf_state; - - - - struct _Callback_list - { - - _Callback_list* _M_next; - ios_base::event_callback _M_fn; - int _M_index; - _Atomic_word _M_refcount; - - _Callback_list(ios_base::event_callback __fn, int __index, - _Callback_list* __cb) - : _M_next(__cb), _M_fn(__fn), _M_index(__index), _M_refcount(0) { } - - void - _M_add_reference() { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } - - - int - _M_remove_reference() - { - - ; - int __res = __gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1); - if (__res == 0) - { - ; - } - return __res; - } - }; - - _Callback_list* _M_callbacks; - - void - _M_call_callbacks(event __ev) throw(); - - void - _M_dispose_callbacks(void) throw(); - - - struct _Words - { - void* _M_pword; - long _M_iword; - _Words() : _M_pword(0), _M_iword(0) { } - }; - - - _Words _M_word_zero; - - - - enum { _S_local_word_size = 8 }; - _Words _M_local_word[_S_local_word_size]; - - - int _M_word_size; - _Words* _M_word; - - _Words& - _M_grow_words(int __index, bool __iword); - - - locale _M_ios_locale; - - void - _M_init() throw(); - - public: - - - - - - class Init - { - friend class ios_base; - public: - Init(); - ~Init(); - - - Init(const Init&) = default; - Init& operator=(const Init&) = default; - - - private: - static _Atomic_word _S_refcount; - static bool _S_synced_with_stdio; - }; - - - - - - - fmtflags - flags() const - { return _M_flags; } -# 692 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - fmtflags - flags(fmtflags __fmtfl) - { - fmtflags __old = _M_flags; - _M_flags = __fmtfl; - return __old; - } -# 708 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - fmtflags - setf(fmtflags __fmtfl) - { - fmtflags __old = _M_flags; - _M_flags |= __fmtfl; - return __old; - } -# 725 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - fmtflags - setf(fmtflags __fmtfl, fmtflags __mask) - { - fmtflags __old = _M_flags; - _M_flags &= ~__mask; - _M_flags |= (__fmtfl & __mask); - return __old; - } - - - - - - - - void - unsetf(fmtflags __mask) - { _M_flags &= ~__mask; } -# 751 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - streamsize - precision() const - { return _M_precision; } - - - - - - - streamsize - precision(streamsize __prec) - { - streamsize __old = _M_precision; - _M_precision = __prec; - return __old; - } - - - - - - - - streamsize - width() const - { return _M_width; } - - - - - - - streamsize - width(streamsize __wide) - { - streamsize __old = _M_width; - _M_width = __wide; - return __old; - } -# 802 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - static bool - sync_with_stdio(bool __sync = true); -# 814 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - locale - imbue(const locale& __loc) throw(); -# 825 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - locale - getloc() const - { return _M_ios_locale; } -# 836 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - const locale& - _M_getloc() const - { return _M_ios_locale; } -# 855 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - static int - xalloc() throw(); -# 871 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - long& - iword(int __ix) - { - _Words& __word = ((unsigned)__ix < (unsigned)_M_word_size) - ? _M_word[__ix] : _M_grow_words(__ix, true); - return __word._M_iword; - } -# 892 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - void*& - pword(int __ix) - { - _Words& __word = ((unsigned)__ix < (unsigned)_M_word_size) - ? _M_word[__ix] : _M_grow_words(__ix, false); - return __word._M_pword; - } -# 909 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - virtual ~ios_base(); - - protected: - ios_base() throw (); -# 923 "/usr/include/c++/14.1.1/bits/ios_base.h" 3 - public: - ios_base(const ios_base&) = delete; - - ios_base& - operator=(const ios_base&) = delete; - - protected: - void - _M_move(ios_base&) noexcept; - - void - _M_swap(ios_base& __rhs) noexcept; - - }; - - - - inline ios_base& - boolalpha(ios_base& __base) - { - __base.setf(ios_base::boolalpha); - return __base; - } - - - inline ios_base& - noboolalpha(ios_base& __base) - { - __base.unsetf(ios_base::boolalpha); - return __base; - } - - - inline ios_base& - showbase(ios_base& __base) - { - __base.setf(ios_base::showbase); - return __base; - } - - - inline ios_base& - noshowbase(ios_base& __base) - { - __base.unsetf(ios_base::showbase); - return __base; - } - - - inline ios_base& - showpoint(ios_base& __base) - { - __base.setf(ios_base::showpoint); - return __base; - } - - - inline ios_base& - noshowpoint(ios_base& __base) - { - __base.unsetf(ios_base::showpoint); - return __base; - } - - - inline ios_base& - showpos(ios_base& __base) - { - __base.setf(ios_base::showpos); - return __base; - } - - - inline ios_base& - noshowpos(ios_base& __base) - { - __base.unsetf(ios_base::showpos); - return __base; - } - - - inline ios_base& - skipws(ios_base& __base) - { - __base.setf(ios_base::skipws); - return __base; - } - - - inline ios_base& - noskipws(ios_base& __base) - { - __base.unsetf(ios_base::skipws); - return __base; - } - - - inline ios_base& - uppercase(ios_base& __base) - { - __base.setf(ios_base::uppercase); - return __base; - } - - - inline ios_base& - nouppercase(ios_base& __base) - { - __base.unsetf(ios_base::uppercase); - return __base; - } - - - inline ios_base& - unitbuf(ios_base& __base) - { - __base.setf(ios_base::unitbuf); - return __base; - } - - - inline ios_base& - nounitbuf(ios_base& __base) - { - __base.unsetf(ios_base::unitbuf); - return __base; - } - - - - inline ios_base& - internal(ios_base& __base) - { - __base.setf(ios_base::internal, ios_base::adjustfield); - return __base; - } - - - inline ios_base& - left(ios_base& __base) - { - __base.setf(ios_base::left, ios_base::adjustfield); - return __base; - } - - - inline ios_base& - right(ios_base& __base) - { - __base.setf(ios_base::right, ios_base::adjustfield); - return __base; - } - - - - inline ios_base& - dec(ios_base& __base) - { - __base.setf(ios_base::dec, ios_base::basefield); - return __base; - } - - - inline ios_base& - hex(ios_base& __base) - { - __base.setf(ios_base::hex, ios_base::basefield); - return __base; - } - - - inline ios_base& - oct(ios_base& __base) - { - __base.setf(ios_base::oct, ios_base::basefield); - return __base; - } - - - - inline ios_base& - fixed(ios_base& __base) - { - __base.setf(ios_base::fixed, ios_base::floatfield); - return __base; - } - - - inline ios_base& - scientific(ios_base& __base) - { - __base.setf(ios_base::scientific, ios_base::floatfield); - return __base; - } - - - - - - - inline ios_base& - hexfloat(ios_base& __base) - { - __base.setf(ios_base::fixed | ios_base::scientific, ios_base::floatfield); - return __base; - } - - - inline ios_base& - defaultfloat(ios_base& __base) - { - __base.unsetf(ios_base::floatfield); - return __base; - } - - - -} -# 45 "/usr/include/c++/14.1.1/ios" 2 3 -# 1 "/usr/include/c++/14.1.1/streambuf" 1 3 -# 36 "/usr/include/c++/14.1.1/streambuf" 3 - -# 37 "/usr/include/c++/14.1.1/streambuf" 3 -# 47 "/usr/include/c++/14.1.1/streambuf" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - template - streamsize - __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>*, - basic_streambuf<_CharT, _Traits>*, bool&); -# 123 "/usr/include/c++/14.1.1/streambuf" 3 - template - class basic_streambuf - { - public: - - - - - - - typedef _CharT char_type; - typedef _Traits traits_type; - typedef typename traits_type::int_type int_type; - typedef typename traits_type::pos_type pos_type; - typedef typename traits_type::off_type off_type; - - - - - typedef basic_streambuf __streambuf_type; - - - friend class basic_ios; - friend class basic_istream; - friend class basic_ostream; - friend class istreambuf_iterator; - friend class ostreambuf_iterator; - - friend streamsize - __copy_streambufs_eof<>(basic_streambuf*, basic_streambuf*, bool&); - - template - friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, - _CharT2*>::__type - __copy_move_a2(istreambuf_iterator<_CharT2>, - istreambuf_iterator<_CharT2>, _CharT2*); - - template - friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, - istreambuf_iterator<_CharT2> >::__type - find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, - const _CharT2&); - - template - friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, - void>::__type - advance(istreambuf_iterator<_CharT2>&, _Distance); - - friend void __istream_extract(istream&, char*, streamsize); - - template - friend basic_istream<_CharT2, _Traits2>& - operator>>(basic_istream<_CharT2, _Traits2>&, - basic_string<_CharT2, _Traits2, _Alloc>&); - - template - friend basic_istream<_CharT2, _Traits2>& - getline(basic_istream<_CharT2, _Traits2>&, - basic_string<_CharT2, _Traits2, _Alloc>&, _CharT2); - - protected: - - - - - - - - char_type* _M_in_beg; - char_type* _M_in_cur; - char_type* _M_in_end; - char_type* _M_out_beg; - char_type* _M_out_cur; - char_type* _M_out_end; - - - locale _M_buf_locale; - - public: - - virtual - ~basic_streambuf() - { } -# 215 "/usr/include/c++/14.1.1/streambuf" 3 - locale - pubimbue(const locale& __loc) - { - locale __tmp(this->getloc()); - this->imbue(__loc); - _M_buf_locale = __loc; - return __tmp; - } -# 232 "/usr/include/c++/14.1.1/streambuf" 3 - locale - getloc() const - { return _M_buf_locale; } -# 245 "/usr/include/c++/14.1.1/streambuf" 3 - basic_streambuf* - pubsetbuf(char_type* __s, streamsize __n) - { return this->setbuf(__s, __n); } -# 257 "/usr/include/c++/14.1.1/streambuf" 3 - pos_type - pubseekoff(off_type __off, ios_base::seekdir __way, - ios_base::openmode __mode = ios_base::in | ios_base::out) - { return this->seekoff(__off, __way, __mode); } -# 269 "/usr/include/c++/14.1.1/streambuf" 3 - pos_type - pubseekpos(pos_type __sp, - ios_base::openmode __mode = ios_base::in | ios_base::out) - { return this->seekpos(__sp, __mode); } - - - - - int - pubsync() { return this->sync(); } -# 290 "/usr/include/c++/14.1.1/streambuf" 3 - streamsize - in_avail() - { - const streamsize __ret = this->egptr() - this->gptr(); - return __ret ? __ret : this->showmanyc(); - } -# 304 "/usr/include/c++/14.1.1/streambuf" 3 - int_type - snextc() - { - int_type __ret = traits_type::eof(); - if (__builtin_expect(!traits_type::eq_int_type(this->sbumpc(), - __ret), true)) - __ret = this->sgetc(); - return __ret; - } -# 322 "/usr/include/c++/14.1.1/streambuf" 3 - int_type - sbumpc() - { - int_type __ret; - if (__builtin_expect(this->gptr() < this->egptr(), true)) - { - __ret = traits_type::to_int_type(*this->gptr()); - this->gbump(1); - } - else - __ret = this->uflow(); - return __ret; - } -# 344 "/usr/include/c++/14.1.1/streambuf" 3 - int_type - sgetc() - { - int_type __ret; - if (__builtin_expect(this->gptr() < this->egptr(), true)) - __ret = traits_type::to_int_type(*this->gptr()); - else - __ret = this->underflow(); - return __ret; - } -# 363 "/usr/include/c++/14.1.1/streambuf" 3 - streamsize - sgetn(char_type* __s, streamsize __n) - { return this->xsgetn(__s, __n); } -# 378 "/usr/include/c++/14.1.1/streambuf" 3 - int_type - sputbackc(char_type __c) - { - int_type __ret; - const bool __testpos = this->eback() < this->gptr(); - if (__builtin_expect(!__testpos || - !traits_type::eq(__c, this->gptr()[-1]), false)) - __ret = this->pbackfail(traits_type::to_int_type(__c)); - else - { - this->gbump(-1); - __ret = traits_type::to_int_type(*this->gptr()); - } - return __ret; - } -# 403 "/usr/include/c++/14.1.1/streambuf" 3 - int_type - sungetc() - { - int_type __ret; - if (__builtin_expect(this->eback() < this->gptr(), true)) - { - this->gbump(-1); - __ret = traits_type::to_int_type(*this->gptr()); - } - else - __ret = this->pbackfail(); - return __ret; - } -# 430 "/usr/include/c++/14.1.1/streambuf" 3 - int_type - sputc(char_type __c) - { - int_type __ret; - if (__builtin_expect(this->pptr() < this->epptr(), true)) - { - *this->pptr() = __c; - this->pbump(1); - __ret = traits_type::to_int_type(__c); - } - else - __ret = this->overflow(traits_type::to_int_type(__c)); - return __ret; - } -# 456 "/usr/include/c++/14.1.1/streambuf" 3 - streamsize - sputn(const char_type* __s, streamsize __n) - { return this->xsputn(__s, __n); } - - protected: -# 470 "/usr/include/c++/14.1.1/streambuf" 3 - basic_streambuf() - : _M_in_beg(0), _M_in_cur(0), _M_in_end(0), - _M_out_beg(0), _M_out_cur(0), _M_out_end(0), - _M_buf_locale(locale()) - { } -# 488 "/usr/include/c++/14.1.1/streambuf" 3 - char_type* - eback() const { return _M_in_beg; } - - char_type* - gptr() const { return _M_in_cur; } - - char_type* - egptr() const { return _M_in_end; } -# 504 "/usr/include/c++/14.1.1/streambuf" 3 - void - gbump(int __n) { _M_in_cur += __n; } -# 515 "/usr/include/c++/14.1.1/streambuf" 3 - void - setg(char_type* __gbeg, char_type* __gnext, char_type* __gend) - { - _M_in_beg = __gbeg; - _M_in_cur = __gnext; - _M_in_end = __gend; - } -# 535 "/usr/include/c++/14.1.1/streambuf" 3 - char_type* - pbase() const { return _M_out_beg; } - - char_type* - pptr() const { return _M_out_cur; } - - char_type* - epptr() const { return _M_out_end; } -# 551 "/usr/include/c++/14.1.1/streambuf" 3 - void - pbump(int __n) { _M_out_cur += __n; } -# 561 "/usr/include/c++/14.1.1/streambuf" 3 - void - setp(char_type* __pbeg, char_type* __pend) - { - _M_out_beg = _M_out_cur = __pbeg; - _M_out_end = __pend; - } -# 582 "/usr/include/c++/14.1.1/streambuf" 3 - virtual void - imbue(const locale& __loc __attribute__ ((__unused__))) - { } -# 597 "/usr/include/c++/14.1.1/streambuf" 3 - virtual basic_streambuf* - setbuf(char_type*, streamsize) - { return this; } -# 608 "/usr/include/c++/14.1.1/streambuf" 3 - virtual pos_type - seekoff(off_type, ios_base::seekdir, - ios_base::openmode = ios_base::in | ios_base::out) - { return pos_type(off_type(-1)); } -# 620 "/usr/include/c++/14.1.1/streambuf" 3 - virtual pos_type - seekpos(pos_type, - ios_base::openmode = ios_base::in | ios_base::out) - { return pos_type(off_type(-1)); } -# 633 "/usr/include/c++/14.1.1/streambuf" 3 - virtual int - sync() { return 0; } -# 655 "/usr/include/c++/14.1.1/streambuf" 3 - virtual streamsize - showmanyc() { return 0; } -# 671 "/usr/include/c++/14.1.1/streambuf" 3 - virtual streamsize - xsgetn(char_type* __s, streamsize __n); -# 693 "/usr/include/c++/14.1.1/streambuf" 3 - virtual int_type - underflow() - { return traits_type::eof(); } -# 706 "/usr/include/c++/14.1.1/streambuf" 3 - virtual int_type - uflow() - { - int_type __ret = traits_type::eof(); - const bool __testeof = traits_type::eq_int_type(this->underflow(), - __ret); - if (!__testeof) - { - __ret = traits_type::to_int_type(*this->gptr()); - this->gbump(1); - } - return __ret; - } -# 730 "/usr/include/c++/14.1.1/streambuf" 3 - virtual int_type - pbackfail(int_type __c __attribute__ ((__unused__)) = traits_type::eof()) - { return traits_type::eof(); } -# 748 "/usr/include/c++/14.1.1/streambuf" 3 - virtual streamsize - xsputn(const char_type* __s, streamsize __n); -# 774 "/usr/include/c++/14.1.1/streambuf" 3 - virtual int_type - overflow(int_type __c __attribute__ ((__unused__)) = traits_type::eof()) - { return traits_type::eof(); } -# 801 "/usr/include/c++/14.1.1/streambuf" 3 - void - __safe_gbump(streamsize __n) { _M_in_cur += __n; } - - void - __safe_pbump(streamsize __n) { _M_out_cur += __n; } - - - - - protected: - - basic_streambuf(const basic_streambuf&); - - basic_streambuf& - operator=(const basic_streambuf&); - - - void - swap(basic_streambuf& __sb) - { - std::swap(_M_in_beg, __sb._M_in_beg); - std::swap(_M_in_cur, __sb._M_in_cur); - std::swap(_M_in_end, __sb._M_in_end); - std::swap(_M_out_beg, __sb._M_out_beg); - std::swap(_M_out_cur, __sb._M_out_cur); - std::swap(_M_out_end, __sb._M_out_end); - std::swap(_M_buf_locale, __sb._M_buf_locale); - } - - }; - - - template - std::basic_streambuf<_CharT, _Traits>:: - basic_streambuf(const basic_streambuf&) = default; - - template - std::basic_streambuf<_CharT, _Traits>& - std::basic_streambuf<_CharT, _Traits>:: - operator=(const basic_streambuf&) = default; - - - - template<> - streamsize - __copy_streambufs_eof(basic_streambuf* __sbin, - basic_streambuf* __sbout, bool& __ineof); - - template<> - streamsize - __copy_streambufs_eof(basic_streambuf* __sbin, - basic_streambuf* __sbout, bool& __ineof); - - - - - -} - -# 1 "/usr/include/c++/14.1.1/bits/streambuf.tcc" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/streambuf.tcc" 3 - -# 38 "/usr/include/c++/14.1.1/bits/streambuf.tcc" 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - streamsize - basic_streambuf<_CharT, _Traits>:: - xsgetn(char_type* __s, streamsize __n) - { - streamsize __ret = 0; - while (__ret < __n) - { - const streamsize __buf_len = this->egptr() - this->gptr(); - if (__buf_len) - { - const streamsize __remaining = __n - __ret; - const streamsize __len = std::min(__buf_len, __remaining); - traits_type::copy(__s, this->gptr(), __len); - __ret += __len; - __s += __len; - this->__safe_gbump(__len); - } - - if (__ret < __n) - { - const int_type __c = this->uflow(); - if (!traits_type::eq_int_type(__c, traits_type::eof())) - { - traits_type::assign(*__s++, traits_type::to_char_type(__c)); - ++__ret; - } - else - break; - } - } - return __ret; - } - - template - streamsize - basic_streambuf<_CharT, _Traits>:: - xsputn(const char_type* __s, streamsize __n) - { - streamsize __ret = 0; - while (__ret < __n) - { - const streamsize __buf_len = this->epptr() - this->pptr(); - if (__buf_len) - { - const streamsize __remaining = __n - __ret; - const streamsize __len = std::min(__buf_len, __remaining); - traits_type::copy(this->pptr(), __s, __len); - __ret += __len; - __s += __len; - this->__safe_pbump(__len); - } - - if (__ret < __n) - { - int_type __c = this->overflow(traits_type::to_int_type(*__s)); - if (!traits_type::eq_int_type(__c, traits_type::eof())) - { - ++__ret; - ++__s; - } - else - break; - } - } - return __ret; - } - - - - - template - streamsize - __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>* __sbin, - basic_streambuf<_CharT, _Traits>* __sbout, - bool& __ineof) - { - streamsize __ret = 0; - __ineof = true; - typename _Traits::int_type __c = __sbin->sgetc(); - while (!_Traits::eq_int_type(__c, _Traits::eof())) - { - __c = __sbout->sputc(_Traits::to_char_type(__c)); - if (_Traits::eq_int_type(__c, _Traits::eof())) - { - __ineof = false; - break; - } - ++__ret; - __c = __sbin->snextc(); - } - return __ret; - } - - template - inline streamsize - __copy_streambufs(basic_streambuf<_CharT, _Traits>* __sbin, - basic_streambuf<_CharT, _Traits>* __sbout) - { - bool __ineof; - return __copy_streambufs_eof(__sbin, __sbout, __ineof); - } - - - - - extern template class basic_streambuf; - - extern template - streamsize - __copy_streambufs(basic_streambuf*, - basic_streambuf*); - - - extern template class basic_streambuf; - - extern template - streamsize - __copy_streambufs(basic_streambuf*, - basic_streambuf*); - - - - -} -# 861 "/usr/include/c++/14.1.1/streambuf" 2 3 -# 46 "/usr/include/c++/14.1.1/ios" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/basic_ios.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - - - -# 1 "/usr/include/c++/14.1.1/bits/locale_facets.h" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - -# 38 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - -# 1 "/usr/include/c++/14.1.1/cwctype" 1 3 -# 39 "/usr/include/c++/14.1.1/cwctype" 3 - -# 40 "/usr/include/c++/14.1.1/cwctype" 3 -# 50 "/usr/include/c++/14.1.1/cwctype" 3 -# 1 "/usr/include/wctype.h" 1 3 4 -# 38 "/usr/include/wctype.h" 3 4 -# 1 "/usr/include/bits/wctype-wchar.h" 1 3 4 -# 38 "/usr/include/bits/wctype-wchar.h" 3 4 -typedef unsigned long int wctype_t; -# 56 "/usr/include/bits/wctype-wchar.h" 3 4 -enum -{ - __ISwupper = 0, - __ISwlower = 1, - __ISwalpha = 2, - __ISwdigit = 3, - __ISwxdigit = 4, - __ISwspace = 5, - __ISwprint = 6, - __ISwgraph = 7, - __ISwblank = 8, - __ISwcntrl = 9, - __ISwpunct = 10, - __ISwalnum = 11, - - _ISwupper = ((__ISwupper) < 8 ? (int) ((1UL << (__ISwupper)) << 24) : ((__ISwupper) < 16 ? (int) ((1UL << (__ISwupper)) << 8) : ((__ISwupper) < 24 ? (int) ((1UL << (__ISwupper)) >> 8) : (int) ((1UL << (__ISwupper)) >> 24)))), - _ISwlower = ((__ISwlower) < 8 ? (int) ((1UL << (__ISwlower)) << 24) : ((__ISwlower) < 16 ? (int) ((1UL << (__ISwlower)) << 8) : ((__ISwlower) < 24 ? (int) ((1UL << (__ISwlower)) >> 8) : (int) ((1UL << (__ISwlower)) >> 24)))), - _ISwalpha = ((__ISwalpha) < 8 ? (int) ((1UL << (__ISwalpha)) << 24) : ((__ISwalpha) < 16 ? (int) ((1UL << (__ISwalpha)) << 8) : ((__ISwalpha) < 24 ? (int) ((1UL << (__ISwalpha)) >> 8) : (int) ((1UL << (__ISwalpha)) >> 24)))), - _ISwdigit = ((__ISwdigit) < 8 ? (int) ((1UL << (__ISwdigit)) << 24) : ((__ISwdigit) < 16 ? (int) ((1UL << (__ISwdigit)) << 8) : ((__ISwdigit) < 24 ? (int) ((1UL << (__ISwdigit)) >> 8) : (int) ((1UL << (__ISwdigit)) >> 24)))), - _ISwxdigit = ((__ISwxdigit) < 8 ? (int) ((1UL << (__ISwxdigit)) << 24) : ((__ISwxdigit) < 16 ? (int) ((1UL << (__ISwxdigit)) << 8) : ((__ISwxdigit) < 24 ? (int) ((1UL << (__ISwxdigit)) >> 8) : (int) ((1UL << (__ISwxdigit)) >> 24)))), - _ISwspace = ((__ISwspace) < 8 ? (int) ((1UL << (__ISwspace)) << 24) : ((__ISwspace) < 16 ? (int) ((1UL << (__ISwspace)) << 8) : ((__ISwspace) < 24 ? (int) ((1UL << (__ISwspace)) >> 8) : (int) ((1UL << (__ISwspace)) >> 24)))), - _ISwprint = ((__ISwprint) < 8 ? (int) ((1UL << (__ISwprint)) << 24) : ((__ISwprint) < 16 ? (int) ((1UL << (__ISwprint)) << 8) : ((__ISwprint) < 24 ? (int) ((1UL << (__ISwprint)) >> 8) : (int) ((1UL << (__ISwprint)) >> 24)))), - _ISwgraph = ((__ISwgraph) < 8 ? (int) ((1UL << (__ISwgraph)) << 24) : ((__ISwgraph) < 16 ? (int) ((1UL << (__ISwgraph)) << 8) : ((__ISwgraph) < 24 ? (int) ((1UL << (__ISwgraph)) >> 8) : (int) ((1UL << (__ISwgraph)) >> 24)))), - _ISwblank = ((__ISwblank) < 8 ? (int) ((1UL << (__ISwblank)) << 24) : ((__ISwblank) < 16 ? (int) ((1UL << (__ISwblank)) << 8) : ((__ISwblank) < 24 ? (int) ((1UL << (__ISwblank)) >> 8) : (int) ((1UL << (__ISwblank)) >> 24)))), - _ISwcntrl = ((__ISwcntrl) < 8 ? (int) ((1UL << (__ISwcntrl)) << 24) : ((__ISwcntrl) < 16 ? (int) ((1UL << (__ISwcntrl)) << 8) : ((__ISwcntrl) < 24 ? (int) ((1UL << (__ISwcntrl)) >> 8) : (int) ((1UL << (__ISwcntrl)) >> 24)))), - _ISwpunct = ((__ISwpunct) < 8 ? (int) ((1UL << (__ISwpunct)) << 24) : ((__ISwpunct) < 16 ? (int) ((1UL << (__ISwpunct)) << 8) : ((__ISwpunct) < 24 ? (int) ((1UL << (__ISwpunct)) >> 8) : (int) ((1UL << (__ISwpunct)) >> 24)))), - _ISwalnum = ((__ISwalnum) < 8 ? (int) ((1UL << (__ISwalnum)) << 24) : ((__ISwalnum) < 16 ? (int) ((1UL << (__ISwalnum)) << 8) : ((__ISwalnum) < 24 ? (int) ((1UL << (__ISwalnum)) >> 8) : (int) ((1UL << (__ISwalnum)) >> 24)))) -}; - - - -extern "C" { - - - - - - - -extern int iswalnum (wint_t __wc) noexcept (true); - - - - - -extern int iswalpha (wint_t __wc) noexcept (true); - - -extern int iswcntrl (wint_t __wc) noexcept (true); - - - -extern int iswdigit (wint_t __wc) noexcept (true); - - - -extern int iswgraph (wint_t __wc) noexcept (true); - - - - -extern int iswlower (wint_t __wc) noexcept (true); - - -extern int iswprint (wint_t __wc) noexcept (true); - - - - -extern int iswpunct (wint_t __wc) noexcept (true); - - - - -extern int iswspace (wint_t __wc) noexcept (true); - - - - -extern int iswupper (wint_t __wc) noexcept (true); - - - - -extern int iswxdigit (wint_t __wc) noexcept (true); - - - - - -extern int iswblank (wint_t __wc) noexcept (true); -# 155 "/usr/include/bits/wctype-wchar.h" 3 4 -extern wctype_t wctype (const char *__property) noexcept (true); - - - -extern int iswctype (wint_t __wc, wctype_t __desc) noexcept (true); - - - - - - -extern wint_t towlower (wint_t __wc) noexcept (true); - - -extern wint_t towupper (wint_t __wc) noexcept (true); - -} -# 39 "/usr/include/wctype.h" 2 3 4 - - - - - -extern "C" { - - - -typedef const __int32_t *wctrans_t; - - - -extern wctrans_t wctrans (const char *__property) noexcept (true); - - -extern wint_t towctrans (wint_t __wc, wctrans_t __desc) noexcept (true); - - - - - - - -extern int iswalnum_l (wint_t __wc, locale_t __locale) noexcept (true); - - - - - -extern int iswalpha_l (wint_t __wc, locale_t __locale) noexcept (true); - - -extern int iswcntrl_l (wint_t __wc, locale_t __locale) noexcept (true); - - - -extern int iswdigit_l (wint_t __wc, locale_t __locale) noexcept (true); - - - -extern int iswgraph_l (wint_t __wc, locale_t __locale) noexcept (true); - - - - -extern int iswlower_l (wint_t __wc, locale_t __locale) noexcept (true); - - -extern int iswprint_l (wint_t __wc, locale_t __locale) noexcept (true); - - - - -extern int iswpunct_l (wint_t __wc, locale_t __locale) noexcept (true); - - - - -extern int iswspace_l (wint_t __wc, locale_t __locale) noexcept (true); - - - - -extern int iswupper_l (wint_t __wc, locale_t __locale) noexcept (true); - - - - -extern int iswxdigit_l (wint_t __wc, locale_t __locale) noexcept (true); - - - - -extern int iswblank_l (wint_t __wc, locale_t __locale) noexcept (true); - - - -extern wctype_t wctype_l (const char *__property, locale_t __locale) - noexcept (true); - - - -extern int iswctype_l (wint_t __wc, wctype_t __desc, locale_t __locale) - noexcept (true); - - - - - - -extern wint_t towlower_l (wint_t __wc, locale_t __locale) noexcept (true); - - -extern wint_t towupper_l (wint_t __wc, locale_t __locale) noexcept (true); - - - -extern wctrans_t wctrans_l (const char *__property, locale_t __locale) - noexcept (true); - - -extern wint_t towctrans_l (wint_t __wc, wctrans_t __desc, - locale_t __locale) noexcept (true); - - - -} -# 51 "/usr/include/c++/14.1.1/cwctype" 2 3 -# 80 "/usr/include/c++/14.1.1/cwctype" 3 -namespace std -{ - using ::wctrans_t; - using ::wctype_t; - using ::wint_t; - - using ::iswalnum; - using ::iswalpha; - - using ::iswblank; - - using ::iswcntrl; - using ::iswctype; - using ::iswdigit; - using ::iswgraph; - using ::iswlower; - using ::iswprint; - using ::iswpunct; - using ::iswspace; - using ::iswupper; - using ::iswxdigit; - using ::towctrans; - using ::towlower; - using ::towupper; - using ::wctrans; - using ::wctype; -} -# 40 "/usr/include/c++/14.1.1/bits/locale_facets.h" 2 3 -# 1 "/usr/include/c++/14.1.1/cctype" 1 3 -# 39 "/usr/include/c++/14.1.1/cctype" 3 - -# 40 "/usr/include/c++/14.1.1/cctype" 3 -# 41 "/usr/include/c++/14.1.1/bits/locale_facets.h" 2 3 -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/ctype_base.h" 1 3 -# 36 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/ctype_base.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - struct ctype_base - { - - typedef const int* __to_type; - - - - typedef unsigned short mask; - static const mask upper = _ISupper; - static const mask lower = _ISlower; - static const mask alpha = _ISalpha; - static const mask digit = _ISdigit; - static const mask xdigit = _ISxdigit; - static const mask space = _ISspace; - static const mask print = _ISprint; - static const mask graph = _ISalpha | _ISdigit | _ISpunct; - static const mask cntrl = _IScntrl; - static const mask punct = _ISpunct; - static const mask alnum = _ISalpha | _ISdigit; - - static const mask blank = _ISblank; - - }; - - -} -# 42 "/usr/include/c++/14.1.1/bits/locale_facets.h" 2 3 - - - - - - -# 1 "/usr/include/c++/14.1.1/bits/streambuf_iterator.h" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/streambuf_iterator.h" 3 - -# 34 "/usr/include/c++/14.1.1/bits/streambuf_iterator.h" 3 - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - - - -# 49 "/usr/include/c++/14.1.1/bits/streambuf_iterator.h" 3 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - - - template - class istreambuf_iterator - : public iterator - { - public: -# 67 "/usr/include/c++/14.1.1/bits/streambuf_iterator.h" 3 - using pointer = void; - - - typedef _CharT char_type; - typedef _Traits traits_type; - typedef typename _Traits::int_type int_type; - typedef basic_streambuf<_CharT, _Traits> streambuf_type; - typedef basic_istream<_CharT, _Traits> istream_type; - - - template - friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, - ostreambuf_iterator<_CharT2> >::__type - copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, - ostreambuf_iterator<_CharT2>); - - template - friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, - _CharT2*>::__type - __copy_move_a2(istreambuf_iterator<_CharT2>, - istreambuf_iterator<_CharT2>, _CharT2*); - - template - friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, - _CharT2*>::__type - __copy_n_a(istreambuf_iterator<_CharT2>, _Size, _CharT2*, bool); - - template - friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, - istreambuf_iterator<_CharT2> >::__type - find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, - const _CharT2&); - - template - friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, - void>::__type - advance(istreambuf_iterator<_CharT2>&, _Distance); - - private: - - - - - - - - mutable streambuf_type* _M_sbuf; - int_type _M_c; - - public: - - constexpr istreambuf_iterator() noexcept - : _M_sbuf(0), _M_c(traits_type::eof()) { } - - - constexpr istreambuf_iterator(default_sentinel_t) noexcept - : istreambuf_iterator() { } - - - - istreambuf_iterator(const istreambuf_iterator&) noexcept = default; - - ~istreambuf_iterator() = default; - - - - istreambuf_iterator(istream_type& __s) noexcept - : _M_sbuf(__s.rdbuf()), _M_c(traits_type::eof()) { } - - - istreambuf_iterator(streambuf_type* __s) noexcept - : _M_sbuf(__s), _M_c(traits_type::eof()) { } - - - istreambuf_iterator& - operator=(const istreambuf_iterator&) noexcept = default; - - - - - - [[__nodiscard__]] - char_type - operator*() const - { - int_type __c = _M_get(); -# 161 "/usr/include/c++/14.1.1/bits/streambuf_iterator.h" 3 - return traits_type::to_char_type(__c); - } - - - istreambuf_iterator& - operator++() - { - - - - ; - - _M_sbuf->sbumpc(); - _M_c = traits_type::eof(); - return *this; - } - - - istreambuf_iterator - operator++(int) - { - - - - ; - - istreambuf_iterator __old = *this; - __old._M_c = _M_sbuf->sbumpc(); - _M_c = traits_type::eof(); - return __old; - } - - - - - - [[__nodiscard__]] - bool - equal(const istreambuf_iterator& __b) const - { return _M_at_eof() == __b._M_at_eof(); } - - private: - int_type - _M_get() const - { - int_type __ret = _M_c; - if (_M_sbuf && _S_is_eof(__ret) && _S_is_eof(__ret = _M_sbuf->sgetc())) - _M_sbuf = 0; - return __ret; - } - - bool - _M_at_eof() const - { return _S_is_eof(_M_get()); } - - static bool - _S_is_eof(int_type __c) - { - const int_type __eof = traits_type::eof(); - return traits_type::eq_int_type(__c, __eof); - } - - - [[nodiscard]] - friend bool - operator==(const istreambuf_iterator& __i, default_sentinel_t) - { return __i._M_at_eof(); } - - }; - - template - [[__nodiscard__]] - inline bool - operator==(const istreambuf_iterator<_CharT, _Traits>& __a, - const istreambuf_iterator<_CharT, _Traits>& __b) - { return __a.equal(__b); } -# 248 "/usr/include/c++/14.1.1/bits/streambuf_iterator.h" 3 - template - class ostreambuf_iterator - : public iterator - { - public: - - - - - using difference_type = ptrdiff_t; - - typedef _CharT char_type; - typedef _Traits traits_type; - typedef basic_streambuf<_CharT, _Traits> streambuf_type; - typedef basic_ostream<_CharT, _Traits> ostream_type; - - - template - friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, - ostreambuf_iterator<_CharT2> >::__type - copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, - ostreambuf_iterator<_CharT2>); - - private: - streambuf_type* _M_sbuf; - bool _M_failed; - - public: - - - constexpr - ostreambuf_iterator() noexcept - : _M_sbuf(nullptr), _M_failed(true) { } - - - - ostreambuf_iterator(ostream_type& __s) noexcept - : _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { } - - - ostreambuf_iterator(streambuf_type* __s) noexcept - : _M_sbuf(__s), _M_failed(!_M_sbuf) { } - - - ostreambuf_iterator& - operator=(_CharT __c) - { - if (!_M_failed && - _Traits::eq_int_type(_M_sbuf->sputc(__c), _Traits::eof())) - _M_failed = true; - return *this; - } - - - [[__nodiscard__]] - ostreambuf_iterator& - operator*() - { return *this; } - - - ostreambuf_iterator& - operator++(int) - { return *this; } - - - ostreambuf_iterator& - operator++() - { return *this; } - - - [[__nodiscard__]] - bool - failed() const noexcept - { return _M_failed; } - - ostreambuf_iterator& - _M_put(const _CharT* __ws, streamsize __len) - { - if (__builtin_expect(!_M_failed, true) - && __builtin_expect(this->_M_sbuf->sputn(__ws, __len) != __len, - false)) - _M_failed = true; - return *this; - } - }; -#pragma GCC diagnostic pop - - - template - typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, - ostreambuf_iterator<_CharT> >::__type - copy(istreambuf_iterator<_CharT> __first, - istreambuf_iterator<_CharT> __last, - ostreambuf_iterator<_CharT> __result) - { - if (__first._M_sbuf && !__last._M_sbuf && !__result._M_failed) - { - bool __ineof; - __copy_streambufs_eof(__first._M_sbuf, __result._M_sbuf, __ineof); - if (!__ineof) - __result._M_failed = true; - } - return __result; - } - - template - typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, - ostreambuf_iterator<_CharT> >::__type - __copy_move_a2(_CharT* __first, _CharT* __last, - ostreambuf_iterator<_CharT> __result) - { - const streamsize __num = __last - __first; - if (__num > 0) - __result._M_put(__first, __num); - return __result; - } - - template - typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, - ostreambuf_iterator<_CharT> >::__type - __copy_move_a2(const _CharT* __first, const _CharT* __last, - ostreambuf_iterator<_CharT> __result) - { - const streamsize __num = __last - __first; - if (__num > 0) - __result._M_put(__first, __num); - return __result; - } - - template - typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, - _CharT*>::__type - __copy_move_a2(istreambuf_iterator<_CharT> __first, - istreambuf_iterator<_CharT> __last, _CharT* __result) - { - typedef istreambuf_iterator<_CharT> __is_iterator_type; - typedef typename __is_iterator_type::traits_type traits_type; - typedef typename __is_iterator_type::streambuf_type streambuf_type; - typedef typename traits_type::int_type int_type; - - if (__first._M_sbuf && !__last._M_sbuf) - { - streambuf_type* __sb = __first._M_sbuf; - int_type __c = __sb->sgetc(); - while (!traits_type::eq_int_type(__c, traits_type::eof())) - { - const streamsize __n = __sb->egptr() - __sb->gptr(); - if (__n > 1) - { - traits_type::copy(__result, __sb->gptr(), __n); - __sb->__safe_gbump(__n); - __result += __n; - __c = __sb->underflow(); - } - else - { - *__result++ = traits_type::to_char_type(__c); - __c = __sb->snextc(); - } - } - } - return __result; - } - - template - typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, - _CharT*>::__type - __copy_n_a(istreambuf_iterator<_CharT> __it, _Size __n, _CharT* __result, - bool __strict __attribute__((__unused__))) - { - if (__n == 0) - return __result; - - - - ; - _CharT* __beg = __result; - __result += __it._M_sbuf->sgetn(__beg, __n); - - - ; - return __result; - } - - template - typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, - istreambuf_iterator<_CharT> >::__type - find(istreambuf_iterator<_CharT> __first, - istreambuf_iterator<_CharT> __last, const _CharT& __val) - { - typedef istreambuf_iterator<_CharT> __is_iterator_type; - typedef typename __is_iterator_type::traits_type traits_type; - typedef typename __is_iterator_type::streambuf_type streambuf_type; - typedef typename traits_type::int_type int_type; - const int_type __eof = traits_type::eof(); - - if (__first._M_sbuf && !__last._M_sbuf) - { - const int_type __ival = traits_type::to_int_type(__val); - streambuf_type* __sb = __first._M_sbuf; - int_type __c = __sb->sgetc(); - while (!traits_type::eq_int_type(__c, __eof) - && !traits_type::eq_int_type(__c, __ival)) - { - streamsize __n = __sb->egptr() - __sb->gptr(); - if (__n > 1) - { - const _CharT* __p = traits_type::find(__sb->gptr(), - __n, __val); - if (__p) - __n = __p - __sb->gptr(); - __sb->__safe_gbump(__n); - __c = __sb->sgetc(); - } - else - __c = __sb->snextc(); - } - - __first._M_c = __eof; - } - - return __first; - } - - template - typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, - void>::__type - advance(istreambuf_iterator<_CharT>& __i, _Distance __n) - { - if (__n == 0) - return; - - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__n > 0), false)) std::__glibcxx_assert_fail(); } while (false); - - - ; - - typedef istreambuf_iterator<_CharT> __is_iterator_type; - typedef typename __is_iterator_type::traits_type traits_type; - typedef typename __is_iterator_type::streambuf_type streambuf_type; - typedef typename traits_type::int_type int_type; - const int_type __eof = traits_type::eof(); - - streambuf_type* __sb = __i._M_sbuf; - while (__n > 0) - { - streamsize __size = __sb->egptr() - __sb->gptr(); - if (__size > __n) - { - __sb->__safe_gbump(__n); - break; - } - - __sb->__safe_gbump(__size); - __n -= __size; - if (traits_type::eq_int_type(__sb->underflow(), __eof)) - { - - - ; - break; - } - } - - __i._M_c = __eof; - } - - - - -} -# 49 "/usr/include/c++/14.1.1/bits/locale_facets.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 74 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - template - void - __convert_to_v(const char*, _Tp&, ios_base::iostate&, - const __c_locale&) throw(); - - - template<> - void - __convert_to_v(const char*, float&, ios_base::iostate&, - const __c_locale&) throw(); - - template<> - void - __convert_to_v(const char*, double&, ios_base::iostate&, - const __c_locale&) throw(); - - template<> - void - __convert_to_v(const char*, long double&, ios_base::iostate&, - const __c_locale&) throw(); - - - - template - struct __pad - { - static void - _S_pad(ios_base& __io, _CharT __fill, _CharT* __news, - const _CharT* __olds, streamsize __newlen, streamsize __oldlen); - }; - - - - - - - template - _CharT* - __add_grouping(_CharT* __s, _CharT __sep, - const char* __gbeg, size_t __gsize, - const _CharT* __first, const _CharT* __last); - - - - - template - inline - ostreambuf_iterator<_CharT> - __write(ostreambuf_iterator<_CharT> __s, const _CharT* __ws, int __len) - { - __s._M_put(__ws, __len); - return __s; - } - - - template - inline - _OutIter - __write(_OutIter __s, const _CharT* __ws, int __len) - { - for (int __j = 0; __j < __len; __j++, ++__s) - *__s = __ws[__j]; - return __s; - } -# 152 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - template - class __ctype_abstract_base : public locale::facet, public ctype_base - { - public: - - - typedef _CharT char_type; -# 171 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - bool - is(mask __m, char_type __c) const - { return this->do_is(__m, __c); } -# 188 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char_type* - is(const char_type *__lo, const char_type *__hi, mask *__vec) const - { return this->do_is(__lo, __hi, __vec); } -# 204 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char_type* - scan_is(mask __m, const char_type* __lo, const char_type* __hi) const - { return this->do_scan_is(__m, __lo, __hi); } -# 220 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char_type* - scan_not(mask __m, const char_type* __lo, const char_type* __hi) const - { return this->do_scan_not(__m, __lo, __hi); } -# 234 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char_type - toupper(char_type __c) const - { return this->do_toupper(__c); } -# 249 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char_type* - toupper(char_type *__lo, const char_type* __hi) const - { return this->do_toupper(__lo, __hi); } -# 263 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char_type - tolower(char_type __c) const - { return this->do_tolower(__c); } -# 278 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char_type* - tolower(char_type* __lo, const char_type* __hi) const - { return this->do_tolower(__lo, __hi); } -# 295 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char_type - widen(char __c) const - { return this->do_widen(__c); } -# 314 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char* - widen(const char* __lo, const char* __hi, char_type* __to) const - { return this->do_widen(__lo, __hi, __to); } -# 333 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char - narrow(char_type __c, char __dfault) const - { return this->do_narrow(__c, __dfault); } -# 355 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char_type* - narrow(const char_type* __lo, const char_type* __hi, - char __dfault, char* __to) const - { return this->do_narrow(__lo, __hi, __dfault, __to); } - - protected: - explicit - __ctype_abstract_base(size_t __refs = 0): facet(__refs) { } - - virtual - ~__ctype_abstract_base() { } -# 380 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual bool - do_is(mask __m, char_type __c) const = 0; -# 399 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_is(const char_type* __lo, const char_type* __hi, - mask* __vec) const = 0; -# 418 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_scan_is(mask __m, const char_type* __lo, - const char_type* __hi) const = 0; -# 437 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_scan_not(mask __m, const char_type* __lo, - const char_type* __hi) const = 0; -# 455 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_toupper(char_type __c) const = 0; -# 472 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_toupper(char_type* __lo, const char_type* __hi) const = 0; -# 488 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_tolower(char_type __c) const = 0; -# 505 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_tolower(char_type* __lo, const char_type* __hi) const = 0; -# 524 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_widen(char __c) const = 0; -# 545 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char* - do_widen(const char* __lo, const char* __hi, char_type* __to) const = 0; -# 566 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char - do_narrow(char_type __c, char __dfault) const = 0; -# 591 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_narrow(const char_type* __lo, const char_type* __hi, - char __dfault, char* __to) const = 0; - }; -# 614 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - template - class ctype : public __ctype_abstract_base<_CharT> - { - public: - - typedef _CharT char_type; - typedef typename __ctype_abstract_base<_CharT>::mask mask; - - - static locale::id id; - - explicit - ctype(size_t __refs = 0) : __ctype_abstract_base<_CharT>(__refs) { } - - protected: - virtual - ~ctype(); - - virtual bool - do_is(mask __m, char_type __c) const; - - virtual const char_type* - do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const; - - virtual const char_type* - do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const; - - virtual const char_type* - do_scan_not(mask __m, const char_type* __lo, - const char_type* __hi) const; - - virtual char_type - do_toupper(char_type __c) const; - - virtual const char_type* - do_toupper(char_type* __lo, const char_type* __hi) const; - - virtual char_type - do_tolower(char_type __c) const; - - virtual const char_type* - do_tolower(char_type* __lo, const char_type* __hi) const; - - virtual char_type - do_widen(char __c) const; - - virtual const char* - do_widen(const char* __lo, const char* __hi, char_type* __dest) const; - - virtual char - do_narrow(char_type, char __dfault) const; - - virtual const char_type* - do_narrow(const char_type* __lo, const char_type* __hi, - char __dfault, char* __to) const; - }; - - template - locale::id ctype<_CharT>::id; - - - - template - class ctype >; -# 688 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - template<> - class ctype : public locale::facet, public ctype_base - { - public: - - - typedef char char_type; - - protected: - - __c_locale _M_c_locale_ctype; - bool _M_del; - __to_type _M_toupper; - __to_type _M_tolower; - const mask* _M_table; - mutable char _M_widen_ok; - mutable char _M_widen[1 + static_cast(-1)]; - mutable char _M_narrow[1 + static_cast(-1)]; - mutable char _M_narrow_ok; - - - public: - - static locale::id id; - - static const size_t table_size = 1 + static_cast(-1); -# 725 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - explicit - ctype(const mask* __table = 0, bool __del = false, size_t __refs = 0); -# 738 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - explicit - ctype(__c_locale __cloc, const mask* __table = 0, bool __del = false, - size_t __refs = 0); -# 751 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - inline bool - is(mask __m, char __c) const; -# 766 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - inline const char* - is(const char* __lo, const char* __hi, mask* __vec) const; -# 780 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - inline const char* - scan_is(mask __m, const char* __lo, const char* __hi) const; -# 794 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - inline const char* - scan_not(mask __m, const char* __lo, const char* __hi) const; -# 809 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char_type - toupper(char_type __c) const - { return this->do_toupper(__c); } -# 826 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char_type* - toupper(char_type *__lo, const char_type* __hi) const - { return this->do_toupper(__lo, __hi); } -# 842 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char_type - tolower(char_type __c) const - { return this->do_tolower(__c); } -# 859 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char_type* - tolower(char_type* __lo, const char_type* __hi) const - { return this->do_tolower(__lo, __hi); } -# 879 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char_type - widen(char __c) const - { - if (_M_widen_ok) - return _M_widen[static_cast(__c)]; - this->_M_widen_init(); - return this->do_widen(__c); - } -# 906 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char* - widen(const char* __lo, const char* __hi, char_type* __to) const - { - if (_M_widen_ok == 1) - { - if (__builtin_expect(__hi != __lo, true)) - __builtin_memcpy(__to, __lo, __hi - __lo); - return __hi; - } - if (!_M_widen_ok) - _M_widen_init(); - return this->do_widen(__lo, __hi, __to); - } -# 938 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char - narrow(char_type __c, char __dfault) const - { - if (_M_narrow[static_cast(__c)]) - return _M_narrow[static_cast(__c)]; - const char __t = do_narrow(__c, __dfault); - if (__t != __dfault) - _M_narrow[static_cast(__c)] = __t; - return __t; - } -# 971 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - const char_type* - narrow(const char_type* __lo, const char_type* __hi, - char __dfault, char* __to) const - { - if (__builtin_expect(_M_narrow_ok == 1, true)) - { - if (__builtin_expect(__hi != __lo, true)) - __builtin_memcpy(__to, __lo, __hi - __lo); - return __hi; - } - if (!_M_narrow_ok) - _M_narrow_init(); - return this->do_narrow(__lo, __hi, __dfault, __to); - } - - - - - - const mask* - table() const throw() - { return _M_table; } - - - static const mask* - classic_table() throw(); - protected: - - - - - - - - virtual - ~ctype(); -# 1021 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_toupper(char_type __c) const; -# 1038 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_toupper(char_type* __lo, const char_type* __hi) const; -# 1054 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_tolower(char_type __c) const; -# 1071 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_tolower(char_type* __lo, const char_type* __hi) const; -# 1091 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_widen(char __c) const - { return __c; } -# 1114 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char* - do_widen(const char* __lo, const char* __hi, char_type* __to) const - { - if (__builtin_expect(__hi != __lo, true)) - __builtin_memcpy(__to, __lo, __hi - __lo); - return __hi; - } -# 1141 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char - do_narrow(char_type __c, char __dfault __attribute__((__unused__))) const - { return __c; } -# 1167 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_narrow(const char_type* __lo, const char_type* __hi, - char __dfault __attribute__((__unused__)), char* __to) const - { - if (__builtin_expect(__hi != __lo, true)) - __builtin_memcpy(__to, __lo, __hi - __lo); - return __hi; - } - - private: - void _M_narrow_init() const; - void _M_widen_init() const; - }; -# 1193 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - template<> - class ctype : public __ctype_abstract_base - { - public: - - - typedef wchar_t char_type; - typedef wctype_t __wmask_type; - - protected: - __c_locale _M_c_locale_ctype; - - - bool _M_narrow_ok; - char _M_narrow[128]; - wint_t _M_widen[1 + static_cast(-1)]; - - - mask _M_bit[16]; - __wmask_type _M_wmask[16]; - - public: - - - static locale::id id; -# 1226 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - explicit - ctype(size_t __refs = 0); -# 1237 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - explicit - ctype(__c_locale __cloc, size_t __refs = 0); - - protected: - __wmask_type - _M_convert_to_wmask(const mask __m) const throw(); - - - virtual - ~ctype(); -# 1261 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual bool - do_is(mask __m, char_type __c) const; -# 1280 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const; -# 1298 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const; -# 1316 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_scan_not(mask __m, const char_type* __lo, - const char_type* __hi) const; -# 1333 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_toupper(char_type __c) const; -# 1350 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_toupper(char_type* __lo, const char_type* __hi) const; -# 1366 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_tolower(char_type __c) const; -# 1383 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_tolower(char_type* __lo, const char_type* __hi) const; -# 1403 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_widen(char __c) const; -# 1425 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char* - do_widen(const char* __lo, const char* __hi, char_type* __to) const; -# 1448 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char - do_narrow(char_type __c, char __dfault) const; -# 1474 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual const char_type* - do_narrow(const char_type* __lo, const char_type* __hi, - char __dfault, char* __to) const; - - - void - _M_initialize_ctype() throw(); - }; - - - - template - class ctype_byname : public ctype<_CharT> - { - public: - typedef typename ctype<_CharT>::mask mask; - - explicit - ctype_byname(const char* __s, size_t __refs = 0); - - - explicit - ctype_byname(const string& __s, size_t __refs = 0) - : ctype_byname(__s.c_str(), __refs) { } - - - protected: - virtual - ~ctype_byname() { } - }; - - - template<> - class ctype_byname : public ctype - { - public: - explicit - ctype_byname(const char* __s, size_t __refs = 0); - - - explicit - ctype_byname(const string& __s, size_t __refs = 0); - - - protected: - virtual - ~ctype_byname(); - }; - - - template<> - class ctype_byname : public ctype - { - public: - explicit - ctype_byname(const char* __s, size_t __refs = 0); - - - explicit - ctype_byname(const string& __s, size_t __refs = 0); - - - protected: - virtual - ~ctype_byname(); - }; - - - -} - - -# 1 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/ctype_inline.h" 1 3 -# 37 "/usr/include/c++/14.1.1/x86_64-pc-linux-gnu/bits/ctype_inline.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - bool - ctype:: - is(mask __m, char __c) const - { return _M_table[static_cast(__c)] & __m; } - - const char* - ctype:: - is(const char* __low, const char* __high, mask* __vec) const - { - while (__low < __high) - *__vec++ = _M_table[static_cast(*__low++)]; - return __high; - } - - const char* - ctype:: - scan_is(mask __m, const char* __low, const char* __high) const - { - while (__low < __high - && !(_M_table[static_cast(*__low)] & __m)) - ++__low; - return __low; - } - - const char* - ctype:: - scan_not(mask __m, const char* __low, const char* __high) const - { - while (__low < __high - && (_M_table[static_cast(*__low)] & __m) != 0) - ++__low; - return __low; - } - - -} -# 1547 "/usr/include/c++/14.1.1/bits/locale_facets.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - class __num_base - { - public: - - - enum - { - _S_ominus, - _S_oplus, - _S_ox, - _S_oX, - _S_odigits, - _S_odigits_end = _S_odigits + 16, - _S_oudigits = _S_odigits_end, - _S_oudigits_end = _S_oudigits + 16, - _S_oe = _S_odigits + 14, - _S_oE = _S_oudigits + 14, - _S_oend = _S_oudigits_end - }; - - - - - - - static const char* _S_atoms_out; - - - - static const char* _S_atoms_in; - - enum - { - _S_iminus, - _S_iplus, - _S_ix, - _S_iX, - _S_izero, - _S_ie = _S_izero + 14, - _S_iE = _S_izero + 20, - _S_iend = 26 - }; - - - - static void - _S_format_float(const ios_base& __io, char* __fptr, char __mod) throw(); - }; - - template - struct __numpunct_cache : public locale::facet - { - const char* _M_grouping; - size_t _M_grouping_size; - bool _M_use_grouping; - const _CharT* _M_truename; - size_t _M_truename_size; - const _CharT* _M_falsename; - size_t _M_falsename_size; - _CharT _M_decimal_point; - _CharT _M_thousands_sep; - - - - - - _CharT _M_atoms_out[__num_base::_S_oend]; - - - - - - _CharT _M_atoms_in[__num_base::_S_iend]; - - bool _M_allocated; - - __numpunct_cache(size_t __refs = 0) - : facet(__refs), _M_grouping(0), _M_grouping_size(0), - _M_use_grouping(false), - _M_truename(0), _M_truename_size(0), _M_falsename(0), - _M_falsename_size(0), _M_decimal_point(_CharT()), - _M_thousands_sep(_CharT()), _M_allocated(false) - { } - - ~__numpunct_cache(); - - void - _M_cache(const locale& __loc); - - private: - __numpunct_cache& - operator=(const __numpunct_cache&); - - explicit - __numpunct_cache(const __numpunct_cache&); - }; - - template - __numpunct_cache<_CharT>::~__numpunct_cache() - { - if (_M_allocated) - { - delete [] _M_grouping; - delete [] _M_truename; - delete [] _M_falsename; - } - } - -namespace __cxx11 { -# 1677 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - template - class numpunct : public locale::facet - { - public: - - - - typedef _CharT char_type; - typedef basic_string<_CharT> string_type; - - typedef __numpunct_cache<_CharT> __cache_type; - - protected: - __cache_type* _M_data; - - public: - - static locale::id id; - - - - - - - explicit - numpunct(size_t __refs = 0) - : facet(__refs), _M_data(0) - { _M_initialize_numpunct(); } -# 1715 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - explicit - numpunct(__cache_type* __cache, size_t __refs = 0) - : facet(__refs), _M_data(__cache) - { _M_initialize_numpunct(); } -# 1729 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - explicit - numpunct(__c_locale __cloc, size_t __refs = 0) - : facet(__refs), _M_data(0) - { _M_initialize_numpunct(__cloc); } -# 1743 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char_type - decimal_point() const - { return this->do_decimal_point(); } -# 1756 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - char_type - thousands_sep() const - { return this->do_thousands_sep(); } -# 1787 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - string - grouping() const - { return this->do_grouping(); } -# 1800 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - string_type - truename() const - { return this->do_truename(); } -# 1813 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - string_type - falsename() const - { return this->do_falsename(); } - - protected: - - virtual - ~numpunct(); -# 1830 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_decimal_point() const - { return _M_data->_M_decimal_point; } -# 1842 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual char_type - do_thousands_sep() const - { return _M_data->_M_thousands_sep; } -# 1855 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual string - do_grouping() const - { return _M_data->_M_grouping; } -# 1868 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual string_type - do_truename() const - { return _M_data->_M_truename; } -# 1881 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual string_type - do_falsename() const - { return _M_data->_M_falsename; } - - - void - _M_initialize_numpunct(__c_locale __cloc = 0); - }; - - template - locale::id numpunct<_CharT>::id; - - template<> - numpunct::~numpunct(); - - template<> - void - numpunct::_M_initialize_numpunct(__c_locale __cloc); - - - template<> - numpunct::~numpunct(); - - template<> - void - numpunct::_M_initialize_numpunct(__c_locale __cloc); - - - - template - class numpunct_byname : public numpunct<_CharT> - { - public: - typedef _CharT char_type; - typedef basic_string<_CharT> string_type; - - explicit - numpunct_byname(const char* __s, size_t __refs = 0) - : numpunct<_CharT>(__refs) - { - if (__builtin_strcmp(__s, "C") != 0 - && __builtin_strcmp(__s, "POSIX") != 0) - { - __c_locale __tmp; - this->_S_create_c_locale(__tmp, __s); - this->_M_initialize_numpunct(__tmp); - this->_S_destroy_c_locale(__tmp); - } - } - - - explicit - numpunct_byname(const string& __s, size_t __refs = 0) - : numpunct_byname(__s.c_str(), __refs) { } - - - protected: - virtual - ~numpunct_byname() { } - }; - -} - - -# 1959 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - template - class num_get : public locale::facet - { - public: - - - - typedef _CharT char_type; - typedef _InIter iter_type; - - - - static locale::id id; -# 1980 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - explicit - num_get(size_t __refs = 0) : facet(__refs) { } -# 2006 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, bool& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } -# 2043 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, long& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } - - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, unsigned short& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } - - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, unsigned int& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } - - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, unsigned long& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } - - - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, long long& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } - - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, unsigned long long& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } -# 2103 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, float& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } - - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, double& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } - - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, long double& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } -# 2146 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - iter_type - get(iter_type __in, iter_type __end, ios_base& __io, - ios_base::iostate& __err, void*& __v) const - { return this->do_get(__in, __end, __io, __err, __v); } - - protected: - - virtual ~num_get() { } - - __attribute ((__abi_tag__ ("cxx11"))) - iter_type - _M_extract_float(iter_type, iter_type, ios_base&, ios_base::iostate&, - string&) const; - - template - __attribute ((__abi_tag__ ("cxx11"))) - iter_type - _M_extract_int(iter_type, iter_type, ios_base&, ios_base::iostate&, - _ValueT&) const; - - template - typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, int>::__type - _M_find(const _CharT2*, size_t __len, _CharT2 __c) const - { - int __ret = -1; - if (__len <= 10) - { - if (__c >= _CharT2('0') && __c < _CharT2(_CharT2('0') + __len)) - __ret = __c - _CharT2('0'); - } - else - { - if (__c >= _CharT2('0') && __c <= _CharT2('9')) - __ret = __c - _CharT2('0'); - else if (__c >= _CharT2('a') && __c <= _CharT2('f')) - __ret = 10 + (__c - _CharT2('a')); - else if (__c >= _CharT2('A') && __c <= _CharT2('F')) - __ret = 10 + (__c - _CharT2('A')); - } - return __ret; - } - - template - typename __gnu_cxx::__enable_if::__value, - int>::__type - _M_find(const _CharT2* __zero, size_t __len, _CharT2 __c) const - { - int __ret = -1; - const char_type* __q = char_traits<_CharT2>::find(__zero, __len, __c); - if (__q) - { - __ret = __q - __zero; - if (__ret > 15) - __ret -= 6; - } - return __ret; - } -# 2219 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual iter_type - do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&) const; - - virtual iter_type - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, long& __v) const - { return _M_extract_int(__beg, __end, __io, __err, __v); } - - virtual iter_type - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, unsigned short& __v) const - { return _M_extract_int(__beg, __end, __io, __err, __v); } - - virtual iter_type - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, unsigned int& __v) const - { return _M_extract_int(__beg, __end, __io, __err, __v); } - - virtual iter_type - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, unsigned long& __v) const - { return _M_extract_int(__beg, __end, __io, __err, __v); } - - - virtual iter_type - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, long long& __v) const - { return _M_extract_int(__beg, __end, __io, __err, __v); } - - virtual iter_type - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, unsigned long long& __v) const - { return _M_extract_int(__beg, __end, __io, __err, __v); } - - - virtual iter_type - do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, float&) const; - - virtual iter_type - do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, - double&) const; -# 2271 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual iter_type - do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, - long double&) const; - - - virtual iter_type - do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, void*&) const; -# 2299 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - }; - - template - locale::id num_get<_CharT, _InIter>::id; -# 2317 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - template - class num_put : public locale::facet - { - public: - - - - typedef _CharT char_type; - typedef _OutIter iter_type; - - - - static locale::id id; -# 2338 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - explicit - num_put(size_t __refs = 0) : facet(__refs) { } -# 2356 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const - { return this->do_put(__s, __io, __fill, __v); } -# 2398 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, long __v) const - { return this->do_put(__s, __io, __fill, __v); } - - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, - unsigned long __v) const - { return this->do_put(__s, __io, __fill, __v); } - - - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, long long __v) const - { return this->do_put(__s, __io, __fill, __v); } - - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, - unsigned long long __v) const - { return this->do_put(__s, __io, __fill, __v); } -# 2461 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, double __v) const - { return this->do_put(__s, __io, __fill, __v); } - - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, - long double __v) const - { return this->do_put(__s, __io, __fill, __v); } -# 2486 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, - const void* __v) const - { return this->do_put(__s, __io, __fill, __v); } - - protected: - template - iter_type - _M_insert_float(iter_type, ios_base& __io, char_type __fill, - char __mod, _ValueT __v) const; - - void - _M_group_float(const char* __grouping, size_t __grouping_size, - char_type __sep, const char_type* __p, char_type* __new, - char_type* __cs, int& __len) const; - - template - iter_type - _M_insert_int(iter_type, ios_base& __io, char_type __fill, - _ValueT __v) const; - - void - _M_group_int(const char* __grouping, size_t __grouping_size, - char_type __sep, ios_base& __io, char_type* __new, - char_type* __cs, int& __len) const; - - void - _M_pad(char_type __fill, streamsize __w, ios_base& __io, - char_type* __new, const char_type* __cs, int& __len) const; - - - virtual - ~num_put() { } -# 2534 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - virtual iter_type - do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const; - - virtual iter_type - do_put(iter_type __s, ios_base& __io, char_type __fill, long __v) const - { return _M_insert_int(__s, __io, __fill, __v); } - - virtual iter_type - do_put(iter_type __s, ios_base& __io, char_type __fill, - unsigned long __v) const - { return _M_insert_int(__s, __io, __fill, __v); } - - - virtual iter_type - do_put(iter_type __s, ios_base& __io, char_type __fill, - long long __v) const - { return _M_insert_int(__s, __io, __fill, __v); } - - virtual iter_type - do_put(iter_type __s, ios_base& __io, char_type __fill, - unsigned long long __v) const - { return _M_insert_int(__s, __io, __fill, __v); } - - - virtual iter_type - do_put(iter_type, ios_base&, char_type, double) const; - - - - - - - virtual iter_type - do_put(iter_type, ios_base&, char_type, long double) const; - - - virtual iter_type - do_put(iter_type, ios_base&, char_type, const void*) const; -# 2586 "/usr/include/c++/14.1.1/bits/locale_facets.h" 3 - }; - - template - locale::id num_put<_CharT, _OutIter>::id; - - - - - - - - - - template - inline bool - isspace(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::space, __c); } - - - template - inline bool - isprint(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::print, __c); } - - - template - inline bool - iscntrl(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::cntrl, __c); } - - - template - inline bool - isupper(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::upper, __c); } - - - template - inline bool - islower(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::lower, __c); } - - - template - inline bool - isalpha(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::alpha, __c); } - - - template - inline bool - isdigit(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::digit, __c); } - - - template - inline bool - ispunct(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::punct, __c); } - - - template - inline bool - isxdigit(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::xdigit, __c); } - - - template - inline bool - isalnum(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::alnum, __c); } - - - template - inline bool - isgraph(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::graph, __c); } - - - - template - inline bool - isblank(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::blank, __c); } - - - - template - inline _CharT - toupper(_CharT __c, const locale& __loc) - { return use_facet >(__loc).toupper(__c); } - - - template - inline _CharT - tolower(_CharT __c, const locale& __loc) - { return use_facet >(__loc).tolower(__c); } - - -} - -# 1 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - -# 34 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - template - struct __use_cache - { - const _Facet* - operator() (const locale& __loc) const; - }; - - - template - struct __use_cache<__numpunct_cache<_CharT> > - { - const __numpunct_cache<_CharT>* - operator() (const locale& __loc) const - { - const size_t __i = numpunct<_CharT>::id._M_id(); - const locale::facet** __caches = __loc._M_impl->_M_caches; - if (!__caches[__i]) - { - __numpunct_cache<_CharT>* __tmp = 0; - try - { - __tmp = new __numpunct_cache<_CharT>; - __tmp->_M_cache(__loc); - } - catch(...) - { - delete __tmp; - throw; - } - __loc._M_impl->_M_install_cache(__tmp, __i); - } - return static_cast*>(__caches[__i]); - } - }; - - template - void - __numpunct_cache<_CharT>::_M_cache(const locale& __loc) - { - const numpunct<_CharT>& __np = use_facet >(__loc); - - char* __grouping = 0; - _CharT* __truename = 0; - _CharT* __falsename = 0; - try - { - const string& __g = __np.grouping(); - _M_grouping_size = __g.size(); - __grouping = new char[_M_grouping_size]; - __g.copy(__grouping, _M_grouping_size); - _M_use_grouping = (_M_grouping_size - && static_cast(__grouping[0]) > 0 - && (__grouping[0] - != __gnu_cxx::__numeric_traits::__max)); - - const basic_string<_CharT>& __tn = __np.truename(); - _M_truename_size = __tn.size(); - __truename = new _CharT[_M_truename_size]; - __tn.copy(__truename, _M_truename_size); - - const basic_string<_CharT>& __fn = __np.falsename(); - _M_falsename_size = __fn.size(); - __falsename = new _CharT[_M_falsename_size]; - __fn.copy(__falsename, _M_falsename_size); - - _M_decimal_point = __np.decimal_point(); - _M_thousands_sep = __np.thousands_sep(); - - const ctype<_CharT>& __ct = use_facet >(__loc); - __ct.widen(__num_base::_S_atoms_out, - __num_base::_S_atoms_out - + __num_base::_S_oend, _M_atoms_out); - __ct.widen(__num_base::_S_atoms_in, - __num_base::_S_atoms_in - + __num_base::_S_iend, _M_atoms_in); - - _M_grouping = __grouping; - _M_truename = __truename; - _M_falsename = __falsename; - _M_allocated = true; - } - catch(...) - { - delete [] __grouping; - delete [] __truename; - delete [] __falsename; - throw; - } - } -# 139 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - __attribute__ ((__pure__)) bool - __verify_grouping(const char* __grouping, size_t __grouping_size, - const string& __grouping_tmp) throw (); - - - - template - __attribute ((__abi_tag__ ("cxx11"))) - _InIter - num_get<_CharT, _InIter>:: - _M_extract_float(_InIter __beg, _InIter __end, ios_base& __io, - ios_base::iostate& __err, string& __xtrc) const - { - typedef char_traits<_CharT> __traits_type; - typedef __numpunct_cache<_CharT> __cache_type; - __use_cache<__cache_type> __uc; - const locale& __loc = __io._M_getloc(); - const __cache_type* __lc = __uc(__loc); - const _CharT* __lit = __lc->_M_atoms_in; - char_type __c = char_type(); - - - bool __testeof = __beg == __end; - - - if (!__testeof) - { - __c = *__beg; - const bool __plus = __c == __lit[__num_base::_S_iplus]; - if ((__plus || __c == __lit[__num_base::_S_iminus]) - && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) - && !(__c == __lc->_M_decimal_point)) - { - __xtrc += __plus ? '+' : '-'; - if (++__beg != __end) - __c = *__beg; - else - __testeof = true; - } - } - - - bool __found_mantissa = false; - int __sep_pos = 0; - while (!__testeof) - { - if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) - || __c == __lc->_M_decimal_point) - break; - else if (__c == __lit[__num_base::_S_izero]) - { - if (!__found_mantissa) - { - __xtrc += '0'; - __found_mantissa = true; - } - ++__sep_pos; - - if (++__beg != __end) - __c = *__beg; - else - __testeof = true; - } - else - break; - } - - - bool __found_dec = false; - bool __found_sci = false; - string __found_grouping; - if (__lc->_M_use_grouping) - __found_grouping.reserve(32); - const char_type* __lit_zero = __lit + __num_base::_S_izero; - - if (!__lc->_M_allocated) - - while (!__testeof) - { - const int __digit = _M_find(__lit_zero, 10, __c); - if (__digit != -1) - { - __xtrc += '0' + __digit; - __found_mantissa = true; - } - else if (__c == __lc->_M_decimal_point - && !__found_dec && !__found_sci) - { - __xtrc += '.'; - __found_dec = true; - } - else if ((__c == __lit[__num_base::_S_ie] - || __c == __lit[__num_base::_S_iE]) - && !__found_sci && __found_mantissa) - { - - __xtrc += 'e'; - __found_sci = true; - - - if (++__beg != __end) - { - __c = *__beg; - const bool __plus = __c == __lit[__num_base::_S_iplus]; - if (__plus || __c == __lit[__num_base::_S_iminus]) - __xtrc += __plus ? '+' : '-'; - else - continue; - } - else - { - __testeof = true; - break; - } - } - else - break; - - if (++__beg != __end) - __c = *__beg; - else - __testeof = true; - } - else - while (!__testeof) - { - - - if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) - { - if (!__found_dec && !__found_sci) - { - - - if (__sep_pos) - { - __found_grouping += static_cast(__sep_pos); - __sep_pos = 0; - } - else - { - - - __xtrc.clear(); - break; - } - } - else - break; - } - else if (__c == __lc->_M_decimal_point) - { - if (!__found_dec && !__found_sci) - { - - - - if (__found_grouping.size()) - __found_grouping += static_cast(__sep_pos); - __xtrc += '.'; - __found_dec = true; - } - else - break; - } - else - { - const char_type* __q = - __traits_type::find(__lit_zero, 10, __c); - if (__q) - { - __xtrc += '0' + (__q - __lit_zero); - __found_mantissa = true; - ++__sep_pos; - } - else if ((__c == __lit[__num_base::_S_ie] - || __c == __lit[__num_base::_S_iE]) - && !__found_sci && __found_mantissa) - { - - if (__found_grouping.size() && !__found_dec) - __found_grouping += static_cast(__sep_pos); - __xtrc += 'e'; - __found_sci = true; - - - if (++__beg != __end) - { - __c = *__beg; - const bool __plus = __c == __lit[__num_base::_S_iplus]; - if ((__plus || __c == __lit[__num_base::_S_iminus]) - && !(__lc->_M_use_grouping - && __c == __lc->_M_thousands_sep) - && !(__c == __lc->_M_decimal_point)) - __xtrc += __plus ? '+' : '-'; - else - continue; - } - else - { - __testeof = true; - break; - } - } - else - break; - } - - if (++__beg != __end) - __c = *__beg; - else - __testeof = true; - } - - - - if (__found_grouping.size()) - { - - if (!__found_dec && !__found_sci) - __found_grouping += static_cast(__sep_pos); - - if (!std::__verify_grouping(__lc->_M_grouping, - __lc->_M_grouping_size, - __found_grouping)) - __err = ios_base::failbit; - } - - return __beg; - } - - template - template - __attribute ((__abi_tag__ ("cxx11"))) - _InIter - num_get<_CharT, _InIter>:: - _M_extract_int(_InIter __beg, _InIter __end, ios_base& __io, - ios_base::iostate& __err, _ValueT& __v) const - { - typedef char_traits<_CharT> __traits_type; - using __gnu_cxx::__add_unsigned; - typedef typename __add_unsigned<_ValueT>::__type __unsigned_type; - typedef __numpunct_cache<_CharT> __cache_type; - __use_cache<__cache_type> __uc; - const locale& __loc = __io._M_getloc(); - const __cache_type* __lc = __uc(__loc); - const _CharT* __lit = __lc->_M_atoms_in; - char_type __c = char_type(); - - - const ios_base::fmtflags __basefield = __io.flags() - & ios_base::basefield; - const bool __oct = __basefield == ios_base::oct; - int __base = __oct ? 8 : (__basefield == ios_base::hex ? 16 : 10); - - - bool __testeof = __beg == __end; - - - bool __negative = false; - if (!__testeof) - { - __c = *__beg; - __negative = __c == __lit[__num_base::_S_iminus]; - if ((__negative || __c == __lit[__num_base::_S_iplus]) - && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) - && !(__c == __lc->_M_decimal_point)) - { - if (++__beg != __end) - __c = *__beg; - else - __testeof = true; - } - } - - - - bool __found_zero = false; - int __sep_pos = 0; - while (!__testeof) - { - if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) - || __c == __lc->_M_decimal_point) - break; - else if (__c == __lit[__num_base::_S_izero] - && (!__found_zero || __base == 10)) - { - __found_zero = true; - ++__sep_pos; - if (__basefield == 0) - __base = 8; - if (__base == 8) - __sep_pos = 0; - } - else if (__found_zero - && (__c == __lit[__num_base::_S_ix] - || __c == __lit[__num_base::_S_iX])) - { - if (__basefield == 0) - __base = 16; - if (__base == 16) - { - __found_zero = false; - __sep_pos = 0; - } - else - break; - } - else - break; - - if (++__beg != __end) - { - __c = *__beg; - if (!__found_zero) - break; - } - else - __testeof = true; - } - - - - const size_t __len = (__base == 16 ? __num_base::_S_iend - - __num_base::_S_izero : __base); - - - typedef __gnu_cxx::__numeric_traits<_ValueT> __num_traits; - string __found_grouping; - if (__lc->_M_use_grouping) - __found_grouping.reserve(32); - bool __testfail = false; - bool __testoverflow = false; - const __unsigned_type __max = - (__negative && __num_traits::__is_signed) - ? -static_cast<__unsigned_type>(__num_traits::__min) - : __num_traits::__max; - const __unsigned_type __smax = __max / __base; - __unsigned_type __result = 0; - int __digit = 0; - const char_type* __lit_zero = __lit + __num_base::_S_izero; - - if (!__lc->_M_allocated) - - while (!__testeof) - { - __digit = _M_find(__lit_zero, __len, __c); - if (__digit == -1) - break; - - if (__result > __smax) - __testoverflow = true; - else - { - __result *= __base; - __testoverflow |= __result > __max - __digit; - __result += __digit; - ++__sep_pos; - } - - if (++__beg != __end) - __c = *__beg; - else - __testeof = true; - } - else - while (!__testeof) - { - - - if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) - { - - - if (__sep_pos) - { - __found_grouping += static_cast(__sep_pos); - __sep_pos = 0; - } - else - { - __testfail = true; - break; - } - } - else if (__c == __lc->_M_decimal_point) - break; - else - { - const char_type* __q = - __traits_type::find(__lit_zero, __len, __c); - if (!__q) - break; - - __digit = __q - __lit_zero; - if (__digit > 15) - __digit -= 6; - if (__result > __smax) - __testoverflow = true; - else - { - __result *= __base; - __testoverflow |= __result > __max - __digit; - __result += __digit; - ++__sep_pos; - } - } - - if (++__beg != __end) - __c = *__beg; - else - __testeof = true; - } - - - - if (__found_grouping.size()) - { - - __found_grouping += static_cast(__sep_pos); - - if (!std::__verify_grouping(__lc->_M_grouping, - __lc->_M_grouping_size, - __found_grouping)) - __err = ios_base::failbit; - } - - - - if ((!__sep_pos && !__found_zero && !__found_grouping.size()) - || __testfail) - { - __v = 0; - __err = ios_base::failbit; - } - else if (__testoverflow) - { - if (__negative && __num_traits::__is_signed) - __v = __num_traits::__min; - else - __v = __num_traits::__max; - __err = ios_base::failbit; - } - else - __v = __negative ? -__result : __result; - - if (__testeof) - __err |= ios_base::eofbit; - return __beg; - } - - - - template - _InIter - num_get<_CharT, _InIter>:: - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, bool& __v) const - { - if (!(__io.flags() & ios_base::boolalpha)) - { - - - - long __l = -1; - __beg = _M_extract_int(__beg, __end, __io, __err, __l); - if (__l == 0 || __l == 1) - __v = bool(__l); - else - { - - - __v = true; - __err = ios_base::failbit; - if (__beg == __end) - __err |= ios_base::eofbit; - } - } - else - { - - typedef __numpunct_cache<_CharT> __cache_type; - __use_cache<__cache_type> __uc; - const locale& __loc = __io._M_getloc(); - const __cache_type* __lc = __uc(__loc); - - bool __testf = true; - bool __testt = true; - bool __donef = __lc->_M_falsename_size == 0; - bool __donet = __lc->_M_truename_size == 0; - bool __testeof = false; - size_t __n = 0; - while (!__donef || !__donet) - { - if (__beg == __end) - { - __testeof = true; - break; - } - - const char_type __c = *__beg; - - if (!__donef) - __testf = __c == __lc->_M_falsename[__n]; - - if (!__testf && __donet) - break; - - if (!__donet) - __testt = __c == __lc->_M_truename[__n]; - - if (!__testt && __donef) - break; - - if (!__testt && !__testf) - break; - - ++__n; - ++__beg; - - __donef = !__testf || __n >= __lc->_M_falsename_size; - __donet = !__testt || __n >= __lc->_M_truename_size; - } - if (__testf && __n == __lc->_M_falsename_size && __n) - { - __v = false; - if (__testt && __n == __lc->_M_truename_size) - __err = ios_base::failbit; - else - __err = __testeof ? ios_base::eofbit : ios_base::goodbit; - } - else if (__testt && __n == __lc->_M_truename_size && __n) - { - __v = true; - __err = __testeof ? ios_base::eofbit : ios_base::goodbit; - } - else - { - - - __v = false; - __err = ios_base::failbit; - if (__testeof) - __err |= ios_base::eofbit; - } - } - return __beg; - } - - template - _InIter - num_get<_CharT, _InIter>:: - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, float& __v) const - { - string __xtrc; - __xtrc.reserve(32); - __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); - std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); - if (__beg == __end) - __err |= ios_base::eofbit; - return __beg; - } - - template - _InIter - num_get<_CharT, _InIter>:: - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, double& __v) const - { - string __xtrc; - __xtrc.reserve(32); - __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); - std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); - if (__beg == __end) - __err |= ios_base::eofbit; - return __beg; - } -# 735 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - template - _InIter - num_get<_CharT, _InIter>:: - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, long double& __v) const - { - string __xtrc; - __xtrc.reserve(32); - __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); - std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); - if (__beg == __end) - __err |= ios_base::eofbit; - return __beg; - } - - template - _InIter - num_get<_CharT, _InIter>:: - do_get(iter_type __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, void*& __v) const - { - - typedef ios_base::fmtflags fmtflags; - const fmtflags __fmt = __io.flags(); - __io.flags((__fmt & ~ios_base::basefield) | ios_base::hex); - - typedef __gnu_cxx::__conditional_type<(sizeof(void*) - <= sizeof(unsigned long)), - unsigned long, unsigned long long>::__type _UIntPtrType; - - _UIntPtrType __ul; - __beg = _M_extract_int(__beg, __end, __io, __err, __ul); - - - __io.flags(__fmt); - - __v = reinterpret_cast(__ul); - return __beg; - } -# 795 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - template - void - num_put<_CharT, _OutIter>:: - _M_pad(_CharT __fill, streamsize __w, ios_base& __io, - _CharT* __new, const _CharT* __cs, int& __len) const - { - - - __pad<_CharT, char_traits<_CharT> >::_S_pad(__io, __fill, __new, - __cs, __w, __len); - __len = static_cast(__w); - } - - - - template - int - __int_to_char(_CharT* __bufend, _ValueT __v, const _CharT* __lit, - ios_base::fmtflags __flags, bool __dec) - { - _CharT* __buf = __bufend; - if (__builtin_expect(__dec, true)) - { - - do - { - *--__buf = __lit[(__v % 10) + __num_base::_S_odigits]; - __v /= 10; - } - while (__v != 0); - } - else if ((__flags & ios_base::basefield) == ios_base::oct) - { - - do - { - *--__buf = __lit[(__v & 0x7) + __num_base::_S_odigits]; - __v >>= 3; - } - while (__v != 0); - } - else - { - - const bool __uppercase = __flags & ios_base::uppercase; - const int __case_offset = __uppercase ? __num_base::_S_oudigits - : __num_base::_S_odigits; - do - { - *--__buf = __lit[(__v & 0xf) + __case_offset]; - __v >>= 4; - } - while (__v != 0); - } - return __bufend - __buf; - } - - - - template - void - num_put<_CharT, _OutIter>:: - _M_group_int(const char* __grouping, size_t __grouping_size, _CharT __sep, - ios_base&, _CharT* __new, _CharT* __cs, int& __len) const - { - _CharT* __p = std::__add_grouping(__new, __sep, __grouping, - __grouping_size, __cs, __cs + __len); - __len = __p - __new; - } - - template - template - _OutIter - num_put<_CharT, _OutIter>:: - _M_insert_int(_OutIter __s, ios_base& __io, _CharT __fill, - _ValueT __v) const - { - using __gnu_cxx::__add_unsigned; - typedef typename __add_unsigned<_ValueT>::__type __unsigned_type; - typedef __numpunct_cache<_CharT> __cache_type; - __use_cache<__cache_type> __uc; - const locale& __loc = __io._M_getloc(); - const __cache_type* __lc = __uc(__loc); - const _CharT* __lit = __lc->_M_atoms_out; - const ios_base::fmtflags __flags = __io.flags(); - - - const int __ilen = 5 * sizeof(_ValueT); - _CharT* __cs = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) - * __ilen)); - - - - const ios_base::fmtflags __basefield = __flags & ios_base::basefield; - const bool __dec = (__basefield != ios_base::oct - && __basefield != ios_base::hex); - const __unsigned_type __u = ((__v > 0 || !__dec) - ? __unsigned_type(__v) - : -__unsigned_type(__v)); - int __len = __int_to_char(__cs + __ilen, __u, __lit, __flags, __dec); - __cs += __ilen - __len; - - - if (__lc->_M_use_grouping) - { - - - _CharT* __cs2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) - * (__len + 1) - * 2)); - _M_group_int(__lc->_M_grouping, __lc->_M_grouping_size, - __lc->_M_thousands_sep, __io, __cs2 + 2, __cs, __len); - __cs = __cs2 + 2; - } - - - if (__builtin_expect(__dec, true)) - { - - if (__v >= 0) - { - if (bool(__flags & ios_base::showpos) - && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed) - *--__cs = __lit[__num_base::_S_oplus], ++__len; - } - else - *--__cs = __lit[__num_base::_S_ominus], ++__len; - } - else if (bool(__flags & ios_base::showbase) && __v) - { - if (__basefield == ios_base::oct) - *--__cs = __lit[__num_base::_S_odigits], ++__len; - else - { - - const bool __uppercase = __flags & ios_base::uppercase; - *--__cs = __lit[__num_base::_S_ox + __uppercase]; - - *--__cs = __lit[__num_base::_S_odigits]; - __len += 2; - } - } - - - const streamsize __w = __io.width(); - if (__w > static_cast(__len)) - { - _CharT* __cs3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) - * __w)); - _M_pad(__fill, __w, __io, __cs3, __cs, __len); - __cs = __cs3; - } - __io.width(0); - - - - return std::__write(__s, __cs, __len); - } - - template - void - num_put<_CharT, _OutIter>:: - _M_group_float(const char* __grouping, size_t __grouping_size, - _CharT __sep, const _CharT* __p, _CharT* __new, - _CharT* __cs, int& __len) const - { - - - - const int __declen = __p ? __p - __cs : __len; - _CharT* __p2 = std::__add_grouping(__new, __sep, __grouping, - __grouping_size, - __cs, __cs + __declen); - - - int __newlen = __p2 - __new; - if (__p) - { - char_traits<_CharT>::copy(__p2, __p, __len - __declen); - __newlen += __len - __declen; - } - __len = __newlen; - } -# 989 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - template - template - _OutIter - num_put<_CharT, _OutIter>:: - _M_insert_float(_OutIter __s, ios_base& __io, _CharT __fill, char __mod, - _ValueT __v) const - { - typedef __numpunct_cache<_CharT> __cache_type; - __use_cache<__cache_type> __uc; - const locale& __loc = __io._M_getloc(); - const __cache_type* __lc = __uc(__loc); - - - const streamsize __prec = __io.precision() < 0 ? 6 : __io.precision(); - - const int __max_digits = - __gnu_cxx::__numeric_traits<_ValueT>::__digits10; - - - int __len; - - char __fbuf[16]; - __num_base::_S_format_float(__io, __fbuf, __mod); - - - - const bool __use_prec = - (__io.flags() & ios_base::floatfield) != ios_base::floatfield; - - - - int __cs_size = __max_digits * 3; - char* __cs = static_cast(__builtin_alloca(__cs_size)); - if (__use_prec) - __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, - __fbuf, __prec, __v); - else - __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, - __fbuf, __v); - - - if (__len >= __cs_size) - { - __cs_size = __len + 1; - __cs = static_cast(__builtin_alloca(__cs_size)); - if (__use_prec) - __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, - __fbuf, __prec, __v); - else - __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, - __fbuf, __v); - } -# 1062 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - const ctype<_CharT>& __ctype = use_facet >(__loc); - - _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) - * __len)); - __ctype.widen(__cs, __cs + __len, __ws); - - - _CharT* __wp = 0; - const char* __p = char_traits::find(__cs, __len, '.'); - if (__p) - { - __wp = __ws + (__p - __cs); - *__wp = __lc->_M_decimal_point; - } - - - - - if (__lc->_M_use_grouping - && (__wp || __len < 3 || (__cs[1] <= '9' && __cs[2] <= '9' - && __cs[1] >= '0' && __cs[2] >= '0'))) - { - - - _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) - * __len * 2)); - - streamsize __off = 0; - if (__cs[0] == '-' || __cs[0] == '+') - { - __off = 1; - __ws2[0] = __ws[0]; - __len -= 1; - } - - _M_group_float(__lc->_M_grouping, __lc->_M_grouping_size, - __lc->_M_thousands_sep, __wp, __ws2 + __off, - __ws + __off, __len); - __len += __off; - - __ws = __ws2; - } - - - const streamsize __w = __io.width(); - if (__w > static_cast(__len)) - { - _CharT* __ws3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) - * __w)); - _M_pad(__fill, __w, __io, __ws3, __ws, __len); - __ws = __ws3; - } - __io.width(0); - - - - return std::__write(__s, __ws, __len); - } - - template - _OutIter - num_put<_CharT, _OutIter>:: - do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const - { - const ios_base::fmtflags __flags = __io.flags(); - if ((__flags & ios_base::boolalpha) == 0) - { - const long __l = __v; - __s = _M_insert_int(__s, __io, __fill, __l); - } - else - { - typedef __numpunct_cache<_CharT> __cache_type; - __use_cache<__cache_type> __uc; - const locale& __loc = __io._M_getloc(); - const __cache_type* __lc = __uc(__loc); - - const _CharT* __name = __v ? __lc->_M_truename - : __lc->_M_falsename; - int __len = __v ? __lc->_M_truename_size - : __lc->_M_falsename_size; - - const streamsize __w = __io.width(); - if (__w > static_cast(__len)) - { - const streamsize __plen = __w - __len; - _CharT* __ps - = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) - * __plen)); - - char_traits<_CharT>::assign(__ps, __plen, __fill); - __io.width(0); - - if ((__flags & ios_base::adjustfield) == ios_base::left) - { - __s = std::__write(__s, __name, __len); - __s = std::__write(__s, __ps, __plen); - } - else - { - __s = std::__write(__s, __ps, __plen); - __s = std::__write(__s, __name, __len); - } - return __s; - } - __io.width(0); - __s = std::__write(__s, __name, __len); - } - return __s; - } - - template - _OutIter - num_put<_CharT, _OutIter>:: - do_put(iter_type __s, ios_base& __io, char_type __fill, double __v) const - { return _M_insert_float(__s, __io, __fill, char(), __v); } -# 1187 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - template - _OutIter - num_put<_CharT, _OutIter>:: - do_put(iter_type __s, ios_base& __io, char_type __fill, - long double __v) const - { return _M_insert_float(__s, __io, __fill, 'L', __v); } - - template - _OutIter - num_put<_CharT, _OutIter>:: - do_put(iter_type __s, ios_base& __io, char_type __fill, - const void* __v) const - { - const ios_base::fmtflags __flags = __io.flags(); - const ios_base::fmtflags __fmt = ~(ios_base::basefield - | ios_base::uppercase); - __io.flags((__flags & __fmt) | (ios_base::hex | ios_base::showbase)); - - typedef __gnu_cxx::__conditional_type<(sizeof(const void*) - <= sizeof(unsigned long)), - unsigned long, unsigned long long>::__type _UIntPtrType; - - __s = _M_insert_int(__s, __io, __fill, - reinterpret_cast<_UIntPtrType>(__v)); - __io.flags(__flags); - return __s; - } -# 1224 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - -# 1233 "/usr/include/c++/14.1.1/bits/locale_facets.tcc" 3 - template - void - __pad<_CharT, _Traits>::_S_pad(ios_base& __io, _CharT __fill, - _CharT* __news, const _CharT* __olds, - streamsize __newlen, streamsize __oldlen) - { - const size_t __plen = static_cast(__newlen - __oldlen); - const ios_base::fmtflags __adjust = __io.flags() & ios_base::adjustfield; - - - if (__adjust == ios_base::left) - { - _Traits::copy(__news, __olds, __oldlen); - _Traits::assign(__news + __oldlen, __plen, __fill); - return; - } - - size_t __mod = 0; - if (__adjust == ios_base::internal) - { - - - - const locale& __loc = __io._M_getloc(); - const ctype<_CharT>& __ctype = use_facet >(__loc); - - if (__ctype.widen('-') == __olds[0] - || __ctype.widen('+') == __olds[0]) - { - __news[0] = __olds[0]; - __mod = 1; - ++__news; - } - else if (__ctype.widen('0') == __olds[0] - && __oldlen > 1 - && (__ctype.widen('x') == __olds[1] - || __ctype.widen('X') == __olds[1])) - { - __news[0] = __olds[0]; - __news[1] = __olds[1]; - __mod = 2; - __news += 2; - } - - } - _Traits::assign(__news, __plen, __fill); - _Traits::copy(__news + __plen, __olds + __mod, __oldlen - __mod); - } - - template - _CharT* - __add_grouping(_CharT* __s, _CharT __sep, - const char* __gbeg, size_t __gsize, - const _CharT* __first, const _CharT* __last) - { - size_t __idx = 0; - size_t __ctr = 0; - - while (__last - __first > __gbeg[__idx] - && static_cast(__gbeg[__idx]) > 0 - && __gbeg[__idx] != __gnu_cxx::__numeric_traits::__max) - { - __last -= __gbeg[__idx]; - __idx < __gsize - 1 ? ++__idx : ++__ctr; - } - - while (__first != __last) - *__s++ = *__first++; - - while (__ctr--) - { - *__s++ = __sep; - for (char __i = __gbeg[__idx]; __i > 0; --__i) - *__s++ = *__first++; - } - - while (__idx--) - { - *__s++ = __sep; - for (char __i = __gbeg[__idx]; __i > 0; --__i) - *__s++ = *__first++; - } - - return __s; - } - - - - - extern template class __cxx11:: numpunct; - extern template class __cxx11:: numpunct_byname; - extern template class num_get; - extern template class num_put; - extern template class ctype_byname; - - extern template - const ctype* - __try_use_facet >(const locale&) noexcept; - - extern template - const numpunct* - __try_use_facet >(const locale&) noexcept; - - extern template - const num_put* - __try_use_facet >(const locale&) noexcept; - - extern template - const num_get* - __try_use_facet >(const locale&) noexcept; - - extern template - const ctype& - use_facet >(const locale&); - - extern template - const numpunct& - use_facet >(const locale&); - - extern template - const num_put& - use_facet >(const locale&); - - extern template - const num_get& - use_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - - extern template class __cxx11:: numpunct; - extern template class __cxx11:: numpunct_byname; - extern template class num_get; - extern template class num_put; - extern template class ctype_byname; - - extern template - const ctype* - __try_use_facet >(const locale&) noexcept; - - extern template - const numpunct* - __try_use_facet >(const locale&) noexcept; - - extern template - const num_put* - __try_use_facet >(const locale&) noexcept; - - extern template - const num_get* - __try_use_facet >(const locale&) noexcept; - - extern template - const ctype& - use_facet >(const locale&); - - extern template - const numpunct& - use_facet >(const locale&); - - extern template - const num_put& - use_facet >(const locale&); - - extern template - const num_get& - use_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - extern template - bool - has_facet >(const locale&); - - - - -} -# 2688 "/usr/include/c++/14.1.1/bits/locale_facets.h" 2 3 -# 38 "/usr/include/c++/14.1.1/bits/basic_ios.h" 2 3 - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - inline const _Facet& - __check_facet(const _Facet* __f) - { - if (!__f) - __throw_bad_cast(); - return *__f; - } -# 66 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - template - class basic_ios : public ios_base - { - - static_assert(is_same_v<_CharT, typename _Traits::char_type>); - - - public: - - - - - - - typedef _CharT char_type; - typedef typename _Traits::int_type int_type; - typedef typename _Traits::pos_type pos_type; - typedef typename _Traits::off_type off_type; - typedef _Traits traits_type; - - - - - - - typedef ctype<_CharT> __ctype_type; - typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> > - __num_put_type; - typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> > - __num_get_type; - - - - protected: - basic_ostream<_CharT, _Traits>* _M_tie; - mutable char_type _M_fill; - mutable bool _M_fill_init; - basic_streambuf<_CharT, _Traits>* _M_streambuf; - - - const __ctype_type* _M_ctype; - - const __num_put_type* _M_num_put; - - const __num_get_type* _M_num_get; - - public: -# 121 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - explicit operator bool() const - { return !this->fail(); } - - - - - - bool - operator!() const - { return this->fail(); } -# 140 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - iostate - rdstate() const - { return _M_streambuf_state; } -# 151 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - void - clear(iostate __state = goodbit); - - - - - - - - void - setstate(iostate __state) - { this->clear(this->rdstate() | __state); } - - - - - void - _M_setstate(iostate __state) - { - - - _M_streambuf_state |= __state; - if (this->exceptions() & __state) - throw; - } - - - - - - - - bool - good() const - { return this->rdstate() == 0; } - - - - - - - - bool - eof() const - { return (this->rdstate() & eofbit) != 0; } -# 204 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - bool - fail() const - { return (this->rdstate() & (badbit | failbit)) != 0; } - - - - - - - - bool - bad() const - { return (this->rdstate() & badbit) != 0; } -# 225 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - iostate - exceptions() const - { return _M_exception; } -# 260 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - void - exceptions(iostate __except) - { - _M_exception = __except; - this->clear(_M_streambuf_state); - } - - - - - - - - explicit - basic_ios(basic_streambuf<_CharT, _Traits>* __sb) - : ios_base(), _M_tie(0), _M_fill(), _M_fill_init(false), _M_streambuf(0), - _M_ctype(0), _M_num_put(0), _M_num_get(0) - { this->init(__sb); } - - - - - - - - virtual - ~basic_ios() { } -# 298 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - basic_ostream<_CharT, _Traits>* - tie() const - { return _M_tie; } -# 310 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - basic_ostream<_CharT, _Traits>* - tie(basic_ostream<_CharT, _Traits>* __tiestr) - { - basic_ostream<_CharT, _Traits>* __old = _M_tie; - _M_tie = __tiestr; - return __old; - } - - - - - - - - basic_streambuf<_CharT, _Traits>* - rdbuf() const - { return _M_streambuf; } -# 350 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - basic_streambuf<_CharT, _Traits>* - rdbuf(basic_streambuf<_CharT, _Traits>* __sb); -# 364 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - basic_ios& - copyfmt(const basic_ios& __rhs); - - - - - - - - char_type - fill() const - { - if (!_M_fill_init) - { - _M_fill = this->widen(' '); - _M_fill_init = true; - } - return _M_fill; - } -# 393 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - char_type - fill(char_type __ch) - { - char_type __old = this->fill(); - _M_fill = __ch; - return __old; - } -# 413 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - locale - imbue(const locale& __loc); -# 433 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - char - narrow(char_type __c, char __dfault) const - { return __check_facet(_M_ctype).narrow(__c, __dfault); } -# 452 "/usr/include/c++/14.1.1/bits/basic_ios.h" 3 - char_type - widen(char __c) const - { return __check_facet(_M_ctype).widen(__c); } - - protected: - - - - - - - - basic_ios() - : ios_base(), _M_tie(0), _M_fill(char_type()), _M_fill_init(false), - _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0) - { } - - - - - - - - void - init(basic_streambuf<_CharT, _Traits>* __sb); - - - basic_ios(const basic_ios&) = delete; - basic_ios& operator=(const basic_ios&) = delete; - - void - move(basic_ios& __rhs) - { - ios_base::_M_move(__rhs); - _M_cache_locale(_M_ios_locale); - this->tie(__rhs.tie(nullptr)); - _M_fill = __rhs._M_fill; - _M_fill_init = __rhs._M_fill_init; - _M_streambuf = nullptr; - } - - void - move(basic_ios&& __rhs) - { this->move(__rhs); } - - void - swap(basic_ios& __rhs) noexcept - { - ios_base::_M_swap(__rhs); - _M_cache_locale(_M_ios_locale); - __rhs._M_cache_locale(__rhs._M_ios_locale); - std::swap(_M_tie, __rhs._M_tie); - std::swap(_M_fill, __rhs._M_fill); - std::swap(_M_fill_init, __rhs._M_fill_init); - } - - void - set_rdbuf(basic_streambuf<_CharT, _Traits>* __sb) - { _M_streambuf = __sb; } - - - void - _M_cache_locale(const locale& __loc); - }; - - -} - -# 1 "/usr/include/c++/14.1.1/bits/basic_ios.tcc" 1 3 -# 33 "/usr/include/c++/14.1.1/bits/basic_ios.tcc" 3 - -# 34 "/usr/include/c++/14.1.1/bits/basic_ios.tcc" 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - void - basic_ios<_CharT, _Traits>::clear(iostate __state) - { - if (this->rdbuf()) - _M_streambuf_state = __state; - else - _M_streambuf_state = __state | badbit; - if (this->exceptions() & this->rdstate()) - __throw_ios_failure(("basic_ios::clear")); - } - - template - basic_streambuf<_CharT, _Traits>* - basic_ios<_CharT, _Traits>::rdbuf(basic_streambuf<_CharT, _Traits>* __sb) - { - basic_streambuf<_CharT, _Traits>* __old = _M_streambuf; - _M_streambuf = __sb; - this->clear(); - return __old; - } - - template - basic_ios<_CharT, _Traits>& - basic_ios<_CharT, _Traits>::copyfmt(const basic_ios& __rhs) - { - - - if (this != std::__addressof(__rhs)) - { - - - - - _Words* __words = (__rhs._M_word_size <= _S_local_word_size) ? - _M_local_word : new _Words[__rhs._M_word_size]; - - - _Callback_list* __cb = __rhs._M_callbacks; - if (__cb) - __cb->_M_add_reference(); - _M_call_callbacks(erase_event); - if (_M_word != _M_local_word) - { - delete [] _M_word; - _M_word = 0; - } - _M_dispose_callbacks(); - - - _M_callbacks = __cb; - for (int __i = 0; __i < __rhs._M_word_size; ++__i) - __words[__i] = __rhs._M_word[__i]; - _M_word = __words; - _M_word_size = __rhs._M_word_size; - - this->flags(__rhs.flags()); - this->width(__rhs.width()); - this->precision(__rhs.precision()); - this->tie(__rhs.tie()); - this->fill(__rhs.fill()); - _M_ios_locale = __rhs.getloc(); - _M_cache_locale(_M_ios_locale); - - _M_call_callbacks(copyfmt_event); - - - this->exceptions(__rhs.exceptions()); - } - return *this; - } - - - template - locale - basic_ios<_CharT, _Traits>::imbue(const locale& __loc) - { - locale __old(this->getloc()); - ios_base::imbue(__loc); - _M_cache_locale(__loc); - if (this->rdbuf() != 0) - this->rdbuf()->pubimbue(__loc); - return __old; - } - - template - void - basic_ios<_CharT, _Traits>::init(basic_streambuf<_CharT, _Traits>* __sb) - { - - ios_base::_M_init(); - - - _M_cache_locale(_M_ios_locale); -# 146 "/usr/include/c++/14.1.1/bits/basic_ios.tcc" 3 - _M_fill = _CharT(); - _M_fill_init = false; - - _M_tie = 0; - _M_exception = goodbit; - _M_streambuf = __sb; - _M_streambuf_state = __sb ? goodbit : badbit; - } - - template - void - basic_ios<_CharT, _Traits>::_M_cache_locale(const locale& __loc) - { - _M_ctype = std::__try_use_facet<__ctype_type>(__loc); - _M_num_put = std::__try_use_facet<__num_put_type>(__loc); - _M_num_get = std::__try_use_facet<__num_get_type>(__loc); - } - - - - - extern template class basic_ios; - - - extern template class basic_ios; - - - - -} -# 521 "/usr/include/c++/14.1.1/bits/basic_ios.h" 2 3 -# 47 "/usr/include/c++/14.1.1/ios" 2 3 - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 50 "/usr/include/c++/14.1.1/ios" 2 3 -# 41 "/usr/include/c++/14.1.1/ostream" 2 3 - - - - - - -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 48 "/usr/include/c++/14.1.1/ostream" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 65 "/usr/include/c++/14.1.1/ostream" 3 - template - class basic_ostream : virtual public basic_ios<_CharT, _Traits> - { - public: - - typedef _CharT char_type; - typedef typename _Traits::int_type int_type; - typedef typename _Traits::pos_type pos_type; - typedef typename _Traits::off_type off_type; - typedef _Traits traits_type; - - - typedef basic_streambuf<_CharT, _Traits> __streambuf_type; - typedef basic_ios<_CharT, _Traits> __ios_type; - typedef basic_ostream<_CharT, _Traits> __ostream_type; - typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> > - __num_put_type; - typedef ctype<_CharT> __ctype_type; -# 91 "/usr/include/c++/14.1.1/ostream" 3 - explicit - basic_ostream(__streambuf_type* __sb) - { this->init(__sb); } - - - - - - - virtual - ~basic_ostream() { } - - - class sentry; - friend class sentry; -# 115 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - operator<<(__ostream_type& (*__pf)(__ostream_type&)) - { - - - - return __pf(*this); - } - - __ostream_type& - operator<<(__ios_type& (*__pf)(__ios_type&)) - { - - - - __pf(*this); - return *this; - } - - __ostream_type& - operator<<(ios_base& (*__pf) (ios_base&)) - { - - - - __pf(*this); - return *this; - } -# 173 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - operator<<(long __n) - { return _M_insert(__n); } - - __ostream_type& - operator<<(unsigned long __n) - { return _M_insert(__n); } - - __ostream_type& - operator<<(bool __n) - { return _M_insert(__n); } - - __ostream_type& - operator<<(short __n); - - __ostream_type& - operator<<(unsigned short __n) - { - - - return _M_insert(static_cast(__n)); - } - - __ostream_type& - operator<<(int __n); - - __ostream_type& - operator<<(unsigned int __n) - { - - - return _M_insert(static_cast(__n)); - } - - - __ostream_type& - operator<<(long long __n) - { return _M_insert(__n); } - - __ostream_type& - operator<<(unsigned long long __n) - { return _M_insert(__n); } -# 227 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - operator<<(double __f) - { return _M_insert(__f); } - - __ostream_type& - operator<<(float __f) - { - - - return _M_insert(static_cast(__f)); - } - - __ostream_type& - operator<<(long double __f) - { return _M_insert(__f); } -# 297 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - operator<<(const void* __p) - { return _M_insert(__p); } - - - __ostream_type& - operator<<(nullptr_t) - { return *this << "nullptr"; } -# 335 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - operator<<(__streambuf_type* __sb); -# 368 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - put(char_type __c); -# 387 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - write(const char_type* __s, streamsize __n); -# 400 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - flush(); -# 410 "/usr/include/c++/14.1.1/ostream" 3 - pos_type - tellp(); -# 421 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - seekp(pos_type); -# 433 "/usr/include/c++/14.1.1/ostream" 3 - __ostream_type& - seekp(off_type, ios_base::seekdir); - - protected: - basic_ostream() - { this->init(0); } - - - - basic_ostream(basic_iostream<_CharT, _Traits>&) { } - - basic_ostream(const basic_ostream&) = delete; - - basic_ostream(basic_ostream&& __rhs) - : __ios_type() - { __ios_type::move(__rhs); } - - - - basic_ostream& operator=(const basic_ostream&) = delete; - - basic_ostream& - operator=(basic_ostream&& __rhs) - { - swap(__rhs); - return *this; - } - - void - swap(basic_ostream& __rhs) - { __ios_type::swap(__rhs); } - - - template - __ostream_type& - _M_insert(_ValueT __v); - - private: - - void - _M_write(const char_type* __s, streamsize __n) - { std::__ostream_insert(*this, __s, __n); } - - }; -# 485 "/usr/include/c++/14.1.1/ostream" 3 - template - class basic_ostream<_CharT, _Traits>::sentry - { - - bool _M_ok; - basic_ostream<_CharT, _Traits>& _M_os; - - public: -# 504 "/usr/include/c++/14.1.1/ostream" 3 - explicit - sentry(basic_ostream<_CharT, _Traits>& __os); - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - - - - - - - - ~sentry() - { - - if (bool(_M_os.flags() & ios_base::unitbuf) && !uncaught_exception()) - { - - if (_M_os.rdbuf() && _M_os.rdbuf()->pubsync() == -1) - _M_os.setstate(ios_base::badbit); - } - } -#pragma GCC diagnostic pop -# 536 "/usr/include/c++/14.1.1/ostream" 3 - explicit - - operator bool() const - { return _M_ok; } - }; -# 558 "/usr/include/c++/14.1.1/ostream" 3 - template - inline basic_ostream<_CharT, _Traits>& - operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c) - { - if (__out.width() != 0) - return __ostream_insert(__out, &__c, 1); - __out.put(__c); - return __out; - } - - template - inline basic_ostream<_CharT, _Traits>& - operator<<(basic_ostream<_CharT, _Traits>& __out, char __c) - { return (__out << __out.widen(__c)); } - - - template - inline basic_ostream& - operator<<(basic_ostream& __out, char __c) - { - if (__out.width() != 0) - return __ostream_insert(__out, &__c, 1); - __out.put(__c); - return __out; - } - - - template - inline basic_ostream& - operator<<(basic_ostream& __out, signed char __c) - { return (__out << static_cast(__c)); } - - template - inline basic_ostream& - operator<<(basic_ostream& __out, unsigned char __c) - { return (__out << static_cast(__c)); } - - - - - - template - basic_ostream& - operator<<(basic_ostream&, wchar_t) = delete; - - - template - basic_ostream& - operator<<(basic_ostream&, char8_t) = delete; - - - template - basic_ostream& - operator<<(basic_ostream&, char16_t) = delete; - - template - basic_ostream& - operator<<(basic_ostream&, char32_t) = delete; - - - - template - basic_ostream& - operator<<(basic_ostream&, char8_t) = delete; - - - template - basic_ostream& - operator<<(basic_ostream&, char16_t) = delete; - - template - basic_ostream& - operator<<(basic_ostream&, char32_t) = delete; -# 649 "/usr/include/c++/14.1.1/ostream" 3 - template - inline basic_ostream<_CharT, _Traits>& - operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s) - { - if (!__s) - __out.setstate(ios_base::badbit); - else - __ostream_insert(__out, __s, - static_cast(_Traits::length(__s))); - return __out; - } - - template - basic_ostream<_CharT, _Traits> & - operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s); - - - template - inline basic_ostream& - operator<<(basic_ostream& __out, const char* __s) - { - if (!__s) - __out.setstate(ios_base::badbit); - else - __ostream_insert(__out, __s, - static_cast(_Traits::length(__s))); - return __out; - } - - - template - inline basic_ostream& - operator<<(basic_ostream& __out, const signed char* __s) - { return (__out << reinterpret_cast(__s)); } - - template - inline basic_ostream & - operator<<(basic_ostream& __out, const unsigned char* __s) - { return (__out << reinterpret_cast(__s)); } - - - - - - template - basic_ostream& - operator<<(basic_ostream&, const wchar_t*) = delete; - - - template - basic_ostream& - operator<<(basic_ostream&, const char8_t*) = delete; - - - template - basic_ostream& - operator<<(basic_ostream&, const char16_t*) = delete; - - template - basic_ostream& - operator<<(basic_ostream&, const char32_t*) = delete; - - - - template - basic_ostream& - operator<<(basic_ostream&, const char8_t*) = delete; - - - template - basic_ostream& - operator<<(basic_ostream&, const char16_t*) = delete; - - template - basic_ostream& - operator<<(basic_ostream&, const char32_t*) = delete; -# 739 "/usr/include/c++/14.1.1/ostream" 3 - template - inline basic_ostream<_CharT, _Traits>& - endl(basic_ostream<_CharT, _Traits>& __os) - { return flush(__os.put(__os.widen('\n'))); } -# 751 "/usr/include/c++/14.1.1/ostream" 3 - template - inline basic_ostream<_CharT, _Traits>& - ends(basic_ostream<_CharT, _Traits>& __os) - { return __os.put(_CharT()); } - - - - - - - template - inline basic_ostream<_CharT, _Traits>& - flush(basic_ostream<_CharT, _Traits>& __os) - { return __os.flush(); } -# 773 "/usr/include/c++/14.1.1/ostream" 3 - template - concept __derived_from_ios_base = is_class_v<_Tp> - && (!is_same_v<_Tp, ios_base>) - && requires (_Tp* __t, ios_base* __b) { __b = __t; }; - - template - requires __derived_from_ios_base<_Os> - && requires (_Os& __os, const _Tp& __t) { __os << __t; } - using __rvalue_stream_insertion_t = _Os&&; -# 805 "/usr/include/c++/14.1.1/ostream" 3 - template - inline __rvalue_stream_insertion_t<_Ostream, _Tp> - operator<<(_Ostream&& __os, const _Tp& __x) - { - __os << __x; - return std::move(__os); - } - - - template - class __syncbuf_base : public basic_streambuf<_CharT, _Traits> - { - public: - static bool* - _S_get(basic_streambuf<_CharT, _Traits>* __buf [[maybe_unused]]) noexcept - { - - if (auto __p = dynamic_cast<__syncbuf_base*>(__buf)) - return &__p->_M_emit_on_sync; - - return nullptr; - } - - protected: - __syncbuf_base(basic_streambuf<_CharT, _Traits>* __w = nullptr) - : _M_wrapped(__w) - { } - - basic_streambuf<_CharT, _Traits>* _M_wrapped = nullptr; - bool _M_emit_on_sync = false; - bool _M_needs_sync = false; - }; - - template - inline basic_ostream<_CharT, _Traits>& - emit_on_flush(basic_ostream<_CharT, _Traits>& __os) - { - if (bool* __flag = __syncbuf_base<_CharT, _Traits>::_S_get(__os.rdbuf())) - *__flag = true; - return __os; - } - - template - inline basic_ostream<_CharT, _Traits>& - noemit_on_flush(basic_ostream<_CharT, _Traits>& __os) - { - if (bool* __flag = __syncbuf_base<_CharT, _Traits>::_S_get(__os.rdbuf())) - *__flag = false; - return __os; - } - - template - inline basic_ostream<_CharT, _Traits>& - flush_emit(basic_ostream<_CharT, _Traits>& __os) - { - struct _Restore - { - ~_Restore() { *_M_flag = _M_prev; } - - bool _M_prev = false; - bool* _M_flag = &_M_prev; - } __restore; - - if (bool* __flag = __syncbuf_base<_CharT, _Traits>::_S_get(__os.rdbuf())) - { - __restore._M_prev = *__flag; - __restore._M_flag = __flag; - *__flag = true; - } - - __os.flush(); - return __os; - } -# 1014 "/usr/include/c++/14.1.1/ostream" 3 - -} - -# 1 "/usr/include/c++/14.1.1/bits/ostream.tcc" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/ostream.tcc" 3 - -# 38 "/usr/include/c++/14.1.1/bits/ostream.tcc" 3 - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - basic_ostream<_CharT, _Traits>::sentry:: - sentry(basic_ostream<_CharT, _Traits>& __os) - : _M_ok(false), _M_os(__os) - { - - if (__os.tie() && __os.good()) - __os.tie()->flush(); - - if (__os.good()) - _M_ok = true; - else if (__os.bad()) - __os.setstate(ios_base::failbit); - } - - template - template - basic_ostream<_CharT, _Traits>& - basic_ostream<_CharT, _Traits>:: - _M_insert(_ValueT __v) - { - sentry __cerb(*this); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - - const __num_put_type& __np = __check_facet(this->_M_num_put); - - - - - if (__np.put(*this, *this, this->fill(), __v).failed()) - __err |= ios_base::badbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - basic_ostream<_CharT, _Traits>& - basic_ostream<_CharT, _Traits>:: - operator<<(short __n) - { - - - const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield; - if (__fmt == ios_base::oct || __fmt == ios_base::hex) - return _M_insert(static_cast(static_cast(__n))); - else - return _M_insert(static_cast(__n)); - } - - template - basic_ostream<_CharT, _Traits>& - basic_ostream<_CharT, _Traits>:: - operator<<(int __n) - { - - - const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield; - if (__fmt == ios_base::oct || __fmt == ios_base::hex) - return _M_insert(static_cast(static_cast(__n))); - else - return _M_insert(static_cast(__n)); - } - - template - basic_ostream<_CharT, _Traits>& - basic_ostream<_CharT, _Traits>:: - operator<<(__streambuf_type* __sbin) - { - ios_base::iostate __err = ios_base::goodbit; - sentry __cerb(*this); - if (__cerb && __sbin) - { - try - { - if (!__copy_streambufs(__sbin, this->rdbuf())) - __err |= ios_base::failbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::failbit); } - } - else if (!__sbin) - __err |= ios_base::badbit; - if (__err) - this->setstate(__err); - return *this; - } - - template - basic_ostream<_CharT, _Traits>& - basic_ostream<_CharT, _Traits>:: - put(char_type __c) - { - - - - - - - sentry __cerb(*this); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - const int_type __put = this->rdbuf()->sputc(__c); - if (traits_type::eq_int_type(__put, traits_type::eof())) - __err |= ios_base::badbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - basic_ostream<_CharT, _Traits>& - basic_ostream<_CharT, _Traits>:: - write(const _CharT* __s, streamsize __n) - { - - - - - - - - sentry __cerb(*this); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - if (this->rdbuf()->sputn(__s, __n) != __n) - __err = ios_base::badbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(ios_base::badbit); - } - return *this; - } - - template - basic_ostream<_CharT, _Traits>& - basic_ostream<_CharT, _Traits>:: - flush() - { - - - - - - if (__streambuf_type* __buf = this->rdbuf()) - { - sentry __cerb(*this); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - if (this->rdbuf()->pubsync() == -1) - __err |= ios_base::badbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - } - return *this; - } - - template - typename basic_ostream<_CharT, _Traits>::pos_type - basic_ostream<_CharT, _Traits>:: - tellp() - { - sentry __cerb(*this); - pos_type __ret = pos_type(-1); - if (!this->fail()) - __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::out); - return __ret; - } - - template - basic_ostream<_CharT, _Traits>& - basic_ostream<_CharT, _Traits>:: - seekp(pos_type __pos) - { - sentry __cerb(*this); - if (!this->fail()) - { - - - const pos_type __p = this->rdbuf()->pubseekpos(__pos, ios_base::out); - - - if (__p == pos_type(off_type(-1))) - this->setstate(ios_base::failbit); - } - return *this; - } - - template - basic_ostream<_CharT, _Traits>& - basic_ostream<_CharT, _Traits>:: - seekp(off_type __off, ios_base::seekdir __dir) - { - sentry __cerb(*this); - if (!this->fail()) - { - - - const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir, - ios_base::out); - - - if (__p == pos_type(off_type(-1))) - this->setstate(ios_base::failbit); - } - return *this; - } - - template - basic_ostream<_CharT, _Traits>& - operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s) - { - if (!__s) - __out.setstate(ios_base::badbit); - else - { - - - const size_t __clen = char_traits::length(__s); - try - { - struct __ptr_guard - { - _CharT *__p; - __ptr_guard (_CharT *__ip): __p(__ip) { } - ~__ptr_guard() { delete[] __p; } - _CharT* __get() { return __p; } - } __pg (new _CharT[__clen]); - - _CharT *__ws = __pg.__get(); - for (size_t __i = 0; __i < __clen; ++__i) - __ws[__i] = __out.widen(__s[__i]); - __ostream_insert(__out, __ws, __clen); - } - catch(__cxxabiv1::__forced_unwind&) - { - __out._M_setstate(ios_base::badbit); - throw; - } - catch(...) - { __out._M_setstate(ios_base::badbit); } - } - return __out; - } - - - - - extern template class basic_ostream; - extern template ostream& endl(ostream&); - extern template ostream& ends(ostream&); - extern template ostream& flush(ostream&); - extern template ostream& operator<<(ostream&, char); - extern template ostream& operator<<(ostream&, unsigned char); - extern template ostream& operator<<(ostream&, signed char); - extern template ostream& operator<<(ostream&, const char*); - extern template ostream& operator<<(ostream&, const unsigned char*); - extern template ostream& operator<<(ostream&, const signed char*); - - extern template ostream& ostream::_M_insert(long); - extern template ostream& ostream::_M_insert(unsigned long); - extern template ostream& ostream::_M_insert(bool); - - extern template ostream& ostream::_M_insert(long long); - extern template ostream& ostream::_M_insert(unsigned long long); - - extern template ostream& ostream::_M_insert(double); - extern template ostream& ostream::_M_insert(long double); - extern template ostream& ostream::_M_insert(const void*); - - - extern template class basic_ostream; - extern template wostream& endl(wostream&); - extern template wostream& ends(wostream&); - extern template wostream& flush(wostream&); - extern template wostream& operator<<(wostream&, wchar_t); - extern template wostream& operator<<(wostream&, char); - extern template wostream& operator<<(wostream&, const wchar_t*); - extern template wostream& operator<<(wostream&, const char*); - - extern template wostream& wostream::_M_insert(long); - extern template wostream& wostream::_M_insert(unsigned long); - extern template wostream& wostream::_M_insert(bool); - - extern template wostream& wostream::_M_insert(long long); - extern template wostream& wostream::_M_insert(unsigned long long); - - extern template wostream& wostream::_M_insert(double); - extern template wostream& wostream::_M_insert(long double); - extern template wostream& wostream::_M_insert(const void*); - - - - -} -# 1018 "/usr/include/c++/14.1.1/ostream" 2 3 -# 42 "/usr/include/c++/14.1.1/iostream" 2 3 -# 1 "/usr/include/c++/14.1.1/istream" 1 3 -# 36 "/usr/include/c++/14.1.1/istream" 3 - -# 37 "/usr/include/c++/14.1.1/istream" 3 - - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 59 "/usr/include/c++/14.1.1/istream" 3 - template - class basic_istream : virtual public basic_ios<_CharT, _Traits> - { - public: - - typedef _CharT char_type; - typedef typename _Traits::int_type int_type; - typedef typename _Traits::pos_type pos_type; - typedef typename _Traits::off_type off_type; - typedef _Traits traits_type; - - - typedef basic_streambuf<_CharT, _Traits> __streambuf_type; - typedef basic_ios<_CharT, _Traits> __ios_type; - typedef basic_istream<_CharT, _Traits> __istream_type; - typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> > - __num_get_type; - typedef ctype<_CharT> __ctype_type; - - protected: - - - - - - streamsize _M_gcount; - - public: - - - - - - - - explicit - basic_istream(__streambuf_type* __sb) - : _M_gcount(streamsize(0)) - { this->init(__sb); } - - - - - - - virtual - ~basic_istream() - { _M_gcount = streamsize(0); } - - - class sentry; - friend class sentry; -# 121 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - operator>>(__istream_type& (*__pf)(__istream_type&)) - { return __pf(*this); } - - __istream_type& - operator>>(__ios_type& (*__pf)(__ios_type&)) - { - __pf(*this); - return *this; - } - - __istream_type& - operator>>(ios_base& (*__pf)(ios_base&)) - { - __pf(*this); - return *this; - } -# 169 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - operator>>(bool& __n) - { return _M_extract(__n); } - - __istream_type& - operator>>(short& __n); - - __istream_type& - operator>>(unsigned short& __n) - { return _M_extract(__n); } - - __istream_type& - operator>>(int& __n); - - __istream_type& - operator>>(unsigned int& __n) - { return _M_extract(__n); } - - __istream_type& - operator>>(long& __n) - { return _M_extract(__n); } - - __istream_type& - operator>>(unsigned long& __n) - { return _M_extract(__n); } - - - __istream_type& - operator>>(long long& __n) - { return _M_extract(__n); } - - __istream_type& - operator>>(unsigned long long& __n) - { return _M_extract(__n); } -# 215 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - operator>>(float& __f) - { return _M_extract(__f); } - - __istream_type& - operator>>(double& __f) - { return _M_extract(__f); } - - __istream_type& - operator>>(long double& __f) - { return _M_extract(__f); } -# 324 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - operator>>(void*& __p) - { return _M_extract(__p); } -# 348 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - operator>>(__streambuf_type* __sb); -# 358 "/usr/include/c++/14.1.1/istream" 3 - streamsize - gcount() const - { return _M_gcount; } -# 391 "/usr/include/c++/14.1.1/istream" 3 - int_type - get(); -# 405 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - get(char_type& __c); -# 432 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - get(char_type* __s, streamsize __n, char_type __delim); -# 443 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - get(char_type* __s, streamsize __n) - { return this->get(__s, __n, this->widen('\n')); } -# 466 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - get(__streambuf_type& __sb, char_type __delim); -# 476 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - get(__streambuf_type& __sb) - { return this->get(__sb, this->widen('\n')); } -# 505 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - getline(char_type* __s, streamsize __n, char_type __delim); -# 516 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - getline(char_type* __s, streamsize __n) - { return this->getline(__s, __n, this->widen('\n')); } -# 540 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - ignore(streamsize __n, int_type __delim); - - __istream_type& - ignore(streamsize __n); - - __istream_type& - ignore(); -# 557 "/usr/include/c++/14.1.1/istream" 3 - int_type - peek(); -# 575 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - read(char_type* __s, streamsize __n); -# 594 "/usr/include/c++/14.1.1/istream" 3 - streamsize - readsome(char_type* __s, streamsize __n); -# 611 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - putback(char_type __c); -# 627 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - unget(); -# 645 "/usr/include/c++/14.1.1/istream" 3 - int - sync(); -# 660 "/usr/include/c++/14.1.1/istream" 3 - pos_type - tellg(); -# 675 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - seekg(pos_type); -# 691 "/usr/include/c++/14.1.1/istream" 3 - __istream_type& - seekg(off_type, ios_base::seekdir); - - - protected: - basic_istream() - : _M_gcount(streamsize(0)) - { this->init(0); } - - - basic_istream(const basic_istream&) = delete; - - basic_istream(basic_istream&& __rhs) - : __ios_type(), _M_gcount(__rhs._M_gcount) - { - __ios_type::move(__rhs); - __rhs._M_gcount = 0; - } - - - - basic_istream& operator=(const basic_istream&) = delete; - - basic_istream& - operator=(basic_istream&& __rhs) - { - swap(__rhs); - return *this; - } - - void - swap(basic_istream& __rhs) - { - __ios_type::swap(__rhs); - std::swap(_M_gcount, __rhs._M_gcount); - } - - - template - __istream_type& - _M_extract(_ValueT& __v); - }; - - - template<> - basic_istream& - basic_istream:: - getline(char_type* __s, streamsize __n, char_type __delim); - - template<> - basic_istream& - basic_istream:: - ignore(streamsize __n); - - template<> - basic_istream& - basic_istream:: - ignore(streamsize __n, int_type __delim); - - - template<> - basic_istream& - basic_istream:: - getline(char_type* __s, streamsize __n, char_type __delim); - - template<> - basic_istream& - basic_istream:: - ignore(streamsize __n); - - template<> - basic_istream& - basic_istream:: - ignore(streamsize __n, int_type __delim); -# 775 "/usr/include/c++/14.1.1/istream" 3 - template - class basic_istream<_CharT, _Traits>::sentry - { - - bool _M_ok; - - public: - - typedef _Traits traits_type; - typedef basic_streambuf<_CharT, _Traits> __streambuf_type; - typedef basic_istream<_CharT, _Traits> __istream_type; - typedef typename __istream_type::__ctype_type __ctype_type; - typedef typename _Traits::int_type __int_type; -# 811 "/usr/include/c++/14.1.1/istream" 3 - explicit - sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false); -# 822 "/usr/include/c++/14.1.1/istream" 3 - explicit - - operator bool() const - { return _M_ok; } - }; -# 840 "/usr/include/c++/14.1.1/istream" 3 - template - basic_istream<_CharT, _Traits>& - operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c); - - template - inline basic_istream& - operator>>(basic_istream& __in, unsigned char& __c) - { return (__in >> reinterpret_cast(__c)); } - - template - inline basic_istream& - operator>>(basic_istream& __in, signed char& __c) - { return (__in >> reinterpret_cast(__c)); } - - - - template - void - __istream_extract(basic_istream<_CharT, _Traits>&, _CharT*, streamsize); - - void __istream_extract(istream&, char*, streamsize); -# 947 "/usr/include/c++/14.1.1/istream" 3 - template - inline basic_istream<_CharT, _Traits>& - operator>>(basic_istream<_CharT, _Traits>& __in, _CharT (&__s)[_Num]) - { - static_assert(_Num <= __gnu_cxx::__numeric_traits::__max); - std::__istream_extract(__in, __s, _Num); - return __in; - } - - template - inline basic_istream& - operator>>(basic_istream& __in, unsigned char (&__s)[_Num]) - { return __in >> reinterpret_cast(__s); } - - template - inline basic_istream& - operator>>(basic_istream& __in, signed char (&__s)[_Num]) - { return __in >> reinterpret_cast(__s); } -# 979 "/usr/include/c++/14.1.1/istream" 3 - template - class basic_iostream - : public basic_istream<_CharT, _Traits>, - public basic_ostream<_CharT, _Traits> - { - public: - - - - typedef _CharT char_type; - typedef typename _Traits::int_type int_type; - typedef typename _Traits::pos_type pos_type; - typedef typename _Traits::off_type off_type; - typedef _Traits traits_type; - - - typedef basic_istream<_CharT, _Traits> __istream_type; - typedef basic_ostream<_CharT, _Traits> __ostream_type; - - - - - - - - explicit - basic_iostream(basic_streambuf<_CharT, _Traits>* __sb) - : __istream_type(__sb), __ostream_type(__sb) { } - - - - - virtual - ~basic_iostream() { } - - protected: - basic_iostream() - : __istream_type(), __ostream_type() { } - - - basic_iostream(const basic_iostream&) = delete; - - basic_iostream(basic_iostream&& __rhs) - : __istream_type(std::move(__rhs)), __ostream_type(*this) - { } - - - - basic_iostream& operator=(const basic_iostream&) = delete; - - basic_iostream& - operator=(basic_iostream&& __rhs) - { - swap(__rhs); - return *this; - } - - void - swap(basic_iostream& __rhs) - { __istream_type::swap(__rhs); } - - }; -# 1062 "/usr/include/c++/14.1.1/istream" 3 - template - basic_istream<_CharT, _Traits>& - ws(basic_istream<_CharT, _Traits>& __is); -# 1073 "/usr/include/c++/14.1.1/istream" 3 - template - requires __derived_from_ios_base<_Is> - && requires (_Is& __is, _Tp&& __t) { __is >> std::forward<_Tp>(__t); } - using __rvalue_stream_extraction_t = _Is&&; -# 1094 "/usr/include/c++/14.1.1/istream" 3 - template - inline __rvalue_stream_extraction_t<_Istream, _Tp> - operator>>(_Istream&& __is, _Tp&& __x) - { - __is >> std::forward<_Tp>(__x); - return std::move(__is); - } - - - -} - -# 1 "/usr/include/c++/14.1.1/bits/istream.tcc" 1 3 -# 37 "/usr/include/c++/14.1.1/bits/istream.tcc" 3 - -# 38 "/usr/include/c++/14.1.1/bits/istream.tcc" 3 - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - basic_istream<_CharT, _Traits>::sentry:: - sentry(basic_istream<_CharT, _Traits>& __in, bool __noskip) : _M_ok(false) - { - ios_base::iostate __err = ios_base::goodbit; - if (__in.good()) - { - try - { - if (__in.tie()) - __in.tie()->flush(); - if (!__noskip && bool(__in.flags() & ios_base::skipws)) - { - const __int_type __eof = traits_type::eof(); - __streambuf_type* __sb = __in.rdbuf(); - __int_type __c = __sb->sgetc(); - - const __ctype_type& __ct = __check_facet(__in._M_ctype); - while (!traits_type::eq_int_type(__c, __eof) - && __ct.is(ctype_base::space, - traits_type::to_char_type(__c))) - __c = __sb->snextc(); - - - - - if (traits_type::eq_int_type(__c, __eof)) - __err |= ios_base::eofbit; - } - } - catch(__cxxabiv1::__forced_unwind&) - { - __in._M_setstate(ios_base::badbit); - throw; - } - catch(...) - { __in._M_setstate(ios_base::badbit); } - } - - if (__in.good() && __err == ios_base::goodbit) - _M_ok = true; - else - { - __err |= ios_base::failbit; - __in.setstate(__err); - } - } - - template - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - _M_extract(_ValueT& __v) - { - sentry __cerb(*this, false); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - - const __num_get_type& __ng = __check_facet(this->_M_num_get); - - - - - __ng.get(*this, 0, *this, __err, __v); - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - operator>>(short& __n) - { - - - sentry __cerb(*this, false); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - long __l; - - const __num_get_type& __ng = __check_facet(this->_M_num_get); - - - - - __ng.get(*this, 0, *this, __err, __l); - - - - if (__l < __gnu_cxx::__numeric_traits::__min) - { - __err |= ios_base::failbit; - __n = __gnu_cxx::__numeric_traits::__min; - } - else if (__l > __gnu_cxx::__numeric_traits::__max) - { - __err |= ios_base::failbit; - __n = __gnu_cxx::__numeric_traits::__max; - } - else - __n = short(__l); - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - operator>>(int& __n) - { - - - sentry __cerb(*this, false); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - long __l; - - const __num_get_type& __ng = __check_facet(this->_M_num_get); - - - - - __ng.get(*this, 0, *this, __err, __l); - - - - if (__l < __gnu_cxx::__numeric_traits::__min) - { - __err |= ios_base::failbit; - __n = __gnu_cxx::__numeric_traits::__min; - } - else if (__l > __gnu_cxx::__numeric_traits::__max) - { - __err |= ios_base::failbit; - __n = __gnu_cxx::__numeric_traits::__max; - } - else - __n = int(__l); - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - operator>>(__streambuf_type* __sbout) - { - ios_base::iostate __err = ios_base::goodbit; - sentry __cerb(*this, false); - if (__cerb && __sbout) - { - try - { - bool __ineof; - if (!__copy_streambufs_eof(this->rdbuf(), __sbout, __ineof)) - __err |= ios_base::failbit; - if (__ineof) - __err |= ios_base::eofbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::failbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::failbit); } - } - else if (!__sbout) - __err |= ios_base::failbit; - if (__err) - this->setstate(__err); - return *this; - } - - template - typename basic_istream<_CharT, _Traits>::int_type - basic_istream<_CharT, _Traits>:: - get(void) - { - const int_type __eof = traits_type::eof(); - int_type __c = __eof; - _M_gcount = 0; - ios_base::iostate __err = ios_base::goodbit; - sentry __cerb(*this, true); - if (__cerb) - { - try - { - __c = this->rdbuf()->sbumpc(); - - if (!traits_type::eq_int_type(__c, __eof)) - _M_gcount = 1; - else - __err |= ios_base::eofbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - } - if (!_M_gcount) - __err |= ios_base::failbit; - if (__err) - this->setstate(__err); - return __c; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - get(char_type& __c) - { - _M_gcount = 0; - ios_base::iostate __err = ios_base::goodbit; - sentry __cerb(*this, true); - if (__cerb) - { - try - { - const int_type __cb = this->rdbuf()->sbumpc(); - - if (!traits_type::eq_int_type(__cb, traits_type::eof())) - { - _M_gcount = 1; - __c = traits_type::to_char_type(__cb); - } - else - __err |= ios_base::eofbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - } - if (!_M_gcount) - __err |= ios_base::failbit; - if (__err) - this->setstate(__err); - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - get(char_type* __s, streamsize __n, char_type __delim) - { - _M_gcount = 0; - ios_base::iostate __err = ios_base::goodbit; - sentry __cerb(*this, true); - if (__cerb) - { - try - { - const int_type __idelim = traits_type::to_int_type(__delim); - const int_type __eof = traits_type::eof(); - __streambuf_type* __sb = this->rdbuf(); - int_type __c = __sb->sgetc(); - - while (_M_gcount + 1 < __n - && !traits_type::eq_int_type(__c, __eof) - && !traits_type::eq_int_type(__c, __idelim)) - { - *__s++ = traits_type::to_char_type(__c); - ++_M_gcount; - __c = __sb->snextc(); - } - if (traits_type::eq_int_type(__c, __eof)) - __err |= ios_base::eofbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - } - - - if (__n > 0) - *__s = char_type(); - if (!_M_gcount) - __err |= ios_base::failbit; - if (__err) - this->setstate(__err); - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - get(__streambuf_type& __sb, char_type __delim) - { - _M_gcount = 0; - ios_base::iostate __err = ios_base::goodbit; - sentry __cerb(*this, true); - if (__cerb) - { - try - { - const int_type __idelim = traits_type::to_int_type(__delim); - const int_type __eof = traits_type::eof(); - __streambuf_type* __this_sb = this->rdbuf(); - int_type __c = __this_sb->sgetc(); - char_type __c2 = traits_type::to_char_type(__c); - unsigned long long __gcount = 0; - - while (!traits_type::eq_int_type(__c, __eof) - && !traits_type::eq_int_type(__c, __idelim) - && !traits_type::eq_int_type(__sb.sputc(__c2), __eof)) - { - ++__gcount; - __c = __this_sb->snextc(); - __c2 = traits_type::to_char_type(__c); - } - if (traits_type::eq_int_type(__c, __eof)) - __err |= ios_base::eofbit; - - - if (__gcount <= __gnu_cxx::__numeric_traits::__max) - _M_gcount = __gcount; - else - _M_gcount = __gnu_cxx::__numeric_traits::__max; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - } - if (!_M_gcount) - __err |= ios_base::failbit; - if (__err) - this->setstate(__err); - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - getline(char_type* __s, streamsize __n, char_type __delim) - { - _M_gcount = 0; - ios_base::iostate __err = ios_base::goodbit; - sentry __cerb(*this, true); - if (__cerb) - { - try - { - const int_type __idelim = traits_type::to_int_type(__delim); - const int_type __eof = traits_type::eof(); - __streambuf_type* __sb = this->rdbuf(); - int_type __c = __sb->sgetc(); - - while (_M_gcount + 1 < __n - && !traits_type::eq_int_type(__c, __eof) - && !traits_type::eq_int_type(__c, __idelim)) - { - *__s++ = traits_type::to_char_type(__c); - __c = __sb->snextc(); - ++_M_gcount; - } - if (traits_type::eq_int_type(__c, __eof)) - __err |= ios_base::eofbit; - else - { - if (traits_type::eq_int_type(__c, __idelim)) - { - __sb->sbumpc(); - ++_M_gcount; - } - else - __err |= ios_base::failbit; - } - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - } - - - if (__n > 0) - *__s = char_type(); - if (!_M_gcount) - __err |= ios_base::failbit; - if (__err) - this->setstate(__err); - return *this; - } - - - - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - ignore(void) - { - _M_gcount = 0; - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - const int_type __eof = traits_type::eof(); - __streambuf_type* __sb = this->rdbuf(); - - if (traits_type::eq_int_type(__sb->sbumpc(), __eof)) - __err |= ios_base::eofbit; - else - _M_gcount = 1; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - ignore(streamsize __n) - { - _M_gcount = 0; - sentry __cerb(*this, true); - if (__cerb && __n > 0) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - const int_type __eof = traits_type::eof(); - __streambuf_type* __sb = this->rdbuf(); - int_type __c = __sb->sgetc(); -# 545 "/usr/include/c++/14.1.1/bits/istream.tcc" 3 - bool __large_ignore = false; - while (true) - { - while (_M_gcount < __n - && !traits_type::eq_int_type(__c, __eof)) - { - ++_M_gcount; - __c = __sb->snextc(); - } - if (__n == __gnu_cxx::__numeric_traits::__max - && !traits_type::eq_int_type(__c, __eof)) - { - _M_gcount = - __gnu_cxx::__numeric_traits::__min; - __large_ignore = true; - } - else - break; - } - - if (__n == __gnu_cxx::__numeric_traits::__max) - { - if (__large_ignore) - _M_gcount = __gnu_cxx::__numeric_traits::__max; - - if (traits_type::eq_int_type(__c, __eof)) - __err |= ios_base::eofbit; - } - else if (_M_gcount < __n) - { - if (traits_type::eq_int_type(__c, __eof)) - __err |= ios_base::eofbit; - } - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - ignore(streamsize __n, int_type __delim) - { - _M_gcount = 0; - sentry __cerb(*this, true); - if (__cerb && __n > 0) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - const int_type __eof = traits_type::eof(); - __streambuf_type* __sb = this->rdbuf(); - int_type __c = __sb->sgetc(); - - - bool __large_ignore = false; - while (true) - { - while (_M_gcount < __n - && !traits_type::eq_int_type(__c, __eof) - && !traits_type::eq_int_type(__c, __delim)) - { - ++_M_gcount; - __c = __sb->snextc(); - } - if (__n == __gnu_cxx::__numeric_traits::__max - && !traits_type::eq_int_type(__c, __eof) - && !traits_type::eq_int_type(__c, __delim)) - { - _M_gcount = - __gnu_cxx::__numeric_traits::__min; - __large_ignore = true; - } - else - break; - } - - if (__n == __gnu_cxx::__numeric_traits::__max) - { - if (__large_ignore) - _M_gcount = __gnu_cxx::__numeric_traits::__max; - - if (traits_type::eq_int_type(__c, __eof)) - __err |= ios_base::eofbit; - else - { - if (_M_gcount != __n) - ++_M_gcount; - __sb->sbumpc(); - } - } - else if (_M_gcount < __n) - { - if (traits_type::eq_int_type(__c, __eof)) - __err |= ios_base::eofbit; - else - { - ++_M_gcount; - __sb->sbumpc(); - } - } - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - typename basic_istream<_CharT, _Traits>::int_type - basic_istream<_CharT, _Traits>:: - peek(void) - { - int_type __c = traits_type::eof(); - _M_gcount = 0; - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - __c = this->rdbuf()->sgetc(); - if (traits_type::eq_int_type(__c, traits_type::eof())) - __err |= ios_base::eofbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return __c; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - read(char_type* __s, streamsize __n) - { - _M_gcount = 0; - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - _M_gcount = this->rdbuf()->sgetn(__s, __n); - if (_M_gcount != __n) - __err |= (ios_base::eofbit | ios_base::failbit); - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - streamsize - basic_istream<_CharT, _Traits>:: - readsome(char_type* __s, streamsize __n) - { - _M_gcount = 0; - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - - const streamsize __num = this->rdbuf()->in_avail(); - if (__num > 0) - _M_gcount = this->rdbuf()->sgetn(__s, std::min(__num, __n)); - else if (__num == -1) - __err |= ios_base::eofbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return _M_gcount; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - putback(char_type __c) - { - - - _M_gcount = 0; - - this->clear(this->rdstate() & ~ios_base::eofbit); - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - const int_type __eof = traits_type::eof(); - __streambuf_type* __sb = this->rdbuf(); - if (!__sb - || traits_type::eq_int_type(__sb->sputbackc(__c), __eof)) - __err |= ios_base::badbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - unget(void) - { - - - _M_gcount = 0; - - this->clear(this->rdstate() & ~ios_base::eofbit); - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - const int_type __eof = traits_type::eof(); - __streambuf_type* __sb = this->rdbuf(); - if (!__sb - || traits_type::eq_int_type(__sb->sungetc(), __eof)) - __err |= ios_base::badbit; - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - int - basic_istream<_CharT, _Traits>:: - sync(void) - { - - - int __ret = -1; - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - __streambuf_type* __sb = this->rdbuf(); - if (__sb) - { - if (__sb->pubsync() == -1) - __err |= ios_base::badbit; - else - __ret = 0; - } - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return __ret; - } - - template - typename basic_istream<_CharT, _Traits>::pos_type - basic_istream<_CharT, _Traits>:: - tellg(void) - { - - - pos_type __ret = pos_type(-1); - sentry __cerb(*this, true); - if (__cerb) - { - try - { - if (!this->fail()) - __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, - ios_base::in); - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - } - return __ret; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - seekg(pos_type __pos) - { - - - - this->clear(this->rdstate() & ~ios_base::eofbit); - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - if (!this->fail()) - { - - const pos_type __p = this->rdbuf()->pubseekpos(__pos, - ios_base::in); - - - if (__p == pos_type(off_type(-1))) - __err |= ios_base::failbit; - } - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - template - basic_istream<_CharT, _Traits>& - basic_istream<_CharT, _Traits>:: - seekg(off_type __off, ios_base::seekdir __dir) - { - - - - this->clear(this->rdstate() & ~ios_base::eofbit); - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - if (!this->fail()) - { - - const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir, - ios_base::in); - - - if (__p == pos_type(off_type(-1))) - __err |= ios_base::failbit; - } - } - catch(__cxxabiv1::__forced_unwind&) - { - this->_M_setstate(ios_base::badbit); - throw; - } - catch(...) - { this->_M_setstate(ios_base::badbit); } - if (__err) - this->setstate(__err); - } - return *this; - } - - - template - basic_istream<_CharT, _Traits>& - operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c) - { - typedef basic_istream<_CharT, _Traits> __istream_type; - typedef typename __istream_type::int_type __int_type; - - typename __istream_type::sentry __cerb(__in, false); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - const __int_type __cb = __in.rdbuf()->sbumpc(); - if (!_Traits::eq_int_type(__cb, _Traits::eof())) - __c = _Traits::to_char_type(__cb); - else - __err |= (ios_base::eofbit | ios_base::failbit); - } - catch(__cxxabiv1::__forced_unwind&) - { - __in._M_setstate(ios_base::badbit); - throw; - } - catch(...) - { __in._M_setstate(ios_base::badbit); } - if (__err) - __in.setstate(__err); - } - return __in; - } - - template - void - __istream_extract(basic_istream<_CharT, _Traits>& __in, _CharT* __s, - streamsize __num) - { - typedef basic_istream<_CharT, _Traits> __istream_type; - typedef basic_streambuf<_CharT, _Traits> __streambuf_type; - typedef typename _Traits::int_type int_type; - typedef _CharT char_type; - typedef ctype<_CharT> __ctype_type; - - streamsize __extracted = 0; - ios_base::iostate __err = ios_base::goodbit; - typename __istream_type::sentry __cerb(__in, false); - if (__cerb) - { - try - { - - streamsize __width = __in.width(); - if (0 < __width && __width < __num) - __num = __width; - - const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); - - const int_type __eof = _Traits::eof(); - __streambuf_type* __sb = __in.rdbuf(); - int_type __c = __sb->sgetc(); - - while (__extracted < __num - 1 - && !_Traits::eq_int_type(__c, __eof) - && !__ct.is(ctype_base::space, - _Traits::to_char_type(__c))) - { - *__s++ = _Traits::to_char_type(__c); - ++__extracted; - __c = __sb->snextc(); - } - - if (__extracted < __num - 1 - && _Traits::eq_int_type(__c, __eof)) - __err |= ios_base::eofbit; - - - - *__s = char_type(); - __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); - } - - - template - basic_istream<_CharT, _Traits>& - ws(basic_istream<_CharT, _Traits>& __in) - { - typedef basic_istream<_CharT, _Traits> __istream_type; - typedef basic_streambuf<_CharT, _Traits> __streambuf_type; - typedef typename __istream_type::int_type __int_type; - typedef ctype<_CharT> __ctype_type; - - - - typename __istream_type::sentry __cerb(__in, true); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); - const __int_type __eof = _Traits::eof(); - __streambuf_type* __sb = __in.rdbuf(); - __int_type __c = __sb->sgetc(); - - while (true) - { - if (_Traits::eq_int_type(__c, __eof)) - { - __err = ios_base::eofbit; - break; - } - if (!__ct.is(ctype_base::space, _Traits::to_char_type(__c))) - break; - __c = __sb->snextc(); - } - } - catch(const __cxxabiv1::__forced_unwind&) - { - __in._M_setstate(ios_base::badbit); - throw; - } - catch(...) - { - __in._M_setstate(ios_base::badbit); - } - if (__err) - __in.setstate(__err); - } - return __in; - } - - - - - extern template class basic_istream; - extern template istream& ws(istream&); - extern template istream& operator>>(istream&, char&); - extern template istream& operator>>(istream&, unsigned char&); - extern template istream& operator>>(istream&, signed char&); - - extern template istream& istream::_M_extract(unsigned short&); - extern template istream& istream::_M_extract(unsigned int&); - extern template istream& istream::_M_extract(long&); - extern template istream& istream::_M_extract(unsigned long&); - extern template istream& istream::_M_extract(bool&); - - extern template istream& istream::_M_extract(long long&); - extern template istream& istream::_M_extract(unsigned long long&); - - extern template istream& istream::_M_extract(float&); - extern template istream& istream::_M_extract(double&); - extern template istream& istream::_M_extract(long double&); - extern template istream& istream::_M_extract(void*&); - - extern template class basic_iostream; - - - extern template class basic_istream; - extern template wistream& ws(wistream&); - extern template wistream& operator>>(wistream&, wchar_t&); - extern template void __istream_extract(wistream&, wchar_t*, streamsize); - - extern template wistream& wistream::_M_extract(unsigned short&); - extern template wistream& wistream::_M_extract(unsigned int&); - extern template wistream& wistream::_M_extract(long&); - extern template wistream& wistream::_M_extract(unsigned long&); - extern template wistream& wistream::_M_extract(bool&); - - extern template wistream& wistream::_M_extract(long long&); - extern template wistream& wistream::_M_extract(unsigned long long&); - - extern template wistream& wistream::_M_extract(float&); - extern template wistream& wistream::_M_extract(double&); - extern template wistream& wistream::_M_extract(long double&); - extern template wistream& wistream::_M_extract(void*&); - - extern template class basic_iostream; - - - - -} -# 1107 "/usr/include/c++/14.1.1/istream" 2 3 -# 43 "/usr/include/c++/14.1.1/iostream" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 62 "/usr/include/c++/14.1.1/iostream" 3 - extern istream cin; - extern ostream cout; - extern ostream cerr; - extern ostream clog; - - - extern wistream wcin; - extern wostream wcout; - extern wostream wcerr; - extern wostream wclog; -# 82 "/usr/include/c++/14.1.1/iostream" 3 - __extension__ __asm (".globl _ZSt21ios_base_library_initv"); - - - -} -# 8 "/home/ghazal/CLionProjects/NextFlick/user.h" 2 - -# 8 "/home/ghazal/CLionProjects/NextFlick/user.h" -using namespace std; -class user{ -protected: - int id; - string username; - string password; -public: - user(int Id, string Username, string Password): id(Id),username(Username),password(Password){} -}; -# 8 "/home/ghazal/CLionProjects/NextFlick/users.h" 2 -# 1 "/usr/include/c++/14.1.1/vector" 1 3 -# 58 "/usr/include/c++/14.1.1/vector" 3 - -# 59 "/usr/include/c++/14.1.1/vector" 3 - - - - - - -# 1 "/usr/include/c++/14.1.1/bits/stl_uninitialized.h" 1 3 -# 70 "/usr/include/c++/14.1.1/bits/stl_uninitialized.h" 3 - -# 70 "/usr/include/c++/14.1.1/bits/stl_uninitialized.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 81 "/usr/include/c++/14.1.1/bits/stl_uninitialized.h" 3 - template - constexpr bool - __check_constructible() - { - - - - - - static_assert(is_constructible<_ValueType, _Tp>::value, - "result type must be constructible from input type"); - - return true; - } -# 110 "/usr/include/c++/14.1.1/bits/stl_uninitialized.h" 3 - template - constexpr - _ForwardIterator - __do_uninit_copy(_InputIterator __first, _InputIterator __last, - _ForwardIterator __result) - { - _ForwardIterator __cur = __result; - try - { - for (; __first != __last; ++__first, (void)++__cur) - std::_Construct(std::__addressof(*__cur), *__first); - return __cur; - } - catch(...) - { - std::_Destroy(__result, __cur); - throw; - } - } - - template - struct __uninitialized_copy - { - template - static _ForwardIterator - __uninit_copy(_InputIterator __first, _InputIterator __last, - _ForwardIterator __result) - { return std::__do_uninit_copy(__first, __last, __result); } - }; - - template<> - struct __uninitialized_copy - { - template - static _ForwardIterator - __uninit_copy(_InputIterator __first, _InputIterator __last, - _ForwardIterator __result) - { return std::copy(__first, __last, __result); } - }; -# 161 "/usr/include/c++/14.1.1/bits/stl_uninitialized.h" 3 - template - inline _ForwardIterator - uninitialized_copy(_InputIterator __first, _InputIterator __last, - _ForwardIterator __result) - { - typedef typename iterator_traits<_InputIterator>::value_type - _ValueType1; - typedef typename iterator_traits<_ForwardIterator>::value_type - _ValueType2; - - - - - const bool __can_memmove = __is_trivial(_ValueType1); - - - - - using _From = decltype(*__first); - - const bool __assignable - = __is_trivial(_ValueType2) && __is_assignable(_ValueType2&, _From) && std::__check_constructible<_ValueType2, _From>(); - - return std::__uninitialized_copy<__can_memmove && __assignable>:: - __uninit_copy(__first, __last, __result); - } - - - - template - constexpr void - __do_uninit_fill(_ForwardIterator __first, _ForwardIterator __last, - const _Tp& __x) - { - _ForwardIterator __cur = __first; - try - { - for (; __cur != __last; ++__cur) - std::_Construct(std::__addressof(*__cur), __x); - } - catch(...) - { - std::_Destroy(__first, __cur); - throw; - } - } - - template - struct __uninitialized_fill - { - template - static void - __uninit_fill(_ForwardIterator __first, _ForwardIterator __last, - const _Tp& __x) - { std::__do_uninit_fill(__first, __last, __x); } - }; - - template<> - struct __uninitialized_fill - { - template - static void - __uninit_fill(_ForwardIterator __first, _ForwardIterator __last, - const _Tp& __x) - { std::fill(__first, __last, __x); } - }; -# 239 "/usr/include/c++/14.1.1/bits/stl_uninitialized.h" 3 - template - inline void - uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last, - const _Tp& __x) - { - typedef typename iterator_traits<_ForwardIterator>::value_type - _ValueType; - - - - const bool __can_fill - = __is_trivial(_ValueType) && __is_assignable(_ValueType&, const _Tp&) && std::__check_constructible<_ValueType, const _Tp&>(); - - std::__uninitialized_fill<__can_fill>:: - __uninit_fill(__first, __last, __x); - } - - - - template - constexpr - _ForwardIterator - __do_uninit_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x) - { - _ForwardIterator __cur = __first; - try - { - for (; __n > 0; --__n, (void) ++__cur) - std::_Construct(std::__addressof(*__cur), __x); - return __cur; - } - catch(...) - { - std::_Destroy(__first, __cur); - throw; - } - } - - template - struct __uninitialized_fill_n - { - template - static _ForwardIterator - __uninit_fill_n(_ForwardIterator __first, _Size __n, - const _Tp& __x) - { return std::__do_uninit_fill_n(__first, __n, __x); } - }; - - template<> - struct __uninitialized_fill_n - { - template - static _ForwardIterator - __uninit_fill_n(_ForwardIterator __first, _Size __n, - const _Tp& __x) - { return std::fill_n(__first, __n, __x); } - }; -# 310 "/usr/include/c++/14.1.1/bits/stl_uninitialized.h" 3 - template - inline _ForwardIterator - uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x) - { - typedef typename iterator_traits<_ForwardIterator>::value_type - _ValueType; - - - - const bool __can_fill - = __is_trivial(_ValueType) && __is_assignable(_ValueType&, const _Tp&) && std::__check_constructible<_ValueType, const _Tp&>() - - - - && __is_integer<_Size>::__value; - - return __uninitialized_fill_n<__can_fill>:: - __uninit_fill_n(__first, __n, __x); - } -# 340 "/usr/include/c++/14.1.1/bits/stl_uninitialized.h" 3 - template - constexpr - _ForwardIterator - __uninitialized_copy_a(_InputIterator __first, _InputIterator __last, - _ForwardIterator __result, _Allocator& __alloc) - { - _ForwardIterator __cur = __result; - try - { - typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; - for (; __first != __last; ++__first, (void)++__cur) - __traits::construct(__alloc, std::__addressof(*__cur), *__first); - return __cur; - } - catch(...) - { - std::_Destroy(__result, __cur, __alloc); - throw; - } - } - - - template - constexpr - inline _ForwardIterator - __uninitialized_copy_a(_InputIterator __first, _InputIterator __last, - _ForwardIterator __result, allocator<_Tp>&) - { - - if (std::is_constant_evaluated()) - return std::__do_uninit_copy(__first, __last, __result); - - return std::uninitialized_copy(__first, __last, __result); - } - - - template - constexpr - inline _ForwardIterator - __uninitialized_move_a(_InputIterator __first, _InputIterator __last, - _ForwardIterator __result, _Allocator& __alloc) - { - return std::__uninitialized_copy_a(std::make_move_iterator(__first), - std::make_move_iterator(__last), - __result, __alloc); - } - - template - constexpr - inline _ForwardIterator - __uninitialized_move_if_noexcept_a(_InputIterator __first, - _InputIterator __last, - _ForwardIterator __result, - _Allocator& __alloc) - { - return std::__uninitialized_copy_a - (std::__make_move_if_noexcept_iterator(__first), - std::__make_move_if_noexcept_iterator(__last), __result, __alloc); - } - - template - constexpr - void - __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last, - const _Tp& __x, _Allocator& __alloc) - { - _ForwardIterator __cur = __first; - try - { - typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; - for (; __cur != __last; ++__cur) - __traits::construct(__alloc, std::__addressof(*__cur), __x); - } - catch(...) - { - std::_Destroy(__first, __cur, __alloc); - throw; - } - } - - - template - constexpr - inline void - __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last, - const _Tp& __x, allocator<_Tp2>&) - { - - if (std::is_constant_evaluated()) - return std::__do_uninit_fill(__first, __last, __x); - - std::uninitialized_fill(__first, __last, __x); - } - - - template - constexpr - _ForwardIterator - __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n, - const _Tp& __x, _Allocator& __alloc) - { - _ForwardIterator __cur = __first; - try - { - typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; - for (; __n > 0; --__n, (void) ++__cur) - __traits::construct(__alloc, std::__addressof(*__cur), __x); - return __cur; - } - catch(...) - { - std::_Destroy(__first, __cur, __alloc); - throw; - } - } - - - template - constexpr - inline _ForwardIterator - __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n, - const _Tp& __x, allocator<_Tp2>&) - { - - if (std::is_constant_evaluated()) - return std::__do_uninit_fill_n(__first, __n, __x); - - return std::uninitialized_fill_n(__first, __n, __x); - } -# 485 "/usr/include/c++/14.1.1/bits/stl_uninitialized.h" 3 - template - inline _ForwardIterator - __uninitialized_copy_move(_InputIterator1 __first1, - _InputIterator1 __last1, - _InputIterator2 __first2, - _InputIterator2 __last2, - _ForwardIterator __result, - _Allocator& __alloc) - { - _ForwardIterator __mid = std::__uninitialized_copy_a(__first1, __last1, - __result, - __alloc); - try - { - return std::__uninitialized_move_a(__first2, __last2, __mid, __alloc); - } - catch(...) - { - std::_Destroy(__result, __mid, __alloc); - throw; - } - } - - - - - - template - inline _ForwardIterator - __uninitialized_move_copy(_InputIterator1 __first1, - _InputIterator1 __last1, - _InputIterator2 __first2, - _InputIterator2 __last2, - _ForwardIterator __result, - _Allocator& __alloc) - { - _ForwardIterator __mid = std::__uninitialized_move_a(__first1, __last1, - __result, - __alloc); - try - { - return std::__uninitialized_copy_a(__first2, __last2, __mid, __alloc); - } - catch(...) - { - std::_Destroy(__result, __mid, __alloc); - throw; - } - } - - - - - template - inline _ForwardIterator - __uninitialized_fill_move(_ForwardIterator __result, _ForwardIterator __mid, - const _Tp& __x, _InputIterator __first, - _InputIterator __last, _Allocator& __alloc) - { - std::__uninitialized_fill_a(__result, __mid, __x, __alloc); - try - { - return std::__uninitialized_move_a(__first, __last, __mid, __alloc); - } - catch(...) - { - std::_Destroy(__result, __mid, __alloc); - throw; - } - } - - - - - template - inline void - __uninitialized_move_fill(_InputIterator __first1, _InputIterator __last1, - _ForwardIterator __first2, - _ForwardIterator __last2, const _Tp& __x, - _Allocator& __alloc) - { - _ForwardIterator __mid2 = std::__uninitialized_move_a(__first1, __last1, - __first2, - __alloc); - try - { - std::__uninitialized_fill_a(__mid2, __last2, __x, __alloc); - } - catch(...) - { - std::_Destroy(__first2, __mid2, __alloc); - throw; - } - } -# 592 "/usr/include/c++/14.1.1/bits/stl_uninitialized.h" 3 - template - struct __uninitialized_default_1 - { - template - static void - __uninit_default(_ForwardIterator __first, _ForwardIterator __last) - { - _ForwardIterator __cur = __first; - try - { - for (; __cur != __last; ++__cur) - std::_Construct(std::__addressof(*__cur)); - } - catch(...) - { - std::_Destroy(__first, __cur); - throw; - } - } - }; - - template<> - struct __uninitialized_default_1 - { - template - static void - __uninit_default(_ForwardIterator __first, _ForwardIterator __last) - { - if (__first == __last) - return; - - typename iterator_traits<_ForwardIterator>::value_type* __val - = std::__addressof(*__first); - std::_Construct(__val); - if (++__first != __last) - std::fill(__first, __last, *__val); - } - }; - - template - struct __uninitialized_default_n_1 - { - template - constexpr - static _ForwardIterator - __uninit_default_n(_ForwardIterator __first, _Size __n) - { - _ForwardIterator __cur = __first; - try - { - for (; __n > 0; --__n, (void) ++__cur) - std::_Construct(std::__addressof(*__cur)); - return __cur; - } - catch(...) - { - std::_Destroy(__first, __cur); - throw; - } - } - }; - - template<> - struct __uninitialized_default_n_1 - { - template - constexpr - static _ForwardIterator - __uninit_default_n(_ForwardIterator __first, _Size __n) - { - if (__n > 0) - { - typename iterator_traits<_ForwardIterator>::value_type* __val - = std::__addressof(*__first); - std::_Construct(__val); - ++__first; - __first = std::fill_n(__first, __n - 1, *__val); - } - return __first; - } - }; - - - - template - inline void - __uninitialized_default(_ForwardIterator __first, - _ForwardIterator __last) - { - typedef typename iterator_traits<_ForwardIterator>::value_type - _ValueType; - - const bool __assignable = is_copy_assignable<_ValueType>::value; - - std::__uninitialized_default_1<__is_trivial(_ValueType) - && __assignable>:: - __uninit_default(__first, __last); - } - - - - template - constexpr - inline _ForwardIterator - __uninitialized_default_n(_ForwardIterator __first, _Size __n) - { - - if (std::is_constant_evaluated()) - return __uninitialized_default_n_1:: - __uninit_default_n(__first, __n); - - - typedef typename iterator_traits<_ForwardIterator>::value_type - _ValueType; - - constexpr bool __can_fill - = __and_, is_copy_assignable<_ValueType>>::value; - - return __uninitialized_default_n_1<__is_trivial(_ValueType) - && __can_fill>:: - __uninit_default_n(__first, __n); - } - - - - - - template - void - __uninitialized_default_a(_ForwardIterator __first, - _ForwardIterator __last, - _Allocator& __alloc) - { - _ForwardIterator __cur = __first; - try - { - typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; - for (; __cur != __last; ++__cur) - __traits::construct(__alloc, std::__addressof(*__cur)); - } - catch(...) - { - std::_Destroy(__first, __cur, __alloc); - throw; - } - } - - - template - inline void - __uninitialized_default_a(_ForwardIterator __first, - _ForwardIterator __last, - allocator<_Tp>&) - { std::__uninitialized_default(__first, __last); } - - - - - - template - constexpr _ForwardIterator - __uninitialized_default_n_a(_ForwardIterator __first, _Size __n, - _Allocator& __alloc) - { - _ForwardIterator __cur = __first; - try - { - typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; - for (; __n > 0; --__n, (void) ++__cur) - __traits::construct(__alloc, std::__addressof(*__cur)); - return __cur; - } - catch(...) - { - std::_Destroy(__first, __cur, __alloc); - throw; - } - } - - - - - template - constexpr - inline _ForwardIterator - __uninitialized_default_n_a(_ForwardIterator __first, _Size __n, - allocator<_Tp>&) - { return std::__uninitialized_default_n(__first, __n); } - - - template - struct __uninitialized_default_novalue_1 - { - template - static void - __uninit_default_novalue(_ForwardIterator __first, - _ForwardIterator __last) - { - _ForwardIterator __cur = __first; - try - { - for (; __cur != __last; ++__cur) - std::_Construct_novalue(std::__addressof(*__cur)); - } - catch(...) - { - std::_Destroy(__first, __cur); - throw; - } - } - }; - - template<> - struct __uninitialized_default_novalue_1 - { - template - static void - __uninit_default_novalue(_ForwardIterator, _ForwardIterator) - { - } - }; - - template - struct __uninitialized_default_novalue_n_1 - { - template - static _ForwardIterator - __uninit_default_novalue_n(_ForwardIterator __first, _Size __n) - { - _ForwardIterator __cur = __first; - try - { - for (; __n > 0; --__n, (void) ++__cur) - std::_Construct_novalue(std::__addressof(*__cur)); - return __cur; - } - catch(...) - { - std::_Destroy(__first, __cur); - throw; - } - } - }; - - template<> - struct __uninitialized_default_novalue_n_1 - { - template - static _ForwardIterator - __uninit_default_novalue_n(_ForwardIterator __first, _Size __n) - { return std::next(__first, __n); } - }; - - - - template - inline void - __uninitialized_default_novalue(_ForwardIterator __first, - _ForwardIterator __last) - { - typedef typename iterator_traits<_ForwardIterator>::value_type - _ValueType; - - std::__uninitialized_default_novalue_1< - is_trivially_default_constructible<_ValueType>::value>:: - __uninit_default_novalue(__first, __last); - } - - - - template - inline _ForwardIterator - __uninitialized_default_novalue_n(_ForwardIterator __first, _Size __n) - { - typedef typename iterator_traits<_ForwardIterator>::value_type - _ValueType; - - return __uninitialized_default_novalue_n_1< - is_trivially_default_constructible<_ValueType>::value>:: - __uninit_default_novalue_n(__first, __n); - } - - template - _ForwardIterator - __uninitialized_copy_n(_InputIterator __first, _Size __n, - _ForwardIterator __result, input_iterator_tag) - { - _ForwardIterator __cur = __result; - try - { - for (; __n > 0; --__n, (void) ++__first, ++__cur) - std::_Construct(std::__addressof(*__cur), *__first); - return __cur; - } - catch(...) - { - std::_Destroy(__result, __cur); - throw; - } - } - - template - inline _ForwardIterator - __uninitialized_copy_n(_RandomAccessIterator __first, _Size __n, - _ForwardIterator __result, - random_access_iterator_tag) - { return std::uninitialized_copy(__first, __first + __n, __result); } - - template - pair<_InputIterator, _ForwardIterator> - __uninitialized_copy_n_pair(_InputIterator __first, _Size __n, - _ForwardIterator __result, input_iterator_tag) - { - _ForwardIterator __cur = __result; - try - { - for (; __n > 0; --__n, (void) ++__first, ++__cur) - std::_Construct(std::__addressof(*__cur), *__first); - return {__first, __cur}; - } - catch(...) - { - std::_Destroy(__result, __cur); - throw; - } - } - - template - inline pair<_RandomAccessIterator, _ForwardIterator> - __uninitialized_copy_n_pair(_RandomAccessIterator __first, _Size __n, - _ForwardIterator __result, - random_access_iterator_tag) - { - auto __second_res = uninitialized_copy(__first, __first + __n, __result); - auto __first_res = std::next(__first, __n); - return {__first_res, __second_res}; - } -# 946 "/usr/include/c++/14.1.1/bits/stl_uninitialized.h" 3 - template - inline _ForwardIterator - uninitialized_copy_n(_InputIterator __first, _Size __n, - _ForwardIterator __result) - { return std::__uninitialized_copy_n(__first, __n, __result, - std::__iterator_category(__first)); } - - - template - inline pair<_InputIterator, _ForwardIterator> - __uninitialized_copy_n_pair(_InputIterator __first, _Size __n, - _ForwardIterator __result) - { - return - std::__uninitialized_copy_n_pair(__first, __n, __result, - std::__iterator_category(__first)); - } -# 973 "/usr/include/c++/14.1.1/bits/stl_uninitialized.h" 3 - template - inline void - uninitialized_default_construct(_ForwardIterator __first, - _ForwardIterator __last) - { - __uninitialized_default_novalue(__first, __last); - } -# 988 "/usr/include/c++/14.1.1/bits/stl_uninitialized.h" 3 - template - inline _ForwardIterator - uninitialized_default_construct_n(_ForwardIterator __first, _Size __count) - { - return __uninitialized_default_novalue_n(__first, __count); - } - - - - - - - - template - inline void - uninitialized_value_construct(_ForwardIterator __first, - _ForwardIterator __last) - { - return __uninitialized_default(__first, __last); - } -# 1016 "/usr/include/c++/14.1.1/bits/stl_uninitialized.h" 3 - template - inline _ForwardIterator - uninitialized_value_construct_n(_ForwardIterator __first, _Size __count) - { - return __uninitialized_default_n(__first, __count); - } -# 1031 "/usr/include/c++/14.1.1/bits/stl_uninitialized.h" 3 - template - inline _ForwardIterator - uninitialized_move(_InputIterator __first, _InputIterator __last, - _ForwardIterator __result) - { - return std::uninitialized_copy - (std::make_move_iterator(__first), - std::make_move_iterator(__last), __result); - } -# 1049 "/usr/include/c++/14.1.1/bits/stl_uninitialized.h" 3 - template - inline pair<_InputIterator, _ForwardIterator> - uninitialized_move_n(_InputIterator __first, _Size __count, - _ForwardIterator __result) - { - auto __res = std::__uninitialized_copy_n_pair - (std::make_move_iterator(__first), - __count, __result); - return {__res.first.base(), __res.second}; - } - - - - - - template - constexpr - inline void - __relocate_object_a(_Tp* __restrict __dest, _Up* __restrict __orig, - _Allocator& __alloc) - noexcept(noexcept(std::allocator_traits<_Allocator>::construct(__alloc, - __dest, std::move(*__orig))) - && noexcept(std::allocator_traits<_Allocator>::destroy( - __alloc, std::__addressof(*__orig)))) - { - typedef std::allocator_traits<_Allocator> __traits; - __traits::construct(__alloc, __dest, std::move(*__orig)); - __traits::destroy(__alloc, std::__addressof(*__orig)); - } - - - - template - struct __is_bitwise_relocatable - : is_trivial<_Tp> { }; - - template - constexpr - inline _ForwardIterator - __relocate_a_1(_InputIterator __first, _InputIterator __last, - _ForwardIterator __result, _Allocator& __alloc) - noexcept(noexcept(std::__relocate_object_a(std::addressof(*__result), - std::addressof(*__first), - __alloc))) - { - typedef typename iterator_traits<_InputIterator>::value_type - _ValueType; - typedef typename iterator_traits<_ForwardIterator>::value_type - _ValueType2; - static_assert(std::is_same<_ValueType, _ValueType2>::value, - "relocation is only possible for values of the same type"); - _ForwardIterator __cur = __result; - for (; __first != __last; ++__first, (void)++__cur) - std::__relocate_object_a(std::__addressof(*__cur), - std::__addressof(*__first), __alloc); - return __cur; - } - - - template - constexpr - inline __enable_if_t::value, _Tp*> - __relocate_a_1(_Tp* __first, _Tp* __last, - _Tp* __result, - [[__maybe_unused__]] allocator<_Up>& __alloc) noexcept - { - ptrdiff_t __count = __last - __first; - if (__count > 0) - { - - if (std::is_constant_evaluated()) - { - - - __gnu_cxx::__normal_iterator<_Tp*, void> __out(__result); - __out = std::__relocate_a_1(__first, __last, __out, __alloc); - return __out.base(); - } - - __builtin_memcpy(__result, __first, __count * sizeof(_Tp)); - } - return __result + __count; - } - - - template - constexpr - inline _ForwardIterator - __relocate_a(_InputIterator __first, _InputIterator __last, - _ForwardIterator __result, _Allocator& __alloc) - noexcept(noexcept(__relocate_a_1(std::__niter_base(__first), - std::__niter_base(__last), - std::__niter_base(__result), __alloc))) - { - return std::__relocate_a_1(std::__niter_base(__first), - std::__niter_base(__last), - std::__niter_base(__result), __alloc); - } - - - - - - - -} -# 66 "/usr/include/c++/14.1.1/vector" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/stl_vector.h" 1 3 -# 77 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - template - struct _Vector_base - { - typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template - rebind<_Tp>::other _Tp_alloc_type; - typedef typename __gnu_cxx::__alloc_traits<_Tp_alloc_type>::pointer - pointer; - - struct _Vector_impl_data - { - pointer _M_start; - pointer _M_finish; - pointer _M_end_of_storage; - - constexpr - _Vector_impl_data() noexcept - : _M_start(), _M_finish(), _M_end_of_storage() - { } - - - constexpr - _Vector_impl_data(_Vector_impl_data&& __x) noexcept - : _M_start(__x._M_start), _M_finish(__x._M_finish), - _M_end_of_storage(__x._M_end_of_storage) - { __x._M_start = __x._M_finish = __x._M_end_of_storage = pointer(); } - - - constexpr - void - _M_copy_data(_Vector_impl_data const& __x) noexcept - { - _M_start = __x._M_start; - _M_finish = __x._M_finish; - _M_end_of_storage = __x._M_end_of_storage; - } - - constexpr - void - _M_swap_data(_Vector_impl_data& __x) noexcept - { - - - _Vector_impl_data __tmp; - __tmp._M_copy_data(*this); - _M_copy_data(__x); - __x._M_copy_data(__tmp); - } - }; - - struct _Vector_impl - : public _Tp_alloc_type, public _Vector_impl_data - { - constexpr - _Vector_impl() noexcept(is_nothrow_default_constructible<_Tp_alloc_type>::value) - - - requires is_default_constructible_v<_Tp_alloc_type> - - : _Tp_alloc_type() - { } - - constexpr - _Vector_impl(_Tp_alloc_type const& __a) noexcept - : _Tp_alloc_type(__a) - { } - - - - - constexpr - _Vector_impl(_Vector_impl&& __x) noexcept - : _Tp_alloc_type(std::move(__x)), _Vector_impl_data(std::move(__x)) - { } - - constexpr - _Vector_impl(_Tp_alloc_type&& __a) noexcept - : _Tp_alloc_type(std::move(__a)) - { } - - constexpr - _Vector_impl(_Tp_alloc_type&& __a, _Vector_impl&& __rv) noexcept - : _Tp_alloc_type(std::move(__a)), _Vector_impl_data(std::move(__rv)) - { } -# 293 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - }; - - public: - typedef _Alloc allocator_type; - - constexpr - _Tp_alloc_type& - _M_get_Tp_allocator() noexcept - { return this->_M_impl; } - - constexpr - const _Tp_alloc_type& - _M_get_Tp_allocator() const noexcept - { return this->_M_impl; } - - constexpr - allocator_type - get_allocator() const noexcept - { return allocator_type(_M_get_Tp_allocator()); } - - - _Vector_base() = default; - - - - - constexpr - _Vector_base(const allocator_type& __a) noexcept - : _M_impl(__a) { } - - - - constexpr - _Vector_base(size_t __n) - : _M_impl() - { _M_create_storage(__n); } - - - constexpr - _Vector_base(size_t __n, const allocator_type& __a) - : _M_impl(__a) - { _M_create_storage(__n); } - - - _Vector_base(_Vector_base&&) = default; - - - - constexpr - _Vector_base(_Tp_alloc_type&& __a) noexcept - : _M_impl(std::move(__a)) { } - - constexpr - _Vector_base(_Vector_base&& __x, const allocator_type& __a) - : _M_impl(__a) - { - if (__x.get_allocator() == __a) - this->_M_impl._M_swap_data(__x._M_impl); - else - { - size_t __n = __x._M_impl._M_finish - __x._M_impl._M_start; - _M_create_storage(__n); - } - } - - - constexpr - _Vector_base(const allocator_type& __a, _Vector_base&& __x) - : _M_impl(_Tp_alloc_type(__a), std::move(__x._M_impl)) - { } - - - constexpr - ~_Vector_base() noexcept - { - _M_deallocate(_M_impl._M_start, - _M_impl._M_end_of_storage - _M_impl._M_start); - } - - public: - _Vector_impl _M_impl; - - constexpr - pointer - _M_allocate(size_t __n) - { - typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tr; - return __n != 0 ? _Tr::allocate(_M_impl, __n) : pointer(); - } - - constexpr - void - _M_deallocate(pointer __p, size_t __n) - { - typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tr; - if (__p) - _Tr::deallocate(_M_impl, __p, __n); - } - - protected: - - constexpr - void - _M_create_storage(size_t __n) - { - this->_M_impl._M_start = this->_M_allocate(__n); - this->_M_impl._M_finish = this->_M_impl._M_start; - this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; - } - }; -# 427 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - template > - class vector : protected _Vector_base<_Tp, _Alloc> - { -# 440 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - static_assert(is_same::type, _Tp>::value, - "std::vector must have a non-const, non-volatile value_type"); - - static_assert(is_same::value, - "std::vector must have the same value_type as its allocator"); - - - - typedef _Vector_base<_Tp, _Alloc> _Base; - typedef typename _Base::_Tp_alloc_type _Tp_alloc_type; - typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Alloc_traits; - - public: - typedef _Tp value_type; - typedef typename _Base::pointer pointer; - typedef typename _Alloc_traits::const_pointer const_pointer; - typedef typename _Alloc_traits::reference reference; - typedef typename _Alloc_traits::const_reference const_reference; - 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; - typedef size_t size_type; - typedef ptrdiff_t difference_type; - typedef _Alloc allocator_type; - - private: - - static constexpr bool - _S_nothrow_relocate(true_type) - { - return noexcept(std::__relocate_a(std::declval(), - std::declval(), - std::declval(), - std::declval<_Tp_alloc_type&>())); - } - - static constexpr bool - _S_nothrow_relocate(false_type) - { return false; } - - static constexpr bool - _S_use_relocate() - { - - - - return _S_nothrow_relocate(__is_move_insertable<_Tp_alloc_type>{}); - } - - static pointer - _S_do_relocate(pointer __first, pointer __last, pointer __result, - _Tp_alloc_type& __alloc, true_type) noexcept - { - return std::__relocate_a(__first, __last, __result, __alloc); - } - - static pointer - _S_do_relocate(pointer, pointer, pointer __result, - _Tp_alloc_type&, false_type) noexcept - { return __result; } - - static constexpr pointer - _S_relocate(pointer __first, pointer __last, pointer __result, - _Tp_alloc_type& __alloc) noexcept - { - - - return std::__relocate_a(__first, __last, __result, __alloc); - - - - - } - - - protected: - using _Base::_M_allocate; - using _Base::_M_deallocate; - using _Base::_M_impl; - using _Base::_M_get_Tp_allocator; - - public: - - - - - - - - vector() = default; -# 540 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - explicit - constexpr - vector(const allocator_type& __a) noexcept - : _Base(__a) { } -# 554 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - explicit - constexpr - vector(size_type __n, const allocator_type& __a = allocator_type()) - : _Base(_S_check_init_len(__n, __a), __a) - { _M_default_initialize(__n); } -# 568 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - constexpr - vector(size_type __n, const value_type& __value, - const allocator_type& __a = allocator_type()) - : _Base(_S_check_init_len(__n, __a), __a) - { _M_fill_initialize(__n, __value); } -# 600 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - constexpr - vector(const vector& __x) - : _Base(__x.size(), - _Alloc_traits::_S_select_on_copy(__x._M_get_Tp_allocator())) - { - this->_M_impl._M_finish = - std::__uninitialized_copy_a(__x.begin(), __x.end(), - this->_M_impl._M_start, - _M_get_Tp_allocator()); - } -# 620 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - vector(vector&&) noexcept = default; - - - constexpr - vector(const vector& __x, const __type_identity_t& __a) - : _Base(__x.size(), __a) - { - this->_M_impl._M_finish = - std::__uninitialized_copy_a(__x.begin(), __x.end(), - this->_M_impl._M_start, - _M_get_Tp_allocator()); - } - - private: - constexpr - vector(vector&& __rv, const allocator_type& __m, true_type) noexcept - : _Base(__m, std::move(__rv)) - { } - - constexpr - vector(vector&& __rv, const allocator_type& __m, false_type) - : _Base(__m) - { - if (__rv.get_allocator() == __m) - this->_M_impl._M_swap_data(__rv._M_impl); - else if (!__rv.empty()) - { - this->_M_create_storage(__rv.size()); - this->_M_impl._M_finish = - std::__uninitialized_move_a(__rv.begin(), __rv.end(), - this->_M_impl._M_start, - _M_get_Tp_allocator()); - __rv.clear(); - } - } - - public: - - constexpr - vector(vector&& __rv, const __type_identity_t& __m) - noexcept( noexcept( - vector(std::declval(), std::declval(), - std::declval())) ) - : vector(std::move(__rv), __m, typename _Alloc_traits::is_always_equal{}) - { } -# 677 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - constexpr - vector(initializer_list __l, - const allocator_type& __a = allocator_type()) - : _Base(__a) - { - _M_range_initialize(__l.begin(), __l.end(), - random_access_iterator_tag()); - } -# 704 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - template> - constexpr - vector(_InputIterator __first, _InputIterator __last, - const allocator_type& __a = allocator_type()) - : _Base(__a) - { - _M_range_initialize(__first, __last, - std::__iterator_category(__first)); - } -# 732 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - constexpr - ~vector() noexcept - { - std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, - _M_get_Tp_allocator()); - ; - } -# 749 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - constexpr - vector& - operator=(const vector& __x); -# 764 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - constexpr - vector& - operator=(vector&& __x) noexcept(_Alloc_traits::_S_nothrow_move()) - { - constexpr bool __move_storage = - _Alloc_traits::_S_propagate_on_move_assign() - || _Alloc_traits::_S_always_equal(); - _M_move_assign(std::move(__x), __bool_constant<__move_storage>()); - return *this; - } -# 786 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - constexpr - vector& - operator=(initializer_list __l) - { - this->_M_assign_aux(__l.begin(), __l.end(), - random_access_iterator_tag()); - return *this; - } -# 806 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - constexpr - void - assign(size_type __n, const value_type& __val) - { _M_fill_assign(__n, __val); } -# 824 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - template> - constexpr - void - assign(_InputIterator __first, _InputIterator __last) - { _M_assign_aux(__first, __last, std::__iterator_category(__first)); } -# 853 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - constexpr - void - assign(initializer_list __l) - { - this->_M_assign_aux(__l.begin(), __l.end(), - random_access_iterator_tag()); - } - - - - using _Base::get_allocator; - - - - - - - - [[__nodiscard__]] constexpr - iterator - begin() noexcept - { return iterator(this->_M_impl._M_start); } - - - - - - - [[__nodiscard__]] constexpr - const_iterator - begin() const noexcept - { return const_iterator(this->_M_impl._M_start); } - - - - - - - [[__nodiscard__]] constexpr - iterator - end() noexcept - { return iterator(this->_M_impl._M_finish); } - - - - - - - [[__nodiscard__]] constexpr - const_iterator - end() const noexcept - { return const_iterator(this->_M_impl._M_finish); } - - - - - - - [[__nodiscard__]] constexpr - reverse_iterator - rbegin() noexcept - { return reverse_iterator(end()); } - - - - - - - [[__nodiscard__]] constexpr - const_reverse_iterator - rbegin() const noexcept - { return const_reverse_iterator(end()); } - - - - - - - [[__nodiscard__]] constexpr - reverse_iterator - rend() noexcept - { return reverse_iterator(begin()); } - - - - - - - [[__nodiscard__]] constexpr - const_reverse_iterator - rend() const noexcept - { return const_reverse_iterator(begin()); } - - - - - - - - [[__nodiscard__]] constexpr - const_iterator - cbegin() const noexcept - { return const_iterator(this->_M_impl._M_start); } - - - - - - - [[__nodiscard__]] constexpr - const_iterator - cend() const noexcept - { return const_iterator(this->_M_impl._M_finish); } - - - - - - - [[__nodiscard__]] constexpr - const_reverse_iterator - crbegin() const noexcept - { return const_reverse_iterator(end()); } - - - - - - - [[__nodiscard__]] constexpr - const_reverse_iterator - crend() const noexcept - { return const_reverse_iterator(begin()); } - - - - - [[__nodiscard__]] constexpr - size_type - size() const noexcept - { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); } - - - [[__nodiscard__]] constexpr - size_type - max_size() const noexcept - { return _S_max_size(_M_get_Tp_allocator()); } -# 1011 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - constexpr - void - resize(size_type __new_size) - { - if (__new_size > size()) - _M_default_append(__new_size - size()); - else if (__new_size < size()) - _M_erase_at_end(this->_M_impl._M_start + __new_size); - } -# 1032 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - constexpr - void - resize(size_type __new_size, const value_type& __x) - { - if (__new_size > size()) - _M_fill_insert(end(), __new_size - size(), __x); - else if (__new_size < size()) - _M_erase_at_end(this->_M_impl._M_start + __new_size); - } -# 1066 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - constexpr - void - shrink_to_fit() - { _M_shrink_to_fit(); } - - - - - - - [[__nodiscard__]] constexpr - size_type - capacity() const noexcept - { - return size_type(this->_M_impl._M_end_of_storage - - this->_M_impl._M_start); - } - - - - - - [[__nodiscard__]] constexpr - bool - empty() const noexcept - { return begin() == end(); } -# 1110 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - constexpr - void - reserve(size_type __n); -# 1126 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - [[__nodiscard__]] constexpr - reference - operator[](size_type __n) noexcept - { - ; - return *(this->_M_impl._M_start + __n); - } -# 1145 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - [[__nodiscard__]] constexpr - const_reference - operator[](size_type __n) const noexcept - { - ; - return *(this->_M_impl._M_start + __n); - } - - protected: - - constexpr - void - _M_range_check(size_type __n) const - { - if (__n >= this->size()) - __throw_out_of_range_fmt(("vector::_M_range_check: __n " "(which is %zu) >= this->size() " "(which is %zu)") - - , - __n, this->size()); - } - - public: -# 1178 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - [[__nodiscard__]] constexpr - reference - at(size_type __n) - { - _M_range_check(__n); - return (*this)[__n]; - } -# 1197 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - [[__nodiscard__]] constexpr - const_reference - at(size_type __n) const - { - _M_range_check(__n); - return (*this)[__n]; - } - - - - - - [[__nodiscard__]] constexpr - reference - front() noexcept - { - ; - return *begin(); - } - - - - - - [[__nodiscard__]] constexpr - const_reference - front() const noexcept - { - ; - return *begin(); - } - - - - - - [[__nodiscard__]] constexpr - reference - back() noexcept - { - ; - return *(end() - 1); - } - - - - - - [[__nodiscard__]] constexpr - const_reference - back() const noexcept - { - ; - return *(end() - 1); - } -# 1260 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - [[__nodiscard__]] constexpr - _Tp* - data() noexcept - { return _M_data_ptr(this->_M_impl._M_start); } - - [[__nodiscard__]] constexpr - const _Tp* - data() const noexcept - { return _M_data_ptr(this->_M_impl._M_start); } -# 1281 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - constexpr - void - push_back(const value_type& __x) - { - if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) - { - ; - _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, - __x); - ++this->_M_impl._M_finish; - ; - } - else - _M_realloc_append(__x); - } - - - constexpr - void - push_back(value_type&& __x) - { emplace_back(std::move(__x)); } - - template - - constexpr - reference - - - - emplace_back(_Args&&... __args); -# 1322 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - constexpr - void - pop_back() noexcept - { - ; - --this->_M_impl._M_finish; - _Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish); - ; - } -# 1345 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - template - constexpr - iterator - emplace(const_iterator __position, _Args&&... __args) - { return _M_emplace_aux(__position, std::forward<_Args>(__args)...); } -# 1362 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - constexpr - iterator - insert(const_iterator __position, const value_type& __x); -# 1393 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - constexpr - iterator - insert(const_iterator __position, value_type&& __x) - { return _M_insert_rval(__position, std::move(__x)); } -# 1411 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - constexpr - iterator - insert(const_iterator __position, initializer_list __l) - { - auto __offset = __position - cbegin(); - _M_range_insert(begin() + __offset, __l.begin(), __l.end(), - std::random_access_iterator_tag()); - return begin() + __offset; - } -# 1437 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - constexpr - iterator - insert(const_iterator __position, size_type __n, const value_type& __x) - { - difference_type __offset = __position - cbegin(); - _M_fill_insert(begin() + __offset, __n, __x); - return begin() + __offset; - } -# 1480 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - template> - constexpr - iterator - insert(const_iterator __position, _InputIterator __first, - _InputIterator __last) - { - difference_type __offset = __position - cbegin(); - _M_range_insert(begin() + __offset, __first, __last, - std::__iterator_category(__first)); - return begin() + __offset; - } -# 1533 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - constexpr - iterator - - erase(const_iterator __position) - { return _M_erase(begin() + (__position - cbegin())); } -# 1561 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - constexpr - iterator - - erase(const_iterator __first, const_iterator __last) - { - const auto __beg = begin(); - const auto __cbeg = cbegin(); - return _M_erase(__beg + (__first - __cbeg), __beg + (__last - __cbeg)); - } -# 1586 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - constexpr - void - swap(vector& __x) noexcept - { - - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_Alloc_traits::propagate_on_container_swap::value || _M_get_Tp_allocator() == __x._M_get_Tp_allocator()), false)) std::__glibcxx_assert_fail(); } while (false) - ; - - this->_M_impl._M_swap_data(__x._M_impl); - _Alloc_traits::_S_on_swap(_M_get_Tp_allocator(), - __x._M_get_Tp_allocator()); - } - - - - - - - - constexpr - void - clear() noexcept - { _M_erase_at_end(this->_M_impl._M_start); } - - protected: - - - - - template - constexpr - pointer - _M_allocate_and_copy(size_type __n, - _ForwardIterator __first, _ForwardIterator __last) - { - pointer __result = this->_M_allocate(__n); - try - { - std::__uninitialized_copy_a(__first, __last, __result, - _M_get_Tp_allocator()); - return __result; - } - catch(...) - { - _M_deallocate(__result, __n); - throw; - } - } -# 1666 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - template - constexpr - void - _M_range_initialize(_InputIterator __first, _InputIterator __last, - std::input_iterator_tag) - { - try { - for (; __first != __last; ++__first) - - emplace_back(*__first); - - - - } catch(...) { - clear(); - throw; - } - } - - - template - constexpr - void - _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last, - std::forward_iterator_tag) - { - const size_type __n = std::distance(__first, __last); - this->_M_impl._M_start - = this->_M_allocate(_S_check_init_len(__n, _M_get_Tp_allocator())); - this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; - this->_M_impl._M_finish = - std::__uninitialized_copy_a(__first, __last, - this->_M_impl._M_start, - _M_get_Tp_allocator()); - } - - - - constexpr - void - _M_fill_initialize(size_type __n, const value_type& __value) - { - this->_M_impl._M_finish = - std::__uninitialized_fill_n_a(this->_M_impl._M_start, __n, __value, - _M_get_Tp_allocator()); - } - - - - constexpr - void - _M_default_initialize(size_type __n) - { - this->_M_impl._M_finish = - std::__uninitialized_default_n_a(this->_M_impl._M_start, __n, - _M_get_Tp_allocator()); - } -# 1732 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - template - constexpr - void - _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) - { _M_fill_assign(__n, __val); } - - - template - constexpr - void - _M_assign_dispatch(_InputIterator __first, _InputIterator __last, - __false_type) - { _M_assign_aux(__first, __last, std::__iterator_category(__first)); } - - - template - constexpr - void - _M_assign_aux(_InputIterator __first, _InputIterator __last, - std::input_iterator_tag); - - - template - constexpr - void - _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, - std::forward_iterator_tag); - - - - constexpr - void - _M_fill_assign(size_type __n, const value_type& __val); - - - - - - - - template - constexpr - void - _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __val, - __true_type) - { _M_fill_insert(__pos, __n, __val); } - - - template - constexpr - void - _M_insert_dispatch(iterator __pos, _InputIterator __first, - _InputIterator __last, __false_type) - { - _M_range_insert(__pos, __first, __last, - std::__iterator_category(__first)); - } - - - template - constexpr - void - _M_range_insert(iterator __pos, _InputIterator __first, - _InputIterator __last, std::input_iterator_tag); - - - template - constexpr - void - _M_range_insert(iterator __pos, _ForwardIterator __first, - _ForwardIterator __last, std::forward_iterator_tag); - - - - constexpr - void - _M_fill_insert(iterator __pos, size_type __n, const value_type& __x); - - - - constexpr - void - _M_default_append(size_type __n); - - constexpr - bool - _M_shrink_to_fit(); -# 1834 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - struct _Temporary_value - { - template - constexpr explicit - _Temporary_value(vector* __vec, _Args&&... __args) : _M_this(__vec) - { - _Alloc_traits::construct(_M_this->_M_impl, _M_ptr(), - std::forward<_Args>(__args)...); - } - - constexpr - ~_Temporary_value() - { _Alloc_traits::destroy(_M_this->_M_impl, _M_ptr()); } - - constexpr value_type& - _M_val() noexcept { return _M_storage._M_val; } - - private: - constexpr _Tp* - _M_ptr() noexcept { return std::__addressof(_M_storage._M_val); } - - union _Storage - { - constexpr _Storage() : _M_byte() { } - constexpr ~_Storage() { } - _Storage& operator=(const _Storage&) = delete; - unsigned char _M_byte; - _Tp _M_val; - }; - - vector* _M_this; - _Storage _M_storage; - }; - - - - template - constexpr - void - _M_insert_aux(iterator __position, _Arg&& __arg); - - template - constexpr - void - _M_realloc_insert(iterator __position, _Args&&... __args); - - template - constexpr - void - _M_realloc_append(_Args&&... __args); - - - constexpr - iterator - _M_insert_rval(const_iterator __position, value_type&& __v); - - - template - constexpr - iterator - _M_emplace_aux(const_iterator __position, _Args&&... __args); - - - constexpr - iterator - _M_emplace_aux(const_iterator __position, value_type&& __v) - { return _M_insert_rval(__position, std::move(__v)); } - - - - constexpr - size_type - _M_check_len(size_type __n, const char* __s) const - { - if (max_size() - size() < __n) - __throw_length_error((__s)); - - const size_type __len = size() + (std::max)(size(), __n); - return (__len < size() || __len > max_size()) ? max_size() : __len; - } - - - static constexpr size_type - _S_check_init_len(size_type __n, const allocator_type& __a) - { - if (__n > _S_max_size(_Tp_alloc_type(__a))) - __throw_length_error( - ("cannot create std::vector larger than max_size()")); - return __n; - } - - static constexpr size_type - _S_max_size(const _Tp_alloc_type& __a) noexcept - { - - - - const size_t __diffmax - = __gnu_cxx::__numeric_traits::__max / sizeof(_Tp); - const size_t __allocmax = _Alloc_traits::max_size(__a); - return (std::min)(__diffmax, __allocmax); - } - - - - - - constexpr - void - _M_erase_at_end(pointer __pos) noexcept - { - if (size_type __n = this->_M_impl._M_finish - __pos) - { - std::_Destroy(__pos, this->_M_impl._M_finish, - _M_get_Tp_allocator()); - this->_M_impl._M_finish = __pos; - ; - } - } - - constexpr - iterator - _M_erase(iterator __position); - - constexpr - iterator - _M_erase(iterator __first, iterator __last); - - - private: - - - - constexpr - void - _M_move_assign(vector&& __x, true_type) noexcept - { - vector __tmp(get_allocator()); - this->_M_impl._M_swap_data(__x._M_impl); - __tmp._M_impl._M_swap_data(__x._M_impl); - std::__alloc_on_move(_M_get_Tp_allocator(), __x._M_get_Tp_allocator()); - } - - - - constexpr - void - _M_move_assign(vector&& __x, false_type) - { - if (__x._M_get_Tp_allocator() == this->_M_get_Tp_allocator()) - _M_move_assign(std::move(__x), true_type()); - else - { - - - this->_M_assign_aux(std::make_move_iterator(__x.begin()), - std::make_move_iterator(__x.end()), - std::random_access_iterator_tag()); - __x.clear(); - } - } - - - template - constexpr - _Up* - _M_data_ptr(_Up* __ptr) const noexcept - { return __ptr; } - - - template - constexpr - typename std::pointer_traits<_Ptr>::element_type* - _M_data_ptr(_Ptr __ptr) const - { return empty() ? nullptr : std::__to_address(__ptr); } -# 2025 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - }; - - - template::value_type, - typename _Allocator = allocator<_ValT>, - typename = _RequireInputIter<_InputIterator>, - typename = _RequireAllocator<_Allocator>> - vector(_InputIterator, _InputIterator, _Allocator = _Allocator()) - -> vector<_ValT, _Allocator>; -# 2047 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - template - [[__nodiscard__]] constexpr - inline bool - operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) - { return (__x.size() == __y.size() - && std::equal(__x.begin(), __x.end(), __y.begin())); } -# 2066 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - template - [[nodiscard]] constexpr - inline __detail::__synth3way_t<_Tp> - operator<=>(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) - { - return std::lexicographical_compare_three_way(__x.begin(), __x.end(), - __y.begin(), __y.end(), - __detail::__synth3way); - } -# 2119 "/usr/include/c++/14.1.1/bits/stl_vector.h" 3 - template - constexpr - inline void - swap(vector<_Tp, _Alloc>& __x, vector<_Tp, _Alloc>& __y) - noexcept(noexcept(__x.swap(__y))) - { __x.swap(__y); } - - - - - namespace __detail::__variant - { - template struct _Never_valueless_alt; - - - - template - struct _Never_valueless_alt> - : std::is_nothrow_move_assignable> - { }; - } - - - -} -# 67 "/usr/include/c++/14.1.1/vector" 2 3 -# 1 "/usr/include/c++/14.1.1/bits/stl_bvector.h" 1 3 -# 68 "/usr/include/c++/14.1.1/bits/stl_bvector.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - typedef unsigned long _Bit_type; - enum { _S_word_bit = int(8 * sizeof(_Bit_type)) }; - - __attribute__((__nonnull__)) - constexpr - void - __fill_bvector_n(_Bit_type*, size_t, bool) noexcept; - - - - struct _Bit_reference - { - _Bit_type * _M_p; - _Bit_type _M_mask; - - constexpr - _Bit_reference(_Bit_type * __x, _Bit_type __y) - : _M_p(__x), _M_mask(__y) { } - - constexpr - _Bit_reference() noexcept : _M_p(0), _M_mask(0) { } - - - _Bit_reference(const _Bit_reference&) = default; - - - [[__nodiscard__]] constexpr - operator bool() const noexcept - { return !!(*_M_p & _M_mask); } - - constexpr - _Bit_reference& - operator=(bool __x) noexcept - { - if (__x) - *_M_p |= _M_mask; - else - *_M_p &= ~_M_mask; - return *this; - } -# 125 "/usr/include/c++/14.1.1/bits/stl_bvector.h" 3 - constexpr - _Bit_reference& - operator=(const _Bit_reference& __x) noexcept - { return *this = bool(__x); } - - [[__nodiscard__]] constexpr - bool - operator==(const _Bit_reference& __x) const - { return bool(*this) == bool(__x); } - - [[__nodiscard__]] constexpr - bool - operator<(const _Bit_reference& __x) const - { return !bool(*this) && bool(__x); } - - constexpr - void - flip() noexcept - { *_M_p ^= _M_mask; } - - - constexpr - friend void - swap(_Bit_reference __x, _Bit_reference __y) noexcept - { - bool __tmp = __x; - __x = __y; - __y = __tmp; - } - - constexpr - friend void - swap(_Bit_reference __x, bool& __y) noexcept - { - bool __tmp = __x; - __x = __y; - __y = __tmp; - } - - constexpr - friend void - swap(bool& __x, _Bit_reference __y) noexcept - { - bool __tmp = __x; - __x = __y; - __y = __tmp; - } - - }; - - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - struct _Bit_iterator_base - : public std::iterator - { - _Bit_type * _M_p; - unsigned int _M_offset; - - constexpr inline __attribute__((__always_inline__)) - void - _M_assume_normalized() const - { - - unsigned int __ofst = _M_offset; - __attribute__ ((__assume__ (__ofst < unsigned(_S_word_bit)))); - - } - - constexpr - _Bit_iterator_base(_Bit_type * __x, unsigned int __y) - : _M_p(__x), _M_offset(__y) { } - - constexpr - void - _M_bump_up() - { - _M_assume_normalized(); - if (_M_offset++ == int(_S_word_bit) - 1) - { - _M_offset = 0; - ++_M_p; - } - } - - constexpr - void - _M_bump_down() - { - _M_assume_normalized(); - if (_M_offset-- == 0) - { - _M_offset = int(_S_word_bit) - 1; - --_M_p; - } - } - - constexpr - void - _M_incr(ptrdiff_t __i) - { - _M_assume_normalized(); - difference_type __n = __i + _M_offset; - _M_p += __n / int(_S_word_bit); - __n = __n % int(_S_word_bit); - if (__n < 0) - { - __n += int(_S_word_bit); - --_M_p; - } - _M_offset = static_cast(__n); - } - - [[__nodiscard__]] - friend constexpr bool - operator==(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) - { - __x._M_assume_normalized(); - __y._M_assume_normalized(); - return __x._M_p == __y._M_p && __x._M_offset == __y._M_offset; - } - - - [[nodiscard]] - friend constexpr strong_ordering - operator<=>(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) - noexcept - { - __x._M_assume_normalized(); - __y._M_assume_normalized(); - if (const auto __cmp = __x._M_p <=> __y._M_p; __cmp != 0) - return __cmp; - return __x._M_offset <=> __y._M_offset; - } -# 291 "/usr/include/c++/14.1.1/bits/stl_bvector.h" 3 - friend constexpr ptrdiff_t - operator-(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) - { - __x._M_assume_normalized(); - __y._M_assume_normalized(); - return (int(_S_word_bit) * (__x._M_p - __y._M_p) - + __x._M_offset - __y._M_offset); - } - }; -#pragma GCC diagnostic pop - - struct _Bit_iterator : public _Bit_iterator_base - { - typedef _Bit_reference reference; - - typedef void pointer; - - - - typedef _Bit_iterator iterator; - - constexpr - _Bit_iterator() : _Bit_iterator_base(0, 0) { } - - constexpr - _Bit_iterator(_Bit_type * __x, unsigned int __y) - : _Bit_iterator_base(__x, __y) { } - - constexpr - iterator - _M_const_cast() const - { return *this; } - - [[__nodiscard__]] constexpr - reference - operator*() const - { - _M_assume_normalized(); - return reference(_M_p, 1UL << _M_offset); - } - - constexpr - iterator& - operator++() - { - _M_bump_up(); - return *this; - } - - constexpr - iterator - operator++(int) - { - iterator __tmp = *this; - _M_bump_up(); - return __tmp; - } - - constexpr - iterator& - operator--() - { - _M_bump_down(); - return *this; - } - - constexpr - iterator - operator--(int) - { - iterator __tmp = *this; - _M_bump_down(); - return __tmp; - } - - constexpr - iterator& - operator+=(difference_type __i) - { - _M_incr(__i); - return *this; - } - - constexpr - iterator& - operator-=(difference_type __i) - { - *this += -__i; - return *this; - } - - [[__nodiscard__]] constexpr - reference - operator[](difference_type __i) const - { return *(*this + __i); } - - [[__nodiscard__]] - friend constexpr iterator - operator+(const iterator& __x, difference_type __n) - { - iterator __tmp = __x; - __tmp += __n; - return __tmp; - } - - [[__nodiscard__]] - friend constexpr iterator - operator+(difference_type __n, const iterator& __x) - { return __x + __n; } - - [[__nodiscard__]] - friend constexpr iterator - operator-(const iterator& __x, difference_type __n) - { - iterator __tmp = __x; - __tmp -= __n; - return __tmp; - } - }; - - struct _Bit_const_iterator : public _Bit_iterator_base - { - typedef bool reference; - typedef bool const_reference; - - typedef void pointer; - - - - typedef _Bit_const_iterator const_iterator; - - constexpr - _Bit_const_iterator() : _Bit_iterator_base(0, 0) { } - - constexpr - _Bit_const_iterator(_Bit_type * __x, unsigned int __y) - : _Bit_iterator_base(__x, __y) { } - - constexpr - _Bit_const_iterator(const _Bit_iterator& __x) - : _Bit_iterator_base(__x._M_p, __x._M_offset) { } - - constexpr - _Bit_iterator - _M_const_cast() const - { return _Bit_iterator(_M_p, _M_offset); } - - [[__nodiscard__]] constexpr - const_reference - operator*() const - { - _M_assume_normalized(); - return _Bit_reference(_M_p, 1UL << _M_offset); - } - - constexpr - const_iterator& - operator++() - { - _M_bump_up(); - return *this; - } - - constexpr - const_iterator - operator++(int) - { - const_iterator __tmp = *this; - _M_bump_up(); - return __tmp; - } - - constexpr - const_iterator& - operator--() - { - _M_bump_down(); - return *this; - } - - constexpr - const_iterator - operator--(int) - { - const_iterator __tmp = *this; - _M_bump_down(); - return __tmp; - } - - constexpr - const_iterator& - operator+=(difference_type __i) - { - _M_incr(__i); - return *this; - } - - constexpr - const_iterator& - operator-=(difference_type __i) - { - *this += -__i; - return *this; - } - - [[__nodiscard__]] constexpr - const_reference - operator[](difference_type __i) const - { return *(*this + __i); } - - [[__nodiscard__]] - friend constexpr const_iterator - operator+(const const_iterator& __x, difference_type __n) - { - const_iterator __tmp = __x; - __tmp += __n; - return __tmp; - } - - [[__nodiscard__]] - friend constexpr const_iterator - operator-(const const_iterator& __x, difference_type __n) - { - const_iterator __tmp = __x; - __tmp -= __n; - return __tmp; - } - - [[__nodiscard__]] - friend constexpr const_iterator - operator+(difference_type __n, const const_iterator& __x) - { return __x + __n; } - }; - - template - struct _Bvector_base - { - typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template - rebind<_Bit_type>::other _Bit_alloc_type; - typedef typename __gnu_cxx::__alloc_traits<_Bit_alloc_type> - _Bit_alloc_traits; - typedef typename _Bit_alloc_traits::pointer _Bit_pointer; - - struct _Bvector_impl_data - { - - _Bit_iterator _M_start; -# 547 "/usr/include/c++/14.1.1/bits/stl_bvector.h" 3 - _Bit_iterator _M_finish; - _Bit_pointer _M_end_of_storage; - - constexpr - _Bvector_impl_data() noexcept - : _M_start(), _M_finish(), _M_end_of_storage() - { } - - - _Bvector_impl_data(const _Bvector_impl_data&) = default; - - _Bvector_impl_data& - operator=(const _Bvector_impl_data&) = default; - - constexpr - _Bvector_impl_data(_Bvector_impl_data&& __x) noexcept - : _Bvector_impl_data(__x) - { __x._M_reset(); } - - constexpr - void - _M_move_data(_Bvector_impl_data&& __x) noexcept - { - *this = __x; - __x._M_reset(); - } - - - constexpr - void - _M_reset() noexcept - { *this = _Bvector_impl_data(); } - - constexpr - void - _M_swap_data(_Bvector_impl_data& __x) noexcept - { - - - std::swap(*this, __x); - } - }; - - struct _Bvector_impl - : public _Bit_alloc_type, public _Bvector_impl_data - { - constexpr - _Bvector_impl() noexcept(is_nothrow_default_constructible<_Bit_alloc_type>::value) - - - requires is_default_constructible_v<_Bit_alloc_type> - - : _Bit_alloc_type() - { } - - constexpr - _Bvector_impl(const _Bit_alloc_type& __a) noexcept - : _Bit_alloc_type(__a) - { } - - - - - constexpr - _Bvector_impl(_Bvector_impl&& __x) noexcept - : _Bit_alloc_type(std::move(__x)), _Bvector_impl_data(std::move(__x)) - { } - - constexpr - _Bvector_impl(_Bit_alloc_type&& __a, _Bvector_impl&& __x) noexcept - : _Bit_alloc_type(std::move(__a)), _Bvector_impl_data(std::move(__x)) - { } - - - constexpr - _Bit_type* - _M_end_addr() const noexcept - { - if (this->_M_end_of_storage) - return std::__addressof(this->_M_end_of_storage[-1]) + 1; - return 0; - } - }; - - public: - typedef _Alloc allocator_type; - - constexpr - _Bit_alloc_type& - _M_get_Bit_allocator() noexcept - { return this->_M_impl; } - - constexpr - const _Bit_alloc_type& - _M_get_Bit_allocator() const noexcept - { return this->_M_impl; } - - constexpr - allocator_type - get_allocator() const noexcept - { return allocator_type(_M_get_Bit_allocator()); } - - - _Bvector_base() = default; - - - - - constexpr - _Bvector_base(const allocator_type& __a) - : _M_impl(__a) { } - - - _Bvector_base(_Bvector_base&&) = default; - - constexpr - _Bvector_base(_Bvector_base&& __x, const allocator_type& __a) noexcept - : _M_impl(_Bit_alloc_type(__a), std::move(__x._M_impl)) - { } - - - constexpr - ~_Bvector_base() - { this->_M_deallocate(); } - - protected: - _Bvector_impl _M_impl; - - constexpr - _Bit_pointer - _M_allocate(size_t __n) - { - _Bit_pointer __p = _Bit_alloc_traits::allocate(_M_impl, _S_nword(__n)); - - if (std::is_constant_evaluated()) - { - __n = _S_nword(__n); - for (size_t __i = 0; __i < __n; ++__i) - std::construct_at(std::to_address(__p) + __i); - } - - return __p; - } - - constexpr - void - _M_deallocate() - { - if (_M_impl._M_start._M_p) - { - const size_t __n = _M_impl._M_end_addr() - _M_impl._M_start._M_p; - _Bit_alloc_traits::deallocate(_M_impl, - _M_impl._M_end_of_storage - __n, - __n); - _M_impl._M_reset(); - } - } - - - constexpr - void - _M_move_data(_Bvector_base&& __x) noexcept - { _M_impl._M_move_data(std::move(__x._M_impl)); } - - - constexpr - static size_t - _S_nword(size_t __n) - { return (__n + int(_S_word_bit) - 1) / int(_S_word_bit); } - }; -# 739 "/usr/include/c++/14.1.1/bits/stl_bvector.h" 3 - template - class vector : protected _Bvector_base<_Alloc> - { - typedef _Bvector_base<_Alloc> _Base; - typedef typename _Base::_Bit_pointer _Bit_pointer; - typedef typename _Base::_Bit_alloc_traits _Bit_alloc_traits; - - - friend struct std::hash; - - - public: - typedef bool value_type; - typedef size_t size_type; - typedef ptrdiff_t difference_type; - typedef _Bit_reference reference; - typedef bool const_reference; - typedef _Bit_reference* pointer; - typedef const bool* const_pointer; - typedef _Bit_iterator iterator; - typedef _Bit_const_iterator const_iterator; - typedef std::reverse_iterator const_reverse_iterator; - typedef std::reverse_iterator reverse_iterator; - typedef _Alloc allocator_type; - - constexpr - allocator_type - get_allocator() const - { return _Base::get_allocator(); } - - protected: - using _Base::_M_allocate; - using _Base::_M_deallocate; - using _Base::_S_nword; - using _Base::_M_get_Bit_allocator; - - public: - - vector() = default; - - - - - constexpr - explicit - vector(const allocator_type& __a) - : _Base(__a) { } - - - constexpr - explicit - vector(size_type __n, const allocator_type& __a = allocator_type()) - : vector(__n, false, __a) - { } - - constexpr - vector(size_type __n, const bool& __value, - const allocator_type& __a = allocator_type()) - - - - - - : _Base(__a) - { - _M_initialize(__n); - _M_initialize_value(__value); - } - - constexpr - vector(const vector& __x) - : _Base(_Bit_alloc_traits::_S_select_on_copy(__x._M_get_Bit_allocator())) - { - const_iterator __xbegin = __x.begin(), __xend = __x.end(); - _M_initialize(__x.size()); - _M_copy_aligned(__xbegin, __xend, begin()); - } - - - vector(vector&&) = default; - - private: - constexpr - vector(vector&& __x, const allocator_type& __a, true_type) noexcept - : _Base(std::move(__x), __a) - { } - - constexpr - vector(vector&& __x, const allocator_type& __a, false_type) - : _Base(__a) - { - if (__x.get_allocator() == __a) - this->_M_move_data(std::move(__x)); - else - { - _M_initialize(__x.size()); - _M_copy_aligned(__x.begin(), __x.end(), begin()); - __x.clear(); - } - } - - public: - constexpr - vector(vector&& __x, const __type_identity_t& __a) - noexcept(_Bit_alloc_traits::_S_always_equal()) - : vector(std::move(__x), __a, - typename _Bit_alloc_traits::is_always_equal{}) - { } - - constexpr - vector(const vector& __x, const __type_identity_t& __a) - : _Base(__a) - { - _M_initialize(__x.size()); - _M_copy_aligned(__x.begin(), __x.end(), begin()); - } - - constexpr - vector(initializer_list __l, - const allocator_type& __a = allocator_type()) - : _Base(__a) - { - _M_initialize_range(__l.begin(), __l.end(), - random_access_iterator_tag()); - } - - - - template> - constexpr - vector(_InputIterator __first, _InputIterator __last, - const allocator_type& __a = allocator_type()) - : _Base(__a) - { - _M_initialize_range(__first, __last, - std::__iterator_category(__first)); - } -# 889 "/usr/include/c++/14.1.1/bits/stl_bvector.h" 3 - constexpr - ~vector() noexcept { } - - constexpr - vector& - operator=(const vector& __x) - { - if (&__x == this) - return *this; - - if (_Bit_alloc_traits::_S_propagate_on_copy_assign()) - { - if (this->_M_get_Bit_allocator() != __x._M_get_Bit_allocator()) - { - this->_M_deallocate(); - std::__alloc_on_copy(_M_get_Bit_allocator(), - __x._M_get_Bit_allocator()); - _M_initialize(__x.size()); - } - else - std::__alloc_on_copy(_M_get_Bit_allocator(), - __x._M_get_Bit_allocator()); - } - - if (__x.size() > capacity()) - { - this->_M_deallocate(); - _M_initialize(__x.size()); - } - this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(), - begin()); - return *this; - } - - - constexpr - vector& - operator=(vector&& __x) noexcept(_Bit_alloc_traits::_S_nothrow_move()) - { - if (_Bit_alloc_traits::_S_propagate_on_move_assign() - || this->_M_get_Bit_allocator() == __x._M_get_Bit_allocator()) - { - this->_M_deallocate(); - this->_M_move_data(std::move(__x)); - std::__alloc_on_move(_M_get_Bit_allocator(), - __x._M_get_Bit_allocator()); - } - else - { - if (__x.size() > capacity()) - { - this->_M_deallocate(); - _M_initialize(__x.size()); - } - this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(), - begin()); - __x.clear(); - } - return *this; - } - - constexpr - vector& - operator=(initializer_list __l) - { - this->assign(__l.begin(), __l.end()); - return *this; - } - - - - - - - constexpr - void - assign(size_type __n, const bool& __x) - { _M_fill_assign(__n, __x); } - - - template> - constexpr - void - assign(_InputIterator __first, _InputIterator __last) - { _M_assign_aux(__first, __last, std::__iterator_category(__first)); } -# 987 "/usr/include/c++/14.1.1/bits/stl_bvector.h" 3 - constexpr - void - assign(initializer_list __l) - { _M_assign_aux(__l.begin(), __l.end(), random_access_iterator_tag()); } - - - [[__nodiscard__]] constexpr - iterator - begin() noexcept - { return iterator(this->_M_impl._M_start._M_p, 0); } - - [[__nodiscard__]] constexpr - const_iterator - begin() const noexcept - { return const_iterator(this->_M_impl._M_start._M_p, 0); } - - [[__nodiscard__]] constexpr - iterator - end() noexcept - { return this->_M_impl._M_finish; } - - [[__nodiscard__]] constexpr - const_iterator - end() const noexcept - { return this->_M_impl._M_finish; } - - [[__nodiscard__]] constexpr - reverse_iterator - rbegin() noexcept - { return reverse_iterator(end()); } - - [[__nodiscard__]] constexpr - const_reverse_iterator - rbegin() const noexcept - { return const_reverse_iterator(end()); } - - [[__nodiscard__]] constexpr - reverse_iterator - rend() noexcept - { return reverse_iterator(begin()); } - - [[__nodiscard__]] constexpr - const_reverse_iterator - rend() const noexcept - { return const_reverse_iterator(begin()); } - - - [[__nodiscard__]] constexpr - const_iterator - cbegin() const noexcept - { return const_iterator(this->_M_impl._M_start._M_p, 0); } - - [[__nodiscard__]] constexpr - const_iterator - cend() const noexcept - { return this->_M_impl._M_finish; } - - [[__nodiscard__]] constexpr - const_reverse_iterator - crbegin() const noexcept - { return const_reverse_iterator(end()); } - - [[__nodiscard__]] constexpr - const_reverse_iterator - crend() const noexcept - { return const_reverse_iterator(begin()); } - - - [[__nodiscard__]] constexpr - size_type - size() const noexcept - { return size_type(end() - begin()); } - - [[__nodiscard__]] constexpr - size_type - max_size() const noexcept - { - const size_type __isize = - __gnu_cxx::__numeric_traits::__max - - int(_S_word_bit) + 1; - const size_type __asize - = _Bit_alloc_traits::max_size(_M_get_Bit_allocator()); - return (__asize <= __isize / int(_S_word_bit) - ? __asize * int(_S_word_bit) : __isize); - } - - [[__nodiscard__]] constexpr - size_type - capacity() const noexcept - { return size_type(const_iterator(this->_M_impl._M_end_addr(), 0) - - begin()); } - - [[__nodiscard__]] constexpr - bool - empty() const noexcept - { return begin() == end(); } - - [[__nodiscard__]] constexpr - reference - operator[](size_type __n) - { return begin()[__n]; } - - [[__nodiscard__]] constexpr - const_reference - operator[](size_type __n) const - { return begin()[__n]; } - - protected: - constexpr - void - _M_range_check(size_type __n) const - { - if (__n >= this->size()) - __throw_out_of_range_fmt(("vector::_M_range_check: __n " "(which is %zu) >= this->size() " "(which is %zu)") - - , - __n, this->size()); - } - - public: - [[__nodiscard__]] constexpr - reference - at(size_type __n) - { - _M_range_check(__n); - return (*this)[__n]; - } - - [[__nodiscard__]] constexpr - const_reference - at(size_type __n) const - { - _M_range_check(__n); - return (*this)[__n]; - } - - constexpr - void - reserve(size_type __n) - { - if (__n > max_size()) - __throw_length_error(("vector::reserve")); - if (capacity() < __n) - _M_reallocate(__n); - } - - [[__nodiscard__]] constexpr - reference - front() - { return *begin(); } - - [[__nodiscard__]] constexpr - const_reference - front() const - { return *begin(); } - - [[__nodiscard__]] constexpr - reference - back() - { return *(end() - 1); } - - [[__nodiscard__]] constexpr - const_reference - back() const - { return *(end() - 1); } - - constexpr - void - push_back(bool __x) - { - if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr()) - *this->_M_impl._M_finish++ = __x; - else - _M_insert_aux(end(), __x); - } - - constexpr - void - swap(vector& __x) noexcept - { - - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(_Bit_alloc_traits::propagate_on_container_swap::value || _M_get_Bit_allocator() == __x._M_get_Bit_allocator()), false)) std::__glibcxx_assert_fail(); } while (false) - ; - - this->_M_impl._M_swap_data(__x._M_impl); - _Bit_alloc_traits::_S_on_swap(_M_get_Bit_allocator(), - __x._M_get_Bit_allocator()); - } - - - constexpr - static void - swap(reference __x, reference __y) noexcept - { - bool __tmp = __x; - __x = __y; - __y = __tmp; - } - - constexpr - iterator - - insert(const_iterator __position, const bool& __x) - - - - { - const difference_type __n = __position - begin(); - if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr() - && __position == end()) - *this->_M_impl._M_finish++ = __x; - else - _M_insert_aux(__position._M_const_cast(), __x); - return begin() + __n; - } - - - __attribute__ ((__deprecated__ ("use '" "insert(position, false)" "' instead"))) - iterator - insert(const_iterator __position) - { return this->insert(__position._M_const_cast(), false); } - - - - template> - constexpr - iterator - insert(const_iterator __position, - _InputIterator __first, _InputIterator __last) - { - difference_type __offset = __position - cbegin(); - _M_insert_range(__position._M_const_cast(), - __first, __last, - std::__iterator_category(__first)); - return begin() + __offset; - } -# 1237 "/usr/include/c++/14.1.1/bits/stl_bvector.h" 3 - constexpr - iterator - insert(const_iterator __position, size_type __n, const bool& __x) - { - difference_type __offset = __position - cbegin(); - _M_fill_insert(__position._M_const_cast(), __n, __x); - return begin() + __offset; - } - - - - - - - - constexpr - iterator - insert(const_iterator __p, initializer_list __l) - { return this->insert(__p, __l.begin(), __l.end()); } - - - constexpr - void - pop_back() - { --this->_M_impl._M_finish; } - - constexpr - iterator - - erase(const_iterator __position) - - - - { return _M_erase(__position._M_const_cast()); } - - constexpr - iterator - - erase(const_iterator __first, const_iterator __last) - - - - { return _M_erase(__first._M_const_cast(), __last._M_const_cast()); } - - constexpr - void - resize(size_type __new_size, bool __x = bool()) - { - if (__new_size < size()) - _M_erase_at_end(begin() + difference_type(__new_size)); - else - insert(end(), __new_size - size(), __x); - } - - - constexpr - void - shrink_to_fit() - { _M_shrink_to_fit(); } - - - constexpr - void - flip() noexcept - { - _Bit_type * const __end = this->_M_impl._M_end_addr(); - for (_Bit_type * __p = this->_M_impl._M_start._M_p; __p != __end; ++__p) - *__p = ~*__p; - } - - constexpr - void - clear() noexcept - { _M_erase_at_end(begin()); } - - - template - - constexpr - reference - - - - emplace_back(_Args&&... __args) - { - push_back(bool(__args...)); - - return back(); - - } - - template - constexpr - iterator - emplace(const_iterator __pos, _Args&&... __args) - { return insert(__pos, bool(__args...)); } - - - protected: - - constexpr - iterator - _M_copy_aligned(const_iterator __first, const_iterator __last, - iterator __result) - { - _Bit_type* __q = std::copy(__first._M_p, __last._M_p, __result._M_p); - return std::copy(const_iterator(__last._M_p, 0), __last, - iterator(__q, 0)); - } - - constexpr - void - _M_initialize(size_type __n) - { - if (__n) - { - _Bit_pointer __q = this->_M_allocate(__n); - this->_M_impl._M_end_of_storage = __q + _S_nword(__n); - iterator __start = iterator(std::__addressof(*__q), 0); - this->_M_impl._M_start = __start; - this->_M_impl._M_finish = __start + difference_type(__n); - } - } - - constexpr - void - _M_initialize_value(bool __x) noexcept - { - if (_Bit_type* __p = this->_M_impl._M_start._M_p) - __fill_bvector_n(__p, this->_M_impl._M_end_addr() - __p, __x); - } - - constexpr - void - _M_reallocate(size_type __n); - - - constexpr - bool - _M_shrink_to_fit(); -# 1398 "/usr/include/c++/14.1.1/bits/stl_bvector.h" 3 - template - constexpr - void - _M_initialize_range(_InputIterator __first, _InputIterator __last, - std::input_iterator_tag) - { - for (; __first != __last; ++__first) - push_back(*__first); - } - - template - constexpr - void - _M_initialize_range(_ForwardIterator __first, _ForwardIterator __last, - std::forward_iterator_tag) - { - const size_type __n = std::distance(__first, __last); - _M_initialize(__n); - std::copy(__first, __last, begin()); - } -# 1434 "/usr/include/c++/14.1.1/bits/stl_bvector.h" 3 - constexpr - void - _M_fill_assign(size_t __n, bool __x) - { - if (__n > size()) - { - _M_initialize_value(__x); - insert(end(), __n - size(), __x); - } - else - { - _M_erase_at_end(begin() + __n); - _M_initialize_value(__x); - } - } - - template - constexpr - void - _M_assign_aux(_InputIterator __first, _InputIterator __last, - std::input_iterator_tag) - { - iterator __cur = begin(); - for (; __first != __last && __cur != end(); ++__cur, (void)++__first) - *__cur = *__first; - if (__first == __last) - _M_erase_at_end(__cur); - else - insert(end(), __first, __last); - } - - template - constexpr - void - _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, - std::forward_iterator_tag) - { - const size_type __len = std::distance(__first, __last); - if (__len < size()) - _M_erase_at_end(std::copy(__first, __last, begin())); - else - { - _ForwardIterator __mid = __first; - std::advance(__mid, size()); - std::copy(__first, __mid, begin()); - insert(end(), __mid, __last); - } - } -# 1501 "/usr/include/c++/14.1.1/bits/stl_bvector.h" 3 - constexpr - void - _M_fill_insert(iterator __position, size_type __n, bool __x); - - template - constexpr - void - _M_insert_range(iterator __pos, _InputIterator __first, - _InputIterator __last, std::input_iterator_tag) - { - for (; __first != __last; ++__first) - { - __pos = insert(__pos, *__first); - ++__pos; - } - } - - template - constexpr - void - _M_insert_range(iterator __position, _ForwardIterator __first, - _ForwardIterator __last, std::forward_iterator_tag); - - constexpr - void - _M_insert_aux(iterator __position, bool __x); - - constexpr - size_type - _M_check_len(size_type __n, const char* __s) const - { - if (max_size() - size() < __n) - __throw_length_error((__s)); - - const size_type __len = size() + std::max(size(), __n); - return (__len < size() || __len > max_size()) ? max_size() : __len; - } - - constexpr - void - _M_erase_at_end(iterator __pos) - { this->_M_impl._M_finish = __pos; } - - constexpr - iterator - _M_erase(iterator __pos); - - constexpr - iterator - _M_erase(iterator __first, iterator __last); - - protected: - - - - - - - void data() = delete; - - - - }; - - - - - constexpr - inline void - __fill_bvector(_Bit_type* __v, unsigned int __first, unsigned int __last, - bool __x) noexcept - { - const _Bit_type __fmask = ~0ul << __first; - const _Bit_type __lmask = ~0ul >> (_S_word_bit - __last); - const _Bit_type __mask = __fmask & __lmask; - - if (__x) - *__v |= __mask; - else - *__v &= ~__mask; - } - - - __attribute__((__nonnull__)) - constexpr - inline void - __fill_bvector_n(_Bit_type* __p, size_t __n, bool __x) noexcept - { - - if (std::is_constant_evaluated()) - { - for (size_t __i = 0; __i < __n; ++__i) - __p[__i] = __x ? ~0ul : 0ul; - return; - } - - __builtin_memset(__p, __x ? ~0 : 0, __n * sizeof(_Bit_type)); - } - - - constexpr - inline void - __fill_a1(std::_Bit_iterator __first, - std::_Bit_iterator __last, const bool& __x) - { - if (__first._M_p != __last._M_p) - { - _Bit_type* __first_p = __first._M_p; - if (__first._M_offset != 0) - __fill_bvector(__first_p++, __first._M_offset, _S_word_bit, __x); - - __fill_bvector_n(__first_p, __last._M_p - __first_p, __x); - - if (__last._M_offset != 0) - __fill_bvector(__last._M_p, 0, __last._M_offset, __x); - } - else if (__first._M_offset != __last._M_offset) - __fill_bvector(__first._M_p, __first._M_offset, __last._M_offset, __x); - } - - - - - template - struct hash> - : public __hash_base> - { - size_t - operator()(const std::vector&) const noexcept; - }; - - - -} -# 68 "/usr/include/c++/14.1.1/vector" 2 3 - - - - -# 1 "/usr/include/c++/14.1.1/bits/vector.tcc" 1 3 -# 59 "/usr/include/c++/14.1.1/bits/vector.tcc" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - template - constexpr - void - vector<_Tp, _Alloc>:: - reserve(size_type __n) - { - if (__n > this->max_size()) - __throw_length_error(("vector::reserve")); - if (this->capacity() < __n) - { - const size_type __old_size = size(); - pointer __tmp; - - if constexpr (_S_use_relocate()) - { - __tmp = this->_M_allocate(__n); - _S_relocate(this->_M_impl._M_start, this->_M_impl._M_finish, - __tmp, _M_get_Tp_allocator()); - } - else - - { - __tmp = _M_allocate_and_copy(__n, - std::__make_move_if_noexcept_iterator(this->_M_impl._M_start), - std::__make_move_if_noexcept_iterator(this->_M_impl._M_finish)); - std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, - _M_get_Tp_allocator()); - } - ; - _M_deallocate(this->_M_impl._M_start, - this->_M_impl._M_end_of_storage - - this->_M_impl._M_start); - this->_M_impl._M_start = __tmp; - this->_M_impl._M_finish = __tmp + __old_size; - this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; - } - } - - - template - template - - constexpr - typename vector<_Tp, _Alloc>::reference - - - - vector<_Tp, _Alloc>:: - emplace_back(_Args&&... __args) - { - if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) - { - ; - _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, - std::forward<_Args>(__args)...); - ++this->_M_impl._M_finish; - ; - } - else - _M_realloc_append(std::forward<_Args>(__args)...); - - return back(); - - } - - - template - constexpr - typename vector<_Tp, _Alloc>::iterator - vector<_Tp, _Alloc>:: - - insert(const_iterator __position, const value_type& __x) - - - - { - const size_type __n = __position - begin(); - if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) - { - do { if (std::__is_constant_evaluated()) if (__builtin_expect(!bool(__position != const_iterator()), false)) std::__glibcxx_assert_fail(); } while (false); - if (!(__position != const_iterator())) - __builtin_unreachable(); - - if (__position == end()) - { - ; - _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, - __x); - ++this->_M_impl._M_finish; - ; - } - else - { - - const auto __pos = begin() + (__position - cbegin()); - - - _Temporary_value __x_copy(this, __x); - _M_insert_aux(__pos, std::move(__x_copy._M_val())); - - - - } - } - else - - _M_realloc_insert(begin() + (__position - cbegin()), __x); - - - - - return iterator(this->_M_impl._M_start + __n); - } - - template - constexpr - typename vector<_Tp, _Alloc>::iterator - vector<_Tp, _Alloc>:: - _M_erase(iterator __position) - { - if (__position + 1 != end()) - std::move(__position + 1, end(), __position); - --this->_M_impl._M_finish; - _Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish); - ; - return __position; - } - - template - constexpr - typename vector<_Tp, _Alloc>::iterator - vector<_Tp, _Alloc>:: - _M_erase(iterator __first, iterator __last) - { - if (__first != __last) - { - if (__last != end()) - std::move(__last, end(), __first); - _M_erase_at_end(__first.base() + (end() - __last)); - } - return __first; - } - - template - constexpr - vector<_Tp, _Alloc>& - vector<_Tp, _Alloc>:: - operator=(const vector<_Tp, _Alloc>& __x) - { - if (std::__addressof(__x) != this) - { - ; - - if (_Alloc_traits::_S_propagate_on_copy_assign()) - { - if (!_Alloc_traits::_S_always_equal() - && _M_get_Tp_allocator() != __x._M_get_Tp_allocator()) - { - - this->clear(); - _M_deallocate(this->_M_impl._M_start, - this->_M_impl._M_end_of_storage - - this->_M_impl._M_start); - this->_M_impl._M_start = nullptr; - this->_M_impl._M_finish = nullptr; - this->_M_impl._M_end_of_storage = nullptr; - } - std::__alloc_on_copy(_M_get_Tp_allocator(), - __x._M_get_Tp_allocator()); - } - - const size_type __xlen = __x.size(); - if (__xlen > capacity()) - { - pointer __tmp = _M_allocate_and_copy(__xlen, __x.begin(), - __x.end()); - std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, - _M_get_Tp_allocator()); - _M_deallocate(this->_M_impl._M_start, - this->_M_impl._M_end_of_storage - - this->_M_impl._M_start); - this->_M_impl._M_start = __tmp; - this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __xlen; - } - else if (size() >= __xlen) - { - std::_Destroy(std::copy(__x.begin(), __x.end(), begin()), - end(), _M_get_Tp_allocator()); - } - else - { - std::copy(__x._M_impl._M_start, __x._M_impl._M_start + size(), - this->_M_impl._M_start); - std::__uninitialized_copy_a(__x._M_impl._M_start + size(), - __x._M_impl._M_finish, - this->_M_impl._M_finish, - _M_get_Tp_allocator()); - } - this->_M_impl._M_finish = this->_M_impl._M_start + __xlen; - } - return *this; - } - - template - constexpr - void - vector<_Tp, _Alloc>:: - _M_fill_assign(size_t __n, const value_type& __val) - { - const size_type __sz = size(); - if (__n > capacity()) - { - if (__n <= __sz) - __builtin_unreachable(); - vector __tmp(__n, __val, _M_get_Tp_allocator()); - __tmp._M_impl._M_swap_data(this->_M_impl); - } - else if (__n > __sz) - { - std::fill(begin(), end(), __val); - const size_type __add = __n - __sz; - ; - this->_M_impl._M_finish = - std::__uninitialized_fill_n_a(this->_M_impl._M_finish, - __add, __val, _M_get_Tp_allocator()); - ; - } - else - _M_erase_at_end(std::fill_n(this->_M_impl._M_start, __n, __val)); - } - - template - template - constexpr - void - vector<_Tp, _Alloc>:: - _M_assign_aux(_InputIterator __first, _InputIterator __last, - std::input_iterator_tag) - { - pointer __cur(this->_M_impl._M_start); - for (; __first != __last && __cur != this->_M_impl._M_finish; - ++__cur, (void)++__first) - *__cur = *__first; - if (__first == __last) - _M_erase_at_end(__cur); - else - _M_range_insert(end(), __first, __last, - std::__iterator_category(__first)); - } - - template - template - constexpr - void - vector<_Tp, _Alloc>:: - _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, - std::forward_iterator_tag) - { - const size_type __sz = size(); - const size_type __len = std::distance(__first, __last); - - if (__len > capacity()) - { - if (__len <= __sz) - __builtin_unreachable(); - - _S_check_init_len(__len, _M_get_Tp_allocator()); - pointer __tmp(_M_allocate_and_copy(__len, __first, __last)); - std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, - _M_get_Tp_allocator()); - ; - _M_deallocate(this->_M_impl._M_start, - this->_M_impl._M_end_of_storage - - this->_M_impl._M_start); - this->_M_impl._M_start = __tmp; - this->_M_impl._M_finish = this->_M_impl._M_start + __len; - this->_M_impl._M_end_of_storage = this->_M_impl._M_finish; - } - else if (__sz >= __len) - _M_erase_at_end(std::copy(__first, __last, this->_M_impl._M_start)); - else - { - _ForwardIterator __mid = __first; - std::advance(__mid, __sz); - std::copy(__first, __mid, this->_M_impl._M_start); - const size_type __attribute__((__unused__)) __n = __len - __sz; - ; - this->_M_impl._M_finish = - std::__uninitialized_copy_a(__mid, __last, - this->_M_impl._M_finish, - _M_get_Tp_allocator()); - ; - } - } - - - template - constexpr - auto - vector<_Tp, _Alloc>:: - _M_insert_rval(const_iterator __position, value_type&& __v) -> iterator - { - const auto __n = __position - cbegin(); - if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) - if (__position == cend()) - { - ; - _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, - std::move(__v)); - ++this->_M_impl._M_finish; - ; - } - else - _M_insert_aux(begin() + __n, std::move(__v)); - else - _M_realloc_insert(begin() + __n, std::move(__v)); - - return iterator(this->_M_impl._M_start + __n); - } - - template - template - constexpr - auto - vector<_Tp, _Alloc>:: - _M_emplace_aux(const_iterator __position, _Args&&... __args) - -> iterator - { - const auto __n = __position - cbegin(); - if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) - if (__position == cend()) - { - ; - _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, - std::forward<_Args>(__args)...); - ++this->_M_impl._M_finish; - ; - } - else - { - - - - _Temporary_value __tmp(this, std::forward<_Args>(__args)...); - _M_insert_aux(begin() + __n, std::move(__tmp._M_val())); - } - else - _M_realloc_insert(begin() + __n, std::forward<_Args>(__args)...); - - return iterator(this->_M_impl._M_start + __n); - } - - template - template - constexpr - void - vector<_Tp, _Alloc>:: - _M_insert_aux(iterator __position, _Arg&& __arg) - - - - - - - { - ; - _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, - std::move(*(this->_M_impl._M_finish - 1))); - ++this->_M_impl._M_finish; - ; - - - - std::move_backward(__position.base(), this->_M_impl._M_finish - 2, this->_M_impl._M_finish - 1) - - ; - - - - *__position = std::forward<_Arg>(__arg); - - } - - - template - template - constexpr - void - vector<_Tp, _Alloc>:: - _M_realloc_insert(iterator __position, _Args&&... __args) - - - - - - - { - const size_type __len = _M_check_len(1u, "vector::_M_realloc_insert"); - if (__len <= 0) - __builtin_unreachable (); - pointer __old_start = this->_M_impl._M_start; - pointer __old_finish = this->_M_impl._M_finish; - const size_type __elems_before = __position - begin(); - pointer __new_start(this->_M_allocate(__len)); - pointer __new_finish(__new_start); - - - struct _Guard - { - pointer _M_storage; - size_type _M_len; - _Tp_alloc_type& _M_alloc; - - constexpr - _Guard(pointer __s, size_type __l, _Tp_alloc_type& __a) - : _M_storage(__s), _M_len(__l), _M_alloc(__a) - { } - - constexpr - ~_Guard() - { - if (_M_storage) - __gnu_cxx::__alloc_traits<_Tp_alloc_type>:: - deallocate(_M_alloc, _M_storage, _M_len); - } - - private: - _Guard(const _Guard&); - }; - - { - _Guard __guard(__new_start, __len, _M_impl); -# 505 "/usr/include/c++/14.1.1/bits/vector.tcc" 3 - _Alloc_traits::construct(this->_M_impl, - std::__to_address(__new_start + __elems_before), - std::forward<_Args>(__args)...); - - - - - - - - if constexpr (_S_use_relocate()) - { - - __new_finish = _S_relocate(__old_start, __position.base(), - __new_start, _M_get_Tp_allocator()); - ++__new_finish; - __new_finish = _S_relocate(__position.base(), __old_finish, - __new_finish, _M_get_Tp_allocator()); - } - else - - { - - struct _Guard_elts - { - pointer _M_first, _M_last; - _Tp_alloc_type& _M_alloc; - - constexpr - _Guard_elts(pointer __elt, _Tp_alloc_type& __a) - : _M_first(__elt), _M_last(__elt + 1), _M_alloc(__a) - { } - - constexpr - ~_Guard_elts() - { std::_Destroy(_M_first, _M_last, _M_alloc); } - - private: - _Guard_elts(const _Guard_elts&); - }; - - - _Guard_elts __guard_elts(__new_start + __elems_before, _M_impl); - - __new_finish = std::__uninitialized_move_if_noexcept_a( - __old_start, __position.base(), - __new_start, _M_get_Tp_allocator()); - - ++__new_finish; - - __guard_elts._M_first = __new_start; - - __new_finish = std::__uninitialized_move_if_noexcept_a( - __position.base(), __old_finish, - __new_finish, _M_get_Tp_allocator()); - - - __guard_elts._M_first = __old_start; - __guard_elts._M_last = __old_finish; - } - __guard._M_storage = __old_start; - __guard._M_len = this->_M_impl._M_end_of_storage - __old_start; - } - - - - this->_M_impl._M_start = __new_start; - this->_M_impl._M_finish = __new_finish; - this->_M_impl._M_end_of_storage = __new_start + __len; - } - - - template - template - constexpr - void - vector<_Tp, _Alloc>:: - _M_realloc_append(_Args&&... __args) - - - - - - - { - const size_type __len = _M_check_len(1u, "vector::_M_realloc_append"); - if (__len <= 0) - __builtin_unreachable (); - pointer __old_start = this->_M_impl._M_start; - pointer __old_finish = this->_M_impl._M_finish; - const size_type __elems = end() - begin(); - pointer __new_start(this->_M_allocate(__len)); - pointer __new_finish(__new_start); - - - struct _Guard - { - pointer _M_storage; - size_type _M_len; - _Tp_alloc_type& _M_alloc; - - constexpr - _Guard(pointer __s, size_type __l, _Tp_alloc_type& __a) - : _M_storage(__s), _M_len(__l), _M_alloc(__a) - { } - - constexpr - ~_Guard() - { - if (_M_storage) - __gnu_cxx::__alloc_traits<_Tp_alloc_type>:: - deallocate(_M_alloc, _M_storage, _M_len); - } - - private: - _Guard(const _Guard&); - }; - - { - _Guard __guard(__new_start, __len, _M_impl); -# 634 "/usr/include/c++/14.1.1/bits/vector.tcc" 3 - _Alloc_traits::construct(this->_M_impl, - std::__to_address(__new_start + __elems), - std::forward<_Args>(__args)...); - - - - - - - - if constexpr (_S_use_relocate()) - { - - __new_finish = _S_relocate(__old_start, __old_finish, - __new_start, _M_get_Tp_allocator()); - ++__new_finish; - } - else - - { - - struct _Guard_elts - { - pointer _M_first, _M_last; - _Tp_alloc_type& _M_alloc; - - constexpr - _Guard_elts(pointer __elt, _Tp_alloc_type& __a) - : _M_first(__elt), _M_last(__elt + 1), _M_alloc(__a) - { } - - constexpr - ~_Guard_elts() - { std::_Destroy(_M_first, _M_last, _M_alloc); } - - private: - _Guard_elts(const _Guard_elts&); - }; - - - _Guard_elts __guard_elts(__new_start + __elems, _M_impl); - - __new_finish = std::__uninitialized_move_if_noexcept_a( - __old_start, __old_finish, - __new_start, _M_get_Tp_allocator()); - - ++__new_finish; - - - __guard_elts._M_first = __old_start; - __guard_elts._M_last = __old_finish; - } - __guard._M_storage = __old_start; - __guard._M_len = this->_M_impl._M_end_of_storage - __old_start; - } - - - - this->_M_impl._M_start = __new_start; - this->_M_impl._M_finish = __new_finish; - this->_M_impl._M_end_of_storage = __new_start + __len; - } - - template - constexpr - void - vector<_Tp, _Alloc>:: - _M_fill_insert(iterator __position, size_type __n, const value_type& __x) - { - if (__n != 0) - { - if (size_type(this->_M_impl._M_end_of_storage - - this->_M_impl._M_finish) >= __n) - { - - - - _Temporary_value __tmp(this, __x); - value_type& __x_copy = __tmp._M_val(); - - const size_type __elems_after = end() - __position; - pointer __old_finish(this->_M_impl._M_finish); - if (__elems_after > __n) - { - ; - std::__uninitialized_move_a(__old_finish - __n, - __old_finish, - __old_finish, - _M_get_Tp_allocator()); - this->_M_impl._M_finish += __n; - ; - std::move_backward(__position.base(), __old_finish - __n, __old_finish) - ; - std::fill(__position.base(), __position.base() + __n, - __x_copy); - } - else - { - ; - this->_M_impl._M_finish = - std::__uninitialized_fill_n_a(__old_finish, - __n - __elems_after, - __x_copy, - _M_get_Tp_allocator()); - ; - std::__uninitialized_move_a(__position.base(), __old_finish, - this->_M_impl._M_finish, - _M_get_Tp_allocator()); - this->_M_impl._M_finish += __elems_after; - ; - std::fill(__position.base(), __old_finish, __x_copy); - } - } - else - { - - - pointer __old_start = this->_M_impl._M_start; - pointer __old_finish = this->_M_impl._M_finish; - const pointer __pos = __position.base(); - - const size_type __len = - _M_check_len(__n, "vector::_M_fill_insert"); - const size_type __elems_before = __pos - __old_start; - pointer __new_start(this->_M_allocate(__len)); - pointer __new_finish(__new_start); - try - { - - std::__uninitialized_fill_n_a(__new_start + __elems_before, - __n, __x, - _M_get_Tp_allocator()); - __new_finish = pointer(); - - __new_finish - = std::__uninitialized_move_if_noexcept_a - (__old_start, __pos, __new_start, _M_get_Tp_allocator()); - - __new_finish += __n; - - __new_finish - = std::__uninitialized_move_if_noexcept_a - (__pos, __old_finish, __new_finish, _M_get_Tp_allocator()); - } - catch(...) - { - if (!__new_finish) - std::_Destroy(__new_start + __elems_before, - __new_start + __elems_before + __n, - _M_get_Tp_allocator()); - else - std::_Destroy(__new_start, __new_finish, - _M_get_Tp_allocator()); - _M_deallocate(__new_start, __len); - throw; - } - std::_Destroy(__old_start, __old_finish, _M_get_Tp_allocator()); - ; - _M_deallocate(__old_start, - this->_M_impl._M_end_of_storage - __old_start); - this->_M_impl._M_start = __new_start; - this->_M_impl._M_finish = __new_finish; - this->_M_impl._M_end_of_storage = __new_start + __len; - } - } - } - - - template - constexpr - void - vector<_Tp, _Alloc>:: - _M_default_append(size_type __n) - { - if (__n != 0) - { - const size_type __size = size(); - size_type __navail = size_type(this->_M_impl._M_end_of_storage - - this->_M_impl._M_finish); - - if (__size > max_size() || __navail > max_size() - __size) - __builtin_unreachable(); - - if (__navail >= __n) - { - ; - this->_M_impl._M_finish = - std::__uninitialized_default_n_a(this->_M_impl._M_finish, - __n, _M_get_Tp_allocator()); - ; - } - else - { - - - pointer __old_start = this->_M_impl._M_start; - pointer __old_finish = this->_M_impl._M_finish; - - const size_type __len = - _M_check_len(__n, "vector::_M_default_append"); - pointer __new_start(this->_M_allocate(__len)); - - - struct _Guard - { - pointer _M_storage; - size_type _M_len; - _Tp_alloc_type& _M_alloc; - - constexpr - _Guard(pointer __s, size_type __l, _Tp_alloc_type& __a) - : _M_storage(__s), _M_len(__l), _M_alloc(__a) - { } - - constexpr - ~_Guard() - { - if (_M_storage) - __gnu_cxx::__alloc_traits<_Tp_alloc_type>:: - deallocate(_M_alloc, _M_storage, _M_len); - } - - private: - _Guard(const _Guard&); - }; - - { - _Guard __guard(__new_start, __len, _M_impl); - - std::__uninitialized_default_n_a(__new_start + __size, __n, - _M_get_Tp_allocator()); - - if constexpr (_S_use_relocate()) - { - _S_relocate(__old_start, __old_finish, - __new_start, _M_get_Tp_allocator()); - } - else - { - - struct _Guard_elts - { - pointer _M_first, _M_last; - _Tp_alloc_type& _M_alloc; - - constexpr - _Guard_elts(pointer __first, size_type __n, - _Tp_alloc_type& __a) - : _M_first(__first), _M_last(__first + __n), _M_alloc(__a) - { } - - constexpr - ~_Guard_elts() - { std::_Destroy(_M_first, _M_last, _M_alloc); } - - private: - _Guard_elts(const _Guard_elts&); - }; - _Guard_elts __guard_elts(__new_start + __size, __n, _M_impl); - - std::__uninitialized_move_if_noexcept_a( - __old_start, __old_finish, __new_start, - _M_get_Tp_allocator()); - - __guard_elts._M_first = __old_start; - __guard_elts._M_last = __old_finish; - } - ; - __guard._M_storage = __old_start; - __guard._M_len = this->_M_impl._M_end_of_storage - __old_start; - } - - - - this->_M_impl._M_start = __new_start; - this->_M_impl._M_finish = __new_start + __size + __n; - this->_M_impl._M_end_of_storage = __new_start + __len; - } - } - } - - template - constexpr - bool - vector<_Tp, _Alloc>:: - _M_shrink_to_fit() - { - if (capacity() == size()) - return false; - ; - return std::__shrink_to_fit_aux::_S_do_it(*this); - } - - - template - template - constexpr - void - vector<_Tp, _Alloc>:: - _M_range_insert(iterator __pos, _InputIterator __first, - _InputIterator __last, std::input_iterator_tag) - { - if (__pos == end()) - { - for (; __first != __last; ++__first) - insert(end(), *__first); - } - else if (__first != __last) - { - vector __tmp(__first, __last, _M_get_Tp_allocator()); - insert(__pos, - std::make_move_iterator(__tmp.begin()), - std::make_move_iterator(__tmp.end())); - } - } - - template - template - constexpr - void - vector<_Tp, _Alloc>:: - _M_range_insert(iterator __position, _ForwardIterator __first, - _ForwardIterator __last, std::forward_iterator_tag) - { - if (__first != __last) - { - const size_type __n = std::distance(__first, __last); - if (size_type(this->_M_impl._M_end_of_storage - - this->_M_impl._M_finish) >= __n) - { - const size_type __elems_after = end() - __position; - pointer __old_finish(this->_M_impl._M_finish); - if (__elems_after > __n) - { - ; - std::__uninitialized_move_a(this->_M_impl._M_finish - __n, - this->_M_impl._M_finish, - this->_M_impl._M_finish, - _M_get_Tp_allocator()); - this->_M_impl._M_finish += __n; - ; - std::move_backward(__position.base(), __old_finish - __n, __old_finish) - ; - std::copy(__first, __last, __position); - } - else - { - _ForwardIterator __mid = __first; - std::advance(__mid, __elems_after); - ; - std::__uninitialized_copy_a(__mid, __last, - this->_M_impl._M_finish, - _M_get_Tp_allocator()); - this->_M_impl._M_finish += __n - __elems_after; - ; - std::__uninitialized_move_a(__position.base(), - __old_finish, - this->_M_impl._M_finish, - _M_get_Tp_allocator()); - this->_M_impl._M_finish += __elems_after; - ; - std::copy(__first, __mid, __position); - } - } - else - { - - - - pointer __old_start = this->_M_impl._M_start; - pointer __old_finish = this->_M_impl._M_finish; - - const size_type __len = - _M_check_len(__n, "vector::_M_range_insert"); - pointer __new_start(this->_M_allocate(__len)); - pointer __new_finish(__new_start); - try - { - __new_finish - = std::__uninitialized_move_if_noexcept_a - (__old_start, __position.base(), - __new_start, _M_get_Tp_allocator()); - __new_finish - = std::__uninitialized_copy_a(__first, __last, - __new_finish, - _M_get_Tp_allocator()); - __new_finish - = std::__uninitialized_move_if_noexcept_a - (__position.base(), __old_finish, - __new_finish, _M_get_Tp_allocator()); - } - catch(...) - { - std::_Destroy(__new_start, __new_finish, - _M_get_Tp_allocator()); - _M_deallocate(__new_start, __len); - throw; - } - std::_Destroy(__old_start, __old_finish, - _M_get_Tp_allocator()); - ; - _M_deallocate(__old_start, - this->_M_impl._M_end_of_storage - __old_start); - this->_M_impl._M_start = __new_start; - this->_M_impl._M_finish = __new_finish; - this->_M_impl._M_end_of_storage = __new_start + __len; - } - } - } - - - - template - constexpr - void - vector:: - _M_reallocate(size_type __n) - { - _Bit_pointer __q = this->_M_allocate(__n); - iterator __start(std::__addressof(*__q), 0); - iterator __finish(_M_copy_aligned(begin(), end(), __start)); - this->_M_deallocate(); - this->_M_impl._M_start = __start; - this->_M_impl._M_finish = __finish; - this->_M_impl._M_end_of_storage = __q + _S_nword(__n); - } - - template - constexpr - void - vector:: - _M_fill_insert(iterator __position, size_type __n, bool __x) - { - if (__n == 0) - return; - if (capacity() - size() >= __n) - { - std::copy_backward(__position, end(), - this->_M_impl._M_finish + difference_type(__n)); - std::fill(__position, __position + difference_type(__n), __x); - this->_M_impl._M_finish += difference_type(__n); - } - else - { - const size_type __len = - _M_check_len(__n, "vector::_M_fill_insert"); - _Bit_pointer __q = this->_M_allocate(__len); - iterator __start(std::__addressof(*__q), 0); - iterator __i = _M_copy_aligned(begin(), __position, __start); - std::fill(__i, __i + difference_type(__n), __x); - iterator __finish = std::copy(__position, end(), - __i + difference_type(__n)); - this->_M_deallocate(); - this->_M_impl._M_end_of_storage = __q + _S_nword(__len); - this->_M_impl._M_start = __start; - this->_M_impl._M_finish = __finish; - } - } - - template - template - constexpr - void - vector:: - _M_insert_range(iterator __position, _ForwardIterator __first, - _ForwardIterator __last, std::forward_iterator_tag) - { - if (__first != __last) - { - size_type __n = std::distance(__first, __last); - if (capacity() - size() >= __n) - { - std::copy_backward(__position, end(), - this->_M_impl._M_finish - + difference_type(__n)); - std::copy(__first, __last, __position); - this->_M_impl._M_finish += difference_type(__n); - } - else - { - const size_type __len = - _M_check_len(__n, "vector::_M_insert_range"); - const iterator __begin = begin(), __end = end(); - _Bit_pointer __q = this->_M_allocate(__len); - iterator __start(std::__addressof(*__q), 0); - iterator __i = _M_copy_aligned(__begin, __position, __start); - __i = std::copy(__first, __last, __i); - iterator __finish = std::copy(__position, __end, __i); - this->_M_deallocate(); - this->_M_impl._M_end_of_storage = __q + _S_nword(__len); - this->_M_impl._M_start = __start; - this->_M_impl._M_finish = __finish; - } - } - } - - template - constexpr - void - vector:: - _M_insert_aux(iterator __position, bool __x) - { - if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr()) - { - std::copy_backward(__position, this->_M_impl._M_finish, - this->_M_impl._M_finish + 1); - *__position = __x; - ++this->_M_impl._M_finish; - } - else - { - const size_type __len = - _M_check_len(size_type(1), "vector::_M_insert_aux"); - _Bit_pointer __q = this->_M_allocate(__len); - iterator __start(std::__addressof(*__q), 0); - iterator __i = _M_copy_aligned(begin(), __position, __start); - *__i++ = __x; - iterator __finish = std::copy(__position, end(), __i); - this->_M_deallocate(); - this->_M_impl._M_end_of_storage = __q + _S_nword(__len); - this->_M_impl._M_start = __start; - this->_M_impl._M_finish = __finish; - } - } - - template - constexpr - typename vector::iterator - vector:: - _M_erase(iterator __position) - { - if (__position + 1 != end()) - std::copy(__position + 1, end(), __position); - --this->_M_impl._M_finish; - return __position; - } - - template - constexpr - typename vector::iterator - vector:: - _M_erase(iterator __first, iterator __last) - { - if (__first != __last) - _M_erase_at_end(std::copy(__last, end(), __first)); - return __first; - } - - - template - constexpr - bool - vector:: - _M_shrink_to_fit() - { - if (capacity() - size() < int(_S_word_bit)) - return false; - try - { - if (size_type __n = size()) - _M_reallocate(__n); - else - { - this->_M_deallocate(); - this->_M_impl._M_reset(); - } - return true; - } - catch(...) - { return false; } - } - - - - -} - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - size_t - hash>:: - operator()(const std::vector& __b) const noexcept - { - size_t __hash = 0; - const size_t __words = __b.size() / _S_word_bit; - if (__words) - { - const size_t __clength = __words * sizeof(_Bit_type); - __hash = std::_Hash_impl::hash(__b._M_impl._M_start._M_p, __clength); - } - - const size_t __extrabits = __b.size() % _S_word_bit; - if (__extrabits) - { - _Bit_type __hiword = *__b._M_impl._M_finish._M_p; - __hiword &= ~((~static_cast<_Bit_type>(0)) << __extrabits); - - const size_t __clength - = (__extrabits + 8 - 1) / 8; - if (__words) - __hash = std::_Hash_impl::hash(&__hiword, __clength, __hash); - else - __hash = std::_Hash_impl::hash(&__hiword, __clength); - } - - return __hash; - } - - -} -# 73 "/usr/include/c++/14.1.1/vector" 2 3 -# 83 "/usr/include/c++/14.1.1/vector" 3 -# 1 "/usr/include/c++/14.1.1/bits/version.h" 1 3 -# 47 "/usr/include/c++/14.1.1/bits/version.h" 3 - -# 48 "/usr/include/c++/14.1.1/bits/version.h" 3 -# 84 "/usr/include/c++/14.1.1/vector" 2 3 - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - namespace pmr { - template - using vector = std::vector<_Tp, polymorphic_allocator<_Tp>>; - } - - - - - - - - -} - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - constexpr - inline typename vector<_Tp, _Alloc>::size_type - erase_if(vector<_Tp, _Alloc>& __cont, _Predicate __pred) - { - using namespace __gnu_cxx; - std::vector<_Tp, _Alloc>& __ucont = __cont; - const auto __osz = __cont.size(); - const auto __end = __ucont.end(); - auto __removed = std::__remove_if(__ucont.begin(), __end, - __ops::__pred_iter(std::ref(__pred))); - if (__removed != __end) - { - __cont.erase(__niter_wrap(__cont.begin(), __removed), - __cont.end()); - return __osz - __cont.size(); - } - - return 0; - } - - template - constexpr - inline typename vector<_Tp, _Alloc>::size_type - erase(vector<_Tp, _Alloc>& __cont, const _Up& __value) - { - using namespace __gnu_cxx; - std::vector<_Tp, _Alloc>& __ucont = __cont; - const auto __osz = __cont.size(); - const auto __end = __ucont.end(); - auto __removed = std::__remove_if(__ucont.begin(), __end, - __ops::__iter_equals_val(__value)); - if (__removed != __end) - { - __cont.erase(__niter_wrap(__cont.begin(), __removed), - __cont.end()); - return __osz - __cont.size(); - } - - return 0; - } - -} -# 9 "/home/ghazal/CLionProjects/NextFlick/users.h" 2 - -# 9 "/home/ghazal/CLionProjects/NextFlick/users.h" -class users { -protected: - vector arrUsers; - -public: - users(); - void addUser(int Id, string username,string password); -}; -# 6 "/home/ghazal/CLionProjects/NextFlick/users.cpp" 2 -users::users() {} - -void users::addUser(int Id, std::string username, std::string password) { - arrUsers.push_back(user(Id,username,password)); -} diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/users.cpp.o.modmap b/cmake-build-debug/CMakeFiles/NextFlick.dir/users.cpp.o.modmap deleted file mode 100644 index b7619d4..0000000 --- a/cmake-build-debug/CMakeFiles/NextFlick.dir/users.cpp.o.modmap +++ /dev/null @@ -1 +0,0 @@ -$root . diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/users.cpp.obj b/cmake-build-debug/CMakeFiles/NextFlick.dir/users.cpp.obj new file mode 100644 index 0000000..6a60857 Binary files /dev/null and b/cmake-build-debug/CMakeFiles/NextFlick.dir/users.cpp.obj differ diff --git a/cmake-build-debug/CMakeFiles/NextFlick.dir/users.cpp.obj.d b/cmake-build-debug/CMakeFiles/NextFlick.dir/users.cpp.obj.d new file mode 100644 index 0000000..2908f43 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/NextFlick.dir/users.cpp.obj.d @@ -0,0 +1,159 @@ +CMakeFiles/NextFlick.dir/users.cpp.obj: \ + C:\Users\ZBook\ Fury\CLionProjects\NextFlick\users.cpp \ + C:\Users\ZBook\ Fury\CLionProjects\NextFlick\users.h \ + C:\Users\ZBook\ Fury\CLionProjects\NextFlick\user.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/iostream \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/requires_hosted.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++config.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/os_defines.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/cpu_defines.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/pstl/pstl_config.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ostream \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ios \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/iosfwd \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stringfwd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/memoryfwd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/postypes.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cwchar \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/wchar.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_mac.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_secapi.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/vadefs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sdks/_mingw_ddk.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_stdio_config.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_wstdlib.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_off_t.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_mingw_stat64.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/swprintf.inl \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/wchar_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/exception \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception_ptr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/exception_defines.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cxxabi_init_exception.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/stddef.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stddef.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/crtdefs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/typeinfo \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/hash_bytes.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/new \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/move.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/type_traits \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/nested_exception.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/char_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/compare \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/concepts \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_construct.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_types.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/iterator_concepts.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ptr_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_cmp.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_funcs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/concept_check.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/debug/assertions.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/localefwd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++locale.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/clocale \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/locale.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdio.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/stdio_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cctype \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/ctype.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ios_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/atomicity.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/gthr.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/gthr-default.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/errno.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sys/types.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/process.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/corecrt_startup.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/limits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/syslimits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/limits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/signal.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_signal.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/time.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sys/timeb.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/sys/timeb_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/_timeval.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_time.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_compat.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/pthread_unistd.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/atomic_word.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_classes.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/string \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/c++allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/new_allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/functexcept.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cpp_type_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ostream_insert.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/cxxabi_forced.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/type_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_function.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward/binders.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/numeric_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_algobase.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_pair.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/utility.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/debug/debug.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/predefined_ops.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bit \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/refwrap.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/invoke.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/range_access.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/initializer_list \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_string.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/alloc_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/alloc_traits.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/string_view \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/functional_hash.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/max_size_type.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/numbers \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/string_view.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/ext/string_conversions.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstdlib \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/stdlib.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/sec_api/stdlib_s.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/stdlib.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/malloc.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/mm_malloc.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/std_abs.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstdio \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cerrno \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/charconv.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_string.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/memory_resource.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cstddef \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/uses_allocator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/uses_allocator_args.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/tuple \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ranges_util.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_classes.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/system_error \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/error_constants.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/stdexcept \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/streambuf \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/streambuf.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_ios.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_facets.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/cwctype \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/x86_64-w64-mingw32/include/wctype.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_base.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/streambuf_iterator.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/ctype_inline.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/locale_facets.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/basic_ios.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/ostream.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/istream \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/istream.tcc \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/vector \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_uninitialized.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_vector.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_bvector.h \ + C:/Users/ZBook\ Fury/AppData/Local/JetBrains/CLion\ 2024.3.2/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/vector.tcc diff --git a/cmake-build-debug/CMakeFiles/TargetDirectories.txt b/cmake-build-debug/CMakeFiles/TargetDirectories.txt index f502ad2..68dc983 100644 --- a/cmake-build-debug/CMakeFiles/TargetDirectories.txt +++ b/cmake-build-debug/CMakeFiles/TargetDirectories.txt @@ -1,3 +1,3 @@ -/home/ghazal/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/NextFlick.dir -/home/ghazal/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/edit_cache.dir -/home/ghazal/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/rebuild_cache.dir +C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/NextFlick.dir +C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/edit_cache.dir +C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug/CMakeFiles/rebuild_cache.dir diff --git a/cmake-build-debug/CMakeFiles/clion-Debug-log.txt b/cmake-build-debug/CMakeFiles/clion-Debug-log.txt index 7a95f1f..17a9bb9 100644 --- a/cmake-build-debug/CMakeFiles/clion-Debug-log.txt +++ b/cmake-build-debug/CMakeFiles/clion-Debug-log.txt @@ -1,4 +1,4 @@ -/home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/bin/cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM=/home/ghazal/Downloads/clion-2024.3/bin/ninja/linux/x64/ninja -G Ninja -S /home/ghazal/CLionProjects/NextFlick -B /home/ghazal/CLionProjects/NextFlick/cmake-build-debug --- Configuring done (1.3s) --- Generating done (0.4s) --- Build files have been written to: /home/ghazal/CLionProjects/NextFlick/cmake-build-debug +"C:\Users\ZBook Fury\AppData\Local\JetBrains\CLion 2024.3.2\bin\cmake\win\x64\bin\cmake.exe" -DCMAKE_BUILD_TYPE=Debug -G "MinGW Makefiles" -S "C:\Users\ZBook Fury\CLionProjects\NextFlick" -B "C:\Users\ZBook Fury\CLionProjects\NextFlick\cmake-build-debug" +-- Configuring done (0.2s) +-- Generating done (0.1s) +-- Build files have been written to: C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug diff --git a/cmake-build-debug/CMakeFiles/clion-environment.txt b/cmake-build-debug/CMakeFiles/clion-environment.txt index e2800b1..7926687 100644 --- a/cmake-build-debug/CMakeFiles/clion-environment.txt +++ b/cmake-build-debug/CMakeFiles/clion-environment.txt @@ -1,4 +1,5 @@ -ToolSet: 1.0 (local)Ninja: 1.12.1@/home/ghazal/Downloads/clion-2024.3/bin/ninja/linux/x64/ninja +ToolSet: 11.0 w64 (local)@C:\Users\ZBook Fury\AppData\Local\JetBrains\CLion 2024.3.2\bin\mingw +Ninja: 1.12.1@C:\Users\ZBook Fury\AppData\Local\JetBrains\CLion 2024.3.2\bin\ninja\win\x64\ninja.exe Options: -Options:-DCMAKE_MAKE_PROGRAM=/home/ghazal/Downloads/clion-2024.3/bin/ninja/linux/x64/ninja \ No newline at end of file +Options: \ No newline at end of file diff --git a/cmake-build-debug/CMakeFiles/progress.marks b/cmake-build-debug/CMakeFiles/progress.marks new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/progress.marks @@ -0,0 +1 @@ +5 diff --git a/cmake-build-debug/CMakeFiles/rules.ninja b/cmake-build-debug/CMakeFiles/rules.ninja deleted file mode 100644 index 28c6a47..0000000 --- a/cmake-build-debug/CMakeFiles/rules.ninja +++ /dev/null @@ -1,94 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Ninja" Generator, CMake Version 3.30 - -# This file contains all the rules used to get the outputs files -# built from the input files. -# It is included in the main 'build.ninja'. - -# ============================================================================= -# Project: NextFlick -# Configurations: Debug -# ============================================================================= -# ============================================================================= - -############################################# -# Rule for generating CXX dependencies. - -rule CXX_SCAN__NextFlick_Debug - depfile = $DEP_FILE - command = /usr/bin/c++ $DEFINES $INCLUDES $FLAGS -E -x c++ $in -MT $DYNDEP_INTERMEDIATE_FILE -MD -MF $DEP_FILE -fmodules-ts -fdeps-file=$DYNDEP_INTERMEDIATE_FILE -fdeps-target=$OBJ_FILE -fdeps-format=p1689r5 -o $PREPROCESSED_OUTPUT_FILE - description = Scanning $in for CXX dependencies - - -############################################# -# Rule to generate ninja dyndep files for CXX. - -rule CXX_DYNDEP__NextFlick_Debug - command = /home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/bin/cmake -E cmake_ninja_dyndep --tdi=CMakeFiles/NextFlick.dir/CXXDependInfo.json --lang=CXX --modmapfmt=gcc --dd=$out @$out.rsp - description = Generating CXX dyndep file $out - rspfile = $out.rsp - rspfile_content = $in - restat = 1 - - -############################################# -# Rule for compiling CXX files. - -rule CXX_COMPILER__NextFlick_scanned_Debug - depfile = $DEP_FILE - deps = gcc - command = ${LAUNCHER}${CODE_CHECK}/usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -fmodules-ts -fmodule-mapper=$DYNDEP_MODULE_MAP_FILE -MD -fdeps-format=p1689r5 -x c++ -o $out -c $in - description = Building CXX object $out - - -############################################# -# Rule for compiling CXX files. - -rule CXX_COMPILER__NextFlick_unscanned_Debug - depfile = $DEP_FILE - deps = gcc - command = ${LAUNCHER}${CODE_CHECK}/usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in - description = Building CXX object $out - - -############################################# -# Rule for linking CXX executable. - -rule CXX_EXECUTABLE_LINKER__NextFlick_Debug - command = $PRE_LINK && /usr/bin/c++ $FLAGS $LINK_FLAGS $in -o $TARGET_FILE $LINK_PATH $LINK_LIBRARIES && $POST_BUILD - description = Linking CXX executable $TARGET_FILE - restat = $RESTAT - - -############################################# -# Rule for running custom commands. - -rule CUSTOM_COMMAND - command = $COMMAND - description = $DESC - - -############################################# -# Rule for re-running cmake. - -rule RERUN_CMAKE - command = /home/ghazal/Downloads/clion-2024.3/bin/cmake/linux/x64/bin/cmake --regenerate-during-build -S/home/ghazal/CLionProjects/NextFlick -B/home/ghazal/CLionProjects/NextFlick/cmake-build-debug - description = Re-running CMake... - generator = 1 - - -############################################# -# Rule for cleaning all built files. - -rule CLEAN - command = /home/ghazal/Downloads/clion-2024.3/bin/ninja/linux/x64/ninja $FILE_ARG -t clean $TARGETS - description = Cleaning all built files... - - -############################################# -# Rule for printing all primary targets available. - -rule HELP - command = /home/ghazal/Downloads/clion-2024.3/bin/ninja/linux/x64/ninja -t targets - description = All primary targets available: - diff --git a/cmake-build-debug/Makefile b/cmake-build-debug/Makefile new file mode 100644 index 0000000..5eb5f27 --- /dev/null +++ b/cmake-build-debug/Makefile @@ -0,0 +1,261 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "MinGW Makefiles" Generator, CMake Version 3.30 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +SHELL = cmd.exe + +# The CMake executable. +CMAKE_COMMAND = "C:\Users\ZBook Fury\AppData\Local\JetBrains\CLion 2024.3.2\bin\cmake\win\x64\bin\cmake.exe" + +# The command to remove a file. +RM = "C:\Users\ZBook Fury\AppData\Local\JetBrains\CLion 2024.3.2\bin\cmake\win\x64\bin\cmake.exe" -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = "C:\Users\ZBook Fury\CLionProjects\NextFlick" + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = "C:\Users\ZBook Fury\CLionProjects\NextFlick\cmake-build-debug" + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "No interactive CMake dialog available..." + "C:\Users\ZBook Fury\AppData\Local\JetBrains\CLion 2024.3.2\bin\cmake\win\x64\bin\cmake.exe" -E echo "No interactive CMake dialog available." +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..." + "C:\Users\ZBook Fury\AppData\Local\JetBrains\CLion 2024.3.2\bin\cmake\win\x64\bin\cmake.exe" --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# The main all target +all: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start "C:\Users\ZBook Fury\CLionProjects\NextFlick\cmake-build-debug\CMakeFiles" "C:\Users\ZBook Fury\CLionProjects\NextFlick\cmake-build-debug\\CMakeFiles\progress.marks" + $(MAKE) $(MAKESILENT) -f CMakeFiles\Makefile2 all + $(CMAKE_COMMAND) -E cmake_progress_start "C:\Users\ZBook Fury\CLionProjects\NextFlick\cmake-build-debug\CMakeFiles" 0 +.PHONY : all + +# The main clean target +clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles\Makefile2 clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + $(MAKE) $(MAKESILENT) -f CMakeFiles\Makefile2 preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles\Makefile2 preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles\Makefile.cmake 1 +.PHONY : depend + +#============================================================================= +# Target rules for targets named NextFlick + +# Build rule for target. +NextFlick: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles\Makefile2 NextFlick +.PHONY : NextFlick + +# fast build rule for target. +NextFlick/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles\NextFlick.dir\build.make CMakeFiles/NextFlick.dir/build +.PHONY : NextFlick/fast + +CompressedTrie.obj: CompressedTrie.cpp.obj +.PHONY : CompressedTrie.obj + +# target to build an object file +CompressedTrie.cpp.obj: + $(MAKE) $(MAKESILENT) -f CMakeFiles\NextFlick.dir\build.make CMakeFiles/NextFlick.dir/CompressedTrie.cpp.obj +.PHONY : CompressedTrie.cpp.obj + +CompressedTrie.i: CompressedTrie.cpp.i +.PHONY : CompressedTrie.i + +# target to preprocess a source file +CompressedTrie.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles\NextFlick.dir\build.make CMakeFiles/NextFlick.dir/CompressedTrie.cpp.i +.PHONY : CompressedTrie.cpp.i + +CompressedTrie.s: CompressedTrie.cpp.s +.PHONY : CompressedTrie.s + +# target to generate assembly for a file +CompressedTrie.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles\NextFlick.dir\build.make CMakeFiles/NextFlick.dir/CompressedTrie.cpp.s +.PHONY : CompressedTrie.cpp.s + +admin.obj: admin.cpp.obj +.PHONY : admin.obj + +# target to build an object file +admin.cpp.obj: + $(MAKE) $(MAKESILENT) -f CMakeFiles\NextFlick.dir\build.make CMakeFiles/NextFlick.dir/admin.cpp.obj +.PHONY : admin.cpp.obj + +admin.i: admin.cpp.i +.PHONY : admin.i + +# target to preprocess a source file +admin.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles\NextFlick.dir\build.make CMakeFiles/NextFlick.dir/admin.cpp.i +.PHONY : admin.cpp.i + +admin.s: admin.cpp.s +.PHONY : admin.s + +# target to generate assembly for a file +admin.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles\NextFlick.dir\build.make CMakeFiles/NextFlick.dir/admin.cpp.s +.PHONY : admin.cpp.s + +main.obj: main.cpp.obj +.PHONY : main.obj + +# target to build an object file +main.cpp.obj: + $(MAKE) $(MAKESILENT) -f CMakeFiles\NextFlick.dir\build.make CMakeFiles/NextFlick.dir/main.cpp.obj +.PHONY : main.cpp.obj + +main.i: main.cpp.i +.PHONY : main.i + +# target to preprocess a source file +main.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles\NextFlick.dir\build.make CMakeFiles/NextFlick.dir/main.cpp.i +.PHONY : main.cpp.i + +main.s: main.cpp.s +.PHONY : main.s + +# target to generate assembly for a file +main.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles\NextFlick.dir\build.make CMakeFiles/NextFlick.dir/main.cpp.s +.PHONY : main.cpp.s + +users.obj: users.cpp.obj +.PHONY : users.obj + +# target to build an object file +users.cpp.obj: + $(MAKE) $(MAKESILENT) -f CMakeFiles\NextFlick.dir\build.make CMakeFiles/NextFlick.dir/users.cpp.obj +.PHONY : users.cpp.obj + +users.i: users.cpp.i +.PHONY : users.i + +# target to preprocess a source file +users.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles\NextFlick.dir\build.make CMakeFiles/NextFlick.dir/users.cpp.i +.PHONY : users.cpp.i + +users.s: users.cpp.s +.PHONY : users.s + +# target to generate assembly for a file +users.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles\NextFlick.dir\build.make CMakeFiles/NextFlick.dir/users.cpp.s +.PHONY : users.cpp.s + +# Help Target +help: + @echo The following are some of the valid targets for this Makefile: + @echo ... all (the default if no target is provided) + @echo ... clean + @echo ... depend + @echo ... edit_cache + @echo ... rebuild_cache + @echo ... NextFlick + @echo ... CompressedTrie.obj + @echo ... CompressedTrie.i + @echo ... CompressedTrie.s + @echo ... admin.obj + @echo ... admin.i + @echo ... admin.s + @echo ... main.obj + @echo ... main.i + @echo ... main.s + @echo ... users.obj + @echo ... users.i + @echo ... users.s +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles\Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/cmake-build-debug/NextFlick.exe b/cmake-build-debug/NextFlick.exe new file mode 100644 index 0000000..2ad2079 Binary files /dev/null and b/cmake-build-debug/NextFlick.exe differ diff --git a/cmake-build-debug/Testing/Temporary/LastTest.log b/cmake-build-debug/Testing/Temporary/LastTest.log index 6c5c314..5aaa541 100644 --- a/cmake-build-debug/Testing/Temporary/LastTest.log +++ b/cmake-build-debug/Testing/Temporary/LastTest.log @@ -1,3 +1,3 @@ -Start testing: Jan 23 10:23 +0330 +Start testing: Jan 24 17:08 Iran Standard Time ---------------------------------------------------------- -End testing: Jan 23 10:23 +0330 +End testing: Jan 24 17:08 Iran Standard Time diff --git a/cmake-build-debug/cmake_install.cmake b/cmake-build-debug/cmake_install.cmake index 451fb86..5db3e48 100644 --- a/cmake-build-debug/cmake_install.cmake +++ b/cmake-build-debug/cmake_install.cmake @@ -1,8 +1,8 @@ -# Install script for directory: /home/ghazal/CLionProjects/NextFlick +# Install script for directory: C:/Users/ZBook Fury/CLionProjects/NextFlick # Set the install prefix if(NOT DEFINED CMAKE_INSTALL_PREFIX) - set(CMAKE_INSTALL_PREFIX "/usr/local") + set(CMAKE_INSTALL_PREFIX "C:/Program Files (x86)/NextFlick") endif() string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") @@ -27,11 +27,6 @@ if(NOT CMAKE_INSTALL_COMPONENT) endif() endif() -# Install shared libraries without execute permission? -if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) - set(CMAKE_INSTALL_SO_NO_EXE "0") -endif() - # Is this installation the result of a crosscompile? if(NOT DEFINED CMAKE_CROSSCOMPILING) set(CMAKE_CROSSCOMPILING "FALSE") @@ -39,7 +34,7 @@ endif() # Set path to fallback-tool for dependency-resolution. if(NOT DEFINED CMAKE_OBJDUMP) - set(CMAKE_OBJDUMP "/usr/bin/objdump") + set(CMAKE_OBJDUMP "C:/Users/ZBook Fury/AppData/Local/JetBrains/CLion 2024.3.2/bin/mingw/bin/objdump.exe") endif() if(CMAKE_INSTALL_COMPONENT) @@ -57,6 +52,6 @@ endif() if(NOT CMAKE_INSTALL_LOCAL_ONLY) string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT "${CMAKE_INSTALL_MANIFEST_FILES}") - file(WRITE "/home/ghazal/CLionProjects/NextFlick/cmake-build-debug/${CMAKE_INSTALL_MANIFEST}" + file(WRITE "C:/Users/ZBook Fury/CLionProjects/NextFlick/cmake-build-debug/${CMAKE_INSTALL_MANIFEST}" "${CMAKE_INSTALL_MANIFEST_CONTENT}") endif() diff --git a/main.cpp b/main.cpp index 1de8b9c..4847183 100644 --- a/main.cpp +++ b/main.cpp @@ -1,7 +1,53 @@ #include - +#include "CompressedTrie.h" +#include "Film.h" int main() { + + CompressedTrie trie; + Film* film1 = new Film("Negin"); + Film* film2 = new Film("Negar"); + Film* film3 = new Film("Ali"); + Film* film4 = new Film("Negarin"); + Film* film5 = new Film("Alina"); + Film* film6 = new Film("Anna"); + Film* film7 = new Film("Neg"); + Film* film8 = new Film("Abi"); + Film* film9 = new Film("Nima"); + + trie.insert(film1); + trie.insert(film2); + trie.insert(film3); + trie.insert(film4); + trie.insert(film5); + trie.insert(film6); + trie.insert(film7); + trie.insert(film8); + trie.insert(film9); + + cout << "Search prefix: 'Al'" << endl; + auto vex = trie.search("A"); + if (vex.empty()) { + cout << "No matches found for the prefix 'Al'.\n"; + } else { + for (const auto& v : vex) { + cout << v->getName() << " "; + } + cout << endl; + } + + cout << "Search prefix: 'Neg'" << endl; + vex = trie.search("Nim"); + if (vex.empty()) { + cout << "No matches found for the prefix 'Neg'.\n"; + } else { + for (const auto& v : vex) { + cout << v->getName() << " "; + } + cout << endl; + } + + return 0; }