Programming Language

Nocter

A self-contained systems language built around simplicity, encapsulation, and foolproof design.

/development/std/internal/ptr/index.nct

index.nct

//! Package-internal raw memory projection primitives.
//!
//! These operations construct views, move values, and copy bytes at addresses whose validity has
//! already been established by their caller. They are not part of the user-facing pointer API.

pub(/) primitive from_addr<T>(address: usize): *T

pub(/) primitive pointee_size<T>(pointer: *T): usize

pub(/) primitive pointee_align<T>(pointer: *T): usize

pub(/) primitive copy_str_to_ptr(destination: *u8, offset: usize, text: &str): void

pub(/) primitive copy_ptr_to_ptr(destination: *u8, source: *u8, byte_count: usize): void

pub(/) primitive store_u8_to_ptr(destination: *u8, offset: usize, value: u8): void

pub(/) primitive store_value_to_ptr<T>(destination: *T, offset: usize, value: T): void

pub(/) primitive drop_value_at_ptr<T>(pointer: *T, offset: usize): void

pub(/) primitive take_value_at_ptr<T>(pointer: *T, offset: usize): T

pub(/) primitive str_from_raw_parts(pointer: *u8, len: usize): &str

pub(/) primitive slice_from_raw_parts(pointer: *u8, len: usize): &[u8]

pub(/) primitive slice_from_raw_parts_mut(pointer: *u8, len: usize): &+[u8]

pub(/) primitive slice_from_raw_parts_value<T>(pointer: *T, len: usize): &[T]

pub(/) primitive slice_from_raw_parts_value_mut<T>(pointer: *T, len: usize): &+[T]