Space Engineers
Public Member Functions | List of all members
VRage.Library.Utils.MyIterableComplementSet< T > Class Template Reference
Inheritance diagram for VRage.Library.Utils.MyIterableComplementSet< T >:

Public Member Functions

void Add (T item)
 
void AddToComplement (T item)
 
void Remove (T item)
 
void MoveToComplement (T item)
 
bool Contains (T item)
 
bool IsInComplement (T item)
 
void MoveToSet (T item)
 
void ClearSet ()
 
void ClearComplement ()
 
void AllToComplement ()
 
void AllToSet ()
 
IEnumerable< T > Set ()
 
IEnumerable< T > Complement ()
 
IEnumerator< T > GetEnumerator ()
 
void Clear ()
 

Detailed Description

Over a given set of elements W this class maintains two subsets A and B such that A ⋂ B = ∅, A ⋃ B = W, with constant time operations for moving elements from one set to the other.

Both subsets are individually iterable, as well as the whole W.

The order of elements in either set is never preserved.

When using this class with value types beware that they will be duplicated internally. Prefer to use class types or some form of lightweight reference with this.

Definition at line 20 of file MyIterableComplementSet.cs.

Member Function Documentation

void VRage.Library.Utils.MyIterableComplementSet< T >.Add ( item)
inline

Definition at line 29 of file MyIterableComplementSet.cs.

void VRage.Library.Utils.MyIterableComplementSet< T >.AddToComplement ( item)
inline

Definition at line 37 of file MyIterableComplementSet.cs.

void VRage.Library.Utils.MyIterableComplementSet< T >.AllToComplement ( )
inline

Definition at line 150 of file MyIterableComplementSet.cs.

void VRage.Library.Utils.MyIterableComplementSet< T >.AllToSet ( )
inline

Definition at line 156 of file MyIterableComplementSet.cs.

void VRage.Library.Utils.MyIterableComplementSet< T >.Clear ( )
inline

Definition at line 183 of file MyIterableComplementSet.cs.

void VRage.Library.Utils.MyIterableComplementSet< T >.ClearComplement ( )
inline

Definition at line 139 of file MyIterableComplementSet.cs.

void VRage.Library.Utils.MyIterableComplementSet< T >.ClearSet ( )
inline

Definition at line 126 of file MyIterableComplementSet.cs.

IEnumerable<T> VRage.Library.Utils.MyIterableComplementSet< T >.Complement ( )
inline

Definition at line 168 of file MyIterableComplementSet.cs.

bool VRage.Library.Utils.MyIterableComplementSet< T >.Contains ( item)
inline

Definition at line 95 of file MyIterableComplementSet.cs.

IEnumerator<T> VRage.Library.Utils.MyIterableComplementSet< T >.GetEnumerator ( )
inline

Definition at line 173 of file MyIterableComplementSet.cs.

bool VRage.Library.Utils.MyIterableComplementSet< T >.IsInComplement ( item)
inline

Definition at line 101 of file MyIterableComplementSet.cs.

void VRage.Library.Utils.MyIterableComplementSet< T >.MoveToComplement ( item)
inline

Definition at line 77 of file MyIterableComplementSet.cs.

void VRage.Library.Utils.MyIterableComplementSet< T >.MoveToSet ( item)
inline

Definition at line 108 of file MyIterableComplementSet.cs.

void VRage.Library.Utils.MyIterableComplementSet< T >.Remove ( item)
inline

Definition at line 47 of file MyIterableComplementSet.cs.

IEnumerable<T> VRage.Library.Utils.MyIterableComplementSet< T >.Set ( )
inline

Definition at line 162 of file MyIterableComplementSet.cs.


The documentation for this class was generated from the following file: