| 685 | |
| 686 | template <class T> |
| 687 | int64_t Serialize(const T* obj, ArrowOutputStream* out, |
| 688 | Encryptor* encryptor = NULLPTR) { |
| 689 | uint8_t* out_buffer; |
| 690 | uint32_t out_length; |
| 691 | SerializeToBuffer(obj, &out_length, &out_buffer); |
| 692 | |
| 693 | // obj is not encrypted |
| 694 | if (encryptor == NULLPTR) { |
| 695 | PARQUET_THROW_NOT_OK(out->Write(out_buffer, out_length)); |
| 696 | return static_cast<int64_t>(out_length); |
| 697 | } else { // obj is encrypted |
| 698 | return SerializeEncryptedObj(out, out_buffer, out_length, encryptor); |
| 699 | } |
| 700 | } |
| 701 | |
| 702 | private: |
| 703 | template <class T> |