Project
Loading...
Searching...
No Matches
o2::rans::internal::SparseVectorIterator< container_T > Class Template Reference

#include <SparseVector.h>

Classes

class  PtrHelper
 

Public Types

using container_value_type = std::conditional_t< std::is_const_v< container_T >, const typename container_T::value_type, typename container_T::value_type >
 
using lut_iterator = std::conditional_t< std::is_const_v< container_value_type >, typename container_T::container_type::const_iterator, typename container_T::container_type::iterator >
 
using bucket_iterator = std::conditional_t< std::is_const_v< container_value_type >, typename std::iterator_traits< lut_iterator >::value_type::const_iterator, typename std::iterator_traits< lut_iterator >::value_type::iterator >
 
using source_type = typename container_T::source_type
 
using difference_type = std::ptrdiff_t
 
using value_type = std::pair< source_type, container_value_type & >
 
using pointer = PtrHelper
 
using reference = value_type &
 
using iterator_category = std::bidirectional_iterator_tag
 

Public Member Functions

 SparseVectorIterator () noexcept=default
 
 SparseVectorIterator (container_T &container) noexcept
 
 SparseVectorIterator (container_T &container, lut_iterator lutIter) noexcept
 
 SparseVectorIterator (container_T &container, lut_iterator lutIter, bucket_iterator bucketIter) noexcept
 
SparseVectorIteratoroperator++ () noexcept
 
SparseVectorIterator operator++ (int) noexcept
 
SparseVectorIteratoroperator-- () noexcept
 
SparseVectorIterator operator-- (int) noexcept
 
bool operator== (const SparseVectorIterator &other) const noexcept
 
bool operator!= (const SparseVectorIterator &other) const noexcept
 
value_type operator* () const noexcept
 
pointer operator-> () noexcept
 
pointer operator-> () const noexcept
 
 operator SparseVectorIterator< const container_T > ()
 
container_T & getContainer () const
 
lut_iterator getLUTIterator () const
 
bucket_iterator getBucketIterator () const
 

Detailed Description

template<class container_T>
class o2::rans::internal::SparseVectorIterator< container_T >

Definition at line 229 of file SparseVector.h.

Member Typedef Documentation

◆ bucket_iterator

template<class container_T >
using o2::rans::internal::SparseVectorIterator< container_T >::bucket_iterator = std::conditional_t<std::is_const_v<container_value_type>, typename std::iterator_traits<lut_iterator>::value_type::const_iterator, typename std::iterator_traits<lut_iterator>::value_type::iterator>

Definition at line 237 of file SparseVector.h.

◆ container_value_type

template<class container_T >
using o2::rans::internal::SparseVectorIterator< container_T >::container_value_type = std::conditional_t<std::is_const_v<container_T>, const typename container_T::value_type, typename container_T::value_type>

Definition at line 232 of file SparseVector.h.

◆ difference_type

template<class container_T >
using o2::rans::internal::SparseVectorIterator< container_T >::difference_type = std::ptrdiff_t

Definition at line 245 of file SparseVector.h.

◆ iterator_category

template<class container_T >
using o2::rans::internal::SparseVectorIterator< container_T >::iterator_category = std::bidirectional_iterator_tag

Definition at line 249 of file SparseVector.h.

◆ lut_iterator

template<class container_T >
using o2::rans::internal::SparseVectorIterator< container_T >::lut_iterator = std::conditional_t<std::is_const_v<container_value_type>, typename container_T::container_type::const_iterator, typename container_T::container_type::iterator>

Definition at line 234 of file SparseVector.h.

◆ pointer

template<class container_T >
using o2::rans::internal::SparseVectorIterator< container_T >::pointer = PtrHelper

Definition at line 247 of file SparseVector.h.

◆ reference

template<class container_T >
using o2::rans::internal::SparseVectorIterator< container_T >::reference = value_type&

Definition at line 248 of file SparseVector.h.

◆ source_type

template<class container_T >
using o2::rans::internal::SparseVectorIterator< container_T >::source_type = typename container_T::source_type

Definition at line 244 of file SparseVector.h.

◆ value_type

