Design Philosophy

Module Overview

Platinum is highly modular and every module builds to a separate libray. Library modules can depend on other modules and form a hierarchy. The core module is relatively small and the extentions make up for the most part of the library. This allows the programmer to select only the parts of the framework, which are neccessary for an application.

Core Features
Allocators, signals and delegates, dates and times, serialization, text processing, unicode support, regular expressions, smart pointers, settings files, atomics.
System Programming
Event loops, system clocks, file system access, concurrency, asnchronous I/O streams, shared libraries, plugins, logging, pipes, file I/O, serial I/O, timers, multi-processing.
Network Programming
Asynchronous TCP clients and servers, asynchronous UDP clients and servers, support for IP4, IP6 and other address families.
Http Client and Server
An embeddable, asynchronous, multi-threaded HTTP server, An asynchronous HTTP client, authentication and authorization, Access to request and reply headers.
Secure Transport
Asynchronous SSL/TLS I/O streams, management of keys and certificates, native SSL/TLS or OpenSSL based implementation available.
XML Processing
Stream-based, incremental XML parser and writer, XML 1.0/1.1 compliant including support for XML namespaces and DTD validation.
Unit Testing
Data-driven and protocol-driven unit testing is possible, integrates into the build process, Configurable output format for test.
XML-RPC Web Services
Asnychronous XML-RPC web services and clients, embeddable into applications, support for custom data types, using Pt's serialization and HTTP support.