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::move_iterator< I > Class Template Reference

Inherits AZStd::Internal::move_iterator_iter_category< I, class >.

Public Types

using iterator_type = I
 
using iterator_concept = conditional_t< random_access_iterator< I >, random_access_iterator_tag, conditional_t< bidirectional_iterator< I >, bidirectional_iterator_tag, conditional_t< forward_iterator< I >, forward_iterator_tag, input_iterator_tag > > >
 
using value_type = iter_value_t< I >
 
using difference_type = iter_difference_t< I >
 
using pointer = I
 
using reference = iter_rvalue_reference_t< I >
 

Public Member Functions

constexpr move_iterator (I i)
 
template<class I2 , class = enable_if_t<!same_as<I2, I> && convertible_to<const I2&, I>>>
constexpr move_iterator (const move_iterator< I2 > &other)
 
template<class I2 , class = enable_if_t<!same_as<I2, I>&& convertible_to<const I2&, I>>>
constexpr move_iteratoroperator= (const move_iterator< I2 > &other)
 
constexpr const I & base () const &noexcept
 
constexpr I base () &&
 
constexpr reference operator* () const
 
constexpr reference operator[] (difference_type n) const
 
constexpr move_iteratoroperator++ ()
 
constexpr auto operator++ (int)
 
constexpr move_iteratoroperator-- ()
 
constexpr move_iterator operator-- (int)
 
constexpr move_iterator operator+ (difference_type n) const
 
constexpr move_iteratoroperator+= (difference_type n)
 
constexpr move_iterator operator- (difference_type n) const
 
constexpr move_iteratoroperator-= (difference_type n)
 

Friends

template<class I2 >
constexpr auto operator== (const move_iterator &x, const move_iterator< I2 > &y) -> enable_if_t< equality_comparable_with< I, I2 >, bool >
 
template<class I2 >
constexpr auto operator!= (const move_iterator &x, const move_iterator< I2 > &y) -> enable_if_t< equality_comparable_with< I, I2 >, bool >
 
template<class I2 >
constexpr auto operator< (const move_iterator &x, const move_iterator< I2 > &y) -> enable_if_t< convertible_to< decltype(declval< I >()< declval< I2 >()), bool >, bool >
 
template<class I2 >
constexpr auto operator> (const move_iterator &x, const move_iterator< I2 > &y) -> enable_if_t< convertible_to< decltype(declval< I >()< declval< I2 >()), bool >, bool >
 
template<class I2 >
constexpr auto operator<= (const move_iterator &x, const move_iterator< I2 > &y) -> enable_if_t< convertible_to< decltype(declval< I >()< declval< I2 >()), bool >, bool >
 
template<class I2 >
constexpr auto operator>= (const move_iterator &x, const move_iterator< I2 > &y) -> enable_if_t< convertible_to< decltype(declval< I >()< declval< I2 >()), bool >, bool >
 
template<class I2 >
constexpr auto operator- (const move_iterator &x, const move_iterator< I2 > &y) -> decltype(declval< const I & >() - declval< const I2 & >())
 
constexpr reference iter_move (const move_iterator &i) noexcept(noexcept(ranges::iter_move(declval< const I & >())))
 
template<class I2 , enable_if_t< indirectly_swappable< I2, I > > >
constexpr void iter_swap (const move_iterator &x, const move_iterator< I2 > &y) noexcept(noexcept(ranges::iter_swap(declval< const I & >(), declval< const I2 & >())))
 

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