From fc03b894489f39c81f69cd789fd9a08aa5acf91b Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 23 Jan 2020 14:17:22 +0200 Subject: Fix ability to handle C-style arrays as containers --- odb/context.hxx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'odb/context.hxx') diff --git a/odb/context.hxx b/odb/context.hxx index f9203ae..4366fb7 100644 --- a/odb/context.hxx +++ b/odb/context.hxx @@ -714,21 +714,25 @@ public: // make_const is true, then add top-level const qualifier, unless // it is already there. If it is false, then strip it if it is // already there. If var is not empty, then embed the variable - // name into the type (e.g., char (*v)[3]). + // name into the type (e.g., char (*v)[3]). If decay_array is + // false then don't decay the (top-level) array to a pointer. // static string member_ref_type (semantics::data_member& m, bool make_const, - string const& var = "") + string const& var = "", + bool decay_array = true) { - return type_ref_type (m.type (), m.belongs ().hint (), make_const, var); + return type_ref_type ( + m.type (), m.belongs ().hint (), make_const, var, decay_array); } static string type_ref_type (semantics::type&, semantics::names* hint, bool make_const, - string const& var = ""); + string const& var = "", + bool decay_array = true); // Form a value type for a not mapped, actual member type. If make_const // is true, then add top-level const qualifier, unless it is already -- cgit v1.1