Dyninst::Edge Class Reference

#include <Edge.h>

Inheritance diagram for Dyninst::Edge:
Dyninst::AnnotatableSparse

Public Types

typedef boost::shared_ptr< EdgePtr
typedef dyn_hash_map< void
*, void *, void_ptr_hasher
annos_by_type_t
typedef std::vector
< annos_by_type_t * > 
annos_t

Public Member Functions

NodeSharedPtr source () const
NodeSharedPtr target () const
void setSource (NodeSharedPtr source)
void setTarget (NodeSharedPtr target)
virtual ~Edge ()
template<class T >
AN_INLINE bool addAnnotation (const T *a, AnnotationClass< T > &a_id)
bool operator== (AnnotatableSparse &cmp)
template<class T >
AN_INLINE bool getAnnotation (T *&a, AnnotationClass< T > &a_id) const
template<class T >
bool removeAnnotation (AnnotationClass< T > &a_id)
void serializeAnnotations (SerializerBase *sb, const char *)
void annotationsReport ()

Static Public Member Functions

static Ptr createEdge (const NodeSharedPtr source, const NodeSharedPtr target)

Protected Member Functions

 Edge (const NodePtr source, const NodePtr target)
 Edge ()

Protected Attributes

NodePtr source_
NodePtr target_

Private Types

typedef boost::shared_ptr< NodeNodeSharedPtr
typedef boost::weak_ptr< NodeNodePtr

Friends

class Node
class Graph
class Creator

Detailed Description

Definition at line 43 of file Edge.h.


Member Typedef Documentation

typedef dyn_hash_map<void *, void *, void_ptr_hasher> Dyninst::AnnotatableSparse::annos_by_type_t [inherited]

Definition at line 505 of file Annotatable.h.

typedef std::vector<annos_by_type_t *> Dyninst::AnnotatableSparse::annos_t [inherited]

Definition at line 508 of file Annotatable.h.

typedef boost::weak_ptr<Node> Dyninst::Edge::NodePtr [private]

Definition at line 52 of file Edge.h.

typedef boost::shared_ptr<Node> Dyninst::Edge::NodeSharedPtr [private]

Definition at line 51 of file Edge.h.

typedef boost::shared_ptr<Edge> Dyninst::Edge::Ptr

Definition at line 48 of file Edge.h.


Constructor & Destructor Documentation

virtual Dyninst::Edge::~Edge (  )  [inline, virtual]

Definition at line 64 of file Edge.h.

Edge::Edge ( const NodePtr  source,
const NodePtr  target 
) [protected]

Definition at line 63 of file Edge.C.

Edge::Edge (  )  [protected]

Definition at line 57 of file Edge.C.

Referenced by createEdge().


Member Function Documentation

template<class T >
AN_INLINE bool Dyninst::AnnotatableSparse::addAnnotation ( const T *  a,
AnnotationClass< T > &  a_id 
) [inline, inherited]
void Dyninst::AnnotatableSparse::annotationsReport (  )  [inline, inherited]
Edge::Ptr Edge::createEdge ( const NodeSharedPtr  source,
const NodeSharedPtr  target 
) [static]

Definition at line 44 of file Edge.C.

References Edge().

Referenced by Dyninst::Graph::insertPair().

template<class T >
AN_INLINE bool Dyninst::AnnotatableSparse::getAnnotation ( T *&  a,
AnnotationClass< T > &  a_id 
) const [inline, inherited]
bool Dyninst::AnnotatableSparse::operator== ( AnnotatableSparse cmp  )  [inline, inherited]
template<class T >
bool Dyninst::AnnotatableSparse::removeAnnotation ( AnnotationClass< T > &  a_id  )  [inline, inherited]
void Dyninst::AnnotatableSparse::serializeAnnotations ( SerializerBase sb,
const char *   
) [inline, inherited]
void Dyninst::Edge::setSource ( NodeSharedPtr  source  )  [inline]

Definition at line 61 of file Edge.h.

void Dyninst::Edge::setTarget ( NodeSharedPtr  target  )  [inline]

Definition at line 62 of file Edge.h.

NodeSharedPtr Dyninst::Edge::source (  )  const [inline]

Definition at line 58 of file Edge.h.

NodeSharedPtr Dyninst::Edge::target (  )  const [inline]

Definition at line 59 of file Edge.h.


Friends And Related Function Documentation

friend class Creator [friend]

Definition at line 46 of file Edge.h.

friend class Graph [friend]

Definition at line 45 of file Edge.h.

friend class Node [friend]

Definition at line 44 of file Edge.h.


Field Documentation

Definition at line 71 of file Edge.h.

Definition at line 72 of file Edge.h.


The documentation for this class was generated from the following files:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 12 Jul 2013 for SymtabAPI by  doxygen 1.6.1