]> git.proxmox.com Git - ceph.git/blob - ceph/src/arrow/r/inst/include/cpp11/altrep.hpp
import quincy 17.2.0
[ceph.git] / ceph / src / arrow / r / inst / include / cpp11 / altrep.hpp
1 // cpp11 version: 0.3.1.1
2 // vendored on: 2021-08-11
3 #pragma once
4
5 #include "Rversion.h"
6
7 #if defined(R_VERSION) && R_VERSION >= R_Version(3, 5, 0)
8 #define HAS_ALTREP
9 #endif
10
11 #ifndef HAS_ALTREP
12
13 #define ALTREP(x) false
14
15 #define REAL_ELT(x, i) REAL(x)[i]
16 #define INTEGER_ELT(x, i) INTEGER(x)[i]
17 #define LOGICAL_ELT(x, i) LOGICAL(x)[i]
18 #define RAW_ELT(x, i) RAW(x)[i]
19
20 #define SET_REAL_ELT(x, i, val) REAL(x)[i] = val
21 #define SET_INTEGER_ELT(x, i, val) INTEGER(x)[i] = val
22 #define SET_LOGICAL_ELT(x, i, val) LOGICAL(x)[i] = val
23 #define SET_RAW_ELT(x, i, val) RAW(x)[i] = val
24
25 #define REAL_GET_REGION(...) \
26 do { \
27 } while (false)
28
29 #define INTEGER_GET_REGION(...) \
30 do { \
31 } while (false)
32 #endif
33
34 #if !defined HAS_ALTREP || (defined(R_VERSION) && R_VERSION < R_Version(3, 6, 0))
35
36 #define LOGICAL_GET_REGION(...) \
37 do { \
38 } while (false)
39
40 #define RAW_GET_REGION(...) \
41 do { \
42 } while (false)
43
44 #endif