Porytiles
Loading...
Searching...
No Matches
porytiles::LazyLayeredConfig Class Referencefinal

A Config implementation that lazily pulls a config value by consulting multiple priority-ordered backing ConfigProviders . More...

#include <lazy_layered_config.hpp>

Inheritance diagram for porytiles::LazyLayeredConfig:
[legend]
Collaboration diagram for porytiles::LazyLayeredConfig:
[legend]

Public Member Functions

 LazyLayeredConfig (gsl::not_null< TextFormatter * > format, std::vector< std::unique_ptr< ConfigProvider > > &&providers)
 Constructs a LazyLayeredConfig with a list of ConfigProviders in priority order, highest to lowest.
 
 LazyLayeredConfig (std::vector< std::unique_ptr< ConfigProvider > > &&providers)
 Constructs a LazyLayeredConfig with a default PlainTextFormatter.
 
void add_provider (std::unique_ptr< ConfigProvider > provider) override
 Prepends a ConfigProvider to the provider chain at highest priority and invalidates resolution caches.
 
std::vector< ProvenanceChainLink< std::size_t > > num_tiles_in_primary_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for num_tiles_in_primary.
 
std::vector< ProvenanceChainLink< std::size_t > > num_tiles_total_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for num_tiles_total.
 
std::vector< ProvenanceChainLink< std::size_t > > num_metatiles_in_primary_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for num_metatiles_in_primary.
 
std::vector< ProvenanceChainLink< std::size_t > > num_metatiles_total_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for num_metatiles_total.
 
std::vector< ProvenanceChainLink< std::size_t > > num_pals_in_primary_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for num_pals_in_primary.
 
std::vector< ProvenanceChainLink< std::size_t > > num_pals_total_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for num_pals_total.
 
std::vector< ProvenanceChainLink< std::size_t > > max_map_data_size_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for max_map_data_size.
 
std::vector< ProvenanceChainLink< std::size_t > > num_tiles_per_metatile_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for num_tiles_per_metatile.
 
std::vector< ProvenanceChainLink< Rgba32 > > extrinsic_transparency_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for extrinsic_transparency.
 
std::vector< ProvenanceChainLink< ArtifactEditMode > > tiles_edit_mode_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for tiles_edit_mode.
 
std::vector< ProvenanceChainLink< ArtifactEditMode > > pals_edit_mode_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for pals_edit_mode.
 
std::vector< ProvenanceChainLink< bool > > pal_hints_enabled_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for pal_hints_enabled.
 
std::vector< ProvenanceChainLink< std::vector< PaletteHint > > > pal_hints_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for pal_hints.
 
std::vector< ProvenanceChainLink< PackingStrategyType > > packing_strategy_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for packing_strategy.
 
std::vector< ProvenanceChainLink< PackingStrategyParams > > packing_strategy_params_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for packing_strategy_params.
 
std::vector< ProvenanceChainLink< TileSharingPacking > > tile_sharing_packing_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for tile_sharing_packing.
 
std::vector< ProvenanceChainLink< TileSharingAlignment > > tile_sharing_alignment_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for tile_sharing_alignment.
 
std::vector< ProvenanceChainLink< TilesPalMode > > tiles_pal_mode_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for tiles_pal_mode.
 
std::vector< ProvenanceChainLink< AnimPalResolutionStrategy > > global_anim_pal_resolution_strategy_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for global_anim_pal_resolution_strategy.
 
std::vector< ProvenanceChainLink< AnimKeyFrameResolutionStrategy > > global_anim_key_frame_resolution_strategy_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for global_anim_key_frame_resolution_strategy.
 
std::vector< ProvenanceChainLink< AnimMultiPalSubtileResolutionStrategy > > global_anim_multi_pal_subtile_resolution_strategy_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for global_anim_multi_pal_subtile_resolution_strategy.
 
std::vector< ProvenanceChainLink< FrameLinking > > global_frame_linking_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for global_frame_linking.
 
std::vector< ProvenanceChainLink< PerAnimOverrides > > per_anim_overrides_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for per_anim_overrides.
 
std::vector< ProvenanceChainLink< bool > > cross_tileset_anim_linking_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for cross_tileset_anim_linking.
 
std::vector< ProvenanceChainLink< bool > > verify_checksums_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for verify_checksums.
 
std::vector< ProvenanceChainLink< PrimaryPairingMode > > primary_pairing_mode_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for primary_pairing_mode.
 
std::vector< ProvenanceChainLink< std::vector< std::string > > > primary_pairing_partners_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for primary_pairing_partners.
 
std::vector< ProvenanceChainLink< std::vector< std::string > > > diagnostic_warnings_exclude_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for diagnostic_warnings_exclude.
 
