Keeps different SingleInvokers for each dynamic type of the objects passed to invoke() More...
#include <MethodInvoker.h>
Public Types | |
typedef tbb::concurrent_unordered_map< edm::TypeID, SingleInvokerPtr, edm::TypeIDHasher > | InvokerMap |
typedef std::shared_ptr< SingleInvoker > | SingleInvokerPtr |
Public Member Functions | |
edm::ObjectWithDict | invoke (const edm::ObjectWithDict &o, std::vector< edm::ObjectWithDict > &v) const |
double | invokeLast (const edm::ObjectWithDict &o, std::vector< edm::ObjectWithDict > &v) const |
invoke and coerce result to double More... | |
LazyInvoker (const std::string &name, const std::vector< AnyMethodArgument > &args) | |
~LazyInvoker () | |
Private Member Functions | |
const SingleInvoker & | invoker (const edm::TypeWithDict &) const |
Private Attributes | |
std::vector< AnyMethodArgument > | argsBeforeFixups_ |
InvokerMap | invokers_ |
std::string | name_ |
Keeps different SingleInvokers for each dynamic type of the objects passed to invoke()
Definition at line 101 of file MethodInvoker.h.
typedef tbb::concurrent_unordered_map<edm::TypeID, SingleInvokerPtr,edm::TypeIDHasher> reco::parser::LazyInvoker::InvokerMap |
Definition at line 103 of file MethodInvoker.h.
typedef std::shared_ptr<SingleInvoker> reco::parser::LazyInvoker::SingleInvokerPtr |
Definition at line 102 of file MethodInvoker.h.
|
explicit |
Definition at line 177 of file MethodInvoker.cc.
Referenced by reco::parser::MethodInvoker::invoke().
LazyInvoker::~LazyInvoker | ( | ) |
edm::ObjectWithDict LazyInvoker::invoke | ( | const edm::ObjectWithDict & | o, |
std::vector< edm::ObjectWithDict > & | v | ||
) | const |
invoke method, returns object that points to result (after stripping '*' and '&') the object is still owned by the LazyInvoker 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 206 of file MethodInvoker.cc.
References reco::parser::SingleInvoker::invoke(), invokeLast(), invoker(), and edm::TypeWithDict::isClass().
Referenced by invoker().
double LazyInvoker::invokeLast | ( | const edm::ObjectWithDict & | o, |
std::vector< edm::ObjectWithDict > & | v | ||
) | const |
invoke and coerce result to double
Definition at line 222 of file MethodInvoker.cc.
References mps_fire::i, reco::parser::SingleInvoker::invoke(), invoker(), edm::TypeWithDict::isClass(), reco::parser::SingleInvoker::retToDouble(), and reco::parser::SingleInvoker::SingleInvoker().
Referenced by invoke().
|
private |
Definition at line 190 of file MethodInvoker.cc.
References argsBeforeFixups_, runEdmFileComparison::found, invoke(), invokers_, name_, and edm::TypeWithDict::typeInfo().
Referenced by invoke(), invokeLast(), and ~LazyInvoker().
|
private |
Definition at line 106 of file MethodInvoker.h.
Referenced by invoker().
|
mutableprivate |
Definition at line 110 of file MethodInvoker.h.
Referenced by reco::parser::SingleInvoker::invoke(), invoker(), reco::parser::SingleInvoker::SingleInvoker(), and reco::parser::SingleInvoker::throwFailedConversion().
|
private |
Definition at line 105 of file MethodInvoker.h.
Referenced by invoker().