Useful classes
Product infos

Download & Test

Strings

The comfortable string class of Generic++ optimizes performance and memory usage by using a "copy on demand" strategy. A symbol class can be used, if lookup time is critical. Morever strings with 16- or 32-bit characters are supported.

Singleton Pattern

Singleton creation can be controlled dynamically over environment variables. Therefore several alternative singleton implementations are supported within one executable. Generic++ differentiates singletons not by using the class name, but by using a user defined name. This is a useful extension of the well known pattern, which allows you to have more than one instance of a singleton provided that thos instances have distinct names. This helps you in cases, where several singletons have the same functionality and therefore can be implemented with a single class (e.g. global lookup tables).

Regular Expressions

With regular expressions you can very efficienty search for given patterns in strings. Generic++ provides 2 alternative implementations: one highly efficient version, which is based on deterministic finite automatons. The other implementation is based on slower non-deterministic finite automatons, but supports the extraction of sub-patterns from an identified pattern.

Date and time

The classes for date and time let you specify moments in time between 50.000 B.C. and 50.000 A.C. with a precision of one second. Both the Gregorian and the Julian caendar are supported.

BCD Arithmetik

A class for BCD numbers (Binary Coded Decimal) supports precise decimal arithmetics for all applications, that cannot tolerate rounding errors. A precision of 18 digits is guaranteed for a range between 10E-63 and 10E+63. This makes it possible to calculate the sum of the deficits of all countries on this planets with a precision of one cent. (Even if those deficits continue to grow, which is commonly expected)

Dynamic arrays

Generic++ contains a very comfortable and powerful class for dynamic arrays. Due to the optimized implemenation you do not have to pay any performance penalty, if you use them instead of built-in arrays.

Feature overview: back to product infos