CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
reco::parser::SingleInvoker Struct Reference

#include <MethodInvoker.h>

Inheritance diagram for reco::parser::SingleInvoker:

Public Member Functions

std::pair< edm::ObjectWithDict,
bool > 
invoke (const edm::ObjectWithDict &o, std::vector< edm::ObjectWithDict > &v) const
 
double retToDouble (const edm::ObjectWithDict &) const
 convert the output of invoke to a double, if possible More...
 
 SingleInvoker (const edm::TypeWithDict &, const std::string &name, const std::vector< AnyMethodArgument > &args)
 
void throwFailedConversion (const edm::ObjectWithDict &) const
 
 ~SingleInvoker ()
 

Private Attributes

std::vector< MethodInvokerinvokers_
 
bool isRefGet_
 true if this invoker just pops out a ref and returns (ref.get(), false) More...
 
method::TypeCode retType_
 
edm::ObjectWithDict storage_
 
bool storageNeedsDestructor_
 

Detailed Description

A bigger brother of the MethodInvoker:

Definition at line 69 of file MethodInvoker.h.

Constructor & Destructor Documentation

SingleInvoker::SingleInvoker ( const edm::TypeWithDict type,
const std::string &  name,
const std::vector< AnyMethodArgument > &  args 
)

Definition at line 240 of file MethodInvoker.cc.

SingleInvoker::~SingleInvoker ( )

Definition at line 265 of file MethodInvoker.cc.

Member Function Documentation

pair< edm::ObjectWithDict, bool > SingleInvoker::invoke ( const edm::ObjectWithDict o,
std::vector< edm::ObjectWithDict > &  v 
) const

If the member is found in object o, evaluate and return (value,true) If the member is not found but o is a Ref/RefToBase/Ptr, (return o.get(), false) the actual edm::ObjectWithDict where the result is stored will be pushed in vector so that, if needed, its destructor can be called

Definition at line 272 of file MethodInvoker.cc.

double SingleInvoker::retToDouble ( const edm::ObjectWithDict o) const

convert the output of invoke to a double, if possible

Definition at line 292 of file MethodInvoker.cc.

void SingleInvoker::throwFailedConversion ( const edm::ObjectWithDict o) const

Definition at line 302 of file MethodInvoker.cc.

Member Data Documentation

std::vector<MethodInvoker> reco::parser::SingleInvoker::invokers_
private

Definition at line 72 of file MethodInvoker.h.

bool reco::parser::SingleInvoker::isRefGet_
private

true if this invoker just pops out a ref and returns (ref.get(), false)

Definition at line 76 of file MethodInvoker.h.

method::TypeCode reco::parser::SingleInvoker::retType_
private

Definition at line 71 of file MethodInvoker.h.

edm::ObjectWithDict reco::parser::SingleInvoker::storage_
mutableprivate

Definition at line 73 of file MethodInvoker.h.

bool reco::parser::SingleInvoker::storageNeedsDestructor_
private

Definition at line 74 of file MethodInvoker.h.