C# Класс BitsetsNET.BitsetContainer

Наследование: Container
Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
Bitmap long[]
Cardinality int

Защищенные свойства (Protected)

Свойство Тип Описание
MAX_CAPACITY int

Открытые методы

Метод Описание
Add ( ushort x ) : Container

Add a short to the container. May generate a new container.

Add ( ushort rangeStart, ushort rangeEnd ) : Container

Add to the current bitmap all integers in [rangeStart,rangeEnd).

And ( ArrayContainer x ) : Container

Computes the bitwise AND of this container with another (intersection). This container as well as the provided container are left unaffected.

And ( BitsetContainer x ) : Container

Computes the bitwise AND of this container with another (intersection). This container as well as the provided container are left unaffected.

AndNot ( ArrayContainer x ) : Container

Returns the elements of this BitsetContainer that are not in the ArrayContainer.

AndNot ( BitsetContainer x ) : Container

Returns the elements of this BitsetContainer that are not in the other BitsetContainer.

BitsetContainer ( ) : System
BitsetContainer ( int cardinality, long bitmap ) : System
Clone ( ) : Container

Creates a deep copy of this bitset container.

Contains ( ushort x ) : bool

Checks whether the container contains the provided value.

Deserialize ( BinaryReader reader, int cardinality ) : BitsetContainer

Deserialize a container from binary format, as written by the Serialize method minus the first 32 bits giving the cardinality.

Equals ( Object o ) : bool
FillArray ( ushort array ) : void

Fill the array with set bits.

FillLeastSignificant16bits ( int x, int i, int mask ) : void

Fill the least significant 16 bits of the integer array, starting at index i, with the short values from this container. The caller is responsible to allocate enough room. The most significant 16 bits of each integer are given by the most significant bits of the provided mask.

Flip ( ushort i ) : Container

Add a short to the container if it is not present, otherwise remove it. May generate a new container.

GetCardinality ( ) : int

Computes the distinct number of short values in the container. Can be expected to run in constant time.

GetEnumerator ( ) : IEnumerator
GetHashCode ( ) : int
IAdd ( ushort begin, ushort end ) : Container

Add all shorts in [begin,end) using an unsigned interpretation. May generate a new container.

IAnd ( ArrayContainer other ) : Container

Performs an "in-place" intersection with an ArrayContainer. Since no in-place operation is actually possible, this method defaults to calling ArrayContainer's and() method with this as input.

IAnd ( BitsetContainer other ) : Container

Performs an intersection with another BitsetContainer. Depending on the cardinality of the result, this will either modify the container in place or return a new ArrayContainer.

IAndNot ( ArrayContainer x ) : Container

Returns the elements of this BitsetContainer that are not in the ArrayContainer by modifying the current container in place.

IAndNot ( BitsetContainer x ) : Container

Returns the elements of this BitsetContainer that are not in the other BitsetContainer. Depending on the cardinality of the result, this will either modify the container in place or return a new ArrayContainer.

INot ( int rangeStart, int rangeEnd ) : Container

Computes the in-place bitwise NOT of this container (complement). Only those bits within the range are affected.The current container is generally modified.May generate a new container.

IOr ( ArrayContainer x ) : Container

Computes the in-place bitwise OR of this container with another (union). The current container is generally modified, whereas the provided container(x) is unaffected.May generate a new container.

IOr ( BitsetContainer x ) : Container

Computes the in-place bitwise OR of this container with another (union). The current container is generally modified, whereas the provided container(x) is unaffected.May generate a new container.

Intersects ( ArrayContainer x ) : bool

Returns true if the current container intersects the other container.

Intersects ( BitsetContainer x ) : bool

Returns true if the current container intersects the other container.

LoadData ( ArrayContainer arrayContainer ) : void
Or ( ArrayContainer x ) : Container

Computes the bitwise OR of this container with another (union). This container as well as the provided container are left unaffected.

Or ( BitsetContainer x ) : Container

Computes the bitwise OR of this container with another (union). This container as well as the provided container are left unaffected.

Remove ( ushort x ) : Container

Remove specified short from this container. May create a new container.

Remove ( ushort begin, ushort end ) : Container

Remove shorts in [begin,end) using an unsigned interpretation. May generate a new container.

