CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Static Public Member Functions
reco::componenthelper::MultipleComponents< C, T, F, S > Struct Template Reference

#include <component.h>

Static Public Member Functions

static T get (const Candidate &c, size_t i)
 
static size_t numberOf (const Candidate &c)
 

Detailed Description

template<typename C, typename T, T(C::*)(size_t) const F, size_t(C::*)() const S>
struct reco::componenthelper::MultipleComponents< C, T, F, S >

Definition at line 35 of file component.h.

Member Function Documentation

template<typename C , typename T , T(C::*)(size_t) const F, size_t(C::*)() const S>
static T reco::componenthelper::MultipleComponents< C, T, F, S >::get ( const Candidate c,
size_t  i 
)
inlinestatic

Definition at line 41 of file component.h.

References trackerHits::c, funct::C, edm::hlt::Exception, F(), and i.

Referenced by Options.Options::__getitem__(), betterConfigParser.BetterConfigParser::__updateDict(), rrapi.RRApi::columns(), rrapi.RRApi::count(), rrapi.RRApi::data(), betterConfigParser.BetterConfigParser::getCompares(), betterConfigParser.BetterConfigParser::getGeneral(), betterConfigParser.BetterConfigParser::getResultingSection(), rrapi.RRApi::report(), rrapi.RRApi::reports(), rrapi.RRApi::tables(), rrapi.RRApi::tags(), rrapi.RRApi::templates(), and rrapi.RRApi::workspaces().

41  {
42  const C * dc = dynamic_cast<const C *>( & c );
43  if ( dc == 0 ) return T();
44  if ( i < (dc->*S)() ) return (dc->*F)( i );
45  else throw cms::Exception( "Error" ) << "index " << i << " out ot range";
46  }
int i
Definition: DBlmapReader.cc:9
static uInt32 F(BLOWFISH_CTX *ctx, uInt32 x)
Definition: blowfish.cc:281
long double T
template<typename C , typename T , T(C::*)(size_t) const F, size_t(C::*)() const S>
static size_t reco::componenthelper::MultipleComponents< C, T, F, S >::numberOf ( const Candidate c)
inlinestatic

Definition at line 36 of file component.h.

References trackerHits::c, and funct::C.

36  {
37  const C * dc = dynamic_cast<const C *>( & c );
38  if ( dc == 0 ) return 0;
39  return (dc->*S)();
40  }