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 · 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 · 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§

§

impl !Freeze for Class

§

impl !RefUnwindSafe for Class

§

impl Unpin for Class

§

impl UnwindSafe for Class

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.