Listing 3: Registering an output capacity for class Point

// File: register_point_output.cc
// class and constructor registration
#include <xparam_extend.h>
#include "drawing_objects.h"

using namespace xParam;

class Point_output {
  public:
    static ValueList sub_objects(const Point& p) {
      ValueList vl;
      return vl << Val(p.x) << Val(p.y);
    }
};


PARAM_BEGIN_REG
  ... // class and constructor registration
  param_output<Point,Point_output>();
PARAM_END_REG
— End of Listing —