|
|
@@ -12,7 +12,7 @@ namespace EmbeddedProto
|
|
|
class Field
|
|
|
{
|
|
|
public:
|
|
|
- Field();
|
|
|
+ Field() = default;
|
|
|
virtual ~Field() = default;
|
|
|
};
|
|
|
|
|
|
@@ -20,7 +20,11 @@ namespace EmbeddedProto
|
|
|
class FieldTemplate : public Field
|
|
|
{
|
|
|
public:
|
|
|
+ typedef TYPE FIELD_TYPE;
|
|
|
+
|
|
|
FieldTemplate() = default;
|
|
|
+ FieldTemplate(const TYPE& v) : value_(v) { };
|
|
|
+ FieldTemplate(const TYPE&& v) : value_(v) { };
|
|
|
~FieldTemplate() override = default;
|
|
|
|
|
|
void set(const TYPE& v) { value_ = v; }
|
|
|
@@ -28,7 +32,7 @@ namespace EmbeddedProto
|
|
|
void operator=(const TYPE& v) { value_ = v; }
|
|
|
void operator=(const TYPE&& v) { value_ = v; }
|
|
|
|
|
|
- TYPE& get() const { return value_; }
|
|
|
+ const TYPE& get() const { return value_; }
|
|
|
TYPE& get() { return value_; }
|
|
|
|
|
|
private:
|
|
|
@@ -39,8 +43,8 @@ namespace EmbeddedProto
|
|
|
class int64 : public FieldTemplate<int64_t> { };
|
|
|
class uint32 : public FieldTemplate<uint32_t> { };
|
|
|
class uint64 : public FieldTemplate<uint64_t> { };
|
|
|
- class sint32 : public FieldTemplate<uint32_t> { };
|
|
|
- class sint64 : public FieldTemplate<uint64_t> { };
|
|
|
+ class sint32 : public FieldTemplate<int32_t> { };
|
|
|
+ class sint64 : public FieldTemplate<int64_t> { };
|
|
|
class boolean : public FieldTemplate<bool> { };
|
|
|
// TODO enum
|
|
|
class fixed32 : public FieldTemplate<uint32_t> { };
|
|
|
@@ -50,84 +54,84 @@ namespace EmbeddedProto
|
|
|
class floatfixed : public FieldTemplate<float> { };
|
|
|
class doublefixed : public FieldTemplate<double> { };
|
|
|
|
|
|
- bool serialize(uint32_t field_number, int32& x, WriteBufferInterface& buffer)
|
|
|
+ bool serialize(uint32_t field_number, const int32& x, WriteBufferInterface& buffer)
|
|
|
{ return WireFormatter::SerializeInt(field_number, x.get(), buffer); }
|
|
|
|
|
|
- bool serialize(uint32_t field_number, int64& x, WriteBufferInterface& buffer)
|
|
|
+ bool serialize(uint32_t field_number, const int64& x, WriteBufferInterface& buffer)
|
|
|
{ return WireFormatter::SerializeInt(field_number, x.get(), buffer); }
|
|
|
|
|
|
- bool serialize(uint32_t field_number, uint32& x, WriteBufferInterface& buffer)
|
|
|
+ bool serialize(uint32_t field_number, const uint32& x, WriteBufferInterface& buffer)
|
|
|
{ return WireFormatter::SerializeUInt(field_number, x.get(), buffer); }
|
|
|
|
|
|
- bool serialize(uint32_t field_number, uint64& x, WriteBufferInterface& buffer)
|
|
|
+ bool serialize(uint32_t field_number, const uint64& x, WriteBufferInterface& buffer)
|
|
|
{ return WireFormatter::SerializeUInt(field_number, x.get(), buffer); }
|
|
|
|
|
|
- bool serialize(uint32_t field_number, sint32& x, WriteBufferInterface& buffer)
|
|
|
+ bool serialize(uint32_t field_number, const sint32& x, WriteBufferInterface& buffer)
|
|
|
{ return WireFormatter::SerializeSInt(field_number, x.get(), buffer); }
|
|
|
|
|
|
- bool serialize(uint32_t field_number, sint64& x, WriteBufferInterface& buffer)
|
|
|
+ bool serialize(uint32_t field_number, const sint64& x, WriteBufferInterface& buffer)
|
|
|
{ return WireFormatter::SerializeSInt(field_number, x.get(), buffer); }
|
|
|
|
|
|
- bool serialize(uint32_t field_number, bool x, WriteBufferInterface& buffer)
|
|
|
- { return WireFormatter::SerializeBool(field_number, x, buffer); }
|
|
|
+ bool serialize(uint32_t field_number, const boolean x, WriteBufferInterface& buffer)
|
|
|
+ { return WireFormatter::SerializeBool(field_number, x.get(), buffer); }
|
|
|
|
|
|
- bool serialize(uint32_t field_number, fixed32& x, WriteBufferInterface& buffer)
|
|
|
+ bool serialize(uint32_t field_number, const fixed32& x, WriteBufferInterface& buffer)
|
|
|
{ return WireFormatter::SerializeFixed(field_number, x.get(), buffer); }
|
|
|
|
|
|
- bool serialize(uint32_t field_number, fixed64& x, WriteBufferInterface& buffer)
|
|
|
+ bool serialize(uint32_t field_number, const fixed64& x, WriteBufferInterface& buffer)
|
|
|
{ return WireFormatter::SerializeFixed(field_number, x.get(), buffer); }
|
|
|
|
|
|
- bool serialize(uint32_t field_number, sfixed32& x, WriteBufferInterface& buffer)
|
|
|
+ bool serialize(uint32_t field_number, const sfixed32& x, WriteBufferInterface& buffer)
|
|
|
{ return WireFormatter::SerializeSFixed(field_number, x.get(), buffer); }
|
|
|
|
|
|
- bool serialize(uint32_t field_number, sfixed64& x, WriteBufferInterface& buffer)
|
|
|
+ bool serialize(uint32_t field_number, const sfixed64& x, WriteBufferInterface& buffer)
|
|
|
{ return WireFormatter::SerializeSFixed(field_number, x.get(), buffer); }
|
|
|
|
|
|
- bool serialize(uint32_t field_number, floatfixed& x, WriteBufferInterface& buffer)
|
|
|
+ bool serialize(uint32_t field_number, const floatfixed& x, WriteBufferInterface& buffer)
|
|
|
{ return WireFormatter::SerializeFloat(field_number, x.get(), buffer); }
|
|
|
|
|
|
- bool serialize(uint32_t field_number, doublefixed& x, WriteBufferInterface& buffer)
|
|
|
+ bool serialize(uint32_t field_number, const doublefixed& x, WriteBufferInterface& buffer)
|
|
|
{ return WireFormatter::SerializeDouble(field_number, x.get(), buffer); }
|
|
|
|
|
|
|
|
|
|
|
|
- bool deserialize(int32& x, ReadBufferInterface& buffer)
|
|
|
+ bool deserialize(ReadBufferInterface& buffer, int32& x)
|
|
|
{ return WireFormatter::DeserializeInt(buffer, x.get()); }
|
|
|
|
|
|
- bool deserialize(int64& x, ReadBufferInterface& buffer)
|
|
|
+ bool deserialize(ReadBufferInterface& buffer, int64& x)
|
|
|
{ return WireFormatter::DeserializeInt(buffer, x.get()); }
|
|
|
|
|
|
- bool deserialize(uint32& x, ReadBufferInterface& buffer)
|
|
|
+ bool deserialize(ReadBufferInterface& buffer, uint32& x)
|
|
|
{ return WireFormatter::DeserializeUInt(buffer, x.get()); }
|
|
|
|
|
|
- bool deserialize(uint64& x, ReadBufferInterface& buffer)
|
|
|
+ bool deserialize(ReadBufferInterface& buffer, uint64& x)
|
|
|
{ return WireFormatter::DeserializeUInt(buffer, x.get()); }
|
|
|
|
|
|
- bool deserialize(sint32& x, ReadBufferInterface& buffer)
|
|
|
+ bool deserialize(ReadBufferInterface& buffer, sint32& x)
|
|
|
{ return WireFormatter::DeserializeSInt(buffer, x.get()); }
|
|
|
|
|
|
- bool deserialize(sint64& x, ReadBufferInterface& buffer)
|
|
|
+ bool deserialize(ReadBufferInterface& buffer, sint64& x)
|
|
|
{ return WireFormatter::DeserializeSInt(buffer, x.get()); }
|
|
|
|
|
|
- bool deserialize(bool x, ReadBufferInterface& buffer)
|
|
|
- { return WireFormatter::DeserializeBool(buffer, x); }
|
|
|
+ bool deserialize(ReadBufferInterface& buffer, boolean& x)
|
|
|
+ { return WireFormatter::DeserializeBool(buffer, x.get()); }
|
|
|
|
|
|
- bool deserialize(fixed32& x, ReadBufferInterface& buffer)
|
|
|
+ bool deserialize(ReadBufferInterface& buffer, fixed32& x)
|
|
|
{ return WireFormatter::DeserializeFixed(buffer, x.get()); }
|
|
|
|
|
|
- bool deserialize(fixed64& x, ReadBufferInterface& buffer)
|
|
|
+ bool deserialize(ReadBufferInterface& buffer, fixed64& x)
|
|
|
{ return WireFormatter::DeserializeFixed(buffer, x.get()); }
|
|
|
|
|
|
- bool deserialize(sfixed32& x, ReadBufferInterface& buffer)
|
|
|
+ bool deserialize(ReadBufferInterface& buffer, sfixed32& x)
|
|
|
{ return WireFormatter::DeserializeSFixed(buffer, x.get()); }
|
|
|
|
|
|
- bool deserialize(sfixed64& x, ReadBufferInterface& buffer)
|
|
|
+ bool deserialize(ReadBufferInterface& buffer, sfixed64& x)
|
|
|
{ return WireFormatter::DeserializeSFixed(buffer, x.get()); }
|
|
|
|
|
|
- bool deserialize(floatfixed& x, ReadBufferInterface& buffer)
|
|
|
+ bool deserialize(ReadBufferInterface& buffer, floatfixed& x)
|
|
|
{ return WireFormatter::DeserializeFloat(buffer, x.get()); }
|
|
|
|
|
|
- bool deserialize(doublefixed& x, ReadBufferInterface& buffer)
|
|
|
+ bool deserialize(ReadBufferInterface& buffer, doublefixed& x)
|
|
|
{ return WireFormatter::DeserializeDouble(buffer, x.get()); }
|
|
|
|
|
|
} // End of namespace EmbeddedProto.
|