#pragma once #include "extract_basic.h" #include "convert_basic.h" /// /// ·­Òë³ÌÐòºËÐÄ /// class TranslateBasic { private: QHash> _extractor_types; std::shared_ptr _default_translate_rule = nullptr; QHash> _size_provider_types; std::shared_ptr _default_size_provider = nullptr; public: TranslateBasic(); std::shared_ptr defaultRule() const; std::shared_ptr defaultSizeProvider() const; QHash> extactors() const; QHash> sizeProviders() const; }; class ConstNumberProvider : public SizeProvider { private: QString _number_value; public: QString name() const override; int32_t value(const QString& expr) const override; void setExpression(const QString& expr) override; QString expression() const override; };