#include <iostream>
#include <vector>
#include <map>
#include <memory>
#include <iterator>
#include <algorithm>

class Element {};

int main()
{
    std::map<std::string, std::shared_ptr<Element>> m
        {
            { "hello", std::make_shared<Element>() },
            { "world", std::make_shared<Element>() }
        };
    std::vector<Element> v;

    std::transform(m.begin(),
                   m.end(),
                   std::back_inserter(v),
                   [](decltype(*m.begin())& p)
                   {
                       return *p.second;
                   });

    std::cout << v.size() << "\n";
    return 0;
}
