The UniqueCollection type provides the shared functionality of the OrderedSet and Set collections for which the elements are unique. The common supertype of UniqueCollection is Collection.
conformsTo 
				
					Collection(T)
				
			
Operations
				
-(s : UniqueCollection(OclAny)) : UniqueCollection(T)
				precedence: 
				ADDITIVE
			
The elements of 
				self, which are not in s.
			
				
intersection(c : Collection(T)) : Set(T)
			
The intersection of 
				self and c (i.e., the set of all elements that are in both 
				self and c).
			
				
symmetricDifference(s : UniqueCollection(OclAny)) : Set(T)
			
The set containing all the elements that are in 
				self or s, but not in both.
			
				
union(s : UniqueCollection(T)) : Set(T)
			
The set consisting of all elements in 
				self and all elements in s.
			
Iterations
				
sortedBy(i : T[?] | lambda : Lambda T() : OclAny[?]) : OrderedSet(T)
			
Results in the ordered set containing all elements of the source collection. The element for which body has the lowest value comes first, and so on. The type of the body expression must have the < operation defined. The < operation must return a Boolean value and must be transitive (i.e., if a < b and b < c, then a < c).