| 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. |