smjg.libs.util.bitarray.BitArray Struct Reference

The smjg.libs.util.bitarray.BitArray structure implements a bit array that can start at any point within a byte. More...

List of all members.

Properties

typedef toUbyteArray toLEUbyteArray
typedef toUshortArray toLEUshortArray
typedef toUintArray toLEUintArray
typedef toUlongArray toLEUlongArray
typedef toUbyteArray toBEUbyteArray
typedef toUshortArray toBEUshortArray
typedef toUintArray toBEUintArray
typedef toUlongArray toBEUlongArray
BitArray dup ()
 Returns a copy of the array.
BitArray byteAlign ()
 A byte-aligned version of the array.
int length ()
 The length in bits of this BitArray.
int length (int len)
 The length in bits of this BitArray.
ubyte[] toUbyteArray ()
ushort[] toUshortArray ()
uint[] toUintArray ()
ulong[] toUlongArray ()
ubyte[] toBEUbyteArray ()
ushort[] toBEUshortArray ()
uint[] toBEUintArray ()
ulong[] toBEUlongArray ()
ubyte[] toLEUbyteArray ()
ushort[] toLEUshortArray ()
uint[] toLEUintArray ()
ulong[] toLEUlongArray ()

Public Member Functions

Operators
int opEquals (BitArray ba)
 Compares two BitArrays for equality of the data they contain.
bool opIndex (int i)
 Returns the bit with the given index.
bool opIndexAssign (bool b, int i)
 Sets the bit at the given index.
BitArray opSlice (int begin, int end)
 Returns an in-place slice of this BitArray.
BitArray opSliceAssign (bool value, int begin, int end)
 Assigns a bit to a slice.
BitArray opSliceAssign (BitArray value, int begin, int end)
 Assigns a BitArray to a slice.
BitArray opSliceAssign (bool value)
 Assigns a bit to all elements of this BitArray.
BitArray opSliceAssign (BitArray value)
 Assigns a BitArray in-place to this one.
BitArray opCat (BitArray value)
 Concatenates two BitArray objects.
BitArray opCat (bool value)
 Concatenates this BitArray with a bit.
BitArray opCatAssign (BitArray value)
 Appends a BitArray to this one.
BitArray opCatAssign (bool value)
 Appends a bit to this BitArray.
BitPointer ptr ()
 Converts this BitArray to a BitPointer pointing to its first element.
int opApply (int(*dg)(inout bool))
 Iterates over the elements of this BitArray.
int opApply (int(*dg)(inout int, inout bool))
 Iterates over the elements of this BitArray.
BitArray opCom ()
 Inverts the bits of the array.
BitArray opAndAssign (BitArray ba)
 Modifies this array by performing a bitwise AND operation with another array.
BitArray opOrAssign (BitArray ba)
 Modifies this array by performing a bitwise OR operation with another array.
BitArray opXorAssign (BitArray ba)
 Modifies this array by performing a bitwise XOR operation with another array.
BitArray opSubAssign (BitArray ba)
 Modifies this array by performing a bitwise AND-NOT operation with another array.
BitArray opAnd (BitArray ba)
 Performs a bitwise AND operation on this array and another array.
BitArray opOr (BitArray ba)
 Performs a bitwise OR operation on this array and another array.
BitArray opXor (BitArray ba)
 Performs a bitwise XOR operation on this array and another array.
BitArray opSub (BitArray ba)
 Performs a bitwise AND-NOT operation on this array and another array.

Static Public Member Functions

Pseudo-Constructors
static BitArray opCall (int len)
 Constructs a new BitArray with the given length.
static BitArray opCall (bool[] bits)
 Constructs a new BitArray to from an array of booleans.
static BitArray opCall (void[] data)
 Constructs a new BitArray to wrap a D bool array.


Detailed Description

The smjg.libs.util.bitarray.BitArray structure implements a bit array that can start at any point within a byte.


Member Typedef Documentation

