.. _cpp-rule/CompositionExpr: ********************************************************** rule/CompositionExpr.hpp ********************************************************** .. default-domain:: cpp .. default-role:: cpp:expr .. py:currentmodule:: mod .. cpp:namespace:: mod RCExp --------------------------- In this namespace the data structures and operators for representing rule composition expressions are defined. An expression, ``RCExp``, can be evaluated through the method `rule::Composer::eval`. The result of an expression is a set of rules. Class ``rule::RCExp::Union`` -------------------------------------------------------------------------------------------------------------------------------- .. class:: rule::RCExp::Union Return the union of the subexpressions. I.e., flatten the subresult lists into a single list. Synopsis ^^^^^^^^ .. alias:: rule::RCExp::Union :maxdepth: 2 :noroot: Class ``rule::RCExp::Bind`` -------------------------------------------------------------------------------------------------------------------------------- .. class:: rule::RCExp::Bind Return the singleton list with the rule :math:`(\emptyset, \emptyset, G)` for the given graph :math:`G`. Synopsis ^^^^^^^^ .. alias:: rule::RCExp::Bind :maxdepth: 2 :noroot: Class ``rule::RCExp::Id`` -------------------------------------------------------------------------------------------------------------------------------- .. class:: rule::RCExp::Id Return the singleton list with the rule :math:`(G, G, G)` for the given graph :math:`G`. Synopsis ^^^^^^^^ .. alias:: rule::RCExp::Id :maxdepth: 2 :noroot: Class ``rule::RCExp::Unbind`` -------------------------------------------------------------------------------------------------------------------------------- .. class:: rule::RCExp::Unbind Return the singleton list with the rule :math:`(G, \emptyset, \emptyset)` for the given graph :math:`G`. Synopsis ^^^^^^^^ .. alias:: rule::RCExp::Unbind :maxdepth: 2 :noroot: Class ``rule::RCExp::Expression`` -------------------------------------------------------------------------------------------------------------------------------- .. class:: rule::RCExp::Expression A generic rule composition expression. Synopsis ^^^^^^^^ .. alias:: rule::RCExp::Expression :maxdepth: 2 :noroot: Class ``rule::RCExp::ComposeBase`` -------------------------------------------------------------------------------------------------------------------------------- .. class:: rule::RCExp::ComposeBase The base class for the composition of two rule :math:`(L_1, K_1, R_1)` and :math:`(L_2, K_2, R_2)`. Synopsis ^^^^^^^^ .. alias:: rule::RCExp::ComposeBase :maxdepth: 2 :noroot: Class ``rule::RCExp::ComposeCommon`` -------------------------------------------------------------------------------------------------------------------------------- .. class:: rule::RCExp::ComposeCommon Compose the rules by all common subgraphs of :math:`R_1` and :math:`L_2`, possibly limited to connected subgraphs or to the subgraphs of maximum size. By default the empty overlap is not considered, but can be enabled to be. Synopsis ^^^^^^^^ .. alias:: rule::RCExp::ComposeCommon :maxdepth: 2 :noroot: Class ``rule::RCExp::ComposeParallel`` -------------------------------------------------------------------------------------------------------------------------------- .. class:: rule::RCExp::ComposeParallel Compose the rules by the empty graph, i.e., create a rule representing the parallel application of two input rules. Synopsis ^^^^^^^^ .. alias:: rule::RCExp::ComposeParallel :maxdepth: 2 :noroot: Class ``rule::RCExp::ComposeSub`` -------------------------------------------------------------------------------------------------------------------------------- .. class:: rule::RCExp::ComposeSub Compose the rules such that overlapping connected components of :math:`R_1` and :math:`L_2` have the :math:`L_2` component as a subgraph of :math:`R_1`. The overlap is *partial* if not every connected component of :math:`L_2` is participating in the common subgraph. Synopsis ^^^^^^^^ .. alias:: rule::RCExp::ComposeSub :maxdepth: 2 :noroot: Class ``rule::RCExp::ComposeSuper`` -------------------------------------------------------------------------------------------------------------------------------- .. class:: rule::RCExp::ComposeSuper Compose the rules such that overlapping connected components of :math:`R_1` and :math:`L_2` have the :math:`R_1` component as a subgraph of :math:`L_2`. The overlap is *partial* if not every connected component of :math:`R_1` is participating in the common subgraph. Synopsis ^^^^^^^^ .. alias:: rule::RCExp::ComposeSuper :maxdepth: 2 :noroot: