Graph C++ Library
 All Classes Namespaces Files Functions Variables Typedefs Groups Pages
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
gcl::base_undirected_vertex< EdgeAttributesType > Class Template Referenceabstract

Virtual template base class for vertices in undirected graphs. More...

#include <base_undirected_vertex.hpp>

Inheritance diagram for gcl::base_undirected_vertex< EdgeAttributesType >:
gcl::base_vertex< EdgeAttributesType > gcl::base_weighted_undirected_vertex< EdgeAttributesType >

Public Types

typedef std::list
< EdgeAttributesType >
::iterator 
iterator
 Typedef for iterators used to browse the neighbourhood of the vertex.
 

Public Member Functions

 base_undirected_vertex ()
 Constructor.
 
virtual ~base_undirected_vertex ()
 Destructor.
 
unsigned int get_degree ()
 Returns the degree of the vertex.
 
unsigned int get_nb_triangles ()
 Returns the number of triangles the vertex is a part of.
 
double get_local_clustering_coefficient ()
 Returns the local clustering coefficient.
 
void set_nb_triangles (unsigned int _value)
 Sets the number of triangles the vertex is a part of.
 
void neighbour_insert (EdgeAttributesType _edge)
 Adds a vertex to the neighbourhood of the vertex.
 
gcl::base_vertex
< EdgeAttributesType >
::iterator 
neighbour_begin ()
 Returns an operator pointing at the beginning the neighbours container.
 
gcl::base_vertex
< EdgeAttributesType >
::iterator 
neighbour_end ()
 Returns an operator pointing at the end the neighbours container.
 
std::string get_name ()
 Returns the id of the vertex.
 
void set_name (std::string _name)
 Sets the name of the vertex.
 
unsigned int get_base_vertex_degrees (unsigned int _type)
 Returns the degree of type _type.
 
virtual void clear ()=0
 Reinitializes the vertex (specific variables).
 

Protected Member Functions

void base_undirected_vertex_clear ()
 Reinitializes the vertex.
 
void set_nb_of_types_of_degrees (unsigned int _value)
 Sets the number of types of degrees.
 
void base_vertex_neighbour_insert (unsigned int _type, EdgeAttributesType _info)
 Inserts the information of a new neighbour in the neighbours structure.
 
iterator base_vertex_neighbour_begin (unsigned int _type)
 Returns an iterator pointing at the begining of neighbours of type _type.
 
iterator base_vertex_neighbour_end (unsigned int _type)
 Returns an iterator pointing at the end of neighbours of type _type.
 
void base_vertex_clear ()
 Reinitializes the variables in the class base_vertex.
 

Protected Attributes

const unsigned int id_degree
 Index corresponding to the degree in degree-related vectors.
 

Detailed Description

template<class EdgeAttributesType>
class gcl::base_undirected_vertex< EdgeAttributesType >

Virtual template base class for vertices in undirected graphs.

This class provides the common members attributes and functions for all undirected vertex objects.

Author
Antoine Allard (antoineallard.info)
Date
Sept. 2015

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