[][src]Struct winrt_gen::TypeReader

pub struct TypeReader {
    pub files: Vec<WinmdFile>,
    pub types: BTreeMap<String, BTreeMap<String, TypeDef>>,
}

A reader of type information from Windows Metadata

Fields

files: Vec<WinmdFile>

The parsed Windows metadata files the TypeReader has access to

types: BTreeMap<String, BTreeMap<String, TypeDef>>

Types known to this TypeReader

This is a mapping between namespace names and the types inside that namespace

Implementations

impl TypeReader[src]

pub fn from_os() -> Self[src]

pub fn new(files: Vec<WinmdFile>) -> Self[src]

Create a new TypeReader from a WinmdFiles

pub fn namespaces(&self) -> impl Iterator<Item = &String>[src]

Get all the namespace names that the TypeReader knows about

pub fn namespace_types(
    &self,
    namespace: &str
) -> impl Iterator<Item = (&str, &TypeDef)>
[src]

Get all type definitions ([TypeDef]s) for a given namespace

Panics

Panics if the namespace does not exist

pub fn resolve_type_def(&self, (namespace, type_name): (&str, &str)) -> TypeDef[src]

Resolve a type definition given its namespace and type name

Panics

Panics if no type definition for the given namespace and type name can be found

pub fn u32(&self, row: Row, column: u32) -> u32[src]

Read a u32 value from a specific [Row] and column

pub fn str(&self, row: Row, column: u32) -> &str[src]

Read a [&str] value from a specific [Row] and column

pub fn decode<T: Decode>(&self, row: Row, column: u32) -> T[src]

Read a T: Decode value from a specific [Row] and column

pub fn list(
    &self,
    row: Row,
    table: TableIndex,
    column: u32
) -> impl Iterator<Item = Row>
[src]

pub fn blob(&self, row: Row, column: u32) -> Blob[src]

pub fn equal_range(
    &self,
    file: u16,
    table: TableIndex,
    column: u32,
    value: u32
) -> impl Iterator<Item = Row>
[src]

pub fn upper_bound(
    &self,
    file: u16,
    table: TableIndex,
    column: u32,
    value: u32
) -> Row
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.