Open 3D Engine AzCore API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZStd::common_iterator< I, S, enable_if_t< conjunction_v< bool_constant< input_or_output_iterator< I > >, bool_constant< sentinel_for< S, I > >, bool_constant<!same_as< I, S > >, bool_constant< copyable< I > > > > > Class Template Reference

Public Member Functions

constexpr common_iterator (I i)
 
constexpr common_iterator (S s)
 
template<class I2 , class S2 , class = enable_if_t<conjunction_v< bool_constant<convertible_to<const I2&, I>>, bool_constant<convertible_to<const S2&, S>> > >>
constexpr common_iterator (const common_iterator< I2, S2 > &other)
 
template<class I2 , class S2 , class = enable_if_t<conjunction_v< bool_constant<convertible_to<const I2&, I>>, bool_constant<convertible_to<const S2&, S>>, bool_constant<assignable_from<I&, const I2&>>, bool_constant<assignable_from<S&, const S2&>> > >>
constexpr common_iteratoroperator= (const common_iterator< I2, S2 > &other)
 
constexpr decltype(auto) operator* ()
 
template<bool Enable = Internal::dereferenceable<const I>, class = enable_if_t<Enable>>
constexpr decltype(auto) operator* () const
 
template<bool Enable = conjunction_v< bool_constant<indirectly_readable<const I>>, disjunction< bool_constant<Internal::has_operator_arrow<const I>>, is_reference<iter_reference_t<I>>, bool_constant<constructible_from<iter_value_t<I>, iter_reference_t<I>>> > >, class = enable_if_t<Enable>>
constexpr decltype(auto) operator-> () const
 
constexpr common_iteratoroperator++ ()
 
constexpr decltype(auto) operator++ (int)
 

Friends

template<class I2 , class S2 >
constexpr auto operator== (const common_iterator &x, const common_iterator< I2, S2 > &y) -> enable_if_t< conjunction_v< bool_constant< sentinel_for< S2, I > >, bool_constant< sentinel_for< S, I2 > >, bool_constant<!equality_comparable_with< I, I2 > > >, bool >
 
template<class I2 , class S2 >
constexpr auto operator!= (const common_iterator &x, const common_iterator< I2, S2 > &y) -> enable_if_t< conjunction_v< bool_constant< sentinel_for< S2, I > >, bool_constant< sentinel_for< S, I2 > >, bool_constant<!equality_comparable_with< I, I2 > > >, bool >
 
template<class I2 , class S2 >
constexpr auto operator== (const common_iterator &x, const common_iterator< I2, S2 > &y) -> enable_if_t< conjunction_v< bool_constant< sentinel_for< S2, I > >, bool_constant< sentinel_for< S, I2 > >, bool_constant< equality_comparable_with< I, I2 > > >, bool >
 
template<class I2 , class S2 >
constexpr auto operator!= (const common_iterator &x, const common_iterator< I2, S2 > &y) -> enable_if_t< conjunction_v< bool_constant< sentinel_for< S2, I > >, bool_constant< sentinel_for< S, I2 > >, bool_constant< equality_comparable_with< I, I2 > > >, bool >
 
template<class I2 , class S2 >
constexpr auto operator- (const common_iterator &x, const common_iterator< I2, S2 > &y) -> enable_if_t< conjunction_v< bool_constant< sized_sentinel_for< I2, I > >, bool_constant< sized_sentinel_for< S2, I > >, bool_constant< sized_sentinel_for< S, I2 > > >, iter_difference_t< I2 > >
 
constexpr auto iter_move (const common_iterator &i) noexcept(noexcept(ranges::iter_move(declval< const I & >()))) -> enable_if_t< input_iterator< I >, iter_rvalue_reference_t< I > >
 
template<class I2 , class S2 , enable_if_t< indirectly_swappable< I2, I > > >
constexpr void iter_swap (const common_iterator &x, const common_iterator< I2, S2 > &y) noexcept(noexcept(ranges::iter_swap(declval< const I & >(), declval< const I2 & >())))
 

The documentation for this class was generated from the following file: