39 virtual void add_provider(std::unique_ptr<ConfigProvider> provider) = 0;
146 if (raw_val.has_value()) {
A result type that maintains a chainable sequence of errors for debugging and error reporting.
Interface that defines a complete infra layer configuration.
ChainableResult< ConfigValue< std::string > > tileset_paths_secondary_bin(ConfigScopeType type, const std::string &scope) const
virtual void add_provider(std::unique_ptr< ConfigProvider > provider)=0
Prepends a ConfigProvider to the provider chain at highest priority.
virtual ChainableResult< ConfigValue< bool > > tileset_animations_wire_anim_code_raw(ConfigScopeType type, const std::string &scope) const =0
virtual ChainableResult< ConfigValue< std::string > > tileset_paths_primary_bin_validated(ConfigScopeType type, const std::string &scope) const
virtual ChainableResult< ConfigValue< std::string > > tileset_paths_primary_src_raw(ConfigScopeType type, const std::string &scope) const =0
virtual ChainableResult< ConfigValue< std::string > > tileset_paths_primary_src_validated(ConfigScopeType type, const std::string &scope) const
ChainableResult< ConfigValue< std::size_t > > metatile_attr_size(ConfigScopeType type, const std::string &scope) const
virtual ChainableResult< ConfigValue< std::string > > tileset_paths_secondary_src_validated(ConfigScopeType type, const std::string &scope) const
virtual ~InfraConfig()=default
virtual ChainableResult< ConfigValue< std::string > > tileset_paths_secondary_src_raw(ConfigScopeType type, const std::string &scope) const =0
virtual ChainableResult< ConfigValue< bool > > tileset_animations_wire_anim_code_validated(ConfigScopeType type, const std::string &scope) const
ChainableResult< ConfigValue< std::string > > tileset_paths_primary_bin(ConfigScopeType type, const std::string &scope) const
virtual ChainableResult< ConfigValue< std::size_t > > metatile_attr_size_raw(ConfigScopeType type, const std::string &scope) const =0
virtual ChainableResult< ConfigValue< std::string > > tileset_paths_secondary_bin_validated(ConfigScopeType type, const std::string &scope) const
ChainableResult< ConfigValue< std::string > > tileset_paths_primary_src(ConfigScopeType type, const std::string &scope) const
virtual ChainableResult< ConfigValue< std::size_t > > metatile_attr_size_validated(ConfigScopeType type, const std::string &scope) const
ChainableResult< ConfigValue< bool > > tileset_animations_wire_anim_code(ConfigScopeType type, const std::string &scope) const
virtual ChainableResult< ConfigValue< std::string > > tileset_paths_primary_bin_raw(ConfigScopeType type, const std::string &scope) const =0
ChainableResult< ConfigValue< std::string > > tileset_paths_secondary_src(ConfigScopeType type, const std::string &scope) const
virtual ChainableResult< ConfigValue< std::string > > tileset_paths_secondary_bin_raw(ConfigScopeType type, const std::string &scope) const =0
ConfigScopeType
Specifies the scope type for configuration value lookups.
ChainableResult< ConfigValue< std::size_t > > size_t_val_two_or_four(const ConfigValue< std::size_t > &val)
Validates that a size_t config value is either 2 or 4.
Cross-cutting configuration validators shared across all architectural layers.