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