sparrow 2.3.1
C++20 idiomatic APIs for the Apache Arrow Columnar Format
Loading...
Searching...
No Matches
sparrow::pointer_index_iterator_base< Derived, Ptr, Element, Reference, IteratorTag, IndexType, Difference > Class Template Reference

#include <iterator.hpp>

Inheritance diagram for sparrow::pointer_index_iterator_base< Derived, Ptr, Element, Reference, IteratorTag, IndexType, Difference >:
[legend]
Collaboration diagram for sparrow::pointer_index_iterator_base< Derived, Ptr, Element, Reference, IteratorTag, IndexType, Difference >:
[legend]

Public Types

using size_type = IndexType
 
using difference_type = Difference
 

Protected Member Functions

constexpr pointer_index_iterator_base () noexcept=default
 
constexpr pointer_index_iterator_base (Ptr *p, IndexType idx) noexcept
 
constexpr void increment () noexcept(SPARROW_CONTRACTS_THROW_ON_FAILURE==0)
 
constexpr void decrement () noexcept(SPARROW_CONTRACTS_THROW_ON_FAILURE==0)
 
constexpr void advance (Difference n) noexcept(SPARROW_CONTRACTS_THROW_ON_FAILURE==0)
 
constexpr Difference distance_to (const Derived &rhs) const noexcept(SPARROW_CONTRACTS_THROW_ON_FAILURE==0)
 
constexpr bool equal (const Derived &rhs) const noexcept
 
constexpr bool less_than (const Derived &rhs) const noexcept(SPARROW_CONTRACTS_THROW_ON_FAILURE==0)
 

Protected Attributes

Ptr * p_object = nullptr
 
IndexType m_index = 0
 

Friends

class iterator_access
 

Detailed Description

template<class Derived, class Ptr, class Element, class Reference, class IteratorTag, class IndexType = std::size_t, class Difference = std::ptrdiff_t>
class sparrow::pointer_index_iterator_base< Derived, Ptr, Element, Reference, IteratorTag, IndexType, Difference >

Definition at line 536 of file iterator.hpp.

Member Typedef Documentation

◆ difference_type

template<class Derived, class Ptr, class Element, class Reference, class IteratorTag, class IndexType = std::size_t, class Difference = std::ptrdiff_t>
using sparrow::pointer_index_iterator_base< Derived, Ptr, Element, Reference, IteratorTag, IndexType, Difference >::difference_type = Difference

Definition at line 542 of file iterator.hpp.

◆ size_type

template<class Derived, class Ptr, class Element, class Reference, class IteratorTag, class IndexType = std::size_t, class Difference = std::ptrdiff_t>
using sparrow::pointer_index_iterator_base< Derived, Ptr, Element, Reference, IteratorTag, IndexType, Difference >::size_type = IndexType

Definition at line 541 of file iterator.hpp.

Constructor & Destructor Documentation

◆ pointer_index_iterator_base() [1/2]

template<class Derived, class Ptr, class Element, class Reference, class IteratorTag, class IndexType = std::size_t, class Difference = std::ptrdiff_t>
sparrow::pointer_index_iterator_base< Derived, Ptr, Element, Reference, IteratorTag, IndexType, Difference >::pointer_index_iterator_base ( )
constexprprotecteddefaultnoexcept

◆ pointer_index_iterator_base() [2/2]

template<class Derived, class Ptr, class Element, class Reference, class IteratorTag, class IndexType = std::size_t, class Difference = std::ptrdiff_t>
sparrow::pointer_index_iterator_base< Derived, Ptr, Element, Reference, IteratorTag, IndexType, Difference >::pointer_index_iterator_base ( Ptr * p,
IndexType idx )
inlineconstexprprotectednoexcept

Definition at line 551 of file iterator.hpp.

Member Function Documentation

◆ advance()

template<class Derived, class Ptr, class Element, class Reference, class IteratorTag, class IndexType = std::size_t, class Difference = std::ptrdiff_t>
void sparrow::pointer_index_iterator_base< Derived, Ptr, Element, Reference, IteratorTag, IndexType, Difference >::advance ( Difference n)
inlineconstexprprotectednoexcept

Definition at line 569 of file iterator.hpp.

◆ decrement()

template<class Derived, class Ptr, class Element, class Reference, class IteratorTag, class IndexType = std::size_t, class Difference = std::ptrdiff_t>
void sparrow::pointer_index_iterator_base< Derived, Ptr, Element, Reference, IteratorTag, IndexType, Difference >::decrement ( )
inlineconstexprprotectednoexcept

Definition at line 563 of file iterator.hpp.

◆ distance_to()

template<class Derived, class Ptr, class Element, class Reference, class IteratorTag, class IndexType = std::size_t, class Difference = std::ptrdiff_t>
Difference sparrow::pointer_index_iterator_base< Derived, Ptr, Element, Reference, IteratorTag, IndexType, Difference >::distance_to ( const Derived & rhs) const
inlinenodiscardconstexprprotectednoexcept

Definition at line 583 of file iterator.hpp.

◆ equal()

template<class Derived, class Ptr, class Element, class Reference, class IteratorTag, class IndexType = std::size_t, class Difference = std::ptrdiff_t>
bool sparrow::pointer_index_iterator_base< Derived, Ptr, Element, Reference, IteratorTag, IndexType, Difference >::equal ( const Derived & rhs) const
inlinenodiscardconstexprprotectednoexcept

Definition at line 589 of file iterator.hpp.

◆ increment()

template<class Derived, class Ptr, class Element, class Reference, class IteratorTag, class IndexType = std::size_t, class Difference = std::ptrdiff_t>
void sparrow::pointer_index_iterator_base< Derived, Ptr, Element, Reference, IteratorTag, IndexType, Difference >::increment ( )
inlineconstexprprotectednoexcept

Definition at line 557 of file iterator.hpp.

◆ less_than()

template<class Derived, class Ptr, class Element, class Reference, class IteratorTag, class IndexType = std::size_t, class Difference = std::ptrdiff_t>
bool sparrow::pointer_index_iterator_base< Derived, Ptr, Element, Reference, IteratorTag, IndexType, Difference >::less_than ( const Derived & rhs) const
inlinenodiscardconstexprprotectednoexcept

Definition at line 595 of file iterator.hpp.

Friends And Related Symbol Documentation

◆ iterator_access

template<class Derived, class Ptr, class Element, class Reference, class IteratorTag, class IndexType = std::size_t, class Difference = std::ptrdiff_t>
friend class iterator_access
friend

Definition at line 601 of file iterator.hpp.

Member Data Documentation

◆ m_index

template<class Derived, class Ptr, class Element, class Reference, class IteratorTag, class IndexType = std::size_t, class Difference = std::ptrdiff_t>
IndexType sparrow::pointer_index_iterator_base< Derived, Ptr, Element, Reference, IteratorTag, IndexType, Difference >::m_index = 0
protected

Definition at line 547 of file iterator.hpp.

◆ p_object

template<class Derived, class Ptr, class Element, class Reference, class IteratorTag, class IndexType = std::size_t, class Difference = std::ptrdiff_t>
Ptr* sparrow::pointer_index_iterator_base< Derived, Ptr, Element, Reference, IteratorTag, IndexType, Difference >::p_object = nullptr
protected

Definition at line 546 of file iterator.hpp.


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