diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2010-07-22 14:33:21 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2010-07-22 14:33:21 +0200 |
commit | cea6fb57ac8c9a893c0f404fef6c1469f0b6222b (patch) | |
tree | fed8b6ffa8ea2cb6347ece69c0cb81003d0ccbf6 /odb/inline.cxx | |
parent | 5f71c55a1c24c23af1eeb0d664922497a0e5c071 (diff) |
Next chunk of functionality
Add SQL language lexer. Implement MySQL type declaration parser.
Create sub-directories for databases, currently mysql and tracer.
Create MySQL-specific context.
Diffstat (limited to 'odb/inline.cxx')
-rw-r--r-- | odb/inline.cxx | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/odb/inline.cxx b/odb/inline.cxx deleted file mode 100644 index bf0aec9..0000000 --- a/odb/inline.cxx +++ /dev/null @@ -1,73 +0,0 @@ -// file : odb/inline.cxx -// author : Boris Kolpackov <boris@codesynthesis.com> -// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC -// license : GNU GPL v2; see accompanying LICENSE file - -#include <odb/common.hxx> -#include <odb/inline.hxx> - -namespace -{ - struct class_: traversal::class_, context - { - class_ (context& c) - : context (c) - { - } - - virtual void - traverse (type& c) - { - if (c.file () != unit.file ()) - return; - - if (!c.count ("object")) - return; - - string const& type (c.fq_name ()); - string traits ("access::object_traits< " + type + " >"); - - id_member t (*this); - t.traverse (c); - semantics::data_member& id (*t.member ()); - - os << "// " << c.name () << endl - << "//" << endl - << endl; - - // id () - // - os << "inline" << endl - << traits << "::id_type" << endl - << traits << "::" << endl - << "id (const object_type& obj)" - << "{" - << "return obj." << id.name () << ";" << endl - << "}"; - } - }; -} - -void -generate_inline (context& ctx) -{ - traversal::unit unit; - traversal::defines unit_defines; - traversal::namespace_ ns; - class_ c (ctx); - - unit >> unit_defines >> ns; - unit_defines >> c; - - traversal::defines ns_defines; - - ns >> ns_defines >> ns; - ns_defines >> c; - - ctx.os << "namespace odb" - << "{"; - - unit.dispatch (ctx.unit); - - ctx.os << "}"; -} |