From 527fa7a511f8032915ca376e77f0c90ac5caf575 Mon Sep 17 00:00:00 2001 From: Markus Frank <Markus.Frank@cern.ch> Date: Thu, 10 Nov 2016 22:13:16 +0100 Subject: [PATCH] Simplify opaque data mappings for conditions --- DDCore/src/OpaqueDataBinder.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/DDCore/src/OpaqueDataBinder.cpp b/DDCore/src/OpaqueDataBinder.cpp index 115f9d0ff..3d6b274e6 100644 --- a/DDCore/src/OpaqueDataBinder.cpp +++ b/DDCore/src/OpaqueDataBinder.cpp @@ -111,8 +111,18 @@ namespace DD4hep { } - template<typename KEY, typename VAL, typename OBJECT> - static void insert_map_item(const KEY& k, const string& val, OBJECT& block) { + template<typename KEY, typename VAL> + static void insert_map_item(const KEY& k, const string& val, OpaqueDataBlock& block) { + typedef map<KEY,VAL> map_t; + map_t& m = block.get<map_t>(); + VAL v; + if ( !BasicGrammar::instance<VAL>().fromString(&v, val) ) { + except("Condition::map","++ Failed to convert conditions map entry."); + } + m.insert(make_pair(k,v)); + } + template<typename KEY, typename VAL> + static void insert_map_item(const KEY& k, const string& val, Conditions::Condition& block) { typedef map<KEY,VAL> map_t; map_t& m = block.get<map_t>(); VAL v; -- GitLab