![]() |
BlitzMax Extended
0.8.18
Pushing Blitz to the Max.
|
The class description used by every object. More...
Go to the source code of this file.
Data Structures | |
struct | BBClass |
Contains critical information and functionality for object instances. More... |
Macros | |
#define | BBCLASS_MAX_INSTANCESIZE |
The maximum size an instance of a class (object) can take up. | |
#define | BBCLASS_MAX_NUM_REGISTERED |
The maximum number of classes that can be registered with the runtime. | |
#define | BBCLASS_NUM_VFNS |
The number of a class' virtual functions table. | |
#define | BBCLASS_ABSTRACT_METHOD |
Declares a virtual function to be an abstract method. | |
#define | BBCLASS_ABSTRACT_FUNCTION |
Declares a virtual function to be an abstract function. |
Functions | |
void | bbClassRegister (const BBClass *clas) |
Registers a class with the runtime. | |
BBClass ** | bbClassAllRegistered (BBInt *count) |
Lists all registered classes. |
The class description used by every object.
Classes contain general information and functionality to work with instances of the respective object. They do not store individual information for every object instance.
Apart from the obvious functionality via virtual functions and information necessary for allocation and such, each BBClass also contains a debug_scope property that holds descriptions used by BlitzMax.
#define BBCLASS_ABSTRACT_FUNCTION |
Declares a virtual function to be an abstract function.
When assigned to a (named) virtual function, each call to that function will result in a new BBNullFunctionException to be thrown.
#define BBCLASS_ABSTRACT_METHOD |
Declares a virtual function to be an abstract method.
When assigned to a (named) virtual function, each call to that function will result in a new BBNullMethodException to be thrown.
#define BBCLASS_MAX_INSTANCESIZE |
The maximum size an instance of a class (object) can take up.
Referenced by bbClassRegister().
#define BBCLASS_MAX_NUM_REGISTERED |
The maximum number of classes that can be registered with the runtime.
Used internally by bbClassRegister
and bb_class_register_multiple
to check against overflow.
Referenced by bbClassRegister().
#define BBCLASS_NUM_VFNS |
The number of a class' virtual functions table.
Lists all registered classes.
count | An pointer to an integer in which the number of registered classes is stored. |
void bbClassRegister | ( | const BBClass * | clas | ) |
Registers a class with the runtime.
Internally the runtime keeps track of all registered classes to use them when necessary, for example reflection.
clas | The class to register |