diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2012-04-27 11:36:43 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2012-04-27 11:36:43 +0200 |
commit | 15b1a95942518c84f8161c59820ea5d0e49a4e54 (patch) | |
tree | 0a2f6e60622c6085dba00d21e094944526f97d33 /odb/context.cxx | |
parent | 7e22a444bc360d1b74a25c6d508daea86ca8d5d2 (diff) |
Add support for NULL pointers to objects with composite object ids
Diffstat (limited to 'odb/context.cxx')
-rw-r--r-- | odb/context.cxx | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/odb/context.cxx b/odb/context.cxx index f699f38..693ada4 100644 --- a/odb/context.cxx +++ b/odb/context.cxx @@ -296,6 +296,21 @@ readonly (semantics::data_member& m) } bool context:: +null (data_member_path const& mp) +{ + // Outer members can override the null-ability of the inner ones. So + // start from the most outer member. + // + for (data_member_path::const_iterator i (mp.begin ()); i != mp.end (); ++i) + { + if (null (**i)) + return true; + } + + return false; +} + +bool context:: null (semantics::data_member& m) { semantics::type& t (utype (m)); |