Class
RankSupportBitStringA bit string supporting rank queries in constant time.
A bit string supporting rank queries in constant time.
Defined in | <seqan/index.h> |
---|---|
Signature |
template <typename TSpec>
class RankSupportBitString;
|
Template Parameters
TSpec |
Specialisation tag. Default: void |
---|
Interface Function Overview
-
appendValue(bitString, bit)
Appends a bit to a RankSupportBitString. -
clear(bitString)
Resets an rank-support-bit string. -
bool empty(bitString)
Checks whether or not a rank-support-bit string contains any elements. -
getFibre(bitString, fibreTag)
Returns a specific fibre of a rank-support-bit string. -
getRank(bitString, pos)
Returns the rank (the number of bits set from the start of the bit string) of a specified position. -
isSetBit(bitString, pos)
Returns whether the bit with the given index is set to 1. -
length(bitString)
Returns the number of bits in the rank-support-bit string. -
open(bitString, fileName [, openMode])
This functions opens a RankSupportBitString from disk. -
TSize resize(bitString, newLenght)
Resets the number of bits in the rank-support-bit string. -
save(bitString, fileName [, openMode])
This functions saves a RankSupportBitString to disk. -
setBitTo(bitString, pos, value)
Set the bit with the given position to the given value.
Detailed Description
The constant rank query time is achieved by evaluating precomputed subsolutions. In order to do so, the bit string is divided into blocks of length l. A super block string stores for each block of l blocks the number of bits set from the beginning. In addition a block string stores the number of bits set in each block from the start of the last super block block. Therefore it is possible to compute the result of a rank query in constant time by adding information from the bit, block and super block string.
Interface Functions Detail
appendValue(bitString, bit)
Appends a bit to a RankSupportBitString.
Parameters
target
|
A container. Types: RankSupportBitString |
---|---|
bit
|
Value that is appended to target.If the value is different from 0 it is interpreted as 1. Types: UnsignedIntegerConcept, bool |
Data Races
Thread safety unknown!
clear(bitString)
Resets an rank-support-bit string.
Parameters
bitString
|
The bit string to be cleared. |
---|
Data Races
Thread safety unknown!
bool empty(bitString)
Checks whether or not a rank-support-bit string contains any elements.
Parameters
bitString
|
The rank-support-bit string to be checked. |
---|
Returns
bool |
Returns true if the rank-support-bit string is empty and false otherwise. |
---|
Data Races
Thread safety unknown!
getFibre(bitString, fibreTag)
Returns a specific fibre of a rank-support-bit string.
Parameters
fibreTag
|
A tag that identifies the Fibre. Types: RankSupportBitString Fibres. |
---|---|
bitString
|
The rank-support-bit string holding the fibre. |
Returns
TReturn |
A reference to the Fibre object. |
---|
Data Races
Thread safety unknown!
getRank(bitString, pos)
Returns the rank (the number of bits set from the start of the bit
string) of a specified position.
Parameters
bitString
|
The bit string. Types: RankSupportBitString |
---|---|
pos
|
Position of a bit. |
Returns
TReturn |
Value of Fibre of the rank-support-bit string. |
---|
Data Races
Thread safety unknown!
isSetBit(bitString, pos)
Returns whether the bit with the given index is set to 1.
Parameters
bitString
|
The bit string. |
---|---|
pos
|
Position of the bit. Types: UnsignedIntegerConcept |
Returns
TReturn |
Returns whether a specified bit is set or not. |
---|
Data Races
Thread safety unknown!
length(bitString)
Returns the number of bits in the rank-support-bit string.
Parameters
bitString
|
The rank-support-bit string. |
---|
Returns
TReturn |
Types: Value of Fibre of the rank-support-bit string. |
---|
Data Races
Thread safety unknown!
open(bitString, fileName [, openMode])
This functions opens a RankSupportBitString from disk.
Parameters
openMode
|
The combination of flags defining how the file should be opened.To open a file read-only, write-only or to read and write use OPEN_RDONLY, OPEN_WRONLY, or OPEN_RDWR.To create or overwrite a file add OPEN_CREATE.To append a file if existing add OPEN_APPEND.To circumvent problems, files are always opened in binary mode. Default: OPEN_RDWR | OPEN_CREATE | OPEN_APPEND |
---|---|
bitString
|
The bit string to be opened. |
fileName
|
C-style character string containing the file name. |
Returns
TReturn |
A bool which is true on success. |
---|
Data Races
Thread safety unknown!
TSize resize(bitString, newLenght)
Resets the number of bits in the rank-support-bit string.
Parameters
bitString
|
The rank-support-bit string. |
---|---|
newLength
|
The number of elements which should be stored in the compressed suffix array. Types: UnsignedIntegerConcept. |
Returns
TSize |
The number of elements in the rank-support-bit string. Types: The result of Size of the rank-support-bit string. |
---|
Note If the new length is smaller than the actual one then the last x items of the rank-support-bit string are deleted with x = oldLength - newLength.
Data Races
Thread safety unknown!
save(bitString, fileName [, openMode])
This functions saves a RankSupportBitString to disk.
Parameters
openMode
|
The combination of flags defining how the file should be opened.To open a file read-only, write-only or to read and write use OPEN_RDONLY, OPEN_WRONLY, or OPEN_RDWR.To create or overwrite a file add OPEN_CREATE.To append a file if existing add OPEN_APPEND.To circumvent problems, files are always opened in binary mode. Default: OPEN_RDWR | OPEN_CREATE | OPEN_APPEND |
---|---|
bitString
|
The bit string to be saved. |
fileName
|
C-style character string containing the file name. |
Returns
TReturn |
A bool which is true on success. |
---|
Data Races
Thread safety unknown!
setBitTo(bitString, pos, value)
Set the bit with the given position to the given value.
Parameters
pos
|
Position of the bit. Types: UnsignedIntegerConcept |
---|---|
bitString
|
The bit string. |
bit
|
The value of the bit. Note that values different from 0 are interpreted as 1. |
Returns
TReturn |
void |
---|
Examples
Data Races
Thread safety unknown!