struct Gambit::DRes::Observable

[No description available]

Public Functions

Name
boolmatches(functor * f, const Utils::type_equivalency & te) const
True if and only if the passed functor matches all matchable non-empty fields of the observable (i.e. everything except purpose, dependencies, backend_reqs, functionChain and subcaps).
booldependencies_allow(functor * f, const Utils::type_equivalency & te, bool ignore_if_weak =true) const
Whether the set of dependency rules subjugate to this observable allow a given module functor or not.
boolfunction_chain_allows(functor * candidate, functor * dependee, const Utils::type_equivalency & te) const
Whether the functionChain of this observable allows a given module functor to be used to resolve the dependency of another.
boolbackend_reqs_allow(functor * f, const Utils::type_equivalency & te, const str & group_being_resolved, bool ignore_if_weak =true) const
Whether the set of backend rules subjugate to this observable allow a given backend functor or not.
Observable()
Default constructor. Sets all fields empty.

Public Attributes

Name
YAML::Nodeyaml
The original YAML (if any) from which this observable was derived.
std::stringpurpose
Designated purpose of the observable (LogLike, etc).
std::stringcapability
Capability field targeted by the ObsLike entry.
std::stringtype
Type field targeted by the ObsLike entry.
std::stringfunction
Function field targeted by the ObsLike entry.
std::stringmodule
Module targeted by the ObsLike entry.
std::vector< ModuleRule >dependencies
Subjugate dependency rules to be assigned to the observable.
std::vector< BackendRule >backends
Subjugate backend rules to be assigned to the observable.
std::vector< std::string >functionChain
Function chain to be assigned to the observable.
YAML::Nodesubcaps
Sub-capabilities to be assigned to the observable.
boolprintme
Instruction to printer as to whether to write result to disk.
boollog_matches
Whether or not to log matches to the observable with functors.
boolinclude_all
Whether to return multiple functor matches.

Public Functions Documentation

function matches

bool matches(
    functor * f,
    const Utils::type_equivalency & te
) const

True if and only if the passed functor matches all matchable non-empty fields of the observable (i.e. everything except purpose, dependencies, backend_reqs, functionChain and subcaps).

function dependencies_allow

bool dependencies_allow(
    functor * f,
    const Utils::type_equivalency & te,
    bool ignore_if_weak =true
) const

Whether the set of dependency rules subjugate to this observable allow a given module functor or not.

Whether the set of dependency rules subjugate to this observable allow a given module functor or not. Must be true for the passed module functor to be used to resolve a dependency of the module functor that provides this observable (the dependee). Does not test if the dependee actually matches the observable, so should typically only be used after confirming this first.

function function_chain_allows

bool function_chain_allows(
    functor * candidate,
    functor * dependee,
    const Utils::type_equivalency & te
) const

Whether the functionChain of this observable allows a given module functor to be used to resolve the dependency of another.

Whether the functionChain of this observable allows a given module functor to be used to resolve the dependency of another. Does not test if the dependent functor actually matches the observable, so should typically only be used after confirming this first.

function backend_reqs_allow

bool backend_reqs_allow(
    functor * f,
    const Utils::type_equivalency & te,
    const str & group_being_resolved,
    bool ignore_if_weak =true
) const

Whether the set of backend rules subjugate to this observable allow a given backend functor or not.

Whether the set of backend rules subjugate to this observable allow a given backend functor or not. Must be true for the passed backend functor to be used to resolve a backend requirement of the module functor that matches this observable (the requiree). Does not test if the requiree actually matches the observable, so should typically only be used after confirming this first.

function Observable

inline Observable()

Default constructor. Sets all fields empty.

Public Attributes Documentation

variable yaml

YAML::Node yaml;

The original YAML (if any) from which this observable was derived.

variable purpose

std::string purpose;

Designated purpose of the observable (LogLike, etc).

variable capability

std::string capability;

Capability field targeted by the ObsLike entry.

variable type

std::string type;

Type field targeted by the ObsLike entry.

variable function

std::string function;

Function field targeted by the ObsLike entry.

variable module

std::string module;

Module targeted by the ObsLike entry.

variable dependencies

std::vector< ModuleRule > dependencies;

Subjugate dependency rules to be assigned to the observable.

variable backends

std::vector< BackendRule > backends;

Subjugate backend rules to be assigned to the observable.

variable functionChain

std::vector< std::string > functionChain;

Function chain to be assigned to the observable.

variable subcaps

YAML::Node subcaps;

Sub-capabilities to be assigned to the observable.

variable printme

bool printme;

Instruction to printer as to whether to write result to disk.

variable log_matches

bool log_matches;

Whether or not to log matches to the observable with functors.

variable include_all

bool include_all;

Whether to return multiple functor matches.


Updated on 2024-07-18 at 13:53:31 +0000