//+------------------------------------------------------------------+ //| Def.mqh | //| Copyright 2026, Niquel Mendoza. | //| https://www.mql5.com/ | //+------------------------------------------------------------------+ #property copyright "Copyright 2026, Niquel Mendoza." #property link "https://www.mql5.com/" #property strict #ifndef SIMPHASH_SRC_HASH_DEF_MQH #define SIMPHASH_SRC_HASH_DEF_MQH //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ #include "..\\Def.mqh" //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ enum ENUM_HASH_UL1_TYPE { HASH_UL1_MUR_MUR, HASH_UL1_SPLITMIX, }; enum ENUM_TSN_PHASH_TYPE { TSN_PHASH_TYPE_FNV1A_64, TSN_PHASH_TYPE_XXHASH_64 }; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ namespace TSN { //+------------------------------------------------------------------+ //| Hash 0 | //+------------------------------------------------------------------+ class CHashGeneratorBasis : public CPerfectHashHasher { public: ~CHashGeneratorBasis() {} CHashGeneratorBasis() {} ulong Hash(const ulong v) override final { return v; // Tal cual } }; //+------------------------------------------------------------------+ //| Hash 1 | //+------------------------------------------------------------------+ interface IHashGeneratorWSeed : public CPerfectHashHasherWSeed { // Sin parametros.. void BuildString(string& data, const string& table_seeds_name); void AddIncludes(string& data); }; //+------------------------------------------------------------------+ //| Hash para string | //+------------------------------------------------------------------+ class IHashGenerator : public CLoggerBase { public: IHashGenerator() {} ~IHashGenerator() {} //--- virtual ulong Hash(const string& key) = 0; virtual bool Init(CYmlNode& node) = 0; virtual void BuildString(string& data) = 0; virtual void AddIncludes(string& data) = 0; }; } //+------------------------------------------------------------------+ #endif // SIMPHASH_SRC_HASH_DEF_MQH