pub struct Output<T>(pub T);
Expand description
An output port of hardware type T
.
Recursively overrides the direction of all components of T
to be Output
Tuple Fields§
§0: T
Trait Implementations§
source§impl<'de, T> Deserialize<'de> for Output<T>where
T: Deserialize<'de>,
impl<'de, T> Deserialize<'de> for Output<T>where
T: Deserialize<'de>,
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>,
Deserialize this value from the given Serde deserializer. Read more
source§impl<T> HardwareType for Output<T>where
T: HardwareType,
impl<T> HardwareType for Output<T>where
T: HardwareType,
§type Bundle = <T as HardwareType>::Bundle
type Bundle = <T as HardwareType>::Bundle
The Rust type representing layout instances of this hardware type.
§type Builder = <T as HardwareType>::Builder
type Builder = <T as HardwareType>::Builder
A builder for creating
HardwareType::Bundle
.source§impl<T> HardwareType for Output<T>where
T: HardwareType,
impl<T> HardwareType for Output<T>where
T: HardwareType,
source§impl<T: HasNameTree> HasNameTree for Output<T>
impl<T: HasNameTree> HasNameTree for Output<T>
source§impl<T: HasNestedView> HasNestedView for Output<T>
impl<T: HasNestedView> HasNestedView for Output<T>
§type NestedView = <T as HasNestedView>::NestedView
type NestedView = <T as HasNestedView>::NestedView
A view of the nested object.
source§fn nested_view(&self, parent: &InstancePath) -> Self::NestedView
fn nested_view(&self, parent: &InstancePath) -> Self::NestedView
Creates a nested view of the object given a parent node.
source§impl<T: HasTerminalView> HasTerminalView for Output<T>
impl<T: HasTerminalView> HasTerminalView for Output<T>
§type TerminalView = <T as HasTerminalView>::TerminalView
type TerminalView = <T as HasTerminalView>::TerminalView
A view of the terminals in an interface.
source§fn terminal_view(
cell: CellId,
cell_io: &Self,
instance: InstanceId,
instance_io: &Self
) -> Self::TerminalView
fn terminal_view( cell: CellId, cell_io: &Self, instance: InstanceId, instance_io: &Self ) -> Self::TerminalView
Creates a terminal view of the object given a parent node, the cell IO, and the instance IO.
source§impl<T: Ord> Ord for Output<T>
impl<T: Ord> Ord for Output<T>
source§impl<T: PartialEq> PartialEq for Output<T>
impl<T: PartialEq> PartialEq for Output<T>
source§impl<T: PartialOrd> PartialOrd for Output<T>
impl<T: PartialOrd> PartialOrd for Output<T>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moreimpl<T: Copy> Copy for Output<T>
impl<T: Eq> Eq for Output<T>
impl<T> StructuralPartialEq for Output<T>
Auto Trait Implementations§
impl<T> RefUnwindSafe for Output<T>where
T: RefUnwindSafe,
impl<T> Send for Output<T>where
T: Send,
impl<T> Sync for Output<T>where
T: Sync,
impl<T> Unpin for Output<T>where
T: Unpin,
impl<T> UnwindSafe for Output<T>where
T: UnwindSafe,
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
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
source§impl<T, U> CustomHardwareType<Flipped<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
impl<T, U> CustomHardwareType<Flipped<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
source§fn from_layout_type(other: &Flipped<T>) -> U
fn from_layout_type(other: &Flipped<T>) -> U
Creates this layout type from another layout type.
source§impl<T, U> CustomHardwareType<InOut<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
impl<T, U> CustomHardwareType<InOut<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
source§fn from_layout_type(other: &InOut<T>) -> U
fn from_layout_type(other: &InOut<T>) -> U
Creates this layout type from another layout type.
source§impl<T, U> CustomHardwareType<Input<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
impl<T, U> CustomHardwareType<Input<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
source§fn from_layout_type(other: &Input<T>) -> U
fn from_layout_type(other: &Input<T>) -> U
Creates this layout type from another layout type.
source§impl<T, U> CustomHardwareType<Output<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
impl<T, U> CustomHardwareType<Output<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
source§fn from_layout_type(other: &Output<T>) -> U
fn from_layout_type(other: &Output<T>) -> U
Creates this layout type from another layout type.
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§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
Checks if this value is equivalent to the given key. Read more
§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
Compare self to
key
and return true
if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request