A Field represents an entry in a message reader that can read one of its fields. More...
#include <Field.h>
Public Member Functions | |
virtual uint32_t | CalculateSerializedLength (const swarmio::data::Variant &value, const FieldStack &fieldStack) const override |
Calculate the length of a serialized message in bytes. More... | |
virtual swarmio::data::Variant | Deserialize (ros::serialization::IStream &stream, const FieldStack &fieldStack) const override |
Deserialize a stream into a variant. More... | |
virtual swarmio::data::Variant | DeserializeArray (ros::serialization::IStream &stream, uint32_t count, const FieldStack &fieldStack) const override |
Deserialize a stream into a variant array - not supported on Fields. More... | |
virtual void | EmitDefault (ros::serialization::OStream &stream, const FieldStack &fieldStack) const override |
Write the default value to the stream. More... | |
Field (const std::string &name, const Serializer &serializer) | |
Construct a new Field object. More... | |
virtual uint32_t | GetDefaultLength (const FieldStack &fieldStack) const override |
Get the length of the default value. More... | |
virtual swarmio::data::discovery::Field | GetFieldDescriptor () const override |
Build a field descriptor for the underlying type. More... | |
const Serializer & | GetSerializer () const |
Get the associated serializer. More... | |
virtual void | Serialize (ros::serialization::OStream &stream, const swarmio::data::Variant &value, const FieldStack &fieldStack) const override |
Serialize a variant onto a stream. More... | |
virtual void | WriteDefinition (std::stringstream &stream, bool forHash) const |
Write the definition of this field to a string stream. More... | |
Public Member Functions inherited from swarmros::introspection::Serializer | |
virtual const std::string & | GetFullName () const |
Get the fully qualified name for the type behind the serializer. More... | |
const std::string & | GetName () const |
Get the non-qualified name for the type behind the serializer. More... | |
virtual | ~Serializer () |
Destructor. More... | |
Protected Member Functions | |
void | WriteTypeName (std::stringstream &stream, bool forHash) const |
Get the type name for the serializer. More... | |
Protected Member Functions inherited from swarmros::introspection::Serializer | |
Serializer (const std::string &name) | |
Construct a new Serializer object. More... | |
Protected Attributes | |
const Serializer & | _serializer |
Serializer. More... | |
Additional Inherited Members | |
Static Protected Member Functions inherited from swarmros::introspection::Serializer | |
static const Serializer & | SerializerForType (const std::string &type, const std::string &parentPackage) |
Look up or build a reader for a message type. More... | |
A Field represents an entry in a message reader that can read one of its fields.
|
inline |
Construct a new Field object.
name | Name |
serializer | Serializer |
|
overridevirtual |
Calculate the length of a serialized message in bytes.
value | Value |
fieldStack | Stack of fields to determine location |
Implements swarmros::introspection::Serializer.
Reimplemented in swarmros::introspection::ConstantField, swarmros::introspection::FixedArrayField, and swarmros::introspection::ArrayField.
|
overridevirtual |
Deserialize a stream into a variant.
stream | Input stream |
fieldStack | Stack of fields to determine location |
Implements swarmros::introspection::Serializer.
Reimplemented in swarmros::introspection::ConstantField, and swarmros::introspection::ArrayField.
|
overridevirtual |
Deserialize a stream into a variant array - not supported on Fields.
stream | Input stream |
count | Item count |
fieldStack | Stack of fields to determine location |
Implements swarmros::introspection::Serializer.
|
overridevirtual |
Write the default value to the stream.
stream | Output stream |
fieldStack | Stack of fields to determine location |
Implements swarmros::introspection::Serializer.
Reimplemented in swarmros::introspection::ConstantField, swarmros::introspection::FixedArrayField, and swarmros::introspection::ArrayField.
|
overridevirtual |
Get the length of the default value.
fieldStack | Stack of fields to determine location |
Implements swarmros::introspection::Serializer.
Reimplemented in swarmros::introspection::ConstantField, swarmros::introspection::FixedArrayField, and swarmros::introspection::ArrayField.
|
overridevirtual |
Build a field descriptor for the underlying type.
Implements swarmros::introspection::Serializer.
Reimplemented in swarmros::introspection::ArrayField, and swarmros::introspection::FixedArrayField.
|
inline |
|
overridevirtual |
Serialize a variant onto a stream.
stream | Output stream |
value | Value to serialize |
fieldStack | Stack of fields to determine location |
Implements swarmros::introspection::Serializer.
Reimplemented in swarmros::introspection::ConstantField, and swarmros::introspection::ArrayField.
|
virtual |
Write the definition of this field to a string stream.
stream | Stream |
forHash | True if the definition will be used for the MD5 hash |
Reimplemented in swarmros::introspection::ConstantField, swarmros::introspection::FixedArrayField, and swarmros::introspection::ArrayField.
|
protected |
|
protected |