Gaudi::NamedRange_< CONTAINER, ITERATOR > Class Template Reference

#include <GaudiKernel/NamedRange.h>

Inheritance diagram for Gaudi::NamedRange_< CONTAINER, ITERATOR >:
Collaboration diagram for Gaudi::NamedRange_< CONTAINER, ITERATOR >:

Public Member Functions

 NamedRange_ ()=default
 default constructor More...
 
 NamedRange_ (typename Base::iterator ibegin, typename Base::iterator iend, std::string name="")
 Constructor. More...
 
 NamedRange_ (const Base &base, std::string name="")
 constructor from the base class More...
 
 NamedRange_ (const typename Base::Base &base, std::string name="")
 constructor from the base class More...
 
 NamedRange_ (const typename Base::Container &base, std::string name="")
 constructor from the base class More...
 
 NamedRange_ (typename Base::iterator ibegin, std::string name="")
 
 ~NamedRange_ ()=default
 destructor More...
 
NamedRange_ slice (long index1, long index2) const
 get a "slice" of a range, in Python style More...
 
const std::stringname () const
 get the name of the range More...
 
void setName (const std::string &value)
 set the name of the range More...
 
- Public Member Functions inherited from Gaudi::Range_< CONTAINER, ITERATOR >
 Range_ ()=default
 internal types More...
 
 Range_ (iterator ibegin, iterator iend)
 Constructor. More...
 
 Range_ (const Base &base)
 constructor from the pair of iterators More...
 
 Range_ (const Container &cont)
 constructor from the container More...
 
 Range_ (iterator ibegin)
 
 ~Range_ ()=default
 destructor More...
 
bool empty () const
 empty sequence ? More...
 
size_t size () const
 size of the sequence (number of elements) More...
 
iterator begin () const
 access to begin of the sequence (const version ) More...
 
iterator end () const
 access to end of the sequence (const version) More...
 
iterator cbegin () const
 access to begin of the sequence (const version ) More...
 
iterator cend () const
 access to end of the sequence (const version) More...
 
reverse_iterator rbegin () const
 access to begin of the reversed sequence (const) More...
 
reverse_iterator rend () const
 access to begin of the reversed sequence (const) More...
 
const_reference front () const
 access for the first element (only for non-empty ranges!) More...
 
const_reference back () const
 access for the back element (only for non-empty ranges!) More...
 
Range_ slice (long index1, long index2) const
 get a "slice" of a range, in Python style More...
 
const_reference operator() (const size_t index) const
 non-checked access to the elements by index (valid only for non-empty sequences) More...
 
const_reference operator[] (const long index) const
 non-checked access to the elements by index (valid only for non-empty sequences) More...
 
const_reference at (const long index) const
 Checked access to the elements by index (valid for all sequences)

Exceptions
GaudiExceptionfor out-of-range access.
More...
 
template<class C , class I >
bool operator< (const Range_< C, I > &right) const
 compare with another range More...
 
template<class ANOTHERCONTAINER >
bool operator< (const ANOTHERCONTAINER &right) const
 compare with another container More...
 
bool operator== (const Range_ &right) const
 equality with another range More...
 
template<class CNT , class IT >
bool operator== (const Range_< CNT, IT > &right) const
 equality with another range type More...
 
template<class ANOTHERCONTAINER >
bool operator== (const ANOTHERCONTAINER &right) const
 compare with another container More...
 
bool operator! () const
 empty sequence? More...
 
 operator bool () const
 non-empty sequence? More...
 
 operator const Base & () const
 conversion operator to the std::pair More...
 
const Basebase () const
 conversion operator to the std::pair More...
 

Protected Types

typedef Gaudi::Range_< CONTAINER, ITERATOR > Base
 the base class More...
 
typedef NamedRange_< CONTAINER, ITERATOR > Self
 "self"-type More...
 

Private Attributes

std::string m_name
 the name, associated to the range More...
 

Additional Inherited Members

- Public Types inherited from Gaudi::Range_< CONTAINER, ITERATOR >
typedef std::pair< ITERATOR, ITERATOR > Base
 
typedef Gaudi::details::container< CONTAINER >::Container Container
 type for actual contained iterator More...
 
typedef ITERATOR iterator
 
typedef ITERATOR const_iterator
 
typedef iter_traits::value_type value_type
 
typedef iter_traits::reference reference
 
typedef iter_traits::reference const_reference
 
typedef std::reverse_iterator< iteratorreverse_iterator
 
typedef std::reverse_iterator< iteratorconst_reverse_iterator
 

Detailed Description

template<class CONTAINER, class ITERATOR = typename Gaudi::details::container<CONTAINER>::Iterator>
class Gaudi::NamedRange_< CONTAINER, ITERATOR >

Definition at line 43 of file NamedRange.h.

Member Typedef Documentation

template<class CONTAINER , class ITERATOR = typename Gaudi::details::container<CONTAINER>::Iterator>
typedef Gaudi::Range_<CONTAINER,ITERATOR> Gaudi::NamedRange_< CONTAINER, ITERATOR >::Base
protected

the base class

Definition at line 48 of file NamedRange.h.

template<class CONTAINER , class ITERATOR = typename Gaudi::details::container<CONTAINER>::Iterator>
typedef NamedRange_<CONTAINER,ITERATOR> Gaudi::NamedRange_< CONTAINER, ITERATOR >::Self
protected

"self"-type

Definition at line 50 of file NamedRange.h.

Constructor & Destructor Documentation

