public override void WriteMapBegin(TMap map) { WriteByte((byte)map.KeyType); WriteByte((byte)map.ValueType); WriteI32(map.Count); }
public override TMap ReadMapBegin() { TMap map = new TMap(); map.KeyType = (TType)ReadByte(); map.ValueType = (TType)ReadByte(); map.Count = ReadI32(); return map; }
public abstract void WriteMapBegin(TMap map);
public override void WriteMapBegin(TMap map) { WriteJSONArrayStart(); WriteJSONString(GetTypeNameForTypeID(map.KeyType)); WriteJSONString(GetTypeNameForTypeID(map.ValueType)); WriteJSONInteger(map.Count); WriteJSONObjectStart(); }
public override TMap ReadMapBegin() { TMap map = new TMap(); ReadJSONArrayStart(); map.KeyType = GetTypeIDForTypeName(ReadJSONString(false)); map.ValueType = GetTypeIDForTypeName(ReadJSONString(false)); map.Count = (int)ReadJSONInteger(); ReadJSONObjectStart(); return map; }
/** * Write a map header. If the map is empty, omit the key and value type * headers, as we don't need any additional information to skip it. */ public override void WriteMapBegin(TMap map) { if (map.Count == 0) { WriteByteDirect(0); } else { WriteVarint32((uint)map.Count); WriteByteDirect(getCompactType(map.KeyType) << 4 | getCompactType(map.ValueType)); } }