diff options
Diffstat (limited to 'odb/context.hxx')
-rw-r--r-- | odb/context.hxx | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/odb/context.hxx b/odb/context.hxx index 4503e7f..129e5ee 100644 --- a/odb/context.hxx +++ b/odb/context.hxx @@ -380,6 +380,18 @@ public: : 0; } + static semantics::type* + wrapper (semantics::type& t, semantics::names*& hint) + { + if (t.count ("wrapper") && t.get<bool> ("wrapper")) + { + hint = t.get<semantics::names*> ("wrapper-hint"); + return t.get<semantics::type*> ("wrapper-type"); + } + else + return 0; + } + // Composite value type is a class type that was explicitly marked // as value type and there was no database type mapping provided for // it by the user (specifying the database type makes the value type @@ -428,9 +440,8 @@ public: container (semantics::data_member& m) { // The same type can be used as both a container and a simple value. - // If the member has defines the database type, then it is the latter. // - if (m.count ("type") || m.count ("id-type")) + if (m.count ("simple")) return 0; semantics::type* t (&utype (m)); |