CMS 3D CMS Logo

edm::LazyAdapter< T > Class Template Reference

#include <DataFormats/Common/interface/LazyGetter.h>

List of all members.

Public Types

typedef std::vector< T > record_type

Public Member Functions

 LazyAdapter (const LazyUnpacker< T > *, const record_type *, const LazyGetter< T > *)
 Constructor.
const RegionIndex< T > & operator() (const RegionIndex< T > &region) const
 () operator for construction of iterator

Private Attributes

const LazyGetter< T > * getter_
record_typerecord_
LazyUnpacker< T > * unpacker_


Detailed Description

template<typename T>
class edm::LazyAdapter< T >

Definition at line 222 of file LazyGetter.h.


Member Typedef Documentation

template<typename T>
typedef std::vector<T> edm::LazyAdapter< T >::record_type

Definition at line 225 of file LazyGetter.h.


Constructor & Destructor Documentation

template<class T>
edm::LazyAdapter< T >::LazyAdapter ( const LazyUnpacker< T > *  iunpacker,
const record_type irecord,
const LazyGetter< T > *  getter 
) [inline]

Constructor.

Definition at line 241 of file LazyGetter.h.

00241                                                                                                                            : 
00242       unpacker_(const_cast< LazyUnpacker<T>* >(iunpacker)), 
00243       record_(const_cast<record_type*>(irecord)),
00244       getter_(getter) {}


Member Function Documentation

template<class T>
const RegionIndex< T > & edm::LazyAdapter< T >::operator() ( const RegionIndex< T > &  region  )  const [inline]

() operator for construction of iterator

Definition at line 249 of file LazyGetter.h.

References edm::RegionIndex< T >::finish(), edm::LazyAdapter< T >::getter_, edm::LazyAdapter< T >::record_, edm::RegionIndex< T >::region(), edm::RegionIndex< T >::start(), edm::RegionIndex< T >::unpacked(), edm::LazyAdapter< T >::unpacker_, and edm::RegionIndex< T >::updateLazyGetter().

00250     {
00251       RegionIndex<T>& indexref = const_cast< RegionIndex<T>& >(index);
00252       if (!index.unpacked()) {
00253         indexref.start(record_->size());
00254         unpacker_->fill(index.region(),*record_); 
00255         indexref.unpacked(true);
00256         indexref.finish(record_->size());
00257         indexref.updateLazyGetter(getter_);
00258       }
00259       return index;
00260     }


Member Data Documentation

template<typename T>
const LazyGetter<T>* edm::LazyAdapter< T >::getter_ [private]

Definition at line 236 of file LazyGetter.h.

Referenced by edm::LazyAdapter< T >::operator()().

template<typename T>
record_type* edm::LazyAdapter< T >::record_ [private]

Definition at line 235 of file LazyGetter.h.

Referenced by edm::LazyAdapter< T >::operator()().

template<typename T>
LazyUnpacker<T>* edm::LazyAdapter< T >::unpacker_ [private]

Definition at line 234 of file LazyGetter.h.

Referenced by edm::LazyAdapter< T >::operator()().


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:41:45 2009 for CMSSW by  doxygen 1.5.4