astrotypes  0.0
Public Types | Public Member Functions | Protected Types | Protected Attributes | Friends | List of all members
pss::astrotypes::SliceIteratorBase< DerivedType, SliceType, is_const, Rank > Class Template Reference

Class to Iterate over a Slice. More...

#include <src/cpp/pss/astrotypes/multiarray/SliceIterator.h>

Inheritance diagram for pss::astrotypes::SliceIteratorBase< DerivedType, SliceType, is_const, Rank >:
Inheritance graph

Public Types

typedef std::iterator_traits< parent_iterator >::value_type value_type
 
typedef std::iterator_traits< parent_iterator >::reference reference
 
typedef std::iterator_traits< parent_iterator >::pointer pointer
 
typedef std::iterator_traits< parent_iterator >::difference_type difference_type
 
typedef std::forward_iterator_tag iterator_category
 

Public Member Functions

 SliceIteratorBase (SliceT &)
 
 ~SliceIteratorBase ()
 
DerivedType & operator++ ()
 
difference_type operator- (SelfType const &) const
 
SliceT const & slice () const
 

Protected Types

typedef std::conditional< is_const, SliceType const, SliceType >::type SliceT
 
typedef BaseT::ImplT ImplT
 

Protected Attributes

SliceT_slice
 
SlicePosition< SliceT::rank > _pos
 

Friends

template<typename D , typename S , bool , int >
class SliceIteratorBase
 

Detailed Description

template<typename DerivedType, typename SliceType, bool is_const, int Rank>
class pss::astrotypes::SliceIteratorBase< DerivedType, SliceType, is_const, Rank >

Class to Iterate over a Slice.

Definition at line 57 of file SliceIterator.h.

Member Typedef Documentation

template<typename DerivedType, typename SliceType, bool is_const, int Rank>
typedef std::iterator_traits<parent_iterator>::difference_type pss::astrotypes::SliceIteratorBase< DerivedType, SliceType, is_const, Rank >::difference_type

Definition at line 75 of file SliceIterator.h.

template<typename DerivedType, typename SliceType, bool is_const, int Rank>
typedef BaseT::ImplT pss::astrotypes::SliceIteratorBase< DerivedType, SliceType, is_const, Rank >::ImplT
protected

Definition at line 69 of file SliceIterator.h.

template<typename DerivedType, typename SliceType, bool is_const, int Rank>
typedef std::forward_iterator_tag pss::astrotypes::SliceIteratorBase< DerivedType, SliceType, is_const, Rank >::iterator_category

Definition at line 76 of file SliceIterator.h.

template<typename DerivedType, typename SliceType, bool is_const, int Rank>
typedef std::iterator_traits<parent_iterator>::pointer pss::astrotypes::SliceIteratorBase< DerivedType, SliceType, is_const, Rank >::pointer

Definition at line 74 of file SliceIterator.h.

template<typename DerivedType, typename SliceType, bool is_const, int Rank>
typedef std::iterator_traits<parent_iterator>::reference pss::astrotypes::SliceIteratorBase< DerivedType, SliceType, is_const, Rank >::reference

Definition at line 73 of file SliceIterator.h.

template<typename DerivedType, typename SliceType, bool is_const, int Rank>
typedef std::conditional<is_const, SliceType const, SliceType>::type pss::astrotypes::SliceIteratorBase< DerivedType, SliceType, is_const, Rank >::SliceT
protected

Definition at line 68 of file SliceIterator.h.

template<typename DerivedType, typename SliceType, bool is_const, int Rank>
typedef std::iterator_traits<parent_iterator>::value_type pss::astrotypes::SliceIteratorBase< DerivedType, SliceType, is_const, Rank >::value_type

Definition at line 72 of file SliceIterator.h.

Constructor & Destructor Documentation

template<typename DerivedType , typename SliceType , bool is_const, int rank>
pss::astrotypes::SliceIteratorBase< DerivedType, SliceType, is_const, rank >::SliceIteratorBase ( SliceT slice)

Definition at line 29 of file SliceIterator.cpp.

template<typename DerivedType , typename SliceType , bool is_const, int rank>
pss::astrotypes::SliceIteratorBase< DerivedType, SliceType, is_const, rank >::~SliceIteratorBase ( )

Definition at line 37 of file SliceIterator.cpp.

Member Function Documentation

template<typename DerivedType , typename SliceType , bool is_const, int rank>
DerivedType & pss::astrotypes::SliceIteratorBase< DerivedType, SliceType, is_const, rank >::operator++ ( )

Definition at line 42 of file SliceIterator.cpp.

template<typename DerivedType , typename SliceType , bool is_const, int rank>
SliceIteratorBase< DerivedType, SliceType, is_const, rank >::difference_type pss::astrotypes::SliceIteratorBase< DerivedType, SliceType, is_const, rank >::operator- ( SelfType const &  f) const

Definition at line 57 of file SliceIterator.cpp.

template<typename DerivedType , typename SliceType , bool is_const, int rank>
SliceIteratorBase< DerivedType, SliceType, is_const, rank >::SliceT const & pss::astrotypes::SliceIteratorBase< DerivedType, SliceType, is_const, rank >::slice ( ) const

Definition at line 51 of file SliceIterator.cpp.

Friends And Related Function Documentation

template<typename DerivedType, typename SliceType, bool is_const, int Rank>
template<typename D , typename S , bool , int >
friend class SliceIteratorBase
friend

Definition at line 61 of file SliceIterator.h.

Member Data Documentation

template<typename DerivedType, typename SliceType, bool is_const, int Rank>
SlicePosition<SliceT::rank> pss::astrotypes::SliceIteratorBase< DerivedType, SliceType, is_const, Rank >::_pos
protected

Definition at line 90 of file SliceIterator.h.

template<typename DerivedType, typename SliceType, bool is_const, int Rank>
SliceT& pss::astrotypes::SliceIteratorBase< DerivedType, SliceType, is_const, Rank >::_slice
protected

Definition at line 89 of file SliceIterator.h.