Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

ref.H File Reference

#include <assert.h>
#include "std/config.H"
#include "std/thread_mutex.H"

Go to the source code of this file.

Compounds

class  REFcounter
class  REFlock
class  REFptr

Defines

#define REF_CLASS(FOO)   FOO; typedef REFptr<FOO> FOO##ptr; class FOO
#define FD_REF_CLASS(FOO)   FOO; typedef REFptr<FOO> FOO##ptr
#define cREFptr   const REFptr
#define REF_ME(A)   ((REFcounter *)A)
#define MAKE_PTR_BASEC(A)
#define MAKE_PTR_SUBC(A, B)


Define Documentation

#define cREFptr   const REFptr
 

#define FD_REF_CLASS FOO       FOO; typedef REFptr<FOO> FOO##ptr
 

#define MAKE_PTR_BASEC  
 

Value:

class A;                              \
class A##subc {                       \
   public :                           \
      virtual A *A##cast() const = 0; \
};                                    \
typedef const class A##ptr c##A##ptr; \
class A##ptr : public REFptr<A>, public A##subc {  \
   public :                                        \
     A##ptr()                                   { }\
     A##ptr(A             *g): REFptr<A>(g)     { }\
     A##ptr(const A##ptr  &p): REFptr<A>(p.p_)  { }\
     A##ptr(const A##subc &p): REFptr<A>(p.A##cast()) { } \
                                                   \
    virtual A *A##cast() const { return p_; } \
}

#define MAKE_PTR_SUBC A,
 
 

Value:

class A; \
class A##subc: public B##subc  {  \
   public :  \
      virtual A *A##cast() const = 0; \
      virtual B *B##cast() const { return (B *)A##cast(); } \
}; \
typedef const class A##ptr c##A##ptr; \
class A##ptr : public REFptr<A>, public A##subc {  \
   public :                                        \
     A##ptr()                                   { }\
     A##ptr(A             *g): REFptr<A>(g)     { }\
     A##ptr(const A##ptr  &p): REFptr<A>(p.p_)  { }\
     A##ptr(const A##subc &p): REFptr<A>(p.A##cast()) { } \
                                                   \
    virtual A *A##cast() const { return p_; } \
}

#define REF_CLASS FOO       FOO; typedef REFptr<FOO> FOO##ptr; class FOO
 

#define REF_ME      ((REFcounter *)A)
 


Generated on Mon Sep 15 16:25:58 2003 for gluebase by doxygen1.2.18