template<class CONTAINER , class ITERATOR = typename Gaudi::details::container<CONTAINER>::Iterator>
Gaudi::NamedRange_< CONTAINER, ITERATOR >::NamedRange_ ( )
default

default constructor

template<class CONTAINER , class ITERATOR = typename Gaudi::details::container<CONTAINER>::Iterator>
Gaudi::NamedRange_< CONTAINER, ITERATOR >::NamedRange_ ( typename Base::iterator  ibegin,
typename Base::iterator  iend,
std::string  name = "" 
)
inline

Constructor.

Parameters
ibeginiterator to begin of the sequence
ienditerator to end of the sequence
namename of the range

Definition at line 61 of file NamedRange.h.

64  : Base ( ibegin , iend ) , m_name ( std::move(name) ) {} ;
Gaudi::Range_< CONTAINER, ITERATOR > Base
the base class
Definition: NamedRange.h:48
T move(T...args)
std::string m_name
the name, associated to the range
Definition: NamedRange.h:112
template<class CONTAINER , class ITERATOR = typename Gaudi::details::container<CONTAINER>::Iterator>
Gaudi::NamedRange_< CONTAINER, ITERATOR >::NamedRange_ ( const Base base,
std::string  name = "" 
)
inline

constructor from the base class

Parameters
basebase objects
namename of the range

Definition at line 69 of file NamedRange.h.

71  : Base ( base ) , m_name ( std::move(name) ) {};
Gaudi::Range_< CONTAINER, ITERATOR > Base
the base class
Definition: NamedRange.h:48
T move(T...args)
std::string m_name
the name, associated to the range
Definition: NamedRange.h:112
const Base & base() const
conversion operator to the std::pair
Definition: Range.h:273
template<class CONTAINER , class ITERATOR = typename Gaudi::details::container<CONTAINER>::Iterator>
Gaudi::NamedRange_< CONTAINER, ITERATOR >::NamedRange_ ( const typename Base::Base &  base,
std::string  name = "" 
)
inline

constructor from the base class

Parameters
basebase objects
namename of the range

Definition at line 76 of file NamedRange.h.

78  : Base ( base ) , m_name ( std::move(name) ) {};
Gaudi::Range_< CONTAINER, ITERATOR > Base
the base class
Definition: NamedRange.h:48
T move(T...args)
std::string m_name
the name, associated to the range
Definition: NamedRange.h:112
const Base & base() const
conversion operator to the std::pair
Definition: Range.h:273
template<class CONTAINER , class ITERATOR = typename Gaudi::details::container<CONTAINER>::Iterator>
Gaudi::NamedRange_< CONTAINER, ITERATOR >::NamedRange_ ( const typename Base::Container &  base,
std::string  name = "" 
)
inline

constructor from the base class

Parameters
basebase objects
namename of the range

Definition at line 83 of file NamedRange.h.

85  : Base ( base ) , m_name ( std::move(name) ) {};
Gaudi::Range_< CONTAINER, ITERATOR > Base
the base class
Definition: NamedRange.h:48
T move(T...args)
std::string m_name
the name, associated to the range
Definition: NamedRange.h:112
const Base & base() const
conversion operator to the std::pair
Definition: Range.h:273
template<class CONTAINER , class ITERATOR = typename Gaudi::details::container<CONTAINER>::Iterator>
Gaudi::NamedRange_< CONTAINER, ITERATOR >::NamedRange_ ( typename Base::iterator  ibegin,
std::string  name = "" 
)
inline

Definition at line 90 of file NamedRange.h.

92  : Base ( ibegin , ibegin ) , m_name ( std::move(name) ) {};
Gaudi::Range_< CONTAINER, ITERATOR > Base
the base class
Definition: NamedRange.h:48
T move(T...args)
std::string m_name
the name, associated to the range
Definition: NamedRange.h:112
template<class CONTAINER , class ITERATOR = typename Gaudi::details::container<CONTAINER>::Iterator>
Gaudi::NamedRange_< CONTAINER, ITERATOR >::~NamedRange_ ( )
default

destructor

Member Function Documentation

template<class CONTAINER , class ITERATOR = typename Gaudi::details::container<CONTAINER>::Iterator>
const std::string& Gaudi::NamedRange_< CONTAINER, ITERATOR >::name ( ) const
inline

get the name of the range

Definition at line 105 of file NamedRange.h.

105 { return m_name ; }
std::string m_name
the name, associated to the range
Definition: NamedRange.h:112
template<class CONTAINER , class ITERATOR = typename Gaudi::details::container<CONTAINER>::Iterator>
void Gaudi::NamedRange_< CONTAINER, ITERATOR >::setName ( const std::string value)
inline

set the name of the range

Definition at line 107 of file NamedRange.h.

107 { m_name = value ; }
std::string m_name
the name, associated to the range
Definition: NamedRange.h:112
template<class CONTAINER , class ITERATOR = typename Gaudi::details::container<CONTAINER>::Iterator>
NamedRange_ Gaudi::NamedRange_< CONTAINER, ITERATOR >::slice ( long  index1,
long  index2 
) const
inline

get a "slice" of a range, in Python style

Definition at line 99 of file NamedRange.h.

100  { return NamedRange_( Base::slice ( index1 , index2 ) , m_name ) ; }
NamedRange_()=default
default constructor
std::string m_name
the name, associated to the range
Definition: NamedRange.h:112

Member Data Documentation

template<class CONTAINER , class ITERATOR = typename Gaudi::details::container<CONTAINER>::Iterator>
std::string Gaudi::NamedRange_< CONTAINER, ITERATOR >::m_name
private

the name, associated to the range

Definition at line 112 of file NamedRange.h.


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