pub struct TypeResolver { /* private fields */ }Expand description
TypeResolver is a resolver for fast type/serializer dispatch.
Implementations§
Source§impl TypeResolver
impl TypeResolver
pub fn get_type_info(&self, type_id: &TypeId) -> Result<Rc<TypeInfo>, Error>
pub fn get_type_info_by_id(&self, id: u32) -> Option<Rc<TypeInfo>>
pub fn get_type_info_by_name( &self, namespace: &str, type_name: &str, ) -> Option<Rc<TypeInfo>>
Sourcepub fn get_type_id(&self, type_id: &TypeId, id: u32) -> Result<u32, Error>
pub fn get_type_id(&self, type_id: &TypeId, id: u32) -> Result<u32, Error>
Fast path for getting type info by numeric ID (avoids HashMap lookup by TypeId)
pub fn get_harness(&self, id: u32) -> Option<Rc<Harness>>
pub fn get_name_harness( &self, namespace: Rc<MetaString>, type_name: Rc<MetaString>, ) -> Option<Rc<Harness>>
pub fn get_ext_harness(&self, id: u32) -> Result<Rc<Harness>, Error>
pub fn get_ext_name_harness( &self, namespace: Rc<MetaString>, type_name: Rc<MetaString>, ) -> Result<Rc<Harness>, Error>
pub fn get_fory_type_id(&self, rust_type_id: TypeId) -> Option<u32>
pub fn register_by_id<T>(&mut self, id: u32) -> Result<(), Error>
pub fn register_by_namespace<T>( &mut self, namespace: &str, type_name: &str, ) -> Result<(), Error>
pub fn register_serializer_by_id<T>(&mut self, id: u32) -> Result<(), Error>where
T: Serializer + ForyDefault,
pub fn register_serializer_by_namespace<T>(
&mut self,
namespace: &str,
type_name: &str,
) -> Result<(), Error>where
T: Serializer + ForyDefault,
Sourcepub fn register_generic_trait<T>(&mut self) -> Result<(), Error>where
T: 'static + Serializer + ForyDefault,
pub fn register_generic_trait<T>(&mut self) -> Result<(), Error>where
T: 'static + Serializer + ForyDefault,
Register a generic trait type like List, Map, Set
Trait Implementations§
Source§impl Default for TypeResolver
impl Default for TypeResolver
Source§fn default() -> TypeResolver
fn default() -> TypeResolver
Returns the “default value” for a type. Read more
impl Send for TypeResolver
impl Sync for TypeResolver
Auto Trait Implementations§
impl Freeze for TypeResolver
impl RefUnwindSafe for TypeResolver
impl Unpin for TypeResolver
impl UnwindSafe for TypeResolver
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more