//+------------------------------------------------------------------+ //| Simple.mqh | //| Copyright 2026, Niquel Mendoza. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2026, Niquel Mendoza." #property link "https://www.mql5.com" #property strict #ifndef MQLARTICLES_UTILS_SORT_GENERIC_SIMPLE_MQH #define MQLARTICLES_UTILS_SORT_GENERIC_SIMPLE_MQH //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ #include "..\\Base\\Sort.mqh" //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ // Por defecto simple.. #define TsnSort(arr, lo, hi, type) CTsnSort::Sort(arr, (lo), (hi)) // Version custom espeicia el "TBase" #define TsnSortP(arr, lo, hi, type, BASE) CTsnSort::Sort(arr, (lo), (hi)) //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ class CGenericUtilsSort_Simple { public: CGenericUtilsSort_Simple(void) {} ~CGenericUtilsSort_Simple(void) {} //--- template static __forceinline bool Less(const TValue a, const TValue b) { return a < b; } template static void Swap(TValue& a, TValue& b) { const TValue temp = a; a = b; b = temp; } }; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ #define TSNSORT_MAKE_CLASS_SIMPLE(TYPE) \ class CGenericUtilsSort_##TYPE : public CGenericUtilsSort_Simple \ { \ public: \ CGenericUtilsSort_##TYPE(void) {} \ ~CGenericUtilsSort_##TYPE(void) {} \ }; //--- TSNSORT_MAKE_CLASS_SIMPLE(int) TSNSORT_MAKE_CLASS_SIMPLE(long) TSNSORT_MAKE_CLASS_SIMPLE(char) TSNSORT_MAKE_CLASS_SIMPLE(short) TSNSORT_MAKE_CLASS_SIMPLE(uint) TSNSORT_MAKE_CLASS_SIMPLE(ulong) TSNSORT_MAKE_CLASS_SIMPLE(uchar) TSNSORT_MAKE_CLASS_SIMPLE(ushort) TSNSORT_MAKE_CLASS_SIMPLE(float) TSNSORT_MAKE_CLASS_SIMPLE(double) TSNSORT_MAKE_CLASS_SIMPLE(datetime) TSNSORT_MAKE_CLASS_SIMPLE(color) //+------------------------------------------------------------------+ #endif // MQLARTICLES_UTILS_SORT_GENERIC_SIMPLE_MQH