ReferenceMeta

Struct ReferenceMeta 

Source
pub struct ReferenceMeta {
    pub type_: Ident,
    pub nillable: bool,
    pub min_occurs: MinOccurs,
    pub max_occurs: MaxOccurs,
}
Expand description

Type information that defines a reference to another type.

Fields§

§type_: Ident

Type that is referenced.

§nillable: bool

Whether the referenced type is nillable or not.

§min_occurs: MinOccurs

Minimum occurrence of the referenced type.

§max_occurs: MaxOccurs

Maximum occurrence of the referenced type.

Implementations§

Source§

impl ReferenceMeta

Source

pub fn new<T>(type_: T) -> Self
where T: Into<Ident>,

Create a new ReferenceMeta instance from the passed type_.

Source

pub fn is_single(&self) -> bool

Returns true if this references a single type, false otherwise.

This means that the target type is used exactly once in this reference.

Source

pub fn is_simple(&self) -> bool

Returns true if this references a simple type, false otherwise.

This means that it is more or less just a type definition or renaming of an existing type.

Source

pub fn min_occurs(self, min: MinOccurs) -> Self

Sets the minimum occurrence of the referenced type.

Source

pub fn max_occurs(self, max: MaxOccurs) -> Self

Sets the maximum occurrence of the referenced type.

Source

pub fn is_emptiable(&self, types: &MetaTypes) -> bool

Returns true if this type is emptiable, false otherwise.

Emptiable means that the type may not have any element.

Source

pub fn is_mixed(&self, types: &MetaTypes) -> bool

Returns true if this type is mixed, false otherwise.

Mixed means, that the type also accepts text intermixed with it’s elements.

Trait Implementations§

Source§

impl Clone for ReferenceMeta

Source§

fn clone(&self) -> ReferenceMeta

Returns a duplicate 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 ReferenceMeta

Source§

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

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

impl From<ReferenceMeta> for MetaType

Source§

fn from(value: ReferenceMeta) -> Self

Converts to this type from the input type.
Source§

impl TypeEq for ReferenceMeta

Source§

fn type_hash<H: Hasher>(&self, hasher: &mut H, types: &MetaTypes)

Feeds this value into the given Hasher.
Source§

fn type_eq(&self, other: &Self, types: &MetaTypes) -> bool

Check if this instance is equal to the other instance using the passed types to resolve identifiers.
Source§

fn type_hash_slice<H: Hasher>(slice: &[Self], hasher: &mut H, types: &MetaTypes)

Feeds a slice of this value into the given Hasher.
Source§

fn type_eq_iter<'a, X, Y>(x: X, y: Y, types: &MetaTypes) -> bool
where Self: 'a, X: IntoIterator<Item = &'a Self>, Y: IntoIterator<Item = &'a Self>,

Check if the two passed iterators contain type equal elements.

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<X> AsAny for X
where X: 'static,

Source§

fn into_any(self: Box<X>) -> Box<dyn Any>

Convert the boxed object into a boxed any.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Get a reference to the current object as Any.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Get a mutable reference to the current object as Any.
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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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,

Source§

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>,

Source§

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>,

Source§

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> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,