rds2cpp
C++ library for parsing RDS files
Loading...
Searching...
No Matches
RdsFile.hpp
Go to the documentation of this file.
1#ifndef RDS2CPP_RDSFILE_HPP
2#define RDS2CPP_RDSFILE_HPP
3
4#include <array>
5#include <cstdint>
6
7#include "RObject.hpp"
8#include "Environment.hpp"
9#include "ExternalPointer.hpp"
10#include "Symbol.hpp"
11
18namespace rds2cpp {
19
23struct Version {
27 std::int16_t major = 3;
28
32 std::uint8_t minor = 5;
33
37 std::uint8_t patch = 0;
38};
39
43struct RdsFile {
47 std::int32_t format_version = 3;
48
53
58
62 StringEncoding encoding = StringEncoding::UTF8;
63
67 std::unique_ptr<RObject> object;
68
73 std::vector<Environment> environments;
74
79 std::vector<Symbol> symbols;
80
85 std::vector<ExternalPointer> external_pointers;
86};
87
88}
89
90#endif
Representation of an R environment.
Representations of unserialized R objects.
Representation of an R symbol.
Parse an RDS file in C++.
Definition StringEncoding.hpp:12
StringEncoding
Definition StringEncoding.hpp:17
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
Major-minor-patch version.
Definition RdsFile.hpp:23
std::uint8_t patch
Definition RdsFile.hpp:37
std::int16_t major
Definition RdsFile.hpp:27
std::uint8_t minor
Definition RdsFile.hpp:32