Select ( int j ) : ushort

Return the jth value of the container.

Serialize ( BinaryWriter writer ) : void

Serialize this container in a binary format.

The format of the serialization is the cardinality of this container as a 32-bit integer, followed by the bit array. The cardinality is used in deserialization to distinguish BitsetContainers from ArrayContainers.

ToArrayContainer ( ) : ArrayContainer

Copies the data to an array container

Защищенные методы

Метод Описание
ComputeCardinality ( ) : void

Recomputes the cardinality of the bitmap.

Описание методов

Add() публичный Метод

Add a short to the container. May generate a new container.
public Add ( ushort x ) : Container
x ushort short to be added
Результат Container

Add() публичный Метод

Add to the current bitmap all integers in [rangeStart,rangeEnd).
public Add ( ushort rangeStart, ushort rangeEnd ) : Container
rangeStart ushort inclusive beginning of range
rangeEnd ushort exclusive ending of range
Результат Container

And() публичный Метод

Computes the bitwise AND of this container with another (intersection). This container as well as the provided container are left unaffected.
public And ( ArrayContainer x ) : Container
x ArrayContainer Other container
Результат Container

And() публичный Метод

Computes the bitwise AND of this container with another (intersection). This container as well as the provided container are left unaffected.
public And ( BitsetContainer x ) : Container
x BitsetContainer Other container
Результат Container

AndNot() публичный Метод

Returns the elements of this BitsetContainer that are not in the ArrayContainer.
public AndNot ( ArrayContainer x ) : Container
x ArrayContainer the ArrayContainer to compare against
Результат Container

AndNot() публичный Метод

Returns the elements of this BitsetContainer that are not in the other BitsetContainer.
public AndNot ( BitsetContainer x ) : Container
x BitsetContainer the other BitsetContainer
Результат Container

BitsetContainer() публичный Метод

public BitsetContainer ( ) : System
Результат System

BitsetContainer() публичный Метод

public BitsetContainer ( int cardinality, long bitmap ) : System
cardinality int
bitmap long
Результат System

Clone() публичный Метод

Creates a deep copy of this bitset container.
public Clone ( ) : Container
Результат Container

ComputeCardinality() защищенный Метод

Recomputes the cardinality of the bitmap.
protected ComputeCardinality ( ) : void
Результат void

Contains() публичный Метод

Checks whether the container contains the provided value.
public Contains ( ushort x ) : bool
x ushort Value to check
Результат bool

Deserialize() публичный статический Метод

Deserialize a container from binary format, as written by the Serialize method minus the first 32 bits giving the cardinality.
public static Deserialize ( BinaryReader reader, int cardinality ) : BitsetContainer
reader System.IO.BinaryReader The reader to deserialize from.
cardinality int
Результат BitsetContainer

Equals() публичный Метод

public Equals ( Object o ) : bool
o Object
Результат bool

FillArray() публичный Метод

Fill the array with set bits.
public FillArray ( ushort array ) : void
array ushort Container (should be sufficiently large)
Результат void

FillLeastSignificant16bits() публичный Метод

Fill the least significant 16 bits of the integer array, starting at index i, with the short values from this container. The caller is responsible to allocate enough room. The most significant 16 bits of each integer are given by the most significant bits of the provided mask.
public FillLeastSignificant16bits ( int x, int i, int mask ) : void
x int Provided array
i int Starting index
mask int Indicates most significant bits
Результат void

Flip() публичный Метод

Add a short to the container if it is not present, otherwise remove it. May generate a new container.
public Flip ( ushort i ) : Container
i ushort short to be added
Результат Container

GetCardinality() публичный Метод

Computes the distinct number of short values in the container. Can be expected to run in constant time.
public GetCardinality ( ) : int
Результат int

GetEnumerator() публичный Метод

public GetEnumerator ( ) : IEnumerator
Результат IEnumerator

GetHashCode() публичный Метод

public GetHashCode ( ) : int
Результат int

IAdd() публичный Метод

Add all shorts in [begin,end) using an unsigned interpretation. May generate a new container.
public IAdd ( ushort begin, ushort end ) : Container
begin ushort Start of range
end ushort End of range
Результат Container

