pub enum BloqEdge {
Quantum(Box<QuantumEdge>),
Value {
slot: u32,
role: ValueRole,
output: ObservableOutput,
},
Compose {
slot: u32,
role: ValueRole,
},
Order,
}Expand description
Quantum seams, Boolean dependencies, recipe composition, and sequencing.
Variants§
Quantum(Box<QuantumEdge>)
A quantum face seam: the connecting temporal pipe(s). Linear (consumed once). Flow / detector composition runs over these edges only. Its boxed payload keeps the common Value and Order edge slots compact; this storage detail is absent from both exchange formats.
Value
A classical-bit dependency: the selected producer output
feeds the consumer’s slot-th input. Copyable (a producer may fan
out freely); the slot is carried here so crate::ClassicalExpr::In is robust
to edge reordering under edits. role is edge provenance — never
consulted for value semantics (see ValueRole).
Fields
output: ObservableOutputSource Boolean output.
Compose
Structural inclusion of an observable recipe or region boundary export.
Fields
Order
Pure sequencing, no data: spatial occupancy between adjacent-z nodes that share physical qubits but are not logically piped (teardown then reinit), or read-after-measure. Carries no flows.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for BloqEdge
impl<'de> Deserialize<'de> for BloqEdge
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for BloqEdge
impl StructuralPartialEq for BloqEdge
Auto Trait Implementations§
impl Freeze for BloqEdge
impl RefUnwindSafe for BloqEdge
impl Send for BloqEdge
impl Sync for BloqEdge
impl Unpin for BloqEdge
impl UnsafeUnpin for BloqEdge
impl UnwindSafe for BloqEdge
Blanket Implementations§
§impl<T, BorrowedSelf> BitwiseMutViaBorrow<BorrowedSelf> for T
impl<T, BorrowedSelf> BitwiseMutViaBorrow<BorrowedSelf> for T
fn assign_index(&mut self, index: usize, to: bool)
fn negate_index(&mut self, index: usize)
fn clear_bits(&mut self)
fn assign_random(
&mut self,
bit_count: usize,
random_number_generator: &mut impl RngExt,
)where
BorrowedSelf: BitLength,
§impl<Bits, Other, BorrowedSelf, BorrowedOther> BitwisePairMutViaBorrow<Other, BorrowedSelf, BorrowedOther> for Bits
impl<Bits, Other, BorrowedSelf, BorrowedOther> BitwisePairMutViaBorrow<Other, BorrowedSelf, BorrowedOther> for Bits
fn assign(&mut self, other: &Other)
fn bitxor_assign(&mut self, other: &Other)
fn bitand_assign(&mut self, other: &Other)
fn bitor_assign(&mut self, other: &Other)
§impl<T, Other, BorrowedSelf, BorrowedOther> BitwisePairViaBorrow<Other, BorrowedSelf, BorrowedOther> for T
impl<T, Other, BorrowedSelf, BorrowedOther> BitwisePairViaBorrow<Other, BorrowedSelf, BorrowedOther> for T
§impl<T, BorrowedSelf> BitwiseViaBorrow<BorrowedSelf> for T
impl<T, BorrowedSelf> BitwiseViaBorrow<BorrowedSelf> for T
fn index(&self, index: usize) -> bool
fn weight(&self) -> usize
fn parity(&self) -> bool
fn is_zero(&self) -> bool
fn is_unit(&self, index: usize) -> bool
fn support<'a>(&'a self) -> impl SortedIteratorwhere
BorrowedSelf: 'a,
fn max_support(&self) -> Option<usize>
fn min_support(&self) -> Option<usize>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.