DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE > Class Template Reference

#include <graph_template.h>

Inheritance diagram for DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >:
Inheritance graph
[legend]
Collaboration diagram for DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 DIRECTED_GRAPH16 (const VINDEX16 vsize, const EINDEX16 evsize)
 ~DIRECTED_GRAPH16 ()
DIRECTED_GRAPH16< EDGE_TYPE,
VERTEX_TYPE > & 
operator= (const DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE > &g)
void Erase_Graph ()
VINDEX16 Add_Vertex ()
EINDEX16 Add_Edge (VINDEX16 from, VINDEX16 to)
EINDEX16 Add_Unique_Edge (VINDEX16 from, VINDEX16 to)
EINDEX16 Get_Edge (VINDEX16 from, VINDEX16 to) const
void Delete_Vertex (VINDEX16 v)
void Delete_Edge (EINDEX16 e)
VINDEX16 Get_Vertex () const
VINDEX16 Get_Next_Vertex (VINDEX16 v) const
EINDEX16 Get_Edge () const
EINDEX16 Get_Next_Edge (EINDEX16 e) const
BOOL Vertex_Is_In_Graph (VINDEX16 v) const
BOOL Edge_Is_In_Graph (EINDEX16 e) const
VINDEX16 Get_Source (EINDEX16 e) const
VINDEX16 Get_Sink (EINDEX16 e) const
EINDEX16 Get_In_Edge (VINDEX16 v) const
EINDEX16 Get_Out_Edge (VINDEX16 v) const
EINDEX16 Get_Next_In_Edge (EINDEX16 e) const
EINDEX16 Get_Next_Out_Edge (EINDEX16 e) const
VINDEX16 Get_Vertex_Count () const
EINDEX16 Get_Edge_Count () const
BOOL Is_Empty () const
void Print (FILE *file) const

Protected Attributes

DYN_ARRAY< VERTEX_TYPE > _v
VINDEX16 _vcnt
DYN_ARRAY< EDGE_TYPE_e
EINDEX16 _ecnt

Private Member Functions

 DIRECTED_GRAPH16 (const DIRECTED_GRAPH16 &)

Private Attributes

MEM_POOL_vmpool
MEM_POOL_empool
VINDEX16 _vfree
EINDEX16 _efree

Detailed Description

template<class EDGE_TYPE, class VERTEX_TYPE>
class DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >

Definition at line 230 of file graph_template.h.


Constructor & Destructor Documentation

template<class EDGE_TYPE, class VERTEX_TYPE>
DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::DIRECTED_GRAPH16 ( const DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE > &   )  [private]
template<class EDGE_TYPE , class VERTEX_TYPE >
DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::DIRECTED_GRAPH16 ( const VINDEX16  vsize,
const EINDEX16  evsize 
) [inline]
template<class EDGE_TYPE, class VERTEX_TYPE>
DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::~DIRECTED_GRAPH16 (  )  [inline]

Definition at line 246 of file graph_template.h.


Member Function Documentation

template<class EDGE_TYPE , class VERTEX_TYPE >
EINDEX16 DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Add_Edge ( VINDEX16  from,
VINDEX16  to 
) [inline]
template<class EDGE_TYPE , class VERTEX_TYPE >
EINDEX16 DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Add_Unique_Edge ( VINDEX16  from,
VINDEX16  to 
) [inline]

Definition at line 401 of file graph_template.h.

References DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Add_Edge(), and DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Get_Edge().

Here is the call graph for this function:

template<class EDGE_TYPE , class VERTEX_TYPE >
VINDEX16 DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Add_Vertex (  )  [inline]
template<class EDGE_TYPE , class VERTEX_TYPE >
void DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Delete_Edge ( EINDEX16  e  )  [inline]
template<class EDGE_TYPE , class VERTEX_TYPE >
void DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Delete_Vertex ( VINDEX16  v  )  [inline]
template<class EDGE_TYPE, class VERTEX_TYPE>
BOOL DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Edge_Is_In_Graph ( EINDEX16  e  )  const [inline]
template<class EDGE_TYPE, class VERTEX_TYPE>
void DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Erase_Graph (  )  [inline]

