17 Sep
2008
17 Sep
'08
6:25 a.m.
A very concrete question: I have map<pair<K1, V1>, pair<K2, V2>, ..> as input. How do I produce map<pair<K1, std::vector<V1> >, pair<K2, std::vector<V2>, .. > on output? I do not see an equivalent of LISPs MAPCAR in the list of algorithms.. Is this something that should be done by combining fold and push_back algorithms? If so, I'm currently in the dark on how to do it (no example for the fold metafunction algorithm) === Few more questions now that I'm already posting: - what is the difference between accumulate and fold? - what is the purpose of for_each metafunction when the docs say that it always returns void? (and no side-effects are possible at compile-time) Thanks.