diff options
Diffstat (limited to 'libcxx/include/__iterator/counted_iterator.h')
| -rw-r--r-- | libcxx/include/__iterator/counted_iterator.h | 13 | 
1 files changed, 10 insertions, 3 deletions
| diff --git a/libcxx/include/__iterator/counted_iterator.h b/libcxx/include/__iterator/counted_iterator.h index b0f5c66ecf21..5fdbff4b4866 100644 --- a/libcxx/include/__iterator/counted_iterator.h +++ b/libcxx/include/__iterator/counted_iterator.h @@ -6,10 +6,16 @@  // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception  //  //===----------------------------------------------------------------------===// +  #ifndef _LIBCPP___ITERATOR_COUNTED_ITERATOR_H  #define _LIBCPP___ITERATOR_COUNTED_ITERATOR_H  #include <__assert> +#include <__concepts/assignable.h> +#include <__concepts/common_with.h> +#include <__concepts/constructible.h> +#include <__concepts/convertible_to.h> +#include <__concepts/same_as.h>  #include <__config>  #include <__iterator/concepts.h>  #include <__iterator/default_sentinel.h> @@ -19,10 +25,10 @@  #include <__iterator/iterator_traits.h>  #include <__iterator/readable_traits.h>  #include <__memory/pointer_traits.h> +#include <__type_traits/add_pointer.h> +#include <__type_traits/conditional.h>  #include <__utility/move.h>  #include <compare> -#include <concepts> -#include <type_traits>  #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)  #  pragma GCC system_header @@ -263,7 +269,7 @@ public:    }    template<common_with<_Iter> _I2> -  friend constexpr strong_ordering operator<=>( +  _LIBCPP_HIDE_FROM_ABI friend constexpr strong_ordering operator<=>(      const counted_iterator& __lhs, const counted_iterator<_I2>& __rhs)    {      return __rhs.__count_ <=> __lhs.__count_; @@ -288,6 +294,7 @@ public:      return ranges::iter_swap(__x.__current_, __y.__current_);    }  }; +_LIBCPP_CTAD_SUPPORTED_FOR_TYPE(counted_iterator);  template<input_iterator _Iter>    requires same_as<_ITER_TRAITS<_Iter>, iterator_traits<_Iter>> | 
