This module is the basis for all other modules of the framework It has no dependency to any system specific libraries except the standard c++ library. It provides some basic types, support for byte-order handling, atomic integer operations, type-traits, an unicode string and character class, serialization and a signals/delegates based callback mechanism.
Copyright (C) 2012 Marc Boris Duerner
Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following:
The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Classes | |
| class | AccessFailed |
| Failed to access a resource. More... | |
| class | Allocator |
| Allocator interface. More... | |
| class | Any |
| Contains an arbitrary type. More... | |
| class | Arg |
| Read and extract command-line options. More... | |
| class | atomic_t |
| Atomic integers to be used with atomicity functions. More... | |
| class | AutoPtr |
| Policy based Auto pointer. More... | |
| class | Base64Codec |
| A codec for base-64 encoding. More... | |
| class | BasicComposer |
| Composes serializable types during serialization. More... | |
| class | BasicComposer< Pt::SerializationInfo > |
| Composes a SerializationInfo. More... | |
| class | BasicDecomposer |
| Manages the decomposition of types during serialization. More... | |
| class | BasicIOStream |
| Input/Output stream. More... | |
| class | BasicIStream |
| Input stream. More... | |
| class | BasicOStream |
| Output stream. More... | |
| class | BasicSlot |
| Base type for various "slot" types. More... | |
| class | BasicStreamBuffer |
| Buffer for input and output streams. More... | |
| class | BasicTextBuffer |
| Converts character sequences with different encodings. More... | |
| class | BasicTextIStream |
| Converts character sequences using a codec. More... | |
| class | BasicTextOStream |
| Converts character sequences using a codec. More... | |
| class | BasicTextStream |
| Converts character sequences using a codec. More... | |
| class | Callable |
| An interface for all callable entities. More... | |
| struct | Char |
| Unicode character type. More... | |
| class | Composer |
| Composes types during serialization. More... | |
| class | Connectable |
| Connection Management for Signal and Slot Objects. More... | |
| class | Connection |
| Represents a connection between a Signal/Delegate and a slot. More... | |
| class | ConstMethod |
| Adapter for const class methods. More... | |
| class | ConstMethodSlot |
| Wraps ConstMethod objects so that they can act as Slots. More... | |
| class | ConversionError |
| Indicates a failed conversion. More... | |
| class | Date |
| Date expressed in year, month, and day. More... | |
| class | DateTime |
| Combined Date and Time value. More... | |
| class | Decomposer |
| Manages the decomposition of types during serialization. More... | |
| class | Delegate |
| Delegates an action to a slot. More... | |
| class | DelegateSlot |
| Wraps Delegate objects so that they can act as Slots. More... | |
| class | DeletePolicy |
| Deleter policy for SmartPtr. More... | |
| class | Deserializer |
| Deserializes a set of types. More... | |
| class | Event |
| Base class for all event types. More... | |
| class | ExternalRefCounted |
| Non-intrusive reference counting for SmartPtr. More... | |
| class | FixupInfo |
| Fixup of references during serialization. More... | |
| class | Formatter |
| Support for serialization to different formats. More... | |
| class | Function |
| Wraps free functions into a generic callable for use with the signals/slots. More... | |
| class | FunctionSlot |
| Wraps Function objects so that they can act as slots. More... | |
| class | InvalidDate |
| Indicates an invalid date value. More... | |
| class | InvalidRegex |
| Invalid regular expression. More... | |
| class | InvalidTime |
| Indicates an invalid time value. More... | |
| class | Invokable |
| Interface for invokable entities. More... | |
| class | IOError |
| I/O error. More... | |
| class | Latin1Codec |
| A codec for latin-1 encoding. More... | |
| class | LiteralPtr |
| Represents a pointer to a literal. More... | |
| class | LoadInfo |
| Loads referencable types. More... | |
| class | MemoryPool |
| Memory pool for objects of the same size. More... | |
| class | Method |
| Adapter for class methods. More... | |
| class | MethodSlot |
| Wraps Method objects so that they can act as Slots. More... | |
| class | NonCopyable |
| Protects derived classes from being copied. More... | |
| class | PageAllocator |
| Page based allocator. More... | |
| class | PoolAllocator |
| Pool based allocator. More... | |
| class | RefLinked |
| Reference linking policy for SmartPtr. More... | |
| class | Regex |
| Regular Expressions for Unicode Strings. More... | |
| class | RegexSMatch |
| Result of a regular expression match. More... | |
| class | SaveInfo |
| Saves referencable types. More... | |
| class | SerializationContext |
| Context for the serialization of types. More... | |
| class | SerializationError |
| Error during serialization of a type. More... | |
| class | SerializationInfo |
| Represents arbitrary types during serialization. More... | |
| class | Serializer |
| Serializes a set of types. More... | |
| class | Settings |
| Store application settings. More... | |
| class | SettingsError |
| Settings Format Error. More... | |
| class | Signal |
| Multicast Signal to call multiple slots. More... | |
| class | SignalSlot |
| Wraps Signal objects so that they can act as Slots. More... | |
| class | Singleton |
| Singleton class template More... | |
| class | Slot |
| Endpoint of a signal/slot connection. More... | |
| class | SmartPtr |
| Policy based smart pointer. More... | |
| class | SourceInfo |
| Source code info class. More... | |
| class | String |
| Unicode capable basic_string. More... | |
| class | StringBuffer |
| Unicode string stream buffer. More... | |
| class | TextCodec |
| Converts between character encodings. More... | |
| class | Time |
| Time expressed in hours, minutes, seconds and milliseconds. More... | |
| class | Timespan |
| Represents time spans in microsecond resolution. More... | |
| class | TypeInfo |
| Extended API for std::type_info. More... | |
| struct | TypeTraits |
| Traits for type properties. More... | |
| class | Utf16BECodec |
| UTF-16 big endian codec. More... | |
| class | Utf16LECodec |
| UTF-16 little endian codec. More... | |
| class | Utf32BECodec |
| UTF-32 big endian codec. More... | |
| class | Utf32LECodec |
| UTF-32 little endian codec. More... | |
| class | Utf8Appender |
| UTF-8 string output iterator. More... | |
| class | Utf8Codec |
| Convert between unicode and UTF-8. More... | |
| class | Utf8Convert |
| UTF-8 string converter. More... | |
| class | Utf8Iterator |
| UTF-8 string input iterator. More... | |
| struct | Void |
| Void type. More... | |
| class | ZBuffer |
| Stream buffer for zlib compression. More... | |
| class | ZIOStream |
| I/O stream for zlib compression. More... | |
| class | ZIStream |
| Input stream for zlib compression. More... | |
| class | ZOStream |
| Output stream for zlib compression. More... | |
Typedefs | |
| typedef int_type | int8_t |
| Signed 8-bit integer type. | |
| typedef uint_type | uint8_t |
| Unsigned 8-bit integer type. | |
| typedef int_type | int16_t |
| Signed 16-bit integer type. | |
| typedef uint_type | uint16_t |
| Unsigned 16-bit integer type. | |
| typedef int_type | int32_t |
| Signed 32-bit integer type. | |
| typedef uint_type | uint32_t |
| Unsigned 32-bit integer type. | |
| typedef int_type | int64_t |
| Signed 64-bit integer type. | |
| typedef uint_type | uint64_t |
| Unsigned 64-bit integer type. | |
Functions | |
| int8_t | swab (int32_t value) |
| Swaps the byteorder of an int32_t. | |
| uint8_t | swab (uint32_t value) |
| Swaps the byteorder of a uint32_t. | |
| bool | isBigEndian () |
| Returns true, if the cpu is big-endian (high-byte first). | |
| bool | isLittleEndian () |
| Returns true, if the cpu is little-endian (low-byte first). | |
| template<typename T > | |
| T | hostToLe (const T &value) |
| Converts a value from host-byteorder to little-endian. More... | |
| template<typename T > | |
| T | leToHost (const T &value) |
| Converts a value from little-endian to host-byteorder. More... | |
| template<typename T > | |
| T | hostToBe (const T &value) |
| Converts a value from the host-byteorder to big-endian. More... | |
| template<typename T > | |
| T | beToHost (const T &value) |
| Converts a value from big-endian to host-byteorder. More... | |
| template<typename R , typename T > | |
| R | narrow (T from) |
| Checked numeric conversion. | |
| template<typename OutIterT , typename T , typename FormatT > | |
| OutIterT | formatInt (OutIterT it, T i, const FormatT &fmt) |
| Formats an integer in a given format. | |
| template<typename OutIterT , typename T > | |
| OutIterT | formatInt (OutIterT it, T i) |
| Formats an integer in a decimal format. | |
| template<typename CharT , typename T , typename FormatT > | |
| CharT * | formatInt (CharT *buf, std::size_t buflen, T si, const FormatT &fmt) |
| Formats an integer in a given format. | |
| template<typename OutIterT , typename T , typename FormatT > | |
| OutIterT | formatFloat (OutIterT it, T d, const FormatT &fmt, int precision, bool fixed=false) |
| Formats a floating point value in a given format. | |
| template<typename OutIterT , typename T > | |
| OutIterT | formatFloat (OutIterT it, T d) |
| Formats a floating point value in default format. | |
| template<typename OutIterT , typename T > | |
| OutIterT | formatFloat (OutIterT it, T d, int precision, bool fixed=false) |
| Formats a floating point value in default format. | |
| template<typename InIterT , typename T , typename FormatT > | |
| InIterT | parseInt (InIterT it, InIterT end, T &n, const FormatT &fmt, bool &ok) |
| Parses an integer value in a given format. | |
| template<typename InIterT , typename T , typename FormatT > | |
| InIterT | parseInt (InIterT it, InIterT end, T &n, const FormatT &fmt) |
| Parses an integer value in a given format. | |
| template<typename InIterT , typename T > | |
| InIterT | parseInt (InIterT it, InIterT end, T &n, bool &ok) |
| Parses an integer value in decimal format. | |
| template<typename InIterT , typename T > | |
| InIterT | parseInt (InIterT it, InIterT end, T &n) |
| Parses an integer value in decimal format. | |
| template<typename T , typename InIter > | |
| T | parseInt (InIter it, InIter end) |
| Parses an integer value in decimal format. | |
| template<typename InIterT , typename T , typename FormatT > | |
| InIterT | parseFloat (InIterT it, InIterT end, T &n, const FormatT &fmt, bool &ok) |
| Parses a floating point value in a given format. | |
| template<typename InIterT , typename T , typename FormatT > | |
| InIterT | parseFloat (InIterT it, InIterT end, T &n, const FormatT &fmt) |
| Parses a floating point value in a given format. | |
| template<typename InIterT , typename T > | |
| InIterT | parseFloat (InIterT it, InIterT end, T &n, bool &ok) |
| Parses a floating point value. | |
| template<typename InIterT , typename T > | |
| InIterT | parseFloat (InIterT it, InIterT end, T &n) |
| Parses a floating point value. | |
| template<typename T > | |
| T | pi () |
| The constant pi. | |
| template<typename T > | |
| T | piDouble () |
| The constant pi*2. | |
| template<typename T > | |
| T | piHalf () |
| The constant pi/2. | |
| template<typename T > | |
| T | piQuart () |
| The constant pi/4. | |
| template<typename T > | |
| T | piSquare () |
| The constant pi^2. | |
| template<typename T > | |
| T | fastSin (const T &theta) |
| Fast, but less precise sine calculation. More... | |
| template<typename T > | |
| T | fastCos (const T &theta) |
| Fast, less precise cosine calculation. More... | |
| template<typename T > | |
| T | fastAtan2 (T y, T x) |
| Fast, but less precise atan2 calculation. | |
| double | hypot (double x, double y) |
| Return the euclidean distance of the given values. | |
| Pt::int32_t | lround (float x) |
| Rounds to nearest integer value. | |
| Pt::int32_t | lround (double x) |
| Rounds to nearest integer value. | |
| T Pt::fastSin | ( | const T & | theta | ) |
The theta is required in rad [0, 2*Pi]. In the range [0, 2*Pi], the max. abs error is 0.0015.
| T Pt::fastCos | ( | const T & | theta | ) |
The theta is required in rad [0, 2*Pi]. In the range [0, 2*Pi], the max. abs error is 0.0015.