Show / Hide Table of Contents

Struct Reference

A reference to a hierarchical item.

Implements
IEnumerable<string>
IEnumerable
IEquatable<Reference>
Inherited Members
object.Equals(object, object)
object.GetType()
object.ReferenceEquals(object, object)
Namespace: SpiceSharp.Simulations.Base
Assembly: SpiceSharp.dll
Syntax
public readonly struct Reference : IEnumerable<string>, IEnumerable, IEquatable<Reference>

Constructors

Reference(string)

Creates a new Reference.

Declaration
public Reference(string node)
Parameters
Type Name Description
string node

The node name.

Reference(params string[])

Creates a new Reference.

Declaration
public Reference(params string[] path)
Parameters
Type Name Description
string[] path

The path.

Properties

this[int]

Gets an element of the hierarchical reference at the specified index.

Declaration
public string this[int index] { get; }
Parameters
Type Name Description
int index

The index.

Property Value
Type Description
string

Returns the path item at the specified index.

Length

Gets the length of the path.

Declaration
public int Length { get; }
Property Value
Type Description
int

Path

Gets the path of the node.

Declaration
public IReadOnlyList<string> Path { get; }
Property Value
Type Description
IReadOnlyList<string>

Methods

Equals(Reference)

Determines whether the node reference is equal to another.

Declaration
public bool Equals(Reference other)
Parameters
Type Name Description
Reference other

The other node reference.

Returns
Type Description
bool

Returns true if both are equal; otherwise, false.

Equals(object)

Determines whether the object is equal to another.

Declaration
public override bool Equals(object obj)
Parameters
Type Name Description
object obj

The other object.

Returns
Type Description
bool

Returns true if both are equal; otherwise, false.

Overrides
ValueType.Equals(object)

GetContainer(ISimulation)

Gets the behavior container that the hierarchical reference points to.

Declaration
public IBehaviorContainer GetContainer(ISimulation simulation)
Parameters
Type Name Description
ISimulation simulation

The simulation.

Returns
Type Description
IBehaviorContainer

Returns the behavior container.

Exceptions
Type Condition
BehaviorsNotFoundException

Thrown if a behavior collection could not be found.

GetHashCode()

Calculates a hash code for the node reference.

Declaration
public override int GetHashCode()
Returns
Type Description
int
Overrides
ValueType.GetHashCode()

GetVariable<T, S>(ISimulation)

Gets the variable that the hierarchical reference points to.

Declaration
public IVariable<T> GetVariable<T, S>(ISimulation simulation) where S : ISolverSimulationState<T>
Parameters
Type Name Description
ISimulation simulation

The simulation.

Returns
Type Description
IVariable<T>

Returns the variable.

Type Parameters
Name Description
T

The variable return type.

S

The simulation state that needs to be used to find the variable.

Exceptions
Type Condition
VariableNotFoundException

Thrown if the variable could not be found.

StateNotFoundException

Thrown if the simulation or entities behavior does not define the state.

BehaviorsNotFoundException

Thrown if a behavior collection could not be found.

GetVectorElement<T, S>(ISimulation)

Gets the right-hand side vector element that relates to the node the hierarchical reference points to.

Declaration
public Element<T> GetVectorElement<T, S>(ISimulation simulation) where S : ISolverSimulationState<T>
Parameters
Type Name Description
ISimulation simulation

The simulation.

Returns
Type Description
Element<T>

Returns the variable.

Type Parameters
Name Description
T

The variable return type.

S

The simulation state that needs to be used to find the variable.

Exceptions
Type Condition
VariableNotFoundException

Thrown if the variable could not be found.

StateNotFoundException

Thrown if the simulation or entities behavior does not define the state.

BehaviorsNotFoundException

Thrown if a behavior collection could not be found.

ToString()

Converts the node reference to a string.

Declaration
public override string ToString()
Returns
Type Description
string

The string.

Overrides
ValueType.ToString()

TryGetContainer(ISimulation, out IBehaviorContainer)

Tries to find a behavior container that the hierarchical reference points to.

Declaration
public bool TryGetContainer(ISimulation simulation, out IBehaviorContainer container)
Parameters
Type Name Description
ISimulation simulation

The simulation.

IBehaviorContainer container

The behavior container.

Returns
Type Description
bool

Returns true if the container could be found; otherwise, false.

TryGetVariable<T, S>(ISimulation, out IVariable<T>)

Tries to find a variable that the hierarchical reference points to.

Declaration
public bool TryGetVariable<T, S>(ISimulation simulation, out IVariable<T> variable) where S : ISolverSimulationState<T>
Parameters
Type Name Description
ISimulation simulation

The simulation.

IVariable<T> variable

The variable.

Returns
Type Description
bool

Returns true if the variable was found; otherwise, false.

Type Parameters
Name Description
T

The variable return type.

S

The simulation state used to find the variable.

TryGetVectorElement<T, S>(ISimulation, out Element<T>)

Tries to find a right-hand side vector element that relates to the node the hierarchical reference points to.

Declaration
public bool TryGetVectorElement<T, S>(ISimulation simulation, out Element<T> variable) where S : ISolverSimulationState<T>
Parameters
Type Name Description
ISimulation simulation

The simulation.

Element<T> variable

The variable.

Returns
Type Description
bool

Returns true if the variable was found; otherwise, false.

Type Parameters
Name Description
T

The variable return type.

S

The simulation state used to find the variable.

Operators

implicit operator Reference(List<string>)

Implicitly converts a list of strings to a node reference.

Declaration
public static implicit operator Reference(List<string> path)
Parameters
Type Name Description
List<string> path

The path.

Returns
Type Description
Reference

implicit operator Reference(string)

Implicitly converts a string to a node reference.

Declaration
public static implicit operator Reference(string node)
Parameters
Type Name Description
string node

The node name.

Returns
Type Description
Reference

implicit operator Reference(string[])

Implicitly converts an array of strings to a node reference.

Declaration
public static implicit operator Reference(string[] path)
Parameters
Type Name Description
string[] path

The path.

Returns
Type Description
Reference

Implements

IEnumerable<T>
IEnumerable
IEquatable<T>

Extension Methods

Utility.ThrowIfNull<T>(T, string)
Utility.ThrowIfEmpty<T>(IEnumerable<T>, string)

See Also

IEnumerable<T>
IEquatable<T>
In this article
Back to top Generated by DocFX