31#ifndef DRAIN_SMARTMAP_TOOLS_H
32#define DRAIN_SMARTMAP_TOOLS_H
34#include <drain/Reference.h>
87 template <
class M,
class F>
89 void get(
const M & m,
const typename M::key_type & key, F & value){
90 typename M::const_iterator it = m.find(key);
102 typedef std::list<std::string> keylist_t;
105 template <
class M,
class S,
bool STRICT=true>
107 void setCastableValues(M & dst,
const std::map<std::string,S> & srcMap) {
109 for (
const typename std::map<std::string,S>::value_type & entry: srcMap){
110 MapTools::setValue<M,drain::Castable,STRICT>(dst, entry.first, (
const drain::Castable &) entry.second);
126 template <
class M,
class S>
129 setCastableValues<M,S,false>(dst, src);
134 template <
class M,
bool STRICT=true>
136 void setValues(M & dst,
const std::initializer_list<Variable::init_pair_t > &l){
137 for (
const auto & entry: l){
138 drain::MapTools::setValue<M,Variable,STRICT>(dst, entry.first, entry.second);
VariableT is a final class applied through typedefs Variable, Reference and FlexibleVariable.
Definition VariableT.h:87