The function of this layer is to provide an abstraction of the underlying operating system. Code in this layer may be platform specific. If it is, the code in the include and src (source) directory is further broken down into up-to three sub-directories: portable, unix and win32.
Generally, if you use a class declared in the portable directory, you are guaranteed that it will compile and have the same behavior regardless of the underlying operating system. The portable code is often an abstraction of corresponding concrete implementations in the unix or win32 directory.
Note that by design, the layer does not mandate the use of portable classes. You can always access the native implementation if you need to, for performance, or to benefit from platform-specific features.
Module | Layer | Description |
---|---|---|
db | core | This library provides native support for the most common database technologies in the industry. |
fileio | core | This library contains abstractions for libraries for interaction with files. |
netio | core | This library contains abstractions for interaction with network libraries. |
os | core | This library contains abstractions for OS specific components like Threads, synchronization objects etc.. |
utils | core | This library contains common utility components shared by all libraries. |
Documentation for individual classes are included in docs.tar.gz file in the root directory. You will need to extract it into the docs directory for your documentation to work. Please read /docs/index.htm for more instructions.
Samples for key components in this layer are organized in the samples/core directory of the source code.