aboutsummaryrefslogtreecommitdiff
path: root/odb/context.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2012-04-27 11:36:43 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2012-04-27 11:36:43 +0200
commit15b1a95942518c84f8161c59820ea5d0e49a4e54 (patch)
tree0a2f6e60622c6085dba00d21e094944526f97d33 /odb/context.cxx
parent7e22a444bc360d1b74a25c6d508daea86ca8d5d2 (diff)
Add support for NULL pointers to objects with composite object ids
Diffstat (limited to 'odb/context.cxx')
-rw-r--r--odb/context.cxx15
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));