Hydra  4.0.1
A header-only templated C++ framework to perform data analysis on massively parallel platforms.
hydra::Range< Iterator, Functor > Class Template Reference
Collaboration diagram for hydra::Range< Iterator, Functor >:

Public Types

typedef hydra::thrust::transform_iterator< Functor, Iterator, typename Functor::return_type > iterator
 
typedef hydra::thrust::iterator_traits< iterator >::reference reference
 

Public Member Functions

 Range ()=delete
 
 Range (Iterator begin, Iterator end, Functor const &functor)
 
 Range (Iterator begin, size_t last, Functor const &functor)
 
 Range (Range< Iterator, Functor > const &other)
 
iterator begin ()
 
iterator begin () const
 
iterator cbegin () const
 
iterator cend () const
 
iterator end ()
 
iterator end () const
 
Iterator GetBegin () const
 
Iterator GetEnd () const
 
Functor const & GetFunctor () const
 
Functor & GetFunctor ()
 
Range< Iterator, Functor > & operator= (Range< Iterator, Functor > const &other)
 
reference operator[] (size_t i)
 
const reference operator[] (size_t i) const
 
void resize (size_t size)
 
void SetBegin (Iterator begin)
 
void SetEnd (Iterator end)
 
size_t size () const
 

Detailed Description

template<typename Iterator, typename Functor>
class hydra::Range< Iterator, Functor >

Member Typedef Documentation

◆ iterator

template<typename Iterator , typename Functor >
typedef hydra::thrust::transform_iterator<Functor, Iterator,typename Functor::return_type> hydra::Range< Iterator, Functor >::iterator

◆ reference

template<typename Iterator , typename Functor >
typedef hydra::thrust::iterator_traits<iterator>::reference hydra::Range< Iterator, Functor >::reference

Constructor & Destructor Documentation

◆ Range() [1/4]

template<typename Iterator , typename Functor >
hydra::Range< Iterator, Functor >::Range ( )
delete

◆ Range() [2/4]

template<typename Iterator , typename Functor >
hydra::Range< Iterator, Functor >::Range ( Iterator  begin,
Iterator  end,
Functor const &  functor 
)
inline

◆ Range() [3/4]

template<typename Iterator , typename Functor >
hydra::Range< Iterator, Functor >::Range ( Iterator  begin,
size_t  last,
Functor const &  functor 
)
inline

◆ Range() [4/4]

template<typename Iterator , typename Functor >
hydra::Range< Iterator, Functor >::Range ( Range< Iterator, Functor > const &  other)
inline

Member Function Documentation

◆ begin() [1/2]

template<typename Iterator , typename Functor >
iterator hydra::Range< Iterator, Functor >::begin ( )
inline

◆ begin() [2/2]

template<typename Iterator , typename Functor >
iterator hydra::Range< Iterator, Functor >::begin ( ) const
inline

◆ cbegin()

template<typename Iterator , typename Functor >
iterator hydra::Range< Iterator, Functor >::cbegin ( ) const
inline

◆ cend()

template<typename Iterator , typename Functor >
iterator hydra::Range< Iterator, Functor >::cend ( ) const
inline

◆ end() [1/2]

template<typename Iterator , typename Functor >
iterator hydra::Range< Iterator, Functor >::end ( )
inline

◆ end() [2/2]

template<typename Iterator , typename Functor >
iterator hydra::Range< Iterator, Functor >::end ( ) const
inline

◆ GetBegin()

template<typename Iterator , typename Functor >
Iterator hydra::Range< Iterator, Functor >::GetBegin ( ) const
inline

◆ GetEnd()

template<typename Iterator , typename Functor >
Iterator hydra::Range< Iterator, Functor >::GetEnd ( ) const
inline

◆ GetFunctor() [1/2]

template<typename Iterator , typename Functor >
Functor const& hydra::Range< Iterator, Functor >::GetFunctor ( ) const
inline

◆ GetFunctor() [2/2]

template<typename Iterator , typename Functor >
Functor& hydra::Range< Iterator, Functor >::GetFunctor ( )
inline

◆ operator=()

template<typename Iterator , typename Functor >
Range<Iterator,Functor>& hydra::Range< Iterator, Functor >::operator= ( Range< Iterator, Functor > const &  other)
inline

◆ operator[]() [1/2]

template<typename Iterator , typename Functor >
reference hydra::Range< Iterator, Functor >::operator[] ( size_t  i)
inline

◆ operator[]() [2/2]

template<typename Iterator , typename Functor >
const reference hydra::Range< Iterator, Functor >::operator[] ( size_t  i) const
inline

◆ resize()

template<typename Iterator , typename Functor >
void hydra::Range< Iterator, Functor >::resize ( size_t  size)
inline

◆ SetBegin()

template<typename Iterator , typename Functor >
void hydra::Range< Iterator, Functor >::SetBegin ( Iterator  begin)
inline

◆ SetEnd()

template<typename Iterator , typename Functor >
void hydra::Range< Iterator, Functor >::SetEnd ( Iterator  end)
inline

◆ size()

template<typename Iterator , typename Functor >
size_t hydra::Range< Iterator, Functor >::size ( ) const
inline

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