Trait Parse

Source
pub trait Parse {
    type Object;
    type Error;
    type Config;

    // Required method
    fn parse(
        elem: &Node<'_, '_>,
        config: &Self::Config,
    ) -> Result<Self::Object, Self::Error>;
}
Expand description

Parse trait allows SVD objects to be parsed from XML elements.

Required Associated Types§

Source

type Object

Object returned by parse method

Source

type Error

Parsing error

Source

type Config

Advanced parse options

Required Methods§

Source

fn parse( elem: &Node<'_, '_>, config: &Self::Config, ) -> Result<Self::Object, Self::Error>

Parse an XML/SVD element into it’s corresponding Object.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl Parse for Access

Source§

type Object = Access

Source§

type Error = SVDErrorAt

Source§

type Config = Config

Source§

fn parse( tree: &Node<'_, '_>, _config: &Self::Config, ) -> Result<Self, Self::Error>

Source§

impl Parse for AddressBlockUsage

Source§

type Object = AddressBlockUsage

Source§

type Error = SVDErrorAt

Source§

type Config = Config

Source§

fn parse( tree: &Node<'_, '_>, _config: &Self::Config, ) -> Result<Self, Self::Error>

Source§

impl Parse for DataType

Source§

type Object = DataType

Source§

type Error = SVDErrorAt

Source§

type Config = Config

Source§

fn parse( tree: &Node<'_, '_>, _config: &Self::Config, ) -> Result<Self, Self::Error>

Source§

impl Parse for Endian

Source§

type Object = Endian

Source§

type Error = SVDErrorAt

Source§

type Config = Config

Source§

fn parse( tree: &Node<'_, '_>, _config: &Self::Config, ) -> Result<Self, Self::Error>

Source§

impl Parse for ModifiedWriteValues

Source§

type Object = ModifiedWriteValues

Source§

type Error = SVDErrorAt

Source§

type Config = Config

Source§

fn parse( tree: &Node<'_, '_>, _config: &Self::Config, ) -> Result<Self, Self::Error>

Source§

impl Parse for Protection

Source§

type Object = Protection

Source§

type Error = SVDErrorAt

Source§

type Config = Config

Source§

fn parse( tree: &Node<'_, '_>, _config: &Self::Config, ) -> Result<Self, Self::Error>

Source§

impl Parse for ReadAction

Source§

type Object = ReadAction

Source§

type Error = SVDErrorAt

Source§

type Config = Config

Source§

fn parse( tree: &Node<'_, '_>, _config: &Self::Config, ) -> Result<Self, Self::Error>

Source§

impl Parse for RegisterCluster

Source§

type Object = RegisterCluster

Source§

type Error = SVDErrorAt

Source§

type Config = Config

Source§

fn parse( tree: &Node<'_, '_>, config: &Self::Config, ) -> Result<Self, Self::Error>

Source§

impl Parse for Usage

Source§

type Object = Usage

Source§

type Error = SVDErrorAt

Source§

type Config = Config

Source§

fn parse( tree: &Node<'_, '_>, _config: &Self::Config, ) -> Result<Self, Self::Error>

Source§

impl Parse for WriteConstraint

Source§

type Object = WriteConstraint

Source§

type Error = SVDErrorAt

Source§

type Config = Config

Source§

fn parse( tree: &Node<'_, '_>, _config: &Self::Config, ) -> Result<Self, Self::Error>

Source§

impl Parse for u32

Source§

type Object = u32

Source§

type Error = SVDErrorAt

Source§

type Config = ()

Source§

fn parse( tree: &Node<'_, '_>, _config: &Self::Config, ) -> Result<u32, Self::Error>

Source§

impl Parse for u64

Source§

type Object = u64

Source§

type Error = SVDErrorAt

Source§

type Config = ()

Source§

fn parse( tree: &Node<'_, '_>, _config: &Self::Config, ) -> Result<u64, Self::Error>

Source§

impl Parse for AddressBlock

Source§

type Object = AddressBlock

Source§

type Error = SVDErrorAt

Source§

type Config = Config

Source§

fn parse( tree: &Node<'_, '_>, config: &Self::Config, ) -> Result<Self, Self::Error>

Source§

impl Parse for BitRange

Source§

type Object = BitRange

Source§

type Error = SVDErrorAt

Source§

type Config = Config

Source§

fn parse( tree: &Node<'_, '_>, _config: &Self::Config, ) -> Result<Self, Self::Error>

Source§

impl Parse for ClusterInfo

Source§

type Object = ClusterInfo

Source§

type Error = SVDErrorAt

Source§

type Config = Config

Source§

