Description

The Data class is designed to simplify working with binary and integer data with a fixed bit count. Rather than using raw integer types with lots of bitwise AND, OR, and shift operations to set or test bit segments within integer types, the Data class provides functions to simplify these tasks, making the operation clearer and less error prone. Functions are also provided to test advanced properties of integer types, such as parity and the highest set bit number, and conversion functions are provided to perform tasks like sign extension. An extensive set of custom operators are also provided to allow Data objects to be operated on directly in the same way as native integer types. The bit count of the Data objects are taken into account when calculating the results of any operations.

Constructors

Name Description
Public member Data

Management functions

Name Description
Public member Resize

Container size properties

Name Description
Public member GetBitMask
Public member GetMaxValue
Public member GetMaxValue
Public member GetHexCharCount
Public member GetBitCount

Data conversion functions

Name Description
Public member Convert
Public member SignExtend

Data segment extraction/insertion

Name Description
Public member GetData
Public member SetData
Public member MSB
Public member LSB
Public member GetBit
Public member SetBit
Public member GetByteFromBottomUp
Public member SetByteFromBottomUp
Public member GetByteFromTopDown
Public member SetByteFromTopDown
Public member GetDataSegment
Public member SetDataSegment

Upper/Lower half functions

Name Description
Public member GetUpperHalf
Public member GetLowerHalf
Public member SetUpperHalf
Public member SetLowerHalf

Upper/Lower bit functions

Name Description
Public member GetUpperBits
Public member GetLowerBits
Public member SetUpperBits
Public member SetLowerBits

Data properties

Name Description
Public member Even
Public member Odd
Public member Zero
Public member NonZero
Public member Negative
Public member Positive
Public member ParityEven
Public member ParityOdd
Public member GetSetBitCount
Public member GetHighestSetBitNumber
Public member GetHighestSetBitMask
Public member GetLowestSetBitNumber
Public member GetLowestSetBitMask

Custom operators

Name Description
Public member operators