Object: Autocompletion and building the global (local) database. Author of this document: Serge Lussier <lusse@videotron.ca> Database:
KEYS TREE: Notes: [Detals below:] -> opens subkey description. Subsequent reference implies the same subchild key description,
unless the KEY name is descibed at its context.
All keys have their immediate above PARENT KEY.
{KEY}-{KEY}... or {KEY}... -> indicates that this key is a list at its level.
{NAMESPACES}...
| ...{GLOBALS} : -> Setup the global storage space objects instance which as the {FILE} key attributes.
| -> This KEY is described At the end, at the proper level
|-{FILE}-{FILE}...
| |-{CLASS/STRUCT }-{CLASS/STRUCT }... [Details below:]
| | |-{STORAGE}
| | |-{PUBLIC}
| | | |-{CLASS/STRUCT}...
| | | |-{VARS} [ Details below: ]
| | | | |-{STATIC}
| | | | | |-{DATA: (TYPEDEF, VARTYPE, VARNAME)}-{DATA}...
| | | | |-{DATA}-{DATA}...
| | | |-{FUNCTIONS} [Details below:]
| | | | |-{VIRTUAL}
| | | | | |-{DATA: RETURNTYPE, FUNCTIONNAME, PARAMLIST...}...
| | | | | | |-{PARAMLIST}
| | | | | | | |-{VARS}...
| | | | |-{DATA: RETURNTYPE, FUNCTIONNAME, PARAMLIST...}...
| | | |-{SLOTS} [Details below:]
| | | | |-{FUNCTIONS}... Note: must be void return type
| | | |-{SIGNALS}
| | | | |-{FUNCTIONS}... Note: must be void return type AND no instances.
| | |-{PROTECTED}
| | | |-{CLASS/STRUCT}
| | | |-{VARS}
| | | |-{FUNCTIONS}
| | | |-{SLOTS}
| | | |-{SIGNALS}
| | |-{PRIVATE}
| | |-{CLASS/STRUCT}
| | |-{VARS}
| | |-{FUNCTIONS}
| | |-{SLOTS}
| | |-{SIGNALS}
| |-{STORAGEBYFILEMODULE} (.cxx, .hxx, ...)
| | |-{STATIC}
| | | |-{VARS}...
| | | |-{FUNCTIONS}...
| | |-{PREPROCESSOR MACROS}...
| | |-{PRIVATE} (unexported objects storage)
| | | |-{VARS}...
| | | |-{FUNCTIONS}...
| | |-{PUBLIC}
| | |-{VARS}...
| | |-{FUNCTIONS}...
|-{STORAGEBYNAMESPACE}
| |-{VARS}...
| |-{CLASS/STRUCT}...
| |-{FUNCTIONS}...
|-{GLOBALS}
|-{VARS}...
|-{FUNCTIONS}...
|-{CLASS/STRUCT}...
|-{PREPROCESSOR MACROS}...
----------------------------------------------END -----------------------------------
Notes for the {CLASS/STRUCT} KEY:
A reference to the Immediate parent class KEY LIST instance , and the immediate
child class KEY instance must be put into the KEY's data instance.
parent: allow to go up to the base class(es).
child : allow to go down, switch to another branch if any.
It is a very rough database design wich could be better presented. In some key description, there may be a reference to an other key at a different level.
For each FILE/MODULES (.cxx, .hxx, ...) , the include files must be known to be able to retreive stored objects. And ignore the most deep include files.
The database must be made in two distinct parts: The GLOBAL and almost permanent database wich is stored in the local computer. ( I mean: Built from the host's registered include file paths. )
And of course, the local database wich is made at the current project's working directories.
