]> git.tdb.fi Git - libs/net.git/commitdiff
Support serializing bool fields in Protocol
authorMikko Rasa <tdb@tdb.fi>
Mon, 23 Sep 2019 11:44:57 +0000 (14:44 +0300)
committerMikko Rasa <tdb@tdb.fi>
Mon, 23 Sep 2019 11:44:57 +0000 (14:44 +0300)
source/net/protocol.cpp
source/net/protocol.h

index 52678af2d9009cf9279d88ce3e1856d0fee1be9b..a152c559682541ded0234d77efa3fefad94537c2 100644 (file)
@@ -106,6 +106,7 @@ const char *Protocol::BasicSerializer<T>::deserialize(T &value, const char *buf,
        return buf;
 }
 
+template char *Protocol::BasicSerializer<bool>::serialize(const bool &, char *, char *) const;
 template char *Protocol::BasicSerializer<Int8>::serialize(const Int8 &, char *, char *) const;
 template char *Protocol::BasicSerializer<Int16>::serialize(const Int16 &, char *, char *) const;
 template char *Protocol::BasicSerializer<Int32>::serialize(const Int32 &, char *, char *) const;
@@ -116,6 +117,7 @@ template char *Protocol::BasicSerializer<UInt32>::serialize(const UInt32 &, char
 template char *Protocol::BasicSerializer<UInt64>::serialize(const UInt64 &, char *, char *) const;
 template char *Protocol::BasicSerializer<float>::serialize(const float &, char *, char *) const;
 template char *Protocol::BasicSerializer<double>::serialize(const double &, char *, char *) const;
+template const char *Protocol::BasicSerializer<bool>::deserialize(bool &, const char *, const char *) const;
 template const char *Protocol::BasicSerializer<Int8>::deserialize(Int8 &, const char *, const char *) const;
 template const char *Protocol::BasicSerializer<Int16>::deserialize(Int16 &, const char *, const char *) const;
 template const char *Protocol::BasicSerializer<Int32>::deserialize(Int32 &, const char *, const char *) const;
index 256d978ec1d2ca0dfc24ce0bb29da4ac9f006445..7beccfb0f49d42c1563d4b4296c79f39f62ae4ad 100644 (file)
@@ -328,6 +328,7 @@ struct Protocol::Traits
        typedef CompoundSerializer<T> Serializer;
 };
 
+template<> struct Protocol::Traits<bool>: BasicTraits<bool, 'B'> { };
 template<> struct Protocol::Traits<Int8>: BasicTraits<Int8, 'I'> { };
 template<> struct Protocol::Traits<UInt8>: BasicTraits<UInt8, 'U'> { };
 template<> struct Protocol::Traits<Int16>: BasicTraits<Int16, 'I'> { };