pub struct Switch {
pub kind: SwitchKind,
pub nodes: [NodeIdx; 2],
pub open: bool,
pub in_service: bool,
}Expand description
One switching device, between exactly two nodes.
Deliberately has no retained field. Retention is a property of the
question being asked — see RetentionPolicy —
not of the device, and giving a switch a stored flag as well would mean two
mechanisms deciding one thing. If a source model turns out to carry its own
retained flag (powsybl’s node-breaker importer has the concept), the policy
gains a variant that consults it rather than the struct gaining a field.
Fields§
§kind: SwitchKind§nodes: [NodeIdx; 2]§open: boolPosition. Always false for SwitchKind::Junction, which has none.
in_service: boolWhether the device is in service at all. An out-of-service switch conducts nothing regardless of position.
Implementations§
Trait Implementations§
impl Copy for Switch
impl Eq for Switch
impl StructuralPartialEq for Switch
Auto Trait Implementations§
impl Freeze for Switch
impl RefUnwindSafe for Switch
impl Send for Switch
impl Sync for Switch
impl Unpin for Switch
impl UnsafeUnpin for Switch
impl UnwindSafe for Switch
Blanket Implementations§
impl<T> Boilerplate for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T, U> Imply<T> for U
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more