Добрый вечер, есть контейнеры с умными указателями, как их в другой контейнер перенести, желательно как-нибудь с предикатом навроде copy_if
#include <vector>
#include <memory>
using namespace std;
struct A {
    A(int val) : mVal(val) {
    }
    ~A() {
    }
    int val() const {
        return mVal;
    }
    private:
        int mVal;
};
int main(int argc, char *argv[])
{
    shared_ptr<A> a1 = make_unique<A> (3);
    shared_ptr<A> a2 = make_unique<A> (6);
    shared_ptr<A> a3 = make_unique<A> (9);
    vector<unique_ptr<A>> v1;
    vector<unique_ptr<A>> v2;
    v1.push_back( std::move(a1) );
    v1.push_back( std::move(a2) );
    v1.push_back( std::move(a3) );
}





