37 banks[std::string(
bank)].getSchema().show();
44 std::map<std::string, hipo::bank>::iterator it;
45 for (it = banks.begin(); it != banks.end(); it++)
47 event.getStructure(it->second);
55 return banks[
bank].getRows();
60 return banks[
bank].getInt(entry,row);
64 return banks[
bank].getLong(entry,row);
68 return banks[
bank].getFloat(entry,row);
72 return banks[
bank].getDouble(entry,row);
77 for(
int i = 0; i < length; i++) ptr[i] = b.
getByte(entry,i);
81 for(
int i = 0; i < length; i++) ptr[i] = b.
getShort(entry,i);
85 for(
int i = 0; i < length; i++) ptr[i] = b.
getInt(entry,i);
90 for(
int i = 0; i < length; i++) ptr[i] = b.
getFloat(entry,i);
95 int number = sources.size() + 1;
96 sources.insert(std::make_pair(number,
new inputSource(filename)));
101 int number = sources.size() + 1;
102 sources.insert(std::make_pair(number,
new inputSource(filename, tag)));
107 sources[fid]->define(
bank);
111 return sources[fid]->schema(
bank);
114 sources[fid]->describe(
bank);
118 return sources[fid]->getSize(
bank);
122 return sources[handle]->next();
126 return sources[handle]->getInt(
bank,entry,row);
130 return sources[handle]->getLong(
bank,entry,row);
136 return sources[handle]->getFloat(
bank,entry,row);
140 return sources[handle]->getDouble(
bank,entry,row);
Represents a HIPO bank, a tabular data structure with rows and typed columns.
int getInt(int item, int index) const noexcept
int getShort(int item, int index) const noexcept
float getFloat(int item, int index) const noexcept
int getByte(int item, int index) const noexcept
schema & getSchema(const char *name)
Retrieve a schema by name.
Represents a HIPO event, a container for multiple structures/banks.
void define(int fid, const char *bank)
Register a bank for reading in the given file.
int getInt(int handle, const char *bank, const char *entry, int row)
int getSize(int fid, const char *bank)
int getType(int handle, const char *bank, const char *entry)
int64_t getLong(int handle, const char *bank, const char *entry, int row)
double getDouble(int handle, const char *bank, const char *entry, int row)
void describe(int fid, const char *bank)
Print schema description for a bank in the given file.
int open(const char *filename)
Open a HIPO file and return its handle.
float getFloat(int handle, const char *bank, const char *entry, int row)
std::string schema(int fid, const char *bank)
bool next(int handle)
Advance to the next event in the given file.
Sequential reader for HIPO files.
void read(hipo::event &dataevent)
Read the current event into the given event object.
void readDictionary(hipo::dictionary &dict)
Read the schema dictionary from the file header.
void setTags(int tag)
Add an event tag to the read filter.
bool next()
Advance to the next event.
void open(const char *filename)
Open a HIPO file for reading.
std::string getSchemaString()
Serialize the schema to a definition string (e.g. "pid/I,px/F").
int getEntryOrder(const char *name) const
Get the column index for a given column name.
int getEntryType(int item) const noexcept
Get the type identifier of a column by index.
Multi-file HIPO data source management with integer handle interface.