Dyninst::AnnotatableSparse Class Reference

#include <Annotatable.h>

Inheritance diagram for Dyninst::AnnotatableSparse:
Dyninst::Edge Dyninst::Graph Dyninst::SymtabAPI::AddressLookup Dyninst::SymtabAPI::Archive Dyninst::SymtabAPI::CBlock Dyninst::SymtabAPI::ExceptionBlock Dyninst::SymtabAPI::Function Dyninst::SymtabAPI::localVar Dyninst::SymtabAPI::Region Dyninst::SymtabAPI::relocationEntry Dyninst::SymtabAPI::Statement Dyninst::SymtabAPI::Symbol Dyninst::SymtabAPI::Symtab Dyninst::SymtabAPI::Variable

Data Structures

struct  void_ptr_hasher

Public Types

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

 ~AnnotatableSparse ()
bool operator== (AnnotatableSparse &cmp)
template<class T >
AN_INLINE bool addAnnotation (const T *a, AnnotationClass< T > &a_id)
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 ()

Private Member Functions

annos_tgetAnnos () const
annos_by_type_tgetAnnosOfType (AnnotationClassID aid, bool do_create=false) const
template<class T >
AN_INLINE annos_by_type_tgetAnnosOfType (AnnotationClass< T > &a_id, bool do_create=false) const
void * getAnnosForObject (annos_by_type_t *abt, void *obj, bool do_create=false) const
AN_INLINE bool addAnnotation (const void *a, AnnotationClassID aid)

Static Private Attributes

static dyn_hash_map< void
*, unsigned short > 
ser_ndx_map

Friends

class SerializerBase
class Serializable
COMMON_EXPORT bool add_annotations (SerializerBase *, AnnotatableSparse *, std::vector< ser_rec_t > &)

Detailed Description

Definition at line 484 of file Annotatable.h.


Member Typedef Documentation

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

Definition at line 505 of file Annotatable.h.

Definition at line 508 of file Annotatable.h.


Constructor & Destructor Documentation

Dyninst::AnnotatableSparse::~AnnotatableSparse (  )  [inline]

Member Function Documentation

template<class T >
AN_INLINE bool Dyninst::AnnotatableSparse::addAnnotation ( const T *  a,
AnnotationClass< T > &  a_id 
) [inline]
AN_INLINE bool Dyninst::AnnotatableSparse::addAnnotation ( const void *  a,
AnnotationClassID  aid 
) [inline, private]
void Dyninst::AnnotatableSparse::annotationsReport (  )  [inline]
AnnotatableSparse::annos_t * AnnotatableSparse::getAnnos (  )  const [private]

Definition at line 56 of file Annotatable.C.

Referenced by operator==().

void* Dyninst::AnnotatableSparse::getAnnosForObject ( annos_by_type_t abt,
void *  obj,
bool  do_create = false 
) const [inline, private]

Definition at line 595 of file Annotatable.h.

template<class T >
AN_INLINE annos_by_type_t* Dyninst::AnnotatableSparse::getAnnosOfType ( AnnotationClass< T > &  a_id,
bool  do_create = false 
) const [inline, private]

Definition at line 587 of file Annotatable.h.

References Dyninst::AnnotationClassBase::getID().

annos_by_type_t* Dyninst::AnnotatableSparse::getAnnosOfType ( AnnotationClassID  aid,
bool  do_create = false 
) const [inline, private]

Definition at line 561 of file Annotatable.h.

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

Friends And Related Function Documentation

COMMON_EXPORT bool add_annotations ( SerializerBase ,
AnnotatableSparse ,
std::vector< ser_rec_t > &   
) [friend]
friend class Serializable [friend]

Definition at line 487 of file Annotatable.h.

friend class SerializerBase [friend]

Definition at line 486 of file Annotatable.h.


Field Documentation

dyn_hash_map< void *, unsigned short > AnnotatableSparse::ser_ndx_map [static, private]

Definition at line 559 of file Annotatable.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