I think what the OP is looking for is std::inserter(mymap, mymap.end())
so you can do:
std::copy( inp.begin(), inp.end(), std::inserter(mymap, mymap.end()) );
The input types must be a pair type that your map takes, otherwise your algorithm would need to be std::transform
with a function/functor to convert the input type into such a std::pair
.
inserter is not actually an iterator but a templated function that produces an iterator (std::insert_iterator
, which is a templated type but the type is automatically resolved in the function call).
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…