diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2011-08-26 12:13:18 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2011-08-28 14:15:45 +0200 |
commit | 64d0ceffaaf5f57a3d24a5210bf0ad2a8474a618 (patch) | |
tree | 98115a01b0bd2e9ddfdc6ff3a0f7470915de483a /odb/common.hxx | |
parent | 061a16256eef2c2df53e2e145d16f17270c2de82 (diff) |
Add wrapper support for composite values
NULL semantics for composite values is not yet supported.
Diffstat (limited to 'odb/common.hxx')
-rw-r--r-- | odb/common.hxx | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/odb/common.hxx b/odb/common.hxx index 548e2a2..86a39c7 100644 --- a/odb/common.hxx +++ b/odb/common.hxx @@ -30,6 +30,17 @@ struct object_members_base: traversal::class_, virtual context virtual void composite (semantics::data_member*, semantics::class_&); + // More general version of the above function that allows detection + // of wrapped composite value. By default this function calls + // composite (m, comp) ignoring the wrapper type. Note that this + // function is called for all composite value (wrapped or not). + // If it is not wrapped, the wrapper argument will be NULL. + // + virtual void + composite_wrapper (semantics::data_member*, + semantics::class_& comp, + semantics::type* wrapper); + // If you override this function, you can call the base to traverse // bases and members. // |