Skip to main content

rust_igraph/algorithms/operators/
mod.rs

1//! Graph operators (ALGO-OP-*). Phase 1: `simplify` (remove loops and/or
2//! parallel edges, returning a new [`crate::Graph`]).
3
4// `pub(crate)` so the inner module names don't double-list with the
5// function re-exports in rustdoc.
6pub(crate) mod bipartite_projection;
7pub(crate) mod bipartite_projection_size;
8pub(crate) mod complementer;
9pub(crate) mod compose;
10pub(crate) mod connect_neighborhood;
11pub(crate) mod contract_vertices;
12pub(crate) mod difference;
13pub(crate) mod disjoint_union;
14pub(crate) mod even_tarjan;
15pub(crate) mod induced_subgraph;
16pub(crate) mod induced_subgraph_edges;
17pub(crate) mod intersection;
18pub(crate) mod is_same_graph;
19pub(crate) mod join;
20pub(crate) mod permute_vertices;
21pub(crate) mod products;
22pub(crate) mod residual_graph;
23pub(crate) mod reverse;
24pub(crate) mod rewire;
25#[allow(
26    clippy::cast_precision_loss,
27    clippy::cast_possible_truncation,
28    clippy::cast_sign_loss
29)]
30pub(crate) mod rewire_edges;
31pub(crate) mod simplify;
32pub(crate) mod subgraph_from_edges;
33pub(crate) mod to_directed;
34pub(crate) mod to_undirected;
35pub(crate) mod union;
36
37pub use bipartite_projection::{BipartiteProjection, bipartite_projection};
38pub use bipartite_projection_size::{BipartiteProjectionSize, bipartite_projection_size};
39pub use complementer::complementer;
40pub use compose::compose;
41pub use connect_neighborhood::{connect_neighborhood, graph_power};
42pub use contract_vertices::contract_vertices;
43pub use difference::difference;
44pub use disjoint_union::{disjoint_union, disjoint_union_many};
45pub use even_tarjan::{EvenTarjanResult, even_tarjan_reduction};
46pub use induced_subgraph::{InducedSubgraphResult, induced_subgraph};
47pub use induced_subgraph_edges::induced_subgraph_edges;
48pub use intersection::{intersection, intersection_many};
49pub use is_same_graph::is_same_graph;
50pub use join::join;
51pub use permute_vertices::{invert_permutation, permute_vertices};
52pub use products::{
53    GraphProductType, cartesian_product, graph_product, lexicographic_product, modular_product,
54    rooted_product, strong_product, tensor_product,
55};
56pub use residual_graph::{ResidualGraphResult, residual_graph, reverse_residual_graph};
57pub use reverse::{reverse, reverse_edges};
58pub use rewire::rewire;
59pub use rewire_edges::{RewireDirectedMode, rewire_directed_edges, rewire_edges};
60pub use simplify::simplify;
61pub use subgraph_from_edges::{SubgraphFromEdgesResult, subgraph_from_edges};
62pub use to_directed::{ToDirectedMode, to_directed};
63pub use to_undirected::{ToUndirectedMode, to_undirected};
64pub use union::{union, union_many};