This makes it much more versatile, as it can now be used to derive from
a protected loader or one with a nonstandard name.
loader and shadows its members with ones for the derived type.
*/
template<typename O, typename B>
-class DerivedObjectLoader: public B::Loader
+class DerivedObjectLoader: public B
{
public:
typedef O Object;
protected:
O &obj;
- DerivedObjectLoader(O &o): B::Loader(o), obj(o) { }
+ DerivedObjectLoader(O &o): B(o), obj(o) { }
public:
O &get_object() const { return obj; }