Class Format¶
Defined in File Format.h
Inheritance Relationships¶
Derived Types¶
public uconfig::EnvFormat(Class EnvFormat)public uconfig::RapidjsonFormat< AllocatorT >(Template Class RapidjsonFormat)
Class Documentation¶
-
class
uconfig::Format¶ Abstract format interface.
Subclassed by uconfig::EnvFormat, uconfig::RapidjsonFormat< AllocatorT >
Public Types
-
using
source_type= void¶ Source of the format to parse from.
-
using
dest_type= void¶ Destination of the format to emit to.
Public Functions
-
virtual
~Format() = default¶ Destructor.
-
template<typename
T>
std::optional<T>Parse(const source_type *source, const std::string &path) const¶ Parse the value at
pathfromsource.- Template Parameters
T – Type to parse.
- Parameters
[in] source – Source to parse value from.
[in] path – Path where the value resides in
source.
- Returns
Value wrapped in std::optional or std::nullopt.
-
template<typename
T>
voidEmit(dest_type *dest, const std::string &path, const T &value) const¶ Emit the value at
pathtodest.- Template Parameters
T – Type to emit.
- Parameters
[in] dest – Destination to emit to.
[in] path – Path where to emit.
[in] value – Value to emit.
-
virtual std::string
VectorElementPath(const std::string &vector_path, std::size_t index) const noexcept = 0¶ Construct path to a vector element at
indexaccroding to the format.- Parameters
[in] vector_path – Path to the vector itself.
[in] index – Position in the vector to make path to.
- Returns
Path to the vector element at
index.
Public Static Attributes
-
static const std::string
name= "[NO FORMAT]"¶ Name of the format. Used to form nice error-strings.
-
using