Struct fetish_lib::primitive_directory::PrimitiveDirectory [−][src]
pub struct PrimitiveDirectory { pub primitive_type_spaces: HashMap<TypeId, PrimitiveTypeSpace>, }
Expand description
A directory of primitive function terms (FuncImpl
s),
consisting of one PrimitiveTypeSpace
for each function TypeId
in some TypeInfoDirectory
.
Fields
primitive_type_spaces: HashMap<TypeId, PrimitiveTypeSpace>
Implementations
impl PrimitiveDirectory
[src]
impl PrimitiveDirectory
[src]pub fn get_primitive(
&self,
primitive_term_pointer: PrimitiveTermPointer
) -> &dyn FuncImpl
[src]
pub fn get_primitive(
&self,
primitive_term_pointer: PrimitiveTermPointer
) -> &dyn FuncImpl
[src]Given a PrimitiveTermPointer
pointing to a primitive term in this
PrimitiveDirectory
, yields the primitive term as a FuncImpl
.
pub fn new(type_info_directory: &TypeInfoDirectory) -> PrimitiveDirectory
[src]
pub fn new(type_info_directory: &TypeInfoDirectory) -> PrimitiveDirectory
[src]Constructs a new, initially-empty PrimitiveDirectory
.
pub fn add(
&mut self,
func_impl: Box<dyn FuncImpl>,
type_info_directory: &TypeInfoDirectory
)
[src]
pub fn add(
&mut self,
func_impl: Box<dyn FuncImpl>,
type_info_directory: &TypeInfoDirectory
)
[src]Adds the given FuncImpl
to this PrimitiveDirectory
, which is assumed
to reference types pulled from the given TypeInfoDirectory
.
pub fn add_binary_func(
&mut self,
type_id: TypeId,
binary_func: Box<dyn BinaryArrayOperator>,
type_info_directory: &TypeInfoDirectory
)
[src]
pub fn add_binary_func(
&mut self,
type_id: TypeId,
binary_func: Box<dyn BinaryArrayOperator>,
type_info_directory: &TypeInfoDirectory
)
[src]Convenient wrapper around Self::add
which allows adding a BinaryArrayOperator
to this PrimitiveDirectory
whose element type is the given TypeId
within
the given TypeInfoDirectory
.
Auto Trait Implementations
impl !RefUnwindSafe for PrimitiveDirectory
impl !Send for PrimitiveDirectory
impl !Sync for PrimitiveDirectory
impl Unpin for PrimitiveDirectory
impl !UnwindSafe for PrimitiveDirectory
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,