32 template <
typename... Args>
35 std::ostringstream ss;
40 template <
typename... Args>
75 typedef std::variant<bool, int, std::string>
Type;
77 typedef std::tuple<CheckState, std::string, std::string>
Result;
79 typedef std::map<std::string, std::pair<Type, std::string>>
Registry;
void streamArguments(StreamType &)
CheckState
Return state for check.
CapabilityException(Args &&... args)
CapabilityException(const CapabilityException &)=default
std::tuple< CheckState, std::string, std::string > Result
Result from a capability check: the state, the reason, and the documentation.
std::map< std::string, std::pair< Type, std::string > > Registry
The registry that stores the registered capabilities.
std::variant< bool, int, std::string > Type
A capability can have a bool, int, or string value.
static std::string stringify(Args &&... args)
The registry is used as a global singleton to collect information on all available MooseObject and Ac...
Result check(std::string requirements, const Registry &capabilities)
Checks if a set of requirements is satisified by the given capability registry.
Shared code for the Capabilities Registry and the python bindings to the Capabilities system...