| %language=C++ |
| %define class-name std_name_hint_lookup |
| %struct-type |
| %{ |
| /* This file is auto-generated by gen-cxxapi-file.py. */ |
| /* Copyright (C) 2022 Free Software Foundation, Inc. |
| |
| This file is part of GCC. |
| |
| GCC is free software; you can redistribute it and/or modify it under |
| the terms of the GNU General Public License as published by the Free |
| Software Foundation; either version 3, or (at your option) any later |
| version. |
| |
| GCC is distributed in the hope that it will be useful, but WITHOUT ANY |
| WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| for more details. |
| |
| You should have received a copy of the GNU General Public License |
| along with GCC; see the file COPYING3. If not see |
| <http://www.gnu.org/licenses/>. */ |
| %} |
| struct std_name_hint |
| { |
| /* A name within "std::". */ |
| const char *name; |
| |
| /* The header name defining it within the C++ Standard Library |
| (with '<' and '>'). */ |
| const char* header; |
| |
| /* The dialect of C++ in which this was added. */ |
| enum cxx_dialect min_dialect; |
| }; |
| %% |
| # The standard-defined types, functions, and options in the std:: namespace |
| # as defined in the C++ language specification. The result is used in the |
| # get_std_name_hint functions. |
| # throws an exception. |
| # |
| # <any> |
| any, "<any>", cxx17 |
| any_cast, "<any>", cxx17 |
| make_any, "<any>", cxx17 |
| # <array> |
| array, "<array>", cxx11 |
| to_array, "<array>", cxx20 |
| # <atomic> |
| atomic, "<atomic>", cxx11 |
| atomic_ref, "<atomic>", cxx20 |
| atomic_signed_lock_free, "<atomic>", cxx11 |
| atomic_uintmax_t, "<atomic>", cxx20 |
| atomic_unsigned_lock_free, "<atomic>", cxx11 |
| # <bitset> |
| bitset, "<bitset>", cxx11 |
| # <compare> |
| partial_ordering, "<compare>", cxx20 |
| strong_equality, "<compare>", cxx20 |
| strong_ordering, "<compare>", cxx20 |
| weak_equality, "<compare>", cxx20 |
| weak_ordering, "<compare>", cxx20 |
| # <complex> |
| complex, "<complex>", cxx98 |
| complex_literals, "<complex>", cxx14 |
| # <condition_variable> |
| condition_variable, "<condition_variable>", cxx11 |
| condition_variable_any, "<condition_variable>", cxx11 |
| # <cstddef> |
| byte, "<cstddef>", cxx17 |
| # <cstdint> |
| uint_fast16_t, "<cstdint>", cxx11 |
| uint_fast32_t, "<cstdint>", cxx11 |
| uint_fast64_t, "<cstdint>", cxx11 |
| uint_fast8_t, "<cstdint>", cxx11 |
| uint_least16_t, "<cstdint>", cxx11 |
| uint_least32_t, "<cstdint>", cxx11 |
| uint_least64_t, "<cstdint>", cxx11 |
| uint_least8_t, "<cstdint>", cxx11 |
| uintmax_t, "<cstdint>", cxx11 |
| uintptr_t, "<cstdint>", cxx11 |
| # <deque> |
| deque, "<deque>", cxx98 |
| # <exception> |
| current_exception, "<exception>", cxx11 |
| exception, "<exception>", cxx98 |
| exception_ptr, "<exception>", cxx11 |
| make_exception_ptr, "<exception>", cxx11 |
| terminate, "<exception>", cxx98 |
| uncaught_exceptions, "<exception>", cxx17 |
| # <expected> |
| expected, "<expected>", cxx23 |
| # <forward_list> |
| forward_list, "<forward_list>", cxx11 |
| # <fstream> |
| basic_filebuf, "<fstream>", cxx98 |
| basic_fstream, "<fstream>", cxx98 |
| basic_ifstream, "<fstream>", cxx98 |
| basic_ofstream, "<fstream>", cxx98 |
| fstream, "<fstream>", cxx98 |
| ifstream, "<fstream>", cxx98 |
| ofstream, "<fstream>", cxx98 |
| # <functional> |
| bind, "<functional>", cxx11 |
| bind_front, "<functional>", cxx20 |
| function, "<functional>", cxx11 |
| hash, "<functional>", cxx11 |
| invoke, "<functional>", cxx17 |
| invoke_r, "<functional>", cxx23 |
| mem_fn, "<functional>", cxx11 |
| not_fn, "<functional>", cxx17 |
| reference_wrapper, "<functional>", cxx11 |
| unwrap_ref_decay, "<functional>", cxx20 |
| unwrap_ref_decay_t, "<functional>", cxx20 |
| unwrap_reference, "<functional>", cxx20 |
| unwrap_reference_t, "<functional>", cxx20 |
| # <future> |
| async, "<future>", cxx11 |
| future, "<future>", cxx11 |
| packaged_task, "<future>", cxx11 |
| promise, "<future>", cxx11 |
| # <iomanip> |
| get_money, "<iomanip>", cxx11 |
| get_time, "<iomanip>", cxx11 |
| put_money, "<iomanip>", cxx11 |
| put_time, "<iomanip>", cxx11 |
| quoted, "<iomanip>", cxx14 |
| resetiosflags, "<iomanip>", cxx98 |
| setbase, "<iomanip>", cxx98 |
| setfill, "<iomanip>", cxx98 |
| setiosflags, "<iomanip>", cxx98 |
| setprecision, "<iomanip>", cxx98 |
| setw, "<iomanip>", cxx98 |
| # <ios> |
| boolalpha, "<ios>", cxx98 |
| dec, "<ios>", cxx98 |
| defaultfloat, "<ios>", cxx11 |
| fixed, "<ios>", cxx98 |
| hex, "<ios>", cxx98 |
| hexfloat, "<ios>", cxx11 |
| internal, "<ios>", cxx98 |
| left, "<ios>", cxx98 |
| noboolalpha, "<ios>", cxx98 |
| noshowbase, "<ios>", cxx98 |
| noshowpoint, "<ios>", cxx98 |
| noshowpos, "<ios>", cxx98 |
| noskipws, "<ios>", cxx98 |
| nounitbuf, "<ios>", cxx98 |
| nouppercase, "<ios>", cxx98 |
| oct, "<ios>", cxx98 |
| right, "<ios>", cxx98 |
| scientific, "<ios>", cxx98 |
| showbase, "<ios>", cxx98 |
| showpoint, "<ios>", cxx98 |
| showpos, "<ios>", cxx98 |
| skipws, "<ios>", cxx98 |
| unitbuf, "<ios>", cxx98 |
| uppercase, "<ios>", cxx98 |
| # <iostream> |
| cerr, "<iostream>", cxx98 |
| cin, "<iostream>", cxx98 |
| clog, "<iostream>", cxx98 |
| cout, "<iostream>", cxx98 |
| wcerr, "<iostream>", cxx98 |
| wcin, "<iostream>", cxx98 |
| wclog, "<iostream>", cxx98 |
| wcout, "<iostream>", cxx98 |
| # <istream> |
| istream, "<istream>", cxx98 |
| ws, "<istream>", cxx98 |
| # <iterator> |
| advance, "<iterator>", cxx98 |
| back_inserter, "<iterator>", cxx98 |
| begin, "<iterator>", cxx11 |
| distance, "<iterator>", cxx98 |
| end, "<iterator>", cxx11 |
| front_inserter, "<iterator>", cxx98 |
| inserter, "<iterator>", cxx98 |
| istream_iterator, "<iterator>", cxx98 |
| istreambuf_iterator, "<iterator>", cxx98 |
| iterator_traits, "<iterator>", cxx98 |
| move_iterator, "<iterator>", cxx11 |
| next, "<iterator>", cxx11 |
| ostream_iterator, "<iterator>", cxx98 |
| ostreambuf_iterator, "<iterator>", cxx98 |
| prev, "<iterator>", cxx11 |
| reverse_iterator, "<iterator>", cxx98 |
| # <list> |
| list, "<list>", cxx98 |
| # <map> |
| map, "<map>", cxx98 |
| multimap, "<map>", cxx98 |
| # <memory> |
| addressof, "<memory>", cxx11 |
| align, "<memory>", cxx11 |
| allocate_shared, "<memory>", cxx11 |
| allocate_shared_for_overwrite, "<memory>", cxx20 |
| allocator, "<memory>", cxx98 |
| allocator_arg, "<memory>", cxx11 |
| allocator_arg_t, "<memory>", cxx11 |
| allocator_traits, "<memory>", cxx11 |
| assume_aligned, "<memory>", cxx20 |
| bad_weak_ptr, "<memory>", cxx11 |
| const_pointer_cast, "<memory>", cxx11 |
| construct_at, "<memory>", cxx20 |
| default_delete, "<memory>", cxx11 |
| destroy, "<memory>", cxx20 |
| destroy_at, "<memory>", cxx20 |
| destroy_n, "<memory>", cxx20 |
| dynamic_pointer_cast, "<memory>", cxx11 |
| enable_shared_from_this, "<memory>", cxx11 |
| get_deleter, "<memory>", cxx11 |
| make_obj_using_allocator, "<memory>", cxx20 |
| make_shared, "<memory>", cxx11 |
| make_shared_for_overwrite, "<memory>", cxx20 |
| make_unique, "<memory>", cxx14 |
| make_unique_for_overwrite, "<memory>", cxx20 |
| owner_less, "<memory>", cxx11 |
| pointer_traits, "<memory>", cxx11 |
| reinterpret_pointer_cast, "<memory>", cxx17 |
| shared_ptr, "<memory>", cxx11 |
| static_pointer_cast, "<memory>", cxx11 |
| to_address, "<memory>", cxx11 |
| uninitialized_construct_using_allocator, "<memory>", cxx20 |
| unique_ptr, "<memory>", cxx11 |
| uses_allocator, "<memory>", cxx11 |
| uses_allocator_construction_args, "<memory>", cxx20 |
| uses_allocator_v, "<memory>", cxx17 |
| weak_ptr, "<memory>", cxx11 |
| # <memory_resource> |
| pmr, "<memory_resource>", cxx17 |
| pmr::get_default_resource, "<memory_resource>", cxx17 |
| pmr::memory_resource, "<memory_resource>", cxx17 |
| pmr::monotonic_buffer_resource, "<memory_resource>", cxx17 |
| pmr::new_delete_resource, "<memory_resource>", cxx17 |
| pmr::polymorphic_allocator, "<memory_resource>", cxx17 |
| pmr::pool_options, "<memory_resource>", cxx17 |
| pmr::set_default_resource, "<memory_resource>", cxx17 |
| pmr::synchronized_pool_resource, "<memory_resource>", cxx17 |
| pmr::unsynchronized_pool_resource, "<memory_resource>", cxx17 |
| # <mutex> |
| call_once, "<mutex>", cxx11 |
| lock, "<mutex>", cxx11 |
| lock_guard, "<mutex>", cxx11 |
| mutex, "<mutex>", cxx11 |
| once_flag, "<mutex>", cxx11 |
| recursive_mutex, "<mutex>", cxx11 |
| recursive_timed_mutex, "<mutex>", cxx11 |
| scoped_lock, "<mutex>", cxx17 |
| timed_mutex, "<mutex>", cxx11 |
| try_lock, "<mutex>", cxx11 |
| unique_lock, "<mutex>", cxx11 |
| # <new> |
| bad_alloc, "<new>", cxx98 |
| hardware_constructive_interference_size, "<new>", cxx17 |
| hardware_destructive_interference_size, "<new>", cxx17 |
| launder, "<new>", cxx17 |
| nothrow, "<new>", cxx98 |
| nothrow_t, "<new>", cxx98 |
| # <numbers> |
| numbers::e_v, "<numbers>", cxx20 |
| numbers::egamma_v, "<numbers>", cxx20 |
| numbers::inv_pi_v, "<numbers>", cxx20 |
| numbers::inv_sqrt3_v, "<numbers>", cxx20 |
| numbers::inv_sqrtpi_v, "<numbers>", cxx20 |
| numbers::ln10_v, "<numbers>", cxx20 |
| numbers::ln2_v, "<numbers>", cxx20 |
| numbers::log10e_v, "<numbers>", cxx20 |
| numbers::log2e_v, "<numbers>", cxx20 |
| numbers::phi_v, "<numbers>", cxx20 |
| numbers::pi_v, "<numbers>", cxx20 |
| numbers::sqrt2_v, "<numbers>", cxx20 |
| numbers::sqrt3_v, "<numbers>", cxx20 |
| # <optional> |
| make_optional, "<optional>", cxx17 |
| nullopt, "<optional>", cxx17 |
| optional, "<optional>", cxx17 |
| # <ostream> |
| emit_on_flush, "<ostream>", cxx20 |
| endl, "<ostream>", cxx98 |
| ends, "<ostream>", cxx98 |
| flush, "<ostream>", cxx98 |
| flush_emit, "<ostream>", cxx20 |
| noemit_on_flush, "<ostream>", cxx20 |
| ostream, "<ostream>", cxx98 |
| wostream, "<ostream>", cxx98 |
| # <queue> |
| priority_queue, "<queue>", cxx98 |
| queue, "<queue>", cxx98 |
| # <ranges> |
| ranges::enable_borrowed_range, "<ranges>", cxx20 |
| ranges::enable_view, "<ranges>", cxx20 |
| # <scoped_allocator> |
| scoped_allocator_adaptor, "<scoped_allocator>", cxx11 |
| # <semaphore> |
| binary_semaphore, "<semaphore>", cxx20 |
| counting_semaphore, "<semaphore>", cxx20 |
| # <set> |
| multiset, "<set>", cxx98 |
| set, "<set>", cxx98 |
| # <shared_mutex> |
| shared_lock, "<shared_mutex>", cxx14 |
| shared_mutex, "<shared_mutex>", cxx17 |
| shared_timed_mutex, "<shared_mutex>", cxx14 |
| # <source_location> |
| source_location, "<source_location>", cxx20 |
| # <span> |
| span, "<span>", cxx20 |
| # <spanstream> |
| basic_ispanstream, "<spanstream>", cxx23 |
| basic_ospanstream, "<spanstream>", cxx23 |
| basic_spanbuf, "<spanstream>", cxx23 |
| basic_spanstream, "<spanstream>", cxx23 |
| ispanstream, "<spanstream>", cxx23 |
| ispanstream, "<spanstream>", cxx23 |
| ospanstream, "<spanstream>", cxx23 |
| spanbuf, "<spanstream>", cxx23 |
| spanstream, "<spanstream>", cxx23 |
| wispanstream, "<spanstream>", cxx23 |
| wospanstream, "<spanstream>", cxx23 |
| wspanbuf, "<spanstream>", cxx23 |
| # <sstream> |
| basic_istringstream, "<sstream>", cxx98 |
| basic_ostringstream, "<sstream>", cxx98 |
| basic_stringbuf, "<sstream>", cxx98 |
| basic_stringstream, "<sstream>", cxx98 |
| istringstream, "<sstream>", cxx98 |
| istringstream, "<sstream>", cxx98 |
| ostringstream, "<sstream>", cxx98 |
| stringbuf, "<sstream>", cxx98 |
| stringstream, "<sstream>", cxx98 |
| wistringstream, "<sstream>", cxx98 |
| wostringstream, "<sstream>", cxx98 |
| wstringbuf, "<sstream>", cxx98 |
| # <stack> |
| stack, "<stack>", cxx98 |
| # <stacktrace> |
| stacktrace, "<stacktrace>", cxx23 |
| # <stdexcept> |
| domain_error, "<stdexcept>", cxx98 |
| invalid_argument, "<stdexcept>", cxx98 |
| length_error, "<stdexcept>", cxx98 |
| logic_error, "<stdexcept>", cxx98 |
| out_of_range, "<stdexcept>", cxx98 |
| overflow_error, "<stdexcept>", cxx98 |
| range_error, "<stdexcept>", cxx98 |
| runtime_error, "<stdexcept>", cxx98 |
| underflow_error, "<stdexcept>", cxx98 |
| # <stop_token> |
| stop_callback, "<stop_token>", cxx20 |
| stop_source, "<stop_token>", cxx20 |
| stop_token, "<stop_token>", cxx20 |
| # <streambuf> |
| basic_streambuf, "<streambuf>", cxx98 |
| streambuf, "<streambuf>", cxx98 |
| wstreambuf, "<streambuf>", cxx98 |
| # <string> |
| basic_string, "<string>", cxx98 |
| char_traits, "<string>", cxx98 |
| stod, "<string>", cxx11 |
| stof, "<string>", cxx11 |
| stoi, "<string>", cxx11 |
| stol, "<string>", cxx11 |
| stold, "<string>", cxx11 |
| stoll, "<string>", cxx11 |
| stoul, "<string>", cxx11 |
| stoull, "<string>", cxx11 |
| string, "<string>", cxx98 |
| to_string, "<string>", cxx17 |
| to_wstring, "<string>", cxx17 |
| u16string, "<string>", cxx11 |
| u32string, "<string>", cxx11 |
| u8string, "<string>", cxx20 |
| wstring, "<string>", cxx98 |
| # <string_view> |
| basic_string_view, "<string_view>", cxx17 |
| string_view, "<string_view>", cxx17 |
| # <system_error> |
| errc, "<system_error>", cxx11 |
| error_category, "<system_error>", cxx11 |
| error_code, "<system_error>", cxx11 |
| error_condition, "<system_error>", cxx11 |
| generic_category, "<system_error>", cxx11 |
| is_error_code_enum, "<system_error>", cxx11 |
| is_error_code_enum_v, "<system_error>", cxx17 |
| is_error_condition_enum, "<system_error>", cxx11 |
| is_error_condition_enum_v, "<system_error>", cxx17 |
| make_error_code, "<system_error>", cxx11 |
| make_error_condition, "<system_error>", cxx11 |
| system_category, "<system_error>", cxx11 |
| # <thread> |
| jthread, "<thread>", cxx20 |
| this_thread, "<thread>", cxx11 |
| thread, "<thread>", cxx11 |
| # <tuple> |
| apply, "<tuple>", cxx17 |
| forward_as_tuple, "<tuple>", cxx11 |
| make_from_tuple, "<tuple>", cxx17 |
| make_tuple, "<tuple>", cxx11 |
| tie, "<tuple>", cxx11 |
| tuple, "<tuple>", cxx11 |
| tuple_cat, "<tuple>", cxx11 |
| tuple_element, "<tuple>", cxx11 |
| tuple_element_t, "<tuple>", cxx14 |
| tuple_size, "<tuple>", cxx11 |
| tuple_size_v, "<tuple>", cxx17 |
| # <type_traits> |
| conjunction, "<type_traits>", cxx17 |
| conjunction_v, "<type_traits>", cxx17 |
| disjunction, "<type_traits>", cxx17 |
| disjunction_v, "<type_traits>", cxx17 |
| enable_if, "<type_traits>", cxx11 |
| enable_if_t, "<type_traits>", cxx14 |
| invoke_result, "<type_traits>", cxx17 |
| invoke_result_t, "<type_traits>", cxx17 |
| negation, "<type_traits>", cxx17 |
| negation_v, "<type_traits>", cxx17 |
| remove_cvref, "<type_traits>", cxx20 |
| remove_cvref_t, "<type_traits>", cxx20 |
| type_identity, "<type_traits>", cxx20 |
| type_identity_t, "<type_traits>", cxx20 |
| void_t, "<type_traits>", cxx17 |
| # <typeindex> |
| type_index, "<typeindex>", cxx11 |
| # <typeinfo> |
| bad_cast, "<typeinfo>", cxx98 |
| bad_typeid, "<typeinfo>", cxx98 |
| # <unordered_map> |
| unordered_map, "<unordered_map>", cxx11 |
| unordered_multimap, "<unordered_map>", cxx11 |
| # <unordered_set> |
| unordered_multiset, "<unordered_set>", cxx11 |
| unordered_set, "<unordered_set>", cxx11 |
| # <utility> |
| as_const, "<utility>", cxx17 |
| cmp_equal, "<utility>", cxx20 |
| cmp_greater, "<utility>", cxx20 |
| cmp_greater_equal, "<utility>", cxx20 |
| cmp_less, "<utility>", cxx20 |
| cmp_less_equal, "<utility>", cxx20 |
| cmp_not_equal, "<utility>", cxx20 |
| declval, "<utility>", cxx11 |
| exchange, "<utility>", cxx14 |
| forward, "<utility>", cxx11 |
| in_place, "<utility>", cxx17 |
| in_place_index, "<utility>", cxx17 |
| in_place_index_t, "<utility>", cxx17 |
| in_place_t, "<utility>", cxx17 |
| in_place_type, "<utility>", cxx17 |
| in_place_type_t, "<utility>", cxx17 |
| in_range, "<utility>", cxx20 |
| index_sequence, "<utility>", cxx14 |
| index_sequence_for, "<utility>", cxx14 |
| integer_sequence, "<utility>", cxx14 |
| make_index_sequence, "<utility>", cxx14 |
| make_integer_sequence, "<utility>", cxx14 |
| make_pair, "<utility>", cxx98 |
| move, "<utility>", cxx11 |
| move_if_noexcept, "<utility>", cxx11 |
| pair, "<utility>", cxx98 |
| piecewise_construct, "<utility>", cxx11 |
| piecewise_construct_t, "<utility>", cxx11 |
| to_underlying, "<utility>", cxx23 |
| unreachable, "<utility>", cxx23 |
| # <variant> |
| bad_variant_access, "<variant>", cxx17 |
| holds_alternative, "<variant>", cxx17 |
| monostate, "<variant>", cxx17 |
| variant, "<variant>", cxx17 |
| variant_alternative, "<variant>", cxx17 |
| variant_alternative_t, "<variant>", cxx17 |
| variant_npos, "<variant>", cxx17 |
| variant_size, "<variant>", cxx17 |
| variant_size_v, "<variant>", cxx17 |
| visit, "<variant>", cxx17 |
| # <vector> |
| vector, "<vector>", cxx98 |