#ifndef ATOOLS_Org_SettingsKeys_H #define ATOOLS_Org_SettingsKeys_H #include #include #include namespace ATOOLS { class Setting_Key { public: Setting_Key(size_t _index) : name{ "" }, index{ _index } {}; Setting_Key(const char* _name) : Setting_Key{ std::string{_name} } {} Setting_Key(const std::string& _name) : name{ _name }, index{ std::numeric_limits::max() } {}; bool IsIndex() const; std::string GetName() const; size_t GetIndex() const; private: const std::string name; const size_t index; }; class Settings_Keys : public std::vector { public: Settings_Keys() {} using std::vector::vector; Settings_Keys(const std::vector&); std::string Name() const; std::vector IndizesRemoved() const; bool ContainsNoIndizes() const; }; } #endif