Struct gmeta::PortableRegistry

source ·
pub struct PortableRegistry {
    pub types: Vec<PortableType>,
}
Expand description

A read-only registry containing types in their portable form for serialization.

Fields§

§types: Vec<PortableType>

The types contained by the PortableRegistry.

Implementations§

source§

impl PortableRegistry

source

pub fn resolve(&self, id: u32) -> Option<&Type<PortableForm>>

Returns the type definition for the given identifier, None if no type found for that ID.

source

pub fn types(&self) -> &[PortableType]

👎Deprecated since 2.5.0: Prefer to access the fields directly; this getter will be removed in the next major version

Returns all types with their associated identifiers.

source

pub fn retain<F>(&mut self, filter: F) -> BTreeMap<u32, u32>
where F: FnMut(u32) -> bool,

Retains only the portable types needed to express the provided ids.

The type IDs retained are returned as key to the BTreeMap. The value of the map represents the new ID of that type.

§Note

A given type ID can be defined by nesting type IDs, such as the case of a TypeDef::Composite and others. To retain a valid PortableRegistry all the types needed to express an ID are included. Therefore, the number of elements defined by the result equals or exceeds the number of provided IDs.

Trait Implementations§

source§

impl Clone for PortableRegistry

source§

fn clone(&self) -> PortableRegistry

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PortableRegistry

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Encode for PortableRegistry

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )
where __CodecOutputEdqy: Output + ?Sized,

Convert self to a slice and append it to the destination.
source§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
source§

fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback>( &self, f: __CodecUsingEncodedCallback ) -> __CodecOutputReturn
where __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn,

Convert self to a slice and then invoke the given closure with it.
source§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl From<Registry> for PortableRegistry

source§

fn from(registry: Registry) -> PortableRegistry

Converts to this type from the input type.
source§

impl PartialEq for PortableRegistry

source§

fn eq(&self, other: &PortableRegistry) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl EncodeLike for PortableRegistry

source§

impl Eq for PortableRegistry

source§

impl StructuralPartialEq for PortableRegistry

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> EncodeLike<&&T> for T
where T: Encode,

source§

impl<T> EncodeLike<&T> for T
where T: Encode,

source§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

source§

impl<T> EncodeLike<Arc<T>> for T
where T: Encode,

source§

impl<T> EncodeLike<Box<T>> for T
where T: Encode,

source§

impl<'a, T> EncodeLike<Cow<'a, T>> for T
where T: ToOwned + Encode,

source§

impl<T> EncodeLike<Rc<T>> for T
where T: Encode,

source§

impl<S> FullEncode for S
where S: Encode + EncodeLike,

source§

impl<T> JsonSchemaMaybe for T