Thanks. I guess it's simple enough to write it myself. I was having trouble passing a lamda to a function, so I was trying to think of other ways to do it. Turns out my problem was right in front of my eyes the whole time.
Starting to have some fun with this one :)
Is it possible to get the vector out of lines 2 and 4? To be able to derive the container type from Cont?
Yes, sorry. I wasn't being clear about what I was trying to do. In fact, my question was about an alternative way to do the thing I needed.
Cubbi's suggestion works great, and it is what I would have done if I couldn't have gotten the thing I was originally trying to do working.
I was also hoping for a std container constructor that could take a predicate: std::vector<int> odd_numbers( numbers.begin(), numbers.end(), is_odd );
However, my actual problem is that I want there to be a transform along with the copy. I don't want to be calling a copy-constructor of my object during the operation, so I want a vector<int*>
Edit: Now I want to try to get the vector out of line 2 and 4 of the code I posted, just for fun.
Isn't there a syntax something like: template < typename T template < typename U, typename V >>
Which might help me?