BitVector.kl¶
Types¶
BitVector (struct)¶
The BitVector is a memory-efficient Boolean array, where each element uses a single bit.
注釈
Setting different bits in parallel might lead to unexpected results, in which case methods such as BitVector.atomicSet should be used.
/*
** Example: BitVector
*/
require Containers;
operator entry() {
BitVector b;
b.resize(4);
b.set(0, true);
b.set(1, false);
b.set(2, false);
b.set(3, true);
report(b.getString());
}
/*
** Output:
[1,0,0,1]
*/
Methods¶
BitVector ( in BitVector other ) | |
BitVector () | |
atomicClear ! ( in UInt32 index ) | |
atomicSet ! ( in UInt32 index ) | |
atomicSet ! ( in UInt32 index, in Boolean value ) | |
BitVectorIterator | begin ? () |
clear ! ( in UInt32 index ) | |
clearAll ! () | |
BitVector | clone ? () |
copy ! ( in BitVector src ) | |
Boolean | get ? ( in UInt32 index ) |
Boolean | getNext ? ( io BitVectorIterator iter ) |
String | getString ? () |
Boolean | getThenClear ! ( in UInt32 index ) |
Boolean | getThenSet ! ( in UInt32 index ) |
Boolean | getThenSet ! ( in UInt32 index, in Boolean value ) |
resize ! ( in UInt32 size ) | |
set ! ( in UInt32 index ) | |
set ! ( in UInt32 index, in Boolean value ) | |
setAll ! () | |
UInt32 | size ? () |
LocalL256BitVector (struct)¶
Same as a BitVector, but the first 256 bits will not require memory allocation (local).
Methods¶
LocalL256BitVector ( in LocalL256BitVector other ) | |
LocalL256BitVector () | |
atomicClear ! ( in UInt32 index ) | |
atomicSet ! ( in UInt32 index ) | |
atomicSet ! ( in UInt32 index, in Boolean value ) | |
BitVectorIterator | begin ? () |
clear ! ( in UInt32 index ) | |
clearAll ! () | |
LocalL256BitVector | clone ? () |
copy ! ( in LocalL256BitVector src ) | |
Boolean | get ? ( in UInt32 index ) |
Boolean | getNext ? ( io BitVectorIterator iter ) |
String | getString ? () |
Boolean | getThenClear ! ( in UInt32 index ) |
Boolean | getThenSet ! ( in UInt32 index ) |
Boolean | getThenSet ! ( in UInt32 index, in Boolean value ) |
resize ! ( in UInt32 size ) | |
set ! ( in UInt32 index ) | |
set ! ( in UInt32 index, in Boolean value ) | |
setAll ! () | |
UInt32 | size ? () |
BitVectorIterator (struct)¶
a helper structure to perform iteration on a BitVector
Members¶
Integer | index |
Methods¶
BitVectorIterator ( in BitVectorIterator other ) | |
BitVectorIterator () | |
BitVectorIterator | clone ? () |