std::vector< ProvenanceChainLink< std::vector< std::string > > > diagnostic_warnings_include_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for diagnostic_warnings_include.
 
std::vector< ProvenanceChainLink< std::vector< std::string > > > diagnostic_remarks_exclude_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for diagnostic_remarks_exclude.
 
std::vector< ProvenanceChainLink< std::vector< std::string > > > diagnostic_remarks_include_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for diagnostic_remarks_include.
 
std::vector< ProvenanceChainLink< std::string > > tileset_paths_primary_src_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for tileset_paths_primary_src.
 
std::vector< ProvenanceChainLink< std::string > > tileset_paths_primary_bin_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for tileset_paths_primary_bin.
 
std::vector< ProvenanceChainLink< std::string > > tileset_paths_secondary_src_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for tileset_paths_secondary_src.
 
std::vector< ProvenanceChainLink< std::string > > tileset_paths_secondary_bin_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for tileset_paths_secondary_bin.
 
std::vector< ProvenanceChainLink< std::size_t > > metatile_attr_size_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for metatile_attr_size.
 
std::vector< ProvenanceChainLink< bool > > tileset_animations_wire_anim_code_provenance_chain (ConfigScopeType type, const std::string &scope) const
 Gets the full provenance chain for tileset_animations_wire_anim_code.
 
void dump_config (std::ostream &out, ConfigScopeType type, const std::string &scope) const
 Dumps the full provenance chain for all config values to an output stream.
 
- Public Member Functions inherited from porytiles::DomainConfig
virtual ~DomainConfig ()=default
 
