Evaluate an object's method or datamember (or chain of them) to get a number. More...
#include <ExpressionVar.h>
Public Member Functions | |
ExpressionVar (const std::vector< MethodInvoker > &methods, method::TypeCode retType) | |
ExpressionVar (const ExpressionVar &var) | |
virtual double | value (const Reflex::Object &o) const |
~ExpressionVar () | |
Public Member Functions inherited from reco::parser::ExpressionBase | |
virtual | ~ExpressionBase () |
Static Public Member Functions | |
static void | delStorage (Reflex::Object &obj) |
static bool | isValidReturnType (method::TypeCode) |
static bool | makeStorage (Reflex::Object &obj, const Reflex::Member &member) |
static double | objToDouble (const Reflex::Object &obj, method::TypeCode type) |
Private Member Functions | |
void | initObjects_ () |
Static Private Member Functions | |
static void | trueDelete (Reflex::Object &o) |
Private Attributes | |
std::vector< MethodInvoker > | methods_ |
std::vector< bool > | needsDestructor_ |
std::vector< Reflex::Object > | objects_ |
method::TypeCode | retType_ |
Evaluate an object's method or datamember (or chain of them) to get a number.
Definition at line 21 of file ExpressionVar.h.
ExpressionVar::ExpressionVar | ( | const std::vector< MethodInvoker > & | methods, |
method::TypeCode | retType | ||
) |
Definition at line 10 of file ExpressionVar.cc.
References initObjects_().
ExpressionVar::~ExpressionVar | ( | ) |
Definition at line 20 of file ExpressionVar.cc.
References delStorage(), and objects_.
ExpressionVar::ExpressionVar | ( | const ExpressionVar & | var | ) |
Definition at line 15 of file ExpressionVar.cc.
References initObjects_().
|
static |
delete an objecty, if needed this method is used also from the LazyInvoker code
Definition at line 28 of file ExpressionVar.cc.
References AlCaHLTBitMon_ParallelJobs::p.
Referenced by ~ExpressionVar(), and reco::parser::SingleInvoker::~SingleInvoker().
|
private |
Definition at line 41 of file ExpressionVar.cc.
References makeStorage(), methods_, needsDestructor_, and objects_.
Referenced by ExpressionVar().
|
static |
Definition at line 75 of file ExpressionVar.cc.
References reco::method::boolType, reco::method::charType, reco::method::doubleType, reco::method::enumType, reco::method::floatType, reco::method::intType, align::invalid, reco::method::longType, PFRecoTauDiscriminationAgainstElectronMVA2_cfi::method, run_regression::ret, reco::method::shortType, reco::method::uCharType, reco::method::uIntType, reco::method::uLongType, and reco::method::uShortType.
Referenced by reco::parser::ExpressionVarSetter::push(), and reco::parser::SingleInvoker::retToDouble().
|
static |
allocate an object to hold the result of a given member (if needed) this method is used also from the LazyInvoker code returns true if objects returned from this will require a destructor
Definition at line 51 of file ExpressionVar.cc.
References run_regression::ret.
Referenced by initObjects_(), and reco::parser::SingleInvoker::SingleInvoker().
|
static |
performs the needed conversion from void * to double this method is used also from the ExpressionLazyVar code
Definition at line 116 of file ExpressionVar.cc.
References reco::method::boolType, reco::method::charType, reco::method::doubleType, reco::method::enumType, reco::method::floatType, reco::method::intType, reco::method::longType, PFRecoTauDiscriminationAgainstElectronMVA2_cfi::method, run_regression::ret, reco::method::shortType, reco::method::uCharType, reco::method::uIntType, reco::method::uLongType, and reco::method::uShortType.
Referenced by reco::parser::SingleInvoker::retToDouble(), and value().
|
staticprivate |
|
virtual |
Implements reco::parser::ExpressionBase.
Definition at line 99 of file ExpressionVar.cc.
References end, methods_, needsDestructor_, python.connectstrParser::o, objects_, objToDouble(), run_regression::ret, and retType_.
Referenced by Vispa.Views.PropertyView.FileProperty::buttonClicked(), Types.string::configValue(), Types.FileInPath::configValue(), Mixins.UsingBlock::dumpPython(), Types.int32::insertInto(), Types.uint32::insertInto(), Types.int64::insertInto(), Types.uint64::insertInto(), Mixins.UsingBlock::insertInto(), Types.double::insertInto(), Types.bool::insertInto(), Types.string::insertInto(), Types.FileInPath::insertInto(), Types.vint32::insertInto(), Types.vuint32::insertInto(), Types.vint64::insertInto(), Types.vuint64::insertInto(), Types.vdouble::insertInto(), Types.vbool::insertInto(), Types.vstring::insertInto(), and Vispa.Views.PropertyView.FileProperty::labelDoubleClicked().
|
private |
Definition at line 43 of file ExpressionVar.h.
Referenced by initObjects_(), and value().
|
mutableprivate |
Definition at line 45 of file ExpressionVar.h.
Referenced by initObjects_(), and value().
|
mutableprivate |
Definition at line 44 of file ExpressionVar.h.
Referenced by initObjects_(), value(), and ~ExpressionVar().
|
private |
Definition at line 46 of file ExpressionVar.h.
Referenced by value().