#pragma once #include #include #include namespace NReWrapper { class TCompileException : public yexception { }; enum EFlags { FLAGS_CASELESS = 1, }; class IRe { public: virtual ~IRe() = default; virtual bool Matches(const TStringBuf& text) const = 0; virtual TString Serialize() const = 0; }; using IRePtr = std::unique_ptr; namespace NDispatcher { bool Has(ui32 id); IRePtr Compile(const TStringBuf& regex, unsigned int flags, ui32 id); IRePtr Deserialize(const TStringBuf& serializedRegex); } }