Trait TargetSpecificInterpolator

Source
pub trait TargetSpecificInterpolator: Sized {
    // Required methods
    fn simparam_to_tokens(
        &self,
        mir: &Mir,
        tokens: &mut TokenStream,
        name: StringExpressionId,
        default: Option<RealExpressionInterpolator<'_, Self>>,
    );
    fn simparam_str_to_tokens(
        &self,
        mir: &Mir,
        tokens: &mut TokenStream,
        name: StringExpressionId,
    );
    fn param_given_to_tokens(
        &self,
        mir: &Mir,
        tokens: &mut TokenStream,
        param: ParameterId,
    );
    fn port_connected_to_tokens(
        &self,
        mir: &Mir,
        tokens: &mut TokenStream,
        port: PortId,
    );
    fn noise_to_tokens(
        &self,
        mir: &Mir,
        tokens: &mut TokenStream,
        noise_source: NoiseSource<RealExpressionId, ()>,
        source: Option<StringLiteral>,
    );
    fn contribute_to_tokens(
        &self,
        mir: &Mir,
        tokens: &mut TokenStream,
        attr: Attributes,
        access: DisciplineAccess,
        branch: BranchId,
        val: RealExpressionId,
    );

    // Provided methods
    fn temperature_to_tokens(&self, mir: &Mir, tokens: &mut TokenStream) { ... }
    fn vt_to_tokens(
        &self,
        mir: &Mir,
        tokens: &mut TokenStream,
        arg: Option<RealExpressionInterpolator<'_, Self>>,
    ) { ... }
    fn limexp_to_tokens(
        &self,
        mir: &Mir,
        tokens: &mut TokenStream,
        arg: RealExpressionInterpolator<'_, Self>,
    ) { ... }
}

Required Methods§

Source

fn simparam_to_tokens( &self, mir: &Mir, tokens: &mut TokenStream, name: StringExpressionId, default: Option<RealExpressionInterpolator<'_, Self>>, )

Source

fn simparam_str_to_tokens( &self, mir: &Mir, tokens: &mut TokenStream, name: StringExpressionId, )

Source

fn param_given_to_tokens( &self, mir: &Mir, tokens: &mut TokenStream, param: ParameterId, )

Source

fn port_connected_to_tokens( &self, mir: &Mir, tokens: &mut TokenStream, port: PortId, )

Source

fn noise_to_tokens( &self, mir: &Mir, tokens: &mut TokenStream, noise_source: NoiseSource<RealExpressionId, ()>, source: Option<StringLiteral>, )

Source

fn contribute_to_tokens( &self, mir: &Mir, tokens: &mut TokenStream, attr: Attributes, access: DisciplineAccess, branch: BranchId, val: RealExpressionId, )

Provided Methods§

Source

fn temperature_to_tokens(&self, mir: &Mir, tokens: &mut TokenStream)

Source

fn vt_to_tokens( &self, mir: &Mir, tokens: &mut TokenStream, arg: Option<RealExpressionInterpolator<'_, Self>>, )

Source

fn limexp_to_tokens( &self, mir: &Mir, tokens: &mut TokenStream, arg: RealExpressionInterpolator<'_, Self>, )

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.

Implementors§