2.2.9.1. causality/DAG.hpp

2.2.9.1.1. Class causality::DAG

class causality::DAG

Representation of a causality DAG over a derivation graph.

2.2.9.1.1.1. Synopsis

struct MOD_DECL DAG {
    explicit DAG(std::shared_ptr<dg::DG> dg, const lib::causality::DAG &dag);
    DAG(const DAG &);
    ~DAG();
    const lib::causality::DAG &getDAG() const;
    std::shared_ptr<dg::DG> getDG() const;
    dg::PrintData getPrintData(bool closeBorrowCycles) const;
    void printAtomTrace(bool closeBorrowCycles);
private:
    struct Pimpl;
    std::unique_ptr<Pimpl> p;
};

2.2.9.1.1.2. Details

std::shared_ptr<dg::DG> getDG() const
Returns

the DG this DAG is based on.

dg::PrintData getPrintData(bool closeBorrowCycles) const
Returns

a DG print data object set up to represent the DAG. If closeBorrowCycles is true, then borrowed vertices have only 1 representation, and the resulting diagram will have a cycle through it. Otherwise, borrowed vertices have 2 representations, one for the borrow and one for the repay.