1#![allow(non_camel_case_types)]
23use crate::SEXP;
24use crate::sexp_types::{R_xlen_t, Rboolean, Rbyte, Rcomplex, SEXPTYPE};
25use crate::sys::DllInfo;
26
27pub type R_altrep_Coerce_method_t =
29 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, rtype: SEXPTYPE) -> SEXP>;
30
31pub type R_altrep_UnserializeEX_method_t = ::std::option::Option<
33 unsafe extern "C-unwind" fn(
34 class: SEXP,
35 state: SEXP,
36 attr: SEXP,
37 objf: ::std::os::raw::c_int,
38 levs: ::std::os::raw::c_int,
39 ) -> SEXP,
40>;
41pub type R_altrep_Unserialize_method_t =
43 ::std::option::Option<unsafe extern "C-unwind" fn(class: SEXP, state: SEXP) -> SEXP>;
44pub type R_altrep_Serialized_state_method_t =
46 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP) -> SEXP>;
47pub type R_altrep_DuplicateEX_method_t =
49 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, deep: Rboolean) -> SEXP>;
50pub type R_altrep_Duplicate_method_t =
52 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, deep: Rboolean) -> SEXP>;
53pub type R_altrep_Inspect_method_t = ::std::option::Option<
55 unsafe extern "C-unwind" fn(
56 x: SEXP,
57 pre: ::std::os::raw::c_int,
58 deep: ::std::os::raw::c_int,
59 pvec: ::std::os::raw::c_int,
60 inspect_subtree: ::std::option::Option<
61 unsafe extern "C-unwind" fn(
62 x: SEXP,
63 pre: ::std::os::raw::c_int,
64 deep: ::std::os::raw::c_int,
65 pvec: ::std::os::raw::c_int,
66 ),
67 >,
68 ) -> Rboolean,
69>;
70pub type R_altrep_Length_method_t =
72 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP) -> R_xlen_t>;
73pub type R_altvec_Dataptr_method_t = ::std::option::Option<
75 unsafe extern "C-unwind" fn(x: SEXP, writable: Rboolean) -> *mut ::std::os::raw::c_void,
76>;
77pub type R_altvec_Dataptr_or_null_method_t =
79 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP) -> *const ::std::os::raw::c_void>;
80pub type R_altvec_Extract_subset_method_t =
82 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, indx: SEXP, call: SEXP) -> SEXP>;
83pub type R_altinteger_Elt_method_t = ::std::option::Option<
85 unsafe extern "C-unwind" fn(x: SEXP, i: R_xlen_t) -> ::std::os::raw::c_int,
86>;
87pub type R_altinteger_Get_region_method_t = ::std::option::Option<
89 unsafe extern "C-unwind" fn(
90 sx: SEXP,
91 i: R_xlen_t,
92 n: R_xlen_t,
93 buf: *mut ::std::os::raw::c_int,
94 ) -> R_xlen_t,
95>;
96pub type R_altinteger_Is_sorted_method_t =
98 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP) -> ::std::os::raw::c_int>;
99pub type R_altinteger_No_NA_method_t =
101 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP) -> ::std::os::raw::c_int>;
102pub type R_altinteger_Sum_method_t =
104 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, narm: Rboolean) -> SEXP>;
105pub type R_altinteger_Min_method_t =
107 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, narm: Rboolean) -> SEXP>;
108pub type R_altinteger_Max_method_t =
110 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, narm: Rboolean) -> SEXP>;
111pub type R_altreal_Elt_method_t =
113 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, i: R_xlen_t) -> f64>;
114pub type R_altreal_Get_region_method_t = ::std::option::Option<
116 unsafe extern "C-unwind" fn(sx: SEXP, i: R_xlen_t, n: R_xlen_t, buf: *mut f64) -> R_xlen_t,
117>;
118pub type R_altreal_Is_sorted_method_t =
120 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP) -> ::std::os::raw::c_int>;
121pub type R_altreal_No_NA_method_t =
123 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP) -> ::std::os::raw::c_int>;
124pub type R_altreal_Sum_method_t =
126 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, narm: Rboolean) -> SEXP>;
127pub type R_altreal_Min_method_t =
129 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, narm: Rboolean) -> SEXP>;
130pub type R_altreal_Max_method_t =
132 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, narm: Rboolean) -> SEXP>;
133pub type R_altlogical_Elt_method_t = ::std::option::Option<
135 unsafe extern "C-unwind" fn(x: SEXP, i: R_xlen_t) -> ::std::os::raw::c_int,
136>;
137pub type R_altlogical_Get_region_method_t = ::std::option::Option<
139 unsafe extern "C-unwind" fn(
140 sx: SEXP,
141 i: R_xlen_t,
142 n: R_xlen_t,
143 buf: *mut ::std::os::raw::c_int,
144 ) -> R_xlen_t,
145>;
146pub type R_altlogical_Is_sorted_method_t =
148 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP) -> ::std::os::raw::c_int>;
149pub type R_altlogical_No_NA_method_t =
151 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP) -> ::std::os::raw::c_int>;
152pub type R_altlogical_Sum_method_t =
154 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, narm: Rboolean) -> SEXP>;
155pub type R_altraw_Elt_method_t =
157 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, i: R_xlen_t) -> Rbyte>;
158pub type R_altraw_Get_region_method_t = ::std::option::Option<
160 unsafe extern "C-unwind" fn(sx: SEXP, i: R_xlen_t, n: R_xlen_t, buf: *mut Rbyte) -> R_xlen_t,
161>;
162pub type R_altcomplex_Elt_method_t =
164 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, i: R_xlen_t) -> Rcomplex>;
165pub type R_altcomplex_Get_region_method_t = ::std::option::Option<
167 unsafe extern "C-unwind" fn(sx: SEXP, i: R_xlen_t, n: R_xlen_t, buf: *mut Rcomplex) -> R_xlen_t,
168>;
169pub type R_altstring_Elt_method_t =
171 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, i: R_xlen_t) -> SEXP>;
172pub type R_altstring_Set_elt_method_t =
174 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, i: R_xlen_t, v: SEXP)>;
175pub type R_altstring_Is_sorted_method_t =
177 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP) -> ::std::os::raw::c_int>;
178pub type R_altstring_No_NA_method_t =
180 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP) -> ::std::os::raw::c_int>;
181pub type R_altlist_Elt_method_t =
183 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, i: R_xlen_t) -> SEXP>;
184pub type R_altlist_Set_elt_method_t =
186 ::std::option::Option<unsafe extern "C-unwind" fn(x: SEXP, i: R_xlen_t, v: SEXP)>;
187#[derive(Clone, Copy)]
188#[repr(C)]
189pub struct R_altrep_class_t {
191 pub ptr: SEXP,
193}
194
195unsafe impl Send for R_altrep_class_t {}
198unsafe impl Sync for R_altrep_class_t {}
199
200#[allow(missing_docs)]
202#[miniextendr_macros::r_ffi_checked]
203unsafe extern "C-unwind" {
204 fn R_new_altrep(aclass: R_altrep_class_t, data1: SEXP, data2: SEXP) -> SEXP;
206
207 pub fn R_make_altstring_class(
209 cname: *const ::std::os::raw::c_char,
210 pname: *const ::std::os::raw::c_char,
211 info: *mut DllInfo,
212 ) -> R_altrep_class_t;
213 pub fn R_make_altinteger_class(
214 cname: *const ::std::os::raw::c_char,
215 pname: *const ::std::os::raw::c_char,
216 info: *mut DllInfo,
217 ) -> R_altrep_class_t;
218 pub fn R_make_altreal_class(
219 cname: *const ::std::os::raw::c_char,
220 pname: *const ::std::os::raw::c_char,
221 info: *mut DllInfo,
222 ) -> R_altrep_class_t;
223 pub fn R_make_altlogical_class(
224 cname: *const ::std::os::raw::c_char,
225 pname: *const ::std::os::raw::c_char,
226 info: *mut DllInfo,
227 ) -> R_altrep_class_t;
228 pub fn R_make_altraw_class(
229 cname: *const ::std::os::raw::c_char,
230 pname: *const ::std::os::raw::c_char,
231 info: *mut DllInfo,
232 ) -> R_altrep_class_t;
233 pub fn R_make_altcomplex_class(
234 cname: *const ::std::os::raw::c_char,
235 pname: *const ::std::os::raw::c_char,
236 info: *mut DllInfo,
237 ) -> R_altrep_class_t;
238 pub fn R_make_altlist_class(
239 cname: *const ::std::os::raw::c_char,
240 pname: *const ::std::os::raw::c_char,
241 info: *mut DllInfo,
242 ) -> R_altrep_class_t;
243 fn R_altrep_inherits(x: SEXP, aclass: R_altrep_class_t) -> Rboolean;
245
246 fn R_set_altrep_UnserializeEX_method(
248 cls: R_altrep_class_t,
249 fun: R_altrep_UnserializeEX_method_t,
250 );
251 fn R_set_altrep_Unserialize_method(cls: R_altrep_class_t, fun: R_altrep_Unserialize_method_t);
252 fn R_set_altrep_Serialized_state_method(
253 cls: R_altrep_class_t,
254 fun: R_altrep_Serialized_state_method_t,
255 );
256 fn R_set_altrep_DuplicateEX_method(cls: R_altrep_class_t, fun: R_altrep_DuplicateEX_method_t);
257 fn R_set_altrep_Duplicate_method(cls: R_altrep_class_t, fun: R_altrep_Duplicate_method_t);
258 fn R_set_altrep_Coerce_method(cls: R_altrep_class_t, fun: R_altrep_Coerce_method_t);
259 fn R_set_altrep_Inspect_method(cls: R_altrep_class_t, fun: R_altrep_Inspect_method_t);
260 fn R_set_altrep_Length_method(cls: R_altrep_class_t, fun: R_altrep_Length_method_t);
261 fn R_set_altvec_Dataptr_method(cls: R_altrep_class_t, fun: R_altvec_Dataptr_method_t);
262 fn R_set_altvec_Dataptr_or_null_method(
263 cls: R_altrep_class_t,
264 fun: R_altvec_Dataptr_or_null_method_t,
265 );
266 fn R_set_altvec_Extract_subset_method(
267 cls: R_altrep_class_t,
268 fun: R_altvec_Extract_subset_method_t,
269 );
270 fn R_set_altinteger_Elt_method(cls: R_altrep_class_t, fun: R_altinteger_Elt_method_t);
271 fn R_set_altinteger_Get_region_method(
272 cls: R_altrep_class_t,
273 fun: R_altinteger_Get_region_method_t,
274 );
275 fn R_set_altinteger_Is_sorted_method(
276 cls: R_altrep_class_t,
277 fun: R_altinteger_Is_sorted_method_t,
278 );
279 fn R_set_altinteger_No_NA_method(cls: R_altrep_class_t, fun: R_altinteger_No_NA_method_t);
280 fn R_set_altinteger_Sum_method(cls: R_altrep_class_t, fun: R_altinteger_Sum_method_t);
281 fn R_set_altinteger_Min_method(cls: R_altrep_class_t, fun: R_altinteger_Min_method_t);
282 fn R_set_altinteger_Max_method(cls: R_altrep_class_t, fun: R_altinteger_Max_method_t);
283 fn R_set_altreal_Elt_method(cls: R_altrep_class_t, fun: R_altreal_Elt_method_t);
284 fn R_set_altreal_Get_region_method(cls: R_altrep_class_t, fun: R_altreal_Get_region_method_t);
285 fn R_set_altreal_Is_sorted_method(cls: R_altrep_class_t, fun: R_altreal_Is_sorted_method_t);
286 fn R_set_altreal_No_NA_method(cls: R_altrep_class_t, fun: R_altreal_No_NA_method_t);
287 fn R_set_altreal_Sum_method(cls: R_altrep_class_t, fun: R_altreal_Sum_method_t);
288 fn R_set_altreal_Min_method(cls: R_altrep_class_t, fun: R_altreal_Min_method_t);
289 fn R_set_altreal_Max_method(cls: R_altrep_class_t, fun: R_altreal_Max_method_t);
290 fn R_set_altlogical_Elt_method(cls: R_altrep_class_t, fun: R_altlogical_Elt_method_t);
291 fn R_set_altlogical_Get_region_method(
292 cls: R_altrep_class_t,
293 fun: R_altlogical_Get_region_method_t,
294 );
295 fn R_set_altlogical_Is_sorted_method(
296 cls: R_altrep_class_t,
297 fun: R_altlogical_Is_sorted_method_t,
298 );
299 fn R_set_altlogical_No_NA_method(cls: R_altrep_class_t, fun: R_altlogical_No_NA_method_t);
300 fn R_set_altlogical_Sum_method(cls: R_altrep_class_t, fun: R_altlogical_Sum_method_t);
301 fn R_set_altraw_Elt_method(cls: R_altrep_class_t, fun: R_altraw_Elt_method_t);
302 fn R_set_altraw_Get_region_method(cls: R_altrep_class_t, fun: R_altraw_Get_region_method_t);
303 fn R_set_altcomplex_Elt_method(cls: R_altrep_class_t, fun: R_altcomplex_Elt_method_t);
304 fn R_set_altcomplex_Get_region_method(
305 cls: R_altrep_class_t,
306 fun: R_altcomplex_Get_region_method_t,
307 );
308 fn R_set_altstring_Elt_method(cls: R_altrep_class_t, fun: R_altstring_Elt_method_t);
309 fn R_set_altstring_Set_elt_method(cls: R_altrep_class_t, fun: R_altstring_Set_elt_method_t);
310 fn R_set_altstring_Is_sorted_method(cls: R_altrep_class_t, fun: R_altstring_Is_sorted_method_t);
311 fn R_set_altstring_No_NA_method(cls: R_altrep_class_t, fun: R_altstring_No_NA_method_t);
312 fn R_set_altlist_Elt_method(cls: R_altrep_class_t, fun: R_altlist_Elt_method_t);
313 fn R_set_altlist_Set_elt_method(cls: R_altrep_class_t, fun: R_altlist_Set_elt_method_t);
314}
315
316impl R_altrep_class_t {
317 #[inline(always)]
321 pub const fn from_sexp(ptr: SEXP) -> Self {
322 Self { ptr }
323 }
324
325 #[inline(always)]
329 pub fn as_sexp(self) -> SEXP {
330 self.ptr
331 }
332
333 #[inline]
338 pub unsafe fn new_altrep(self, data1: SEXP, data2: SEXP) -> SEXP {
339 unsafe { R_new_altrep(self, data1, data2) }
340 }
341
342 #[inline]
347 pub unsafe fn new_altrep_unchecked(self, data1: SEXP, data2: SEXP) -> SEXP {
348 unsafe { R_new_altrep_unchecked(self, data1, data2) }
349 }
350
351 #[inline]
356 pub unsafe fn inherits(self, x: SEXP) -> bool {
357 unsafe { R_altrep_inherits(x, self) != Rboolean::FALSE }
358 }
359
360 #[inline]
366 pub unsafe fn set_length_method(self, fun: R_altrep_Length_method_t) {
367 unsafe { R_set_altrep_Length_method(self, fun) }
368 }
369
370 #[inline]
374 pub unsafe fn set_serialized_state_method(self, fun: R_altrep_Serialized_state_method_t) {
375 unsafe { R_set_altrep_Serialized_state_method(self, fun) }
376 }
377
378 #[inline]
382 pub unsafe fn set_unserialize_method(self, fun: R_altrep_Unserialize_method_t) {
383 unsafe { R_set_altrep_Unserialize_method(self, fun) }
384 }
385
386 #[inline]
390 pub unsafe fn set_unserialize_ex_method(self, fun: R_altrep_UnserializeEX_method_t) {
391 unsafe { R_set_altrep_UnserializeEX_method(self, fun) }
392 }
393
394 #[inline]
398 pub unsafe fn set_duplicate_method(self, fun: R_altrep_Duplicate_method_t) {
399 unsafe { R_set_altrep_Duplicate_method(self, fun) }
400 }
401
402 #[inline]
406 pub unsafe fn set_duplicate_ex_method(self, fun: R_altrep_DuplicateEX_method_t) {
407 unsafe { R_set_altrep_DuplicateEX_method(self, fun) }
408 }
409
410 #[inline]
414 pub unsafe fn set_coerce_method(self, fun: R_altrep_Coerce_method_t) {
415 unsafe { R_set_altrep_Coerce_method(self, fun) }
416 }
417
418 #[inline]
422 pub unsafe fn set_inspect_method(self, fun: R_altrep_Inspect_method_t) {
423 unsafe { R_set_altrep_Inspect_method(self, fun) }
424 }
425
426 #[inline]
434 pub unsafe fn set_dataptr_method(self, fun: R_altvec_Dataptr_method_t) {
435 unsafe { R_set_altvec_Dataptr_method(self, fun) }
436 }
437
438 #[inline]
442 pub unsafe fn set_dataptr_or_null_method(self, fun: R_altvec_Dataptr_or_null_method_t) {
443 unsafe { R_set_altvec_Dataptr_or_null_method(self, fun) }
444 }
445
446 #[inline]
450 pub unsafe fn set_extract_subset_method(self, fun: R_altvec_Extract_subset_method_t) {
451 unsafe { R_set_altvec_Extract_subset_method(self, fun) }
452 }
453
454 #[inline]
462 pub unsafe fn set_integer_elt_method(self, fun: R_altinteger_Elt_method_t) {
463 unsafe { R_set_altinteger_Elt_method(self, fun) }
464 }
465
466 #[inline]
470 pub unsafe fn set_integer_get_region_method(self, fun: R_altinteger_Get_region_method_t) {
471 unsafe { R_set_altinteger_Get_region_method(self, fun) }
472 }
473
474 #[inline]
478 pub unsafe fn set_integer_is_sorted_method(self, fun: R_altinteger_Is_sorted_method_t) {
479 unsafe { R_set_altinteger_Is_sorted_method(self, fun) }
480 }
481
482 #[inline]
486 pub unsafe fn set_integer_no_na_method(self, fun: R_altinteger_No_NA_method_t) {
487 unsafe { R_set_altinteger_No_NA_method(self, fun) }
488 }
489
490 #[inline]
494 pub unsafe fn set_integer_sum_method(self, fun: R_altinteger_Sum_method_t) {
495 unsafe { R_set_altinteger_Sum_method(self, fun) }
496 }
497
498 #[inline]
502 pub unsafe fn set_integer_min_method(self, fun: R_altinteger_Min_method_t) {
503 unsafe { R_set_altinteger_Min_method(self, fun) }
504 }
505
506 #[inline]
510 pub unsafe fn set_integer_max_method(self, fun: R_altinteger_Max_method_t) {
511 unsafe { R_set_altinteger_Max_method(self, fun) }
512 }
513
514 #[inline]
522 pub unsafe fn set_real_elt_method(self, fun: R_altreal_Elt_method_t) {
523 unsafe { R_set_altreal_Elt_method(self, fun) }
524 }
525
526 #[inline]
530 pub unsafe fn set_real_get_region_method(self, fun: R_altreal_Get_region_method_t) {
531 unsafe { R_set_altreal_Get_region_method(self, fun) }
532 }
533
534 #[inline]
538 pub unsafe fn set_real_is_sorted_method(self, fun: R_altreal_Is_sorted_method_t) {
539 unsafe { R_set_altreal_Is_sorted_method(self, fun) }
540 }
541
542 #[inline]
546 pub unsafe fn set_real_no_na_method(self, fun: R_altreal_No_NA_method_t) {
547 unsafe { R_set_altreal_No_NA_method(self, fun) }
548 }
549
550 #[inline]
554 pub unsafe fn set_real_sum_method(self, fun: R_altreal_Sum_method_t) {
555 unsafe { R_set_altreal_Sum_method(self, fun) }
556 }
557
558 #[inline]
562 pub unsafe fn set_real_min_method(self, fun: R_altreal_Min_method_t) {
563 unsafe { R_set_altreal_Min_method(self, fun) }
564 }
565
566 #[inline]
570 pub unsafe fn set_real_max_method(self, fun: R_altreal_Max_method_t) {
571 unsafe { R_set_altreal_Max_method(self, fun) }
572 }
573
574 #[inline]
582 pub unsafe fn set_logical_elt_method(self, fun: R_altlogical_Elt_method_t) {
583 unsafe { R_set_altlogical_Elt_method(self, fun) }
584 }
585
586 #[inline]
590 pub unsafe fn set_logical_get_region_method(self, fun: R_altlogical_Get_region_method_t) {
591 unsafe { R_set_altlogical_Get_region_method(self, fun) }
592 }
593
594 #[inline]
598 pub unsafe fn set_logical_is_sorted_method(self, fun: R_altlogical_Is_sorted_method_t) {
599 unsafe { R_set_altlogical_Is_sorted_method(self, fun) }
600 }
601
602 #[inline]
606 pub unsafe fn set_logical_no_na_method(self, fun: R_altlogical_No_NA_method_t) {
607 unsafe { R_set_altlogical_No_NA_method(self, fun) }
608 }
609
610 #[inline]
614 pub unsafe fn set_logical_sum_method(self, fun: R_altlogical_Sum_method_t) {
615 unsafe { R_set_altlogical_Sum_method(self, fun) }
616 }
617
618 #[inline]
626 pub unsafe fn set_raw_elt_method(self, fun: R_altraw_Elt_method_t) {
627 unsafe { R_set_altraw_Elt_method(self, fun) }
628 }
629
630 #[inline]
634 pub unsafe fn set_raw_get_region_method(self, fun: R_altraw_Get_region_method_t) {
635 unsafe { R_set_altraw_Get_region_method(self, fun) }
636 }
637
638 #[inline]
646 pub unsafe fn set_complex_elt_method(self, fun: R_altcomplex_Elt_method_t) {
647 unsafe { R_set_altcomplex_Elt_method(self, fun) }
648 }
649
650 #[inline]
654 pub unsafe fn set_complex_get_region_method(self, fun: R_altcomplex_Get_region_method_t) {
655 unsafe { R_set_altcomplex_Get_region_method(self, fun) }
656 }
657
658 #[inline]
666 pub unsafe fn set_string_elt_method(self, fun: R_altstring_Elt_method_t) {
667 unsafe { R_set_altstring_Elt_method(self, fun) }
668 }
669
670 #[inline]
674 pub unsafe fn set_string_set_elt_method(self, fun: R_altstring_Set_elt_method_t) {
675 unsafe { R_set_altstring_Set_elt_method(self, fun) }
676 }
677
678 #[inline]
682 pub unsafe fn set_string_is_sorted_method(self, fun: R_altstring_Is_sorted_method_t) {
683 unsafe { R_set_altstring_Is_sorted_method(self, fun) }
684 }
685
686 #[inline]
690 pub unsafe fn set_string_no_na_method(self, fun: R_altstring_No_NA_method_t) {
691 unsafe { R_set_altstring_No_NA_method(self, fun) }
692 }
693
694 #[inline]
702 pub unsafe fn set_list_elt_method(self, fun: R_altlist_Elt_method_t) {
703 unsafe { R_set_altlist_Elt_method(self, fun) }
704 }
705
706 #[inline]
710 pub unsafe fn set_list_set_elt_method(self, fun: R_altlist_Set_elt_method_t) {
711 unsafe { R_set_altlist_Set_elt_method(self, fun) }
712 }
713
714 }
716
717#[inline(always)]
723pub fn sexp(class: R_altrep_class_t) -> SEXP {
724 class.ptr
725}
726
727#[inline(always)]
731pub const fn subtype_init(ptr: SEXP) -> R_altrep_class_t {
732 R_altrep_class_t { ptr }
733}
734
735