[][src]Struct refloctopus::FieldsCursor

pub struct FieldsCursor<'db> { /* fields omitted */ }

A cursor into the in-memory densely packed field metadata for a particular type.

Using this directly is not advised, it is very easy to misuse. The reflect generates code that drives this cursor for writing the reflection db during startup, and there are readers of this metadata in the serde implementations.

Safety

This can both read and write, and does no bounds checking in release mode. It essentially transmutes every time it is touched. Be cautious!

During debug builds, the type IDs will be recorded and verified to try and ensure runtime type safety but this is mostly for the the tests. If the state of the field visitor and the datashape ever start disagreeing, lots of corruption will be had.

Implementations

impl<'db> FieldsCursor<'db>[src]

pub unsafe fn array<T: HasKey>(&self, len: &ExpectArr<T>) -> &'db [T][src]

pub unsafe fn write_enum_arm(&self, arm: EnumArm<'db>)[src]

pub unsafe fn write_field(&self, field: Field<'db>)[src]

pub unsafe fn write_shape(&self, shape: DataShape<'db>)[src]

pub unsafe fn shape(&self, _: &Expect<DataShape<'db>>) -> &'db DataShape<'db>[src]

pub unsafe fn field(&self, _: &Expect<Field<'db>>) -> &'db Field<'db>[src]

pub unsafe fn peek_first_field(
    &self,
    _: &ExpectArr<Field<'db>>
) -> &'db Field<'db>
[src]

Trait Implementations

impl<'db> Clone for FieldsCursor<'db>[src]

Auto Trait Implementations

impl<'db> !RefUnwindSafe for FieldsCursor<'db>[src]

impl<'db> !Send for FieldsCursor<'db>[src]

impl<'db> !Sync for FieldsCursor<'db>[src]

impl<'db> Unpin for FieldsCursor<'db>[src]

impl<'db> UnwindSafe for FieldsCursor<'db>[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Erasable for T

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.