pub struct TypeDescriptor { /* private fields */ }Expand description
The root of a type.
Accessed via the DescribeType trait.
mirror-mirror represents types as (possibly cyclic) graphs since types can contain
themselves. For example struct Foo(Vec<Foo>).
Implementations§
Source§impl TypeDescriptor
impl TypeDescriptor
pub fn get_type(&self) -> Type<'_>
pub fn type_name(&self) -> &str
pub fn default_value(&self) -> Option<Value>
pub fn has_default_value(&self) -> bool
pub fn as_struct(&self) -> Option<StructType<'_>>
pub fn as_tuple_struct(&self) -> Option<TupleStructType<'_>>
pub fn as_tuple(&self) -> Option<TupleType<'_>>
pub fn as_enum(&self) -> Option<EnumType<'_>>
pub fn as_array(&self) -> Option<ArrayType<'_>>
pub fn as_list(&self) -> Option<ListType<'_>>
pub fn as_map(&self) -> Option<MapType<'_>>
pub fn as_scalar(&self) -> Option<ScalarType>
pub fn as_opaque(&self) -> Option<OpaqueType<'_>>
Trait Implementations§
Source§impl Clone for TypeDescriptor
impl Clone for TypeDescriptor
Source§fn clone(&self) -> TypeDescriptor
fn clone(&self) -> TypeDescriptor
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for TypeDescriptor
impl Debug for TypeDescriptor
Source§impl<'de> Deserialize<'de> for TypeDescriptor
impl<'de> Deserialize<'de> for TypeDescriptor
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<'a> GetMeta<'a> for &'a TypeDescriptor
impl<'a> GetMeta<'a> for &'a TypeDescriptor
Source§impl<'a> GetTypePath<'a> for &'a TypeDescriptor
impl<'a> GetTypePath<'a> for &'a TypeDescriptor
Source§impl Hash for TypeDescriptor
impl Hash for TypeDescriptor
Source§impl PartialEq for TypeDescriptor
impl PartialEq for TypeDescriptor
Source§impl PrettyPrintRoot for TypeDescriptor
impl PrettyPrintRoot for TypeDescriptor
fn pretty_root_fmt(&self, f: &mut Formatter<'_>) -> Result
fn pretty_print_root(&self) -> RootPrettyPrinter<'_, Self>
Source§impl<'a_, C_: Context> Readable<'a_, C_> for TypeDescriptor
impl<'a_, C_: Context> Readable<'a_, C_> for TypeDescriptor
fn read_from<R_: Reader<'a_, C_>>(_reader_: &mut R_) -> Result<Self, C_::Error>
fn minimum_bytes_needed() -> usize
Source§fn read_from_buffer(buffer: &'a [u8]) -> Result<Self, <C as Context>::Error>where
Self: DefaultContext<Context = C>,
C: Default,
fn read_from_buffer(buffer: &'a [u8]) -> Result<Self, <C as Context>::Error>where
Self: DefaultContext<Context = C>,
C: Default,
Deserializes from a given buffer. Read more
Source§fn read_with_length_from_buffer(
buffer: &'a [u8],
) -> (Result<Self, <C as Context>::Error>, usize)where
Self: DefaultContext<Context = C>,
C: Default,
fn read_with_length_from_buffer(
buffer: &'a [u8],
) -> (Result<Self, <C as Context>::Error>, usize)where
Self: DefaultContext<Context = C>,
C: Default,
Deserializes from a given buffer while also returning the amount of bytes consumed. Read more
Source§fn read_from_buffer_copying_data(
buffer: &[u8],
) -> Result<Self, <C as Context>::Error>where
Self: DefaultContext<Context = C>,
C: Default,
fn read_from_buffer_copying_data(
buffer: &[u8],
) -> Result<Self, <C as Context>::Error>where
Self: DefaultContext<Context = C>,
C: Default,
Deserializes from a given buffer. Read more
Source§fn read_with_length_from_buffer_copying_data(
buffer: &[u8],
) -> (Result<Self, <C as Context>::Error>, usize)where
Self: DefaultContext<Context = C>,
C: Default,
fn read_with_length_from_buffer_copying_data(
buffer: &[u8],
) -> (Result<Self, <C as Context>::Error>, usize)where
Self: DefaultContext<Context = C>,
C: Default,
Deserializes from a given buffer while also returning the amount of bytes consumed. Read more
Source§fn read_from_stream_unbuffered(
stream: impl Read,
) -> Result<Self, <C as Context>::Error>where
Self: DefaultContext<Context = C>,
C: Default,
fn read_from_stream_unbuffered(
stream: impl Read,
) -> Result<Self, <C as Context>::Error>where
Self: DefaultContext<Context = C>,
C: Default,
Reads from a given stream without any buffering. Read more
Source§fn read_from_stream_buffered(
stream: impl Read,
) -> Result<Self, <C as Context>::Error>where
Self: DefaultContext<Context = C>,
C: Default,
fn read_from_stream_buffered(
stream: impl Read,
) -> Result<Self, <C as Context>::Error>where
Self: DefaultContext<Context = C>,
C: Default,
Reads from a given stream with internal buffering. Read more
fn read_from_file(path: impl AsRef<Path>) -> Result<Self, <C as Context>::Error>where
Self: DefaultContext<Context = C>,
C: Default,
fn read_from_buffer_with_ctx( context: C, buffer: &'a [u8], ) -> Result<Self, <C as Context>::Error>
fn read_with_length_from_buffer_with_ctx( context: C, buffer: &'a [u8], ) -> (Result<Self, <C as Context>::Error>, usize)
fn read_from_buffer_copying_data_with_ctx( context: C, buffer: &[u8], ) -> Result<Self, <C as Context>::Error>
fn read_with_length_from_buffer_copying_data_with_ctx( context: C, buffer: &[u8], ) -> (Result<Self, <C as Context>::Error>, usize)
fn read_with_length_from_buffer_copying_data_with_ctx_mut( context: &mut C, buffer: &[u8], ) -> (Result<Self, <C as Context>::Error>, usize)
fn read_from_stream_unbuffered_with_ctx<S>(
context: C,
stream: S,
) -> Result<Self, <C as Context>::Error>where
S: Read,
fn read_from_stream_buffered_with_ctx<S>(
context: C,
stream: S,
) -> Result<Self, <C as Context>::Error>where
S: Read,
fn read_from_file_with_ctx( context: C, path: impl AsRef<Path>, ) -> Result<Self, <C as Context>::Error>
Source§impl Serialize for TypeDescriptor
impl Serialize for TypeDescriptor
Source§impl<C_: Context> Writable<C_> for TypeDescriptor
impl<C_: Context> Writable<C_> for TypeDescriptor
fn write_to<T_: ?Sized + Writer<C_>>( &self, _writer_: &mut T_, ) -> Result<(), C_::Error>
fn write_to_buffer(
&self,
buffer: &mut [u8],
) -> Result<(), <C as Context>::Error>where
Self: DefaultContext<Context = C>,
C: Default,
fn write_to_vec(&self) -> Result<Vec<u8>, <C as Context>::Error>where
Self: DefaultContext<Context = C>,
C: Default,
fn write_to_stream<S>(&self, stream: S) -> Result<(), <C as Context>::Error>
fn write_to_file(
&self,
path: impl AsRef<Path>,
) -> Result<(), <C as Context>::Error>where
Self: DefaultContext<Context = C>,
C: Default,
fn write_to_buffer_with_ctx( &self, context: C, buffer: &mut [u8], ) -> Result<(), <C as Context>::Error>
fn write_to_buffer_with_ctx_mut( &self, context: &mut C, buffer: &mut [u8], ) -> Result<(), <C as Context>::Error>
fn write_to_vec_with_ctx( &self, context: C, ) -> Result<Vec<u8>, <C as Context>::Error>
fn write_to_vec_with_ctx_mut( &self, context: &mut C, ) -> Result<Vec<u8>, <C as Context>::Error>
fn write_to_stream_with_ctx<S>(
&self,
context: C,
stream: S,
) -> Result<(), <C as Context>::Error>where
S: Write,
fn write_to_file_with_ctx( &self, context: C, path: impl AsRef<Path>, ) -> Result<(), <C as Context>::Error>
fn bytes_needed(&self) -> Result<usize, <C as Context>::Error>
impl Eq for TypeDescriptor
impl StructuralPartialEq for TypeDescriptor
Auto Trait Implementations§
impl Freeze for TypeDescriptor
impl RefUnwindSafe for TypeDescriptor
impl Send for TypeDescriptor
impl Sync for TypeDescriptor
impl Unpin for TypeDescriptor
impl UnwindSafe for TypeDescriptor
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