7 #ifndef GDCORE_OBJECTGROUPSCONTAINER_H
8 #define GDCORE_OBJECTGROUPSCONTAINER_H
13 #include "GDCore/Project/MemoryTrackedRegistry.h"
14 #include "GDCore/Project/ObjectGroup.h"
15 #include "GDCore/String.h"
17 class SerializerElement;
74 std::size_t position = -1);
79 std::size_t
Count()
const {
return objectGroups.size(); };
84 bool IsEmpty()
const {
return objectGroups.empty(); };
89 std::size_t GetPosition(
const gd::String& name)
const;
114 void Move(std::size_t oldIndex, std::size_t newIndex);
119 inline void Clear() { objectGroups.clear(); }
124 void ForEachNameMatchingSearch(
const gd::String& search, std::function<
void(
const gd::String& name)> fn)
const;
151 size_t size()
const {
return Count(); }
157 bool empty()
const {
return IsEmpty(); }
191 std::vector<std::unique_ptr<gd::ObjectGroup>> objectGroups;
A non-copyable, non-movable member object that registers/unregisters its owner with MemoryTrackedRegi...
Definition: MemoryTrackedRegistry.h:238
Represents an object group.
Definition: ObjectGroup.h:28
A container for objects groups.
Definition: ObjectGroupsContainer.h:30
bool empty() const
Alias for IsEmpty()
Definition: ObjectGroupsContainer.h:157
const ObjectGroup & operator[](size_t index) const
Alias for Get()
Definition: ObjectGroupsContainer.h:169
void Clear()
Clear all groups of the container.
Definition: ObjectGroupsContainer.h:119
ObjectGroup & at(size_t index)
Alias for Get()
Definition: ObjectGroupsContainer.h:175
std::size_t Count() const
Return the number of groups.
Definition: ObjectGroupsContainer.h:79
ObjectGroup & operator[](size_t index)
Alias for Get()
Definition: ObjectGroupsContainer.h:163
const ObjectGroup & at(size_t index) const
Alias for Get()
Definition: ObjectGroupsContainer.h:181
bool IsEmpty() const
Return true if the container is empty.
Definition: ObjectGroupsContainer.h:84
size_t size() const
Alias for Count()
Definition: ObjectGroupsContainer.h:151
A generic container that can represent a value ( containing a string, double, bool or int),...
Definition: SerializerElement.h:37
String represents an UTF8 encoded string.
Definition: String.h:33
Definition: CommonTools.h:24