GraphDom
Loading...
Searching...
No Matches
graphdom::graph< VertexType >::vertex_const_handle< VertexType > Class Template Referencefinal

Every valid instance of this class can be used to identify a specific vertex of a graph and to access its core by reference or pointer.
A valid instance hndl of this class cannot create objects that allow modification of the graph to which the vertex identified by hndl belongs without a non-const reference to that graph. More...

#include <vertex_const_handle.h>

Public Member Functions

 vertex_const_handle (const vertex_const_handle &other)
 vertex_const_handle (const graph< VertexType >::vertex_handle &other)
 vertex_const_handle (const typename multiset_graph< VertexType >::vertex_handle &other)
vertex_const_handle & operator= (const vertex_const_handle &other)
graph< VertexType >::const_adj_list adj_list () const
graph< VertexType >::const_adj_list adj_list (edge_typeedge_type edge_typeedge_type) const
graph< VertexType >::const_adj_list const_adj_list () const
graph< VertexType >::const_adj_list const_adj_list (edge_typeedge_type edge_typeedge_type) const

Public Attributes

friend graph< VertexType >::adj_list_const_iterator
friend graph< VertexType >

Detailed Description

template<typename VertexType>
template<typename VertexType>
class graphdom::graph< VertexType >::vertex_const_handle< VertexType >

Every valid instance of this class can be used to identify a specific vertex of a graph and to access its core by reference or pointer.
A valid instance hndl of this class cannot create objects that allow modification of the graph to which the vertex identified by hndl belongs without a non-const reference to that graph.

An instance hndl of this class is invalidated as soon as one of the following scenarios occurs:

  1. hndl is constructed using an invalid instance of this class.
  2. hndl is constructed using an invalid instance of graphdom::graph< VertexType >::vertex_handle.
  3. hndl is constructed using an invalid instance of graphdom::multiset_graph< VertexType >::vertex_handle.
  4. hndl = other_hndl; is executed where other_hndl is an invalid instance of this class.

A valid instance hndl of this class is invalidated as soon as the vertex it is associated with is erased.

An invalid instance hndl of this class is validated as soon as hndl = other_hndl; is executed where other_hndl is a valid instance of this class.

If *this is invalid then any operation other than *this = other; and the destruction of *this will cause undefined behavior.

Constructor & Destructor Documentation

◆ vertex_const_handle() [1/3]

template<typename VertexType>
template<typename VertexType>
graphdom::graph< VertexType >::vertex_const_handle< VertexType >::vertex_const_handle ( const vertex_const_handle< VertexType > & other)

If other is valid then immediately after the construction of *this we will have *this == other.
If other is invalid then *this will be invalid immediately after its construction.

Parameters
otherThe reference to the object from which to construct *this.
Complexity
Constant.

◆ vertex_const_handle() [2/3]

template<typename VertexType>
template<typename VertexType>
graphdom::graph< VertexType >::vertex_const_handle< VertexType >::vertex_const_handle ( const graph< VertexType >::vertex_handle & other)

If other is valid then immediately after the construction of *this we will have *this == other.
If other is invalid then *this will be invalid immediately after its construction.

Parameters
otherThe reference to the object from which to construct *this.
Complexity
Constant.

◆ vertex_const_handle() [3/3]

template<typename VertexType>
template<typename VertexType>
graphdom::graph< VertexType >::vertex_const_handle< VertexType >::vertex_const_handle ( const typename multiset_graph< VertexType >::vertex_handle & other)

If other is valid then immediately after the construction of *this we will have *this == other.
If other is invalid then *this will be invalid immediately after its construction.

Parameters
otherThe reference to the object from which to construct *this.
Complexity
Constant.

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