.. _cpp-causality/DAG: ********************************************************** causality/DAG.hpp ********************************************************** .. default-domain:: cpp .. default-role:: cpp:expr .. py:currentmodule:: mod .. cpp:namespace:: mod Class ``causality::DAG`` -------------------------------------------------------------------------------------------------------------------------------- .. class:: causality::DAG Representation of a causality DAG over a derivation graph. Synopsis ^^^^^^^^ .. code-block:: c++ struct MOD_DECL DAG { explicit DAG(std::shared_ptr dg, const lib::causality::DAG &dag); DAG(const DAG &); ~DAG(); const lib::causality::DAG &getDAG() const; std::shared_ptr getDG() const; dg::PrintData getPrintData(bool closeBorrowCycles) const; void printAtomTrace(bool closeBorrowCycles); private: struct Pimpl; std::unique_ptr p; }; Details ^^^^^^^ .. cpp:namespace-push:: causality::DAG .. function:: std::shared_ptr getDG() const :returns: the DG this DAG is based on. .. function:: 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. .. cpp:namespace-pop::