#pragma once #include "libToken_global.h" #include "libtoken.h" #include #include #include namespace example_novel { class LIBTOKEN_EXPORT LeftBracket : public lib_token::TokenDefine, public std::enable_shared_from_this { // TokenDefine interface public: virtual QString name() const override; virtual QString regex() const override; virtual std::tuple, std::shared_ptr> analysis(std::shared_ptr content) const override; }; class LIBTOKEN_EXPORT RightBracket : public LeftBracket { public: virtual QString name() const override; virtual QString regex() const override; }; class LIBTOKEN_EXPORT ReferMark : public LeftBracket { public: virtual QString name() const override; virtual QString regex() const override; }; class LIBTOKEN_EXPORT NewLine : public LeftBracket { public: virtual QString name() const override; virtual QString regex() const override; }; class LIBTOKEN_EXPORT Split : public LeftBracket { public: virtual QString name() const override; virtual QString regex() const override; }; class LIBTOKEN_EXPORT Keywords : public lib_token::TokenDefine, public std::enable_shared_from_this { private: QString value_store, name_store; public: Keywords(const QString& val, const QString& nm); // TokenDefine interface public: virtual QString name() const override; virtual QString regex() const override; virtual std::tuple, std::shared_ptr> analysis(std::shared_ptr content) const override; }; class LIBTOKEN_EXPORT Numbers : public lib_token::TokenDefine, public std::enable_shared_from_this { // TokenDefine interface public: virtual QString name() const override; virtual QString regex() const override; virtual std::tuple, std::shared_ptr> analysis(std::shared_ptr content) const override; }; class LIBTOKEN_EXPORT NameSection : public lib_token::TokenDefine, public std::enable_shared_from_this { // TokenDefine interface public: virtual QString name() const override; virtual QString regex() const override; virtual std::tuple, std::shared_ptr> analysis(std::shared_ptr content) const override; }; class LIBTOKEN_EXPORT VTextSection : public lib_token::TokenDefine, public std::enable_shared_from_this { // TokenDefine interface public: virtual QString name() const override; virtual QString regex() const override; virtual std::tuple, std::shared_ptr> analysis(std::shared_ptr content) const override; }; } // namespace example_novel