STIR  6.2.0
Public Types | Public Member Functions | List of all members
stir::PtrBeginEndAllFunction< TopLevelIterT, RestIterT > Class Template Reference

Helper class for NestedIterator when the 1st level iterator refers to a pointer to a stir full iterator for the 2nd level iterator. More...

#include "stir/NestedIteratorHelpers.h"

Inheritance diagram for stir::PtrBeginEndAllFunction< TopLevelIterT, RestIterT >:
Inheritance graph
[legend]

Public Types

typedef RestIterT rest_iter_type
 

Public Member Functions

RestIterT begin (const TopLevelIterT &iter) const
 
RestIterT end (const TopLevelIterT &iter) const
 

Detailed Description

template<class TopLevelIterT, class RestIterT = typename boost::pointee<typename boost::iterator_value<TopLevelIterT>::type>::type::full_iterator>
class stir::PtrBeginEndAllFunction< TopLevelIterT, RestIterT >

Helper class for NestedIterator when the 1st level iterator refers to a pointer to a stir full iterator for the 2nd level iterator.

Parameters
TopLevelIterTtype of the top-level iterator to be used for NestedIterator.
RestIterTtype of the 2nd level iter.

This class can be used for the case where the 2nd level iterators can be obtained by using top_level_iter->begin_all() etc, e.g. for std::vector<Array<2,float> * > or std::vector<shared_ptr<Array<2,float> > >.

The default for RestIterT is suitable for most cases, as it finds RestIterT from the iterator traits of TopLevelIterT.

See also
BeginEndFunction, BeginEndAllFunction

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