2005/5/9

     
 

acdkmacros

artefaktur
Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   Namespace Members   Compound Members   Related Pages  

Common Macros


Detailed Description

A list of macros commonly used in ACDK code.

Please refer also to  Language.


Defines

#define THROWS1(ex)   throw(ex, ::acdk::lang::RThrowable)
 Used to add throwing declarations to methods for example:
    void foo() THROW1(RMyException)
with will be expanded to
      void foo() throw(RMyException, ::acdk::lang::RThrowable)
On some platform this macro expands to nothing (due buggy C++ implementation.

#define THROWS2(ex1, ex2)   throw(ex1, ex2, ::acdk::lang::RThrowable)
#define THROWS3(ex1, ex2, ex3)   throw(ex1, ex2, ex3, ::acdk::lang::RThrowable)
#define THROWS4(ex1, ex2, ex3, ex4)   throw(ex1, ex2, ex3, ex4, ::acdk::lang::RThrowable)
#define ACDK_STD_CPP_CONVERTERS
 If defined ACDK provides some interface functions to Standard C++ library.

#define ACDK_DEBUG
 enables debugging information

#define ACDK_SAFE_CONSTRUCTOR()   ::acdk::lang::SaveConstructor __safe_constructor(this)
 Use ACDK_SAFE_CONSTRUCTOR(), if you cast 'this' to a reference (like acdk::lang::Object) in a constructor:
  AClass::AClass()
  {
    ACDK_SAFE_CONSTRUCTOR();
    init(this); 
  }
.

#define ACDK_SAFE_DESTRUCTOR()   lockMem(true)
 Use ACDK_SAFE_DESTRUCTOR, if you use 'this' if you cast 'this' to a reference (like acdk::lang::Object) in a destructor.

#define ACDK_DECL_ARRAY(ClassName)   ACDK_DECL_CLASS_ARRAY(ClassName)
 alias to ACDK_DECL_CLASS_ARRAY

#define ACDK_DEF_ENUM(EnumName)
 use to define meta info for enumerations which are declared and used inside a executable or static library

#define ACDK_DEF_LIB_ENUM(export, EnumName)
 use to define meta info for enumerations which are declared and used inside shared library


Define Documentation

#define ACDK_DEBUG
 

enables debugging information

#define ACDK_DECL_ARRAY ClassName   )     ACDK_DECL_CLASS_ARRAY(ClassName)
 

alias to ACDK_DECL_CLASS_ARRAY

#define ACDK_DEF_ENUM EnumName   ) 
 

Value:

class EnumName##MetaInf \
{ \
public: \
  static ::acdk::lang::dmi::ClazzEnumInfo* GetEnumInfo(); \
}
use to define meta info for enumerations which are declared and used inside a executable or static library

#define ACDK_DEF_LIB_ENUM export,
EnumName   ) 
 

Value:

class export EnumName##MetaInf \
{ \
public: \
  static ::acdk::lang::dmi::ClazzEnumInfo* GetEnumInfo(); \
}
use to define meta info for enumerations which are declared and used inside shared library

 
#define ACDK_SAFE_CONSTRUCTOR  )     ::acdk::lang::SaveConstructor __safe_constructor(this)
 

Use ACDK_SAFE_CONSTRUCTOR(), if you cast 'this' to a reference (like acdk::lang::Object) in a constructor:

  AClass::AClass()
  {
    ACDK_SAFE_CONSTRUCTOR();
    init(this); 
  }
.

 
#define ACDK_SAFE_DESTRUCTOR  )     lockMem(true)
 

Use ACDK_SAFE_DESTRUCTOR, if you use 'this' if you cast 'this' to a reference (like acdk::lang::Object) in a destructor.

  AClass::~AClass()
  {
    ACDK_SAFE_DESTRUCTOR();
    deinit(this); 
  }

#define ACDK_STD_CPP_CONVERTERS
 

If defined ACDK provides some interface functions to Standard C++ library.

Note:
currently not implemented

#define THROWS1 ex   )     throw(ex, ::acdk::lang::RThrowable)
 

Used to add throwing declarations to methods for example:

    void foo() THROW1(RMyException)
with will be expanded to
      void foo() throw(RMyException, ::acdk::lang::RThrowable)
On some platform this macro expands to nothing (due buggy C++ implementation.

#define THROWS2 ex1,
ex2   )     throw(ex1, ex2, ::acdk::lang::RThrowable)
 

See also:
THROWS1

#define THROWS3 ex1,
ex2,
ex3   )     throw(ex1, ex2, ex3, ::acdk::lang::RThrowable)
 

See also:
THROWS1

#define THROWS4 ex1,
ex2,
ex3,
ex4   )     throw(ex1, ex2, ex3, ex4, ::acdk::lang::RThrowable)
 

See also:
THROWS1