|
netLink C++ 11
|
Abstract class to represent one element in a MsgPack stream. More...
#include <Element.h>
Public Member Functions | |
| virtual std::unique_ptr< Element > | copy () const =0 |
| Creates a deep copy of this element. | |
| virtual void | toJSON (std::ostream &stream) const =0 |
| Writes a human readable JSON-like string into the given stream. | |
| virtual Type | getType () const =0 |
| Returns the MsgPack::Type. | |
| virtual uint32_t | getSizeInBytes () const |
| Returns the size in bytes this MsgPack::Element takes if completely serialized. | |
Protected Member Functions | |
| virtual int64_t | startSerialize () |
| Returns the initial serializer position in bytes (negative value if there is a header) | |
| virtual int64_t | startDeserialize (uint8_t firstByte)=0 |
| Reads in one byte and returns the initial deserializer position in bytes (negative value if there is a header) | |
| virtual std::streamsize | serialize (int64_t &pos, std::basic_streambuf< char > *streamBuffer, std::streamsize bytes)=0 |
| Serializes bytes at the given serializer position pos into streamBuffer. | |
| virtual std::streamsize | deserialize (int64_t &pos, std::basic_streambuf< char > *streamBuffer, std::streamsize bytes) |
| Deserializes bytes at the given deserializer position pos from streamBuffer. | |
| virtual bool | containerDeserialized () |
| Returns true if the header of a container is deserialized and reserves the necessary space for its element vector. | |
| virtual std::vector< std::unique_ptr< Element > > * | getElementsVector () |
| Returns a raw pointer to the element vector of a container. | |
| virtual int64_t | getEndPos () const =0 |
| Returns the first invalid (de)serializer position. | |
Friends | |
| class | Serializer |
| class | Deserializer |
Abstract class to represent one element in a MsgPack stream.
|
inlineprotectedvirtual |
Returns true if the header of a container is deserialized and reserves the necessary space for its element vector.
Reimplemented in MsgPack::Array, and MsgPack::Map.
|
pure virtual |
Creates a deep copy of this element.
Implemented in MsgPack::Array, MsgPack::Map, MsgPack::ArrayHeader, MsgPack::MapHeader, MsgPack::Binary, MsgPack::Extended, MsgPack::String, MsgPack::Number, and MsgPack::Primitive.
|
inlineprotectedvirtual |
Deserializes bytes at the given deserializer position pos from streamBuffer.
Reimplemented in MsgPack::Data, MsgPack::Header, and MsgPack::Number.
|
inlineprotectedvirtual |
Returns a raw pointer to the element vector of a container.
Reimplemented in MsgPack::Array, and MsgPack::Map.
|
protectedpure virtual |
Returns the first invalid (de)serializer position.
Implemented in MsgPack::Binary, MsgPack::Extended, MsgPack::String, MsgPack::Header, MsgPack::Number, and MsgPack::Primitive.
|
inlinevirtual |
Returns the size in bytes this MsgPack::Element takes if completely serialized.
Reimplemented in MsgPack::Array, MsgPack::Map, MsgPack::ArrayHeader, MsgPack::MapHeader, and MsgPack::Header.
|
pure virtual |
Returns the MsgPack::Type.
Implemented in MsgPack::Header, MsgPack::Number, and MsgPack::Primitive.
|
protectedpure virtual |
Serializes bytes at the given serializer position pos into streamBuffer.
Implemented in MsgPack::Data, MsgPack::Header, MsgPack::Number, and MsgPack::Primitive.
|
protectedpure virtual |
Reads in one byte and returns the initial deserializer position in bytes (negative value if there is a header)
Implemented in MsgPack::Header, MsgPack::Number, and MsgPack::Primitive.
|
inlineprotectedvirtual |
Returns the initial serializer position in bytes (negative value if there is a header)
Reimplemented in MsgPack::Header.
|
pure virtual |
Writes a human readable JSON-like string into the given stream.
Implemented in MsgPack::Array, MsgPack::Map, MsgPack::ArrayHeader, MsgPack::MapHeader, MsgPack::Binary, MsgPack::Extended, MsgPack::String, MsgPack::Number, and MsgPack::Primitive.