diff options
Diffstat (limited to 'odb/tracer')
-rw-r--r-- | odb/tracer/header.cxx | 9 | ||||
-rw-r--r-- | odb/tracer/source.cxx | 4 |
2 files changed, 6 insertions, 7 deletions
diff --git a/odb/tracer/header.cxx b/odb/tracer/header.cxx index eaa7546..a4dd368 100644 --- a/odb/tracer/header.cxx +++ b/odb/tracer/header.cxx @@ -35,15 +35,14 @@ namespace tracer << "//" << endl; os << "template <>" << endl - << "class access::object_traits< " << type << " >: " << endl - << " public access::object_memory< " << type << " >," << endl - << " public access::object_factory< " << type << " >" + << "class access::object_traits< " << type << " >" << "{" << "public:" << endl; - // object_type & shared_ptr + // object_type & pointer_type // - os << "typedef " << type << " object_type;"; + os << "typedef " << type << " object_type;" + << "typedef object_type* pointer_type;"; // id_type // diff --git a/odb/tracer/source.cxx b/odb/tracer/source.cxx index 338f2fb..8d1bd4f 100644 --- a/odb/tracer/source.cxx +++ b/odb/tracer/source.cxx @@ -93,8 +93,8 @@ namespace tracer << "if (id == id_type ())" << endl << "return pointer_type (0);" << endl - << "pointer_type r (access::object_factory< " << type << - " >::create ());" + << "pointer_type r (access::object_factory< object_type, " << + "pointer_type >::create ());" << "pointer_traits< pointer_type >::guard g (r);" << "r->" << id.name () << " = id;" << "g.release ();" |