diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2011-10-19 10:47:41 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2011-10-21 19:25:06 +0200 |
commit | 6bd95f51beb26d87fd5d5db22391c73f333eee6e (patch) | |
tree | 59621cec994f55fce7a1ced5c3b9edb93a41b084 /odb/relational/common.cxx | |
parent | 7623fb5259da19c33ffe6623b0f306f6c39ede27 (diff) |
Add support for const data members
Const data members are automatically treated as readonly. New test:
const-member.
Diffstat (limited to 'odb/relational/common.cxx')
-rw-r--r-- | odb/relational/common.cxx | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/odb/relational/common.cxx b/odb/relational/common.cxx index 7668063..b7255a2 100644 --- a/odb/relational/common.cxx +++ b/odb/relational/common.cxx @@ -82,7 +82,7 @@ namespace relational bool query_columns_base:: traverse_column (semantics::data_member& m, string const& column, bool) { - semantics::class_* ptr (object_pointer (m.type ())); + semantics::class_* ptr (object_pointer (utype (m))); if (ptr == 0) return false; @@ -211,7 +211,9 @@ namespace relational bool query_columns:: traverse_column (semantics::data_member& m, string const& column, bool) { - semantics::class_* ptr (object_pointer (m.type ())); + semantics::names* hint; + semantics::type& t (utype (m, hint)); + semantics::class_* ptr (object_pointer (t)); if (ptr != 0) { @@ -233,10 +235,11 @@ namespace relational if (ptr != 0) { semantics::data_member& id (*id_member (*ptr)); - type = id.type ().fq_name (id.belongs ().hint ()); + semantics::type& t (utype (id, hint)); + type = t.fq_name (hint); } else - type = m.type ().fq_name (m.belongs ().hint ()); + type = t.fq_name (hint); string type_id (database_type_id (m)); |