| 506 | } |
| 507 | |
| 508 | void Metadata::SaveBinaryToFile(const VirtualFileWriter* writer) const { |
| 509 | writer->Write(&num_data_, sizeof(num_data_)); |
| 510 | writer->Write(&num_weights_, sizeof(num_weights_)); |
| 511 | writer->Write(&num_queries_, sizeof(num_queries_)); |
| 512 | writer->Write(label_.data(), sizeof(label_t) * num_data_); |
| 513 | if (!weights_.empty()) { |
| 514 | writer->Write(weights_.data(), sizeof(label_t) * num_weights_); |
| 515 | } |
| 516 | if (!query_boundaries_.empty()) { |
| 517 | writer->Write(query_boundaries_.data(), sizeof(data_size_t) * (num_queries_ + 1)); |
| 518 | } |
| 519 | } |
| 520 | |
| 521 | size_t Metadata::SizesInByte() const { |
| 522 | size_t size = sizeof(num_data_) + sizeof(num_weights_) |