Design Philosophy

Design Philosophy

Modern C++

Platinum makes good use of modern C++ features such as templates, exceptions and inheritance. Generic programming is a great tool to build zero-cost abstractions. Exceptions separate error handling cleanly from normal program flow with comparable or better performance than traditional error handling. Inheritance is just the butter and bread of any serious C++ framework. But it gets really exciting, when all modern C++ features act in combination.

Built using Standards

The C++ standard library is one of the most reliable pieces of software in the C++ world and a great example how both, good design and high performance can be achieved. It is readily available on many platformes and normally heavily optimized by the platform vendor. Pt truly embraces the C++ standard library and benefits greatly from the effort the designers have put into it. I/O is done with real iostreams and there is no need for yet another string class or set of container classes.

Asynchronous Operations

All potentially slow or lengthy operations, like I/O, can be executed asynchronously or non-blocking. This is not limited to low-level I/O classes, but also available for higher-level classes e.g. the XML parser. The XML parser in Pt can consume only the available characters from a stream and then continue and finish later when more data is available. This "asynchronous software stack" allows very good responsiveness without using too many threads.