%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 # map, "", cxx98 multimap, "", cxx98 # allocate_shared, "", cxx11 allocator, "", cxx98 allocator_traits, "", cxx11 make_shared, "", cxx11 make_unique, "", cxx14 shared_ptr, "", cxx11 unique_ptr, "", cxx11 weak_ptr, "", cxx11 # pmr, "", cxx17 # mutex, "", cxx11 timed_mutex, "", cxx11 recursive_mutex, "", cxx11 recursive_timed_mutex, "", cxx11 once_flag, "", cxx11 call_once, "", cxx11 lock, "", cxx11 scoped_lock, "", cxx17 try_lock, "", cxx11 lock_guard, "", cxx11 unique_lock, "", cxx11 # . */ optional, "", cxx17 make_optional, "", cxx17 # ostream, "", cxx98 wostream, "", cxx98 ends, "", cxx98 flush, "", cxx98 endl, "", cxx98 # queue, "", cxx98 priority_queue, "", cxx98 # set, "", cxx98 multiset, "", cxx98 # shared_lock, "", cxx14 shared_mutex, "", cxx17 shared_timed_mutex, "", cxx14 # source_location, "", cxx20 # basic_stringbuf, "", cxx98 basic_istringstream, "", cxx98 basic_ostringstream, "", cxx98 basic_stringstream, "", cxx98 istringstream, "", cxx98 ostringstream, "", cxx98 stringstream, "", cxx98 # stack, "", cxx98 # basic_string, "", cxx98 string, "", cxx98 wstring, "", cxx98 u8string, "", cxx20 u16string, "", cxx11 u32string, "", cxx11 # basic_string_view, "", cxx17 string_view, "", cxx17 # thread, "", cxx11 this_thread, "", cxx11 # apply, "", cxx17 forward_as_tuple, "", cxx11 make_from_tuple, "", cxx17 make_tuple, "", cxx11 tie, "", cxx11 tuple, "", cxx11 tuple_cat, "", cxx11 tuple_element, "", cxx11 tuple_element_t, "", cxx14 tuple_size, "", cxx11 tuple_size_v, "", cxx17 # enable_if, "", cxx11 enable_if_t, "", cxx14 invoke_result, "", cxx17 invoke_result_t, "", cxx17 remove_cvref, "", cxx20 remove_cvref_t, "", cxx20 type_identity, "", cxx20 type_identity_t, "", cxx20 void_t, "", cxx17 conjunction, "", cxx17 conjunction_v, "", cxx17 disjunction, "", cxx17 disjunction_v, "", cxx17 negation, "", cxx17 negation_v, "", cxx17 # unordered_map, "", cxx11 unordered_multimap, "", cxx11 # unordered_set, "", cxx11 unordered_multiset, "", cxx11 # declval, "", cxx11 forward, "", cxx11 make_pair, "", cxx98 move, "", cxx11 pair, "", cxx98 # variant, "", cxx17 visit, "", cxx17 # vector, "", cxx98