ark::pipeline::Pipeline

Defined in header “ark/pipeline/pipeline.hh”.


Defines a ‘pipeline’ to run. A pipeline consists of multiple stages that communicate through well-defined interfaces.

Methods

  • Pipeline()
    Constructor, for initializing state.

  • ~Pipeline()
    Destructor, for cleaning up members privately.

  • Pipeline(const Pipeline & other)
    Delete any of the copy constructors.

  • Pipeline & operator=(const Pipeline & other)

  • Pipeline(Pipeline && other)
    Maintain the move constructors.

  • void add_stage(const StagePtr & stage)
    Adds a new stage to be managed by the pipeline.

  • std::shared_ptr< Type > add_stage(auto &&… args)
    Adds a stage of the specified type to the pipeline.

  • std::vector< StagePtr > stages()
    Returns all of the stages that this pipeline manages.

  • config::ConfigPackagePtr config_package()
    Returns the currently assigned configuration package for this pipeline.

  • void register_arguments(core::ArgumentParser & parser)
    Register all of the command line arguments that are populated from stages into the given argument parser.

  • void set_config_package(config::ConfigPackage package)
    Sets the configuration of this pipeline to the given configuration package.

  • core::ArgumentParseResultCPtr parsed_arguments()
    Returns the currently assigned parsed arguments for this pipeline.

  • core::ArgumentParseResultCPtr parse_arguments(const core::ArgumentParser & parser, int argc, const char ** argv)
    Parses command line arguments with the given parser, storing the result in this pipeline. The result will be sent to each stage’s interface during initialize().

  • core::ArgumentParseResultCPtr parse_arguments(int argc, const char ** argv)
    Parses command line arguments with the given parser, storing the result in this pipeline. The result will be sent to each stage’s interface during initialize().

    This will automatically create a parser from the stage’s reported command line arguments.

  • core::Guid pipeline_identifier()
    Returns the pipeline identifier.

  • void clear()
    Clears this pipeline, removing all internal state.