allows loading values directly into member variables of the objects.
*/
template<typename O>
-class ObjectLoader: public Loader
+class ObjectLoader: virtual public Loader
{
public:
typedef O Object;
DerivedObjectLoader(O &o): B(o), obj(o) { }
+ template<typename T>
+ DerivedObjectLoader(O &o, T &a): B(o, a), obj(o) { }
+
public:
O &get_object() const { return obj; }
};