Public Member Functions |
Protected Member Functions |
Static Protected Member Functions |
Protected Attributes |
List of all members
Gambit::functor Class Reference Function wrapper (functor) base class. More...
Inheritance diagram for Gambit::functor:
![]()
Collaboration diagram for Gambit::functor:
![]()
Detailed DescriptionFunction wrapper (functor) base class. Definition at line 87 of file functors.hpp. Constructor & Destructor Documentation◆ functor()
Constructor. Definition at line 57 of file functors.cpp. 70 myVertexID (-1), // (Note: myVertexID = -1 is intended to mean that no vertexID has been assigned) 71 myTimingVertexID(-1), // Not actually a graph vertex; ID assigned by "get_main_param_id" function. str myCapability Internal storage of exactly what the function calculates. Definition: functors.hpp:322 const str myTimingLabel String label, used to label functor timing data for printer system. Definition: functors.hpp:337 str myOrigin Internal storage of the name of the module or backend to which the function belongs. Definition: functors.hpp:326 str myType Internal storage of the type of what the function calculates. Definition: functors.hpp:324 const str myLabel String label, used to label functor results for printer system. Definition: functors.hpp:335 int myVertexID Internal storage of the vertex ID number used by the printer system to identify functors. Definition: functors.hpp:348 int myStatus Status: -4 = required backend absent (backend ini functions) -3 = required classes absent -2 = functi... Definition: functors.hpp:346 const Models::ModelFunctorClaw * myClaw Bound model functor claw, for checking relationships between models. Definition: functors.hpp:332 str fix_type(str) Clean out whitespace and strip Gambit and default BOSSed class namespaces. Definition: type_equivalency.cpp:34 int myTimingVertexID ID assigned by printers to the timing data output stream. Definition: functors.hpp:350 ◆ ~functor()
Definition at line 96 of file functors.hpp. Member Function Documentation◆ allModelsAllowed()
Test whether the functor is allowed to be used with all models. Definition at line 444 of file functors.cpp. References allowedGroupCombos, and allowedModels. std::set< std::set< str > > allowedGroupCombos List of allowed model group combinations. Definition: functors.hpp:367 ◆ allowed_parent_or_friend_exists()
Test if there is a model in the functor's allowedModels list as which this model can be interpreted. Definition at line 534 of file functors.cpp. References allowedModels, Gambit::Models::ModelFunctorClaw::downstream_of(), Gambit::Models::ModelFunctorClaw::model_exists(), and myClaw. Referenced by modelAllowed(). 536 for (std::set<str>::reverse_iterator it = allowedModels.rbegin() ; it != allowedModels.rend(); ++it) bool downstream_of(const str &, const str &) const Check if model 1 exists somewhere downstream of (and can be therefore be interpreted as a) model 2... Definition: models.cpp:286 bool model_exists(const str &) const Indicate whether a model is recognised by GAMBIT or not. Definition: models.cpp:209 const Models::ModelFunctorClaw * myClaw Bound model functor claw, for checking relationships between models. Definition: functors.hpp:332
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ backend_conditional_dependencies() [1/3]
Getter for listing backend-specific conditional dependencies (4-string version) Reimplemented in Gambit::module_functor_common. Definition at line 268 of file functors.cpp. References LOCAL_INFO, and Gambit::utils_error(). Referenced by backend_conditional_dependencies(). 270 utils_error().raise(LOCAL_INFO,"The backend_conditional_dependencies method has not been defined in this class.");
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ backend_conditional_dependencies() [2/3]
Getter for backend-specific conditional dependencies (3-string version) Reimplemented in Gambit::module_functor_common. Definition at line 282 of file functors.cpp. References backend_conditional_dependencies(). virtual std::set< sspair > backend_conditional_dependencies(str, str, str, str) Getter for listing backend-specific conditional dependencies (4-string version) Definition: functors.cpp:268 str type() const Getter for the wrapped function's reported return type. Definition: functors.cpp:119
Here is the call graph for this function:
![]() ◆ backend_conditional_dependencies() [3/3]
Getter for backend-specific conditional dependencies (backend functor pointer version) Reimplemented in Gambit::module_functor_common. Definition at line 288 of file functors.cpp. References backend_conditional_dependencies(), capability(), origin(), type(), and version(). virtual std::set< sspair > backend_conditional_dependencies(str, str, str, str) Getter for listing backend-specific conditional dependencies (4-string version) Definition: functors.cpp:268
Here is the call graph for this function:
![]() ◆ backendgroups()
Getter for listing backend requirement groups. Reimplemented in Gambit::module_functor_common. Definition at line 225 of file functors.cpp. References LOCAL_INFO, and Gambit::utils_error().
Here is the call graph for this function:
![]() ◆ backendreq_tags()Getter for listing tags associated with backend requirements. Reimplemented in Gambit::module_functor_common. Definition at line 253 of file functors.cpp. References LOCAL_INFO, and Gambit::utils_error(). 255 utils_error().raise(LOCAL_INFO,"The backendreq_tags method has not been defined in this class.");
Here is the call graph for this function:
![]() ◆ backendreqs() [1/2]
Getter for listing all backend requirements. Reimplemented in Gambit::module_functor_common. Definition at line 232 of file functors.cpp. References LOCAL_INFO, and Gambit::utils_error(). Referenced by Gambit::gambit_core::ff_module_diagnostic().
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ backendreqs() [2/2]Getter for listing backend requirements from a specific group. Reimplemented in Gambit::module_functor_common. Definition at line 239 of file functors.cpp. References LOCAL_INFO, and Gambit::utils_error().
Here is the call graph for this function:
![]() ◆ backendspermitted()Getter for listing permitted backends. Reimplemented in Gambit::module_functor_common. Definition at line 246 of file functors.cpp. References LOCAL_INFO, and Gambit::utils_error(). 248 utils_error().raise(LOCAL_INFO,"The backendspermitted method has not been defined in this class.");
Here is the call graph for this function:
![]() ◆ breakLoop()
Tell the functor that the loop it manages should break now. Reimplemented in Gambit::module_functor_common. Definition at line 276 of file functors.cpp. References LOCAL_INFO, and Gambit::utils_error(). Referenced by Gambit::module_functor_common::breakLoopFromManagedFunctor().
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ calculate()
Virtual calculate(); needs to be redefined in daughters. Reimplemented in Gambit::module_functor< void >, Gambit::module_functor< TYPE >, and Gambit::module_functor< ModelParameters >. Definition at line 76 of file functors.cpp. Referenced by reset_and_calculate().
Here is the caller graph for this function:
![]() ◆ canBeLoopManager()
Getter for revealing whether this is permitted to be a manager functor. Reimplemented in Gambit::module_functor_common. Definition at line 183 of file functors.cpp. References LOCAL_INFO, and Gambit::utils_error(). Referenced by Gambit::gambit_core::ff_module_diagnostic(), and Gambit::module_functor_common::resolveLoopManager(). 185 utils_error().raise(LOCAL_INFO,"The canBeLoopManager method has not been defined in this class.");
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ capability()
Getter for the wrapped function's reported capability. Definition at line 117 of file functors.cpp. References myCapability. Referenced by backend_conditional_dependencies(), Gambit::module_functor_common::backend_conditional_dependencies(), Gambit::DRes::backendFuncMatchesIniEntry(), Gambit::gambit_core::capability_diagnostic(), Gambit::gambit_core::check_databases(), Gambit::gambit_core::ff_backend_diagnostic(), Gambit::gambit_core::ff_module_diagnostic(), Gambit::DRes::moduleFuncMatchesIniEntry(), Gambit::gambit_core::registerBackendFunctor(), Gambit::gambit_core::registerModuleFunctor(), Gambit::gambit_core::registerPrimaryModelFunctor(), and Gambit::module_functor_common::resolveLoopManager(). str myCapability Internal storage of exactly what the function calculates. Definition: functors.hpp:322
Here is the caller graph for this function:
![]() ◆ contains_anything_interpretable_as_member_of()
Test whether any of the entries in a given model group is a valid interpretation of any members in a given combination. Definition at line 572 of file functors.cpp. References Gambit::Models::ModelFunctorClaw::downstream_of(), Gambit::Models::ModelFunctorClaw::model_exists(), modelGroups, Gambit::LogTags::models, and myClaw. Referenced by modelComboAllowed(). bool downstream_of(const str &, const str &) const Check if model 1 exists somewhere downstream of (and can be therefore be interpreted as a) model 2... Definition: models.cpp:286 std::map< str, std::set< str > > modelGroups Map from model group names to group contents. Definition: functors.hpp:370 bool model_exists(const str &) const Indicate whether a model is recognised by GAMBIT or not. Definition: models.cpp:209 const Models::ModelFunctorClaw * myClaw Bound model functor claw, for checking relationships between models. Definition: functors.hpp:332 Definition: log_tags.hpp:49
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ dependencies()
Getter for listing currently activated dependencies. Reimplemented in Gambit::module_functor_common. Definition at line 218 of file functors.cpp. References LOCAL_INFO, and Gambit::utils_error(). Referenced by Gambit::gambit_core::ff_module_diagnostic().
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ failBigTime()Attempt to retrieve a dependency or model parameter that has not been resolved. Definition at line 522 of file functors.cpp. References LOCAL_INFO, and Gambit::utils_error().
Here is the call graph for this function:
![]() ◆ find_friend_or_parent_model_in_map()
Try to find a parent or friend model in some user-supplied map from models to sspair vectors. Try to find a parent or friend model in some user-supplied map from models to sspair vectors Preferentially returns the 'least removed' parent or friend, i.e. less steps back in the model lineage. Definition at line 607 of file functors.cpp. References Gambit::Models::ModelFunctorClaw::downstream_of(), Gambit::Models::ModelFunctorClaw::model_exists(), and myClaw. Referenced by Gambit::module_functor_common::model_conditional_backend_reqs(), and Gambit::module_functor_common::model_conditional_dependencies(). 610 for (std::map< str, std::set<sspair> >::reverse_iterator it = karta.rbegin() ; it != karta.rend(); ++it) bool downstream_of(const str &, const str &) const Check if model 1 exists somewhere downstream of (and can be therefore be interpreted as a) model 2... Definition: models.cpp:286 bool model_exists(const str &) const Indicate whether a model is recognised by GAMBIT or not. Definition: models.cpp:209 const Models::ModelFunctorClaw * myClaw Bound model functor claw, for checking relationships between models. Definition: functors.hpp:332
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ forcematchingbackend()Getter for listing backend requirements that must be resolved from the same backend. Reimplemented in Gambit::module_functor_common. Definition at line 260 of file functors.cpp. References LOCAL_INFO, and Gambit::utils_error(). 262 utils_error().raise(LOCAL_INFO,"The forcematchingbackend method has not been defined in this class.");
Here is the call graph for this function:
![]() ◆ getDependees()Return a safe pointer to the vector of all capability,type pairs of functors arranged downstream of this one in the dependency tree. Definition at line 413 of file functors.cpp. References myDependees. Referenced by Gambit::module_functor_common::notifyOfDependee(), and Gambit::register_function(). std::set< sspair > myDependees List of all capability,type pairs of functors downstream of this one in the dependency tree... Definition: functors.hpp:361
Here is the caller graph for this function:
![]() ◆ getInvalidationRate()
Reimplemented in Gambit::module_functor_common. Definition at line 82 of file functors.cpp. ◆ getOptions()Return a safe pointer to the options that this functor is supposed to run with (e.g. from the ini file). Definition at line 375 of file functors.cpp. References myOptions. Referenced by Gambit::register_function().
Here is the caller graph for this function:
![]() ◆ getRuntimeAverage()
Interfaces for runtime optimization Need to be implemented by daughters. Reimplemented in Gambit::module_functor_common. Definition at line 81 of file functors.cpp. ◆ getSubCaps()Return a safe pointer to the subcaps that this functor realises it is supposed to facilitate downstream calculation of. Definition at line 407 of file functors.cpp. References mySubCaps. Referenced by Gambit::module_functor_common::notifyOfDependee(), and Gambit::register_function(). Options mySubCaps Internal storage of function sub-capabilities, as a YAML node. Definition: functors.hpp:358
Here is the caller graph for this function:
![]() ◆ has_common_elements()Work out whether a given combination of models and a model group have any elements in common. Definition at line 594 of file functors.cpp. References modelGroups, and Gambit::LogTags::models. Referenced by modelComboExplicitlyAllowed(). std::map< str, std::set< str > > modelGroups Map from model group names to group contents. Definition: functors.hpp:370 Definition: log_tags.hpp:49
Here is the caller graph for this function:
![]() ◆ in_allowed_combo()
Check that a model is actually part of a combination that is allowed to be used with this functor. Definition at line 547 of file functors.cpp. References allowedGroupCombos, Gambit::Models::ModelFunctorClaw::downstream_of(), combine_hdf5::group, Gambit::Models::ModelFunctorClaw::model_exists(), modelAllowed(), modelGroups, Gambit::LogTags::models, and myClaw. 551 // Loop over the allowed combinations, and check if the passed model matches anything in any of them 552 for(std::set<std::set<str> >::const_iterator group_combo = allowedGroupCombos.begin(); group_combo != allowedGroupCombos.end(); group_combo++) 554 //Loop over each group in the allowed group combination, and check if the model is interpretable as a model in the group. 555 for(std::set<str>::const_iterator group = group_combo->begin(); group != group_combo->end(); group++) bool downstream_of(const str &, const str &) const Check if model 1 exists somewhere downstream of (and can be therefore be interpreted as a) model 2... Definition: models.cpp:286 std::map< str, std::set< str > > modelGroups Map from model group names to group contents. Definition: functors.hpp:370 bool model_exists(const str &) const Indicate whether a model is recognised by GAMBIT or not. Definition: models.cpp:209 std::set< std::set< str > > allowedGroupCombos List of allowed model group combinations. Definition: functors.hpp:367 const Models::ModelFunctorClaw * myClaw Bound model functor claw, for checking relationships between models. Definition: functors.hpp:332 bool modelAllowed(str model) Test whether the functor is always allowed (either explicitly or implicitly) to be used with a given ... Definition: functors.cpp:419 Definition: log_tags.hpp:49
Here is the call graph for this function:
![]() ◆ label()
Getter for string label. Getter for the printer label. Definition at line 148 of file functors.cpp. References myLabel. const str myLabel String label, used to label functor results for printer system. Definition: functors.hpp:335 ◆ loopManagerCapability()
Getter for revealing the required capability of the wrapped function's loop manager. Reimplemented in Gambit::module_functor_common. Definition at line 190 of file functors.cpp. References LOCAL_INFO, and Gambit::utils_error(). Referenced by Gambit::gambit_core::ff_module_diagnostic(). 192 utils_error().raise(LOCAL_INFO,"The loopManagerCapability method has not been defined in this class.");
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ loopManagerName()
Getter for revealing the name of the wrapped function's assigned loop manager. Reimplemented in Gambit::module_functor_common. Definition at line 204 of file functors.cpp. References LOCAL_INFO, and Gambit::utils_error(). 206 utils_error().raise(LOCAL_INFO,"The loopManagerName method has not been defined in this class.");
Here is the call graph for this function:
![]() ◆ loopManagerOrigin()
Getter for revealing the module of the wrapped function's assigned loop manager. Reimplemented in Gambit::module_functor_common. Definition at line 211 of file functors.cpp. References LOCAL_INFO, and Gambit::utils_error(). 213 utils_error().raise(LOCAL_INFO,"The loopManagerOrigin method has not been defined in this class.");
Here is the call graph for this function:
![]() ◆ loopManagerType()
Getter for revealing the required type of the wrapped function's loop manager. Reimplemented in Gambit::module_functor_common. Definition at line 197 of file functors.cpp. References LOCAL_INFO, and Gambit::utils_error(). 199 utils_error().raise(LOCAL_INFO,"The loopManagerType method has not been defined in this class.");
Here is the call graph for this function:
![]() ◆ model_conditional_backend_reqs()Getter for listing model-specific conditional backend requirements. Reimplemented in Gambit::module_functor_common. Definition at line 303 of file functors.cpp. References LOCAL_INFO, and Gambit::utils_error(). 305 utils_error().raise(LOCAL_INFO,"The model_conditional_backend_reqs method has not been defined in this class.");
Here is the call graph for this function:
![]() ◆ model_conditional_dependencies()Getter for listing model-specific conditional dependencies. Reimplemented in Gambit::module_functor_common. Definition at line 295 of file functors.cpp. References LOCAL_INFO, and Gambit::utils_error(). 297 utils_error().raise(LOCAL_INFO,"The model_conditional_dependencies method has not been defined in this class.");
Here is the call graph for this function:
![]() ◆ modelAllowed()
Test whether the functor is always allowed (either explicitly or implicitly) to be used with a given model. Test whether the functor is allowed (either explicitly or implicitly) to be used with a given model. Definition at line 419 of file functors.cpp. References allowed_parent_or_friend_exists(), allowedGroupCombos, allowedModels, myLabel, and verbose. Referenced by in_allowed_combo(), and modelComboAllowed(). bool allowed_parent_or_friend_exists(str model) Test if there is a model in the functor's allowedModels list as which this model can be interpreted... Definition: functors.cpp:534 const str myLabel String label, used to label functor results for printer system. Definition: functors.hpp:335 std::set< std::set< str > > allowedGroupCombos List of allowed model group combinations. Definition: functors.hpp:367
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ modelComboAllowed()
Test whether the functor is allowed (either explicitly or implicitly) to be used with a given combination of models. Definition at line 453 of file functors.cpp. References allowedGroupCombos, contains_anything_interpretable_as_member_of(), combine_hdf5::group, and modelAllowed(). 461 for(std::set<std::set<str> >::const_iterator group_combo = allowedGroupCombos.begin(); group_combo != allowedGroupCombos.end(); group_combo++) 464 //Loop over each group in the allowed group combination, and check if one of the entries in the passed model combination matches it somehow. 465 for(std::set<str>::const_iterator group = group_combo->begin(); group != group_combo->end(); group++) bool contains_anything_interpretable_as_member_of(std::set< str > combo, str group) Test whether any of the entries in a given model group is a valid interpretation of any members in a ... Definition: functors.cpp:572 std::set< std::set< str > > allowedGroupCombos List of allowed model group combinations. Definition: functors.hpp:367 bool modelAllowed(str model) Test whether the functor is always allowed (either explicitly or implicitly) to be used with a given ... Definition: functors.cpp:419
Here is the call graph for this function:
![]() ◆ modelComboExplicitlyAllowed()
Test whether the functor has been explictly allowed to be used with a given combination of models. Definition at line 477 of file functors.cpp. References allowedGroupCombos, combine_hdf5::group, has_common_elements(), and modelExplicitlyAllowed(). 485 for(std::set<std::set<str> >::const_iterator group_combo = allowedGroupCombos.begin(); group_combo != allowedGroupCombos.end(); group_combo++) 488 //Loop over each group in the allowed group combination, and check if one of the entries in the passed model combination matches it explicitly. 489 for(std::set<str>::const_iterator group = group_combo->begin(); group != group_combo->end(); group++) bool modelExplicitlyAllowed(str model) Test whether the functor is explictly always allowed to be used with a given model. Definition: functors.cpp:437 bool has_common_elements(std::set< str > combo, str group) Work out whether a given combination of models and a model group have any elements in common... Definition: functors.cpp:594 std::set< std::set< str > > allowedGroupCombos List of allowed model group combinations. Definition: functors.hpp:367
Here is the call graph for this function:
![]() ◆ modelExplicitlyAllowed()
Test whether the functor is explictly always allowed to be used with a given model. Test whether the functor has been explictly allowed to be used with a given model. Definition at line 437 of file functors.cpp. References allowedModels. Referenced by modelComboExplicitlyAllowed().
Here is the caller graph for this function:
![]() ◆ name()
Getter for the wrapped function's name. Definition at line 115 of file functors.cpp. References myName. Referenced by Gambit::DRes::backendFuncMatchesIniEntry(), Gambit::module_functor_common::breakLoopFromManagedFunctor(), Gambit::module_functor< void >::calculate(), Gambit::gambit_core::check_databases(), Gambit::gambit_core::ff_backend_diagnostic(), Gambit::gambit_core::ff_module_diagnostic(), Gambit::module_functor_common::loopManagerName(), main(), Gambit::Likelihood_Container::main(), Gambit::module_functor_common::makeBackendMatchingRule(), Gambit::module_functor_common::makeBackendOptionRule(), Gambit::DRes::moduleFuncMatchesIniEntry(), Gambit::safety_bucket_base::name(), Gambit::DRes::DependencyResolver::resolveRequirement(), Gambit::module_functor_common::retrieve_conditional_dep_type_pair(), Gambit::module_functor_common::setBackendConditionalDependencySingular(), Gambit::module_functor_common::setNestedList(), and Gambit::module_functor_common::setPermittedBackend().
Here is the caller graph for this function:
![]() ◆ notifyOfBackends()Indicate to the functor which backends are actually loaded and working. Reimplemented in Gambit::module_functor_common. Definition at line 341 of file functors.cpp. References LOCAL_INFO, print(), Gambit::utils_error(), and Gambit::utils_warning(). Referenced by Gambit::gambit_core::accountForMissingClasses(). 343 utils_error().raise(LOCAL_INFO,"The notifyOfBackends method has not been defined in this class.");
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ notifyOfDependee()Notify the functor that it is being used to fill a dependency of another functor. Reimplemented in Gambit::module_functor_common. Definition at line 335 of file functors.cpp. References LOCAL_INFO, and Gambit::utils_error(). Referenced by Gambit::module_functor_common::resolveDependency(). 337 utils_error().raise(LOCAL_INFO,"The notifyOfDependee method has not been defined in this class.");
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ notifyOfIniOptions()Notify the functor about an instance of the options class that contains information from its corresponding ini-file entry in the auxiliaries or observables section. Definition at line 369 of file functors.cpp. References myOptions. ◆ notifyOfInvalidation()◆ notifyOfModel()Notify the functor that a certain model is being scanned, so that it can activate itself accordingly. Notify the functor that a certain model is being scanned, so that it can activate its dependencies accordingly. Reimplemented in Gambit::module_functor_common. Definition at line 329 of file functors.cpp. References LOCAL_INFO, and Gambit::utils_error().
Here is the call graph for this function:
![]() ◆ notifyOfSubCaps()Notify the functor about an instance of the options class that contains sub-capability information. Definition at line 381 of file functors.cpp. References Gambit::Options::getValue(), Gambit::Options::hasKey(), LOCAL_INFO, myName, myOrigin, mySubCaps, Gambit::Options::setValue(), and Gambit::utils_error(). Referenced by Gambit::module_functor_common::notifyOfDependee(). 398 << "GAMBIT does not know which value to choose when trying to determine the sub-capabilities" << endl 399 << "served by " << myOrigin << "::" << myName << ", as both ObsLike entries depend on this function.";
str myOrigin Internal storage of the name of the module or backend to which the function belongs. Definition: functors.hpp:326 bool hasKey(const args &... keys) const Getters for key/value pairs (which is all the options node should contain) Definition: yaml_options.hpp:67 void setValue(const KEYTYPE &key, const VALTYPE &val) Basic setter, for adding extra options. Definition: yaml_options.hpp:135 Options mySubCaps Internal storage of function sub-capabilities, as a YAML node. Definition: functors.hpp:358
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ origin()
Getter for the wrapped function's origin (module or backend name) Definition at line 121 of file functors.cpp. References myOrigin. Referenced by backend_conditional_dependencies(), Gambit::module_functor_common::backend_conditional_dependencies(), Gambit::gambit_core::backend_diagnostic(), Gambit::DRes::backendFuncMatchesIniEntry(), Gambit::module_functor_common::breakLoopFromManagedFunctor(), Gambit::module_functor< void >::calculate(), Gambit::gambit_core::capability_diagnostic(), Gambit::gambit_core::check_databases(), Gambit::gambit_core::ff_backend_diagnostic(), Gambit::gambit_core::ff_model_diagnostic(), Gambit::gambit_core::ff_module_diagnostic(), Gambit::DRes::DependencyResolver::getObsLike(), Gambit::module_functor_common::loopManagerOrigin(), main(), Gambit::Likelihood_Container::main(), Gambit::module_functor_common::makeBackendMatchingRule(), Gambit::module_functor_common::makeBackendOptionRule(), Gambit::gambit_core::model_diagnostic(), Gambit::gambit_core::module_diagnostic(), Gambit::DRes::moduleFuncMatchesIniEntry(), Gambit::safety_bucket_base::origin(), Gambit::module_functor_common::resolveBackendReq(), Gambit::DRes::DependencyResolver::resolveRequirement(), Gambit::module_functor_common::retrieve_conditional_dep_type_pair(), Gambit::module_functor_common::setBackendConditionalDependencySingular(), Gambit::module_functor_common::setNestedList(), and Gambit::module_functor_common::setPermittedBackend(). str myOrigin Internal storage of the name of the module or backend to which the function belongs. Definition: functors.hpp:326
Here is the caller graph for this function:
![]() ◆ print() [1/2]
Printer function. Print function. Reimplemented in Gambit::module_functor< void >, Gambit::module_functor< TYPE >, and Gambit::module_functor< ModelParameters >. Definition at line 348 of file functors.cpp. Referenced by notifyOfBackends(), and print(). EXPORT_SYMBOLS warning & utils_warning() Utility warnings. Definition: standalone_error_handlers.cpp:34
Here is the caller graph for this function:
![]() ◆ print() [2/2]Printer function (no-thread-index short-circuit) Reimplemented in Gambit::module_functor< void >, Gambit::module_functor< TYPE >, and Gambit::module_functor< ModelParameters >. Definition at line 360 of file functors.cpp. References print(). virtual void print(Printers::BasePrinter *printer, const int pointID, int thread_num) Printer function. Definition: functors.cpp:348
Here is the call graph for this function:
![]() ◆ purpose()
Getter for purpose (relevant for output nodes, aka helper structures for the dep. resolution) Definition at line 138 of file functors.cpp. References myPurpose. Referenced by Gambit::module_functor_common::setDependency(), and setPurpose(). str myPurpose Purpose of the function (relevant for output and next-to-output functors) Definition: functors.hpp:330
Here is the caller graph for this function:
![]() ◆ quantity()
Getter for the overall quantity provided by the wrapped function (capability-type pair) Definition at line 136 of file functors.cpp. References myCapability, and myType. Referenced by Gambit::module_functor_common::notifyOfDependee(), Gambit::module_functor_common::resolveBackendReq(), and Gambit::module_functor_common::resolveDependency(). str myCapability Internal storage of exactly what the function calculates. Definition: functors.hpp:322 str myType Internal storage of the type of what the function calculates. Definition: functors.hpp:324
Here is the caller graph for this function:
![]() ◆ requiresPrinting()
Getter indicating if the wrapped function's result should to be printed. Reimplemented in Gambit::module_functor< TYPE >, and Gambit::module_functor< ModelParameters >. Definition at line 144 of file functors.cpp. ◆ requiresTimingPrinting()
Getter indicating if the timing data for this function's execution should be printed. Reimplemented in Gambit::module_functor_common. Definition at line 146 of file functors.cpp. ◆ reset() [1/2]
Reimplemented in Gambit::module_functor_common. Definition at line 85 of file functors.cpp. Referenced by reset_and_calculate().
Here is the caller graph for this function:
![]() ◆ reset() [2/2]Reset functor for one thread only. Reimplemented in Gambit::module_functor_common. Definition at line 86 of file functors.cpp. ◆ reset_and_calculate()
Reset-then-recalculate method. Definition at line 90 of file functors.cpp. References calculate(), and reset(). virtual void calculate() Virtual calculate(); needs to be redefined in daughters. Definition: functors.cpp:76
Here is the call graph for this function:
![]() ◆ resolveBackendReq()Resolve a backend requirement using a pointer to another functor object. Reimplemented in Gambit::module_functor_common. Definition at line 323 of file functors.cpp. References LOCAL_INFO, and Gambit::utils_error(). 325 utils_error().raise(LOCAL_INFO,"The resolveBackendReq method has not been defined in this class.");
Here is the call graph for this function:
![]() ◆ resolveDependency()Resolve a dependency using a pointer to another functor object. Reimplemented in Gambit::module_functor_common. Definition at line 311 of file functors.cpp. References LOCAL_INFO, and Gambit::utils_error(). 313 utils_error().raise(LOCAL_INFO,"The resolveDependency method has not been defined in this class.");
Here is the call graph for this function:
![]() ◆ resolveLoopManager()Set this functor's loop manager (if it has one) Reimplemented in Gambit::module_functor_common. Definition at line 317 of file functors.cpp. References LOCAL_INFO, and Gambit::utils_error(). 319 utils_error().raise(LOCAL_INFO,"The resolveLoopManager method has not been defined in this class.");
Here is the call graph for this function:
![]() ◆ retrieve_invalid_point_exception()
Retrieve the previously saved exception generated when this functor invalidated the current point in model space. Reimplemented in Gambit::module_functor_common. Definition at line 631 of file functors.cpp. ◆ safe_version()
Getter for the 'safe' incarnation of the version of the wrapped function's origin (module or backend) Reimplemented in Gambit::backend_functor_common< PTR_TYPE, TYPE, ARGS >, Gambit::backend_functor_common< void(*)(ARGS...), void, ARGS... >, Gambit::backend_functor_common< variadic_ptr< void, ARGS... >::type, void, ARGS... >, Gambit::backend_functor_common< variadic_ptr< TYPE, ARGS... >::type, TYPE, ARGS... >, and Gambit::backend_functor_common< TYPE(*)(ARGS...), TYPE, ARGS... >. Definition at line 125 of file functors.cpp. References LOCAL_INFO, and Gambit::utils_error(). Referenced by Gambit::module_functor_common::resolveBackendReq(). 125 { utils_error().raise(LOCAL_INFO,"The safe_version method is only defined for backend functors."); return ""; }
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ setAllowedModel()Add a model to the internal list of models for which this functor is allowed to be used. Definition at line 450 of file functors.cpp. References allowedModels. Referenced by Gambit::register_model_singly().
Here is the caller graph for this function:
![]() ◆ setAllowedModelGroupCombo()Add a combination of model groups to the internal list of combinations for which this functor is allowed to be used. Add a model group combination to the internal list of combinations for which this functor is allowed to be used. Definition at line 511 of file functors.cpp. References allowedGroupCombos, Gambit::Utils::delimiterSplit(), Gambit::Utils::strip_parentheses(), and Gambit::Utils::strip_whitespace_except_after_const(). Referenced by Gambit::register_model_combination(). 513 //Strip the group combo of its parentheses and whitespace, then split it and save it in the vector of allowed combos EXPORT_SYMBOLS void strip_parentheses(str &) Strips leading and/or trailing parentheses from a string. Definition: util_functions.cpp:133 EXPORT_SYMBOLS void strip_whitespace_except_after_const(str &) Strip all whitespace except that following "const", in which case the whitespace is replaced by a sin... Definition: util_functions.cpp:123 std::set< std::set< str > > allowedGroupCombos List of allowed model group combinations. Definition: functors.hpp:367 EXPORT_SYMBOLS std::vector< str > delimiterSplit(str s, str delim) Split a string into a vector of strings, using a delimiter, and removing any whitespace around the de... Definition: util_functions.cpp:93
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ setFadeRate()◆ setInUse()
Set the inUse flag (must be overridden in derived class to have any effect). Reimplemented in Gambit::backend_functor_common< PTR_TYPE, TYPE, ARGS >, Gambit::backend_functor_common< void(*)(ARGS...), void, ARGS... >, Gambit::backend_functor_common< variadic_ptr< void, ARGS... >::type, void, ARGS... >, Gambit::backend_functor_common< variadic_ptr< TYPE, ARGS... >::type, TYPE, ARGS... >, and Gambit::backend_functor_common< TYPE(*)(ARGS...), TYPE, ARGS... >. Definition at line 130 of file functors.hpp. References Gambit::ColliderBit::print(). Referenced by setStatus().
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ setIteration()
Set the iteration number in a loop in which this functor runs. Reimplemented in Gambit::module_functor_common. Definition at line 177 of file functors.cpp. References LOCAL_INFO, and Gambit::utils_error().
Here is the call graph for this function:
![]() ◆ setModelGroup()Add a model group definition to the internal list of model groups. Definition at line 501 of file functors.cpp. References Gambit::Utils::delimiterSplit(), combine_hdf5::group, modelGroups, and Gambit::Utils::strip_parentheses(). Referenced by Gambit::register_model_group(). 503 //Strip the group contents of its parentheses, then split it, turn it into a set and save it in the map EXPORT_SYMBOLS void strip_parentheses(str &) Strips leading and/or trailing parentheses from a string. Definition: util_functions.cpp:133 std::map< str, std::set< str > > modelGroups Map from model group names to group contents. Definition: functors.hpp:370 EXPORT_SYMBOLS std::vector< str > delimiterSplit(str s, str delim) Split a string into a vector of strings, using a delimiter, and removing any whitespace around the de... Definition: util_functions.cpp:93
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ setNestedList()Set the ordered list of pointers to other functors that should run nested in a loop managed by this one. Reimplemented in Gambit::module_functor_common. Definition at line 171 of file functors.cpp. References LOCAL_INFO, and Gambit::utils_error().
Here is the call graph for this function:
![]() ◆ setOption()Set an option for the functor directly (for use in standalone executables). Definition at line 269 of file functors.hpp. void setValue(const KEYTYPE &key, const VALTYPE &val) Basic setter, for adding extra options. Definition: yaml_options.hpp:135 ◆ setPrintRequirement()
Setter for indicating if the wrapped function's result should to be printed. Reimplemented in Gambit::module_functor< TYPE >, and Gambit::module_functor< ModelParameters >. Definition at line 153 of file functors.cpp. References LOCAL_INFO, and Gambit::utils_error(). 157 utils_error().raise(LOCAL_INFO,"The setPrintRequirement method has not been defined in this class.");
Here is the call graph for this function:
![]() ◆ setPurpose()Setter for purpose (relevant only for next-to-output functors) Definition at line 93 of file functors.cpp. References myPurpose, and purpose(). Referenced by Gambit::module_functor_common::resolveDependency(). str purpose() const Getter for purpose (relevant for output nodes, aka helper structures for the dep. resolution) ... Definition: functors.cpp:138 str myPurpose Purpose of the function (relevant for output and next-to-output functors) Definition: functors.hpp:330
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ setStatus()Setter for status: -6 = required external tool absent (pybind11) -5 = required external tool absent (Mathematica) -4 = required backend absent (backend ini functions) -3 = required classes absent -2 = function absent -1 = origin absent 0 = model incompatibility (default) 1 = available 2 = active. Setter for status: -4 = required backend absent (backend ini functions) -3 = required classes absent -2 = function absent -1 = origin absent 0 = model incompatibility (default) 1 = available 2 = active. Definition at line 108 of file functors.cpp. References myStatus, and setInUse(). Referenced by Gambit::module_functor_common::resolveBackendReq(). virtual void setInUse(bool) Set the inUse flag (must be overridden in derived class to have any effect). Definition: functors.hpp:130 int myStatus Status: -4 = required backend absent (backend ini functions) -3 = required classes absent -2 = functi... Definition: functors.hpp:346
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ setSubCap()Set a sub-capability (subcap)for the functor directly (for use in standalone executables). Definition at line 282 of file functors.hpp. References combine_hdf5::group. void setValue(const KEYTYPE &key, const VALTYPE &val) Basic setter, for adding extra options. Definition: yaml_options.hpp:135 Options mySubCaps Internal storage of function sub-capabilities, as a YAML node. Definition: functors.hpp:358 ◆ setTimingPrintRequirement()
Setter for indicating if the timing data for this function's execution should be printed. Setter for indicating if the timing data for this functor should be printed. Reimplemented in Gambit::module_functor_common. Definition at line 162 of file functors.cpp. References LOCAL_INFO, and Gambit::utils_error(). 166 utils_error().raise(LOCAL_INFO,"The setTimingPrintRequirement method has not been defined in this class.");
Here is the call graph for this function:
![]() ◆ setTimingVertexID()Set ID for timing 'vertex' (used in printer system) Acquire ID for timing 'vertex' (used in printer system) Definition at line 99 of file functors.cpp. References myTimingVertexID. int myTimingVertexID ID assigned by printers to the timing data output stream. Definition: functors.hpp:350 ◆ setVertexID()Setter for vertex ID (used in printer system) Definition at line 96 of file functors.cpp. References myVertexID. int myVertexID Internal storage of the vertex ID number used by the printer system to identify functors. Definition: functors.hpp:348 ◆ status()
Getter for the wrapped function current status: -4 = required backend absent (backend ini functions) -3 = required classes absent -2 = function absent -1 = origin absent 0 = model incompatibility (default) 1 = available 2 = active. Definition at line 134 of file functors.cpp. References myStatus. Referenced by Gambit::Models::ModelFunctorClaw::checkPrimaryModelFunctorUsage(), and Gambit::gambit_core::ff_backend_diagnostic(). int myStatus Status: -4 = required backend absent (backend ini functions) -3 = required classes absent -2 = functi... Definition: functors.hpp:346
Here is the caller graph for this function:
![]() ◆ timingLabel()
Getter for the printer timing label. Definition at line 150 of file functors.cpp. References myTimingLabel. const str myTimingLabel String label, used to label functor timing data for printer system. Definition: functors.hpp:337 ◆ timingVertexID()
Getter for timing vertex ID. Definition at line 142 of file functors.cpp. References myTimingVertexID. int myTimingVertexID ID assigned by printers to the timing data output stream. Definition: functors.hpp:350 ◆ type()
Getter for the wrapped function's reported return type. Definition at line 119 of file functors.cpp. References myType. Referenced by backend_conditional_dependencies(), Gambit::module_functor_common::backend_conditional_dependencies(), Gambit::DRes::backendFuncMatchesIniEntry(), Gambit::gambit_core::check_databases(), Gambit::gambit_core::ff_backend_diagnostic(), Gambit::gambit_core::ff_module_diagnostic(), Gambit::DRes::moduleFuncMatchesIniEntry(), Gambit::module_functor_common::resolveLoopManager(), and Gambit::module_functor_common::setBackendReq(). str myType Internal storage of the type of what the function calculates. Definition: functors.hpp:324
Here is the caller graph for this function:
![]() ◆ version()
Getter for the version of the wrapped function's origin (module or backend) Definition at line 123 of file functors.cpp. References myVersion. Referenced by backend_conditional_dependencies(), Gambit::module_functor_common::backend_conditional_dependencies(), Gambit::gambit_core::backend_diagnostic(), Gambit::DRes::backendFuncMatchesIniEntry(), Gambit::gambit_core::check_databases(), Gambit::gambit_core::ff_backend_diagnostic(), Gambit::module_functor_common::resolveBackendReq(), Gambit::DRes::DependencyResolver::resolveRequirement(), and Gambit::BE_bucket_base::version(). str myVersion Internal storage of the version of the module or backend to which the function belongs. Definition: functors.hpp:328
Here is the caller graph for this function:
![]() ◆ vertexID()
Getter for vertex ID. Definition at line 140 of file functors.cpp. References myVertexID. int myVertexID Internal storage of the vertex ID number used by the printer system to identify functors. Definition: functors.hpp:348 Member Data Documentation◆ allowedGroupCombos
List of allowed model group combinations. Definition at line 367 of file functors.hpp. Referenced by allModelsAllowed(), in_allowed_combo(), modelAllowed(), modelComboAllowed(), modelComboExplicitlyAllowed(), and setAllowedModelGroupCombo(). ◆ allowedModels
List of allowed models. Definition at line 364 of file functors.hpp. Referenced by allModelsAllowed(), allowed_parent_or_friend_exists(), Gambit::module_functor_common::fill_activeModelFlags(), modelAllowed(), modelExplicitlyAllowed(), and setAllowedModel(). ◆ modelGroupsMap from model group names to group contents. Definition at line 370 of file functors.hpp. Referenced by contains_anything_interpretable_as_member_of(), Gambit::module_functor_common::fill_activeModelFlags(), has_common_elements(), in_allowed_combo(), and setModelGroup(). ◆ myCapability
Internal storage of exactly what the function calculates. Definition at line 322 of file functors.hpp. Referenced by capability(), and quantity(). ◆ myClaw
Bound model functor claw, for checking relationships between models. Definition at line 332 of file functors.hpp. Referenced by allowed_parent_or_friend_exists(), contains_anything_interpretable_as_member_of(), find_friend_or_parent_model_in_map(), in_allowed_combo(), and Gambit::module_functor_common::notifyOfModel(). ◆ myDependees
List of all capability,type pairs of functors downstream of this one in the dependency tree. Definition at line 361 of file functors.hpp. Referenced by getDependees(), and Gambit::module_functor_common::notifyOfDependee(). ◆ myLabel
String label, used to label functor results for printer system. Definition at line 335 of file functors.hpp. Referenced by label(), and modelAllowed(). ◆ myName
Internal storage of the function name. Definition at line 320 of file functors.hpp. Referenced by Gambit::module_functor_common::check_missing_LogTag(), Gambit::FunctorHelp::entering_multithreaded_region(), Gambit::module_functor_common::getActiveModelFlag(), Gambit::FunctorHelp::leaving_multithreaded_region(), name(), notifyOfSubCaps(), Gambit::module_functor_common::resolveBackendReq(), Gambit::module_functor_common::resolveDependency(), and Gambit::module_functor_common::resolveLoopManager(). ◆ myOptions
Internal storage of function options, as a YAML node. Definition at line 355 of file functors.hpp. Referenced by getOptions(), and notifyOfIniOptions(). ◆ myOrigin
Internal storage of the name of the module or backend to which the function belongs. Definition at line 326 of file functors.hpp. Referenced by Gambit::module_functor_common::check_missing_LogTag(), Gambit::module_functor_common::getActiveModelFlag(), Gambit::module_functor_common::module_functor_common(), notifyOfSubCaps(), origin(), Gambit::module_functor_common::resolveBackendReq(), Gambit::module_functor_common::resolveDependency(), and Gambit::module_functor_common::resolveLoopManager(). ◆ myPurpose
Purpose of the function (relevant for output and next-to-output functors) Definition at line 330 of file functors.hpp. Referenced by purpose(), Gambit::module_functor_common::resolveDependency(), Gambit::module_functor_common::setDependency(), and setPurpose(). ◆ myStatus
Status: -4 = required backend absent (backend ini functions) -3 = required classes absent -2 = function absent -1 = origin absent 0 = model incompatibility (default) 1 = available 2 = active. Definition at line 346 of file functors.hpp. Referenced by Gambit::module_functor< void >::calculate(), Gambit::module_functor_common::notifyOfBackends(), setStatus(), and status(). ◆ mySubCaps
Internal storage of function sub-capabilities, as a YAML node. Definition at line 358 of file functors.hpp. Referenced by getSubCaps(), and notifyOfSubCaps(). ◆ myTimingLabel
String label, used to label functor timing data for printer system. Definition at line 337 of file functors.hpp. Referenced by timingLabel(). ◆ myTimingVertexID
ID assigned by printers to the timing data output stream. Definition at line 350 of file functors.hpp. Referenced by setTimingVertexID(), and timingVertexID(). ◆ myType
Internal storage of the type of what the function calculates. Definition at line 324 of file functors.hpp. Referenced by quantity(), and type(). ◆ myVersion
Internal storage of the version of the module or backend to which the function belongs. Definition at line 328 of file functors.hpp. Referenced by version(). ◆ myVertexID
Internal storage of the vertex ID number used by the printer system to identify functors. Definition at line 348 of file functors.hpp. Referenced by setVertexID(), and vertexID(). ◆ verbose
Debug flag. Definition at line 352 of file functors.hpp. Referenced by modelAllowed(), and Gambit::module_functor_common::notifyOfModel(). The documentation for this class was generated from the following files:
|