11 | | Namespaces:: |
12 | | Contains functions, variables, type, and other namespaces. |
13 | | * Name |
14 | | * Members |
15 | | Types:: |
16 | | Includes classes, and enumerations. Each has their own set of sub-items to describe them further. |
17 | | * Name |
18 | | * Members |
19 | | Functions:: |
20 | | This includes both method function and regular functions (global and class static). |
21 | | * Name |
22 | | * Return value(s) |
| 11 | Namespaces:: |
| 12 | Contains functions, variables, type, and other namespaces. |
| 13 | * Name |
| 14 | * Members |
| 15 | Types:: |
| 16 | Includes classes, and enumerations. Each has their own set of sub-items to describe them further. Among the set of members for a type there are special functions that implement the various type specific aspect not just member functions for classes. |
| 17 | * Name |
| 18 | * Members (functions and variables) |
| 19 | Functions:: |
| 20 | This includes both method function and regular functions (global and class static). |
| 21 | * Name |
| 22 | * Return value(s) |
| 23 | * Type |
| 24 | * Policies |
| 25 | * Arguments |
| 26 | * Type |
| 27 | * Policies |
| 28 | * Function |
| 29 | Variables:: |
| 30 | Variables covers both variables, as in the read-write sense, and other constant values such as enumeration values. |
| 31 | * Name |
36 | | == Calling interface functions == |
37 | | * call_function |
38 | | * make_object |
39 | | * get_variable |
40 | | * set_variable |
| 38 | Each meta-object binding needs the capability to create interface descriptions for a particular language. Such creation in effect "implements" the binding for a specific language. It is possible for this to be either a runtime and compile time process, or a runtime only process. But how dynamic the creation is depends on the capabilities of the binding language. Simply put a language needs to: |
| 39 | |
| 40 | * Walk through the meta-object descriptions and for each: |
| 41 | * Create a binding instance. |
| 42 | * Set the implementation functions for the binding. |
| 43 | * Set a language context. |
| 44 | * Register the binding for others to use. |