Classes | |
class | bstream |
This class serves as a parent to ibstream and obstream providing basic facilities for maintaining up to a one octet buffer of bits. More... | |
class | bits |
class | octets |
class | whole |
class | Buffer |
This class adds an interface for managing a packed bit (or octet) buffer. More... | |
class | Data |
This structure represents a data chunk of octets. More... | |
struct | bit_exception |
Base struct for all bit library exceptions. More... | |
class | field_exception |
struct | indices_exception |
Base class for all indices exceptions. More... | |
struct | record_exception |
Base struct for all index exceptions. More... | |
struct | type_exception |
Base struct for all type exceptions. More... | |
class | Field |
A Field identifies a starting point and a length. More... | |
class | FieldBase |
FieldBase serves as a top level parent providing the concepts of a starting offset within a buffer, a length value, and units associated with each. More... | |
class | FieldBuffer |
Combines the concept of a field with a means of extracting field data from a buffer. More... | |
class | FieldType |
class | FieldVector |
A Field identifies a starting point and a length. More... | |
class | FloatingPoint |
class | Float |
class | ibstream |
Manage an input stream with facilities for bitwise extraction. More... | |
class | Integer |
class | Int |
class | obstream |
Manage an output stream with facilities for bitwise insertion. More... | |
class | Record |
bit::Record is a tree of bit::Field and bit::Record types sorted by their starting bit positions. More... | |
class | RecordBase |
Provides a common interface to both Record and RecordVector classes. More... | |
class | RecordBuffer |
Combines the concepts of a Record or data layout with actual data. More... | |
class | RecordStorage |
Implements a storage mechanism that provides Field set management and also provides efficient string name lookup of elements. More... | |
class | RecordVector |
Implements a vector of records, synchronizing all fields within each record. More... | |
union | le_single_IEEE754 |
union | le_double_IEEE754 |
union | le_quadruple_IEEE754 |
union | be_single_IEEE754 |
union | be_double_IEEE754 |
union | be_quadruple_IEEE754 |
Namespaces | |
namespace | exception |
Typedefs | |
typedef enum bit::DataMode | DataMode |
typedef enum bit::UNITS | UNITS |
Convenience enumeration associating constant names with the most common unit sizes. | |
typedef enum bit::Container | Container |
List of field/record container types. | |
typedef enum bit::Type | Type |
Allowable field type assignments. | |
typedef enum bit::ByteOrder | ByteOrder |
Allowable byte orderings. | |
typedef enum bit::Sign | Sign |
Allowable integer sign representations. | |
typedef enum bit::Location | Location |
Used to define a packing/unpacking location with respect to a large memory chunk. | |
typedef enum bit::IntegerType | IntegerType |
typedef enum bit::Encoding | Encoding |
typedef Float< float > | FloatSingle |
typedef Float< double > | FloatDouble |
typedef Float< long double > | FloatQuadruple |
typedef Int< uint8_t > | UInt8 |
typedef Int< int8_t > | Int8 |
typedef Int< uint16_t > | UInt16 |
typedef Int< int16_t > | Int16 |
typedef Int< uint32_t > | UInt32 |
typedef Int< int32_t > | Int32 |
typedef Int< uint64_t > | UInt64 |
typedef Int< int64_t > | Int64 |
Enumerations | |
enum | DataMode { COPY, MANAGED, UNMANAGED } |
enum | UNITS { BITS = 1, OCTETS = 8 } |
Convenience enumeration associating constant names with the most common unit sizes. More... | |
enum | Container { FIELD, FIELD_VECTOR, FIELD_ELEMENT, RECORD, RECORD_VECTOR, RECORD_ELEMENT } |
List of field/record container types. More... | |
enum | Type { TYPE_NONE, TYPE_INTEGER, TYPE_FLOATING, TYPE_ASCII, TYPE_UTF8, TYPE_BCD } |
Allowable field type assignments. More... | |
enum | ByteOrder { BYTEORDER_HOST, BYTEORDER_NETWORK, BYTEORDER_BIG_ENDIAN, BYTEORDER_LITTLE_ENDIAN } |
Allowable byte orderings. More... | |
enum | Sign { SIGN_UNSIGNED, SIGN_TWOS_COMPLEMENT, SIGN_ONES_COMPLEMENT, SIGN_BIT } |
Allowable integer sign representations. More... | |
enum | Location { START, END } |
Used to define a packing/unpacking location with respect to a large memory chunk. More... | |
enum | IntegerType { UINT64, INT64, UINT32, INT32, UINT16, INT16, UINT8, INT8 } |
enum | Encoding { ENCODING_NONE, ENCODING_TYPE, ENCODING_BASE64, ENCODING_HEX, ENCODING_OCT, ENCODING_DEC } |
Functions | |
Encoding | encoding (const std::string &s) |
void | initialize_xml_file_load_path () |
RecordBase::pointer | xml_load_file (const std::string &filename) |
RecordBase::pointer | xml_load_memory (const std::string &string) |
RecordBase::pointer | xml_load_memory_raw (const unsigned char *contents, size_t bytes_count) |
RecordBase::pointer | xml_load_stream (std::istream &in) |
RecordBase::pointer | xml_read_record (xmlpp::Element &xml_element, int &last_position, size_t length_units, size_t offset_units, const FieldType &default_type) |
Field::pointer | xml_read_field (xmlpp::Element &xml_element, int &last_position, size_t length_units, size_t offset_units, const FieldType &default_type) |
FieldType | xml_read_type (xmlpp::Element &xml_element) |
void | xml_read_skip (xmlpp::Element &xml_element, int &last_position, size_t length_units, size_t offset_units) |
size_t | get_units (std::string s) |
std::string | get_xml_file_as_string (const std::string &filename) |
ibstream & | operator>> (ibstream &s, const bits &b) |
ibstream & | operator>> (ibstream &s, const octets &o) |
ibstream & | operator>> (ibstream &s, const whole &w) |
template<typename T> | |
ibstream & | operator>> (ibstream &s, T &t) |
obstream & | operator<< (obstream &s, const bits &b) |
obstream & | operator<< (obstream &s, const octets &o) |
obstream & | operator<< (obstream &s, const whole &w) |
template<typename T> | |
obstream & | operator<< (obstream &s, T &t) |
uint64_t | be_to_host (uint64_t x) |
convert 64 bit value x from big-endian to host byte order | |
int64_t | be_to_host (int64_t x) |
convert 64 bit value x from big-endian to host byte order | |
uint32_t | be_to_host (uint32_t x) |
convert 32 bit value x from big-endian to host byte order | |
int32_t | be_to_host (int32_t x) |
convert 32 bit value x from big-endian to host byte order | |
uint16_t | be_to_host (uint16_t x) |
convert 16 bit value x from big-endian to host byte order | |
int16_t | be_to_host (int16_t x) |
convert 16 bit value x from big-endian to host byte order | |
uint8_t | be_to_host (uint8_t x) |
convert 8 bit value x from big-endian to host byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
int8_t | be_to_host (int8_t x) |
convert 8 bit value x from big-endian to host byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
long double | be_to_host (long double x) |
convert long double value x from network to host byte order | |
double | be_to_host (double x) |
convert double value x from network to host byte order | |
float | be_to_host (float x) |
convert float value x from network to host byte order | |
uint64_t | host_to_be (uint64_t x) |
convert 64 bit value x from host to big-endian byte order | |
int64_t | host_to_be (int64_t x) |
convert 64 bit value x from host to big-endian byte order | |
uint32_t | host_to_be (uint32_t x) |
convert 32 bit value x from host to big-endian byte order | |
int32_t | host_to_be (int32_t x) |
convert 32 bit value x from host to big-endian byte order | |
uint16_t | host_to_be (uint16_t x) |
convert 16 bit value x from host to big-endian byte order | |
int16_t | host_to_be (int16_t x) |
convert 16 bit value x from host to big-endian byte order | |
uint8_t | host_to_be (uint8_t x) |
convert 8 bit value x from host to big-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
int8_t | host_to_be (int8_t x) |
convert 8 bit value x from host to big-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
long double | host_to_be (long double x) |
convert long double value x from host to network byte order | |
double | host_to_be (double x) |
convert double value x from host to network byte order | |
float | host_to_be (float x) |
convert float value x from host to network byte order | |
uint64_t | le_to_host (uint64_t x) |
convert 64 bit value x from little-endian to host byte order | |
int64_t | le_to_host (int64_t x) |
convert 64 bit value x from little-endian to host byte order | |
uint32_t | le_to_host (uint32_t x) |
convert 32 bit value x from little-endian to host byte order | |
int32_t | le_to_host (int32_t x) |
convert 32 bit value x from little-endian to host byte order | |
uint16_t | le_to_host (uint16_t x) |
convert 16 bit value x from little-endian to host byte order | |
int16_t | le_to_host (int16_t x) |
convert 16 bit value x from little-endian to host byte order | |
uint8_t | le_to_host (uint8_t x) |
convert 8 bit value x from little-endian to host byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
int8_t | le_to_host (int8_t x) |
convert 8 bit value x from little-endian to host byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
long double | le_to_host (long double x) |
convert long double value x from network to host byte order | |
double | le_to_host (double x) |
convert double value x from network to host byte order | |
float | le_to_host (float x) |
convert float value x from network to host byte order | |
uint64_t | host_to_le (uint64_t x) |
convert 64 bit value x from host to little-endian byte order | |
int64_t | host_to_le (int64_t x) |
convert 64 bit value x from host to little-endian byte order | |
uint32_t | host_to_le (uint32_t x) |
convert 32 bit value x from host to little-endian byte order | |
int32_t | host_to_le (int32_t x) |
convert 32 bit value x from host to little-endian byte order | |
uint16_t | host_to_le (uint16_t x) |
convert 16 bit value x from host to little-endian byte order | |
int16_t | host_to_le (int16_t x) |
convert 16 bit value x from host to little-endian byte order | |
uint8_t | host_to_le (uint8_t x) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
int8_t | host_to_le (int8_t x) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
long double | host_to_le (long double x) |
convert long double value x from host to network byte order | |
double | host_to_le (double x) |
convert double value x from host to network byte order | |
float | host_to_le (float x) |
convert float value x from host to network byte order | |
uint64_t | net_to_host (uint64_t x) |
convert 64 bit value x from network to host byte order | |
int64_t | net_to_host (int64_t x) |
convert 64 bit value x from network to host byte order | |
uint32_t | net_to_host (uint32_t x) |
convert 32 bit value x from network to host byte order | |
int32_t | net_to_host (int32_t x) |
convert 32 bit value x from network to host byte order | |
uint16_t | net_to_host (uint16_t x) |
convert 16 bit value x from network to host byte order | |
int16_t | net_to_host (int16_t x) |
convert 16 bit value x from network to host byte order | |
uint8_t | net_to_host (uint8_t x) |
convert 8 bit value x from network to host byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
int8_t | net_to_host (int8_t x) |
convert 8 bit value x from network to host byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
uint64_t | host_to_net (uint64_t x) |
convert 64 bit value x from host to network byte order | |
int64_t | host_to_net (int64_t x) |
convert 64 bit value x from host to network byte order | |
uint32_t | host_to_net (uint32_t x) |
convert 32 bit value x from host to network byte order | |
int32_t | host_to_net (int32_t x) |
convert 32 bit value x from host to network byte order | |
uint16_t | host_to_net (uint16_t x) |
convert 16 bit value x from host to network byte order | |
int16_t | host_to_net (int16_t x) |
convert 16 bit value x from host to network byte order | |
uint8_t | host_to_net (uint8_t x) |
convert 8 bit value x from host to network byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
int8_t | host_to_net (int8_t x) |
convert 8 bit value x from host to network byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
uint64_t | le_to_be (uint64_t x) |
convert 64 bit value x from host to little-endian byte order | |
int64_t | le_to_be (int64_t x) |
convert 64 bit value x from host to little-endian byte order | |
uint32_t | le_to_be (uint32_t x) |
convert 32 bit value x from host to little-endian byte order | |
int32_t | le_to_be (int32_t x) |
convert 32 bit value x from host to little-endian byte order | |
uint16_t | le_to_be (uint16_t x) |
convert 16 bit value x from host to little-endian byte order | |
int16_t | le_to_be (int16_t x) |
convert 16 bit value x from host to little-endian byte order | |
uint8_t | le_to_be (uint8_t x) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
int8_t | le_to_be (int8_t x) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
uint64_t | le_to_net (uint64_t x) |
convert 64 bit value x from host to little-endian byte order | |
int64_t | le_to_net (int64_t x) |
convert 64 bit value x from host to little-endian byte order | |
uint32_t | le_to_net (uint32_t x) |
convert 32 bit value x from host to little-endian byte order | |
int32_t | le_to_net (int32_t x) |
convert 32 bit value x from host to little-endian byte order | |
uint16_t | le_to_net (uint16_t x) |
convert 16 bit value x from host to little-endian byte order | |
int16_t | le_to_net (int16_t x) |
convert 16 bit value x from host to little-endian byte order | |
uint8_t | le_to_net (uint8_t x) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
int8_t | le_to_net (int8_t x) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
uint64_t | be_to_le (uint64_t x) |
convert 64 bit value x from host to little-endian byte order | |
int64_t | be_to_le (int64_t x) |
convert 64 bit value x from host to little-endian byte order | |
uint32_t | be_to_le (uint32_t x) |
convert 32 bit value x from host to little-endian byte order | |
int32_t | be_to_le (int32_t x) |
convert 32 bit value x from host to little-endian byte order | |
uint16_t | be_to_le (uint16_t x) |
convert 16 bit value x from host to little-endian byte order | |
int16_t | be_to_le (int16_t x) |
convert 16 bit value x from host to little-endian byte order | |
uint8_t | be_to_le (uint8_t x) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
int8_t | be_to_le (int8_t x) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
uint64_t | net_to_le (uint64_t x) |
convert 64 bit value x from host to little-endian byte order | |
int64_t | net_to_le (int64_t x) |
convert 64 bit value x from host to little-endian byte order | |
uint32_t | net_to_le (uint32_t x) |
convert 32 bit value x from host to little-endian byte order | |
int32_t | net_to_le (int32_t x) |
convert 32 bit value x from host to little-endian byte order | |
uint16_t | net_to_le (uint16_t x) |
convert 16 bit value x from host to little-endian byte order | |
int16_t | net_to_le (int16_t x) |
convert 16 bit value x from host to little-endian byte order | |
uint8_t | net_to_le (uint8_t x) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
int8_t | net_to_le (int8_t x) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
double | net_to_host (double x) |
convert double value x from network to host byte order | |
float | net_to_host (float x) |
convert float value x from network to host byte order | |
long double | net_to_host (long double x) |
convert long double value x from network to host byte order | |
double | host_to_net (double x) |
convert double value x from host to network byte order | |
float | host_to_net (float x) |
convert float value x from host to network byte order | |
long double | host_to_net (long double x) |
convert long double value x from host to network byte order | |
double | le_to_be (double x) |
convert double value x from host to network byte order | |
float | le_to_be (float x) |
convert float value x from host to network byte order | |
long double | le_to_be (long double x) |
convert long double value x from host to network byte order | |
double | le_to_net (double x) |
convert double value x from host to network byte order | |
float | le_to_net (float x) |
convert float value x from host to network byte order | |
long double | le_to_net (long double x) |
convert long double value x from host to network byte order | |
double | be_to_le (double x) |
convert double value x from host to network byte order | |
float | be_to_le (float x) |
convert float value x from host to network byte order | |
long double | be_to_le (long double x) |
convert long double value x from host to network byte order | |
double | net_to_le (double x) |
convert double value x from host to network byte order | |
float | net_to_le (float x) |
convert float value x from host to network byte order | |
long double | net_to_le (long double x) |
convert long double value x from host to network byte order | |
size_t | octet_ceiling (size_t bits) |
Calculate the number of octets required to completely hold n bits. | |
size_t | octet_floor (size_t bits) |
Calculate the number of whole octets required to hold n bits. | |
void * | starting_octet (void *p, size_t bits) |
Given a pointer p to a memory segment and a bit offset, return a pointer to the octet that contains the start of the sequence. | |
void * | ending_octet (void *p, size_t bits) |
Given a pointer p to a memory segment and a bit offset, return a pointer to the octet that contains the end of the sequence. | |
size_t | last_octet_upper_bits (size_t bits) |
Given a bit sequence starting at zero, calculate the number of of upper (used) bits in the last octet. | |
size_t | last_octet_lower_bits (size_t bits) |
Given a bit sequence starting at zero, calculate the number of lower (unused) bits in the last octet. | |
void * | left_shift (void *buffer, size_t buffer_size, size_t lshift_bits) |
Left shift an entire memory segment by a given number of bits. | |
void * | right_shift (void *buffer, size_t buffer_size, size_t rshift_bits) |
Right shift an enitre memory segment by a given number of bits. | |
std::string | hex_string (void *buffer, size_t buffer_size, bool uppercase, std::string separator, std::string prefix, std::string postfix) |
std::string | binary_string (void *buffer, size_t buffer_size, std::string separator, size_t separator_digits, std::string prefix, std::string postfix) |
Variables | |
const uint8_t | masks [8] |
std::vector< std::string > | xml_file_load_path |
bool | xml_file_load_path_initialized = false |
typedef enum bit::ByteOrder bit::ByteOrder |
Allowable byte orderings.
typedef enum bit::Container bit::Container |
List of field/record container types.
typedef enum bit::DataMode bit::DataMode |
typedef enum bit::Encoding bit::Encoding |
typedef Float<double> bit::FloatDouble |
typedef Float<long double> bit::FloatQuadruple |
typedef Float<float> bit::FloatSingle |
typedef Int<int16_t> bit::Int16 |
typedef Int<int32_t> bit::Int32 |
typedef Int<int64_t> bit::Int64 |
typedef enum bit::IntegerType bit::IntegerType |
typedef enum bit::Location bit::Location |
Used to define a packing/unpacking location with respect to a large memory chunk.
typedef Int<uint16_t> bit::UInt16 |
typedef Int<uint32_t> bit::UInt32 |
typedef Int<uint64_t> bit::UInt64 |
typedef Int<uint8_t> bit::UInt8 |
typedef enum bit::UNITS bit::UNITS |
Convenience enumeration associating constant names with the most common unit sizes.
enum bit::ByteOrder |
enum bit::Container |
enum bit::DataMode |
enum bit::Encoding |
enum bit::IntegerType |
enum bit::Location |
enum bit::Sign |
enum bit::Type |
enum bit::UNITS |
std::string bit::binary_string | ( | void * | buffer, | |
size_t | buffer_size, | |||
std::string | separator, | |||
size_t | separator_digits, | |||
std::string | prefix, | |||
std::string | postfix | |||
) |
Encoding bit::encoding | ( | const std::string & | s | ) |
References ENCODING_BASE64, ENCODING_DEC, ENCODING_HEX, ENCODING_NONE, ENCODING_OCT, and ENCODING_TYPE.
Referenced by xml_read_field(), and xml_read_record().
void * bit::ending_octet | ( | void * | p, | |
size_t | bits | |||
) |
Given a pointer p to a memory segment and a bit offset, return a pointer to the octet that contains the end of the sequence.
References octet_ceiling().
Referenced by bit::Buffer::clear_bits().
size_t bit::get_units | ( | std::string | s | ) |
Referenced by xml_read_field(), xml_read_record(), and xml_read_skip().
std::string bit::get_xml_file_as_string | ( | const std::string & | filename | ) |
References initialize_xml_file_load_path(), xml_file_load_path, and xml_file_load_path_initialized.
std::string bit::hex_string | ( | void * | buffer, | |
size_t | buffer_size, | |||
bool | uppercase, | |||
std::string | separator, | |||
std::string | prefix, | |||
std::string | postfix | |||
) |
void bit::initialize_xml_file_load_path | ( | ) |
References BIT_PACKAGE_NAME_RELEASE, and xml_file_load_path.
Referenced by get_xml_file_as_string(), and xml_load_file().
size_t bit::last_octet_lower_bits | ( | size_t | bits | ) |
Given a bit sequence starting at zero, calculate the number of lower (unused) bits in the last octet.
ex: last_octet_lower_bits(10) returns 6.
Referenced by bit::Buffer::clear_bits(), bit::Buffer::pack(), and bit::Buffer::unpack().
size_t bit::last_octet_upper_bits | ( | size_t | bits | ) |
Given a bit sequence starting at zero, calculate the number of of upper (used) bits in the last octet.
ex: last_octet_upper_bits(10) returns 2.
Referenced by bit::Buffer::clear_bits(), and bit::Buffer::pack().
void * bit::left_shift | ( | void * | buffer, | |
size_t | buffer_size, | |||
size_t | lshift_bits | |||
) |
Left shift an entire memory segment by a given number of bits.
References octet_ceiling(), octet_floor(), and starting_octet().
Referenced by bit::Buffer::unpack().
size_t bit::octet_ceiling | ( | size_t | bits | ) |
Calculate the number of octets required to completely hold n bits.
ex: octet_ceiling(12) returns 2.
Referenced by bit::Buffer::clear_bits(), ending_octet(), left_shift(), bit::Buffer::pack(), and bit::Buffer::unpack().
size_t bit::octet_floor | ( | size_t | bits | ) |
Calculate the number of whole octets required to hold n bits.
ex: octet_floor(12) returns 1.
Referenced by left_shift(), right_shift(), and starting_octet().
obstream& bit::operator<< | ( | obstream & | s, | |
T & | t | |||
) | [inline] |
obstream& bit::operator<< | ( | obstream & | s, | |
const whole & | w | |||
) | [inline] |
References bit::bstream::m_state, bit::bstream::m_stateval, and bit::bstream::WHOLE.
obstream& bit::operator<< | ( | obstream & | s, | |
const octets & | o | |||
) | [inline] |
References bit::bstream::m_state, bit::bstream::m_stateval, bit::bstream::OCTETS, and bit::octets::val.
obstream& bit::operator<< | ( | obstream & | s, | |
const bits & | b | |||
) | [inline] |
References bit::bstream::BITS, bit::bstream::m_state, bit::bstream::m_stateval, and bit::bits::val.
ibstream& bit::operator>> | ( | ibstream & | s, | |
T & | t | |||
) | [inline] |
ibstream& bit::operator>> | ( | ibstream & | s, | |
const whole & | w | |||
) | [inline] |
References bit::bstream::m_state, bit::bstream::m_stateval, and bit::bstream::WHOLE.
ibstream& bit::operator>> | ( | ibstream & | s, | |
const octets & | o | |||
) | [inline] |
References bit::bstream::m_state, bit::bstream::m_stateval, bit::bstream::OCTETS, and bit::octets::val.
ibstream& bit::operator>> | ( | ibstream & | s, | |
const bits & | b | |||
) | [inline] |
References bit::bstream::BITS, bit::bstream::m_state, bit::bstream::m_stateval, and bit::bits::val.
void * bit::right_shift | ( | void * | m, | |
size_t | octets, | |||
size_t | bits | |||
) |
Right shift an enitre memory segment by a given number of bits.
References octet_floor().
Referenced by bit::Buffer::pack().
void * bit::starting_octet | ( | void * | p, | |
size_t | bits | |||
) |
Given a pointer p to a memory segment and a bit offset, return a pointer to the octet that contains the start of the sequence.
References octet_floor().
Referenced by bit::Buffer::clear_bits(), and left_shift().
RecordBase::pointer bit::xml_load_file | ( | const std::string & | filename | ) |
RecordBase::pointer bit::xml_load_memory | ( | const std::string & | string | ) |
References xml_read_record().
RecordBase::pointer bit::xml_load_memory_raw | ( | const unsigned char * | contents, | |
size_t | bytes_count | |||
) |
References xml_read_record().
RecordBase::pointer bit::xml_load_stream | ( | std::istream & | in | ) |
References xml_read_record().
Field::pointer bit::xml_read_field | ( | xmlpp::Element & | xml_element, | |
int & | last_position, | |||
size_t | length_units, | |||
size_t | offset_units, | |||
const FieldType & | default_type | |||
) |
References BITS, bit::Field::create(), bit::FieldVector::create(), encoding(), get_units(), and xml_read_type().
Referenced by xml_read_record().
RecordBase::pointer bit::xml_read_record | ( | xmlpp::Element & | xml_element, | |
int & | last_position, | |||
size_t | length_units, | |||
size_t | offset_units, | |||
const FieldType & | default_type | |||
) |
References BITS, bit::Record::create(), bit::RecordVector::create(), encoding(), get_units(), xml_read_field(), xml_read_skip(), and xml_read_type().
Referenced by xml_load_file(), xml_load_memory(), xml_load_memory_raw(), and xml_load_stream().
void bit::xml_read_skip | ( | xmlpp::Element & | xml_element, | |
int & | last_position, | |||
size_t | length_units, | |||
size_t | offset_units | |||
) |
FieldType bit::xml_read_type | ( | xmlpp::Element & | xml_element | ) |
References BYTEORDER_BIG_ENDIAN, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_NETWORK, bit::FieldType::set_byte_order(), bit::FieldType::set_sign(), bit::FieldType::set_type(), SIGN_BIT, SIGN_ONES_COMPLEMENT, SIGN_TWOS_COMPLEMENT, SIGN_UNSIGNED, TYPE_ASCII, TYPE_BCD, TYPE_FLOATING, TYPE_INTEGER, and TYPE_UTF8.
Referenced by xml_read_field(), and xml_read_record().
const uint8_t bit::masks[8] |
Initial value:
{ 0x00, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F }
Referenced by bit::Buffer::clear_bits(), bit::Buffer::pack(), and bit::Buffer::unpack().
std::vector< std::string > bit::xml_file_load_path |
Referenced by get_xml_file_as_string(), initialize_xml_file_load_path(), and xml_load_file().
bool bit::xml_file_load_path_initialized = false |
Referenced by get_xml_file_as_string(), and xml_load_file().