diff options
| author | Arthur LAURENT <[email protected]> | 2025-04-20 18:23:54 +0200 |
|---|---|---|
| committer | Arthur LAURENT <[email protected]> | 2025-04-20 18:23:54 +0200 |
| commit | a1fefbea336ad2294b853059d32850877f54bb90 (patch) | |
| tree | 532fb41683d4e8024897e5d246fa951a3ebaab1f /xmake/rules/c++/modules/stlheaders.lua | |
| parent | edf1f0b82e739e1024b34f112fba51bc61444c65 (diff) | |
(C++ modules) simplify names of module support
Diffstat (limited to 'xmake/rules/c++/modules/stlheaders.lua')
| -rw-r--r-- | xmake/rules/c++/modules/stlheaders.lua | 155 |
1 files changed, 155 insertions, 0 deletions
diff --git a/xmake/rules/c++/modules/stlheaders.lua b/xmake/rules/c++/modules/stlheaders.lua new file mode 100644 index 000000000..9ba3cbfdf --- /dev/null +++ b/xmake/rules/c++/modules/stlheaders.lua @@ -0,0 +1,155 @@ +--!A cross-platform build utility based on Lua +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- +-- Copyright (C) 2015-present, TBOOX Open Source Group. +-- +-- @author ruki, Arthapz +-- @file stlheaders.lua +-- + +-- imports +import("core.base.hashset") + +-- the stl headers list +function _stlheaders() + return { + "algorithm", + "forward_list", + "numbers", + "stop_token", + "any", + "fstream", + "numeric", + "streambuf", + "array", + "functional", + "optional", + "string", + "atomic", + "future", + "ostream", + "string_view", + "barrier", + "initializer_list", + "queue", + "bit", + "iomanip", + "random", + "syncstream", + "bitset", + "ios", + "ranges", + "system_error", + "charconv", + "iosfwd", + "ratio", + "thread", + "chrono", + "iostream", + "regex", + "tuple", + "codecvt", + "istream", + "scoped_allocator", + "typeindex", + "compare", + "iterator", + "semaphore", + "typeinfo", + "complex", + "latch", + "set", + "type_traits", + "concepts", + "limits", + "shared_mutex", + "unordered_map", + "condition_variable", + "list", + "source_location", + "stacktrace", + "unordered_set", + "coroutine", + "locale", + "span", + "utility", + "deque", + "map", + "spanstream", + "valarray", + "exception", + "memory", + "sstream", + "variant", + "execution", + "memory_resource", + "stack", + "vector", + "filesystem", + "mutex", + "version", + "format", + "new", + "type_traits", + "string_view", + "stdexcept", + "condition_variable", + "print", + "flat_map", + "flat_set", + "mdspan", + "stdfloat", + "generator", + "csetjmp", + "csignal", + "cstdarg", + "cstddef", + "cstdlib", + "cfloat", + "cinttypes", + "climits", + "cstdint", + "cassert", + "cerrno", + "cctype", + "cstring", + "cuchar", + "cwchar", + "cwctype", + "cfenv", + "cmath", + "ctime", + "clocale", + "expected", + "cstdio"} +end + +-- get all stl headers +function get_stlheaders() + local stlheaders = _g.stlheaders + if stlheaders == nil then + stlheaders = hashset.from(_stlheaders()) + _g.stlheaders = stlheaders or false + end + return stlheaders or nil +end + +-- is stl header? +function is_stlheader(header) + if header:startswith("experimental/") then + header = header:sub(14, -1) + end + return get_stlheaders():has(header) +end + |
