pub struct TaskInput<'inputs, Input: Send> { /* private fields */ }Expand description
Linear type providing a Task access to its dependencies.
The framework ensures that all dependencies will be present when this task runs, and
can be retrieved with TaskInput::next. The nth call to next consumes this TaskInput instances and returns a
(&T, TaskInput) tuple with the nth dependency specified in the call to crate::TaskBuilder::depends_on and a
TaskInput with the remaining dependencies.
No dependencies can be retrieved from an empty TaskInput (Input = ()).
Implementations§
Source§impl<'inputs, A: 'static + Send, B: 'static + Send, C: 'static + Send> TaskInput<'inputs, (A, B, C)>
impl<'inputs, A: 'static + Send, B: 'static + Send, C: 'static + Send> TaskInput<'inputs, (A, B, C)>
Source§impl<'inputs, A: 'static + Send, B: 'static + Send, C: 'static + Send, D: 'static + Send> TaskInput<'inputs, (A, B, C, D)>
impl<'inputs, A: 'static + Send, B: 'static + Send, C: 'static + Send, D: 'static + Send> TaskInput<'inputs, (A, B, C, D)>
Source§impl<'inputs, A: 'static + Send, B: 'static + Send, C: 'static + Send, D: 'static + Send, E: 'static + Send> TaskInput<'inputs, (A, B, C, D, E)>
impl<'inputs, A: 'static + Send, B: 'static + Send, C: 'static + Send, D: 'static + Send, E: 'static + Send> TaskInput<'inputs, (A, B, C, D, E)>
Sourcepub fn next(self) -> (&'inputs A, TaskInput<'inputs, (B, C, D, E)>)
pub fn next(self) -> (&'inputs A, TaskInput<'inputs, (B, C, D, E)>)
Get a reference to the next dependency from this TaskInput, and a TaskInput instance with the remaining dependencies.
Source§impl<'inputs, A: 'static + Send, B: 'static + Send, C: 'static + Send, D: 'static + Send, E: 'static + Send, F: 'static + Send> TaskInput<'inputs, (A, B, C, D, E, F)>
impl<'inputs, A: 'static + Send, B: 'static + Send, C: 'static + Send, D: 'static + Send, E: 'static + Send, F: 'static + Send> TaskInput<'inputs, (A, B, C, D, E, F)>
Sourcepub fn next(self) -> (&'inputs A, TaskInput<'inputs, (B, C, D, E, F)>)
pub fn next(self) -> (&'inputs A, TaskInput<'inputs, (B, C, D, E, F)>)
Get a reference to the next dependency from this TaskInput, and a TaskInput instance with the remaining dependencies.
Source§impl<'inputs, A: 'static + Send, B: 'static + Send, C: 'static + Send, D: 'static + Send, E: 'static + Send, F: 'static + Send, G: 'static + Send> TaskInput<'inputs, (A, B, C, D, E, F, G)>
impl<'inputs, A: 'static + Send, B: 'static + Send, C: 'static + Send, D: 'static + Send, E: 'static + Send, F: 'static + Send, G: 'static + Send> TaskInput<'inputs, (A, B, C, D, E, F, G)>
Sourcepub fn next(self) -> (&'inputs A, TaskInput<'inputs, (B, C, D, E, F, G)>)
pub fn next(self) -> (&'inputs A, TaskInput<'inputs, (B, C, D, E, F, G)>)
Get a reference to the next dependency from this TaskInput, and a TaskInput instance with the remaining dependencies.
Source§impl<'inputs, A: 'static + Send, B: 'static + Send, C: 'static + Send, D: 'static + Send, E: 'static + Send, F: 'static + Send, G: 'static + Send, H: 'static + Send> TaskInput<'inputs, (A, B, C, D, E, F, G, H)>
impl<'inputs, A: 'static + Send, B: 'static + Send, C: 'static + Send, D: 'static + Send, E: 'static + Send, F: 'static + Send, G: 'static + Send, H: 'static + Send> TaskInput<'inputs, (A, B, C, D, E, F, G, H)>
Sourcepub fn next(self) -> (&'inputs A, TaskInput<'inputs, (B, C, D, E, F, G, H)>)
pub fn next(self) -> (&'inputs A, TaskInput<'inputs, (B, C, D, E, F, G, H)>)
Get a reference to the next dependency from this TaskInput, and a TaskInput instance with the remaining dependencies.