Menu

Core Layer

Sreekant Sreedharan

Core Layer

Function

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.

Design Principles

  • Facilitate writing code independent of platforms: operating system, databases, devices etc.
  • Provide the ability to access platform dependent implementation if necessary.
  • Provide a set of utilities and data structures that may not already be provided by the C++ standard libraries.

Modules

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.

Class Catalog

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

Samples for key components in this layer are organized in the samples/core directory of the source code.


Related

Wiki: COM Layer
Wiki: Layers
Wiki: System Layer

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.