2.2.11.4. flow/Printer.hpp

2.2.11.4.1. Class flow::Printer

class flow::Printer

An object of this class represents options for printing flow solutions.

2.2.11.4.1.1. Synopsis

struct MOD_DECL Printer {
    Printer();
    ~Printer();
    dg::Printer &getDGPrinter();
    const dg::Printer &getDGPrinter() const;
    lib::IO::Flow::Write::Printer &getPrinter() const;
    void setWithFlowLabels(bool value);
    bool getWithFlowLabels() const;
    void pushInOutEdgeLabel(std::function<std::string(std::shared_ptr<graph::Graph>, std::shared_ptr<dg::DG>, bool) > f);
    void popInOutEdgeLabel();
    void setPrintUnfiltered(bool value);
    bool getPrintUnfiltered() const;
    void setPrintFiltered(bool value);
    bool getPrintFiltered() const;
    void setUnfilteredFlowColour(std::string value);
    std::string getUnfilteredFlowColour() const;
private:
    std::unique_ptr<dg::Printer> dgPrinter;
    std::unique_ptr<lib::IO::Flow::Write::Printer> printer;
};

2.2.11.4.1.2. Details

dg::Printer &getDGPrinter()
const dg::Printer &getDGPrinter() const
Returns

a reference to the dg::Printer used when printing flow solutions.

void pushInOutEdgeLabel(std::function<std::string(std::shared_ptr<graph::Graph>, std::shared_ptr<dg::DG>, bool)> f)

Add another function for in-/out-edge labelling. The result of this function is appended to each label using the edge label separator of the underlying dg::Printer. The last argument given to the function is true for the in-edge, and false for the out-edge.

void popInOutEdgeLabel()

Remove the last pushed in/out edge labelling function.

void setPrintUnfiltered(bool value)
bool getPrintUnfiltered() const

Control whether or not the unfiltered version of a solution is printed.

void setPrintFiltered(bool value)
bool getPrintFiltered() const

Control whether or not the filtered version of a solution is printed.

void setUnfilteredFlowColour(std::string value)
std::string getUnfilteredFlowColour() const

When printing the unfiltered version, use this colour on vertices and edges with non-zero flow. Use an empty string to not colour them.