GraphDom
Loading...
Searching...
No Matches
graphdom::multiset_graph< VertexType >::vertex_handle< VertexType > Class Template Referencefinal

Every valid instance of this class can be used to identify a specific vertex of a multiset graph and to access its core by reference or pointer. More...

#include <multiset_graph_vertex_handle.h>

Public Member Functions

 vertex_handle (const vertex_handle &other)
 vertex_handle (const typename graph< VertexType >::vertex_handle &other)
vertex_handle & operator= (const vertex_handle &other)
multiset_graph< VertexType >::adj_list adj_list () const
multiset_graph< VertexType >::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 >::vertex_const_handle
friend graph< VertexType >::vertex_handle
friend multiset_graph< VertexType >::adj_list_iterator

Detailed Description

template<typename VertexType>
template<typename VertexType>
class graphdom::multiset_graph< VertexType >::vertex_handle< VertexType >

Every valid instance of this class can be used to identify a specific vertex of a multiset graph and to access its core by reference or pointer.

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 = 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_handle() [1/2]

template<typename VertexType>
template<typename VertexType>
graphdom::multiset_graph< VertexType >::vertex_handle< VertexType >::vertex_handle ( const vertex_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_handle() [2/2]

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

If other is valid and identifies a vertex of a multiset-vertex graph, then immediately after the construction of *this we will have *this == other.
If other is valid but identifies a vertex of a set-vertex graph, then this constructor will throw an instance of a class publicly derived, directly or indirectly, from std::exception.
If other is invalid then *this will be invalid immediately after its construction.

Parameters
otherThe object to compare with *this.
Complexity
Constant.

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