IAnd() публичный Метод

Performs an "in-place" intersection with an ArrayContainer. Since no in-place operation is actually possible, this method defaults to calling ArrayContainer's and() method with this as input.
public IAnd ( ArrayContainer other ) : Container
other ArrayContainer the ArrayContainer to intersect
Результат Container

IAnd() публичный Метод

Performs an intersection with another BitsetContainer. Depending on the cardinality of the result, this will either modify the container in place or return a new ArrayContainer.
public IAnd ( BitsetContainer other ) : Container
other BitsetContainer the other BitsetContainer to intersect
Результат Container

IAndNot() публичный Метод

Returns the elements of this BitsetContainer that are not in the ArrayContainer by modifying the current container in place.
public IAndNot ( ArrayContainer x ) : Container
x ArrayContainer the ArrayContainer to compare against
Результат Container

IAndNot() публичный Метод

Returns the elements of this BitsetContainer that are not in the other BitsetContainer. Depending on the cardinality of the result, this will either modify the container in place or return a new ArrayContainer.
public IAndNot ( BitsetContainer x ) : Container
x BitsetContainer the other BitsetContainer
Результат Container

INot() публичный Метод

Computes the in-place bitwise NOT of this container (complement). Only those bits within the range are affected.The current container is generally modified.May generate a new container.
public INot ( int rangeStart, int rangeEnd ) : Container
rangeStart int beginning of range (inclusive); 0 is beginning of this container.
rangeEnd int ending of range (exclusive)
Результат Container

IOr() публичный Метод

Computes the in-place bitwise OR of this container with another (union). The current container is generally modified, whereas the provided container(x) is unaffected.May generate a new container.
public IOr ( ArrayContainer x ) : Container
x ArrayContainer Other container
Результат Container

IOr() публичный Метод

Computes the in-place bitwise OR of this container with another (union). The current container is generally modified, whereas the provided container(x) is unaffected.May generate a new container.
public IOr ( BitsetContainer x ) : Container
x BitsetContainer Other container
Результат Container

Intersects() публичный Метод

Returns true if the current container intersects the other container.
public Intersects ( ArrayContainer x ) : bool
x ArrayContainer Other container
Результат bool

Intersects() публичный Метод

Returns true if the current container intersects the other container.
public Intersects ( BitsetContainer x ) : bool
x BitsetContainer Other container
Результат bool

LoadData() публичный Метод

public LoadData ( ArrayContainer arrayContainer ) : void
arrayContainer ArrayContainer
Результат void

Or() публичный Метод

Computes the bitwise OR of this container with another (union). This container as well as the provided container are left unaffected.
public Or ( ArrayContainer x ) : Container
x ArrayContainer Other container
Результат Container

Or() публичный Метод

Computes the bitwise OR of this container with another (union). This container as well as the provided container are left unaffected.
public Or ( BitsetContainer x ) : Container
x BitsetContainer Other container
Результат Container

Remove() публичный Метод

Remove specified short from this container. May create a new container.
public Remove ( ushort x ) : Container
x ushort Short to be removed
Результат Container

Remove() публичный Метод

Remove shorts in [begin,end) using an unsigned interpretation. May generate a new container.
public Remove ( ushort begin, ushort end ) : Container
begin ushort Start of range (inclusive)
end ushort End of range (exclusive)
Результат Container

Select() публичный Метод

Return the jth value of the container.
public Select ( int j ) : ushort
j int Index of the value
Результат ushort

Serialize() публичный Метод

Serialize this container in a binary format.
The format of the serialization is the cardinality of this container as a 32-bit integer, followed by the bit array. The cardinality is used in deserialization to distinguish BitsetContainers from ArrayContainers.
public Serialize ( BinaryWriter writer ) : void
writer System.IO.BinaryWriter The writer to which to serialize this container.
Результат void

ToArrayContainer() публичный Метод

Copies the data to an array container
public ToArrayContainer ( ) : ArrayContainer
Результат ArrayContainer

Описание свойств

Bitmap публичное свойство

public long[] Bitmap
Результат long[]

Cardinality публичное свойство

public int Cardinality
Результат int

MAX_CAPACITY защищенное статическое свойство

protected static int MAX_CAPACITY
Результат int