47    template <
typename F, 
typename C, 
typename... Args_>
 
   50        for (std::size_t i = 0; i < c.size(); i++)
 
   52            f(i, *c[i], std::forward<Args_>(args)...);
 
 
   69    template <
typename Container, 
typename Object, 
typename Method,
 
   72                                          Container 
const& container,
 
   75        for (std::size_t i = 0; i < container.size(); i++)
 
   77            (
object.*method)(i, *container[i], std::forward<Args>(args)...);
 
 
   96    template <
typename Container, 
typename Object, 
typename Method,
 
   99        Object& 
object, Method method, Container 
const& container,
 
  100        std::vector<std::size_t> 
const& active_container_ids, Args&&... args)
 
  102        if (active_container_ids.empty())
 
  105                                      std::forward<Args>(args)...);
 
  109        for (
auto const id : active_container_ids)
 
  111            (
object.*method)(
id, *container[
id], std::forward<Args>(args)...);
 
 
  126    template <
typename Container, 
typename Method, 
typename... Args>
 
  128                                            Container 
const& container,
 
  131        for (std::size_t i = 0; i < container.size(); i++)
 
  133            ((*container[i]).*method)(i, std::forward<Args>(args)...);
 
 
  151    template <
typename Container, 
typename Method, 
typename... Args>
 
  153        Method method, Container 
const& container,
 
  154        std::vector<std::size_t> 
const& active_container_ids, Args&&... args)
 
  156        if (active_container_ids.empty())
 
  159                                        std::forward<Args>(args)...);
 
  163        for (
auto const id : active_container_ids)
 
  165            ((*container[id]).*method)(id, std::forward<Args>(args)...);
 
 
  186    template <
typename F, 
typename C, 
typename Data, 
typename... Args_>
 
  190        assert(c.size() == data.size());
 
  192        for (std::size_t i = 0; i < c.size(); i++)
 
  194            data[i] = f(i, *c[i], std::forward<Args_>(args)...);
 
 
 
static void executeSelectedMemberOnDereferenced(Method method, Container const &container, std::vector< std::size_t > const &active_container_ids, Args &&... args)
 
static void transformDereferenced(F const &f, C const &c, Data &data, Args_ &&... args)
 
static void executeSelectedMemberDereferenced(Object &object, Method method, Container const &container, std::vector< std::size_t > const &active_container_ids, Args &&... args)
 
static void executeMemberOnDereferenced(Method method, Container const &container, Args &&... args)
 
static void executeMemberDereferenced(Object &object, Method method, Container const &container, Args &&... args)
 
static void executeDereferenced(F const &f, C const &c, Args_ &&... args)