%language=C++
%define class-name std_name_hint_lookup
%struct-type
%{
/* 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
. */
%}
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_flag, "", cxx11
atomic_ref, "", cxx20
#
bitset, "", cxx11
#
weak_equality, "", cxx20
strong_equality, "", cxx20
partial_ordering, "", cxx20
weak_ordering, "", cxx20
strong_ordering, "", cxx20
#
complex, "", cxx98
complex_literals, "", cxx14
# . */
condition_variable, "", cxx11
condition_variable_any, "", cxx11
#
byte, "", cxx17
#
deque, "", cxx98
#
forward_list, "", cxx11
#
basic_filebuf, "", cxx98
basic_ifstream, "", cxx98
basic_ofstream, "", cxx98
basic_fstream, "", cxx98
fstream, "", cxx98
ifstream, "", cxx98
ofstream, "", cxx98
#
bind, "", cxx11
bind_front, "", cxx20
function, "", cxx11
hash, "", cxx11
invoke, "", cxx17
mem_fn, "", cxx11
not_fn, "", cxx17
reference_wrapper, "", cxx11
unwrap_reference, "", cxx20
unwrap_reference_t, "", cxx20
unwrap_ref_decay, "", cxx20
unwrap_ref_decay_t, "", cxx20
# . */
async, "", cxx11
future, "", cxx11
packaged_task, "", cxx11
promise, "", cxx11
#
resetiosflags, "", cxx98
setiosflags, "", cxx98
setbase, "", cxx98
setfill, "", cxx98
setprecision, "", cxx98
setw, "", cxx98
get_money, "", cxx11
put_money, "", cxx11
get_time, "", cxx11
put_time, "", cxx11
quoted, "", cxx14
#
boolalpha, "", cxx98
noboolalpha, "", cxx98
showbase, "", cxx98
noshowbase, "", cxx98
showpoint, "", cxx98
noshowpoint, "", cxx98
showpos, "", cxx98
noshowpos, "", cxx98
skipws, "", cxx98
noskipws, "", cxx98
uppercase, "", cxx98
nouppercase, "", cxx98
unitbuf, "", cxx98
nounitbuf, "", cxx98
internal, "", cxx98
left, "", cxx98
right, "", cxx98
dec, "", cxx98
hex, "", cxx98
oct, "", cxx98
fixed, "", cxx98
scientific, "", cxx98
hexfloat, "", cxx11
defaultfloat, "", cxx11
#
cin, "", cxx98
cout, "", cxx98
cerr, "", cxx98
clog, "", cxx98
wcin, "", cxx98
wcout, "", cxx98
wclog, "", cxx98
#
istream, "", cxx98
ws, "", cxx98
#
advance, "", cxx98
back_inserter, "", cxx98
begin, "", cxx11
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
#
ostream, "", cxx98
ends, "", cxx98
flush, "", cxx98
endl, "", cxx98
emit_on_flush, "", cxx20
noemit_on_flush, "", cxx20
flush_emit, "", cxx20
#
list, "", cxx98
#