DCPackerInterface
-
class DCPackerInterface
This defines the internal interface for packing values into a
DCField
. The various different DC objects inherit from this.Normally these methods are called only by the
DCPacker
object; the user wouldn’t normally call these directly.Inheritance diagram
-
virtual DCClassParameter *as_class_parameter(void)
-
virtual DCClassParameter const *as_class_parameter(void) const
-
virtual DCSwitchParameter *as_switch_parameter(void)
-
virtual DCSwitchParameter const *as_switch_parameter(void) const
-
bool check_match(DCPackerInterface const *other) const
-
bool check_match(std::string const &description, DCFile *dcfile = nullptr) const
Returns true if the other interface is bitwise the same as this one–that is, a uint32 only matches a uint32, etc. Names of components, and range limits, are not compared.
Returns true if this interface is bitwise the same as the interface described with the indicated formatted string, e.g. “(uint8, uint8, int16)”, or false otherwise.
If
DCFile
is not NULL, it specifies theDCFile
that was previously loaded, from which some predefined structs and typedefs may be referenced in the description string.
-
int find_seek_index(std::string const &name) const
Returns the index number to be passed to a future call to
DCPacker::seek()
to seek directly to the named field without having to look up the field name in a table later, or -1 if the named field cannot be found.If the named field is nested within a switch or some similar dynamic structure that reveals different fields based on the contents of the data, this mechanism cannot be used to pre-fetch the field index number–you must seek for the field by name.
-
std::string const &get_name(void) const
Returns the name of this field, or empty string if the field is unnamed.
-
virtual DCClassParameter *as_class_parameter(void)