|
cppfig 0.1.0
Modern C++20 compile-time type-safe configuration library
|
Adapts a configuration provider to the type-erased interface. More...
#include <interface.h>
Public Member Functions | |
| VirtualConfigAdapter (ConfigT &config) | |
| auto | Load () -> Status override |
| Loads configuration from the file. | |
| auto | Save () const -> Status override |
| Saves the current configuration to the file. | |
| auto | GetFilePath () const -> std::string_view override |
| Returns the file path. | |
| auto | ValidateAll () const -> Status override |
| Validates all current values. | |
| auto | GetDiffString () const -> std::string override |
| Gets a string representation of the diff. | |
Public Member Functions inherited from cppfig::IConfigurationProviderVirtual | |
| virtual | ~IConfigurationProviderVirtual ()=default |
Additional Inherited Members | |
Protected Member Functions inherited from cppfig::IConfigurationProviderVirtual | |
| IConfigurationProviderVirtual ()=default | |
| IConfigurationProviderVirtual (const IConfigurationProviderVirtual &)=default | |
| IConfigurationProviderVirtual (IConfigurationProviderVirtual &&)=default | |
| auto | operator= (const IConfigurationProviderVirtual &) -> IConfigurationProviderVirtual &=default |
| auto | operator= (IConfigurationProviderVirtual &&) -> IConfigurationProviderVirtual &=default |
Adapts a configuration provider to the type-erased interface.
Deriving Configuration from IConfigurationProviderVirtual directly gave every instance a vptr whether or not it was ever used polymorphically, and duplicated four names that the CRTP base already declared. Wrapping instead keeps that cost with the callers who ask for type erasure.
The adapter refers to the configuration; the configuration must outlive it.
Usage:
|
inlineexplicit |
|
inlineoverridevirtual |
Gets a string representation of the diff.
Implements cppfig::IConfigurationProviderVirtual.
|
inlineoverridevirtual |
Returns the file path.
Implements cppfig::IConfigurationProviderVirtual.
|
inlineoverridevirtual |
Loads configuration from the file.
Implements cppfig::IConfigurationProviderVirtual.
|
inlineoverridevirtual |
Saves the current configuration to the file.
Implements cppfig::IConfigurationProviderVirtual.
|
inlineoverridevirtual |
Validates all current values.
Implements cppfig::IConfigurationProviderVirtual.