Types and Macros used in connection of smart pointer and garbage collection.
Please refer also to Language.
Compounds | |
class | ExtObjectPtr |
Wrapper to external class pointer. More... | |
class | ExtObjectSharedRef |
RefHolder type (R-type) for external (foreign) pointer. More... | |
class | ExtObjectVal |
Wrapper to external classes. More... | |
class | InterfaceHolder |
InterfaceHolder is the base template class to hold references to Interfaces. More... | |
class | LockedProxy |
A Proxy for synchronized access to acdk::lang::Object. More... | |
class | ObjectArrayImpl |
template implementation of acdk::lang::Object Arrays This will be used via the ACDK_DECL_CLASS() macro. More... | |
class | RBasicArray |
Smart Pointer wrapper for BasicArray<T>. More... | |
class | RefHolder |
RefHolder is the base template class to hold references. More... | |
class | RObjectArrayImpl |
reference holder for an array More... | |
class | RString |
specialization of RefClass1Interface<String, acdk::lang::Object, RComparable> to enable String related operators API: Java More... | |
class | StaticObjectWrapper |
In case an Object has to be defined statically, this class helps to manage initialization and deinitialion order. More... | |
class | StaticObjectWrapper1 |
class | StaticObjectWrapper2 |
class | ThrowableHolder |
ThrowableHolder is the base template class to hold references to Throwables. More... | |
Defines | |
#define | ACDK_DECL_EXT_CLASS_PTR(ClassName) |
Wrapp a non-ACDK pointer as a ACDK compible class. | |
#define | ACDK_DECL_EXT_CLASS_VAL(ClassName) |
Wrapp a non-ACDK value as a ACDK compible class. | |
#define | ACDK_DECL_CLASS(ClassName) |
Macro to declare a ACDK class It defines following types: - ClassName - RClassName - ClassNameArray - RClassNameArray. | |
#define | ACDK_DECL_INTERFACE(InterfaceName) |
Macro to declare a ACDK interface It defines following types: - ClassName - RClassName - ClassNameArray - RClassNameArray. | |
#define | ACDK_DECL_THROWABLE(ClassName, SuperName) |
Macro to declare a ACDK exception type. | |
#define | ACDK_DECL_THROWABLE_FQ(ClassName, sns, SuperName) |
Macro to declare a ACDK exception type. | |
#define | ACDK_DECL_CLASS_ARRAY(ClassName) |
Macro to declare a ACDK class Array. | |
#define | USING_CLASS(Namespace, ClassName) |
used to import the given ACDK-Class into current namespace imports following type names: - ClassName - RClassName - ClassNameArray - RClassNameArray | |
#define | SR(Type, obj) asStackRef<R##Type, Type>(obj) |
SR(Type, object) is just a more brief macro for the template: template <class RT, class T> RT asStackRef(const T& obj). | |
#define | SR_FQ(ns, Type, obj) asStackRef<ns R##Type, ns Type>(obj) |
fully qualified version of macro SR(Type, obj) | |
#define | ACDK_STATIC_INSTANCE0(Type, name) static ::acdk::lang::sys::StaticObjectWrapper<Type, R##Type> name |
use this macro in method to declare a static method. | |
#define | ACDK_STATIC_INSTANCE1(Type, ArgType1, arg1, name) static ::acdk::lang::sys::StaticObjectWrapper1<Type, R##Type, ArgType1> name(arg1) |
use this macro in method to declare a static method. | |
#define | ACDK_STATIC_INSTANCE2(Type, ArgType1, arg1, ArgType2, arg2, name) static ::acdk::lang::sys::StaticObjectWrapper2<Type, R##Type, ArgType1, ArgType2> name(arg1, arg2) |
use this macro in method to declare a static method. | |
Functions | |
template<class RT, class T> RT | asStackRef (const T &obj) |
Convert acdk::lang::Object allocated on Stack or static into a RefHolder. |
|
Value: class ClassName; \ typedef ::RefHolder<ClassName> R##ClassName; \ typedef ::ObjectArrayImpl<R##ClassName> ClassName##Array; \ typedef ::RObjectArrayImpl<R##ClassName> R##ClassName##Array
|
|
Value: typedef ::ObjectArrayImpl<R##ClassName> ClassName##Array; \ typedef ::RObjectArrayImpl<R##ClassName> R##ClassName##Array This is usefull to declare Arrays from Arrays It defines following types:
|
|
Value: class ClassName; \ typedef ::ExtObjectPtr<ClassName> ClassName##ObjectPtr; \ typedef ::ExtObjectSharedRef<ClassName##ObjectPtr> R##ClassName##ObjectPtr; \ typedef ::ObjectArrayImpl<R##ClassName##ObjectPtr> ClassName##ObjectPtr##Array; \ typedef ::RObjectArrayImpl<ClassName##ObjectPtr##Array> R##ClassName##ObjectPtr##Array
|
|
Value: class ClassName; \ typedef ::ExtObjectVal<ClassName> ClassName##acdk::lang::Object; \ typedef ::RefHolder<ClassName##acdk::lang::Object> R##ClassName##acdk::lang::Object; \ typedef ::ObjectArrayImpl<R##ClassName##acdk::lang::Object> ClassName##acdk::lang::Object##Array; \ typedef ::RObjectArrayImpl<R##ClassName##acdk::lang::Object> R##ClassName##acdk::lang::Object##Array
|
|
Value: class InterfaceName; \ typedef ::InterfaceHolder<InterfaceName> R##InterfaceName; \ typedef ::ObjectArrayImpl<R##InterfaceName> InterfaceName##Array; \ typedef ::RObjectArrayImpl<R##InterfaceName> R##InterfaceName##Array
|
|
Value: class ClassName; \ typedef ::ThrowableHolder<ClassName, R##SuperName> R##ClassName; \ typedef ::ObjectArrayImpl<R##ClassName> ClassName##Array; \ typedef ::RObjectArrayImpl<R##ClassName> R##ClassName##Array
|
|
Value: class ClassName; \ typedef ::ThrowableHolder<ClassName, sns R##SuperName> R##ClassName; \ typedef ::ObjectArrayImpl<R##ClassName> ClassName##Array; \ typedef ::RObjectArrayImpl<R##ClassName> R##ClassName##Array
|
|
use this macro in method to declare a static method. See usage in acdk/util/logging/LogManager.cpp
|
|
use this macro in method to declare a static method. See usage in acdk/util/logging/LogManager.cpp
|
|
use this macro in method to declare a static method. See usage in acdk/util/logging/LogManager.cpp
|
|
SR(Type, object) is just a more brief macro for the template: template <class RT, class T> RT asStackRef(const T& obj).
|
|
fully qualified version of macro SR(Type, obj)
|
|
Value: using Namespace ClassName;\ using Namespace R##ClassName; \ using Namespace ClassName##Array; \ using Namespace R##ClassName##Array
|
|
Convert acdk::lang::Object allocated on Stack or static into a RefHolder. Prevents from deleting, if Reference count is 0 |