pub struct Mir {Show 13 fields
pub branches: IndexVec<BranchId, AttributeNode<BranchDeclaration>>,
pub nets: IndexVec<NetId, AttributeNode<Net>>,
pub ports: IndexVec<PortId, Port>,
pub disciplines: IndexVec<DisciplineId, AttributeNode<Discipline>>,
pub modules: IndexVec<ModuleId, AttributeNode<Module>>,
pub parameters: IndexVec<ParameterId, AttributeNode<Parameter>>,
pub variables: IndexVec<VariableId, AttributeNode<Variable>>,
pub natures: IndexVec<NatureId, AttributeNode<Nature>>,
pub attributes: IndexVec<AttributeId, Attribute>,
pub real_expressions: IndexVec<RealExpressionId, Node<RealExpression>>,
pub integer_expressions: IndexVec<IntegerExpressionId, Node<IntegerExpression>>,
pub string_expressions: IndexVec<StringExpressionId, Node<StringExpression>>,
pub statements: IndexVec<StatementId, Statement>,
}Fields§
§branches: IndexVec<BranchId, AttributeNode<BranchDeclaration>>§nets: IndexVec<NetId, AttributeNode<Net>>§ports: IndexVec<PortId, Port>§disciplines: IndexVec<DisciplineId, AttributeNode<Discipline>>§modules: IndexVec<ModuleId, AttributeNode<Module>>§parameters: IndexVec<ParameterId, AttributeNode<Parameter>>§variables: IndexVec<VariableId, AttributeNode<Variable>>§natures: IndexVec<NatureId, AttributeNode<Nature>>§attributes: IndexVec<AttributeId, Attribute>§real_expressions: IndexVec<RealExpressionId, Node<RealExpression>>§integer_expressions: IndexVec<IntegerExpressionId, Node<IntegerExpression>>§string_expressions: IndexVec<StringExpressionId, Node<StringExpression>>§statements: IndexVec<StatementId, Statement>Implementations§
Source§impl Mir
impl Mir
pub fn map_real_expr( &mut self, expr: RealExpressionId, variables_to_replace: &FxHashMap<VariableId, VariableId>, ) -> Option<RealExpressionId>
pub fn map_int_expr( &mut self, expr: IntegerExpressionId, variables_to_replace: &FxHashMap<VariableId, VariableId>, ) -> Option<IntegerExpressionId>
pub fn map_str_expr( &mut self, expr: StringExpressionId, variables_to_replace: &FxHashMap<VariableId, VariableId>, ) -> Option<StringExpressionId>
Source§impl Mir
impl Mir
pub fn track_expression( &self, expr: ExpressionId, dependency_handler: &mut impl DependencyHandler, )
pub fn track_real_expression( &self, expr: RealExpressionId, dependency_handler: &mut impl DependencyHandler, )
pub fn track_integer_expression( &self, expr: IntegerExpressionId, dependency_handler: &mut impl DependencyHandler, )
pub fn track_string_expression( &self, expr: StringExpressionId, dependency_handler: &mut impl DependencyHandler, )
Source§impl Mir
impl Mir
pub fn declare_partial_derivative_variable( &mut self, variable: VariableId, derive_by: Unknown, ) -> VariableId
Trait Implementations§
Source§impl Index<AttributeId> for Mir
impl Index<AttributeId> for Mir
Source§impl Index<DisciplineId> for Mir
impl Index<DisciplineId> for Mir
Source§type Output = AttributeNode<Discipline>
type Output = AttributeNode<Discipline>
The returned type after indexing.
Source§impl Index<IdRange<AttributeId>> for Mir
impl Index<IdRange<AttributeId>> for Mir
Source§type Output = IndexSlice<AttributeId, [Attribute]>
type Output = IndexSlice<AttributeId, [Attribute]>
The returned type after indexing.
Source§impl Index<IdRange<BranchId>> for Mir
impl Index<IdRange<BranchId>> for Mir
Source§type Output = IndexSlice<BranchId, [AttributeNode<BranchDeclaration>]>
type Output = IndexSlice<BranchId, [AttributeNode<BranchDeclaration>]>
The returned type after indexing.
Source§impl Index<IdRange<DisciplineId>> for Mir
impl Index<IdRange<DisciplineId>> for Mir
Source§type Output = IndexSlice<DisciplineId, [AttributeNode<Discipline>]>
type Output = IndexSlice<DisciplineId, [AttributeNode<Discipline>]>
The returned type after indexing.
Source§impl Index<IdRange<IntegerExpressionId>> for Mir
impl Index<IdRange<IntegerExpressionId>> for Mir
Source§type Output = IndexSlice<IntegerExpressionId, [Node<IntegerExpression>]>
type Output = IndexSlice<IntegerExpressionId, [Node<IntegerExpression>]>
The returned type after indexing.
Source§impl Index<IdRange<ParameterId>> for Mir
impl Index<IdRange<ParameterId>> for Mir
Source§type Output = IndexSlice<ParameterId, [AttributeNode<Parameter>]>
type Output = IndexSlice<ParameterId, [AttributeNode<Parameter>]>
The returned type after indexing.
Source§impl Index<IdRange<RealExpressionId>> for Mir
impl Index<IdRange<RealExpressionId>> for Mir
Source§type Output = IndexSlice<RealExpressionId, [Node<RealExpression>]>
type Output = IndexSlice<RealExpressionId, [Node<RealExpression>]>
The returned type after indexing.
Source§impl Index<IdRange<StatementId>> for Mir
impl Index<IdRange<StatementId>> for Mir
Source§type Output = IndexSlice<StatementId, [Statement]>
type Output = IndexSlice<StatementId, [Statement]>
The returned type after indexing.
Source§impl Index<IdRange<StringExpressionId>> for Mir
impl Index<IdRange<StringExpressionId>> for Mir
Source§type Output = IndexSlice<StringExpressionId, [Node<StringExpression>]>
type Output = IndexSlice<StringExpressionId, [Node<StringExpression>]>
The returned type after indexing.
Source§impl Index<IdRange<VariableId>> for Mir
impl Index<IdRange<VariableId>> for Mir
Source§type Output = IndexSlice<VariableId, [AttributeNode<Variable>]>
type Output = IndexSlice<VariableId, [AttributeNode<Variable>]>
The returned type after indexing.
Source§impl Index<IntegerExpressionId> for Mir
impl Index<IntegerExpressionId> for Mir
Source§impl Index<ParameterId> for Mir
impl Index<ParameterId> for Mir
Source§impl Index<Range<AttributeId>> for Mir
impl Index<Range<AttributeId>> for Mir
Source§type Output = IndexSlice<AttributeId, [Attribute]>
type Output = IndexSlice<AttributeId, [Attribute]>
The returned type after indexing.
Source§impl Index<Range<BranchId>> for Mir
impl Index<Range<BranchId>> for Mir
Source§type Output = IndexSlice<BranchId, [AttributeNode<BranchDeclaration>]>
type Output = IndexSlice<BranchId, [AttributeNode<BranchDeclaration>]>
The returned type after indexing.
Source§impl Index<Range<DisciplineId>> for Mir
impl Index<Range<DisciplineId>> for Mir
Source§type Output = IndexSlice<DisciplineId, [AttributeNode<Discipline>]>
type Output = IndexSlice<DisciplineId, [AttributeNode<Discipline>]>
The returned type after indexing.
Source§impl Index<Range<IntegerExpressionId>> for Mir
impl Index<Range<IntegerExpressionId>> for Mir
Source§type Output = IndexSlice<IntegerExpressionId, [Node<IntegerExpression>]>
type Output = IndexSlice<IntegerExpressionId, [Node<IntegerExpression>]>
The returned type after indexing.
Source§impl Index<Range<ParameterId>> for Mir
impl Index<Range<ParameterId>> for Mir
Source§type Output = IndexSlice<ParameterId, [AttributeNode<Parameter>]>
type Output = IndexSlice<ParameterId, [AttributeNode<Parameter>]>
The returned type after indexing.
Source§impl Index<Range<RealExpressionId>> for Mir
impl Index<Range<RealExpressionId>> for Mir
Source§type Output = IndexSlice<RealExpressionId, [Node<RealExpression>]>
type Output = IndexSlice<RealExpressionId, [Node<RealExpression>]>
The returned type after indexing.
Source§impl Index<Range<StatementId>> for Mir
impl Index<Range<StatementId>> for Mir
Source§type Output = IndexSlice<StatementId, [Statement]>
type Output = IndexSlice<StatementId, [Statement]>
The returned type after indexing.
Source§impl Index<Range<StringExpressionId>> for Mir
impl Index<Range<StringExpressionId>> for Mir
Source§type Output = IndexSlice<StringExpressionId, [Node<StringExpression>]>
type Output = IndexSlice<StringExpressionId, [Node<StringExpression>]>
The returned type after indexing.
Source§impl Index<Range<VariableId>> for Mir
impl Index<Range<VariableId>> for Mir
Source§type Output = IndexSlice<VariableId, [AttributeNode<Variable>]>
type Output = IndexSlice<VariableId, [AttributeNode<Variable>]>
The returned type after indexing.
Source§impl Index<RealExpressionId> for Mir
impl Index<RealExpressionId> for Mir
Source§impl Index<StatementId> for Mir
impl Index<StatementId> for Mir
Source§impl Index<StringExpressionId> for Mir
impl Index<StringExpressionId> for Mir
Source§impl Index<VariableId> for Mir
impl Index<VariableId> for Mir
Source§impl IndexMut<AttributeId> for Mir
impl IndexMut<AttributeId> for Mir
Source§impl IndexMut<DisciplineId> for Mir
impl IndexMut<DisciplineId> for Mir
Source§impl IndexMut<IntegerExpressionId> for Mir
impl IndexMut<IntegerExpressionId> for Mir
Source§impl IndexMut<ParameterId> for Mir
impl IndexMut<ParameterId> for Mir
Source§impl IndexMut<RealExpressionId> for Mir
impl IndexMut<RealExpressionId> for Mir
Source§impl IndexMut<StatementId> for Mir
impl IndexMut<StatementId> for Mir
Source§impl IndexMut<StringExpressionId> for Mir
impl IndexMut<StringExpressionId> for Mir
Auto Trait Implementations§
impl Freeze for Mir
impl RefUnwindSafe for Mir
impl Send for Mir
impl !Sync for Mir
impl Unpin for Mir
impl UnwindSafe for Mir
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more