14 #ifndef DCPACKERCATALOG_H 15 #define DCPACKERCATALOG_H 56 INLINE
size_t get_begin(
int n)
const;
57 INLINE
size_t get_end(
int n)
const;
59 INLINE
int get_num_entries()
const;
60 INLINE
const Entry &get_entry(
int n)
const;
61 INLINE
int find_entry_by_name(
const std::string &name)
const;
66 LiveEntries _live_entries;
84 void r_fill_catalog(
const std::string &name_prefix,
const DCPackerInterface *field,
100 EntriesByName _entries_by_name;
103 EntriesByField _entries_by_field;
106 SwitchCatalogs _switch_catalogs;
109 SwitchPrefixes _switch_prefixes;
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 na...
void release_live_catalog(const LiveCatalog *live_catalog) const
Releases the LiveCatalog object that was returned by an earlier call to get_live_catalog().
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This represents a switch object used as a parameter itself, which packs the appropriate fields of the...
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 f...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This is our own Panda specialization on the default STL vector.
int get_num_entries() const
Returns the number of entries in the catalog.
const Entry & get_entry(int n) const
Returns the nth entry in the catalog.
This class can be used for packing a series of numeric and string data into a binary stream,...
This object contains the names of all of the nested fields available within a particular field.
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 ...
This defines the internal interface for packing values into a DCField.