MADNESS  version 0.9
Classes | Public Types | Public Member Functions | List of all members
madness::Range< iteratorT > Class Template Reference

Range vaguely a la Intel TBB encapsulates random-access STL-like start and end iterators with chunksize. More...

#include <worldrange.h>

Public Types

typedef iteratorT iterator
 

Public Member Functions

 Range (const iterator &start, const iterator &finish, int chunk=1)
 Makes the range [start,finish) More...
 
 Range (const Range &r)
 Copy constructor ... cost is O(1) More...
 
 Range (Range &left, const Split &)
 Splits range between new and old (r) objects ... cost is O(1) More...
 
size_t size () const
 Returns number of items in the range (cost is O(1)) More...
 
bool empty () const
 Returns true if size=0. More...
 
const iteratorbegin () const
 
const iteratorend () const
 
unsigned int get_chunksize () const
 

Detailed Description

template<typename iteratorT>
class madness::Range< iteratorT >

Range vaguely a la Intel TBB encapsulates random-access STL-like start and end iterators with chunksize.

Member Typedef Documentation

template<typename iteratorT >
typedef iteratorT madness::Range< iteratorT >::iterator

Constructor & Destructor Documentation

template<typename iteratorT >
madness::Range< iteratorT >::Range ( const iterator start,
const iterator finish,
int  chunk = 1 
)
inline

Makes the range [start,finish)

The motivated reader should look at the Intel TBB range, partitioner, split, concepts, etc..

template<typename iteratorT >
madness::Range< iteratorT >::Range ( const Range< iteratorT > &  r)
inline

Copy constructor ... cost is O(1)

template<typename iteratorT >
madness::Range< iteratorT >::Range ( Range< iteratorT > &  left,
const Split  
)
inline

Splits range between new and old (r) objects ... cost is O(1)

Member Function Documentation

template<typename iteratorT >
const iterator& madness::Range< iteratorT >::begin ( ) const
inline
template<typename iteratorT >
bool madness::Range< iteratorT >::empty ( ) const
inline

Returns true if size=0.

template<typename iteratorT >
const iterator& madness::Range< iteratorT >::end ( ) const
inline
template<typename iteratorT >
unsigned int madness::Range< iteratorT >::get_chunksize ( ) const
inline
template<typename iteratorT >
size_t madness::Range< iteratorT >::size ( ) const
inline

Returns number of items in the range (cost is O(1))


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