idioskopos (Greek: idio- inward, within, private; -skopos look, aim, target) is a C++ library that simplifies the addition of object reflection and introspection to C++ classes. It provides classes for implementing properties (internal storage), reference properties (a property interface to an externally stored value under your control), and virtual properties (a property interface created from get and set methods you supply). The approach taken is intrusive. One advantage is that special preprocessors are not necessary, either for your own code or for those that use your code. A disadvantage of an intrusive approach is just that; it's intrusive, meaning you must explicitly state what class members are properties and instantiate them in your constructors.
Release Notes: This release features improved documentation, a few new features, and a little code cleanup. The constructors of introspectable objects and properties now have an optional slot that, if provided, will automatically connect to the changed signal. Because of this change, the ordering of the construction parameters has changed from a container-name-value sequence to name-value-container.
Release Notes: This release replaces the Object::iterator that was based on the std::set iterator with a custom iterator that can be used with Introspectable and its descendants, as well as vector and array properties. Several unused virtual methods have also been removed to simplify the interfaces.
Release Notes: This release fixes a bug where WriteOnlyPropertyBase had an overloaded method conflict that prevented compilation on i386.
Release Notes: This release adds support for registering and dynamically creating introspectable properties that are std::vectors or std::tr1::arrays (or boost::arrays). Some of the convenience macros have been cleaned up and extended in functionality.
Release Notes: This release contains a few improvements and a few changes. The Introspectable class now provides two signals that provide notifications when properties are added to and removed from the class.