Home
Name Modified Size InfoDownloads / Week
v1.3.1 2017-02-17
v1.3.0 2016-07-26
v1.2.1 2016-05-29
v1.1.0 2016-04-25
v1.0.1 2016-04-11
README.md 2016-04-25 2.0 kB
Totals: 6 Items   2.0 kB 0

Introspective

Introspective is a C++11 framework for runtime object introspection. Similarly to other programming languages such as Java, everything is an object, also classes. More exactly an Introspective class is an instance of the C++ class introspective::Class.

Features:

  • Message passing OO: method triggering is performed through messages (introspective::Message), passed a dispatcher. Entities able to dispatch messages are called receiver (introspective::Message::Receiver). There are basically three types of receivers:
    • class: instances of introspective::Class;
    • object: instance of introspective::Object;
    • proxy: instances of classes defined inside the introspective::proxy namespace;
  • object oriented: opposed to classic OO languages (like C++ or Java) with Introspective also Objects can define, override or hide methods and properties in runtime;
  • Introspection: every class or object has the ability to examine its own type, methods and properties in runtime;
  • dynamic inheritance: at any time a class (instances of introspective::Class) or objects (instances of introspective::Object) can modify their inheritance hierarchy modifying on the fly their OO behaviour;
  • runtime class / object definition: every class and / or object can change its behaviour by adding / removing properties and methods in runtime;
  • DSL: by C++ operator overloading the base syntax for a minimal domain specific language has been introduced;

Prerequisites:

Distro supported:

  • Centos-7
  • Debian-8
  • Gentoo
  • Fedora-23
  • OpenSUSE Leap 42.1
  • Ubuntu 14
Source: README.md, updated 2016-04-25