diff --git a/include/iosfwd b/include/iosfwd index eccfd349a..e4149ef22 100644 --- a/include/iosfwd +++ b/include/iosfwd @@ -194,6 +194,11 @@ template typedef basic_string, allocator > string; typedef basic_string, allocator > wstring; + +// Include other forward declarations here +template > +class _LIBCPP_TYPE_VIS_ONLY vector; + _LIBCPP_END_NAMESPACE_STD #endif // _LIBCPP_IOSFWD diff --git a/include/iterator b/include/iterator index 8d9b31101..e5bb49318 100644 --- a/include/iterator +++ b/include/iterator @@ -340,10 +340,10 @@ template constexpr const E* data(initializer_list il) noexcept; */ #include <__config> +#include // for forward declarations of vector and string. #include <__functional_base> #include #include -#include #include #ifdef __APPLE__ #include diff --git a/include/vector b/include/vector index dbc0dd321..0e413350d 100644 --- a/include/vector +++ b/include/vector @@ -262,6 +262,7 @@ void swap(vector& x, vector& y) */ #include <__config> +#include // for forward declaration of vector #include <__bit_reference> #include #include @@ -453,7 +454,7 @@ __vector_base<_Tp, _Allocator>::~__vector_base() } } -template > +template */> class _LIBCPP_TYPE_VIS_ONLY vector : private __vector_base<_Tp, _Allocator> {