Robust, Lightweight, Cross-platform, Template Software.
The philosophy of STLSoft is very simple: providing robust and lightweight software to the development community. The main STLSoft project, STLSoft itself (located at the site you are viewing now) provides cross-platform, technology/API-neutral classes and functions that stand on their own and are useful as independent libraries. They also support the other sub-projects (COMSTL, UNIXSTL, WinSTL, etc.) which are targeted at specific operating systems, technologies and APIs.
The philosophy of COMSTL is essentially the same as that of the STLSoft organisation: providing robust and lightweight software to the Component Object Model (COM) development community. COMSTL provides template-based software that builds on that provided by COM and STLSoft in order to reduce programmer effort and increase robustness in the use of the COM.
Namespaces
The COMSTL namespace comstl
is actually an alias for the namespace stlsoft::comstl_project
, and as such all the COMSTL project components actually reside within the stlsoft
namespace
Dependencies
As with all parts of the STLSoft libraries, there are no dependencies on COMSTL binary components and no need to compile COMSTL implementation files; COMSTL is 100% header-only!
As with most of the STLSoft sub-projects, COMSTL depends only on
wchar.h
new
, functional
objbase.h
In addition, some parts of the libraries exhibit different behaviour when translated in different contexts, such as with _WIN32_DCOM
defined, or with iaccess.h
include. In all cases the libraries function correctly in whatever context they are compiled.
Modules | |
Assertion Macros | |
These macros are used for debugging / contract-enforcement. | |
Pseudo-keyword Macros | |
These macros are used to handle difference in support of certain keywords between translators. | |
Code Modification Macros | |
These macros are used to help out where compiler differences are so great as to cause great disgusting messes in the class/function implementations. | |
Cast Macros | |
These macros abstract casts, representing the C++ casts in C++ compilation units, and C-casts in C compilation units. | |
Inlining Macros | |
These macros abstract inline. | |
Pointer Manipulation Functions | |
These functions assist in calculations with, and the manipulation of, pointers. | |
cv-Qualifier Functions | |
These functions assist in the manipulation of cv-qualifiers. |