Boost C++ Libraries


Class template basic_pipeline

boost::process::basic_pipeline — Pipelined implementation of the Launcher concept.


template<typename Command_Line> 
class basic_pipeline {

// public member functions
basic_pipeline< Command_Line > & add(const Command_Line &, bool = false) ;
children start(void) ;


The basic_pipeline template implements the Launcher concept allowing for the construction of process pipelines. This class is operating system independent.

basic_pipeline public member functions

  1. basic_pipeline< Command_Line > & 
    add(const Command_Line & cl, bool merge_out_err = false) ;

    Prepares a new process that will be part of the pipeline. This new process is described by its command line and a flag that indicates whether its stderr should be merged on its stdout.

  2. children start(void ) ;

    Spawns all processes that form the pipeline, connecting them appropriately to share the data flows.

    Blocking remarks: This function may block if the device holding the executable of one of the command lines blocks when loading the image. This might happen if, e.g., the binary is being loaded from a network share.


    An object that holds the status of all the processes related to the pipeline.

Copyright 2006 Julio M. Merino Vidal