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[]);
| |||
};
| |||
//+------------------------------------------------------------------+
|