• Home
  • History
  • Annotate
  • Raw
  • Download

Lines Matching refs:s

263 void ParentDef::GenMembers(std::ostream& s) const {  in GenMembers()
266 if (field->GenBuilderMember(s)) { in GenMembers()
267 s << "_{};"; in GenMembers()
272 void ParentDef::GenSize(std::ostream& s) const { in GenSize()
290 s << "protected:"; in GenSize()
291 s << "size_t BitsOfHeader() const {"; in GenSize()
292 s << "return 0"; in GenSize()
296 s << " + " << parent_->name_ << "Builder::BitsOfHeader() "; in GenSize()
298 s << " + " << parent_->name_ << "::BitsOfHeader() "; in GenSize()
304 s << " + " << padded_size; in GenSize()
306 s << " + " << field->GetBuilderSize(); in GenSize()
309 s << ";"; in GenSize()
311 s << "}\n\n"; in GenSize()
313 s << "size_t BitsOfFooter() const {"; in GenSize()
314 s << "return 0"; in GenSize()
317 s << " + " << padded_size; in GenSize()
319 s << " + " << field->GetBuilderSize(); in GenSize()
325 s << " + " << parent_->name_ << "Builder::BitsOfFooter() "; in GenSize()
327 s << " + " << parent_->name_ << "::BitsOfFooter() "; in GenSize()
330 s << ";"; in GenSize()
331 s << "}\n\n"; in GenSize()
334 s << "size_t GetPayloadSize() const {"; in GenSize()
335 s << "if (payload_ != nullptr) {return payload_->size();}"; in GenSize()
336 s << "else { return size() - (BitsOfHeader() + BitsOfFooter()) / 8;}"; in GenSize()
337 s << ";}\n\n"; in GenSize()
340 s << "public:"; in GenSize()
341 s << "virtual size_t size() const override {"; in GenSize()
342 s << "return (BitsOfHeader() / 8)"; in GenSize()
344 s << "+ payload_->size()"; in GenSize()
351 s << "+ body_size_extracted_"; in GenSize()
356 s << " + (BitsOfFooter() / 8);"; in GenSize()
357 s << "}\n"; in GenSize()
360 void ParentDef::GenSerialize(std::ostream& s) const { in GenSerialize()
364 s << "protected:"; in GenSerialize()
365 s << "void SerializeHeader(BitInserter&"; in GenSerialize()
367 s << " i "; in GenSerialize()
369 s << ") const {"; in GenSerialize()
373 s << parent_->name_ << "Builder::SerializeHeader(i);"; in GenSerialize()
375 s << parent_->name_ << "::SerializeHeader(i);"; in GenSerialize()
398 s << "size_t payload_bytes = GetPayloadSize();"; in GenSerialize()
401 s << "static_assert((" << modifier << ")%8 == 0, \"Modifiers must be byte-aligned\");"; in GenSerialize()
402 s << "payload_bytes = payload_bytes + (" << modifier << ") / 8;"; in GenSerialize()
404s << "ASSERT(payload_bytes < (static_cast<size_t>(1) << " << field->GetSize().bits() << "));"; in GenSerialize()
405s << "insert(static_cast<" << field->GetDataType() << ">(payload_bytes), i," << field->GetSize().b… in GenSerialize()
407 s << field->GetName() << "_extracted_ = 0;"; in GenSerialize()
408 s << "size_t local_size = " << name_ << "::size();"; in GenSerialize()
410s << "ASSERT((size() - local_size) < (static_cast<size_t>(1) << " << field->GetSize().bits() << ")… in GenSerialize()
411s << "insert(static_cast<" << field->GetDataType() << ">(size() - local_size), i," << field->GetSi… in GenSerialize()
419 s << "size_t " << vector_name + "bytes = 0;"; in GenSerialize()
421 s << "for (auto elem : " << vector_name << ") {"; in GenSerialize()
422 s << vector_name + "bytes += elem.size(); }"; in GenSerialize()
424 s << vector_name + "bytes = "; in GenSerialize()
425 s << vector_name << ".size() * ((" << vector->element_size_ << ") / 8);"; in GenSerialize()
429 s << "static_assert((" << modifier << ")%8 == 0, \"Modifiers must be byte-aligned\");"; in GenSerialize()
430 s << vector_name << "bytes = "; in GenSerialize()
431 s << vector_name << "bytes + (" << modifier << ") / 8;"; in GenSerialize()
433 s << "ASSERT(" << vector_name + "bytes < (1 << " << field->GetSize().bits() << "));"; in GenSerialize()
434 s << "insert(" << vector_name << "bytes, i, "; in GenSerialize()
435 s << field->GetSize().bits() << ");"; in GenSerialize()
444 s << "auto shared_checksum_ptr = std::make_shared<" << started_field->GetDataType() << ">();"; in GenSerialize()
445 s << "shared_checksum_ptr->Initialize();"; in GenSerialize()
446 s << "i.RegisterObserver(packet::ByteObserver("; in GenSerialize()
447 s << "[shared_checksum_ptr](uint8_t byte){ shared_checksum_ptr->AddByte(byte);},"; in GenSerialize()
448s << "[shared_checksum_ptr](){ return static_cast<uint64_t>(shared_checksum_ptr->GetChecksum());})… in GenSerialize()
450 s << "ASSERT(unpadded_size <= " << field->GetSize().bytes() << ");"; in GenSerialize()
451 s << "size_t padding_bytes = "; in GenSerialize()
452 s << field->GetSize().bytes() << " - unpadded_size;"; in GenSerialize()
453 s << "for (size_t padding = 0; padding < padding_bytes; padding++) {i.insert_byte(0);}"; in GenSerialize()
456 s << "insert(" << vector_name << ".size(), i, " << field->GetSize().bits() << ");"; in GenSerialize()
459 s << "size_t unpadded_size = (" << field->GetBuilderSize() << ") / 8;"; in GenSerialize()
461 field->GenInserter(s); in GenSerialize()
464 s << "}\n\n"; in GenSerialize()
466 s << "void SerializeFooter(BitInserter&"; in GenSerialize()
468 s << " i "; in GenSerialize()
470 s << ") const {"; in GenSerialize()
473 field->GenInserter(s); in GenSerialize()
477 s << parent_->name_ << "Builder::SerializeFooter(i);"; in GenSerialize()
479 s << parent_->name_ << "::SerializeFooter(i);"; in GenSerialize()
482 s << "}\n\n"; in GenSerialize()
484 s << "public:"; in GenSerialize()
485 s << "virtual void Serialize(BitInserter& i) const override {"; in GenSerialize()
486 s << "SerializeHeader(i);"; in GenSerialize()
488 s << "payload_->Serialize(i);"; in GenSerialize()
490 s << "SerializeFooter(i);"; in GenSerialize()
492 s << "}\n"; in GenSerialize()
495 void ParentDef::GenInstanceOf(std::ostream& s) const { in GenInstanceOf()
497 s << "static bool IsInstance(const " << parent_->name_ << "& parent) {"; in GenInstanceOf()
508 s << "if (parent." << field->GetName() << "_ != "; in GenInstanceOf()
510 s << std::get<int64_t>(constraint->second) << ")"; in GenInstanceOf()
511 s << "{ return false;}"; in GenInstanceOf()
513 s << std::get<std::string>(constraint->second) << ")"; in GenInstanceOf()
514 s << "{ return false;}"; in GenInstanceOf()
520 s << "return true;}"; in GenInstanceOf()
611 void ParentDef::GenRustConformanceCheck(std::ostream& s) const { in GenRustConformanceCheck()
621 f->GenRustGetter(s, start_offset, end_offset); in GenRustConformanceCheck()
622 s << "if " << f->GetName() << " != "; in GenRustConformanceCheck()
623 f->GenValue(s); in GenRustConformanceCheck()
624 s << " { return false; } "; in GenRustConformanceCheck()
628 void ParentDef::GenRustWriteToFields(std::ostream& s) const { in GenRustWriteToFields()
656 s << "let " << field->GetName() << " = " << field->GetRustDataType() in GenRustWriteToFields()
659 s << "let " << field->GetName() << " = " << field->GetRustDataType() in GenRustWriteToFields()
665 s << "let " << vector_name + " = self." << field_name in GenRustWriteToFields()
668s << "let " << vector_name + " = self." << field_name << ".len() * ((" << vector->element_size_ <<… in GenRustWriteToFields()
672s << "let " << vector_name << " = " << vector_name << " + (" << modifier.substr(1) << ") / 8;"; in GenRustWriteToFields()
675s << "let " << field->GetName() << " = " << field->GetRustDataType() << "::try_from(" << vector_na… in GenRustWriteToFields()
682 field->GenRustWriter(s, start_field_offset, end_field_offset); in GenRustWriteToFields()
686 void ParentDef::GenSizeRetVal(std::ostream& s) const { in GenSizeRetVal()
705 s << "let ret = 0;"; in GenSizeRetVal()
714 s << "let ret = ret + " << size / 8 << ";"; in GenSizeRetVal()
720s << "let ret = ret + self." << vector->GetName() << ".iter().fold(0, |acc, x| acc + x.get_total_s… in GenSizeRetVal()
722s << "let ret = ret + (self." << vector->GetName() << ".len() * ((" << vector->element_size_ << ")… in GenSizeRetVal()
728 s << "/* Skipping " << field->GetName() << " since it is padded */"; in GenSizeRetVal()
735 s << "let ret = ret + " << size / 8 << ";"; in GenSizeRetVal()
738 s << "ret"; in GenSizeRetVal()