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 |