diff options
| author | ilotterytea <iltsu@alright.party> | 2025-02-02 15:08:42 +0500 |
|---|---|---|
| committer | ilotterytea <iltsu@alright.party> | 2025-02-02 15:08:57 +0500 |
| commit | bc9d1725c5cca89f43c8e314e6bb8088f75acf27 (patch) | |
| tree | 26acb17b7232bd2fb7d065299b2c2e0927247eeb /src/sets/entryset.hpp | |
| parent | 34f081520c754cc20c2ec929be7798fe3f3806e1 (diff) | |
feat: a base class for sets
Diffstat (limited to 'src/sets/entryset.hpp')
| -rw-r--r-- | src/sets/entryset.hpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/sets/entryset.hpp b/src/sets/entryset.hpp new file mode 100644 index 0000000..aa24b74 --- /dev/null +++ b/src/sets/entryset.hpp @@ -0,0 +1,24 @@ +#pragma once + +#include <memory> +#include <string> +#include <vector> + +namespace silly::editor { + template <typename EntryType, typename Type> + class EntrySet { + public: + EntrySet() = default; + ~EntrySet() = default; + + virtual void add_entry(const std::string &path, Type type) = 0; + virtual void remove_entry(const EntryType &entry) = 0; + + const std::vector<std::shared_ptr<EntryType>> &get_entries() const { + return this->entries; + } + + protected: + std::vector<std::shared_ptr<EntryType>> entries; + }; +}
\ No newline at end of file |
