27 lines
1.1 KiB
MQL5
27 lines
1.1 KiB
MQL5
|
//+------------------------------------------------------------------+
|
||
|
//| EqualFunction.mqh |
|
||
|
//| Copyright 2000-2025, MetaQuotes Ltd. |
|
||
|
//| https://www.mql5.com |
|
||
|
//+------------------------------------------------------------------+
|
||
|
#include <Generic\Interfaces\IEqualityComparable.mqh>
|
||
|
//+------------------------------------------------------------------+
|
||
|
//| Indicates whether x object is equal y object of the same type. |
|
||
|
//+------------------------------------------------------------------+
|
||
|
template<typename T>
|
||
|
bool Equals(T x,T y)
|
||
|
{
|
||
|
//--- try to convert to equality comparable object
|
||
|
IEqualityComparable<T>*equtable=dynamic_cast<IEqualityComparable<T>*>(x);
|
||
|
if(equtable)
|
||
|
{
|
||
|
//--- use specied equality compare method
|
||
|
return equtable.Equals(y);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
//--- use default equality comparer operator
|
||
|
return(x==y);
|
||
|
}
|
||
|
}
|
||
|
//+------------------------------------------------------------------+
|