Foundation Classes serving the base of all other OCCT classes.
Foundation Classes module contains data structures and services used by higher-level Open CASCADE Technology classes:
- Primitive types, such as Boolean, Character, Integer or Real;
- String classes that handle ASCII and Unicode strings;
- Collection classes that handle statically or dynamically sized aggregates of data, such as arrays, lists, queues, sets and hash tables (data maps).
- Classes providing commonly used Numerical Algorithms and basic linear algebra calculations (addition, multiplication, transposition of vectors and matrices, solving linear systems etc).
- Fundamental types representing physical Quantities and supporting date and time information;
- Primitive Geometry Types providing implementation of basic geometric and algebraic entities that define and manipulate elementary data structures.
- Exception classes that describe situations, when the normal execution of program is abandoned;
This module also provides a variety of general-purpose services, such as:
- Safe handling of dynamically created objects, ensuring automatic deletion of unreferenced objects (smart pointers);
- Configurable optimized memory manager increasing the performance of applications that intensively use dynamically created objects;
- Extended run-time type information (RTTI) mechanism maintaining a full type hierarchy and providing means to iterate over it;
- Encapsulation of C++ streams;
- Automated management of heap memory by means of specific allocators;
- Basic interpreter of expressions facilitating the creation of customized scripting tools, generic definition of expressions, etc.;
- Tools for dealing with configuration resource files and customizable message files facilitating multi-language support in applications;
- Progress indication and user break interfaces, giving a possibility even for low-level algorithms to communicate with the user in a universal and convenient way;
- and many others...
Please, see the details in Foundation Classes User's Guide.
See also: E-learning & Training.