Every labeled-vertex set graph created using this library is an instance of a concrete class publicly derived, directly or indirectly, from this polymorphic template class.
More...
|
|
| labeled_vertex_set_graph (const VertexLabellerType &) |
|
| labeled_vertex_set_graph (VertexLabellerType &&) |
|
| ~labeled_vertex_set_graph () override=default |
| | To be polymorphic, this class has a virtual destructor.
|
|
constexpr const VertexLabellerType & | get_vertices_labeller () const |
| std::pair< typename graph< VertexType >::vertex_handle, bool > | insert_vertex (const VertexType &v_core) final |
| std::pair< typename graph< VertexType >::vertex_handle, bool > | insert_vertex (VertexType &&v_core) final |
| virtual std::pair< typename graph< VertexType >::vertex_handle, bool > | insert_vertex (const VertexType &v_core, const VertexLabelType &vertex_label)=0 |
| virtual std::pair< typename graph< VertexType >::vertex_handle, bool > | insert_vertex (const VertexType &v_core, VertexLabelType &&vertex_label)=0 |
| virtual std::pair< typename graph< VertexType >::vertex_handle, bool > | insert_vertex (VertexType &&v_core, const VertexLabelType &vertex_label)=0 |
| virtual std::pair< typename graph< VertexType >::vertex_handle, bool > | insert_vertex (VertexType &&v_core, VertexLabelType &&vertex_label)=0 |
|
| ~labeled_vertex_graph () override=default |
| | To be polymorphic, this class has a virtual destructor.
|
| virtual const VertexLabelType & | get_vertex_label (const typename graph< VertexType >::vertex_const_handle &vertex) const =0 |
| virtual VertexLabelType & | get_vertex_label (const typename graph< VertexType >::vertex_const_handle &vertex)=0 |
|
virtual | ~graph ()=default |
| | To be polymorphic, this class has a virtual destructor.
|
| virtual std::size_t | order () const =0 |
| | Returns the order of *this, i.e. the number of vertices inside the graph.
|
| virtual void | erase_vertex (const vertex_const_handle &vertex)=0 |
| | Removes the vertex identified by vertex.
|
|
virtual adj_list_iterator | erase_edge (const adj_list_const_iterator &)=0 |
|
| ~set_graph () override=default |
| | To be polymorphic, this class has a virtual destructor.
|
template<typename VertexType, typename VertexLabelType, typename VertexLabellerType = default_vertex_labeller<VertexType,VertexLabelType>>
class graphdom::labeled_vertex_set_graph< VertexType, VertexLabelType, VertexLabellerType >
Every labeled-vertex set graph created using this library is an instance of a concrete class publicly derived, directly or indirectly, from this polymorphic template class.
Creating an object of a user-defined class derived, directly or indirectly, from this one will cause undefined behavior.
template<typename VertexType, typename VertexLabelType, typename VertexLabellerType = default_vertex_labeller<VertexType,VertexLabelType>>
Inserts in *this a vertex having v_core as core, if *this doesn't already contain a vertex with an equivalent core.
If and as soon as the insertion took place, the label of the inserted vertex is equal to vertex_label .
- Parameters
-
- Returns
- A pair consisting of a valid handle of the inserted vertex (or the vertex that prevented the insertion) and a bool value set to true if and only if the insertion took place.
Implemented in graphdom::full_labeled_set_digraph< VertexType, VertexLabelType, EdgeLabelType, Compare, VertexLabellerType, EdgeLabellerType >, and graphdom::full_labeled_set_ugraph< VertexType, VertexLabelType, EdgeLabelType, Compare, VertexLabellerType, EdgeLabellerType >.
template<typename VertexType, typename VertexLabelType, typename VertexLabellerType = default_vertex_labeller<VertexType,VertexLabelType>>
Inserts in *this a vertex having v_core as core, if *this doesn't already contain a vertex with an equivalent core.
If and as soon as the insertion took place, the label of the inserted vertex is equal to vertex_label .
If the insertion did not take place, vertex_label remains unchanged.
- Parameters
-
- Returns
- A pair consisting of a valid handle of the inserted vertex (or the vertex that prevented the insertion) and a bool value set to true if and only if the insertion took place.
Implemented in graphdom::full_labeled_set_digraph< VertexType, VertexLabelType, EdgeLabelType, Compare, VertexLabellerType, EdgeLabellerType >, and graphdom::full_labeled_set_ugraph< VertexType, VertexLabelType, EdgeLabelType, Compare, VertexLabellerType, EdgeLabellerType >.
template<typename VertexType, typename VertexLabelType, typename VertexLabellerType>
Inserts in *this a vertex having v_core as core, if *this doesn't already contain a vertex with an equivalent core.
If and as soon as the insertion took place, the label of the inserted vertex is equal to ( this->get_vertices_labeller() )()
If the insertion did not take place, v_core remains unchanged.
- Parameters
-
- Returns
- A pair consisting of a valid handle of the inserted vertex (or the vertex that prevented the insertion) and a bool value set to true if and only if the insertion took place.
Implements graphdom::set_graph< VertexType >.
template<typename VertexType, typename VertexLabelType, typename VertexLabellerType = default_vertex_labeller<VertexType,VertexLabelType>>
Inserts in *this a vertex having v_core as core, if *this doesn't already contain a vertex with an equivalent core.
If and as soon as the insertion took place, the label of the inserted vertex is equal to vertex_label .
If the insertion did not take place, v_core remains unchanged.
- Parameters
-
- Returns
- A pair consisting of a valid handle of the inserted vertex (or the vertex that prevented the insertion) and a bool value set to true if and only if the insertion took place.
Implemented in graphdom::full_labeled_set_digraph< VertexType, VertexLabelType, EdgeLabelType, Compare, VertexLabellerType, EdgeLabellerType >, and graphdom::full_labeled_set_ugraph< VertexType, VertexLabelType, EdgeLabelType, Compare, VertexLabellerType, EdgeLabellerType >.
template<typename VertexType, typename VertexLabelType, typename VertexLabellerType = default_vertex_labeller<VertexType,VertexLabelType>>
Inserts in *this a vertex having v_core as core, if *this doesn't already contain a vertex with an equivalent core.
If and as soon as the insertion took place, the label of the inserted vertex is equal to vertex_label .
If the insertion did not take place, v_core and vertex_label remain unchanged
- Parameters
-
- Returns
- A pair consisting of a valid handle of the inserted vertex (or the vertex that prevented the insertion) and a bool value set to true if and only if the insertion took place.
Implemented in graphdom::full_labeled_set_digraph< VertexType, VertexLabelType, EdgeLabelType, Compare, VertexLabellerType, EdgeLabellerType >, and graphdom::full_labeled_set_ugraph< VertexType, VertexLabelType, EdgeLabelType, Compare, VertexLabellerType, EdgeLabellerType >.