Projects / idioskopos


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.


Recent releases

  •  11 Jan 2007 07:36

    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.

    •  15 Dec 2006 18:40

      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.

      •  05 Dec 2006 08:04

        Release Notes: This release fixes a bug where WriteOnlyPropertyBase had an overloaded method conflict that prevented compilation on i386.

        •  01 Dec 2006 18:38

          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.

          •  26 Nov 2006 09:16

            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.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.