template<class container_T >
using o2::rans::internal::SparseVectorIterator< container_T >::value_type = std::pair<source_type, container_value_type&>

Definition at line 246 of file SparseVector.h.

Constructor & Destructor Documentation

◆ SparseVectorIterator() [1/4]

template<class container_T >
o2::rans::internal::SparseVectorIterator< container_T >::SparseVectorIterator ( )
inlinedefaultnoexcept

◆ SparseVectorIterator() [2/4]

template<class container_T >
o2::rans::internal::SparseVectorIterator< container_T >::SparseVectorIterator ( container_T &  container)
inlinenoexcept

Definition at line 253 of file SparseVector.h.

◆ SparseVectorIterator() [3/4]

template<class container_T >
o2::rans::internal::SparseVectorIterator< container_T >::SparseVectorIterator ( container_T &  container,
lut_iterator  lutIter 
)
inlinenoexcept

Definition at line 255 of file SparseVector.h.

◆ SparseVectorIterator() [4/4]

template<class container_T >
o2::rans::internal::SparseVectorIterator< container_T >::SparseVectorIterator ( container_T &  container,
lut_iterator  lutIter,
bucket_iterator  bucketIter 
)
inlinenoexcept

Definition at line 262 of file SparseVector.h.

Member Function Documentation

◆ getBucketIterator()

template<class container_T >
bucket_iterator o2::rans::internal::SparseVectorIterator< container_T >::getBucketIterator ( ) const
inline

Definition at line 356 of file SparseVector.h.

◆ getContainer()

template<class container_T >
container_T & o2::rans::internal::SparseVectorIterator< container_T >::getContainer ( ) const
inline

Definition at line 353 of file SparseVector.h.

◆ getLUTIterator()

template<class container_T >
lut_iterator o2::rans::internal::SparseVectorIterator< container_T >::getLUTIterator ( ) const
inline

Definition at line 355 of file SparseVector.h.

◆ operator SparseVectorIterator< const container_T >()

template<class container_T >
o2::rans::internal::SparseVectorIterator< container_T >::operator SparseVectorIterator< const container_T > ( )
inline

Definition at line 338 of file SparseVector.h.

◆ operator!=()

template<class container_T >
bool o2::rans::internal::SparseVectorIterator< container_T >::operator!= ( const SparseVectorIterator< container_T > &  other) const
inlinenoexcept

Definition at line 315 of file SparseVector.h.

◆ operator*()

template<class container_T >
value_type o2::rans::internal::SparseVectorIterator< container_T >::operator* ( ) const
inlinenoexcept

Definition at line 318 of file SparseVector.h.

◆ operator++() [1/2]

template<class container_T >
SparseVectorIterator & o2::rans::internal::SparseVectorIterator< container_T >::operator++ ( )
inlinenoexcept

Definition at line 265 of file SparseVector.h.

◆ operator++() [2/2]

template<class container_T >
SparseVectorIterator o2::rans::internal::SparseVectorIterator< container_T >::operator++ ( int  )
inlinenoexcept

Definition at line 281 of file SparseVector.h.

◆ operator--() [1/2]

template<class container_T >
SparseVectorIterator & o2::rans::internal::SparseVectorIterator< container_T >::operator-- ( )
inlinenoexcept

Definition at line 289 of file SparseVector.h.

◆ operator--() [2/2]

template<class container_T >
SparseVectorIterator o2::rans::internal::SparseVectorIterator< container_T >::operator-- ( int  )
inlinenoexcept

Definition at line 305 of file SparseVector.h.

◆ operator->() [1/2]

template<class container_T >
pointer o2::rans::internal::SparseVectorIterator< container_T >::operator-> ( ) const
inlinenoexcept

Definition at line 332 of file SparseVector.h.

◆ operator->() [2/2]

template<class container_T >
pointer o2::rans::internal::SparseVectorIterator< container_T >::operator-> ( )
inlinenoexcept

Definition at line 327 of file SparseVector.h.

◆ operator==()

template<class container_T >
bool o2::rans::internal::SparseVectorIterator< container_T >::operator== ( const SparseVectorIterator< container_T > &  other) const
inlinenoexcept

Definition at line 313 of file SparseVector.h.


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