Lolly 1.4.28
|
Go to the source code of this file.
Classes | |
struct | concrete_struct |
Structure representing a concrete object with a reference count. More... | |
struct | abstract_struct |
Structure representing an abstract object with a reference count. More... | |
Macros | |
#define | TM_DEBUG(x) |
Debugging macro used to disable debugging output. | |
#define | INC_COUNT(R) { (R)->ref_count++; } |
Macro used to increment the reference count for a structure object. | |
#define | DEC_COUNT(R) |
Macro used to decrement the reference count for a structure object and delete it if the count reaches 0. | |
#define | INC_COUNT_NULL(R) |
Macro used to increment the reference count for a structure object, only if the object is not NULL. | |
#define | DEC_COUNT_NULL(R) |
Macro used to decrement the reference count for a structure object and delete it if the count reaches 0, only if the object is not NULL. | |
#define | CONCRETE(PTR) |
Macro used to define a concrete smart pointer with reference counting. | |
#define | CONCRETE_CODE(PTR) |
Macro used to define the implementation of a concrete smart pointer. | |
#define | CONCRETE_TEMPLATE(PTR, T) |
Macro used to define a concrete smart pointer with reference counting for a single template parameter. | |
#define | CONCRETE_TEMPLATE_CODE(PTR, TT, T) |
Macro used to define the implementation of a concrete smart pointer with reference counting for a single template parameter. | |
#define | CONCRETE_TEMPLATE_2(PTR, T1, T2) |
Macro used to define a concrete smart pointer with reference counting for two template parameters. | |
#define | CONCRETE_TEMPLATE_2_CODE(PTR, TT1, T1, TT2, T2) |
Macro used to define the implementation of a concrete smart pointer with reference counting for two template parameters. | |
#define | ABSTRACT(PTR) |
Macro to define an abstract pointer type. | |
#define | ABSTRACT_CODE(PTR) |
Macro to define an abstract pointer type with code. | |
#define | ABSTRACT_TEMPLATE(PTR, T) |
Macro to define a templated abstract pointer type. | |
#define | ABSTRACT_TEMPLATE_CODE(PTR, TT, T) |
Macro to define a templated abstract pointer type with code. | |
#define | CONCRETE_NULL(PTR) |
Macro to define a concrete null pointer type. | |
#define | CONCRETE_NULL_CODE(PTR) |
Code for the concrete null pointer type. | |
#define | CONCRETE_NULL_TEMPLATE(PTR, T) |
Macro to define a templated concrete null pointer type. | |
#define | CONCRETE_NULL_TEMPLATE_CODE(PTR, TT, T) |
Code for the templated concrete null pointer type. | |
#define | CONCRETE_NULL_TEMPLATE_2(PTR, T1, T2) |
Macro for concrete null indirect structure two-template-parameter definition. | |
#define | CONCRETE_NULL_TEMPLATE_2_CODE(PTR, TT1, T1, TT2, T2) |
Macro for concrete null indirect structure two-template-parameter code definition. | |
#define | ABSTRACT_NULL(PTR) |
Macro for abstract null indirect structure definition. | |
#define | ABSTRACT_NULL_CODE(PTR) |
Macro for abstract null indirect structure code definition. | |
#define | ABSTRACT_NULL_TEMPLATE(PTR, T) |
Macro for abstract null indirect structure template definition. | |
#define | ABSTRACT_NULL_TEMPLATE_CODE(PTR, TT, T) |
Macro for abstract null indirect structure template code definition. | |
#define | ABSTRACT_NULL_TEMPLATE_2(PTR, T1, T2) |
Macro for abstract null indirect structure two-template-parameter definition. | |
#define | ABSTRACT_NULL_TEMPLATE_2_CODE(PTR, TT1, T1, TT2, T2) |
Macro for abstract null indirect structure two-template-parameter code definition. | |
#define | EXTEND(BASE, PTR) |
Macro for extension of a base indirect structure with an abstract indirect structure. | |
#define | EXTEND_CODE(BASE, PTR) |
Macro for extension of a base indirect structure with an abstract indirect structure code implementation. | |
#define | EXTEND_NULL(BASE, PTR) |
Macro for extension of a base indirect structure with a concrete null indirect structure. | |
#define | EXTEND_NULL_CODE(BASE, PTR) |
Macro for extension of a base indirect structure with a concrete null indirect structure code implementation. | |
#define | EXTEND_NULL_TEMPLATE(BASE, PTR, T) |
Macro for extension of a base indirect structure with a concrete null indirect structure with a template parameter. | |
#define | EXTEND_NULL_TEMPLATE_CODE(BASE, PTR, TT, T) |
Macro for extension of a base indirect structure with a concrete null indirect structure with a template parameter code implementation. | |
Variables | |
int | concrete_count |
Global variable holding the number of concrete structures currently active. | |
int | abstract_count |
Global variable holding the number of abstract structures currently active. | |
defines concrete and abstract base structures.
Definition in file classdef.hpp.
#define TM_DEBUG | ( | x | ) |
Debugging macro used to disable debugging output.
Definition at line 13 of file classdef.hpp.
Macro used to increment the reference count for a structure object.
R | The structure object to increment the reference count for. |
Definition at line 74 of file classdef.hpp.
Macro used to decrement the reference count for a structure object and delete it if the count reaches 0.
R | The structure object to decrement the reference count for and delete if necessary. |
Definition at line 84 of file classdef.hpp.
Macro used to increment the reference count for a structure object, only if the object is not NULL.
R | The structure object to increment the reference count for. |
Definition at line 98 of file classdef.hpp.
Macro used to decrement the reference count for a structure object and delete it if the count reaches 0, only if the object is not NULL.
R | The structure object to decrement the reference count for and delete if necessary. |
Definition at line 112 of file classdef.hpp.
Macro used to define a concrete smart pointer with reference counting.
The PTR parameter should be a valid identifier that will be used as the name of the smart pointer type.
The macro defines the following:
PTR | The name of the concrete smart pointer type to be defined. |
Definition at line 137 of file classdef.hpp.
Macro used to define the implementation of a concrete smart pointer.
This macro defines the following:
PTR | The name of the concrete smart pointer type to be defined. |
Definition at line 159 of file classdef.hpp.
Macro used to define a concrete smart pointer with reference counting for a single template parameter.
The PTR parameter should be a valid identifier that will be used as the name of the smart pointer type. The T parameter should be a valid template parameter that will be used as the type of the managed object.
The macro defines the following:
PTR | The name of the concrete smart pointer type to be defined. |
T | The type of the managed object. |
Definition at line 190 of file classdef.hpp.
Macro used to define the implementation of a concrete smart pointer with reference counting for a single template parameter.
This macro defines the following:
PTR | The name of the concrete smart pointer type to be defined. |
TT | The template parameter type. |
T | The type of the managed object. |
Definition at line 215 of file classdef.hpp.
Macro used to define a concrete smart pointer with reference counting for two template parameters.
The PTR parameter should be a valid identifier that will be used as the name of the smart pointer type. The T1 and T2 parameters should be valid template parameters that will be used as the types of the managed objects.
The macro defines the following:
PTR | The name of the concrete smart pointer type to be defined. |
T1 | The first type of the managed object. |
T2 | The second type of the managed object. |
Definition at line 251 of file classdef.hpp.
Macro used to define the implementation of a concrete smart pointer with reference counting for two template parameters.
This macro defines the following:
PTR | The name of the concrete smart pointer type to be defined. |
TT1 | The first template parameter type. |
T1 | The first type of the managed object. |
TT2 | The second template parameter type. |
T2 | The second type of the managed object. |
Definition at line 278 of file classdef.hpp.
Macro to define an abstract pointer type.
PTR | The name of the abstract pointer type to define. |
Definition at line 306 of file classdef.hpp.
Macro to define an abstract pointer type with code.
PTR | The name of the abstract pointer type to define. |
Definition at line 315 of file classdef.hpp.
Macro to define a templated abstract pointer type.
PTR | The name of the abstract pointer type to define. |
T | The template parameter of the abstract pointer type. |
Definition at line 325 of file classdef.hpp.
Macro to define a templated abstract pointer type with code.
PTR | The name of the abstract pointer type to define. |
TT | The template parameter type of the concrete implementation. |
T | The template parameter of the abstract pointer type. |
Definition at line 336 of file classdef.hpp.
Macro to define a concrete null pointer type.
PTR | The name of the concrete null pointer type to define. |
Definition at line 354 of file classdef.hpp.
Code for the concrete null pointer type.
PTR | The name of the concrete null pointer type. |
Definition at line 364 of file classdef.hpp.
Macro to define a templated concrete null pointer type.
PTR | The name of the templated concrete null pointer type to define. |
T | The template parameter type of the concrete null pointer type. |
Definition at line 383 of file classdef.hpp.
Code for the templated concrete null pointer type.
PTR | The name of the templated concrete null pointer type. |
TT | The template parameter type of the concrete implementation. |
T | The template parameter of the concrete null pointer type. |
Definition at line 395 of file classdef.hpp.
Macro for concrete null indirect structure two-template-parameter definition.
PTR | Pointer type of the concrete null indirect structure. |
T1 | First template parameter of the concrete null indirect structure. |
T2 | Second template parameter of the concrete null indirect structure. |
Definition at line 419 of file classdef.hpp.
Macro for concrete null indirect structure two-template-parameter code definition.
PTR | Pointer type of the concrete null indirect structure. |
TT1 | Template type of the first template parameter of the concrete null indirect structure. |
T1 | First template parameter of the concrete null indirect structure. |
TT2 | Template type of the second template parameter of the concrete null indirect structure. |
T2 | Second template parameter of the concrete null indirect structure. |
Definition at line 435 of file classdef.hpp.
Macro for abstract null indirect structure definition.
PTR | Pointer type of the abstract null indirect structure. |
Definition at line 466 of file classdef.hpp.
Macro for abstract null indirect structure code definition.
PTR | Pointer type of the abstract null indirect structure. |
Definition at line 474 of file classdef.hpp.
Macro for abstract null indirect structure template definition.
PTR | Pointer type of the abstract null indirect structure. |
T | Template parameter of the abstract null indirect structure. |
Definition at line 483 of file classdef.hpp.
Macro for abstract null indirect structure template code definition.
PTR | Pointer type of the abstract null indirect structure. |
TT | Template type of the abstract null indirect structure. |
T | Template parameter of the abstract null indirect structure. |
Definition at line 493 of file classdef.hpp.
Macro for abstract null indirect structure two-template-parameter definition.
PTR | Pointer type of the abstract null indirect structure. |
T1 | First template parameter of the abstract null indirect structure. |
T2 | Second template parameter of the abstract null indirect structure. |
Definition at line 506 of file classdef.hpp.
Macro for abstract null indirect structure two-template-parameter code definition.
PTR | Pointer type of the abstract null indirect structure. |
TT1 | Template type of the first template parameter of the abstract null indirect structure. |
T1 | First template parameter of the abstract null indirect structure. |
TT2 | Template type of the second template parameter of the abstract null indirect structure. |
T2 | Second template parameter of the abstract null indirect structure. |
Definition at line 521 of file classdef.hpp.
Macro for extension of a base indirect structure with an abstract indirect structure.
BASE | Base indirect structure. |
PTR | Abstract indirect structure. |
Definition at line 540 of file classdef.hpp.
Macro for extension of a base indirect structure with an abstract indirect structure code implementation.
BASE | Base indirect structure. |
PTR | Abstract indirect structure. |
Definition at line 552 of file classdef.hpp.
Macro for extension of a base indirect structure with a concrete null indirect structure.
BASE | Base indirect structure. |
PTR | Concrete null indirect structure. |
Definition at line 569 of file classdef.hpp.
Macro for extension of a base indirect structure with a concrete null indirect structure code implementation.
BASE | Base indirect structure. |
PTR | Concrete null indirect structure. |
Definition at line 581 of file classdef.hpp.
Macro for extension of a base indirect structure with a concrete null indirect structure with a template parameter.
BASE | Base indirect structure. |
PTR | Concrete null indirect structure. |
T | Template parameter of the concrete null indirect structure. |
Definition at line 596 of file classdef.hpp.
Macro for extension of a base indirect structure with a concrete null indirect structure with a template parameter code implementation.
BASE | Base indirect structure. |
PTR | Concrete null indirect structure. |
TT | Template type of the concrete null indirect structure. |
T | Template parameter of the concrete null indirect structure. |
Definition at line 610 of file classdef.hpp.
|
extern |
Global variable holding the number of concrete structures currently active.
|
extern |
Global variable holding the number of abstract structures currently active.