StormByte C++ Library: Config module 0.0.9999
StormByte-Config is a StormByte library module for parsing configuration files
Loading...
Searching...
No Matches
group.hxx
1#pragma once
2
3#include <StormByte/config/item/container.hxx>
4
9namespace StormByte::Config::Item {
20 class STORMBYTE_CONFIG_PUBLIC Group: public Container {
21 public:
25 Group() = default;
26
31 Group(const std::string& name);
32
37 Group(std::string&& name);
38
43 Group(const Group& group) = default;
44
49 Group(Group&& group) noexcept = default;
50
55 Group& operator=(const Group& group) = default;
56
61 Group& operator=(Group&& group) noexcept = default;
62
66 ~Group() noexcept override = default;
67
72 inline PointerType Clone() const override {
73 return MakePointer<Group>(*this);
74 }
75
80 inline PointerType Move() override {
81 return MakePointer<Group>(std::move(*this));
82 }
83
88 constexpr Item::ContainerType ContainerType() const noexcept override {
89 return ContainerType::Group;
90 }
91
92 private:
99 Base::PointerType BeforeAdditionActions(Base::PointerType item, const OnExistingAction onexisting) override;
100 };
101}
Represents a container that can hold multiple configuration items.
Definition container.hxx:21
Represents a group in a configuration file that can hold other items, subgroups, and sublists recursi...
Definition group.hxx:20
PointerType Move() override
Definition group.hxx:80
Group(std::string &&name)
Constructs a Group with the given name.
Group()=default
Constructs an empty Group.
Group(const Group &group)=default
Group(const std::string &name)
Constructs a Group with the given name.
Group & operator=(const Group &group)=default
Group & operator=(Group &&group) noexcept=default
Group(Group &&group) noexcept=default
~Group() noexcept override=default
constexpr Item::ContainerType ContainerType() const noexcept override
Definition group.hxx:88