#pragma once #include <__config> #include <cstddef> #include <iosfwd> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) #pragma GCC system_header #endif _LIBCPP_BEGIN_NAMESPACE_STD template <class F, class S> struct pair; template <class T, size_t N> struct array; template <class T, class A> class vector; template <class T, class A> class list; template <class T, class A> class deque; template <class T, class C, class A> class set; template <class T, class C, class A> class multiset; template <class K, class V, class C, class A> class map; template <class K, class V, class C, class A> class multimap; template <typename... TArgs> class tuple; constexpr void get(...) = delete; template <class> class _LIBCPP_TEMPLATE_VIS function; template <class _Tp> struct _LIBCPP_TEMPLATE_VIS default_delete; template <class _Tp, class Deleter = default_delete<_Tp>> class _LIBCPP_TEMPLATE_VIS unique_ptr; template <class T> class _LIBCPP_TEMPLATE_VIS shared_ptr; /* basic_string is already forward-declared in <iosfwd> */ template<class T, class Traits> class basic_string_view; _LIBCPP_END_NAMESPACE_STD