summaryrefslogtreecommitdiff
path: root/odb/context.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'odb/context.hxx')
-rw-r--r--odb/context.hxx17
1 files changed, 17 insertions, 0 deletions
diff --git a/odb/context.hxx b/odb/context.hxx
index e67af48..7e62161 100644
--- a/odb/context.hxx
+++ b/odb/context.hxx
@@ -364,6 +364,12 @@ public:
return t.get<semantics::class_*> ("element-type", 0);
}
+ // If this data member is or is part of an object pointer, then
+ // return the member that is the pointer. Otherwise, return 0.
+ //
+ static semantics::data_member*
+ object_pointer (data_member_path const&);
+
static bool
abstract (semantics::class_& c)
{
@@ -385,6 +391,12 @@ public:
return m.count ("id");
}
+ // If this data member is or is part of an id member, then return
+ // the member that is marked as the id. Otherwise, return 0.
+ //
+ static semantics::data_member*
+ id (data_member_path const&);
+
static bool
auto_ (semantics::data_member& m)
{
@@ -500,6 +512,11 @@ public:
string const& default_name) const;
string
+ column_type (const data_member_path&,
+ string const& key_prefix = string (),
+ bool id = false); // Pass true if this type is object id other
+ // than because of the members in the path.
+ string
column_type (semantics::data_member&, string const& key_prefix = string ());
string