Struct Inputs
pub struct Inputs<A: Arch> { /* private fields */ }
Expand description
A set of inputs to a dataflow or memory address computation.
Implementations§
§impl<A: Arch> Inputs<A>
impl<A: Arch> Inputs<A>
pub fn unsorted(inputs: Vec<Source<A>>) -> Self
pub fn unsorted(inputs: Vec<Source<A>>) -> Self
Creates the inputs from the provided inputs
without sorting.
You should not sort inputs if you already have references to specific indices in the inputs. For example, if the inputs are part of a dataflow in an encoding.
pub fn sorted(inputs: Vec<Source<A>>) -> Self
pub fn sorted(inputs: Vec<Source<A>>) -> Self
Creates the inputs form the provided inputs
and sorts them.
You should not sort inputs if you already have references to specific indices in the inputs. For example, if the inputs are part of a dataflow in an encoding.
pub fn iter_mut(&mut self) -> impl Iterator<Item = &mut Source<A>>
pub fn iter_mut(&mut self) -> impl Iterator<Item = &mut Source<A>>
Iterates over &mut
references to all inputs.
pub fn retain(&mut self, f: impl FnMut(&Source<A>) -> bool)
pub fn retain(&mut self, f: impl FnMut(&Source<A>) -> bool)
Removes all inputs for which f
returns false.
pub fn remove(&mut self, item: &Source<A>)
pub fn remove(&mut self, item: &Source<A>)
Removes item
from the inputs.
If item
does not exist in the inputs, no change occurs.
pub fn remove_index(&mut self, index: usize)
pub fn remove_index(&mut self, index: usize)
Removes an input by index.
Trait Implementations§
§impl<'de, A: Arch> Deserialize<'de> for Inputs<A>
impl<'de, A: Arch> Deserialize<'de> for Inputs<A>
§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
§impl<A> JsonSchema for Inputs<A>
impl<A> JsonSchema for Inputs<A>
§fn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
§fn json_schema(gen: &mut SchemaGenerator) -> Schema
fn json_schema(gen: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
§fn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the
$ref
keyword. Read moreimpl<A: Eq + Arch> Eq for Inputs<A>
impl<A: Arch> StructuralPartialEq for Inputs<A>
Auto Trait Implementations§
impl<A> Freeze for Inputs<A>
impl<A> RefUnwindSafe for Inputs<A>
impl<A> Send for Inputs<A>
impl<A> Sync for Inputs<A>
impl<A> Unpin for Inputs<A>
impl<A> UnwindSafe for Inputs<A>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§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<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
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