#pragma once #include #include #include "Parsing/Menu/MenuFileParser.h" namespace menu { class AbstractScopeSequenceHolder { std::vector>& m_all_sequences; std::vector& m_scope_sequences; protected: AbstractScopeSequenceHolder(std::vector>& allSequences, std::vector& scopeSequences); void AddSequence(std::unique_ptr test) const; public: virtual ~AbstractScopeSequenceHolder() = default; AbstractScopeSequenceHolder(const AbstractScopeSequenceHolder& other) = delete; AbstractScopeSequenceHolder(AbstractScopeSequenceHolder&& other) noexcept = default; AbstractScopeSequenceHolder& operator=(const AbstractScopeSequenceHolder& other) = delete; AbstractScopeSequenceHolder& operator=(AbstractScopeSequenceHolder&& other) noexcept = delete; virtual void AddSequences(FeatureLevel featureLevel, bool permissive) = 0; }; }