fn parse( tree: &Node<'_, '_>, config: &Self::Config, ) -> Result<Self, Self::Error>

Source§

impl Parse for Cpu

Source§

type Object = Cpu

Source§

type Error = SVDErrorAt

Source§

type Config = Config

Source§

fn parse(tree: &Node<'_, '_>, config: &Config) -> Result<Self, Self::Error>

Source§

impl Parse for Device

Parses a SVD file

Source§

type Object = Device

Source§

type Error = SVDErrorAt

Source§

type Config = Config

Source§

fn parse( tree: &Node<'_, '_>, config: &Self::Config, ) -> Result<Self, Self::Error>

Source§

impl Parse for DimArrayIndex

Source§

type Object = DimArrayIndex

Source§

type Error = SVDErrorAt

Source§

type Config = Config

Source§

fn parse( tree: &Node<'_, '_>, config: &Self::Config, ) -> Result<Self, Self::Error>

Source§

impl Parse for DimElement

Source§

type Object = DimElement

Source§

type Error = SVDErrorAt

Source§

type Config = Config

Source§

fn parse( tree: &Node<'_, '_>, config: &Self::Config, ) -> Result<Self, Self::Error>

Source§

impl Parse for EnumeratedValue

Source§

type Object = EnumeratedValue

Source§

type Error = SVDErrorAt

Source§

type Config = Config

Source§

fn parse( tree: &Node<'_, '_>, config: &Self::Config, ) -> Result<Self, Self::Error>

Source§

impl Parse for EnumeratedValues

Source§

type Object = EnumeratedValues

Source§

type Error = SVDErrorAt

Source§

type Config = Config

Source§

fn parse( tree: &Node<'_, '_>, config: &Self::Config, ) -> Result<Self, Self::Error>

Source§

impl Parse for FieldInfo

Source§

type Object = FieldInfo

Source§

type Error = SVDErrorAt

Source§

type Config = Config

Source§

fn parse( tree: &Node<'_, '_>, config: &Self::Config, ) -> Result<Self, Self::Error>

Source§

impl Parse for Interrupt

Source§

type Object = Interrupt

Source§

type Error = SVDErrorAt

Source§

type Config = Config

Source§

fn parse( tree: &Node<'_, '_>, config: &Self::Config, ) -> Result<Self, Self::Error>

Source§

impl Parse for PeripheralInfo

Source§

type Object = PeripheralInfo

Source§

type Error = SVDErrorAt

Source§

type Config = Config

Source§

fn parse( tree: &Node<'_, '_>, config: &Self::Config, ) -> Result<Self, Self::Error>

Source§

impl Parse for RegisterInfo

Source§

type Object = RegisterInfo

Source§

type Error = SVDErrorAt

Source§

type Config = Config

Source§

fn parse( tree: &Node<'_, '_>, config: &Self::Config, ) -> Result<Self, Self::Error>

Source§

impl Parse for RegisterProperties

Source§

type Object = RegisterProperties

Source§

type Error = SVDErrorAt

Source§

type Config = Config

Source§

fn parse( tree: &Node<'_, '_>, config: &Self::Config, ) -> Result<Self, Self::Error>

Source§

impl Parse for WriteConstraintRange

Source§

type Object = WriteConstraintRange

Source§

type Error = SVDErrorAt

Source§

type Config = ()

Source§

fn parse( tree: &Node<'_, '_>, _config: &Self::Config, ) -> Result<Self, Self::Error>

Source§

impl Parse for Cluster

Source§

type Object = MaybeArray<ClusterInfo>

Source§

type Error = SVDErrorAt

Source§

type Config = Config

Source§

fn parse( tree: &Node<'_, '_>, config: &Self::Config, ) -> Result<Self, Self::Error>

Source§

impl Parse for Field

Source§

type Object = MaybeArray<FieldInfo>

Source§

type Error = SVDErrorAt

Source§

type Config = Config

Source§

fn parse( tree: &Node<'_, '_>, config: &Self::Config, ) -> Result<Self, Self::Error>

Source§

impl Parse for Peripheral

Source§

type Object = MaybeArray<PeripheralInfo>

Source§

type Error = SVDErrorAt

Source§

type Config = Config

Source§

fn parse( tree: &Node<'_, '_>, config: &Self::Config, ) -> Result<Self, Self::Error>

Source§

impl Parse for Register

Source§

type Object = MaybeArray<RegisterInfo>

Source§

type Error = SVDErrorAt

Source§

type Config = Config

Source§

fn parse( tree: &Node<'_, '_>, config: &Self::Config, ) -> Result<Self, Self::Error>

Implementors§