fork(2) download
  1. #include <iostream>
  2. #include <memory>
  3. #include <vector>
  4. using namespace std;
  5.  
  6. class A
  7. {
  8. public:
  9. A() = default;
  10. };
  11.  
  12.  
  13. class B
  14. {
  15.  
  16. public:
  17.  
  18. void AddAs(vector<unique_ptr<A>>&& vv)
  19. {
  20.  
  21. vec.insert(vec.end(),
  22. std::make_move_iterator(vv.begin()),
  23. std::make_move_iterator(vv.end())
  24. );
  25. }
  26.  
  27. vector<unique_ptr<A>> vec;
  28. };
  29.  
  30.  
  31. int main() {
  32.  
  33. vector<unique_ptr<A>> v;
  34. for(int i=0; i<10; ++i)
  35. {
  36. v.push_back(make_unique<A>());
  37. }
  38. B b;
  39. b.AddAs(std::move(v));
  40.  
  41. return 0;
  42. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
Standard output is empty