Skip to content

Commit 12f4c41

Browse files
committed
add serialization operators for char types
1 parent 8dcda40 commit 12f4c41

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

include/gf2/core/SerializationOps.h

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,18 @@ namespace gf {
117117
return ar;
118118
}
119119

120+
inline Serializer& operator|(Serializer& ar, char16_t data)
121+
{
122+
ar.write_u16(data);
123+
return ar;
124+
}
125+
126+
inline Serializer& operator|(Serializer& ar, char32_t data)
127+
{
128+
ar.write_u32(data);
129+
return ar;
130+
}
131+
120132
inline Serializer& operator|(Serializer& ar, const std::string& str)
121133
{
122134
ar.write_raw_string(str.data(), str.length());
@@ -384,6 +396,22 @@ namespace gf {
384396
return ar;
385397
}
386398

399+
inline Deserializer& operator|(Deserializer& ar, char16_t& data)
400+
{
401+
uint16_t tmp = 0;
402+
ar.read_u16(&tmp);
403+
data = tmp;
404+
return ar;
405+
}
406+
407+
inline Deserializer& operator|(Deserializer& ar, char32_t& data)
408+
{
409+
uint32_t tmp = 0;
410+
ar.read_u32(&tmp);
411+
data = tmp;
412+
return ar;
413+
}
414+
387415
inline Deserializer& operator|(Deserializer& ar, std::string& str)
388416
{
389417
std::size_t size = 0;

0 commit comments

Comments
 (0)