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

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

`#include <GetData.h>`

List of all members.

## Detailed Description

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

the template specialization for named ranges

Definition at line 179 of file GetData.h.

## Public Types
typedef Gaudi::NamedRange_ < 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 std::string &location) const

## Member Typedef Documentation

template<class TYPE>

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

the actual return type

Definition at line 184 of file GetData.h.

template<class TYPE>

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

Definition at line 185 of file GetData.h.

## Member Function Documentation

template<class TYPE>
template<class COMMON>

return_type Gaudi::Utils::GetData< Gaudi::NamedRange_< 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 197 of file GetData.h.

    00200       {
    00201         { // try to get the selection from TES
    00202           SmartDataPtr<typename TYPE::Selection> obj ( service , location ) ;
    00203           typename TYPE::Selection* aux = obj ;
    00204           if ( 0 != obj )
    00205           {
    00206             if ( common.msgLevel ( MSG::DEBUG ) )
    00207             { common.debug() << "The object of type '"
    00208                              << System::typeinfoName(typeid(*aux))
    00209                              << "' has been retrieved from TS at address '"
    00210                              << location << "'" << endreq ; }
    00211             return make_range ( aux -> begin() , aux -> end() , location ) ;
    00212           }
    00213         }
    00214         { // get from TES the container
    00215           SmartDataPtr<typename TYPE::Container> obj ( service , location ) ;
    00216           typename TYPE::Container* aux = obj ;
    00217           if ( 0 != obj )
    00218           {
    00219             if ( common.msgLevel ( MSG::DEBUG ) )
    00220             { common.debug() << "The object of type '"
    00221                              << System::typeinfoName(typeid(*aux))
    00222                              << "' has been retrieved from TS at address '"
    00223                              << location << "'" << endreq ; }
    00224             return make_range ( aux -> begin() , aux -> end() , location ) ;
    00225           }
    00226         }
    00227         // no valid data
    00228         common.Assert ( false , "get():: No valid data at '" + location + "'"  ) ;
    00229         // the fictive return
    00230         return return_type () ;
    00231       }

template<class TYPE>
template<class ITERATOR>

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

Definition at line 237 of file GetData.h.

    00240       {
    00241         ITERATOR _begin = first ;
    00242         ITERATOR _end   = last  ;
    00243         return return_type
    00244           ( *reinterpret_cast<typename return_type::const_iterator*> ( &_begin ) ,
    00245             *reinterpret_cast<typename return_type::const_iterator*> ( &_end   ) ,
    00246             location ) ;
    00247       }

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

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