From 587db8c7ca28d5cd1722307073aa31aed5b89d0a Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 22 Apr 2011 14:07:32 +0200 Subject: Initial support for non-polymorphic inheritance Every class gets a separate table. New test: common/inheritance. --- odb/context.cxx | 49 ------------------------------------------------- 1 file changed, 49 deletions(-) (limited to 'odb/context.cxx') 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 ("id-member"); -} - -namespace -{ struct has_a_impl: object_members_base { has_a_impl (unsigned short flags) -- cgit v1.1