#include <subcircuit.h>
|
| Solver () |
|
| ~Solver () |
|
void | setVerbose () |
|
void | addGraph (std::string graphId, const Graph &graph) |
|
void | addCompatibleTypes (std::string needleTypeId, std::string haystackTypeId) |
|
void | addCompatibleConstants (int needleConstant, int haystackConstant) |
|
void | addSwappablePorts (std::string needleTypeId, std::string portId1, std::string portId2, std::string portId3=std::string(), std::string portId4=std::string()) |
|
void | addSwappablePorts (std::string needleTypeId, std::set< std::string > ports) |
|
void | addSwappablePortsPermutation (std::string needleTypeId, std::map< std::string, std::string > portMapping) |
|
void | solve (std::vector< Result > &results, std::string needleGraphId, std::string haystackGraphId, bool allowOverlap=true, int maxSolutions=-1) |
|
void | solve (std::vector< Result > &results, std::string needleGraphId, std::string haystackGraphId, const std::map< std::string, std::set< std::string >> &initialMapping, bool allowOverlap=true, int maxSolutions=-1) |
|
void | mine (std::vector< MineResult > &results, int minNodes, int maxNodes, int minMatches, int limitMatchesPerGraph=-1) |
|
void | clearOverlapHistory () |
|
void | clearConfig () |
|
|
virtual bool | userCompareNodes (const std::string &needleGraphId, const std::string &needleNodeId, void *needleUserData, const std::string &haystackGraphId, const std::string &haystackNodeId, void *haystackUserData, const std::map< std::string, std::string > &portMapping) |
|
virtual std::string | userAnnotateEdge (const std::string &graphId, const std::string &fromNodeId, void *fromUserData, const std::string &toNodeId, void *toUserData) |
|
virtual bool | userCompareEdge (const std::string &needleGraphId, const std::string &needleFromNodeId, void *needleFromUserData, const std::string &needleToNodeId, void *needleToUserData, const std::string &haystackGraphId, const std::string &haystackFromNodeId, void *haystackFromUserData, const std::string &haystackToNodeId, void *haystackToUserData) |
|
virtual bool | userCheckSolution (const Result &result) |
|
Definition at line 92 of file subcircuit.h.
SubCircuit::Solver::Solver |
( |
| ) |
|
SubCircuit::Solver::~Solver |
( |
| ) |
|
void SubCircuit::Solver::addCompatibleConstants |
( |
int |
needleConstant, |
|
|
int |
haystackConstant |
|
) |
| |
Definition at line 1642 of file subcircuit.cc.
void addCompatibleConstants(int needleConstant, int haystackConstant)
void SubCircuit::Solver::addCompatibleTypes |
( |
std::string |
needleTypeId, |
|
|
std::string |
haystackTypeId |
|
) |
| |
Definition at line 1637 of file subcircuit.cc.
void addCompatibleTypes(std::string needleTypeId, std::string haystackTypeId)
void SubCircuit::Solver::addGraph |
( |
std::string |
graphId, |
|
|
const Graph & |
graph |
|
) |
| |
Definition at line 1632 of file subcircuit.cc.
void addGraph(std::string graphId, const Graph &graph)
void SubCircuit::Solver::addSwappablePorts |
( |
std::string |
needleTypeId, |
|
|
std::string |
portId1, |
|
|
std::string |
portId2, |
|
|
std::string |
portId3 = std::string() , |
|
|
std::string |
portId4 = std::string() |
|
) |
| |
Definition at line 1647 of file subcircuit.cc.
1649 std::set<std::string> ports;
1650 ports.insert(portId1);
1651 ports.insert(portId2);
1652 ports.insert(portId3);
1653 ports.insert(portId4);
1654 ports.erase(std::string());
void addSwappablePorts(std::string needleTypeId, std::string portId1, std::string portId2, std::string portId3=std::string(), std::string portId4=std::string())
void SubCircuit::Solver::addSwappablePorts |
( |
std::string |
needleTypeId, |
|
|
std::set< std::string > |
ports |
|
) |
| |
Definition at line 1658 of file subcircuit.cc.
void addSwappablePorts(std::string needleTypeId, const std::set< std::string > &ports)
void SubCircuit::Solver::addSwappablePortsPermutation |
( |
std::string |
needleTypeId, |
|
|
std::map< std::string, std::string > |
portMapping |
|
) |
| |
Definition at line 1663 of file subcircuit.cc.
void addSwappablePortsPermutation(std::string needleTypeId, const std::map< std::string, std::string > &portMapping)
void SubCircuit::Solver::clearConfig |
( |
| ) |
|
void SubCircuit::Solver::clearOverlapHistory |
( |
| ) |
|
void SubCircuit::Solver::mine |
( |
std::vector< MineResult > & |
results, |
|
|
int |
minNodes, |
|
|
int |
maxNodes, |
|
|
int |
minMatches, |
|
|
int |
limitMatchesPerGraph = -1 |
|
) |
| |
Definition at line 1680 of file subcircuit.cc.
1682 worker->
mine(results, minNodes, maxNodes, minMatches, limitMatchesPerGraph);
void mine(std::vector< Solver::MineResult > &results, int minNodes, int maxNodes, int minMatches, int limitMatchesPerGraph)
void SubCircuit::Solver::setVerbose |
( |
| ) |
|
void SubCircuit::Solver::solve |
( |
std::vector< Result > & |
results, |
|
|
std::string |
needleGraphId, |
|
|
std::string |
haystackGraphId, |
|
|
bool |
allowOverlap = true , |
|
|
int |
maxSolutions = -1 |
|
) |
| |
Definition at line 1668 of file subcircuit.cc.
1670 std::map<std::string, std::set<std::string>> emptyInitialMapping;
1671 worker->
solve(results, needleGraphId, haystackGraphId, emptyInitialMapping, allowOverlap, maxSolutions);
void solve(std::vector< Solver::Result > &results, std::string needleGraphId, std::string haystackGraphId, const std::map< std::string, std::set< std::string >> &initialMappings, bool allowOverlap, int maxSolutions)
void SubCircuit::Solver::solve |
( |
std::vector< Result > & |
results, |
|
|
std::string |
needleGraphId, |
|
|
std::string |
haystackGraphId, |
|
|
const std::map< std::string, std::set< std::string >> & |
initialMapping, |
|
|
bool |
allowOverlap = true , |
|
|
int |
maxSolutions = -1 |
|
) |
| |
Definition at line 1674 of file subcircuit.cc.
1677 worker->
solve(results, needleGraphId, haystackGraphId, initialMappings, allowOverlap, maxSolutions);
void solve(std::vector< Solver::Result > &results, std::string needleGraphId, std::string haystackGraphId, const std::map< std::string, std::set< std::string >> &initialMappings, bool allowOverlap, int maxSolutions)
std::string Solver::userAnnotateEdge |
( |
const std::string & |
graphId, |
|
|
const std::string & |
fromNodeId, |
|
|
void * |
fromUserData, |
|
|
const std::string & |
toNodeId, |
|
|
void * |
toUserData |
|
) |
| |
|
protectedvirtual |
bool Solver::userCheckSolution |
( |
const Result & |
result | ) |
|
|
protectedvirtual |
bool Solver::userCompareEdge |
( |
const std::string & |
needleGraphId, |
|
|
const std::string & |
needleFromNodeId, |
|
|
void * |
needleFromUserData, |
|
|
const std::string & |
needleToNodeId, |
|
|
void * |
needleToUserData, |
|
|
const std::string & |
haystackGraphId, |
|
|
const std::string & |
haystackFromNodeId, |
|
|
void * |
haystackFromUserData, |
|
|
const std::string & |
haystackToNodeId, |
|
|
void * |
haystackToUserData |
|
) |
| |
|
protectedvirtual |
bool Solver::userCompareNodes |
( |
const std::string & |
needleGraphId, |
|
|
const std::string & |
needleNodeId, |
|
|
void * |
needleUserData, |
|
|
const std::string & |
haystackGraphId, |
|
|
const std::string & |
haystackNodeId, |
|
|
void * |
haystackUserData, |
|
|
const std::map< std::string, std::string > & |
portMapping |
|
) |
| |
|
protectedvirtual |
The documentation for this class was generated from the following files: