Nobody likes to be alone, make everyone a friend.

All yours is mine, make it all public.


An interface is a set of operations that is available on an object. An example would be a HasName interface, an object that support that interface should always have a GetName() function. In C++ this can be done with the use of abstract classes. The abstract class is then the Interface and a class derived from it will then have the interface.

class IHasName


std::string GetName() = 0;


class MyObject : public IHasName



std::string GetName() { return "MyObject"; };


Object Factories

Object Management and Factories - 2013


C++ Reflection - 2012 : Introduction, Type Reduction, Improvements, Variant, Automated Serialization and Lua Binding.

Reflection in C++ - 2009 - a teaser, part 2 and Load in place.

Reflection in C++ - 2011 : Part1 and Part2.

Small C++ Reflection Demo - 2014


Serialization in Unity - 2014

Modernizing Legacy C++ Code - 2014


C++ Function Binding - 2013

What Exactly IS A Lambda Anyhow? - 2018

One more degree of freedom for C++



From Google Test to Catch - 2017

Unit testing in C++ - 2010


Powerful C++ Messaging - 2013