Class ProjectSettings

Inheritance Relationships

Base Type

  • public ArchiveObject

Class Documentation

class ProjectSettings : public ArchiveObject

A settings singleton class. To call, the static method init needs to be called once, from then, call the static get to retrive an instance

Public Functions

~ProjectSettings() override
ProjectSettings(const ProjectSettings&) = delete
ProjectSettings &operator=(const ProjectSettings&) = delete
ProjectSettings(ProjectSettings &&other) noexcept
ProjectSettings &operator=(ProjectSettings &&other) noexcept
void load()
void dump() const
template<typename T>
inline T get_setting(const PropertyName &name, const T &default_value)
template<typename T>
inline std::optional<T> get_setting(const PropertyName &name) const
template<typename T>
inline void set_setting(const PropertyName &name, const T &value)
void debug_print() const

Public Static Functions

static ProjectSettings create_settings(SettingsArchiveType type, const std::filesystem::path &working_directory, const std::filesystem::path &settings_file_name)

Protected Functions

reflection::Property &get_property_from_map(PropertyName name) override
reflection::Property &add_property_to_map(PropertyName name, reflection::Property &&property) override