59 #if __cplusplus > 199711L
60 #include <unordered_map>
80 std::vector<char> dataBuffer;
99 void init(std::vector<char> &buffer);
105 void init(
const char *buffer,
int size);
160 void remove(
int group,
int item);
230 static std::pair<int,int>
251 static void get(
const char *buffer,
hipo::node &_n,
int group,
int item);
Core HIPO data structures: structure, composite, and bank classes for tabular data access.
Represents a HIPO bank, a tabular data structure with rows and typed columns.
Represents a HIPO event, a container for multiple structures/banks.
std::vector< char > & getEventBuffer()
static void getStructureNoCopy(const char *buffer, hipo::structure &str, int group, int item)
Extract a structure from a raw buffer without copying the data.
event()
Default constructor. Creates an empty event.
void write(hipo::node &node)
Write a node into this event.
void addStructure(hipo::structure &str)
Add a structure to the event.
void get(hipo::node &_n, int group, int item)
Get a node from the event by group and item identifiers.
void read(hipo::bank &b)
Read a bank from this event (alias for getStructure).
void getStructure(hipo::structure &str, int group, int item)
Extract a structure from the event by group and item identifiers.
std::pair< int, int > getStructurePosition(int group, int item)
Find the position and length of a structure in the event buffer.
void init(std::vector< char > &buffer)
Initialize the event from an existing buffer.
void show()
Display the event contents to standard output.
void remove(hipo::bank &str)
Remove a bank from the event.
std::pair< int, int > getStructurePosition4(int group, int item)
Find the position and length of a structure using 4-byte header format.
void reset()
Reset the event to an empty state.
void add(hipo::node &_n)
Add a node to the event.
virtual ~event()
Destructor.
void replace(hipo::bank &bank)
Replace an existing bank in the event.
void getStructure4(hipo::structure &str, int group, int item)
Extract a structure using 4-byte header format.
Low-level node representing a tagged data element in a HIPO structure.
Low-level data structure representing a HIPO structure.
Low-level node class for handling tagged binary data elements in HIPO structures.