1#ifndef RDS2CPP_WRITE_RDS_HPP
2#define RDS2CPP_WRITE_RDS_HPP
8#include "sanisizer/sanisizer.hpp"
12#include "utils_write.hpp"
13#include "write_object.hpp"
14#include "SharedWriteInfo.hpp"
50 std::unique_ptr<byteme::BufferedWriter<unsigned char> > bufwriter;
57 bufwriter->write(
"X\n");
61 inject_integer<std::int32_t, std::int32_t>(
68 inject_integer<std::int32_t, std::int32_t>(
75 const std::string encoding = string_encoding_to_name(info.
encoding);
76 inject_integer<std::int32_t>(sanisizer::cast<std::int32_t>(encoding.size()), *bufwriter);
77 bufwriter->write(encoding);
80 write_object(info.
object.get(), *bufwriter, shared);
Representations of unserialized R objects.
Information about an RDS file.
Parse an RDS file in C++.
Definition StringEncoding.hpp:12
void write_rds(const RdsFile &info, Writer &writer, const WriteRdsOptions &options)
Definition write_rds.hpp:49
Contents of the parsed RDS file.
Definition RdsFile.hpp:43
std::int32_t format_version
Definition RdsFile.hpp:47
std::unique_ptr< RObject > object
Definition RdsFile.hpp:67
std::vector< Symbol > symbols
Definition RdsFile.hpp:79
std::vector< ExternalPointer > external_pointers
Definition RdsFile.hpp:85
Version reader_version
Definition RdsFile.hpp:57
StringEncoding encoding
Definition RdsFile.hpp:62
Version writer_version
Definition RdsFile.hpp:52
std::vector< Environment > environments
Definition RdsFile.hpp:73
std::uint8_t patch
Definition RdsFile.hpp:37
std::int16_t major
Definition RdsFile.hpp:27
std::uint8_t minor
Definition RdsFile.hpp:32
Options for write_rds().
Definition write_rds.hpp:27
bool parallel
Definition write_rds.hpp:31
std::size_t buffer_size
Definition write_rds.hpp:37