ALBA
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
albaObject Class Referenceabstract

#include <albaObject.h>

Inheritance diagram for albaObject:
Inheritance graph
[legend]

Public Member Functions

 albaObject ()
 
virtual ~albaObject ()
 
virtual void Delete ()
 
virtual const char * GetTypeName () const
 
virtual bool IsA (const char *type_name) const
 
virtual bool IsA (const albaTypeID &type_id) const
 
virtual albaObjectNewObjectInstance () const =0
 
virtual const albaTypeIDGetTypeId () const
 
virtual void Print (std::ostream &os, const int indent=0) const
 
 albaObject (const albaObject &c)
 

Static Public Member Functions

static const char * GetStaticTypeName ()
 
static bool IsStaticType (const char *type_name)
 
static bool IsStaticType (const albaTypeID &type_id)
 
static const albaTypeIDGetStaticTypeId ()
 
static albaObjectSafeDownCast (albaObject *o)
 

Protected Attributes

bool m_HeapFlag
 

Detailed Description

Abstract superclass for all ALBA classes implementing RTTI APIs.

albaObject is a superclass implementing some useful features like RTTI APIs. ALBA objects can be created either on the stack or dynamically in the heap. The the latter you can use both "new" or "::New()" for instantiacion and "delete" or "Delete()" for deletion. There's no difference between the two. For reference counted objects these two methods behave differently.

See also
albaReferenceCounted

Definition at line 37 of file albaObject.h.

Constructor & Destructor Documentation

◆ albaObject() [1/2]

albaObject::albaObject ( )

◆ ~albaObject()

virtual albaObject::~albaObject ( )
virtual

◆ albaObject() [2/2]

albaObject::albaObject ( const albaObject c)
inline

Definition at line 79 of file albaObject.h.

Member Function Documentation

◆ Delete()

virtual void albaObject::Delete ( )
inlinevirtual

the same as delete obj, implemented for syntax compatibility

Reimplemented in albaReferenceCounted.

Definition at line 44 of file albaObject.h.

◆ GetStaticTypeName()

static const char * albaObject::GetStaticTypeName ( )
static

Return the name of this type (static function)

◆ GetTypeName()

virtual const char * albaObject::GetTypeName ( ) const
virtual

Return the class name of this instance.

◆ IsStaticType() [1/2]

static bool albaObject::IsStaticType ( const char *  type_name)
static

This is used by IsA to check the class name.

◆ IsStaticType() [2/2]

static bool albaObject::IsStaticType ( const albaTypeID type_id)
static

This is used by IsA to check the class type id.

◆ IsA() [1/2]

virtual bool albaObject::IsA ( const char *  type_name) const
virtual

Check the class name of this instance.

◆ IsA() [2/2]

virtual bool albaObject::IsA ( const albaTypeID type_id) const
virtual

Check the type id of this instance.

◆ NewObjectInstance()

virtual albaObject * albaObject::NewObjectInstance ( ) const
pure virtual

Return a new instance of the same type.

Implemented in albaAttribute, and albaVME.

Referenced by albaAttribute::NewInstance().

◆ GetStaticTypeId()

static const albaTypeID & albaObject::GetStaticTypeId ( )
static

Return TypeId for this type (static function, i.e.

the pointer type)

◆ GetTypeId()

virtual const albaTypeID & albaObject::GetTypeId ( ) const
virtual

Return TypeId for this object instance (the real type)

◆ SafeDownCast()

static albaObject * albaObject::SafeDownCast ( albaObject o)
static

Cast with dynamic type checking.

This is used for casting from (albaObject *)

Referenced by albaAttribute::NewInstance().

◆ Print()

virtual void albaObject::Print ( std::ostream &  os,
const int  indent = 0 
) const
virtual

Member Data Documentation

◆ m_HeapFlag

bool albaObject::m_HeapFlag
protected

Internally used to mark objects created on the Heap with New()

Definition at line 90 of file albaObject.h.


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