#include "SimpleMatcherFactory.h" #include "SimpleMatcherAnyCharacterBesides.h" #include "SimpleMatcherCharacter.h" #include "SimpleMatcherKeyword.h" #include "SimpleMatcherValueType.h" SimpleMatcherFactory::SimpleMatcherFactory(const IMatcherForLabelSupplier* labelSupplier) : AbstractMatcherFactory(labelSupplier) { } MatcherFactoryWrapper SimpleMatcherFactory::Type(SimpleParserValueType type) const { return MatcherFactoryWrapper(std::make_unique(type)); } MatcherFactoryWrapper SimpleMatcherFactory::Keyword(std::string value) const { return MatcherFactoryWrapper(std::make_unique(std::move(value))); } MatcherFactoryWrapper SimpleMatcherFactory::Identifier() const { return MatcherFactoryWrapper(std::make_unique(SimpleParserValueType::IDENTIFIER)); } MatcherFactoryWrapper SimpleMatcherFactory::Integer() const { return MatcherFactoryWrapper(std::make_unique(SimpleParserValueType::INTEGER)); } MatcherFactoryWrapper SimpleMatcherFactory::FloatingPoint() const { return MatcherFactoryWrapper(std::make_unique(SimpleParserValueType::FLOATING_POINT)); } MatcherFactoryWrapper SimpleMatcherFactory::Char(char c) const { return MatcherFactoryWrapper(std::make_unique(c)); } MatcherFactoryWrapper SimpleMatcherFactory::AnyCharBesides(std::vector chars) const { return MatcherFactoryWrapper(std::make_unique(std::move(chars))); }