Infrared
Loading...
Searching...
No Matches
ired::graph::adjacency_list< Vertex, Edge > Class Template Reference

Graph in adjacency list representation. More...

#include <graph.hpp>

Classes

class  edge_t
 

Public Types

using vertex_descriptor_t = size_t
 
using vertex_t = Vertex
 
using edge_info_t = Edge
 

Public Member Functions

 adjacency_list ()
 constructor
 
vertex_descriptor_t add_vertex (const vertex_t &v)
 add vertex
 
vertex_descriptor_t add_vertex ()
 add vertex
 
auto & add_edge (vertex_descriptor_t source, vertex_descriptor_t target, const edge_info_t &e)
 add egde
 
auto & add_edge (vertex_descriptor_t source, vertex_descriptor_t target)
 add egde
 
const auto & operator[] (vertex_descriptor_t i) const
 
auto & operator[] (vertex_descriptor_t i)
 
const auto & adj_edges (vertex_descriptor_t i) const
 iterable of (descriptors of) adjacent edges
 
auto & adj_edges (vertex_descriptor_t i)
 iterable of (descriptors of) adjacent edges
 
auto size ()
 number of vertices
 

Detailed Description

template<class Vertex, class Edge>
class ired::graph::adjacency_list< Vertex, Edge >

Graph in adjacency list representation.

Member Typedef Documentation

◆ edge_info_t

template<class Vertex , class Edge >
using ired::graph::adjacency_list< Vertex, Edge >::edge_info_t = Edge

◆ vertex_descriptor_t

template<class Vertex , class Edge >
using ired::graph::adjacency_list< Vertex, Edge >::vertex_descriptor_t = size_t

◆ vertex_t

template<class Vertex , class Edge >
using ired::graph::adjacency_list< Vertex, Edge >::vertex_t = Vertex

Constructor & Destructor Documentation

◆ adjacency_list()

template<class Vertex , class Edge >
ired::graph::adjacency_list< Vertex, Edge >::adjacency_list ( )
inline

constructor

Member Function Documentation

◆ add_edge() [1/2]

template<class Vertex , class Edge >
auto & ired::graph::adjacency_list< Vertex, Edge >::add_edge ( vertex_descriptor_t  source,
vertex_descriptor_t  target 
)
inline

add egde

◆ add_edge() [2/2]

template<class Vertex , class Edge >
auto & ired::graph::adjacency_list< Vertex, Edge >::add_edge ( vertex_descriptor_t  source,
vertex_descriptor_t  target,
const edge_info_t e 
)
inline

add egde

◆ add_vertex() [1/2]

template<class Vertex , class Edge >
vertex_descriptor_t ired::graph::adjacency_list< Vertex, Edge >::add_vertex ( )
inline

add vertex

◆ add_vertex() [2/2]

template<class Vertex , class Edge >
vertex_descriptor_t ired::graph::adjacency_list< Vertex, Edge >::add_vertex ( const vertex_t v)
inline

add vertex

◆ adj_edges() [1/2]

template<class Vertex , class Edge >
auto & ired::graph::adjacency_list< Vertex, Edge >::adj_edges ( vertex_descriptor_t  i)
inline

iterable of (descriptors of) adjacent edges

◆ adj_edges() [2/2]

template<class Vertex , class Edge >
const auto & ired::graph::adjacency_list< Vertex, Edge >::adj_edges ( vertex_descriptor_t  i) const
inline

iterable of (descriptors of) adjacent edges

◆ operator[]() [1/2]

template<class Vertex , class Edge >
auto & ired::graph::adjacency_list< Vertex, Edge >::operator[] ( vertex_descriptor_t  i)
inline

◆ operator[]() [2/2]

template<class Vertex , class Edge >
const auto & ired::graph::adjacency_list< Vertex, Edge >::operator[] ( vertex_descriptor_t  i) const
inline

◆ size()

template<class Vertex , class Edge >
auto ired::graph::adjacency_list< Vertex, Edge >::size ( )
inline

number of vertices


The documentation for this class was generated from the following file: