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