diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2011-03-10 12:07:10 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2011-03-21 15:40:00 +0200 |
commit | fa1fa57d5fe1cb901520f03e7f802a156aae1034 (patch) | |
tree | b97d57e4a1262add1ff57f76bdbbf9b4b1495e0f /odb/inline.cxx | |
parent | b0f28bd39db1732db794c6ba1f02d244bce0641c (diff) |
Move the rest of generators to new ctor-less context
Diffstat (limited to 'odb/inline.cxx')
-rw-r--r-- | odb/inline.cxx | 55 |
1 files changed, 29 insertions, 26 deletions
diff --git a/odb/inline.cxx b/odb/inline.cxx index f9df4ed..d62a34f 100644 --- a/odb/inline.cxx +++ b/odb/inline.cxx @@ -4,14 +4,16 @@ // license : GNU GPL v3; see accompanying LICENSE file #include <odb/common.hxx> -#include <odb/inline.hxx> +#include <odb/context.hxx> +#include <odb/generate.hxx> + +using namespace std; namespace { struct data_member: traversal::data_member, context { - data_member (context& c, semantics::class_& cl) - : context (c) + data_member (semantics::class_& cl) //@@ context::object { scope_ = "access::value_traits< " + cl.fq_name () + " >"; } @@ -46,11 +48,6 @@ namespace struct class_: traversal::class_, context { - class_ (context& c) - : context (c) - { - } - virtual void traverse (type& c) { @@ -63,35 +60,41 @@ namespace os << "// " << c.name () << endl << "//" << endl; - data_member member (*this, c); + data_member member (c); traversal::names member_names (member); names (c, member_names); } }; } -void -generate_inline (context& /*ctx*/) +namespace inline_ { - /* - traversal::unit unit; - traversal::defines unit_defines; - traversal::namespace_ ns; - class_ c (ctx); + void + generate () + { + /* + context ctx; + ostream& os (ctx.os); + + traversal::unit unit; + traversal::defines unit_defines; + traversal::namespace_ ns; + class_ c; - unit >> unit_defines >> ns; - unit_defines >> c; + unit >> unit_defines >> ns; + unit_defines >> c; - traversal::defines ns_defines; + traversal::defines ns_defines; - ns >> ns_defines >> ns; - ns_defines >> c; + ns >> ns_defines >> ns; + ns_defines >> c; - ctx.os << "namespace odb" - << "{"; + os << "namespace odb" + << "{"; - unit.dispatch (ctx.unit); + unit.dispatch (ctx.unit); - ctx.os << "}"; - */ + os << "}"; + */ + } } |