typedef toUbyteArray smjg.libs.util.bitarray.BitArray.toLEUbyteArray

typedef toUshortArray smjg.libs.util.bitarray.BitArray.toLEUshortArray

typedef toUintArray smjg.libs.util.bitarray.BitArray.toLEUintArray

typedef toUlongArray smjg.libs.util.bitarray.BitArray.toLEUlongArray

typedef toUbyteArray smjg.libs.util.bitarray.BitArray.toBEUbyteArray

typedef toUshortArray smjg.libs.util.bitarray.BitArray.toBEUshortArray

typedef toUintArray smjg.libs.util.bitarray.BitArray.toBEUintArray

typedef toUlongArray smjg.libs.util.bitarray.BitArray.toBEUlongArray


Member Function Documentation

static BitArray smjg.libs.util.bitarray.BitArray.opCall ( int  len  )  [static]

Constructs a new BitArray with the given length.

static BitArray smjg.libs.util.bitarray.BitArray.opCall ( bool[]  bits  )  [static]

Constructs a new BitArray to from an array of booleans.

Parameters:
bits boolean array from which to construct the BitArray.
Returns:
BitArray of the bits.

static BitArray smjg.libs.util.bitarray.BitArray.opCall ( void[]  data  )  [static]

Constructs a new BitArray to wrap a D bool array.

Parameters:
data the array to wrap.
Returns:
BitArray wrapping data in place.

int smjg.libs.util.bitarray.BitArray.opEquals ( BitArray  ba  ) 

Compares two BitArrays for equality of the data they contain.

(Implementation of *this == ba.)

Todo:
optimise for arrays byte-aligned with each other.

bool smjg.libs.util.bitarray.BitArray.opIndex ( int  i  ) 

Returns the bit with the given index.

(Implementation of (*this)[i].)

bool smjg.libs.util.bitarray.BitArray.opIndexAssign ( bool  b,
int  i 
)

Sets the bit at the given index.

(Implementation of (*this)[i] = b.)

BitArray smjg.libs.util.bitarray.BitArray.opSlice ( int  begin,
int  end 
)

Returns an in-place slice of this BitArray.

(Implementation of (*this)[begin..end].)

BitArray smjg.libs.util.bitarray.BitArray.opSliceAssign ( bool  value,
int  begin,
int  end 
)

Assigns a bit to a slice.

(Implementation of (*this)[begin..end] = value.)

BitArray smjg.libs.util.bitarray.BitArray.opSliceAssign ( BitArray  value,
int  begin,
int  end 
)

Assigns a BitArray to a slice.

(Implementation of (*this)[begin..end] = value.)

BitArray smjg.libs.util.bitarray.BitArray.opSliceAssign ( bool  value  ) 

Assigns a bit to all elements of this BitArray.

(Implementation of (*this)[] = value.)

BitArray smjg.libs.util.bitarray.BitArray.opSliceAssign ( BitArray  value  ) 

Assigns a BitArray in-place to this one.

(Implementation of (*this)[] = value.)

BitArray smjg.libs.util.bitarray.BitArray.opCat ( BitArray  value  ) 

Concatenates two BitArray objects.

(Implementation of *this ~ value.)

BitArray smjg.libs.util.bitarray.BitArray.opCat ( bool  value  ) 

Concatenates this BitArray with a bit.

(Implementation of *this ~ value.)

BitArray smjg.libs.util.bitarray.BitArray.opCatAssign ( BitArray  value  ) 

Appends a BitArray to this one.

(Implementation of *this ~= value.)

BitArray smjg.libs.util.bitarray.BitArray.opCatAssign ( bool  value  ) 

Appends a bit to this BitArray.

(Implementation of *this ~= value.)

BitPointer smjg.libs.util.bitarray.BitArray.ptr (  ) 

Converts this BitArray to a BitPointer pointing to its first element.

A BitPointer pointing to the first element of the array.

int smjg.libs.util.bitarray.BitArray.opApply ( int(*)(inout bool)  dg  ) 