ChainableResult< ConfigValue< std::size_t > > num_tiles_in_primary (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< std::size_t > > num_tiles_total (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< std::size_t > > num_metatiles_in_primary (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< std::size_t > > num_metatiles_total (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< std::size_t > > num_pals_in_primary (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< std::size_t > > num_pals_total (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< std::size_t > > max_map_data_size (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< std::size_t > > num_tiles_per_metatile (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< Rgba32 > > extrinsic_transparency (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< ArtifactEditMode > > tiles_edit_mode (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< ArtifactEditMode > > pals_edit_mode (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< bool > > pal_hints_enabled (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< std::vector< PaletteHint > > > pal_hints (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< PackingStrategyType > > packing_strategy (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< PackingStrategyParams > > packing_strategy_params (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< TileSharingPacking > > tile_sharing_packing (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< TileSharingAlignment > > tile_sharing_alignment (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< TilesPalMode > > tiles_pal_mode (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< AnimPalResolutionStrategy > > global_anim_pal_resolution_strategy (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< AnimKeyFrameResolutionStrategy > > global_anim_key_frame_resolution_strategy (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< AnimMultiPalSubtileResolutionStrategy > > global_anim_multi_pal_subtile_resolution_strategy (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< FrameLinking > > global_frame_linking (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< PerAnimOverrides > > per_anim_overrides (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< bool > > cross_tileset_anim_linking (ConfigScopeType type, const std::string &scope) const
 
- Public Member Functions inherited from porytiles::AppConfig
virtual ~AppConfig ()=default
 
ChainableResult< ConfigValue< bool > > verify_checksums (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< PrimaryPairingMode > > primary_pairing_mode (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< std::vector< std::string > > > primary_pairing_partners (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< std::vector< std::string > > > diagnostic_warnings_exclude (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< std::vector< std::string > > > diagnostic_warnings_include (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< std::vector< std::string > > > diagnostic_remarks_exclude (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< std::vector< std::string > > > diagnostic_remarks_include (ConfigScopeType type, const std::string &scope) const
 
- Public Member Functions inherited from porytiles::InfraConfig
virtual ~InfraConfig ()=default
 
ChainableResult< ConfigValue< std::string > > tileset_paths_primary_src (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< std::string > > tileset_paths_primary_bin (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< std::string > > tileset_paths_secondary_src (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< std::string > > tileset_paths_secondary_bin (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< std::size_t > > metatile_attr_size (ConfigScopeType type, const std::string &scope) const
 
ChainableResult< ConfigValue< bool > > tileset_animations_wire_anim_code (ConfigScopeType type, const std::string &scope) const
 

Protected Member Functions

ChainableResult< ConfigValue< std::size_t > > num_tiles_in_primary_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< std::size_t > > num_tiles_total_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< std::size_t > > num_metatiles_in_primary_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< std::size_t > > num_metatiles_total_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< std::size_t > > num_pals_in_primary_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< std::size_t > > num_pals_total_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< std::size_t > > max_map_data_size_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< std::size_t > > num_tiles_per_metatile_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< Rgba32 > > extrinsic_transparency_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< ArtifactEditMode > > tiles_edit_mode_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< ArtifactEditMode > > pals_edit_mode_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< bool > > pal_hints_enabled_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< std::vector< PaletteHint > > > pal_hints_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< PackingStrategyType > > packing_strategy_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< PackingStrategyParams > > packing_strategy_params_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< TileSharingPacking > > tile_sharing_packing_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< TileSharingAlignment > > tile_sharing_alignment_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< TilesPalMode > > tiles_pal_mode_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< AnimPalResolutionStrategy > > global_anim_pal_resolution_strategy_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< AnimKeyFrameResolutionStrategy > > global_anim_key_frame_resolution_strategy_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< AnimMultiPalSubtileResolutionStrategy > > global_anim_multi_pal_subtile_resolution_strategy_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< FrameLinking > > global_frame_linking_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< PerAnimOverrides > > per_anim_overrides_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< bool > > cross_tileset_anim_linking_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< bool > > verify_checksums_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< PrimaryPairingMode > > primary_pairing_mode_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< std::vector< std::string > > > primary_pairing_partners_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< std::vector< std::string > > > diagnostic_warnings_exclude_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< std::vector< std::string > > > diagnostic_warnings_include_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< std::vector< std::string > > > diagnostic_remarks_exclude_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< std::vector< std::string > > > diagnostic_remarks_include_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< std::string > > tileset_paths_primary_src_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< std::string > > tileset_paths_primary_bin_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< std::string > > tileset_paths_secondary_src_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< std::string > > tileset_paths_secondary_bin_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< std::size_t > > metatile_attr_size_raw (ConfigScopeType type, const std::string &scope) const override
 
ChainableResult< ConfigValue< bool > > tileset_animations_wire_anim_code_raw (ConfigScopeType type, const std::string &scope) const override
 
- Protected Member Functions inherited from porytiles::DomainConfig
virtual ChainableResult< ConfigValue< std::size_t > > num_tiles_in_primary_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< std::size_t > > num_tiles_total_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< std::size_t > > num_metatiles_in_primary_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< std::size_t > > num_metatiles_total_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< std::size_t > > num_pals_in_primary_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< std::size_t > > num_pals_total_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< std::size_t > > max_map_data_size_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< std::size_t > > num_tiles_per_metatile_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< Rgba32 > > extrinsic_transparency_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< ArtifactEditMode > > tiles_edit_mode_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< ArtifactEditMode > > pals_edit_mode_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< bool > > pal_hints_enabled_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< std::vector< PaletteHint > > > pal_hints_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< PackingStrategyType > > packing_strategy_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< PackingStrategyParams > > packing_strategy_params_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< TileSharingPacking > > tile_sharing_packing_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< TileSharingAlignment > > tile_sharing_alignment_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< TilesPalMode > > tiles_pal_mode_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< AnimPalResolutionStrategy > > global_anim_pal_resolution_strategy_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< AnimKeyFrameResolutionStrategy > > global_anim_key_frame_resolution_strategy_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< AnimMultiPalSubtileResolutionStrategy > > global_anim_multi_pal_subtile_resolution_strategy_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< FrameLinking > > global_frame_linking_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< PerAnimOverrides > > per_anim_overrides_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< bool > > cross_tileset_anim_linking_validated (ConfigScopeType type, const std::string &scope) const
 
- Protected Member Functions inherited from porytiles::AppConfig
virtual ChainableResult< ConfigValue< bool > > verify_checksums_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< PrimaryPairingMode > > primary_pairing_mode_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< std::vector< std::string > > > primary_pairing_partners_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< std::vector< std::string > > > diagnostic_warnings_exclude_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< std::vector< std::string > > > diagnostic_warnings_include_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< std::vector< std::string > > > diagnostic_remarks_exclude_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< std::vector< std::string > > > diagnostic_remarks_include_validated (ConfigScopeType type, const std::string &scope) const
 
- Protected Member Functions inherited from porytiles::InfraConfig
virtual ChainableResult< ConfigValue< std::string > > tileset_paths_primary_src_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< std::string > > tileset_paths_primary_bin_validated (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 ChainableResult< ConfigValue< std::string > > tileset_paths_secondary_bin_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< std::size_t > > metatile_attr_size_validated (ConfigScopeType type, const std::string &scope) const
 
virtual ChainableResult< ConfigValue< bool > > tileset_animations_wire_anim_code_validated (ConfigScopeType type, const std::string &scope) const
 

Detailed Description

A Config implementation that lazily pulls a config value by consulting multiple priority-ordered backing ConfigProviders .

LazyLayeredConfig provides the following functionality:

  • fetches the value from the highest priority layer, lazily (i.e., only loads upon first request, then caches)
  • tracks the provenance of the value (e.g., did it come from tileset TOML? environment? default value?)
  • hard panics if no value exists, this is a programmer error (programmer should at least provide a default layer)
  • provides a way to dump itself for debugging purposes

Definition at line 45 of file lazy_layered_config.hpp.

Constructor & Destructor Documentation

◆ LazyLayeredConfig() [1/2]

porytiles::LazyLayeredConfig::LazyLayeredConfig ( gsl::not_null< TextFormatter * >  format,
std::vector< std::unique_ptr< ConfigProvider > > &&  providers 
)
inlineexplicit

Constructs a LazyLayeredConfig with a list of ConfigProviders in priority order, highest to lowest.

The LazyLayeredConfig will attempt to resolve configuration values by traversing the provided list of ConfigProviders in order. That is, it will consult the first provider in the list first, and the next provider only if the first does not supply the config value. And so on. It is the programmer's responsibility to provide a default layer as the final provider in the list. If any config value resolution call chain reaches the end of the provider list without finding a value, the LazyLayeredConfig will terminate with a panic.

Parameters
formatA pointer to the TextFormatter to use
providersThe list of providers in priority order

Definition at line 62 of file lazy_layered_config.hpp.

◆ LazyLayeredConfig() [2/2]

porytiles::LazyLayeredConfig::LazyLayeredConfig ( std::vector< std::unique_ptr< ConfigProvider > > &&  providers)
inlineexplicit

Constructs a LazyLayeredConfig with a default PlainTextFormatter.

This constructor creates an internally owned PlainTextFormatter instance and uses it for formatting. The LazyLayeredConfig will attempt to resolve configuration values by traversing the provided list of ConfigProviders in order. It is the programmer's responsibility to provide a default layer as the final provider in the list.

Parameters
providersThe list of providers in priority order

Definition at line 79 of file lazy_layered_config.hpp.

Member Function Documentation

◆ add_provider()

void porytiles::LazyLayeredConfig::add_provider ( std::unique_ptr< ConfigProvider provider)
overridevirtual

Prepends a ConfigProvider to the provider chain at highest priority and invalidates resolution caches.

Satisfies DomainConfig::add_provider, AppConfig::add_provider, and InfraConfig::add_provider with a single override, since all three bases declare the same signature. Clearing the caches is required because any value resolved before this call would otherwise stick and the new provider would not be consulted.

Parameters
providerThe provider to prepend. Must be non-null.
Precondition
Must not be called concurrently with any config-value resolution. The class is not internally synchronized; callers should add all override providers before the config is handed to compilation code.

Implements porytiles::DomainConfig.

Definition at line 99 of file lazy_layered_config.cpp.

◆ cross_tileset_anim_linking_provenance_chain()

std::vector< ProvenanceChainLink< bool > > porytiles::LazyLayeredConfig::cross_tileset_anim_linking_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for cross_tileset_anim_linking.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 773 of file lazy_layered_config.cpp.

◆ cross_tileset_anim_linking_raw()

ChainableResult< ConfigValue< bool > > porytiles::LazyLayeredConfig::cross_tileset_anim_linking_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::DomainConfig.

Definition at line 471 of file lazy_layered_config.cpp.

◆ diagnostic_remarks_exclude_provenance_chain()

std::vector< ProvenanceChainLink< std::vector< std::string > > > porytiles::LazyLayeredConfig::diagnostic_remarks_exclude_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for diagnostic_remarks_exclude.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 815 of file lazy_layered_config.cpp.

◆ diagnostic_remarks_exclude_raw()

ChainableResult< ConfigValue< std::vector< std::string > > > porytiles::LazyLayeredConfig::diagnostic_remarks_exclude_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::AppConfig.

Definition at line 531 of file lazy_layered_config.cpp.

◆ diagnostic_remarks_include_provenance_chain()

std::vector< ProvenanceChainLink< std::vector< std::string > > > porytiles::LazyLayeredConfig::diagnostic_remarks_include_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for diagnostic_remarks_include.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 822 of file lazy_layered_config.cpp.

◆ diagnostic_remarks_include_raw()

ChainableResult< ConfigValue< std::vector< std::string > > > porytiles::LazyLayeredConfig::diagnostic_remarks_include_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::AppConfig.

Definition at line 541 of file lazy_layered_config.cpp.

◆ diagnostic_warnings_exclude_provenance_chain()

std::vector< ProvenanceChainLink< std::vector< std::string > > > porytiles::LazyLayeredConfig::diagnostic_warnings_exclude_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for diagnostic_warnings_exclude.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 801 of file lazy_layered_config.cpp.

◆ diagnostic_warnings_exclude_raw()

ChainableResult< ConfigValue< std::vector< std::string > > > porytiles::LazyLayeredConfig::diagnostic_warnings_exclude_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::AppConfig.

Definition at line 511 of file lazy_layered_config.cpp.

◆ diagnostic_warnings_include_provenance_chain()

std::vector< ProvenanceChainLink< std::vector< std::string > > > porytiles::LazyLayeredConfig::diagnostic_warnings_include_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for diagnostic_warnings_include.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 808 of file lazy_layered_config.cpp.

◆ diagnostic_warnings_include_raw()

ChainableResult< ConfigValue< std::vector< std::string > > > porytiles::LazyLayeredConfig::diagnostic_warnings_include_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::AppConfig.

Definition at line 521 of file lazy_layered_config.cpp.

◆ dump_config()

void porytiles::LazyLayeredConfig::dump_config ( std::ostream &  out,
ConfigScopeType  type,
const std::string &  scope 
) const

Dumps the full provenance chain for all config values to an output stream.

Queries every provider for every config value and prints what each provider would return. This is useful for debugging configuration issues, e.g. understanding why a particular value was chosen or which provider is supplying it.

Parameters
outThe output stream to write the dump to
typeThe config scope type
scopeThe scope identifier (e.g. tileset name)

Definition at line 109 of file lazy_layered_config.cpp.

◆ extrinsic_transparency_provenance_chain()

std::vector< ProvenanceChainLink< Rgba32 > > porytiles::LazyLayeredConfig::extrinsic_transparency_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for extrinsic_transparency.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 668 of file lazy_layered_config.cpp.

◆ extrinsic_transparency_raw()

ChainableResult< ConfigValue< Rgba32 > > porytiles::LazyLayeredConfig::extrinsic_transparency_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::DomainConfig.

Definition at line 321 of file lazy_layered_config.cpp.

◆ global_anim_key_frame_resolution_strategy_provenance_chain()

std::vector< ProvenanceChainLink< AnimKeyFrameResolutionStrategy > > porytiles::LazyLayeredConfig::global_anim_key_frame_resolution_strategy_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for global_anim_key_frame_resolution_strategy.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 745 of file lazy_layered_config.cpp.

◆ global_anim_key_frame_resolution_strategy_raw()

ChainableResult< ConfigValue< AnimKeyFrameResolutionStrategy > > porytiles::LazyLayeredConfig::global_anim_key_frame_resolution_strategy_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::DomainConfig.

Definition at line 431 of file lazy_layered_config.cpp.

◆ global_anim_multi_pal_subtile_resolution_strategy_provenance_chain()

std::vector< ProvenanceChainLink< AnimMultiPalSubtileResolutionStrategy > > porytiles::LazyLayeredConfig::global_anim_multi_pal_subtile_resolution_strategy_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for global_anim_multi_pal_subtile_resolution_strategy.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 752 of file lazy_layered_config.cpp.

◆ global_anim_multi_pal_subtile_resolution_strategy_raw()

ChainableResult< ConfigValue< AnimMultiPalSubtileResolutionStrategy > > porytiles::LazyLayeredConfig::global_anim_multi_pal_subtile_resolution_strategy_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::DomainConfig.

Definition at line 441 of file lazy_layered_config.cpp.

◆ global_anim_pal_resolution_strategy_provenance_chain()

std::vector< ProvenanceChainLink< AnimPalResolutionStrategy > > porytiles::LazyLayeredConfig::global_anim_pal_resolution_strategy_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for global_anim_pal_resolution_strategy.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 738 of file lazy_layered_config.cpp.

◆ global_anim_pal_resolution_strategy_raw()

ChainableResult< ConfigValue< AnimPalResolutionStrategy > > porytiles::LazyLayeredConfig::global_anim_pal_resolution_strategy_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::DomainConfig.

Definition at line 421 of file lazy_layered_config.cpp.

◆ global_frame_linking_provenance_chain()

std::vector< ProvenanceChainLink< FrameLinking > > porytiles::LazyLayeredConfig::global_frame_linking_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for global_frame_linking.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 759 of file lazy_layered_config.cpp.

◆ global_frame_linking_raw()

ChainableResult< ConfigValue< FrameLinking > > porytiles::LazyLayeredConfig::global_frame_linking_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::DomainConfig.

Definition at line 451 of file lazy_layered_config.cpp.

◆ max_map_data_size_provenance_chain()

std::vector< ProvenanceChainLink< std::size_t > > porytiles::LazyLayeredConfig::max_map_data_size_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for max_map_data_size.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 654 of file lazy_layered_config.cpp.

◆ max_map_data_size_raw()

ChainableResult< ConfigValue< std::size_t > > porytiles::LazyLayeredConfig::max_map_data_size_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::DomainConfig.

Definition at line 301 of file lazy_layered_config.cpp.

◆ metatile_attr_size_provenance_chain()

std::vector< ProvenanceChainLink< std::size_t > > porytiles::LazyLayeredConfig::metatile_attr_size_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for metatile_attr_size.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 857 of file lazy_layered_config.cpp.

◆ metatile_attr_size_raw()

ChainableResult< ConfigValue< std::size_t > > porytiles::LazyLayeredConfig::metatile_attr_size_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::InfraConfig.

Definition at line 591 of file lazy_layered_config.cpp.

◆ num_metatiles_in_primary_provenance_chain()

std::vector< ProvenanceChainLink< std::size_t > > porytiles::LazyLayeredConfig::num_metatiles_in_primary_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for num_metatiles_in_primary.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 626 of file lazy_layered_config.cpp.

◆ num_metatiles_in_primary_raw()

ChainableResult< ConfigValue< std::size_t > > porytiles::LazyLayeredConfig::num_metatiles_in_primary_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::DomainConfig.

Definition at line 261 of file lazy_layered_config.cpp.

◆ num_metatiles_total_provenance_chain()

std::vector< ProvenanceChainLink< std::size_t > > porytiles::LazyLayeredConfig::num_metatiles_total_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for num_metatiles_total.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 633 of file lazy_layered_config.cpp.

◆ num_metatiles_total_raw()

ChainableResult< ConfigValue< std::size_t > > porytiles::LazyLayeredConfig::num_metatiles_total_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::DomainConfig.

Definition at line 271 of file lazy_layered_config.cpp.

◆ num_pals_in_primary_provenance_chain()

std::vector< ProvenanceChainLink< std::size_t > > porytiles::LazyLayeredConfig::num_pals_in_primary_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for num_pals_in_primary.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 640 of file lazy_layered_config.cpp.

◆ num_pals_in_primary_raw()

ChainableResult< ConfigValue< std::size_t > > porytiles::LazyLayeredConfig::num_pals_in_primary_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::DomainConfig.

Definition at line 281 of file lazy_layered_config.cpp.

◆ num_pals_total_provenance_chain()

std::vector< ProvenanceChainLink< std::size_t > > porytiles::LazyLayeredConfig::num_pals_total_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for num_pals_total.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 647 of file lazy_layered_config.cpp.

◆ num_pals_total_raw()

ChainableResult< ConfigValue< std::size_t > > porytiles::LazyLayeredConfig::num_pals_total_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::DomainConfig.

Definition at line 291 of file lazy_layered_config.cpp.

◆ num_tiles_in_primary_provenance_chain()

std::vector< ProvenanceChainLink< std::size_t > > porytiles::LazyLayeredConfig::num_tiles_in_primary_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for num_tiles_in_primary.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 612 of file lazy_layered_config.cpp.

◆ num_tiles_in_primary_raw()

ChainableResult< ConfigValue< std::size_t > > porytiles::LazyLayeredConfig::num_tiles_in_primary_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::DomainConfig.

Definition at line 241 of file lazy_layered_config.cpp.

◆ num_tiles_per_metatile_provenance_chain()

std::vector< ProvenanceChainLink< std::size_t > > porytiles::LazyLayeredConfig::num_tiles_per_metatile_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for num_tiles_per_metatile.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 661 of file lazy_layered_config.cpp.

◆ num_tiles_per_metatile_raw()

ChainableResult< ConfigValue< std::size_t > > porytiles::LazyLayeredConfig::num_tiles_per_metatile_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::DomainConfig.

Definition at line 311 of file lazy_layered_config.cpp.

◆ num_tiles_total_provenance_chain()

std::vector< ProvenanceChainLink< std::size_t > > porytiles::LazyLayeredConfig::num_tiles_total_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for num_tiles_total.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 619 of file lazy_layered_config.cpp.

◆ num_tiles_total_raw()

ChainableResult< ConfigValue< std::size_t > > porytiles::LazyLayeredConfig::num_tiles_total_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::DomainConfig.

Definition at line 251 of file lazy_layered_config.cpp.

◆ packing_strategy_params_provenance_chain()

std::vector< ProvenanceChainLink< PackingStrategyParams > > porytiles::LazyLayeredConfig::packing_strategy_params_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for packing_strategy_params.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 710 of file lazy_layered_config.cpp.

◆ packing_strategy_params_raw()

ChainableResult< ConfigValue< PackingStrategyParams > > porytiles::LazyLayeredConfig::packing_strategy_params_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::DomainConfig.

Definition at line 381 of file lazy_layered_config.cpp.

◆ packing_strategy_provenance_chain()

std::vector< ProvenanceChainLink< PackingStrategyType > > porytiles::LazyLayeredConfig::packing_strategy_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for packing_strategy.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 703 of file lazy_layered_config.cpp.

◆ packing_strategy_raw()

ChainableResult< ConfigValue< PackingStrategyType > > porytiles::LazyLayeredConfig::packing_strategy_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::DomainConfig.

Definition at line 371 of file lazy_layered_config.cpp.

◆ pal_hints_enabled_provenance_chain()

std::vector< ProvenanceChainLink< bool > > porytiles::LazyLayeredConfig::pal_hints_enabled_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for pal_hints_enabled.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 689 of file lazy_layered_config.cpp.

◆ pal_hints_enabled_raw()

ChainableResult< ConfigValue< bool > > porytiles::LazyLayeredConfig::pal_hints_enabled_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::DomainConfig.

Definition at line 351 of file lazy_layered_config.cpp.

◆ pal_hints_provenance_chain()

std::vector< ProvenanceChainLink< std::vector< PaletteHint > > > porytiles::LazyLayeredConfig::pal_hints_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for pal_hints.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 696 of file lazy_layered_config.cpp.

◆ pal_hints_raw()

ChainableResult< ConfigValue< std::vector< PaletteHint > > > porytiles::LazyLayeredConfig::pal_hints_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::DomainConfig.

Definition at line 361 of file lazy_layered_config.cpp.

◆ pals_edit_mode_provenance_chain()

std::vector< ProvenanceChainLink< ArtifactEditMode > > porytiles::LazyLayeredConfig::pals_edit_mode_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for pals_edit_mode.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 682 of file lazy_layered_config.cpp.

◆ pals_edit_mode_raw()

ChainableResult< ConfigValue< ArtifactEditMode > > porytiles::LazyLayeredConfig::pals_edit_mode_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::DomainConfig.

Definition at line 341 of file lazy_layered_config.cpp.

◆ per_anim_overrides_provenance_chain()

std::vector< ProvenanceChainLink< PerAnimOverrides > > porytiles::LazyLayeredConfig::per_anim_overrides_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for per_anim_overrides.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 766 of file lazy_layered_config.cpp.

◆ per_anim_overrides_raw()

ChainableResult< ConfigValue< PerAnimOverrides > > porytiles::LazyLayeredConfig::per_anim_overrides_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::DomainConfig.

Definition at line 461 of file lazy_layered_config.cpp.

◆ primary_pairing_mode_provenance_chain()

std::vector< ProvenanceChainLink< PrimaryPairingMode > > porytiles::LazyLayeredConfig::primary_pairing_mode_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for primary_pairing_mode.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 787 of file lazy_layered_config.cpp.

◆ primary_pairing_mode_raw()

ChainableResult< ConfigValue< PrimaryPairingMode > > porytiles::LazyLayeredConfig::primary_pairing_mode_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::AppConfig.

Definition at line 491 of file lazy_layered_config.cpp.

◆ primary_pairing_partners_provenance_chain()

std::vector< ProvenanceChainLink< std::vector< std::string > > > porytiles::LazyLayeredConfig::primary_pairing_partners_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for primary_pairing_partners.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 794 of file lazy_layered_config.cpp.

◆ primary_pairing_partners_raw()

ChainableResult< ConfigValue< std::vector< std::string > > > porytiles::LazyLayeredConfig::primary_pairing_partners_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::AppConfig.

Definition at line 501 of file lazy_layered_config.cpp.

◆ tile_sharing_alignment_provenance_chain()

std::vector< ProvenanceChainLink< TileSharingAlignment > > porytiles::LazyLayeredConfig::tile_sharing_alignment_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for tile_sharing_alignment.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 724 of file lazy_layered_config.cpp.

◆ tile_sharing_alignment_raw()

ChainableResult< ConfigValue< TileSharingAlignment > > porytiles::LazyLayeredConfig::tile_sharing_alignment_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::DomainConfig.

Definition at line 401 of file lazy_layered_config.cpp.

◆ tile_sharing_packing_provenance_chain()

std::vector< ProvenanceChainLink< TileSharingPacking > > porytiles::LazyLayeredConfig::tile_sharing_packing_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for tile_sharing_packing.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 717 of file lazy_layered_config.cpp.

◆ tile_sharing_packing_raw()

ChainableResult< ConfigValue< TileSharingPacking > > porytiles::LazyLayeredConfig::tile_sharing_packing_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::DomainConfig.

Definition at line 391 of file lazy_layered_config.cpp.

◆ tiles_edit_mode_provenance_chain()

std::vector< ProvenanceChainLink< ArtifactEditMode > > porytiles::LazyLayeredConfig::tiles_edit_mode_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for tiles_edit_mode.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 675 of file lazy_layered_config.cpp.

◆ tiles_edit_mode_raw()

ChainableResult< ConfigValue< ArtifactEditMode > > porytiles::LazyLayeredConfig::tiles_edit_mode_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::DomainConfig.

Definition at line 331 of file lazy_layered_config.cpp.

◆ tiles_pal_mode_provenance_chain()

std::vector< ProvenanceChainLink< TilesPalMode > > porytiles::LazyLayeredConfig::tiles_pal_mode_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for tiles_pal_mode.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 731 of file lazy_layered_config.cpp.

◆ tiles_pal_mode_raw()

ChainableResult< ConfigValue< TilesPalMode > > porytiles::LazyLayeredConfig::tiles_pal_mode_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::DomainConfig.

Definition at line 411 of file lazy_layered_config.cpp.

◆ tileset_animations_wire_anim_code_provenance_chain()

std::vector< ProvenanceChainLink< bool > > porytiles::LazyLayeredConfig::tileset_animations_wire_anim_code_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for tileset_animations_wire_anim_code.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 864 of file lazy_layered_config.cpp.

◆ tileset_animations_wire_anim_code_raw()

ChainableResult< ConfigValue< bool > > porytiles::LazyLayeredConfig::tileset_animations_wire_anim_code_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::InfraConfig.

Definition at line 601 of file lazy_layered_config.cpp.

◆ tileset_paths_primary_bin_provenance_chain()

std::vector< ProvenanceChainLink< std::string > > porytiles::LazyLayeredConfig::tileset_paths_primary_bin_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for tileset_paths_primary_bin.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 836 of file lazy_layered_config.cpp.

◆ tileset_paths_primary_bin_raw()

ChainableResult< ConfigValue< std::string > > porytiles::LazyLayeredConfig::tileset_paths_primary_bin_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::InfraConfig.

Definition at line 561 of file lazy_layered_config.cpp.

◆ tileset_paths_primary_src_provenance_chain()

std::vector< ProvenanceChainLink< std::string > > porytiles::LazyLayeredConfig::tileset_paths_primary_src_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for tileset_paths_primary_src.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 829 of file lazy_layered_config.cpp.

◆ tileset_paths_primary_src_raw()

ChainableResult< ConfigValue< std::string > > porytiles::LazyLayeredConfig::tileset_paths_primary_src_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::InfraConfig.

Definition at line 551 of file lazy_layered_config.cpp.

◆ tileset_paths_secondary_bin_provenance_chain()

std::vector< ProvenanceChainLink< std::string > > porytiles::LazyLayeredConfig::tileset_paths_secondary_bin_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for tileset_paths_secondary_bin.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 850 of file lazy_layered_config.cpp.

◆ tileset_paths_secondary_bin_raw()

ChainableResult< ConfigValue< std::string > > porytiles::LazyLayeredConfig::tileset_paths_secondary_bin_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::InfraConfig.

Definition at line 581 of file lazy_layered_config.cpp.

◆ tileset_paths_secondary_src_provenance_chain()

std::vector< ProvenanceChainLink< std::string > > porytiles::LazyLayeredConfig::tileset_paths_secondary_src_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for tileset_paths_secondary_src.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 843 of file lazy_layered_config.cpp.

◆ tileset_paths_secondary_src_raw()

ChainableResult< ConfigValue< std::string > > porytiles::LazyLayeredConfig::tileset_paths_secondary_src_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::InfraConfig.

Definition at line 571 of file lazy_layered_config.cpp.

◆ verify_checksums_provenance_chain()

std::vector< ProvenanceChainLink< bool > > porytiles::LazyLayeredConfig::verify_checksums_provenance_chain ( ConfigScopeType  type,
const std::string &  scope 
) const

Gets the full provenance chain for verify_checksums.

Returns what each provider in the chain would return for this config value, from highest priority to lowest. Unlike the normal resolution which stops at the first valid/invalid result, this queries ALL providers to give a complete diagnostic picture. Does not use caching - always queries providers fresh.

Parameters
typeThe config scope type
scopeThe scope identifier
Returns
Vector of ProvenanceChainLink entries, one per provider

Definition at line 780 of file lazy_layered_config.cpp.

◆ verify_checksums_raw()

ChainableResult< ConfigValue< bool > > porytiles::LazyLayeredConfig::verify_checksums_raw ( ConfigScopeType  type,
const std::string &  scope 
) const
overrideprotectedvirtual

Implements porytiles::AppConfig.

Definition at line 481 of file lazy_layered_config.cpp.


The documentation for this class was generated from the following files: