summaryrefslogtreecommitdiff
path: root/odb/tracer/source.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2011-03-10 11:37:49 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2011-03-21 15:40:00 +0200
commitb0f28bd39db1732db794c6ba1f02d244bce0641c (patch)
treeffe5c5898eed770b4a8256b9e78c9b1792feb70e /odb/tracer/source.cxx
parentecf31f6252c7c02935a6ce174d6700beb3f0b7fa (diff)
Move tracer to new ctor-less context
Diffstat (limited to 'odb/tracer/source.cxx')
-rw-r--r--odb/tracer/source.cxx53
1 files changed, 28 insertions, 25 deletions
diff --git a/odb/tracer/source.cxx b/odb/tracer/source.cxx
index c0f64c4..73f0a8a 100644
--- a/odb/tracer/source.cxx
+++ b/odb/tracer/source.cxx
@@ -4,7 +4,9 @@
// license : GNU GPL v3; see accompanying LICENSE file
#include <odb/common.hxx>
-#include <odb/tracer/source.hxx>
+#include <odb/tracer/generate.hxx>
+
+using namespace std;
namespace tracer
{
@@ -12,11 +14,6 @@ namespace tracer
{
struct class_: traversal::class_, context
{
- class_ (context& c)
- : context (c)
- {
- }
-
virtual void
traverse (type& c)
{
@@ -117,33 +114,39 @@ namespace tracer
};
}
- void
- generate_source (context& ctx)
+ namespace source
{
- traversal::unit unit;
- traversal::defines unit_defines;
- traversal::namespace_ ns;
- class_ c (ctx);
+ void
+ generate ()
+ {
+ context ctx;
+ ostream& os (ctx.os);
- unit >> unit_defines >> ns;
- unit_defines >> c;
+ traversal::unit unit;
+ traversal::defines unit_defines;
+ traversal::namespace_ ns;
+ class_ c;
- traversal::defines ns_defines;
+ unit >> unit_defines >> ns;
+ unit_defines >> c;
- ns >> ns_defines >> ns;
- ns_defines >> c;
+ traversal::defines ns_defines;
- ctx.os << "#include <iostream>" << endl
- << endl;
+ ns >> ns_defines >> ns;
+ ns_defines >> c;
- ctx.os << "#include <odb/exceptions.hxx>" << endl
- << endl;
+ os << "#include <iostream>" << endl
+ << endl;
+
+ os << "#include <odb/exceptions.hxx>" << endl
+ << endl;
- ctx.os << "namespace odb"
- << "{";
+ os << "namespace odb"
+ << "{";
- unit.dispatch (ctx.unit);
+ unit.dispatch (ctx.unit);
- ctx.os << "}";
+ os << "}";
+ }
}
}