Move item parsing sequences for different scopes into the same class

This commit is contained in:
Jan
2021-11-06 11:03:15 +01:00
parent 321794a209
commit b15efd4a4c
45 changed files with 449 additions and 441 deletions

View File

@ -0,0 +1,29 @@
#pragma once
#include <memory>
#include <vector>
#include "Parsing/Menu/MenuFileParser.h"
namespace menu
{
class AbstractScopeSequenceHolder
{
std::vector<std::unique_ptr<MenuFileParser::sequence_t>>& m_all_sequences;
std::vector<MenuFileParser::sequence_t*>& m_scope_sequences;
protected:
AbstractScopeSequenceHolder(std::vector<std::unique_ptr<MenuFileParser::sequence_t>>& allSequences, std::vector<MenuFileParser::sequence_t*>& scopeSequences);
void AddSequence(std::unique_ptr<MenuFileParser::sequence_t> 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 = default;
virtual void AddSequences(FeatureLevel featureLevel) = 0;
};
}