Zen API
|
Represents a 1D array of bits.
The kBitArray class represents a 1D array of bits. kBitArray is similar in spirit to kArray1<kBool>, but is optimized for space and provides a set of convenient bitwise operations.
kBitArray supports the kObject_Clone, kObject_Dispose, kObject_Equals, and kObject_Size methods.
kBitArray supports the kdat6 serialization protocol.
Public Member Functions | |
kStatus | kBitArray_Allocate (kBitArray array, kSize length) |
Reallocates the array item buffer. More... | |
kStatus | kBitArray_And (kBitArray array, kBitArray other) |
Performs bitwise-and over all bits from the specified arrays. More... | |
kStatus | kBitArray_Assign (kBitArray array, kBitArray source) |
Copies the source array. More... | |
kBool | kBitArray_At (kBitArray array, kSize index) |
Returns the specified item in the array. More... | |
kStatus | kBitArray_Construct (kBitArray *array, kSize length, kAlloc allocator) |
Constructs a kBitArray object. More... | |
k64u | kBitArray_FalseCount (kBitArray array) |
Counts the number of bits in the array that are set to kFALSE. More... | |
kStatus | kBitArray_Item (kBitArray array, kSize index, kBool *value) |
Gets the value of an item. More... | |
kSize | kBitArray_Length (kBitArray array) |
Returns the array length, in bits. More... | |
kStatus | kBitArray_Not (kBitArray array) |
Inverts all bits. More... | |
kStatus | kBitArray_Or (kBitArray array, kBitArray other) |
Performs bitwise-or over all bits from the specified arrays. More... | |
kStatus | kBitArray_Resize (kBitArray array, kSize length) |
Resizes the internal array item buffer. More... | |
kStatus | kBitArray_SetAll (kBitArray array, kBool value) |
Sets all array elements to the specified value. More... | |
kStatus | kBitArray_SetItem (kBitArray array, kSize index, kBool value) |
Sets the value of the specified item. More... | |
k64u | kBitArray_TrueCount (kBitArray array) |
Counts the number of bits in the array that are set to kTRUE. More... | |
kStatus | kBitArray_Xor (kBitArray array, kBitArray other) |
Performs bitwise-xor over all bits from the specified arrays. More... | |
![]() | |
kAlloc | kObject_Alloc (kObject object) |
Gets the memory allocator associated with this object. More... | |
kAllocTrait | kObject_AllocTraits (kObject object) |
Gets the bitset of allocator traits for any allocators used within this object, including aggregated child elements. More... | |
kStatus | kObject_Clone (kObject *object, kObject source, kAlloc objectAllocator) |
Constructs a new object by copying an existing object, including any aggregated child elements. More... | |
kStatus | kObject_Clone (kObject *object, kObject source, kAlloc objectAllocator, kAlloc valueAllocator, kObject context=kNULL) |
Constructs a new object by copying an existing object, including any aggregated child elements. More... | |
kStatus | kObject_Destroy (kObject object) |
Destroys the object. More... | |
kStatus | kObject_Dispose (kObject object) |
Destroys the object and any aggregated child elements. More... | |
kBool | kObject_Equals (kObject object, kObject other) |
Determines whether the object is equal to another object. More... | |
kBool | kObject_HasForeignData (kObject object) |
Reports whether the object, including aggregated child elements, contains any foreign memory references. More... | |
kSize | kObject_HashCode (kObject object) |
Gets a hash code representing the state of this object. More... | |
kBool | kObject_HasShared (kObject object) |
Reports whether an object or any of its aggregated child elements has a reference count greater than one. More... | |
kBool | kObject_Is (kObject object, kType type) |
Determines whether this object is an instance of the specified type. More... | |
kBool | kObject_IsShared (kObject object) |
Reports whether the object is currently shared (reference count greater than one). More... | |
kStatus | kObject_SetPool (kObject object, kObjectPool pool) |
Sets the object pool associated with this object. More... | |
kStatus | kObject_Share (kObject object) |
Increments the reference count associated with this object. More... | |
kSize | kObject_Size (kObject object) |
Estimates the memory consumed by this object, including any aggregated child elements. More... | |
kType | kObject_Type (kObject object) |
Returns the type of the object. More... | |
Additional Inherited Members | |
![]() | |
kStatus | kObject_FreeMem (kObject object, void *mem) |
Protected method called by derived classes to free memory using the object's allocator. More... | |
kStatus | kObject_FreeMemRef (kObject object, void *mem) |
Protected method called by derived classes to free memory (and reset the provided memory pointer to kNULL) using the object's allocator. More... | |
kStatus | kObject_GetMem (kObject object, kSize size, void *mem) |
Protected method called by derived classes to allocate memory using the object's allocator. More... | |
kStatus | kObject_GetMemZero (kObject object, kSize size, void *mem) |
Protected method called by derived classes to allocate and zero memory using the object's allocator. More... | |
kStatus | kObject_Init (kObject object, kType type, kAlloc alloc) |
Protected method called by derived classes to initialize the kObject base class. More... | |
kAllocTrait | kObject_VAllocTraits (kObject object) |
Protected virtual method that gets the bitset of allocator traits for any allocators used within this object, including aggregated child elements. More... | |
kStatus | kObject_VClone (kObject object, kObject source, kAlloc valueAllocator, kObject context) |
Protected virtual method that clones (makes a deep copy of) the specified source object. More... | |
kStatus | kObject_VDisposeItems (kObject object) |
Protected virtual method that destroys any aggregated child objects associated with a collection. More... | |
kBool | kObject_VEquals (kObject object, kObject other) |
Protected virtual method that compares two objects for equality. More... | |
kSize | kObject_VHashCode (kObject object) |
Protected virtual method that calculates a hash code representing the object instance. More... | |
kBool | kObject_VHasShared (kObject object) |
Protected virtual method that reports whether an object or any of its aggregated child elements has a reference count greater than one. More... | |
kStatus | kObject_VRelease (kObject object) |
Protected virtual method that deallocates any resources owned by the object. More... | |
kSize | kObject_VSize (kObject object) |
Protected virtual method that calculates the total size (in bytes) of the object instance. More... | |