nxpp
Header-only graph utilities on top of Boost Graph Library
Loading...
Searching...
No Matches
graph.hpp File Reference

Core graph wrapper, proxy surface, and public alias presets. More...

#include <boost/graph/adjacency_list.hpp>
#include <boost/functional/hash.hpp>
#include <functional>
#include <vector>
#include <stdexcept>
#include <tuple>
#include <type_traits>
#include <string>
#include <algorithm>
#include <cmath>
#include <concepts>
#include <utility>
#include <iostream>
#include <any>
#include <map>
#include <random>
#include <optional>
#include <limits>
#include <queue>
#include <memory>
Include dependency graph for graph.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  nxpp::detail::MinCostFlowCacheHooks< GraphWrapper >
 
struct  nxpp::built_in_weight_traits< GraphType, true >
 
struct  nxpp::built_in_weight_traits< GraphType, false >
 
struct  nxpp::built_in_weight_traits< GraphType, false >::map_type
 
class  nxpp::lookup_map< Key, Value >
 
class  nxpp::indexed_lookup_map< Key, Value >
 
class  nxpp::Graph< NodeID, EdgeWeight, Directed, Multi, Weighted, OutEdgeSelector, VertexSelector >
 Graph wrapper around Boost Graph Library with Python-inspired helpers. More...
 
struct  nxpp::Graph< NodeID, EdgeWeight, Directed, Multi, Weighted, OutEdgeSelector, VertexSelector >::EdgeAttrProxy
 
class  nxpp::Graph< NodeID, EdgeWeight, Directed, Multi, Weighted, OutEdgeSelector, VertexSelector >::EdgeProxy
 
struct  nxpp::Graph< NodeID, EdgeWeight, Directed, Multi, Weighted, OutEdgeSelector, VertexSelector >::NodeAttrProxy
 
class  nxpp::Graph< NodeID, EdgeWeight, Directed, Multi, Weighted, OutEdgeSelector, VertexSelector >::NodeProxy
 
class  nxpp::Graph< NodeID, EdgeWeight, Directed, Multi, Weighted, OutEdgeSelector, VertexSelector >::NodeAttrBaseProxy
 

Concepts

concept  nxpp::detail::node_id_orderable
 

Typedefs

using nxpp::WeightedGraphInt = Graph< int, int >
 Weighted undirected graph with int node IDs and int weights.
 
using nxpp::WeightedDiGraphInt = Graph< int, int, true >
 Weighted directed graph with int node IDs and int weights.
 
using nxpp::WeightedGraphStr = Graph< std::string >
 Weighted undirected graph with std::string node IDs and double weights.
 
using nxpp::WeightedMultiGraphInt = Graph< int, int, false, true >
 Weighted undirected multigraph with int node IDs and int weights.
 
using nxpp::WeightedMultiDiGraphInt = Graph< int, int, true, true >
 Weighted directed multigraph with int node IDs and int weights.
 
using nxpp::WeightedDiGraph = Graph< std::string, double, true >
 Weighted directed graph with std::string node IDs and double weights.
 
using nxpp::WeightedMultiGraph = Graph< std::string, double, false, true >
 Weighted undirected multigraph with std::string node IDs and double weights.
 
using nxpp::WeightedMultiDiGraph = Graph< std::string, double, true, true >
 Weighted directed multigraph with std::string node IDs and double weights.
 
using nxpp::GraphInt = Graph< int, int >
 Compatibility alias for WeightedGraphInt.
 
using nxpp::DiGraphInt = Graph< int, int, true >
 Compatibility alias for WeightedDiGraphInt.
 
using nxpp::GraphStr = Graph< std::string >
 Compatibility alias for WeightedGraphStr.
 
using nxpp::MultiGraphInt = Graph< int, int, false, true >
 Compatibility alias for WeightedMultiGraphInt.
 
using nxpp::MultiDiGraphInt = Graph< int, int, true, true >
 Compatibility alias for WeightedMultiDiGraphInt.
 
using nxpp::DiGraph = Graph< std::string, double, true >
 Compatibility alias for WeightedDiGraph.
 
using nxpp::MultiGraph = Graph< std::string, double, false, true >
 Compatibility alias for WeightedMultiGraph.
 
using nxpp::MultiDiGraph = Graph< std::string, double, true, true >
 Compatibility alias for WeightedMultiDiGraph.
 
using nxpp::UnweightedGraphInt = Graph< int, double, false, false, false >
 Unweighted undirected graph with int node IDs.
 
using nxpp::UnweightedDiGraphInt = Graph< int, double, true, false, false >
 Unweighted directed graph with int node IDs.
 
using nxpp::UnweightedGraphStr = Graph< std::string, double, false, false, false >
 Unweighted undirected graph with std::string node IDs.
 
using nxpp::UnweightedDiGraph = Graph< std::string, double, true, false, false >
 Unweighted directed graph with std::string node IDs.
 
using nxpp::UnweightedMultiGraphInt = Graph< int, double, false, true, false >
 Unweighted undirected multigraph with int node IDs.
 
using nxpp::UnweightedMultiDiGraphInt = Graph< int, double, true, true, false >
 Unweighted directed multigraph with int node IDs.
 
using nxpp::UnweightedMultiGraph = Graph< std::string, double, false, true, false >
 Unweighted undirected multigraph with std::string node IDs.
 
using nxpp::UnweightedMultiDiGraph = Graph< std::string, double, true, true, false >
 Unweighted directed multigraph with std::string node IDs.
 

Enumerations

enum  vertex_wrapper_index_t { vertex_wrapper_index }
 

Functions

 boost::BOOST_INSTALL_PROPERTY (vertex, wrapper_index)
 
template<typename GraphWrapper >
auto nxpp::num_vertices (const GraphWrapper &G)
 Deprecated free-function alias for num_vertices().
 

Detailed Description

Core graph wrapper, proxy surface, and public alias presets.