.TH "include/Zycore/Bitset.h" 3 "Version 1.5.0.0" "Zycore" \" -*- nroff -*- .ad l .nh .SH NAME include/Zycore/Bitset.h .SH SYNOPSIS .br .PP \fC#include \fP .br \fC#include \fP .br \fC#include \fP .br \fC#include \fP .br .SS "Classes" .in +1c .ti -1c .RI "struct \fBZyanBitset_\fP" .br .in -1c .SS "Typedefs" .in +1c .ti -1c .RI "typedef struct \fBZyanBitset_\fP \fBZyanBitset\fP" .br .ti -1c .RI "typedef \fBZyanStatus\fP(* \fBZyanBitsetByteOperation\fP) (ZyanU8 *v1, const ZyanU8 *v2)" .br .in -1c .SS "Functions" .in +1c .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZYAN_REQUIRES_LIBC\fP \fBZyanStatus\fP \fBZyanBitsetInit\fP (\fBZyanBitset\fP *bitset, ZyanUSize count)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetInitEx\fP (\fBZyanBitset\fP *bitset, ZyanUSize count, \fBZyanAllocator\fP *allocator, ZyanU8 growth_factor, ZyanU8 shrink_threshold)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetInitBuffer\fP (\fBZyanBitset\fP *bitset, ZyanUSize count, void *buffer, ZyanUSize capacity)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetDestroy\fP (\fBZyanBitset\fP *bitset)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetPerformByteOperation\fP (\fBZyanBitset\fP *destination, const \fBZyanBitset\fP *source, \fBZyanBitsetByteOperation\fP operation)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetAND\fP (\fBZyanBitset\fP *destination, const \fBZyanBitset\fP *source)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetOR\fP (\fBZyanBitset\fP *destination, const \fBZyanBitset\fP *source)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetXOR\fP (\fBZyanBitset\fP *destination, const \fBZyanBitset\fP *source)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetFlip\fP (\fBZyanBitset\fP *bitset)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetSet\fP (\fBZyanBitset\fP *bitset, ZyanUSize index)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetReset\fP (\fBZyanBitset\fP *bitset, ZyanUSize index)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetAssign\fP (\fBZyanBitset\fP *bitset, ZyanUSize index, \fBZyanBool\fP value)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetToggle\fP (\fBZyanBitset\fP *bitset, ZyanUSize index)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetTest\fP (\fBZyanBitset\fP *bitset, ZyanUSize index)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetTestMSB\fP (\fBZyanBitset\fP *bitset)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetTestLSB\fP (\fBZyanBitset\fP *bitset)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetSetAll\fP (\fBZyanBitset\fP *bitset)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetResetAll\fP (\fBZyanBitset\fP *bitset)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetPush\fP (\fBZyanBitset\fP *bitset, \fBZyanBool\fP value)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetPop\fP (\fBZyanBitset\fP *bitset)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetClear\fP (\fBZyanBitset\fP *bitset)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetReserve\fP (\fBZyanBitset\fP *bitset, ZyanUSize count)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetShrinkToFit\fP (\fBZyanBitset\fP *bitset)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetGetSize\fP (const \fBZyanBitset\fP *bitset, ZyanUSize *size)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetGetCapacity\fP (const \fBZyanBitset\fP *bitset, ZyanUSize *capacity)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetGetSizeBytes\fP (const \fBZyanBitset\fP *bitset, ZyanUSize *size)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetGetCapacityBytes\fP (const \fBZyanBitset\fP *bitset, ZyanUSize *capacity)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetCount\fP (const \fBZyanBitset\fP *bitset, ZyanUSize *count)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetAll\fP (const \fBZyanBitset\fP *bitset)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetAny\fP (const \fBZyanBitset\fP *bitset)" .br .ti -1c .RI "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP \fBZyanBitsetNone\fP (const \fBZyanBitset\fP *bitset)" .br .in -1c .SH "Detailed Description" .PP Implements the bitset class\&. .SH "Typedef Documentation" .PP .SS "typedef struct \fBZyanBitset_\fP \fBZyanBitset\fP" Defines the \fCZyanVector\fP struct\&. .PP All fields in this struct should be considered as 'private'\&. Any changes may lead to unexpected behavior\&. .SS "typedef \fBZyanStatus\fP(* ZyanBitsetByteOperation) (ZyanU8 *v1, const ZyanU8 *v2)" Defines the \fCZyanBitsetByteOperation\fP function prototype\&. .PP \fBParameters\fP .RS 4 \fIv1\fP A pointer to the first byte\&. This value receives the result after performing the desired operation\&. .br \fIv2\fP A pointer to the second byte\&. .RE .PP \fBReturns\fP .RS 4 A zyan status code\&. .RE .PP This function is used to perform byte-wise operations on two \fCZyanBitset\fP instances\&. .SH "Function Documentation" .PP .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetAll (const \fBZyanBitset\fP * bitset)" Checks, if all bits of the given bitset are set\&. .PP \fBParameters\fP .RS 4 \fIbitset\fP A pointer to the \fCZyanBitset\fP instance\&. .RE .PP \fBReturns\fP .RS 4 \fCZYAN_STATUS_TRUE\fP, if all bits are set, \fCZYAN_STATUS_FALSE\fP, if not\&. Another zyan status code, if an error occurred\&. .RE .PP .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetAND (\fBZyanBitset\fP * destination, const \fBZyanBitset\fP * source)" Performs a logical \fCAND\fP operation on the given \fCZyanBitset\fP instances\&. .PP \fBParameters\fP .RS 4 \fIdestination\fP A pointer to the \fCZyanBitset\fP instance that is used as the first input and as the destination\&. .br \fIsource\fP A pointer to the \fCZyanBitset\fP instance that is used as the second input\&. .RE .PP \fBReturns\fP .RS 4 A zyan status code\&. .RE .PP If the destination bitmask contains more bits than the source one, the state of the remaining bits will be undefined\&. .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetAny (const \fBZyanBitset\fP * bitset)" Checks, if at least one bit of the given bitset is set\&. .PP \fBParameters\fP .RS 4 \fIbitset\fP A pointer to the \fCZyanBitset\fP instance\&. .RE .PP \fBReturns\fP .RS 4 \fCZYAN_STATUS_TRUE\fP, if at least one bit is set, \fCZYAN_STATUS_FALSE\fP, if not\&. Another zyan status code, if an error occurred\&. .RE .PP .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetAssign (\fBZyanBitset\fP * bitset, ZyanUSize index, \fBZyanBool\fP value)" Sets the bit at \fCindex\fP of the given \fCZyanBitset\fP instance to the specified \fCvalue\fP\&. .PP \fBParameters\fP .RS 4 \fIbitset\fP A pointer to the \fCZyanBitset\fP instance\&. .br \fIindex\fP The bit index\&. .br \fIvalue\fP The new value\&. .RE .PP \fBReturns\fP .RS 4 A zyan status code\&. .RE .PP .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetClear (\fBZyanBitset\fP * bitset)" Deletes all bits of the given \fCZyanBitset\fP instance\&. .PP \fBParameters\fP .RS 4 \fIbitset\fP A pointer to the \fCZyanBitset\fP instance\&. .RE .PP \fBReturns\fP .RS 4 A zyan status code\&. .RE .PP .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetCount (const \fBZyanBitset\fP * bitset, ZyanUSize * count)" Returns the amount of bits set in the given bitset\&. .PP \fBParameters\fP .RS 4 \fIbitset\fP A pointer to the \fCZyanBitset\fP instance\&. .br \fIcount\fP Receives the amount of bits set in the given bitset\&. .RE .PP \fBReturns\fP .RS 4 A zyan status code\&. .RE .PP .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetDestroy (\fBZyanBitset\fP * bitset)" Destroys the given \fCZyanBitset\fP instance\&. .PP \fBParameters\fP .RS 4 \fIbitset\fP A pointer to the \fCZyanBitset\fP instance\&. .RE .PP \fBReturns\fP .RS 4 A zyan status code\&. .RE .PP .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetFlip (\fBZyanBitset\fP * bitset)" Flips all bits of the given \fCZyanBitset\fP instance\&. .PP \fBParameters\fP .RS 4 \fIbitset\fP A pointer to the \fCZyanBitset\fP instance\&. .RE .PP \fBReturns\fP .RS 4 A zyan status code\&. .RE .PP .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetGetCapacity (const \fBZyanBitset\fP * bitset, ZyanUSize * capacity)" Returns the current capacity of the bitset in bits\&. .PP \fBParameters\fP .RS 4 \fIbitset\fP A pointer to the \fCZyanBitset\fP instance\&. .br \fIcapacity\fP Receives the size of the bitset in bits\&. .RE .PP \fBReturns\fP .RS 4 A zyan status code\&. .RE .PP .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetGetCapacityBytes (const \fBZyanBitset\fP * bitset, ZyanUSize * capacity)" Returns the current capacity of the bitset in bytes\&. .PP \fBParameters\fP .RS 4 \fIbitset\fP A pointer to the \fCZyanBitset\fP instance\&. .br \fIcapacity\fP Receives the size of the bitset in bytes\&. .RE .PP \fBReturns\fP .RS 4 A zyan status code\&. .RE .PP .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetGetSize (const \fBZyanBitset\fP * bitset, ZyanUSize * size)" Returns the current size of the bitset in bits\&. .PP \fBParameters\fP .RS 4 \fIbitset\fP A pointer to the \fCZyanBitset\fP instance\&. .br \fIsize\fP Receives the size of the bitset in bits\&. .RE .PP \fBReturns\fP .RS 4 A zyan status code\&. .RE .PP .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetGetSizeBytes (const \fBZyanBitset\fP * bitset, ZyanUSize * size)" Returns the current size of the bitset in bytes\&. .PP \fBParameters\fP .RS 4 \fIbitset\fP A pointer to the \fCZyanBitset\fP instance\&. .br \fIsize\fP Receives the size of the bitset in bytes\&. .RE .PP \fBReturns\fP .RS 4 A zyan status code\&. .RE .PP .SS "\fBZYCORE_EXPORT\fP \fBZYAN_REQUIRES_LIBC\fP \fBZyanStatus\fP ZyanBitsetInit (\fBZyanBitset\fP * bitset, ZyanUSize count)" Initializes the given \fCZyanBitset\fP instance\&. .PP \fBParameters\fP .RS 4 \fIbitset\fP A pointer to the \fCZyanBitset\fP instance\&. .br \fIcount\fP The initial amount of bits\&. .RE .PP \fBReturns\fP .RS 4 A zyan status code\&. .RE .PP The space for the bitset is dynamically allocated by the default allocator using the default growth factor and the default shrink threshold\&. .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetInitBuffer (\fBZyanBitset\fP * bitset, ZyanUSize count, void * buffer, ZyanUSize capacity)" Initializes the given \fCZyanBitset\fP instance and configures it to use a custom user defined buffer with a fixed size\&. .PP \fBParameters\fP .RS 4 \fIbitset\fP A pointer to the \fCZyanBitset\fP instance\&. .br \fIcount\fP The initial amount of bits\&. .br \fIbuffer\fP A pointer to the buffer that is used as storage for the bits\&. .br \fIcapacity\fP The maximum capacity (number of bytes) of the buffer\&. .RE .PP \fBReturns\fP .RS 4 A zyan status code\&. .RE .PP .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetInitEx (\fBZyanBitset\fP * bitset, ZyanUSize count, \fBZyanAllocator\fP * allocator, ZyanU8 growth_factor, ZyanU8 shrink_threshold)" Initializes the given \fCZyanBitset\fP instance and sets a custom \fCallocator\fP and memory allocation/deallocation parameters\&. .PP \fBParameters\fP .RS 4 \fIbitset\fP A pointer to the \fCZyanBitset\fP instance\&. .br \fIcount\fP The initial amount of bits\&. .br \fIallocator\fP A pointer to a \fCZyanAllocator\fP instance\&. .br \fIgrowth_factor\fP The growth factor\&. .br \fIshrink_threshold\fP The shrink threshold\&. .RE .PP \fBReturns\fP .RS 4 A zyan status code\&. .RE .PP A growth factor of \fC1\fP disables overallocation and a shrink threshold of \fC0\fP disables dynamic shrinking\&. .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetNone (const \fBZyanBitset\fP * bitset)" Checks, if none bits of the given bitset are set\&. .PP \fBParameters\fP .RS 4 \fIbitset\fP A pointer to the \fCZyanBitset\fP instance\&. .RE .PP \fBReturns\fP .RS 4 \fCZYAN_STATUS_TRUE\fP, if none bits are set, \fCZYAN_STATUS_FALSE\fP, if not\&. Another zyan status code, if an error occurred\&. .RE .PP .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetOR (\fBZyanBitset\fP * destination, const \fBZyanBitset\fP * source)" Performs a logical \fCOR\fP operation on the given \fCZyanBitset\fP instances\&. .PP \fBParameters\fP .RS 4 \fIdestination\fP A pointer to the \fCZyanBitset\fP instance that is used as the first input and as the destination\&. .br \fIsource\fP A pointer to the \fCZyanBitset\fP instance that is used as the second input\&. .RE .PP \fBReturns\fP .RS 4 A zyan status code\&. .RE .PP If the destination bitmask contains more bits than the source one, the state of the remaining bits will be undefined\&. .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetPerformByteOperation (\fBZyanBitset\fP * destination, const \fBZyanBitset\fP * source, \fBZyanBitsetByteOperation\fP operation)" Performs a byte-wise \fCoperation\fP for every byte in the given \fCZyanBitset\fP instances\&. .PP \fBParameters\fP .RS 4 \fIdestination\fP A pointer to the \fCZyanBitset\fP instance that is used as the first input and as the destination\&. .br \fIsource\fP A pointer to the \fCZyanBitset\fP instance that is used as the second input\&. .br \fIoperation\fP A pointer to the function that performs the desired operation\&. .RE .PP \fBReturns\fP .RS 4 A zyan status code\&. .RE .PP The \fCoperation\fP callback is invoked once for every byte in the smallest of the \fCZyanBitset\fP instances\&. .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetPop (\fBZyanBitset\fP * bitset)" Removes the last bit of the bitset\&. .PP \fBParameters\fP .RS 4 \fIbitset\fP A pointer to the \fCZyanBitset\fP instance\&. .RE .PP \fBReturns\fP .RS 4 A zyan status code\&. .RE .PP .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetPush (\fBZyanBitset\fP * bitset, \fBZyanBool\fP value)" Adds a new bit at the end of the bitset\&. .PP \fBParameters\fP .RS 4 \fIbitset\fP A pointer to the \fCZyanBitset\fP instance\&. .br \fIvalue\fP The value of the new bit\&. .RE .PP \fBReturns\fP .RS 4 A zyan status code\&. .RE .PP .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetReserve (\fBZyanBitset\fP * bitset, ZyanUSize count)" Changes the capacity of the given \fCZyanBitset\fP instance\&. .PP \fBParameters\fP .RS 4 \fIbitset\fP A pointer to the \fCZyanBitset\fP instance\&. .br \fIcount\fP The new capacity (number of bits)\&. .RE .PP \fBReturns\fP .RS 4 A zyan status code\&. .RE .PP .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetReset (\fBZyanBitset\fP * bitset, ZyanUSize index)" Sets the bit at \fCindex\fP of the given \fCZyanBitset\fP instance to \fC0\fP\&. .PP \fBParameters\fP .RS 4 \fIbitset\fP A pointer to the \fCZyanBitset\fP instance\&. .br \fIindex\fP The bit index\&. .RE .PP \fBReturns\fP .RS 4 A zyan status code\&. .RE .PP .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetResetAll (\fBZyanBitset\fP * bitset)" Sets all bits of the given \fCZyanBitset\fP instance to \fC0\fP\&. .PP \fBParameters\fP .RS 4 \fIbitset\fP A pointer to the \fCZyanBitset\fP instance\&. .RE .PP \fBReturns\fP .RS 4 A zyan status code\&. .RE .PP .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetSet (\fBZyanBitset\fP * bitset, ZyanUSize index)" Sets the bit at \fCindex\fP of the given \fCZyanBitset\fP instance to \fC1\fP\&. .PP \fBParameters\fP .RS 4 \fIbitset\fP A pointer to the \fCZyanBitset\fP instance\&. .br \fIindex\fP The bit index\&. .RE .PP \fBReturns\fP .RS 4 A zyan status code\&. .RE .PP .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetSetAll (\fBZyanBitset\fP * bitset)" Sets all bits of the given \fCZyanBitset\fP instance to \fC1\fP\&. .PP \fBParameters\fP .RS 4 \fIbitset\fP A pointer to the \fCZyanBitset\fP instance\&. .RE .PP \fBReturns\fP .RS 4 A zyan status code\&. .RE .PP .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetShrinkToFit (\fBZyanBitset\fP * bitset)" Shrinks the capacity of the given bitset to match it's size\&. .PP \fBParameters\fP .RS 4 \fIbitset\fP A pointer to the \fCZyanBitset\fP instance\&. .RE .PP \fBReturns\fP .RS 4 A zyan status code\&. .RE .PP .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetTest (\fBZyanBitset\fP * bitset, ZyanUSize index)" Returns the value of the bit at \fCindex\fP\&. .PP \fBParameters\fP .RS 4 \fIbitset\fP A pointer to the \fCZyanBitset\fP instance\&. .br \fIindex\fP The bit index\&. .RE .PP \fBReturns\fP .RS 4 \fCZYAN_STATUS_TRUE\fP, if the bit is set or \fCZYAN_STATUS_FALSE\fP, if not, Another zyan status code, if an error occurred\&. .RE .PP .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetTestLSB (\fBZyanBitset\fP * bitset)" Returns the value of the least significant bit\&. .PP \fBParameters\fP .RS 4 \fIbitset\fP A pointer to the \fCZyanBitset\fP instance\&. .RE .PP \fBReturns\fP .RS 4 \fCZYAN_STATUS_TRUE\fP, if the bit is set or \fCZYAN_STATUS_FALSE\fP, if not\&. Another zyan status code, if an error occurred\&. .RE .PP .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetTestMSB (\fBZyanBitset\fP * bitset)" Returns the value of the most significant bit\&. .PP \fBParameters\fP .RS 4 \fIbitset\fP A pointer to the \fCZyanBitset\fP instance\&. .RE .PP \fBReturns\fP .RS 4 \fCZYAN_STATUS_TRUE\fP, if the bit is set or \fCZYAN_STATUS_FALSE\fP, if not\&. Another zyan status code, if an error occurred\&. .RE .PP .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetToggle (\fBZyanBitset\fP * bitset, ZyanUSize index)" Toggles the bit at \fCindex\fP of the given \fCZyanBitset\fP instance\&. .PP \fBParameters\fP .RS 4 \fIbitset\fP A pointer to the \fCZyanBitset\fP instance\&. .br \fIindex\fP The bit index\&. .RE .PP \fBReturns\fP .RS 4 A zyan status code\&. .RE .PP .SS "\fBZYCORE_EXPORT\fP \fBZyanStatus\fP ZyanBitsetXOR (\fBZyanBitset\fP * destination, const \fBZyanBitset\fP * source)" Performs a logical \fCXOR\fP operation on the given \fCZyanBitset\fP instances\&. .PP \fBParameters\fP .RS 4 \fIdestination\fP A pointer to the \fCZyanBitset\fP instance that is used as the first input and as the destination\&. .br \fIsource\fP A pointer to the \fCZyanBitset\fP instance that is used as the second input\&. .RE .PP \fBReturns\fP .RS 4 A zyan status code\&. .RE .PP If the destination bitmask contains more bits than the source one, the state of the remaining bits will be undefined\&. .SH "Author" .PP Generated automatically by Doxygen for Zycore from the source code\&.