//+------------------------------------------------------------------+ //| Nor.mqh | //| Copyright 2026, Niquel Mendoza. | //| https://www.mql5.com/ | //+------------------------------------------------------------------+ #property copyright "Copyright 2026, Niquel Mendoza." #property link "https://www.mql5.com/" #property strict #ifndef FASTCOLLECTIONSBYLEO_COLHASH_HASHMAP_NOR_MQH #define FASTCOLLECTIONSBYLEO_COLHASH_HASHMAP_NOR_MQH //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ #include "Main.mqh" //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ #define CHashMapFast(k, v) TSN::CHashMapFastNor //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ namespace TSN { //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ template class CHashMapFastNor : public CHashMapFastBase { public: CHashMapFastNor(int initial_size = 128) : CHashMapFastBase(initial_size) {} ~CHashMapFastNor(void) {} //--- using CFastHashTableBase, TKey, TBase>::Add; //--- __forceinline bool Add(const TKey& key, TValue v); bool TrySet(const TKey& key, TValue value); }; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ template bool CHashMapFastNor::TrySet(const TKey& key, TValue value) { //--- const int slot = Find(key); if(slot == -1) return false; m_table[slot].value = value; return true; } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ template __forceinline bool CHashMapFastNor::Add(const TKey& key, TValue v) { if(Add(key)) { m_table[m_last_created_pos].value = v; return true; } return false; } } #endif //FASTCOLLECTIONSBYLEO_COLHASH_HASHMAP_NOR_MQH