Skip to main content

Class

Struct Class 

Source
pub struct Class { /* private fields */ }
Expand description

原生类型指针

Implementations§

Source§

impl Class

Source

pub const fn uninit() -> Self

为static创建一个空指针

要在此后调用其new方法才能访问

Source

pub fn new(&self, name: &str)

为Class内部创建一个新类

重复调用会引起一个ClassInner的内存泄漏

Source

pub fn create_raw(&self, v: usize, w: usize) -> Instance

为此类创建一个实例

v是两个指针长度的内容,可以传任何东西然后as或者transmute

Source

pub fn create(&self, v: usize, w: usize) -> Litr

为此类创建一个实例并包装为Litr

v是两个指针长度的内容,可以传任何东西然后as或者transmute

Source

pub fn getter(&self, f: fn(_: &Instance, get: Ident) -> Litr)

设置getter, 用来处理.运算符

Source

pub fn setter(&self, f: fn(_: &mut Instance, set: Ident, to: Litr))

设置setter, 用来处理a.b = c的写法

Source

pub fn index_get(&self, f: fn(&Instance, LitrRef) -> Litr)

设置index getter, 返回a[i]的值

Source

pub fn index_set(&self, f: fn(&mut Instance, LitrRef, Litr))

设置index setter, 处理a[i] = b

Source

pub fn next(&self, f: fn(&mut Instance) -> Litr)

设置迭代器, 处理for n:instance {}

Source

pub fn onclone(&self, f: fn(&Instance) -> Instance)

自定义复制行为(往往是赋值和传参)

Source

pub fn ondrop(&self, f: fn(&mut Instance))

自定义垃圾回收回收行为(只需要写额外工作,不需要drop此指针)

Source

pub fn to_str(&self, f: fn(&Instance) -> String)

自定义Str::from得到的字符串

Source

pub fn method(&self, name: &str, f: NativeMethod)

添加一个方法

Source

pub fn static_method(&self, name: &str, f: NativeFn)

添加一个静态方法

Trait Implementations§

Source§

impl Clone for Class

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Class

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Class

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Send for Class

Source§

impl Sync for Class

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.