Rosetta
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
utility::graph::UpperEdgeGraph< V, E > Class Template Reference

#include <UpperEdgeGraph.hh>

Inheritance diagram for utility::graph::UpperEdgeGraph< V, E >:
Inheritance graph
[legend]

Public Types

typedef UEVertex< V, E > VertexClass
 
typedef UEEdge< V, E > EdgeClass
 
typedef utility::vector1< utility::pointer::shared_ptr< VertexClass > > VertexVector
 
typedef utility::vector1< UEEdge< V, E > >::iterator UpperEdgeListIter
 
typedef utility::vector1< UEEdge< V, E > >::const_iterator UpperEdgeListConstIter
 

Public Member Functions

 UpperEdgeGraph ()
 
 UpperEdgeGraph (platform::Size nverts)
 
 UpperEdgeGraph (UpperEdgeGraph< V, E > const &other)
 
 ~UpperEdgeGraph () override=default
 
UpperEdgeGraph< V, E > const & operator= (UpperEdgeGraph< V, E > const &other)
 
void set_num_vertices (platform::Size num_vertices)
 
VertexClassget_vertex (platform::Size index)
 
VertexClass const & get_vertex (platform::Size index) const
 
void add_edge (platform::Size lower_vertex, platform::Size upper_vertex)
 
void add_edge (platform::Size lower_vertex, platform::Size upper_vertex, E const &edge_data)
 
bool edge_exists (platform::Size lower_vertex, platform::Size upper_vertex)
 
EdgeClassget_edge (platform::Size lower_vertex, platform::Size upper_vertex)
 
platform::Size num_edges () const
 
platform::Size num_vertices () const
 
void drop_all_edges ()
 
- Public Member Functions inherited from utility::VirtualBase
 VirtualBase ()=default
 Default constructor. More...
 
virtual ~VirtualBase ()=default
 The virtual destructor is one of the main reasons for the VirtualBase class. More...
 
 VirtualBase (VirtualBase const &)=default
 
 VirtualBase (VirtualBase &&)=default
 
VirtualBaseoperator= (VirtualBase const &)=default
 
VirtualBaseoperator= (VirtualBase &&)=default
 

Private Member Functions

void create_vertices ()
 
void copy_from (UpperEdgeGraph< V, E > const &other)
 
VertexClassget_vertex_ptr (int index)
 
void note_edge_deleted ()
 

Private Attributes

platform::Size num_vertices_
 
platform::Size num_edges_
 
VertexVector vertices_
 

Friends

class UEEdge< V, E >
 
class UEVertex< V, E >
 

Member Typedef Documentation

◆ EdgeClass

template<class V , class E >
typedef UEEdge< V, E > utility::graph::UpperEdgeGraph< V, E >::EdgeClass

◆ UpperEdgeListConstIter

template<class V , class E >
typedef utility::vector1< UEEdge< V, E > >::const_iterator utility::graph::UpperEdgeGraph< V, E >::UpperEdgeListConstIter

◆ UpperEdgeListIter

template<class V , class E >
typedef utility::vector1< UEEdge< V, E > >::iterator utility::graph::UpperEdgeGraph< V, E >::UpperEdgeListIter

◆ VertexClass

template<class V , class E >
typedef UEVertex< V, E > utility::graph::UpperEdgeGraph< V, E >::VertexClass

◆ VertexVector

template<class V , class E >
typedef utility::vector1< utility::pointer::shared_ptr< VertexClass > > utility::graph::UpperEdgeGraph< V, E >::VertexVector

Constructor & Destructor Documentation

◆ UpperEdgeGraph() [1/3]

template<class V , class E >
utility::graph::UpperEdgeGraph< V, E >::UpperEdgeGraph ( )
inline

◆ UpperEdgeGraph() [2/3]

template<class V , class E >
utility::graph::UpperEdgeGraph< V, E >::UpperEdgeGraph ( platform::Size  nverts)
inline

