1#![allow(non_camel_case_types)]
6use crate::ffi::{DllInfo, R_xlen_t, Rboolean, Rbyte, Rcomplex, SEXP, SEXPTYPE};
7
8pub type R_altrep_Coerce_method_t =
10 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, rtype: SEXPTYPE) -> SEXP>;
11
12pub type R_altrep_UnserializeEX_method_t = ::std::option::Option<
14 unsafe extern "C-unwind" fn(
15 class: SEXP,
16 state: SEXP,
17 attr: SEXP,
18 objf: ::std::os::raw::c_int,
19 levs: ::std::os::raw::c_int,
20 ) -> SEXP,
21>;
22pub type R_altrep_Unserialize_method_t =
24 ::std::option::Option<unsafe extern "C-unwind" fn(class: SEXP, state: SEXP) -> SEXP>;
25pub type R_altrep_Serialized_state_method_t =
27 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP) -> SEXP>;
28pub type R_altrep_DuplicateEX_method_t =
30 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, deep: Rboolean) -> SEXP>;
31pub type R_altrep_Duplicate_method_t =
33 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, deep: Rboolean) -> SEXP>;
34pub type R_altrep_Inspect_method_t = ::std::option::Option<
36 unsafe extern "C-unwind" fn(
37 x: SEXP,
38 pre: ::std::os::raw::c_int,
39 deep: ::std::os::raw::c_int,
40 pvec: ::std::os::raw::c_int,
41 inspect_subtree: ::std::option::Option<
42 unsafe extern "C-unwind" fn(
43 x: SEXP,
44 pre: ::std::os::raw::c_int,
45 deep: ::std::os::raw::c_int,
46 pvec: ::std::os::raw::c_int,
47 ),
48 >,
49 ) -> Rboolean,
50>;
51pub type R_altrep_Length_method_t =
53 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP) -> R_xlen_t>;
54pub type R_altvec_Dataptr_method_t = ::std::option::Option<
56 unsafe extern "C-unwind" fn(x: SEXP, writable: Rboolean) -> *mut ::std::os::raw::c_void,
57>;
58pub type R_altvec_Dataptr_or_null_method_t =
60 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP) -> *const ::std::os::raw::c_void>;
61pub type R_altvec_Extract_subset_method_t =
63 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, indx: SEXP, call: SEXP) -> SEXP>;
64pub type R_altinteger_Elt_method_t = ::std::option::Option<
66 unsafe extern "C-unwind" fn(x: SEXP, i: R_xlen_t) -> ::std::os::raw::c_int,
67>;
68pub type R_altinteger_Get_region_method_t = ::std::option::Option<
70 unsafe extern "C-unwind" fn(
71 sx: SEXP,
72 i: R_xlen_t,
73 n: R_xlen_t,
74 buf: *mut ::std::os::raw::c_int,
75 ) -> R_xlen_t,
76>;
77pub type R_altinteger_Is_sorted_method_t =
79 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP) -> ::std::os::raw::c_int>;
80pub type R_altinteger_No_NA_method_t =
82 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP) -> ::std::os::raw::c_int>;
83pub type R_altinteger_Sum_method_t =
85 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, narm: Rboolean) -> SEXP>;
86pub type R_altinteger_Min_method_t =
88 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, narm: Rboolean) -> SEXP>;
89pub type R_altinteger_Max_method_t =
91 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, narm: Rboolean) -> SEXP>;
92pub type R_altreal_Elt_method_t =
94 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, i: R_xlen_t) -> f64>;
95pub type R_altreal_Get_region_method_t = ::std::option::Option<
97 unsafe extern "C-unwind" fn(sx: SEXP, i: R_xlen_t, n: R_xlen_t, buf: *mut f64) -> R_xlen_t,
98>;
99pub type R_altreal_Is_sorted_method_t =
101 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP) -> ::std::os::raw::c_int>;
102pub type R_altreal_No_NA_method_t =
104 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP) -> ::std::os::raw::c_int>;
105pub type R_altreal_Sum_method_t =
107 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, narm: Rboolean) -> SEXP>;
108pub type R_altreal_Min_method_t =
110 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, narm: Rboolean) -> SEXP>;
111pub type R_altreal_Max_method_t =
113 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, narm: Rboolean) -> SEXP>;
114pub type R_altlogical_Elt_method_t = ::std::option::Option<
116 unsafe extern "C-unwind" fn(x: SEXP, i: R_xlen_t) -> ::std::os::raw::c_int,
117>;
118pub type R_altlogical_Get_region_method_t = ::std::option::Option<
120 unsafe extern "C-unwind" fn(
121 sx: SEXP,
122 i: R_xlen_t,
123 n: R_xlen_t,
124 buf: *mut ::std::os::raw::c_int,
125 ) -> R_xlen_t,
126>;
127pub type R_altlogical_Is_sorted_method_t =
129 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP) -> ::std::os::raw::c_int>;
130pub type R_altlogical_No_NA_method_t =
132 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP) -> ::std::os::raw::c_int>;
133pub type R_altlogical_Sum_method_t =
135 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, narm: Rboolean) -> SEXP>;
136pub type R_altraw_Elt_method_t =
138 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, i: R_xlen_t) -> Rbyte>;
139pub type R_altraw_Get_region_method_t = ::std::option::Option<
141 unsafe extern "C-unwind" fn(sx: SEXP, i: R_xlen_t, n: R_xlen_t, buf: *mut Rbyte) -> R_xlen_t,
142>;
143pub type R_altcomplex_Elt_method_t =
145 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, i: R_xlen_t) -> Rcomplex>;
146pub type R_altcomplex_Get_region_method_t = ::std::option::Option<
148 unsafe extern "C-unwind" fn(sx: SEXP, i: R_xlen_t, n: R_xlen_t, buf: *mut Rcomplex) -> R_xlen_t,
149>;
150pub type R_altstring_Elt_method_t =
152 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, i: R_xlen_t) -> SEXP>;
153pub type R_altstring_Set_elt_method_t =
155 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, i: R_xlen_t, v: SEXP)>;
156pub type R_altstring_Is_sorted_method_t =
158 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP) -> ::std::os::raw::c_int>;
159pub type R_altstring_No_NA_method_t =
161 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP) -> ::std::os::raw::c_int>;
162pub type R_altlist_Elt_method_t =
164 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, i: R_xlen_t) -> SEXP>;
165pub type R_altlist_Set_elt_method_t =
167 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, i: R_xlen_t, v: SEXP)>;
168#[derive(Clone, Copy)]
169#[repr(C)]
170pub struct R_altrep_class_t {
172 pub ptr: SEXP,
174}
175
176unsafe impl Send for R_altrep_class_t {}
179unsafe impl Sync for R_altrep_class_t {}
180
181#[allow(missing_docs)]
183#[miniextendr_macros::r_ffi_checked]
184unsafe extern "C-unwind" {
185 fn R_new_altrep(aclass: R_altrep_class_t, data1: SEXP, data2: SEXP) -> SEXP;
187
188 pub fn R_make_altstring_class(
190 cname: *const ::std::os::raw::c_char,
191 pname: *const ::std::os::raw::c_char,
192 info: *mut DllInfo,
193 ) -> R_altrep_class_t;
194 pub fn R_make_altinteger_class(
195 cname: *const ::std::os::raw::c_char,
196 pname: *const ::std::os::raw::c_char,
197 info: *mut DllInfo,
198 ) -> R_altrep_class_t;
199 pub fn R_make_altreal_class(
200 cname: *const ::std::os::raw::c_char,
201 pname: *const ::std::os::raw::c_char,
202 info: *mut DllInfo,
203 ) -> R_altrep_class_t;
204 pub fn R_make_altlogical_class(
205 cname: *const ::std::os::raw::c_char,
206 pname: *const ::std::os::raw::c_char,
207 info: *mut DllInfo,
208 ) -> R_altrep_class_t;
209 pub fn R_make_altraw_class(
210 cname: *const ::std::os::raw::c_char,
211 pname: *const ::std::os::raw::c_char,
212 info: *mut DllInfo,
213 ) -> R_altrep_class_t;
214 pub fn R_make_altcomplex_class(
215 cname: *const ::std::os::raw::c_char,
216 pname: *const ::std::os::raw::c_char,
217 info: *mut DllInfo,
218 ) -> R_altrep_class_t;
219 pub fn R_make_altlist_class(
220 cname: *const ::std::os::raw::c_char,
221 pname: *const ::std::os::raw::c_char,
222 info: *mut DllInfo,
223 ) -> R_altrep_class_t;
224 fn R_altrep_inherits(x: SEXP, aclass: R_altrep_class_t) -> Rboolean;
226
227 fn R_set_altrep_UnserializeEX_method(
229 cls: R_altrep_class_t,
230 fun: R_altrep_UnserializeEX_method_t,
231 );
232 fn R_set_altrep_Unserialize_method(cls: R_altrep_class_t, fun: R_altrep_Unserialize_method_t);
233 fn R_set_altrep_Serialized_state_method(
234 cls: R_altrep_class_t,
235 fun: R_altrep_Serialized_state_method_t,
236 );
237 fn R_set_altrep_DuplicateEX_method(cls: R_altrep_class_t, fun: R_altrep_DuplicateEX_method_t);
238 fn R_set_altrep_Duplicate_method(cls: R_altrep_class_t, fun: R_altrep_Duplicate_method_t);
239 fn R_set_altrep_Coerce_method(cls: R_altrep_class_t, fun: R_altrep_Coerce_method_t);
240 fn R_set_altrep_Inspect_method(cls: R_altrep_class_t, fun: R_altrep_Inspect_method_t);
241 fn R_set_altrep_Length_method(cls: R_altrep_class_t, fun: R_altrep_Length_method_t);
242 fn R_set_altvec_Dataptr_method(cls: R_altrep_class_t, fun: R_altvec_Dataptr_method_t);
243 fn R_set_altvec_Dataptr_or_null_method(
244 cls: R_altrep_class_t,
245 fun: R_altvec_Dataptr_or_null_method_t,
246 );
247 fn R_set_altvec_Extract_subset_method(
248 cls: R_altrep_class_t,
249 fun: R_altvec_Extract_subset_method_t,
250 );
251 fn R_set_altinteger_Elt_method(cls: R_altrep_class_t, fun: R_altinteger_Elt_method_t);
252 fn R_set_altinteger_Get_region_method(
253 cls: R_altrep_class_t,
254 fun: R_altinteger_Get_region_method_t,
255 );
256 fn R_set_altinteger_Is_sorted_method(
257 cls: R_altrep_class_t,
258 fun: R_altinteger_Is_sorted_method_t,
259 );
260 fn R_set_altinteger_No_NA_method(cls: R_altrep_class_t, fun: R_altinteger_No_NA_method_t);
261 fn R_set_altinteger_Sum_method(cls: R_altrep_class_t, fun: R_altinteger_Sum_method_t);
262 fn R_set_altinteger_Min_method(cls: R_altrep_class_t, fun: R_altinteger_Min_method_t);
263 fn R_set_altinteger_Max_method(cls: R_altrep_class_t, fun: R_altinteger_Max_method_t);
264 fn R_set_altreal_Elt_method(cls: R_altrep_class_t, fun: R_altreal_Elt_method_t);
265 fn R_set_altreal_Get_region_method(cls: R_altrep_class_t, fun: R_altreal_Get_region_method_t);
266 fn R_set_altreal_Is_sorted_method(cls: R_altrep_class_t, fun: R_altreal_Is_sorted_method_t);
267 fn R_set_altreal_No_NA_method(cls: R_altrep_class_t, fun: R_altreal_No_NA_method_t);
268 fn R_set_altreal_Sum_method(cls: R_altrep_class_t, fun: R_altreal_Sum_method_t);
269 fn R_set_altreal_Min_method(cls: R_altrep_class_t, fun: R_altreal_Min_method_t);
270 fn R_set_altreal_Max_method(cls: R_altrep_class_t, fun: R_altreal_Max_method_t);
271 fn R_set_altlogical_Elt_method(cls: R_altrep_class_t, fun: R_altlogical_Elt_method_t);
272 fn R_set_altlogical_Get_region_method(
273 cls: R_altrep_class_t,
274 fun: R_altlogical_Get_region_method_t,
275 );
276 fn R_set_altlogical_Is_sorted_method(
277 cls: R_altrep_class_t,
278 fun: R_altlogical_Is_sorted_method_t,
279 );
280 fn R_set_altlogical_No_NA_method(cls: R_altrep_class_t, fun: R_altlogical_No_NA_method_t);
281 fn R_set_altlogical_Sum_method(cls: R_altrep_class_t, fun: R_altlogical_Sum_method_t);
282 fn R_set_altraw_Elt_method(cls: R_altrep_class_t, fun: R_altraw_Elt_method_t);
283 fn R_set_altraw_Get_region_method(cls: R_altrep_class_t, fun: R_altraw_Get_region_method_t);
284 fn R_set_altcomplex_Elt_method(cls: R_altrep_class_t, fun: R_altcomplex_Elt_method_t);
285 fn R_set_altcomplex_Get_region_method(
286 cls: R_altrep_class_t,
287 fun: R_altcomplex_Get_region_method_t,
288 );
289 fn R_set_altstring_Elt_method(cls: R_altrep_class_t, fun: R_altstring_Elt_method_t);
290 fn R_set_altstring_Set_elt_method(cls: R_altrep_class_t, fun: R_altstring_Set_elt_method_t);
291 fn R_set_altstring_Is_sorted_method(cls: R_altrep_class_t, fun: R_altstring_Is_sorted_method_t);
292 fn R_set_altstring_No_NA_method(cls: R_altrep_class_t, fun: R_altstring_No_NA_method_t);
293 fn R_set_altlist_Elt_method(cls: R_altrep_class_t, fun: R_altlist_Elt_method_t);
294 fn R_set_altlist_Set_elt_method(cls: R_altrep_class_t, fun: R_altlist_Set_elt_method_t);
295}
296
297impl R_altrep_class_t {
298 #[inline(always)]
302 pub const fn from_sexp(ptr: SEXP) -> Self {
303 Self { ptr }
304 }
305
306 #[inline(always)]
310 pub fn as_sexp(self) -> SEXP {
311 self.ptr
312 }
313
314 #[inline]
319 pub unsafe fn new_altrep(self, data1: SEXP, data2: SEXP) -> SEXP {
320 unsafe { R_new_altrep(self, data1, data2) }
321 }
322
323 #[inline]
328 pub unsafe fn new_altrep_unchecked(self, data1: SEXP, data2: SEXP) -> SEXP {
329 unsafe { R_new_altrep_unchecked(self, data1, data2) }
330 }
331
332 #[inline]
337 pub unsafe fn inherits(self, x: SEXP) -> bool {
338 unsafe { R_altrep_inherits(x, self) != Rboolean::FALSE }
339 }
340
341 #[inline]
347 pub unsafe fn set_length_method(self, fun: R_altrep_Length_method_t) {
348 unsafe { R_set_altrep_Length_method(self, fun) }
349 }
350
351 #[inline]
355 pub unsafe fn set_serialized_state_method(self, fun: R_altrep_Serialized_state_method_t) {
356 unsafe { R_set_altrep_Serialized_state_method(self, fun) }
357 }
358
359 #[inline]
363 pub unsafe fn set_unserialize_method(self, fun: R_altrep_Unserialize_method_t) {
364 unsafe { R_set_altrep_Unserialize_method(self, fun) }
365 }
366
367 #[inline]
371 pub unsafe fn set_unserialize_ex_method(self, fun: R_altrep_UnserializeEX_method_t) {
372 unsafe { R_set_altrep_UnserializeEX_method(self, fun) }
373 }
374
375 #[inline]
379 pub unsafe fn set_duplicate_method(self, fun: R_altrep_Duplicate_method_t) {
380 unsafe { R_set_altrep_Duplicate_method(self, fun) }
381 }
382
383 #[inline]
387 pub unsafe fn set_duplicate_ex_method(self, fun: R_altrep_DuplicateEX_method_t) {
388 unsafe { R_set_altrep_DuplicateEX_method(self, fun) }
389 }
390
391 #[inline]
395 pub unsafe fn set_coerce_method(self, fun: R_altrep_Coerce_method_t) {
396 unsafe { R_set_altrep_Coerce_method(self, fun) }
397 }
398
399 #[inline]
403 pub unsafe fn set_inspect_method(self, fun: R_altrep_Inspect_method_t) {
404 unsafe { R_set_altrep_Inspect_method(self, fun) }
405 }
406
407 #[inline]
415 pub unsafe fn set_dataptr_method(self, fun: R_altvec_Dataptr_method_t) {
416 unsafe { R_set_altvec_Dataptr_method(self, fun) }
417 }
418
419 #[inline]
423 pub unsafe fn set_dataptr_or_null_method(self, fun: R_altvec_Dataptr_or_null_method_t) {
424 unsafe { R_set_altvec_Dataptr_or_null_method(self, fun) }
425 }
426
427 #[inline]
431 pub unsafe fn set_extract_subset_method(self, fun: R_altvec_Extract_subset_method_t) {
432 unsafe { R_set_altvec_Extract_subset_method(self, fun) }
433 }
434
435 #[inline]
443 pub unsafe fn set_integer_elt_method(self, fun: R_altinteger_Elt_method_t) {
444 unsafe { R_set_altinteger_Elt_method(self, fun) }
445 }
446
447 #[inline]
451 pub unsafe fn set_integer_get_region_method(self, fun: R_altinteger_Get_region_method_t) {
452 unsafe { R_set_altinteger_Get_region_method(self, fun) }
453 }
454
455 #[inline]
459 pub unsafe fn set_integer_is_sorted_method(self, fun: R_altinteger_Is_sorted_method_t) {
460 unsafe { R_set_altinteger_Is_sorted_method(self, fun) }
461 }
462
463 #[inline]
467 pub unsafe fn set_integer_no_na_method(self, fun: R_altinteger_No_NA_method_t) {
468 unsafe { R_set_altinteger_No_NA_method(self, fun) }
469 }
470
471 #[inline]
475 pub unsafe fn set_integer_sum_method(self, fun: R_altinteger_Sum_method_t) {
476 unsafe { R_set_altinteger_Sum_method(self, fun) }
477 }
478
479 #[inline]
483 pub unsafe fn set_integer_min_method(self, fun: R_altinteger_Min_method_t) {
484 unsafe { R_set_altinteger_Min_method(self, fun) }
485 }
486
487 #[inline]
491 pub unsafe fn set_integer_max_method(self, fun: R_altinteger_Max_method_t) {
492 unsafe { R_set_altinteger_Max_method(self, fun) }
493 }
494
495 #[inline]
503 pub unsafe fn set_real_elt_method(self, fun: R_altreal_Elt_method_t) {
504 unsafe { R_set_altreal_Elt_method(self, fun) }
505 }
506
507 #[inline]
511 pub unsafe fn set_real_get_region_method(self, fun: R_altreal_Get_region_method_t) {
512 unsafe { R_set_altreal_Get_region_method(self, fun) }
513 }
514
515 #[inline]
519 pub unsafe fn set_real_is_sorted_method(self, fun: R_altreal_Is_sorted_method_t) {
520 unsafe { R_set_altreal_Is_sorted_method(self, fun) }
521 }
522
523 #[inline]
527 pub unsafe fn set_real_no_na_method(self, fun: R_altreal_No_NA_method_t) {
528 unsafe { R_set_altreal_No_NA_method(self, fun) }
529 }
530
531 #[inline]
535 pub unsafe fn set_real_sum_method(self, fun: R_altreal_Sum_method_t) {
536 unsafe { R_set_altreal_Sum_method(self, fun) }
537 }
538
539 #[inline]
543 pub unsafe fn set_real_min_method(self, fun: R_altreal_Min_method_t) {
544 unsafe { R_set_altreal_Min_method(self, fun) }
545 }
546
547 #[inline]
551 pub unsafe fn set_real_max_method(self, fun: R_altreal_Max_method_t) {
552 unsafe { R_set_altreal_Max_method(self, fun) }
553 }
554
555 #[inline]
563 pub unsafe fn set_logical_elt_method(self, fun: R_altlogical_Elt_method_t) {
564 unsafe { R_set_altlogical_Elt_method(self, fun) }
565 }
566
567 #[inline]
571 pub unsafe fn set_logical_get_region_method(self, fun: R_altlogical_Get_region_method_t) {
572 unsafe { R_set_altlogical_Get_region_method(self, fun) }
573 }
574
575 #[inline]
579 pub unsafe fn set_logical_is_sorted_method(self, fun: R_altlogical_Is_sorted_method_t) {
580 unsafe { R_set_altlogical_Is_sorted_method(self, fun) }
581 }
582
583 #[inline]
587 pub unsafe fn set_logical_no_na_method(self, fun: R_altlogical_No_NA_method_t) {
588 unsafe { R_set_altlogical_No_NA_method(self, fun) }
589 }
590
591 #[inline]
595 pub unsafe fn set_logical_sum_method(self, fun: R_altlogical_Sum_method_t) {
596 unsafe { R_set_altlogical_Sum_method(self, fun) }
597 }
598
599 #[inline]
607 pub unsafe fn set_raw_elt_method(self, fun: R_altraw_Elt_method_t) {
608 unsafe { R_set_altraw_Elt_method(self, fun) }
609 }
610
611 #[inline]
615 pub unsafe fn set_raw_get_region_method(self, fun: R_altraw_Get_region_method_t) {
616 unsafe { R_set_altraw_Get_region_method(self, fun) }
617 }
618
619 #[inline]
627 pub unsafe fn set_complex_elt_method(self, fun: R_altcomplex_Elt_method_t) {
628 unsafe { R_set_altcomplex_Elt_method(self, fun) }
629 }
630
631 #[inline]
635 pub unsafe fn set_complex_get_region_method(self, fun: R_altcomplex_Get_region_method_t) {
636 unsafe { R_set_altcomplex_Get_region_method(self, fun) }
637 }
638
639 #[inline]
647 pub unsafe fn set_string_elt_method(self, fun: R_altstring_Elt_method_t) {
648 unsafe { R_set_altstring_Elt_method(self, fun) }
649 }
650
651 #[inline]
655 pub unsafe fn set_string_set_elt_method(self, fun: R_altstring_Set_elt_method_t) {
656 unsafe { R_set_altstring_Set_elt_method(self, fun) }
657 }
658
659 #[inline]
663 pub unsafe fn set_string_is_sorted_method(self, fun: R_altstring_Is_sorted_method_t) {
664 unsafe { R_set_altstring_Is_sorted_method(self, fun) }
665 }
666
667 #[inline]
671 pub unsafe fn set_string_no_na_method(self, fun: R_altstring_No_NA_method_t) {
672 unsafe { R_set_altstring_No_NA_method(self, fun) }
673 }
674
675 #[inline]
683 pub unsafe fn set_list_elt_method(self, fun: R_altlist_Elt_method_t) {
684 unsafe { R_set_altlist_Elt_method(self, fun) }
685 }
686
687 #[inline]
691 pub unsafe fn set_list_set_elt_method(self, fun: R_altlist_Set_elt_method_t) {
692 unsafe { R_set_altlist_Set_elt_method(self, fun) }
693 }
694
695 }
697
698#[inline(always)]
704pub fn sexp(class: R_altrep_class_t) -> SEXP {
705 class.ptr
706}
707
708#[inline(always)]
712pub const fn subtype_init(ptr: SEXP) -> R_altrep_class_t {
713 R_altrep_class_t { ptr }
714}
715
716