Belle II Software  release-08-01-10
Range< AIterator > Class Template Reference

A pair of iterators usable with the range base for loop. More...

#include <Range.h>

Inheritance diagram for Range< AIterator >:
Collaboration diagram for Range< AIterator >:

Public Types

using Iterator = AIterator
 Iterator type of the range.
 
using iterator = Iterator
 Iterator definition for stl.
 
using Reference = typename std::iterator_traits< AIterator >::reference
 The type the iterator references.
 
using value_type = typename std::iterator_traits< AIterator >::value_type
 The type behind the iterator (make it possible to use the range as a "list")
 

Public Member Functions

 Range ()=default
 Default constructor for ROOT.
 
template<class AOtherIterator >
 Range (const std::pair< AOtherIterator, AOtherIterator > &itPair)
 Constructor to adapt a pair as returned by e.g. std::equal_range.
 
template<class Ts , class ItT = GetIterator<Ts>>
 Range (const Ts &ts)
 Constructor from another range.
 
Iterator begin () const
 Begin of the range for range based for.
 
Iterator end () const
 End of the range for range based for.
 
bool empty () const
 Checks if the begin equals the end iterator, hence if the range is empty.
 
std::size_t size () const
 Returns the total number of objects in this range.
 
Reference front () const
 Returns the derefenced iterator at begin()
 
Reference back () const
 Returns the derefenced iterator before end()
 
Reference operator[] (std::size_t i) const
 Returns the object at index i.
 
Reference at (std::size_t i) const
 Returns the object at index i.
 
bool count (Reference t)
 Counts the number of equivalent items in the range.
 

Private Types

using Super = std::pair< AIterator, AIterator >
 Type of the base class.
 

Detailed Description

template<class AIterator>
class Belle2::TrackFindingCDC::Range< AIterator >

A pair of iterators usable with the range base for loop.

Definition at line 25 of file Range.h.


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