Tatooine
Public Types | Public Member Functions | Private Attributes | List of all members
tatooine::detail::linspace::iterator< Real > Struct Template Reference

#include <linspace.h>

Inheritance diagram for tatooine::detail::linspace::iterator< Real >:
[legend]
Collaboration diagram for tatooine::detail::linspace::iterator< Real >:
[legend]

Public Types

using sentinel_type = detail::linspace::iterator_sentinel< Real >
 
using linspace_type = tatooine::linspace< Real >
 
using this_type = iterator< Real >
 
- Public Types inherited from tatooine::iterator_facade< iterator< Real > >
using iterator_type = iterator< Real >
 
using this_type = iterator_facade< iterator_type >
 

Public Member Functions

constexpr iterator ()=default
 
constexpr iterator (linspace_type const *const _lin, std::size_t _i)
 
constexpr iterator (iterator const &)=default
 
constexpr iterator (iterator &&) noexcept=default
 
constexpr auto operator= (iterator const &other) -> iterator &=default
 
constexpr auto operator= (iterator &&other) noexcept -> iterator &=default
 
 ~iterator ()=default
 
constexpr auto equal (iterator const &other) const
 
constexpr auto dereference () const
 
constexpr auto increment (std::size_t inc=1)
 
constexpr auto decrement (std::size_t dec=1)
 
constexpr auto at_end () const
 
constexpr auto distance_to (iterator const &other) const -> std::ptrdiff_t
 
constexpr auto distance_to (sentinel_type const) const -> std::ptrdiff_t
 
constexpr auto advance (std::ptrdiff_t const off)
 
- Public Member Functions inherited from tatooine::iterator_facade< iterator< Real > >
auto operator* () const -> decltype(auto)
 
auto operator-> () const
 
auto operator++ () -> auto &
 
auto operator++ (int)
 
auto operator-- () -> auto &
 
auto operator-- (int)
 
auto operator[] (difference_type_arg< iterator_type > auto pos) -> decltype(auto)
 

Private Attributes

linspace_type const * m_lin = nullptr
 
std::size_t m_i {}
 

Member Typedef Documentation

◆ linspace_type

template<floating_point Real>
using tatooine::detail::linspace::iterator< Real >::linspace_type = tatooine::linspace<Real>

◆ sentinel_type

template<floating_point Real>
using tatooine::detail::linspace::iterator< Real >::sentinel_type = detail::linspace::iterator_sentinel<Real>

◆ this_type

template<floating_point Real>
using tatooine::detail::linspace::iterator< Real >::this_type = iterator<Real>

Constructor & Destructor Documentation

◆ iterator() [1/4]

template<floating_point Real>
constexpr tatooine::detail::linspace::iterator< Real >::iterator ( )
constexprdefault

◆ iterator() [2/4]

template<floating_point Real>
constexpr tatooine::detail::linspace::iterator< Real >::iterator ( linspace_type const *const  _lin,
std::size_t  _i 
)
inlineconstexpr

◆ iterator() [3/4]

template<floating_point Real>
constexpr tatooine::detail::linspace::iterator< Real >::iterator ( iterator< Real > const &  )
constexprdefault

◆ iterator() [4/4]

template<floating_point Real>
constexpr tatooine::detail::linspace::iterator< Real >::iterator ( iterator< Real > &&  )
constexprdefaultnoexcept

◆ ~iterator()

template<floating_point Real>
tatooine::detail::linspace::iterator< Real >::~iterator ( )
default

Member Function Documentation

◆ advance()

template<floating_point Real>
constexpr auto tatooine::detail::linspace::iterator< Real >::advance ( std::ptrdiff_t const  off)
inlineconstexpr

◆ at_end()

template<floating_point Real>
constexpr auto tatooine::detail::linspace::iterator< Real >::at_end ( ) const
inlineconstexpr

◆ decrement()

template<floating_point Real>
constexpr auto tatooine::detail::linspace::iterator< Real >::decrement ( std::size_t  dec = 1)
inlineconstexpr

◆ dereference()

template<floating_point Real>
constexpr auto tatooine::detail::linspace::iterator< Real >::dereference ( ) const
inlineconstexpr

◆ distance_to() [1/2]

template<floating_point Real>
constexpr auto tatooine::detail::linspace::iterator< Real >::distance_to ( iterator< Real > const &  other) const -> std::ptrdiff_t
inlineconstexpr

◆ distance_to() [2/2]

template<floating_point Real>
constexpr auto tatooine::detail::linspace::iterator< Real >::distance_to ( sentinel_type const  ) const -> std::ptrdiff_t
inlineconstexpr

◆ equal()

template<floating_point Real>
constexpr auto tatooine::detail::linspace::iterator< Real >::equal ( iterator< Real > const &  other) const
inlineconstexpr

◆ increment()

template<floating_point Real>
constexpr auto tatooine::detail::linspace::iterator< Real >::increment ( std::size_t  inc = 1)
inlineconstexpr

◆ operator=() [1/2]

template<floating_point Real>
constexpr auto tatooine::detail::linspace::iterator< Real >::operator= ( iterator< Real > &&  other) -> iterator &=default
constexprdefaultnoexcept

◆ operator=() [2/2]

template<floating_point Real>
constexpr auto tatooine::detail::linspace::iterator< Real >::operator= ( iterator< Real > const &  other) -> iterator &=default
constexprdefault

Member Data Documentation

◆ m_i

template<floating_point Real>
std::size_t tatooine::detail::linspace::iterator< Real >::m_i {}
private

◆ m_lin

template<floating_point Real>
linspace_type const* tatooine::detail::linspace::iterator< Real >::m_lin = nullptr
private

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