Reimplemented in ARRAY_DIRECTED_GRAPH16.

Definition at line 260 of file graph_template.h.

template<class EDGE_TYPE , class VERTEX_TYPE >
EINDEX16 DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Get_Edge (  )  const [inline]
template<class EDGE_TYPE , class VERTEX_TYPE >
EINDEX16 DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Get_Edge ( VINDEX16  from,
VINDEX16  to 
) const [inline]
template<class EDGE_TYPE, class VERTEX_TYPE>
EINDEX16 DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Get_Edge_Count (  )  const [inline]

Definition at line 303 of file graph_template.h.

template<class EDGE_TYPE, class VERTEX_TYPE>
EINDEX16 DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Get_In_Edge ( VINDEX16  v  )  const [inline]
template<class EDGE_TYPE , class VERTEX_TYPE >
EINDEX16 DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Get_Next_Edge ( EINDEX16  e  )  const [inline]

Definition at line 531 of file graph_template.h.

References DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::_e, DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Edge_Is_In_Graph(), and Is_True.

Here is the call graph for this function:

template<class EDGE_TYPE, class VERTEX_TYPE>
EINDEX16 DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Get_Next_In_Edge ( EINDEX16  e  )  const [inline]
template<class EDGE_TYPE, class VERTEX_TYPE>
EINDEX16 DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Get_Next_Out_Edge ( EINDEX16  e  )  const [inline]
template<class EDGE_TYPE , class VERTEX_TYPE >
VINDEX16 DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Get_Next_Vertex ( VINDEX16  v  )  const [inline]
template<class EDGE_TYPE, class VERTEX_TYPE>
EINDEX16 DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Get_Out_Edge ( VINDEX16  v  )  const [inline]
template<class EDGE_TYPE, class VERTEX_TYPE>
VINDEX16 DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Get_Sink ( EINDEX16  e  )  const [inline]
template<class EDGE_TYPE, class VERTEX_TYPE>
VINDEX16 DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Get_Source ( EINDEX16  e  )  const [inline]

Definition at line 283 of file graph_template.h.

template<class EDGE_TYPE , class VERTEX_TYPE >
VINDEX16 DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Get_Vertex (  )  const [inline]
template<class EDGE_TYPE, class VERTEX_TYPE>
VINDEX16 DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Get_Vertex_Count (  )  const [inline]

Definition at line 302 of file graph_template.h.

template<class EDGE_TYPE, class VERTEX_TYPE>
BOOL DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Is_Empty ( void   )  const [inline]
template<class EDGE_TYPE, class VERTEX_TYPE>
DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE > & DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::operator= ( const DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE > &  g  )  [inline]
template<class EDGE_TYPE , class VERTEX_TYPE >
void DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Print ( FILE *  file  )  const [inline]
template<class EDGE_TYPE, class VERTEX_TYPE>
BOOL DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::Vertex_Is_In_Graph ( VINDEX16  v  )  const [inline]

Member Data Documentation

template<class EDGE_TYPE, class VERTEX_TYPE>
DYN_ARRAY<EDGE_TYPE> DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::_e [protected]
template<class EDGE_TYPE, class VERTEX_TYPE>
EINDEX16 DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::_ecnt [protected]
template<class EDGE_TYPE, class VERTEX_TYPE>
EINDEX16 DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::_efree [private]
template<class EDGE_TYPE, class VERTEX_TYPE>
MEM_POOL* DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::_empool [private]
template<class EDGE_TYPE, class VERTEX_TYPE>
DYN_ARRAY<VERTEX_TYPE> DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::_v [protected]
template<class EDGE_TYPE, class VERTEX_TYPE>
VINDEX16 DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::_vcnt [protected]
template<class EDGE_TYPE, class VERTEX_TYPE>
VINDEX16 DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::_vfree [private]
template<class EDGE_TYPE, class VERTEX_TYPE>
MEM_POOL* DIRECTED_GRAPH16< EDGE_TYPE, VERTEX_TYPE >::_vmpool [private]

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

Generated on Tue Nov 17 06:38:52 2009 for Open64 (mfef90, whirl2f, and IR tools) by  doxygen 1.6.1