20 #ifndef TULIP_SIMPLETEST_H
21 #define TULIP_SIMPLETEST_H
25 #include <tulip/tulipconf.h>
78 static void makeSimple(
Graph *graph, std::vector<edge> &removed,
const bool directed =
false);
96 static bool simpleTest(
const Graph *graph, std::vector<edge> *multipleEdges =
nullptr,
97 std::vector<edge> *loops =
nullptr,
const bool directed =
false);
Performs test to check if a graph is Simple. An undirected graph is simple if it has no loops and no ...
static bool isSimple(const Graph *graph, const bool directed=false)
Checks if the graph is simple (i.e. it contains no self loops or parallel edges).
static bool simpleTest(const Graph *graph, std::vector< edge > *multipleEdges=nullptr, std::vector< edge > *loops=nullptr, const bool directed=false)
Checks if the graph is simple, and stores parallel edges and self loops in different vectors.
static bool hasLoops(const Graph *graph)
Checks if the graph has self loop edges.
static void makeSimple(Graph *graph, std::vector< edge > &removed, const bool directed=false)
Makes the graph simple, by removing self loops and parallel edges if any.
static bool hasParallelEdges(const Graph *graph, const bool directed=false)
Checks if the graph has parallel edges.