Crate dync

Source
Expand description

§Overview

This crate aims to fill the gap in Rust’s dynamic traits system by exposing the control over dynamic virtual function tables to the user in a safe API. Below is a list of capabilities unlocked by dync.

  • Create homogeneous untyped Vecs that store a single virtual function table for all contained elements. This functionality is enabled by the traits feature. For more details see vec_dyn.

Re-exports§

pub use downcast_rs as downcast;
pub use index_slice::*;

Modules§

index_slice
macros
Utility macros for code generation.
traits
This module defines the function pointers for supported traits from the standard library.

Macros§

call_numeric_buffer_fn
Applies $fn to an VecCopy mapping valid numeric data types by corresponding generic parameters. For example, passing an VecCopy containing data of type u8 will cause this macro to call $fn with type parameter u8 like $fn::<u8>(buffer).
eval_align
from_dyn
Convert a given container with a dynamic vtable to a concrete type.
into_dyn
Convert a given container type (e.g. VecCopy or SliceDyn) to have a dynamic VTable.

Structs§

CopyValueMut
A generic mutable Copy value reference.
CopyValueRef
A generic value reference to a Copy type.
Meta
Defines a meta struct containing information about a type but not the type itself.
Slice
SliceCopy
SliceCopyMut
SliceMut
Value
ValueMut
A generic mutable value reference into a buffer.
ValueRef
A generic value reference into a buffer.
VecCopy
Buffer of untyped Copy values.
VecDyn

Enums§

Error
VTableRef
A VTable reference type.

Traits§

CopyElem
DropAsAligned
Elem
GetBytesMut
GetBytesRef
VTable
VTable defines a type that represents a virtual function table for some type T.

Type Aliases§

BoxValue
SliceDrop
SliceMutDrop
SmallValue
VecDrop

Attribute Macros§

dync_mod
dync_trait