IndexSet Class

Spotfire 14.3 API Reference
A bitset-like class that represents a collection of indices, typically a subset of the rows in a IDataColumn or similar.
Inheritance Hierarchy

SystemObject
  Spotfire.Dxp.DataIndexSet

Namespace:  Spotfire.Dxp.Data
Assembly:  Spotfire.Dxp.Data (in Spotfire.Dxp.Data.dll) Version: 65.0.19510.3242 (65.0.19510.3242)
Syntax

C#
[SerializableAttribute]
[PersistenceVersionAttribute(2, 0)]
public sealed class IndexSet : IEnumerable<int>, 
	IEnumerable, ISerializable

The IndexSet type exposes the following members.

Constructors

  NameDescription
Public methodIndexSet
Creates an empty IndexSet.
Public methodIndexSet(IndexSet)
Creates an IndexSet as a copy of another IndexSet.
Public methodIndexSet(Int32, Boolean)
Creates an IndexSet with the specified capacity.
Public methodIndexSet(Int32, IEnumerableInt32)
Creates an IndexSet with specified capacity and initial content.
Top
Properties

  NameDescription
Public propertyCapacity
Controls the total number of indexes that the IndexSet can hold (numbered to
Capacity-1
) Setting capacity will clear the IndexSet.
Public propertyCount
Number of indexes currently in the set.
Public propertyFirst
Gets the first index in the IndexSet.
Public propertyIsEmpty
True if the set has no indexes (Count == 0).
Public propertyIsFull
True if the all indexes are in the set (Count == Capacity).
Public propertyIsReadOnly
Tells if this IndexSet is read-only.
Public propertyItem
Indexer. Returns a bool indicating if the index is a member of the set.
Public propertyLast
Gets the last index in the IndexSet.
Top
Methods

  NameDescription
Public methodAddIndex
Adds the index to the set. If the index is already in the set, nothing is changed.
Public methodAddIndexes(IEnumerableInt32)
Adds the specified indexes to the set.
Public methodAddIndexes(Int32, Int32)
Adds a range of indexes to the set.
Public methodAnd(IndexSet)
Performs a logical AND between this and that IndexSet.

Note: the method changes the internal state of this IndexSet

Public methodStatic memberAnd(IndexSet, IndexSet)
Returns a new IndexSet that is a logical AND between two IndexSet.
Public methodAsReadOnly
Returns this if read-only, otherwise a read-only clone.
Public methodAssign(IndexSet)
Copies the content of the specified IndexSet into this one.
Public methodAssign(Int32, UInt32)
Assigns the indexes from the specified array of indexes encoded as bits. The length of the bits array must be
(capacity + 31)/32
. Bits outside of capacity in the last array element are ignored.
Public methodAssignComplement
Copies the complement of the specified IndexSet into this one. In other words, this IndexSet will contain the indexes NOT in that IndexSet.
Public methodAsWritable
Returns a clone if this is read-only, otherwise this.
Public methodClear
Removes all indexes from the set.
Public methodClone
Creates a writable copy of this IndexSet.
Public methodContains
Determines whether this IndexSet contains all indexes of that IndexSet.
Public methodCopyTo
Copies the indexes in the set to the array starting at the offset.
Public methodDeleteIndexPositions
Deletes a range of index positions. Existing indexes from
startIndex+count
and above are moved down.
Public methodEquals(Object)
Tests that object is an IndexSet and is equal to this one.
(Overrides ObjectEquals(Object).)
Public methodEquals(IndexSet)
Tests if this IndexSet and that IndexSet have the same Capacity and contain exactly the same indexes.
Public methodFill
Adds all indexes (as defined by Capacity) to the set.
Public methodGetBits
Fills the specified array with the indexes encoded as bits. The length of the bits array must be
(Capacity + 31)/32
.
Public methodGetEnumerator
Returns an enumerator for the IndexSet.
Public methodGetHashCode
Returns a hash code for the current state of the IndexSet.
(Overrides ObjectGetHashCode.)
Public methodGetNextIndex
Gets the index after the specified one.
Public methodGetObjectData
Populates a SerializationInfo with the data needed to serialize the target object.
Public methodGetPreviousIndex
Gets the index before the specified one.
Public methodGetSubsetCount
Gets the number of indexes in a subset defined by the startIndex and endIndex arguments.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodHasIndex
Returns a bool indicating if the index is a member of the set.
Public methodInsertIndexPositions
Makes room for more indexes. Existing indexes from startIndex and above are moved up.
Public methodIntersects
Determines whether this and that IndexSet have any indexes in common.
Public methodNot
Inverts the set. Any index that was included in the set will be excluded and vice versa.

Note: the method changes the internal state of this IndexSet

Public methodStatic memberNot(IndexSet)
Returns a new IndexSet that is the complement of the specified source set. Any index that is included in the source set will be excluded and vice versa.
Public methodNthSmallestIndex
Gets the Nth smallest index. Caution: This method is slow (linear time), so you must ensure that your algorithm (or the one using your algorithm) never calls this method many times, which could result in quadratic time.
Public methodOr(IndexSet)
Performs a logical OR between this and that IndexSet.

Note: the method changes the internal state of this IndexSet

Public methodStatic memberOr(IndexSet, IndexSet)
Returns a new IndexSet that is a logical OR between two IndexSet.
Public methodRemoveIndex
Removes the index from the set. If the index is not in the set, nothing is changed.
Public methodRemoveIndexes(IEnumerableInt32)
Removes the specified indexes from the set.
Public methodRemoveIndexes(Int32, Int32)
Removes a range of indexes from the set.
Public methodSetReadOnly
Sets this IndexSet to read-only.
Public methodSubtract(IndexSet)
Subtracts that IndexSet from this one. In other words, the indexes in that IndexSet are removed from this.

Note: the method changes the internal state of this IndexSet

Public methodStatic memberSubtract(IndexSet, IndexSet)
Returns a new IndexSet that is a subtraction between two IndexSet. In other words, the new IndexSet is a copy of set1 without the indexes in set2.
Public methodToString
Returns a string representation of the IndexSet. Each index position is represented by a 0 or 1, where 1 indicates that the index is in the set.
(Overrides ObjectToString.)
Public methodXor(IndexSet)
Performs a logical XOR between this and that IndexSet.

Note: the method changes the internal state of this IndexSet

Public methodStatic memberXor(IndexSet, IndexSet)
Returns a new IndexSet that is a logical XOR between two IndexSet.
Top
Explicit Interface Implementations

  NameDescription
Explicit interface implementationPrivate methodIEnumerableGetEnumerator
IEnumerable.GetEnumerator implementation.
Top
Version Information

Supported in: 14.3, 14.2, 14.1, 14.0, 12.5, 12.4, 12.3, 12.2, 12.1, 12.0, 11.8
See Also

Reference