https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84269
--- Comment #10 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to David Malcolm from comment #8) > We ought to suggest including <utility> for this, and probably various other > stdlib templates. This should cover most of the common ones: <istream> std::istream <ostream> std::ostream <fstream> std::fstream, std::ofstream, std::ifstream <sstream> std::stringstream, std::istringstream, std::ostringstream <string> std::string, std::basic_string <utility> std::pair, std::make_pair <list> std::list <deque> std::deque <vector> std::vector <map> std::map, std::multimap <set> std::set, std::multiset <stack> std::stack <queue> std::queue, std::priority_queue <complex> std::complex <bitset> std::bitset <iterator> std::iterator_traits, std::distance, std::advance, std::reverse_iterator, std::back_inserter, std::front_inserter, std::inserter, std::ostream_iterator, std::istream_iterator, std::ostreambuf_iterator, std::istreambuf_iterator Since C++11: <array> std::array <forward_list> std::forward_list <functional> std::hash, std::mem_fn, std::bind, std::function <memory> std::unique_ptr, std::shared_ptr <tuple> std::tuple, std::tuple_size, std::tuple_element <utility> std::forward, std::move, std::declval <unordered_map> std::unordered_map, std::unordered_multimap <unordered_set> std::unordered_set, std::unordered_multiset <mutex> std::mutex, std::timed_mutex, std::recursive_mutex, std::recursive_timed_mutex, std::once_flag, std::call_once, std::lock, std::try_lock, std::lock_guard, std::unique_lock <condition_variable> std::condition_variable, std::condition_variable_any <thread> std::thread <atomic> std::atomic, std::atomic_flag <future> std::future, std::promise, std::packaged_task, std::async <iterator> std::next, std::prev, std::move_iterator, std::begin, std::end Since C++14: <shared_mutex> std::shared_timed_mutex Since C++17: <string_view> std::string_view <any> std::any, std::any_cast, std::make_any <optional> std::optional, std::make_optional <variant> std::variant, std::visit <mutex> std::scoped_lock <shared_mutex> std::shared_mutex