◆ UpperEdgeGraph() [3/3]

template<class V , class E >
utility::graph::UpperEdgeGraph< V, E >::UpperEdgeGraph ( UpperEdgeGraph< V, E > const &  other)
inline

◆ ~UpperEdgeGraph()

template<class V , class E >
utility::graph::UpperEdgeGraph< V, E >::~UpperEdgeGraph ( )
overridedefault

Member Function Documentation

◆ add_edge() [1/2]

template<class V , class E >
void utility::graph::UpperEdgeGraph< V, E >::add_edge ( platform::Size  lower_vertex,
platform::Size  upper_vertex 
)
inline

◆ add_edge() [2/2]

template<class V , class E >
void utility::graph::UpperEdgeGraph< V, E >::add_edge ( platform::Size  lower_vertex,
platform::Size  upper_vertex,
E const &  edge_data 
)
inline

◆ copy_from()

template<class V , class E >
void utility::graph::UpperEdgeGraph< V, E >::copy_from ( UpperEdgeGraph< V, E > const &  other)
inlineprivate

◆ create_vertices()

template<class V , class E >
void utility::graph::UpperEdgeGraph< V, E >::create_vertices ( )
inlineprivate

◆ drop_all_edges()

template<class V , class E >
void utility::graph::UpperEdgeGraph< V, E >::drop_all_edges ( )
inline

◆ edge_exists()

template<class V , class E >
bool utility::graph::UpperEdgeGraph< V, E >::edge_exists ( platform::Size  lower_vertex,
platform::Size  upper_vertex 
)
inline

◆ get_edge()

template<class V , class E >
EdgeClass* utility::graph::UpperEdgeGraph< V, E >::get_edge ( platform::Size  lower_vertex,
platform::Size  upper_vertex 
)
inline

◆ get_vertex() [1/2]

template<class V , class E >
VertexClass& utility::graph::UpperEdgeGraph< V, E >::get_vertex ( platform::Size  index)
inline

◆ get_vertex() [2/2]

template<class V , class E >
VertexClass const& utility::graph::UpperEdgeGraph< V, E >::get_vertex ( platform::Size  index) const
inline

◆ get_vertex_ptr()

template<class V , class E >
VertexClass* utility::graph::UpperEdgeGraph< V, E >::get_vertex_ptr ( int  index)
inlineprivate

◆ note_edge_deleted()

template<class V , class E >
void utility::graph::UpperEdgeGraph< V, E >::note_edge_deleted ( )
inlineprivate

◆ num_edges()

template<class V , class E >
platform::Size utility::graph::UpperEdgeGraph< V, E >::num_edges ( ) const
inline

◆ num_vertices()

template<class V , class E >
platform::Size utility::graph::UpperEdgeGraph< V, E >::num_vertices ( ) const
inline

◆ operator=()

template<class V , class E >
UpperEdgeGraph< V, E > const& utility::graph::UpperEdgeGraph< V, E >::operator= ( UpperEdgeGraph< V, E > const &  other)
inline

◆ set_num_vertices()

template<class V , class E >
void utility::graph::UpperEdgeGraph< V, E >::set_num_vertices ( platform::Size  num_vertices)
inline

Friends And Related Function Documentation

◆ UEEdge< V, E >

template<class V , class E >
friend class UEEdge< V, E >
friend

◆ UEVertex< V, E >

template<class V , class E >
friend class UEVertex< V, E >
friend

Member Data Documentation

◆ num_edges_

template<class V , class E >
platform::Size utility::graph::UpperEdgeGraph< V, E >::num_edges_
private

◆ num_vertices_

template<class V , class E >
platform::Size utility::graph::UpperEdgeGraph< V, E >::num_vertices_
private

◆ vertices_

template<class V , class E >
VertexVector utility::graph::UpperEdgeGraph< V, E >::vertices_
private

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