#include <deque>
#include <iostream>
#include <map>
#include <vector>

class MyVal{
public:
  MyVal(int i):val(i){
    std::cout << "MyVal(" << i << ") " << std::endl;
  }
private:
  int val;
};

int main(){

  std::cout << std::endl;

  std::vector<MyVal> myVec;
  myVec.push_back(MyVal(6));
  myVec.emplace_back(MyVal(7));
  myVec.insert(myVec.end(),MyVal(8));
  myVec.emplace(myVec.end(),MyVal(9));

  std::deque<MyVal> myDeq;
  myDeq.push_back(MyVal(10));
  myDeq.push_front(MyVal(11));
  myDeq.emplace_back(MyVal(12));
  myDeq.emplace_front(MyVal(13));

  std::map<int,MyVal> myMap;
  myMap.insert(std::make_pair(1,MyVal(14)));
  myMap.emplace(std::make_pair(1,MyVal(15)));

  std::cout << std::endl;

}
