The Open Class Library (OCL) aims to support a completely cross platform implementation of a C++ collection of classes, most of which are template based, providing building blocks for implementing software components, applications, etc.
This is currently planned to have the following support:
Configuration:
defines for OS, CPU, Compilers, and portable primitive data types for those compilers not following the standards, such as int32_t.
Data types:
Pair, Triple, Quad, TriState, Point, Size, Rectangle, String, etc.
Extensions to C++:
C# like properties
Formatting:
conversion between integer, decimal and string types.
Input/Output:
Files, disk, devices, etc.
International support:
Language, Country, time and date.
Math:
bit manipulation, unit conversions, etc.
Memory manipulation:
copying, moving of memory or C style strings, including safe implementation.
Compile time type information:
TypeInfo template class, which provides functionality above and beyond numeric_limits and type_info.
Test framework:
Classes to provide input/output testing of class interfaces and functions, including ranges, and sets of values.
User Interface components:
User controls including edits, lists, drop-down lists, radio buttons, check boxes, windows, etc.
Much of this is yet to be implemented, but this is work in progress or a wish list.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Welcome to Features
The Open Class Library (OCL) aims to support a completely cross platform implementation of a C++ collection of classes, most of which are template based, providing building blocks for implementing software components, applications, etc.
This is currently planned to have the following support:
Configuration:
defines for OS, CPU, Compilers, and portable primitive data types for those compilers not following the standards, such as int32_t.
Data types:
Pair, Triple, Quad, TriState, Point, Size, Rectangle, String, etc.
Extensions to C++:
C# like properties
Formatting:
conversion between integer, decimal and string types.
Input/Output:
Files, disk, devices, etc.
International support:
Language, Country, time and date.
Math:
bit manipulation, unit conversions, etc.
Memory manipulation:
copying, moving of memory or C style strings, including safe implementation.
Compile time type information:
TypeInfo template class, which provides functionality above and beyond numeric_limits and type_info.
Test framework:
Classes to provide input/output testing of class interfaces and functions, including ranges, and sets of values.
User Interface components:
User controls including edits, lists, drop-down lists, radio buttons, check boxes, windows, etc.
Much of this is yet to be implemented, but this is work in progress or a wish list.