Loading system/gd/packet/parser/fields/array_field.cc +3 −3 Original line number Diff line number Diff line Loading @@ -69,7 +69,7 @@ std::string ArrayField::GetDataType() const { return "std::array<" + element_field_->GetDataType() + "," + std::to_string(array_size_) + ">"; } void ArrayField::GenExtractor(std::ostream& s, int num_leading_bits) const { void ArrayField::GenExtractor(std::ostream& s, int num_leading_bits, bool for_struct) const { s << GetDataType() << "::iterator ret_it = " << GetName() << "_ptr->begin();"; s << "auto " << element_field_->GetName() << "_it = " << GetName() << "_it;"; if (!element_size_.empty() && !element_size_.has_dynamic()) { Loading @@ -84,7 +84,7 @@ void ArrayField::GenExtractor(std::ostream& s, int num_leading_bits) const { } else { s << element_field_->GetDataType() << "* " << element_field_->GetName() << "_ptr = ret_it;"; } element_field_->GenExtractor(s, num_leading_bits); element_field_->GenExtractor(s, num_leading_bits, for_struct); if (element_field_->BuilderParameterMustBeMoved()) { s << "*ret_it = std::move(" << element_field_->GetName() << "_ptr);"; } Loading @@ -102,7 +102,7 @@ void ArrayField::GenGetter(std::ostream& s, Size start_offset, Size end_offset) int num_leading_bits = GenBounds(s, start_offset, end_offset); s << GetDataType() << " " << GetName() << "_value;"; s << GetDataType() << "* " << GetName() << "_ptr = &" << GetName() << "_value;"; GenExtractor(s, num_leading_bits); GenExtractor(s, num_leading_bits, false); s << "return " << GetName() << "_value;"; s << "}\n"; Loading system/gd/packet/parser/fields/array_field.h +1 −1 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ class ArrayField : public PacketField { virtual std::string GetDataType() const override; virtual void GenExtractor(std::ostream& s, int num_leading_bits) const override; virtual void GenExtractor(std::ostream& s, int num_leading_bits, bool for_struct) const override; virtual void GenGetter(std::ostream& s, Size start_offset, Size end_offset) const override; Loading system/gd/packet/parser/fields/body_field.cc +1 −1 Original line number Diff line number Diff line Loading @@ -33,7 +33,7 @@ std::string BodyField::GetDataType() const { return "BodyType"; } void BodyField::GenExtractor(std::ostream&, int) const {} void BodyField::GenExtractor(std::ostream&, int, bool) const {} void BodyField::GenGetter(std::ostream&, Size, Size) const {} Loading system/gd/packet/parser/fields/body_field.h +1 −1 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ class BodyField : public PacketField { virtual std::string GetDataType() const override; virtual void GenExtractor(std::ostream& s, int num_leading_bits) const override; virtual void GenExtractor(std::ostream& s, int num_leading_bits, bool for_struct) const override; virtual void GenGetter(std::ostream&, Size, Size) const override; Loading system/gd/packet/parser/fields/checksum_field.cc +1 −1 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ std::string ChecksumField::GetDataType() const { return type_name_; } void ChecksumField::GenExtractor(std::ostream&, int) const {} void ChecksumField::GenExtractor(std::ostream&, int, bool) const {} void ChecksumField::GenGetter(std::ostream&, Size, Size) const {} Loading Loading
system/gd/packet/parser/fields/array_field.cc +3 −3 Original line number Diff line number Diff line Loading @@ -69,7 +69,7 @@ std::string ArrayField::GetDataType() const { return "std::array<" + element_field_->GetDataType() + "," + std::to_string(array_size_) + ">"; } void ArrayField::GenExtractor(std::ostream& s, int num_leading_bits) const { void ArrayField::GenExtractor(std::ostream& s, int num_leading_bits, bool for_struct) const { s << GetDataType() << "::iterator ret_it = " << GetName() << "_ptr->begin();"; s << "auto " << element_field_->GetName() << "_it = " << GetName() << "_it;"; if (!element_size_.empty() && !element_size_.has_dynamic()) { Loading @@ -84,7 +84,7 @@ void ArrayField::GenExtractor(std::ostream& s, int num_leading_bits) const { } else { s << element_field_->GetDataType() << "* " << element_field_->GetName() << "_ptr = ret_it;"; } element_field_->GenExtractor(s, num_leading_bits); element_field_->GenExtractor(s, num_leading_bits, for_struct); if (element_field_->BuilderParameterMustBeMoved()) { s << "*ret_it = std::move(" << element_field_->GetName() << "_ptr);"; } Loading @@ -102,7 +102,7 @@ void ArrayField::GenGetter(std::ostream& s, Size start_offset, Size end_offset) int num_leading_bits = GenBounds(s, start_offset, end_offset); s << GetDataType() << " " << GetName() << "_value;"; s << GetDataType() << "* " << GetName() << "_ptr = &" << GetName() << "_value;"; GenExtractor(s, num_leading_bits); GenExtractor(s, num_leading_bits, false); s << "return " << GetName() << "_value;"; s << "}\n"; Loading
system/gd/packet/parser/fields/array_field.h +1 −1 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ class ArrayField : public PacketField { virtual std::string GetDataType() const override; virtual void GenExtractor(std::ostream& s, int num_leading_bits) const override; virtual void GenExtractor(std::ostream& s, int num_leading_bits, bool for_struct) const override; virtual void GenGetter(std::ostream& s, Size start_offset, Size end_offset) const override; Loading
system/gd/packet/parser/fields/body_field.cc +1 −1 Original line number Diff line number Diff line Loading @@ -33,7 +33,7 @@ std::string BodyField::GetDataType() const { return "BodyType"; } void BodyField::GenExtractor(std::ostream&, int) const {} void BodyField::GenExtractor(std::ostream&, int, bool) const {} void BodyField::GenGetter(std::ostream&, Size, Size) const {} Loading
system/gd/packet/parser/fields/body_field.h +1 −1 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ class BodyField : public PacketField { virtual std::string GetDataType() const override; virtual void GenExtractor(std::ostream& s, int num_leading_bits) const override; virtual void GenExtractor(std::ostream& s, int num_leading_bits, bool for_struct) const override; virtual void GenGetter(std::ostream&, Size, Size) const override; Loading
system/gd/packet/parser/fields/checksum_field.cc +1 −1 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ std::string ChecksumField::GetDataType() const { return type_name_; } void ChecksumField::GenExtractor(std::ostream&, int) const {} void ChecksumField::GenExtractor(std::ostream&, int, bool) const {} void ChecksumField::GenGetter(std::ostream&, Size, Size) const {} Loading