37 lines
1.9 KiB
MQL5
37 lines
1.9 KiB
MQL5
//+------------------------------------------------------------------+
|
|
//| ISet.mqh |
|
|
//| Copyright 2000-2025, MetaQuotes Ltd. |
|
|
//| https://www.mql5.com |
|
|
//+------------------------------------------------------------------+
|
|
#include "ICollection.mqh"
|
|
//+------------------------------------------------------------------+
|
|
//| Interface ISet<T>. |
|
|
//| Usage: Provides the base interface for the abstraction of sets. |
|
|
//+------------------------------------------------------------------+
|
|
template<typename T>
|
|
interface ISet: public ICollection<T>
|
|
{
|
|
//--- methods of changing sets
|
|
void ExceptWith(ICollection<T>*collection);
|
|
void ExceptWith(T &array[]);
|
|
void IntersectWith(ICollection<T>*collection);
|
|
void IntersectWith(T &array[]);
|
|
void SymmetricExceptWith(ICollection<T>*collection);
|
|
void SymmetricExceptWith(T &array[]);
|
|
void UnionWith(ICollection<T>*collection);
|
|
void UnionWith(T &array[]);
|
|
//--- methods for determining the relationship between sets
|
|
bool IsProperSubsetOf(ICollection<T>*collection);
|
|
bool IsProperSubsetOf(T &array[]);
|
|
bool IsProperSupersetOf(ICollection<T>*collection);
|
|
bool IsProperSupersetOf(T &array[]);
|
|
bool IsSubsetOf(ICollection<T>*collection);
|
|
bool IsSubsetOf(T &array[]);
|
|
bool IsSupersetOf(ICollection<T>*collection);
|
|
bool IsSupersetOf(T &array[]);
|
|
bool Overlaps(ICollection<T>*collection);
|
|
bool Overlaps(T &array[]);
|
|
bool SetEquals(ICollection<T>*collection);
|
|
bool SetEquals(T &array[]);
|
|
};
|
|
//+------------------------------------------------------------------+
|