StormByte C++ Library: Config module 0.0.9999
StormByte-Config is a StormByte library module for parsing configuration files
|
Represents a group in a configuration file that can hold other items, subgroups, and sublists recursively. More...
#include <group.hxx>
Public Member Functions | |
Group ()=default | |
Constructs an empty Group. | |
Group (const std::string &name) | |
Constructs a Group with the given name. | |
Group (std::string &&name) | |
Constructs a Group with the given name. | |
Group (const Group &group)=default | |
Group (Group &&group) noexcept=default | |
Group & | operator= (const Group &group)=default |
Group & | operator= (Group &&group) noexcept=default |
~Group () noexcept override=default | |
PointerType | Clone () const override |
PointerType | Move () override |
constexpr Item::ContainerType | ContainerType () const noexcept override |
![]() | |
Container ()=default | |
Constructs an empty Container. | |
Container (const std::string &name) | |
Container (std::string &&name) | |
Container (const Container &base)=default | |
Container (Container &&base) noexcept=default | |
Container & | operator= (const Container &base)=default |
Container & | operator= (Container &&base) noexcept=default |
virtual | ~Container () noexcept override=default |
Base & | operator[] (const size_t &index) |
const Base & | operator[] (const size_t &index) const |
Base & | operator[] (const std::string &path) |
const Base & | operator[] (const std::string &path) const |
bool | operator== (const Container &container) const noexcept |
bool | operator!= (const Container &container) const noexcept |
Base & | Add (const Base &item, const OnExistingAction &on_existing=OnExistingAction::ThrowException) |
Base & | Add (Base &&item, const OnExistingAction &on_existing=OnExistingAction::ThrowException) |
Base & | Add (Base::PointerType item, const OnExistingAction &on_existing) |
Adds an item to the container. | |
void | Clear () noexcept |
bool | Exists (const std::string &path) const |
void | Remove (const size_t &index) |
void | Remove (const std::string &path) |
std::string | Serialize (const int &indent_level) const noexcept override |
constexpr std::span< Base::PointerType > | Items () noexcept |
constexpr std::span< const Base::PointerType > | Items () const noexcept |
constexpr std::string | ContainerTypeToString () const noexcept |
constexpr Item::Type | Type () const noexcept override |
constexpr size_t | Size () const noexcept |
size_t | Count () const noexcept |
![]() | |
Base ()=default | |
Constructs a Base item with an optional name. | |
Base (const std::string &name) | |
Constructs a Base item with an optional name. | |
Base (const Base &base)=default | |
Base (Base &&base) noexcept=default | |
Base & | operator= (const Base &base)=default |
Base & | operator= (Base &&base) noexcept=default |
virtual | ~Base () noexcept=default |
bool | operator== (const Base &base) const noexcept |
bool | operator!= (const Base &base) const noexcept |
constexpr const std::optional< std::string > & | Name () const noexcept |
Gets the name of the item. | |
constexpr void | Name (const std::string &name) noexcept |
bool | IsNameValid () const noexcept |
constexpr std::string | TypeToString () const noexcept |
operator std::string () const | |
template<typename T > | |
const T & | Value () const |
template<typename T > | |
T & | Value () |
Additional Inherited Members | |
![]() | |
static constexpr std::pair< const char, const char > | EnclosureCharacters (const ContainerType &type) noexcept |
static constexpr const char | EndCharacter (const ContainerType &type) noexcept |
![]() | |
std::vector< Base::PointerType > | m_items |
Items in container. | |
![]() | |
std::optional< std::string > | m_name |
Item name. | |
Represents a group in a configuration file that can hold other items, subgroups, and sublists recursively.
StormByte::Config::Item::Group::Group | ( | const std::string & | name | ) |
Constructs a Group with the given name.
name | The name of the group. |
StormByte::Config::Item::Group::Group | ( | std::string && | name | ) |
Constructs a Group with the given name.
name | The name of the group. |
|
default |
Copy constructor
group | group to copy |
|
defaultnoexcept |
Move constructor
group | group to move |
|
overridedefaultnoexcept |
Destructor
|
inlineoverride |
Clones the container
|
inlineconstexproverridevirtualnoexcept |
|
inlineoverride |
Moves the container
Assignment operator
group | group to copy |
Move assignment operator
group | group to move |