1#ifndef UZUKI2_INTERFACES_HPP
2#define UZUKI2_INTERFACES_HPP
44 return (t >= 0 && t < LIST);
59 Base& operator=(
const Base&) =
default;
60 virtual ~Base() =
default;
79 virtual size_t size ()
const = 0;
88 virtual void set_name(
size_t i, std::string n) = 0;
113 virtual void set(
size_t i, int32_t v) = 0;
131 virtual void set(
size_t i,
double v) = 0;
149 virtual void set(
size_t i, std::string v) = 0;
180 virtual void set(
size_t i,
bool v) = 0;
201 virtual void set(
size_t i,
size_t v) = 0;
246 virtual size_t size()
const = 0;
254 virtual void set(
size_t i, std::shared_ptr<Base> v) = 0;
263 virtual void set_name(
size_t i, std::string n) = 0;
Base interface for all R objects.
Definition interfaces.hpp:50
virtual Type type() const =0
Interface for a boolean vector.
Definition interfaces.hpp:168
virtual void set(size_t i, bool v)=0
Type type() const
Definition interfaces.hpp:170
Interface for unsupported objects.
Definition interfaces.hpp:227
Type type() const
Definition interfaces.hpp:229
Interface for a factor.
Definition interfaces.hpp:189
virtual void set_level(size_t il, std::string vl)=0
Type type() const
Definition interfaces.hpp:191
virtual void set(size_t i, size_t v)=0
Interface for integer vectors.
Definition interfaces.hpp:101
Type type() const
Definition interfaces.hpp:103
virtual void set(size_t i, int32_t v)=0
Interface for lists.
Definition interfaces.hpp:237
virtual void set_name(size_t i, std::string n)=0
virtual void set(size_t i, std::shared_ptr< Base > v)=0
Type type() const
Definition interfaces.hpp:239
virtual size_t size() const =0
Representation of R's NULL.
Definition interfaces.hpp:215
Type type() const
Definition interfaces.hpp:217
Interface for a double-precision vector.
Definition interfaces.hpp:119
Type type() const
Definition interfaces.hpp:121
virtual void set(size_t i, double v)=0
Interface for a string vector.
Definition interfaces.hpp:137
Format
Definition interfaces.hpp:158
Type type() const
Definition interfaces.hpp:139
virtual void set(size_t i, std::string v)=0
Interface for vector-like objects.
Definition interfaces.hpp:74
virtual void set_name(size_t i, std::string n)=0
virtual void set_missing(size_t i)=0
virtual size_t size() const =0
Parse an R list from a HDF5 or JSON file.
Definition parse_json.hpp:28
Type
Definition interfaces.hpp:28
bool is_vector(Type t)
Definition interfaces.hpp:43