19 #ifdef MOOSE_UNIT_TEST 20 class CapabilitiesTest;
43 using RegistryType = std::map<std::string, Capability, std::less<>>;
106 const std::string_view doc);
115 #if defined(MOOSE_UNIT_TEST) || defined(FOR_PYCAPABILITIES) 125 const Capability &
get(
const std::string & capability)
const;
127 #ifdef MOOSE_UNIT_TEST 128 inline Capability &
get(
const std::string & capability);
162 std::string requirements,
166 #ifdef MOOSE_UNIT_TEST 167 friend class ::CapabilitiesTest;
174 #if defined(MOOSE_UNIT_TEST) || defined(FOR_PYCAPABILITIES) 178 return const_cast<Capability *
>(std::as_const(*this).query(capability));
182 #ifdef MOOSE_UNIT_TEST 186 return const_cast<Capability &
>(std::as_const(*this).get(capability));
const Capability & get(const std::string &capability) const
Get a capability.
CheckState
Return state for check.
std::map< std::string, Capability, std::less<> > RegistryType
Type for the registry.
std::variant< bool, int, std::string > Value
A capability can have a bool, int, or string value.
std::set< std::string > ignore_capabilities
Capabilities to ignore; checks using them will always pass.
RegistryType _registry
Registry storage.
Capability & add(const std::string_view name, const Moose::Capability::Value &value, const std::string_view doc)
Add a capability.
CheckState state
State of the check.
An entry for a single capability.
Storage for the result from check().
CheckResult check(std::string requirements, const CapabilityRegistry::CheckOptions &options=CapabilityRegistry::CheckOptions()) const
Checks if a set of requirements is satisified by the capabilities.
Registry of capabilities that checks capability requirements.
bool certain
Whether or not all capabilities must be known.
static const std::set< std::string, std::less<> > augmented_capability_names
Capabilities that are reserved and can only be augmented.
const Capability * query(std::string capability) const
Query a capability, if it exists, otherwise nullptr.
std::set< std::string > capability_names
The capability names that existed in the check string.
~CapabilityRegistry()=default