1#ifndef UTOPIA_DATAIO_DATA_MANAGER_UTILS_HH 
    2#define UTOPIA_DATAIO_DATA_MANAGER_UTILS_HH 
    4#include "../../core/type_traits.hh" 
    5#include "../../core/zip.hh" 
    6#include "../cfg_utils.hh" 
   36template < 
typename... T >
 
   38    : std::conjunction< Utopia::Utils::is_callable< T >... >
 
 
   53template < 
class ValType, 
class KVPairs, 
class ObjMap >
 
   65        boost::hana::for_each(
kv_pairs, [&](
auto&& 
kv) {
 
   68            if constexpr (std::is_base_of_v<
 
   88            map[
k] = std::make_shared< ValType >(
v);
 
 
  106template < 
class ObjMap, 
class ValType, 
class KVPairs >
 
  147template < 
class AssocsMap, 
class NamedTasks, 
class NamedDTMap, 
class Assocs >
 
  164            throw std::invalid_argument(
 
  165                "Error, explicit associations have to be given when mapping " 
  166                "unequal numbers of decider or trigger functions and tasks.");
 
 
 
void unpack_shared(KVPairs &&kv_pairs, ObjMap &&map)
Helper function to unpack (key, value) container into a map of shared pointers of a type.
Definition utils.hh:55
 
AssocsMap build_task_association_map(const NamedTasks &tasks, const NamedDTMap &named_dts, Assocs assocs=Assocs{})
Build an association map, i.e., a map that associates a decider/trigger name with a collection of tas...
Definition utils.hh:149
 
Container select_entities(const Manager &mngr, const DataIO::Config &sel_cfg)
Select entities according to parameters specified in a configuration.
Definition select.hh:213
 
Definition metaprogramming.hh:43
 
typename remove_qualifier< T >::type remove_qualifier_t
Shorthand for 'typename remove_qualifier::value'.
Definition type_traits.hh:97
 
Metafunction for use with boost hana, check if all T are callable types.
Definition utils.hh:39