Iterates over the elements of this BitArray.

(Implementation of foreach (bool; *this).)

int smjg.libs.util.bitarray.BitArray.opApply ( int(*)(inout int, inout bool)  dg  ) 

Iterates over the elements of this BitArray.

(Implementation of foreach (int, bool; *this).)

BitArray smjg.libs.util.bitarray.BitArray.opCom (  ) 

Inverts the bits of the array.

(Implementation of ~ *this.)

BitArray smjg.libs.util.bitarray.BitArray.opAndAssign ( BitArray  ba  ) 

Modifies this array by performing a bitwise AND operation with another array.

(Implementation of *this &= ba.)

BitArray smjg.libs.util.bitarray.BitArray.opOrAssign ( BitArray  ba  ) 

Modifies this array by performing a bitwise OR operation with another array.

(Implementation of *this |= ba.)

BitArray smjg.libs.util.bitarray.BitArray.opXorAssign ( BitArray  ba  ) 

Modifies this array by performing a bitwise XOR operation with another array.

(Implementation of *this ^= ba.)

BitArray smjg.libs.util.bitarray.BitArray.opSubAssign ( BitArray  ba  ) 

Modifies this array by performing a bitwise AND-NOT operation with another array.

(Implementation of *this -= ba.)

BitArray smjg.libs.util.bitarray.BitArray.opAnd ( BitArray  ba  ) 

Performs a bitwise AND operation on this array and another array.

(Implementation of *this & ba.)

BitArray smjg.libs.util.bitarray.BitArray.opOr ( BitArray  ba  ) 

Performs a bitwise OR operation on this array and another array.

(Implementation of *this | ba.)

BitArray smjg.libs.util.bitarray.BitArray.opXor ( BitArray  ba  ) 

Performs a bitwise XOR operation on this array and another array.

(Implementation of *this ^ ba.)

BitArray smjg.libs.util.bitarray.BitArray.opSub ( BitArray  ba  ) 

Performs a bitwise AND-NOT operation on this array and another array.

(Implementation of *this - ba.)

BitArray smjg.libs.util.bitarray.BitArray.dup (  ) 

Returns a copy of the array.

The copy will always be byte-aligned.

BitArray smjg.libs.util.bitarray.BitArray.byteAlign (  ) 

A byte-aligned version of the array.

Returns:
this BitArray, if it is already byte aligned, otherwise a byte-aligned copy.

int smjg.libs.util.bitarray.BitArray.length (  ) 

The length in bits of this BitArray.

int smjg.libs.util.bitarray.BitArray.length ( int  len  ) 

The length in bits of this BitArray.

ubyte [] smjg.libs.util.bitarray.BitArray.toUbyteArray (  ) 

ushort [] smjg.libs.util.bitarray.BitArray.toUshortArray (  ) 

uint [] smjg.libs.util.bitarray.BitArray.toUintArray (  ) 

ulong [] smjg.libs.util.bitarray.BitArray.toUlongArray (  ) 

ubyte [] smjg.libs.util.bitarray.BitArray.toBEUbyteArray (  ) 

ushort [] smjg.libs.util.bitarray.BitArray.toBEUshortArray (  ) 

uint [] smjg.libs.util.bitarray.BitArray.toBEUintArray (  ) 

ulong [] smjg.libs.util.bitarray.BitArray.toBEUlongArray (  ) 

ubyte [] smjg.libs.util.bitarray.BitArray.toLEUbyteArray (  ) 

ushort [] smjg.libs.util.bitarray.BitArray.toLEUshortArray (  ) 

uint [] smjg.libs.util.bitarray.BitArray.toLEUintArray (  ) 

ulong [] smjg.libs.util.bitarray.BitArray.toLEUlongArray (  ) 


The documentation for this struct was generated from the following file:
Generated on Sun Sep 13 19:50:32 2009 for Stewart's Utility Library by  doxygen 1.5.4