aboutsummaryrefslogtreecommitdiff
path: root/odb/context.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2011-04-22 14:07:32 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2011-04-22 14:07:32 +0200
commit587db8c7ca28d5cd1722307073aa31aed5b89d0a (patch)
treeb5295accedf2cd946d5df22ed5fbfa78290e89dc /odb/context.cxx
parent584f3602038919957f62848a03deb5b5bd9cc9ba (diff)
Initial support for non-polymorphic inheritance
Every class gets a separate table. New test: common/inheritance.
Diffstat (limited to 'odb/context.cxx')
-rw-r--r--odb/context.cxx49
1 files changed, 0 insertions, 49 deletions
diff --git a/odb/context.cxx b/odb/context.cxx
index 31f0865..2d64885 100644
--- a/odb/context.cxx
+++ b/odb/context.cxx
@@ -629,55 +629,6 @@ out_column_count (semantics::class_& c)
namespace
{
- // Find id member.
- //
- struct id_member_impl: traversal::class_
- {
- id_member_impl ()
- {
- *this >> names_ >> member_;
- }
-
- virtual void
- traverse (semantics::class_& c)
- {
- member_.m_ = 0;
- names (c);
- c.set ("id-member", member_.m_);
- }
-
- private:
- struct member: traversal::data_member
- {
- virtual void
- traverse (semantics::data_member& m)
- {
- if (m.count ("id"))
- m_ = &m;
- }
-
- semantics::data_member* m_;
- };
-
- member member_;
- traversal::names names_;
- };
-}
-
-semantics::data_member& context::
-id_member (semantics::class_& c)
-{
- if (!c.count ("id-member"))
- {
- id_member_impl t;
- t.traverse (c);
- }
-
- return *c.get<semantics::data_member*> ("id-member");
-}
-
-namespace
-{
struct has_a_impl: object_members_base
{
has_a_impl (unsigned short flags)