with this post I want to present my library. After a long development time, I finally uploaded my C++ container library. I published it on SourceForge under MPL 1.1 license.

Right now, the library has been development by myself. However, it would be nice, if also other developers are interested and wanna join me. Increasing quality, usability, finding bugs, etc.

Feel free to send feedback!!!

Here is the home of the "Property Set Library": http://psl.sourceforge.net

Information and details about the library can be found there. I also copied a short description below.

If you know a better platform for this announcement, please also comment this.

Best Regards!


The Property Set Library (PSL) is a template-based C++ container library providing value observation, event calling, thread-safety, garbage collection, serialization, object persistence, reflection and other accompanying features.


The Property Set Library (PSL) is a template-based C++ container library, and its available data containers are called properties. The different types of properties can store simple values, pointers, whole objects, multiple elements and even functions.

By using properties, data models and classes can be defined and implemented more easily, while properties themselves integrate a huge variety of features. The following list applies to all kind of properties the PSL provides.

- Reflection

* Addressing Data or Functions by Name
* Enumeration of Data or Functions
* Serialization of Objects (Object Persistence)

- Value Observation

* Initial Values of Properties
* Automatic Checking of Value Limits
* Automatic Checking of Size Limits
* String Serialization of Primitive Types

- Attributes / Annotations

* Naming of Properties
* User-Definable Information (non-changeable)
* User-Definable Information (changeable)

- Event System

* Observing Changes
* Observing Function Calls
* Triggering of Multiple Event Handlers

- Thread-Safety

* Automatic and Manual Guarding
* Thread-Safety Checks

- Garbage Collection

- Syntactic Sugar

At a glance, the PSL assist in programming with the following programming paradigms.

- Aspect-oriented programming
- Attribute-oriented programming
- Event-driven programming
- Reflective programming