alglib::graph::models::graph_model< vertex_t, edge_t > Class Template Referenceabstract

The interface of a graph model. More...

#include <graph_model.h>

Inheritance diagram for alglib::graph::models::graph_model< vertex_t, edge_t >:
alglib::graph::models::adj_list< vertex_t, edge_t > alglib::graph::models::adj_matrix< vertex_t, edge_t >

Public Member Functions

virtual bool are_adj (const vertex_t &, const vertex_t &) const =0
 Returs true if the two given vertices are adjacent, false otherwise. More...
 
virtual void add_vertex (const vertex_t &v)=0
 
virtual void add_edge (const vertex_t &u, const vertex_t &v, const edge_t &a)=0
 
virtual void add_edge (const edge_t &a)=0
 
virtual void remove_vertex (const vertex_t &v)=0
 
virtual void remove_edge (const vertex_t &u, const vertex_t &v)=0
 
virtual int indeg (const vertex_t &v) const =0
 
virtual int outdeg (const vertex_t &v) const =0
 
virtual int num_vertices () const =0
 
virtual int num_edges () const =0
 

Detailed Description

template<typename vertex_t, typename edge_t>
class alglib::graph::models::graph_model< vertex_t, edge_t >

The interface of a graph model.

A graph model must implement this interface to be usable with graph types in this library.

Member Function Documentation

template<typename vertex_t, typename edge_t>
virtual void alglib::graph::models::graph_model< vertex_t, edge_t >::add_edge ( const vertex_t &  u,
const vertex_t &  v,
const edge_t a 
)
pure virtual
template<typename vertex_t, typename edge_t>
virtual void alglib::graph::models::graph_model< vertex_t, edge_t >::add_edge ( const edge_t a)
pure virtual
template<typename vertex_t, typename edge_t>
virtual void alglib::graph::models::graph_model< vertex_t, edge_t >::add_vertex ( const vertex_t &  v)
pure virtual
template<typename vertex_t, typename edge_t>
virtual bool alglib::graph::models::graph_model< vertex_t, edge_t >::are_adj ( const vertex_t &  ,
const vertex_t &   
) const
pure virtual

Returs true if the two given vertices are adjacent, false otherwise.

Implemented in alglib::graph::models::adj_list< vertex_t, edge_t >, and alglib::graph::models::adj_list< vertex_t, alglib::graph::edge_t >.

template<typename vertex_t, typename edge_t>
virtual int alglib::graph::models::graph_model< vertex_t, edge_t >::indeg ( const vertex_t &  v) const
pure virtual
template<typename vertex_t, typename edge_t>
virtual int alglib::graph::models::graph_model< vertex_t, edge_t >::outdeg ( const vertex_t &  v) const
pure virtual
template<typename vertex_t, typename edge_t>
virtual void alglib::graph::models::graph_model< vertex_t, edge_t >::remove_edge ( const vertex_t &  u,
const vertex_t &  v 
)
pure virtual
template<typename vertex_t, typename edge_t>
virtual void alglib::graph::models::graph_model< vertex_t, edge_t >::remove_vertex ( const vertex_t &  v)
pure virtual

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