Skip to main content

TypeKind

Enum TypeKind 

Source
#[non_exhaustive]
pub enum TypeKind {
Show 28 variants NoType, Boolean, Byte, Int8, UInt8, Int16, UInt16, Int32, UInt32, Int64, UInt64, Float32, Float64, Float128, Char8, Char16, String8, String16, Enumeration, Bitmask, Alias, Array, Sequence, Map, Structure, Union, Bitset, Annotation,
}
Expand description

XTypes 1.3 TypeKind-Enum (§7.5.1 Table 10).

Deckt die 24 in der Spec genannten Kinds. NoType entspricht TK_NONE.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

NoType

Kein Typ — Sentinel-Wert.

§

Boolean

boolean.

§

Byte

octet / byte (8-bit unsigned).

§

Int8

int8.

§

UInt8

uint8.

§

Int16

int16.

§

UInt16

uint16.

§

Int32

int32.

§

UInt32

uint32.

§

Int64

int64.

§

UInt64

uint64.

§

Float32

float32.

§

Float64

float64.

§

Float128

float128 (long double).

§

Char8

char (8-bit).

§

Char16

wchar (16-bit).

§

String8

string<N>.

§

String16

wstring<N>.

§

Enumeration

Enumeration.

§

Bitmask

Bitmask.

§

Alias

Alias / typedef.

§

Array

Array T[D1,D2,...].

§

Sequence

sequence<T,N>.

§

Map

map<K,V,N>.

§

Structure

struct.

§

Union

union.

§

Bitset

bitset.

§

Annotation

annotation.

Implementations§

Source§

impl TypeKind

Source

pub const fn is_primitive(self) -> bool

true wenn der Kind ein primitiver, atomarer Typ ist (kein Composite, keine Collection). Spec §7.5.1.

Source

pub const fn is_aggregable(self) -> bool

true wenn dieser Kind Members tragen kann (Struct/Union/ Annotation/Bitset/Bitmask/Enum).

Trait Implementations§

Source§

impl Clone for TypeKind

Source§

fn clone(&self) -> TypeKind

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for TypeKind

Source§

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

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

impl Hash for TypeKind

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for TypeKind

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for TypeKind

Source§

impl Eq for TypeKind

Source§

impl StructuralPartialEq for TypeKind

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