Lines Matching refs:value
66 static decltype(auto) get(const type &value)
68 return value.*MemPtr;
71 static decltype(auto) get(type &value)
73 return value.*MemPtr;
85 static decltype(auto) get(const type &value)
87 return value.*MemPtr;
90 static decltype(auto) get(type &value)
92 return value.*MemPtr;
106 static decltype(auto) get(const type &value)
108 return value.*MemPtr;
111 static decltype(auto) get(type &value)
113 return value.*MemPtr;
187 constexpr bool HAS_SERIALIZE_PACKED_V = HasSerializePacked<T, V, F, W>::value;
200 constexpr bool HAS_PARSE_PACKED_V = HasParsePacked<T, V, F, R>::value;
213 static uint32_t MakeZigzagValue(int32_t value)
215 return (static_cast<uint32_t>(value) << 1) ^ static_cast<uint32_t>(value >> 31);
218 static uint64_t MakeZigzagValue(int64_t value)
220 return (static_cast<uint64_t>(value) << 1) ^ static_cast<uint64_t>(value >> 63);
223 static int32_t ReadZigzagValue(uint32_t value)
225 return static_cast<int32_t>((value >> 1) ^ (~(value & 1) + 1));
228 static int64_t ReadZigzagValue(uint64_t value)
230 return static_cast<int64_t>((value >> 1) ^ (~(value & 1) + 1));
275 static bool ReadByte(uint8_t &value, reader &in)
277 return in.Read(&value, 1) == 1;
280 static void WriteVarint(uint32_t value, Writer &out)
284 b[i] = value & 0b0111'1111;
295 static void WriteVarint(uint64_t value, Writer &out)
299 b[i] = value & 0b0111'1111;
311 static void WriteVarint(unsigned long value, Writer &out)
313 WriteVarint(static_cast<uint64_t>(value), out);
317 static bool ReadVarint(uint32_t &value, reader &in)
319 value = 0;
325 value |= static_cast<uint32_t>(x & 0b0111'1111) << 7 * c;
334 static bool ReadVarint(uint64_t &value, reader &in)
336 value = 0;
342 value |= static_cast<uint64_t>(x & 0b0111'1111) << 7 * c;
351 static bool ReadVarint(unsigned long &value, reader &in)
355 value = static_cast<unsigned long>(intermediateValue);
362 static void WriteFixed(uint32_t value, Writer &out)
365 out.Write(&value, sizeof(value));
371 static void WriteFixed(uint64_t value, Writer &out)
374 out.Write(&value, sizeof(value));
380 static void WriteFixed(double value, Writer &out)
382 WriteFixed(BitCast<uint64_t>(value), out);
385 static void WriteFixed(float value, Writer &out)
387 WriteFixed(BitCast<uint32_t>(value), out);
390 static void WriteVarint(int32_t value, Writer &out)
392 WriteVarint(BitCast<uint32_t>(value), out);
395 static void WriteVarint(int64_t value, Writer &out)
397 WriteVarint(BitCast<uint64_t>(value), out);
400 static void WriteSignedVarint(int32_t value, Writer &out)
402 WriteVarint(MakeZigzagValue(value), out);
405 static void WriteSignedVarint(int64_t value, Writer &out)
407 WriteVarint(MakeZigzagValue(value), out);
410 static void WriteSignedFixed(int32_t value, Writer &out)
412 WriteFixed(static_cast<uint32_t>(value), out);
415 static void WriteSignedFixed(int64_t value, Writer &out)
417 WriteFixed(static_cast<uint64_t>(value), out);
425 static bool ReadFixed(uint32_t &value, reader &in)
428 return in.Read(&value, sizeof(value)) == sizeof(value);
434 static bool ReadFixed(uint64_t &value, reader &in)
437 return in.Read(&value, sizeof(value)) == sizeof(value);
443 static bool ReadFixed(double &value, reader &in)
447 value = BitCast<double>(intermediateValue);
453 static bool ReadFixed(float &value, reader &in)
457 value = BitCast<float>(intermediateValue);
463 static bool ReadVarint(int32_t &value, reader &in)
467 value = BitCast<int32_t>(intermediateValue);
473 static bool ReadVarint(int64_t &value, reader &in)
477 value = BitCast<int64_t>(intermediateValue);
483 static bool ReadSignedVarint(int32_t &value, reader &in)
487 value = ReadZigzagValue(intermediateValue);
493 static bool ReadSignedVarint(int64_t &value, reader &in)
497 value = ReadZigzagValue(intermediateValue);
503 static bool ReadSignedFixed(int32_t &value, reader &in)
507 value = static_cast<int64_t>(intermediateValue);
513 static bool ReadSignedFixed(int64_t &value, reader &in)
517 value = static_cast<int64_t>(intermediateValue);
524 void WriteField(const T &value,
529 OneOf::tag, OneOf::get(value), FlagsType<OneOf::flags>(), out);
533 void WriteField(const T &value,
538 … Map::tag, Map::get(value), FlagsType<Map::KEY_FLAGS>(), FlagsType<Map::VALUE_FLAGS>(), out);
542 …void WriteField(const T &value, const SerialDetail::FieldImpl<Tag, MemPtrT, MemPtr, Flags> &, Writ…
546 Field::tag, Field::get(value), FlagsType<Field::flags>(), out);
550 … void WriteMessage(const T &value, const SerialDetail::MessageImpl<Field...> &message, Writer &out)
552 message.Visit([&](const auto &field) { WriteField(value, field, out); });
580 void WriteMapKeyValue(const std::pair<const Key, Value> &value, Writer &out)
582 Serializer<Key>::Serialize(1, value.first, FlagsType<KeyFlags> {}, out, true);
583 Serializer<Value>::Serialize(2, value.second, FlagsType<ValueFlags> {}, out, true);
587 void WriteMap(uint32_t tag, const T &value, Writer &out)
589 auto begin = std::begin(value);
590 auto end = std::end(value);
602 bool ReadMapKeyValue(std::pair<Key, Value> &value, reader &in)
606 return ReadMessage(value, pairAsMessage, in);
610 bool ReadMap(WireType wireType, T &value, reader &in)
623 value.insert(std::move(item));
644 ValueType value;
645 … if (!Serializer<ValueType>::ParsePacked(value, FlagsType<Flags>(), limitedIn)) {
648 output_it = value;
655 ValueType value;
656 if (Serializer<ValueType>::Parse(wireType, value, FlagsType<Flags>(), in)) {
657 output_it = value;
666 void ReadField(T &value, uint32_t tag, WireType wireType,
674 wireType, OneOf::get(value), FlagsType<OneOf::flags>(), in);
678 void ReadField(T &value, uint32_t tag, WireType wireType,
686 … wireType, Map::get(value), FlagsType<Map::KEY_FLAGS>(), FlagsType<Map::VALUE_FLAGS>(), in);
690 void ReadField(T &value, uint32_t tag, WireType wireType,
697 …Serializer<typename Field::MemberType>::Parse(wireType, Field::get(value), FlagsType<Field::flags>…
700 …template<class T, class... Field> bool ReadMessage(T &value, const MessageImpl<Field...> &message,…
707 … message.Visit([&](const auto &field) { ReadField(value, tag, wireType, field, in); });
715 … static void Serialize(uint32_t tag, const T &value, FlagsType<>, Writer &out, bool force = false)
718 SerialDetail::WriteMessage(value, MessageType<T>(), sizeCollector);
724 SerialDetail::WriteMessage(value, MessageType<T>(), out);
727 static bool Parse(WireType wireType, T &value, FlagsType<>, reader &in)
735 return SerialDetail::ReadMessage(value, MessageType<T>(), limitedIn);
742 … static void Serialize(uint32_t tag, int32_t value, FlagsType<>, Writer &out, bool force = false)
745 SerialDetail::WriteVarint(value, out);
748 …static void Serialize(uint32_t tag, int32_t value, FlagsType<flags::s>, Writer &out, bool force = …
751 SerialDetail::WriteSignedVarint(value, out);
755 … uint32_t tag, int32_t value, FlagsType<flags::s | flags::f>, Writer &out, bool force = false)
758 SerialDetail::WriteSignedFixed(value, out);
761 static void SerializePacked(int32_t value, FlagsType<>, Writer &out)
763 SerialDetail::WriteVarint(value, out);
766 static void SerializePacked(int32_t value, FlagsType<flags::s>, Writer &out)
768 SerialDetail::WriteSignedVarint(value, out);
771 static void SerializePacked(int32_t value, FlagsType<flags::s | flags::f>, Writer &out)
773 SerialDetail::WriteSignedFixed(value, out);
776 static bool Parse(WireType wire_type, int32_t &value, FlagsType<>, reader &in)
780 return SerialDetail::ReadVarint(value, in);
783 static bool Parse(WireType wire_type, int32_t &value, FlagsType<flags::s>, reader &in)
787 return SerialDetail::ReadSignedVarint(value, in);
790 … static bool Parse(WireType wire_type, int32_t &value, FlagsType<flags::s | flags::f>, reader &in)
794 return SerialDetail::ReadSignedFixed(value, in);
797 static bool ParsePacked(int32_t &value, FlagsType<>, reader &in)
799 return SerialDetail::ReadVarint(value, in);
802 static bool ParsePacked(int32_t &value, FlagsType<flags::s>, reader &in)
804 return SerialDetail::ReadSignedVarint(value, in);
807 static bool ParsePacked(int32_t &value, FlagsType<flags::s | flags::f>, reader &in)
809 return SerialDetail::ReadSignedFixed(value, in);
814 … static void Serialize(uint32_t tag, uint32_t value, FlagsType<>, Writer &out, bool force = false)
817 SerialDetail::WriteVarint(value, out);
820 …static void Serialize(uint32_t tag, uint32_t value, FlagsType<flags::f>, Writer &out, bool force =…
823 SerialDetail::WriteFixed(value, out);
826 static void SerializePacked(uint32_t value, FlagsType<>, Writer &out)
828 SerialDetail::WriteVarint(value, out);
831 static void SerializePacked(uint32_t value, FlagsType<flags::f>, Writer &out)
833 SerialDetail::WriteFixed(value, out);
836 static bool Parse(WireType wire_type, uint32_t &value, FlagsType<>, reader &in)
840 return SerialDetail::ReadVarint(value, in);
843 static bool Parse(WireType wire_type, uint32_t &value, FlagsType<flags::f>, reader &in)
847 return SerialDetail::ReadFixed(value, in);
850 static bool ParsePacked(uint32_t &value, FlagsType<>, reader &in)
852 return SerialDetail::ReadVarint(value, in);
855 static bool ParsePacked(uint32_t &value, FlagsType<flags::f>, reader &in)
857 return SerialDetail::ReadFixed(value, in);
862 … static void Serialize(uint32_t tag, int64_t value, FlagsType<>, Writer &out, bool force = false)
865 SerialDetail::WriteVarint(value, out);
868 …static void Serialize(uint32_t tag, int64_t value, FlagsType<flags::s>, Writer &out, bool force = …
871 SerialDetail::WriteSignedVarint(value, out);
875 … uint32_t tag, int64_t value, FlagsType<flags::s | flags::f>, Writer &out, bool force = false)
878 SerialDetail::WriteSignedFixed(value, out);
881 static void SerializePacked(int64_t value, FlagsType<>, Writer &out)
883 SerialDetail::WriteVarint(value, out);
886 static void SerializePacked(int64_t value, FlagsType<flags::s>, Writer &out)
888 SerialDetail::WriteSignedVarint(value, out);
891 static void SerializePacked(int64_t value, FlagsType<flags::s | flags::f>, Writer &out)
893 SerialDetail::WriteSignedFixed(value, out);
896 static bool Parse(WireType wire_type, int64_t &value, FlagsType<>, reader &in)
900 return SerialDetail::ReadVarint(value, in);
903 static bool Parse(WireType wire_type, int64_t &value, FlagsType<flags::s>, reader &in)
907 return SerialDetail::ReadSignedVarint(value, in);
910 … static bool Parse(WireType wire_type, int64_t &value, FlagsType<flags::s | flags::f>, reader &in)
914 return SerialDetail::ReadSignedFixed(value, in);
917 static bool ParsePacked(int64_t &value, FlagsType<>, reader &in)
919 return SerialDetail::ReadVarint(value, in);
922 static bool ParsePacked(int64_t &value, FlagsType<flags::s>, reader &in)
924 return SerialDetail::ReadSignedVarint(value, in);
927 static bool ParsePacked(int64_t &value, FlagsType<flags::s | flags::f>, reader &in)
929 return SerialDetail::ReadSignedFixed(value, in);
934 … static void Serialize(uint32_t tag, uint64_t value, FlagsType<>, Writer &out, bool force = false)
937 SerialDetail::WriteVarint(value, out);
940 …static void Serialize(uint32_t tag, uint64_t value, FlagsType<flags::f>, Writer &out, bool force =…
942 if (!force && value == UINT64_C(0))
946 SerialDetail::WriteFixed(value, out);
949 static void SerializePacked(uint64_t value, FlagsType<>, Writer &out)
951 SerialDetail::WriteVarint(value, out);
954 static void SerializePacked(uint64_t value, FlagsType<flags::f>, Writer &out)
956 SerialDetail::WriteFixed(value, out);
959 static bool Parse(WireType wire_type, uint64_t &value, FlagsType<>, reader &in)
963 return SerialDetail::ReadVarint(value, in);
966 static bool Parse(WireType wire_type, uint64_t &value, FlagsType<flags::f>, reader &in)
970 return SerialDetail::ReadFixed(value, in);
973 static bool ParsePacked(uint64_t &value, FlagsType<>, reader &in)
975 return SerialDetail::ReadVarint(value, in);
978 static bool ParsePacked(uint64_t &value, FlagsType<flags::f>, reader &in)
980 return SerialDetail::ReadFixed(value, in);
985 … static void Serialize(uint32_t tag, double value, FlagsType<>, Writer &out, bool force = false)
987 if (!force && std::fpclassify(value) == FP_ZERO) {
991 SerialDetail::WriteFixed(value, out);
994 static void SerializePacked(double value, FlagsType<>, Writer &out)
996 SerialDetail::WriteFixed(value, out);
999 static bool Parse(WireType wire_type, double &value, FlagsType<>, reader &in)
1004 return SerialDetail::ReadFixed(value, in);
1007 static bool ParsePacked(double &value, FlagsType<>, reader &in)
1009 return SerialDetail::ReadFixed(value, in);
1014 … static void Serialize(uint32_t tag, float value, FlagsType<>, Writer &out, bool force = false)
1016 if (!force && std::fpclassify(value) == FP_ZERO) {
1020 SerialDetail::WriteFixed(value, out);
1023 static void SerializePacked(float value, FlagsType<>, Writer &out)
1025 SerialDetail::WriteFixed(value, out);
1028 static bool Parse(WireType wire_type, float &value, FlagsType<>, reader &in)
1033 return SerialDetail::ReadFixed(value, in);
1036 static bool ParsePacked(float &value, FlagsType<>, reader &in)
1038 return SerialDetail::ReadFixed(value, in);
1043 … static void Serialize(uint32_t tag, bool value, FlagsType<>, Writer &out, bool force = false)
1045 Serializer<uint32_t>::Serialize(tag, value ? 1 : 0, FlagsType(), out, force);
1048 static void SerializePacked(bool value, FlagsType<>, Writer &out)
1050 Serializer<uint32_t>::SerializePacked(value ? 1 : 0, FlagsType(), out);
1053 static bool Parse(WireType wire_type, bool &value, FlagsType<>, reader &in)
1057 value = static_cast<bool>(intermedaite_value);
1063 static bool ParsePacked(bool &value, FlagsType<>, reader &in)
1067 value = static_cast<bool>(intermedaite_value);
1077 static void Serialize(uint32_t tag, T value, FlagsType<>, Writer &out, bool force = false)
1079 Serializer<U>::Serialize(tag, static_cast<U>(value), FlagsType<>(), out, force);
1082 static void SerializePacked(T value, FlagsType<>, Writer &out)
1084 Serializer<U>::SerializePacked(static_cast<U>(value), FlagsType<>(), out);
1087 static bool Parse(WireType wire_type, T &value, FlagsType<>, reader &in)
1091 value = static_cast<T>(intermedaite_value);
1097 static bool ParsePacked(T &value, FlagsType<>, reader &in)
1101 value = static_cast<T>(intermedaite_value);
1109 …static void Serialize(uint32_t tag, const std::string &value, FlagsType<>, Writer &out, bool force…
1112 SerialDetail::WriteVarint(value.size(), out);
1113 out.Write(value.data(), value.size());
1116 static bool Parse(WireType wire_type, std::string &value, FlagsType<>, reader &in)
1123 value.resize(size);
1124 if (in.Read(value.data(), size) == size) {
1134 … static void Serialize(uint32_t tag, const std::vector<T> &value, FlagsType<Flags>, Writer &out)
1136 SerialDetail::WriteRepeated<Flags, T>(tag, value.begin(), value.end(), out);
1140 static bool Parse(WireType wire_type, std::vector<T> &value, FlagsType<Flags>, reader &in)
1142 return SerialDetail::ReadRepeated<Flags, T>(wire_type, std::back_inserter(value), in);
1148 … static void Serialize(uint32_t tag, const std::optional<T> &value, FlagsType<Flags>, Writer &out)
1150 if (!value.has_value()) {
1153 Serializer<T>::Serialize(tag, *value, FlagsType<Flags>(), out);
1157 static bool Parse(WireType wire_type, std::optional<T> &value, FlagsType<Flags>, reader &in)
1159 return Serializer<T>::Parse(wire_type, value.emplace(), FlagsType<Flags>(), in);
1165 …static void SerializeOneof(uint32_t tag, const std::variant<T...> &value, FlagsType<Flags>, Writer…
1167 if (value.index() != Index)
1171 tag, std::get<Index>(value), FlagsType<Flags>(), out);
1175 …static bool ParseOneof(WireType wire_type, std::variant<T...> &value, FlagsType<Flags>, reader &in)
1178 wire_type, value.template emplace<Index>(), FlagsType<Flags>(), in);
1185 …uint32_t tag, const std::map<Key, Value> &value, FlagsType<KeyFlags>, FlagsType<ValueFlags>, Write…
1187 SerialDetail::WriteMap<KeyFlags, ValueFlags>(tag, value, out);
1192 …WireType wire_type, std::map<Key, Value> &value, FlagsType<KeyFlags>, FlagsType<ValueFlags>, reade…
1194 return SerialDetail::ReadMap<KeyFlags, ValueFlags>(wire_type, value, in);
1235 … static void Serialize(uint32_t tag, uint8_t value, FlagsType<>, Writer &out, bool force = false)
1237 Serializer<uint32_t>::Serialize(tag, value, FlagsType(), out, force);
1240 static void SerializePacked(uint8_t value, FlagsType<>, Writer &out)
1242 Serializer<uint32_t>::SerializePacked(value, FlagsType(), out);
1245 static bool Parse(WireType wire_type, uint8_t &value, FlagsType<>, reader &in)
1249 value = static_cast<uint8_t>(intermedaite_value);
1255 static bool ParsePacked(uint8_t &value, FlagsType<>, reader &in)
1259 value = static_cast<uint8_t>(intermedaite_value);
1266 … static void Serialize(uint32_t tag, uint16_t value, FlagsType<>, Writer &out, bool force = false)
1268 Serializer<uint32_t>::Serialize(tag, value, FlagsType(), out, force);
1271 static void SerializePacked(uint16_t value, FlagsType<>, Writer &out)
1273 Serializer<uint32_t>::SerializePacked(value, FlagsType(), out);
1276 static bool Parse(WireType wire_type, uint16_t &value, FlagsType<>, reader &in)
1280 value = static_cast<uint16_t>(intermedaite_value);
1286 static bool ParsePacked(uint16_t &value, FlagsType<>, reader &in)
1290 value = static_cast<uint16_t>(intermedaite_value);
1298 template<class T> std::string SerializeToString(const T &value)
1302 SerialDetail::WriteMessage(value, MessageType<T>(), stringOut);
1306 template<class T> bool ParseFromString(T &value, const std::string &in)
1309 return SerialDetail::ReadMessage(value, MessageType<T>(), stringIn);