| # Gaudi Framework, version v20r3
Generated: 24 Nov 2008

# Gaudi::Utils::GetData< Gaudi::Range_< std::vector< const TYPE * > > > Struct Template Reference

`#include <GetData.h>`

List of all members.

## Detailed Description

### template<class TYPE>
struct Gaudi::Utils::GetData< Gaudi::Range_< std::vector< const TYPE * > > >

the template specialization for ranges

Definition at line 107 of file GetData.h.

## Public Types
typedef Gaudi::Range_ < std::vector< const TYPE * > > | Type
| the actual return type
typedef _GetType< Type > ::return_type | return_type
## Public Member Functions
template<class COMMON>
return_type | operator() (const COMMON &common, IDataProviderSvc *service, const std::string &location) const
| the only one essential method
## Private Member Functions
template<class ITERATOR>
return_type | make_range (ITERATOR first, ITERATOR last) const

## Member Typedef Documentation

template<class TYPE>

typedef Gaudi::Range_<std::vector<const TYPE*> > Gaudi::Utils::GetData< Gaudi::Range_< std::vector< const TYPE * > > >::Type

the actual return type

Definition at line 112 of file GetData.h.

template<class TYPE>

typedef _GetType<Type>::return_type Gaudi::Utils::GetData< Gaudi::Range_< std::vector< const TYPE * > > >::return_type

Definition at line 113 of file GetData.h.

## Member Function Documentation

template<class TYPE>
template<class COMMON>

return_type Gaudi::Utils::GetData< Gaudi::Range_< std::vector< const TYPE * > > >::operator() | ( | const COMMON & | common,
|  | IDataProviderSvc * | service,
|  | const std::string & | location |
| ) |  |  | const`[inline]`

the only one essential method

Parameters:

  | common | the actual "worker"
  | service | pointer to Data Provider Service
  | location | location of objects in TES

Returns:
  the data

Definition at line 125 of file GetData.h.

    00128       {
    00129         { // try to get the selection from TES
    00130           SmartDataPtr<typename TYPE::Selection> obj ( service , location ) ;
    00131           typename TYPE::Selection* aux = obj ;
    00132           if ( 0 != aux )
    00133           {
    00134             if ( common.msgLevel ( MSG::DEBUG ) )
    00135             { common.debug() << "The object of type '"
    00136                              << System::typeinfoName(typeid(*aux))
    00137                              << "' has been retrieved from TS at address '"
    00138                              << location << "'" << endreq ; }
    00139             return make_range ( aux->begin() , aux->end() ) ;
    00140           }
    00141         }
    00142         { // get from TES the container
    00143           SmartDataPtr<typename TYPE::Container> obj ( service , location ) ;
    00144           typename TYPE::Container* aux = obj ;
    00145           if ( 0 != aux )
    00146           {
    00147             if ( common.msgLevel ( MSG::DEBUG ) )
    00148             { common.debug() << "The object of type '"
    00149                              << System::typeinfoName(typeid(*aux))
    00150                              << "' has been retrieved from TS at address '"
    00151                              << location << "'" << endreq ; }
    00152             return make_range ( aux->begin() , aux->end() ) ;
    00153           }
    00154         }
    00155         // no valid data
    00156         common.Assert ( false , "get():: No valid data at '" + location + "'"  ) ;
    00157         // the fictive return
    00158         return return_type () ;
    00159       }

template<class TYPE>
template<class ITERATOR>

return_type Gaudi::Utils::GetData< Gaudi::Range_< std::vector< const TYPE * > > >::make_range | ( | ITERATOR | first,
|  | ITERATOR | last |
| ) |  |  | const`[inline, private]`

Definition at line 165 of file GetData.h.

    00167       {
    00168         ITERATOR _begin = first ;
    00169         ITERATOR _end   = last  ;
    00170         return return_type
    00171           ( *reinterpret_cast<typename return_type::const_iterator*> ( &_begin ) ,
    00172             *reinterpret_cast<typename return_type::const_iterator*> ( &_end   ) ) ;
    00173       }

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

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v20r3/GaudiAlg/GaudiAlg/GetData.h