Input<T, Id>
+ ID: uint64_t
# m_value: T
+ Input(value: T)
AbstractInputConnector
# m_output: AbstractOutputConnector*
# m_owner: AbstractTaskConfigurator*
+ AbstractInputConnector(owner: AbstractTaskConfigurator*)
+ operator<<(output: AbstractOutputConnector&)
InputConnector<T>
# m_output: AbstractOutputConnector*
+ InputConnector(owner: AbstractTaskConfigurator*)
Output<T, Id>
+ ID: uint64_t
# m_value: T
+ Output(value: T)
AbstractOutputConnector
# m_owner: AbstractTaskConfigurator*
+ AbstractOutputConnector(owner: AbstractTaskConfigurator*)
+ operator>>(input: AbstractInputConnector&): AbstractOutputConnector&
OutputConnector<T>
+ OutputConnector(owner: AbstractTaskConfigurator*)
Pipeline
- m_tasks: map<string, unique_ptr<AbstractTaskConfigurator>>
+ add<Task>(name: string&): TaskConfigurator<Task>*
+ run()
Scheduler
+ Scheduler(task_configurators: map<string, unique_ptr<AbstractTaskConfigurator>>&)
+ run()
~ can_run(task_container: AbstractTaskContainer*)
~ schedule(task_container: AbstractTaskContainer*)
~ next_task(): AbstractTaskContainer*
~ following_tasks(task_container: AbstractTaskContainer*)
AbstractTaskConfigurator
+ make(): unique_ptr<AbstractTaskContainer>
+ input(name: string&): AbstractInputConnector&
+ input(id: uint64_t): AbstractInputConnector&
+ output(name: string&): AbstractOutputConnector&
+ output(id: uint64_t): AbstractOutputConnector&
TaskConfigurator<Task>
# m_inputs: map<uint64_t, unique_ptr<AbstractInputConnector>>
# m_outputs: map<uint64_t, unique_ptr<AbstractOutputConnector>>
+ make(): unique_ptr<AbstractTaskContainer>
+ input(name: string&): AbstractInputConnector&
+ input(id: uint64_t): AbstractInputConnector&
+ output(name: string&): AbstractOutputConnector&
+ output(id: uint64_t): AbstractOutputConnector&
# parseInputParameters()
# parseInputParameter()
# parseOutputParameters()
# parseOutputParameter()
AbstractTaskContainer
+ run()
TaskContainer
+ run()
- invoke(integer_sequence<size_t, index...>): ?
- get(): auto
- write(output: Output&): ?
has_run<T>
is_unique_ptr<T>
is_unique_ptr<void>
is_shared_ptr<T>
ReturnWrapper
<ParameterTypes>
ReturnWrapper<tuple<ParameterTypes...>>
ReturnWrapper<void>
TaskHelper
0..*
0..1
0..*
0..*
0..1
0..1