This object contains the names of all of the nested fields available within a particular field. More...
#include "dcPackerCatalog.h"
Classes | |
class | Entry |
class | LiveCatalog |
class | LiveCatalogEntry |
Public Member Functions | |
int | find_entry_by_field (const DCPackerInterface *field) const |
Returns the index number of the entry with the indicated field, or -1 if no entry has the indicated field. More... | |
int | find_entry_by_name (const std::string &name) const |
Returns the index number of the entry with the indicated name, or -1 if no entry has the indicated name. More... | |
const Entry & | get_entry (int n) const |
Returns the nth entry in the catalog. More... | |
const LiveCatalog * | get_live_catalog (const char *data, size_t length) const |
Returns a LiveCatalog object indicating the positions within the indicated data record of each field within the catalog. More... | |
int | get_num_entries () const |
Returns the number of entries in the catalog. More... | |
void | release_live_catalog (const LiveCatalog *live_catalog) const |
Releases the LiveCatalog object that was returned by an earlier call to get_live_catalog(). More... | |
Friends | |
class | DCPackerInterface |
This object contains the names of all of the nested fields available within a particular field.
It is created on demand when a catalog is first requested from a particular field; its ownership is retained by the field so it must not be deleted.
Definition at line 29 of file dcPackerCatalog.h.
int DCPackerCatalog::find_entry_by_field | ( | const DCPackerInterface * | field | ) | const |
Returns the index number of the entry with the indicated field, or -1 if no entry has the indicated field.
The return value is suitable for passing to get_entry().
Definition at line 78 of file dcPackerCatalog.cxx.
int DCPackerCatalog::find_entry_by_name | ( | const std::string & | name | ) | const |
Returns the index number of the entry with the indicated name, or -1 if no entry has the indicated name.
The return value is suitable for passing to get_entry().
Definition at line 63 of file dcPackerCatalog.cxx.
Referenced by DCPackerInterface::find_seek_index().
|
inline |
Returns the nth entry in the catalog.
Definition at line 81 of file dcPackerCatalog.I.
const DCPackerCatalog::LiveCatalog * DCPackerCatalog::get_live_catalog | ( | const char * | data, |
size_t | length | ||
) | const |
Returns a LiveCatalog object indicating the positions within the indicated data record of each field within the catalog.
If the catalog's fields are all fixed-width, this may return a statically-allocated LiveCatalog object that is the same for all data records; otherwise, it will allocate a new LiveCatalog object that must be freed with a later call to release_live_catalog().
Definition at line 96 of file dcPackerCatalog.cxx.
Referenced by DCPacker::seek().
|
inline |
Returns the number of entries in the catalog.
Definition at line 73 of file dcPackerCatalog.I.
void DCPackerCatalog::release_live_catalog | ( | const LiveCatalog * | live_catalog | ) | const |
Releases the LiveCatalog object that was returned by an earlier call to get_live_catalog().
If this represents a newly-allocated live catalog, it will free it; otherwise, it will do nothing.
It is therefore always correct (and necessary) to match a call to get_live_catalog() with a later call to release_live_catalog().
Definition at line 144 of file dcPackerCatalog.cxx.