%language=C++
%define class-name std_name_hint_lookup
%struct-type
%{
/* This file is auto-generated by gen-cxxapi-file.py. */
/* Copyright (C) 2022-2025 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
. */
%}
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, "", cxx17
any_cast, "", cxx17
make_any, "", cxx17
#
array, "", cxx11
to_array, "", cxx20
#
atomic, "", cxx11
atomic_ref, "", cxx20
atomic_signed_lock_free, "", cxx11
atomic_uintmax_t, "", cxx20
atomic_unsigned_lock_free, "", cxx11
#
bitset, "", cxx11
#
chrono::clock_cast, "", cxx20
chrono::days, "", cxx20
chrono::duration, "", cxx11
chrono::duration_cast, "", cxx11
chrono::file_clock, "", cxx20
chrono::from_stream, "", cxx20
chrono::get_leap_second_info, "", cxx20
chrono::get_tzdb, "", cxx20
chrono::get_tzdb_list, "", cxx20
chrono::gps_clock, "", cxx20
chrono::high_resolution_clock, "", cxx11
chrono::hours, "", cxx11
chrono::leap_second, "", cxx20
chrono::leap_second_info, "", cxx20
chrono::local_t, "", cxx20
chrono::locate_zone, "", cxx20
chrono::microseconds, "", cxx11
chrono::milliseconds, "", cxx11
chrono::minutes, "", cxx11
chrono::months, "", cxx20
chrono::nanoseconds, "", cxx11
chrono::parse, "", cxx20
chrono::reload_tzdb, "", cxx20
chrono::remote_version, "", cxx20
chrono::round, "", cxx17
chrono::seconds, "", cxx11
chrono::steady_clock, "", cxx11
chrono::system_clock, "", cxx11
chrono::tai_clock, "", cxx20
chrono::time_point, "", cxx11
chrono::time_point_cast, "", cxx11
chrono::time_zone, "", cxx20
chrono::tzdb, "", cxx20
chrono::tzdb_list, "", cxx20
chrono::utc_clock, "", cxx20
chrono::weeks, "", cxx20
chrono::years, "", cxx20
chrono::zoned_time, "", cxx20
#
partial_ordering, "", cxx20
strong_equality, "", cxx20
strong_ordering, "", cxx20
weak_equality, "", cxx20
weak_ordering, "", cxx20
#
complex, "", cxx98
complex_literals, "", cxx14
#
same_as, "", cxx20
derived_from, "", cxx20
convertible_to, "", cxx20
common_reference_with, "", cxx20
common_with, "", cxx20
integral, "", cxx20
signed_integral, "", cxx20
unsigned_integral, "", cxx20
floating_point, "", cxx20
assignable_from, "", cxx20
swappable, "", cxx20
swappable_with, "", cxx20
destructible, "", cxx20
constructible_from, "", cxx20
default_initializable, "", cxx20
move_constructible, "", cxx20
copy_constructible, "", cxx20
equality_comparable, "", cxx20
equality_comparable_with, "", cxx20
totally_ordered, "", cxx20
totally_ordered_with, "", cxx20
movable, "", cxx20
copyable, "", cxx20
semiregular, "", cxx20
regular, "", cxx20
invocable, "", cxx20
regular_invocable, "", cxx20
predicate, "", cxx20
relation, "", cxx20
equivalence_relation, "", cxx20
strict_weak_order, "", cxx20
ranges::swap, "", cxx20
#
condition_variable, "", cxx11
condition_variable_any, "", cxx11
#
byte, "", cxx17
#
uint_fast16_t, "", cxx11
uint_fast32_t, "", cxx11
uint_fast64_t, "", cxx11
uint_fast8_t, "", cxx11
uint_least16_t, "", cxx11
uint_least32_t, "", cxx11
uint_least64_t, "", cxx11
uint_least8_t, "", cxx11
uintmax_t, "", cxx11
uintptr_t, "", cxx11
#
deque, "", cxx98
#
current_exception, "", cxx11
exception, "", cxx98
exception_ptr, "", cxx11
make_exception_ptr, "", cxx11
terminate, "", cxx98
uncaught_exceptions, "", cxx17
#
expected, "", cxx23
#
basic_format_arg, "", cxx20
basic_format_args, "", cxx20
basic_format_context, "", cxx20
basic_format_parse_context, "", cxx20
basic_format_string, "", cxx20
format, "", cxx20
format_args, "", cxx20
format_context, "", cxx20
format_error, "", cxx20
format_parse_context, "", cxx20
format_string, "", cxx20
format_to, "", cxx20
format_to_n, "", cxx20
formattable, "", cxx23
formatted_size, "", cxx20
formatter, "", cxx20
make_format_args, "", cxx20
make_wformat_args, "", cxx20
range_format, "", cxx23
range_formatter, "", cxx23
runtime_format, "", cxx26
vformat, "", cxx20
vformat_to, "", cxx20
wformat_args, "", cxx20
wformat_context, "", cxx20
wformat_parse_context, "", cxx20
wformat_string, "", cxx20
#
forward_list, "", cxx11
#
basic_filebuf, "", cxx98
basic_fstream, "", cxx98
basic_ifstream, "", cxx98
basic_ofstream, "", cxx98
fstream, "", cxx98
ifstream, "", cxx98
ofstream, "", cxx98
#
bind, "", cxx11
bind_front, "", cxx20
function, "", cxx11
hash, "", cxx11
invoke, "", cxx17
invoke_r, "", cxx23
mem_fn, "", cxx11
not_fn, "", cxx17
reference_wrapper, "", cxx11
unwrap_ref_decay, "", cxx20
unwrap_ref_decay_t, "", cxx20
unwrap_reference, "", cxx20
unwrap_reference_t, "", cxx20
#
async, "", cxx11
future, "", cxx11
packaged_task, "", cxx11
promise, "", cxx11
#
generator, "", cxx23
#
get_money, "", cxx11
get_time, "", cxx11
put_money, "", cxx11
put_time, "", cxx11
quoted, "", cxx14
resetiosflags, "", cxx98
setbase, "", cxx98
setfill, "", cxx98
setiosflags, "", cxx98
setprecision, "", cxx98
setw, "", cxx98
#
boolalpha, "", cxx98
dec, "", cxx98
defaultfloat, "", cxx11
fixed, "", cxx98
hex, "", cxx98
hexfloat, "", cxx11
internal, "", cxx98
left, "", cxx98
noboolalpha, "", cxx98
noshowbase, "", cxx98
noshowpoint, "", cxx98
noshowpos, "", cxx98
noskipws, "", cxx98
nounitbuf, "", cxx98
nouppercase, "", cxx98
oct, "", cxx98
right, "", cxx98
scientific, "", cxx98
showbase, "", cxx98
showpoint, "", cxx98
showpos, "", cxx98
skipws, "", cxx98
unitbuf, "", cxx98
uppercase, "", cxx98
#
cerr, "", cxx98
cin, "", cxx98
clog, "", cxx98
cout, "", cxx98
wcerr, "", cxx98
wcin, "", cxx98
wclog, "", cxx98
wcout, "", cxx98
#
istream, "", cxx98
ws, "", cxx98
#
advance, "", cxx98
back_inserter, "", cxx98
begin, "", cxx11
common_iterator, "", cxx20
const_iterator, "", cxx23
counted_iterator, "", cxx20
distance, "", cxx98
end, "", cxx11
front_inserter, "", cxx98
inserter, "", cxx98
istream_iterator, "", cxx98
istreambuf_iterator, "", cxx98
iterator_traits, "", cxx98
move_iterator, "", cxx11
next, "", cxx11
ostream_iterator, "", cxx98
ostreambuf_iterator, "", cxx98
prev, "", cxx11
reverse_iterator, "", cxx98
#
list, "", cxx98
#