#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>
template <class A, template<class T, class Allocator=std::allocator<T> > class Container>
class hoge {
private:
Container<A> Cont;
public:
template <class T>
hoge (T cont) {
std::copy(cont.begin(), cont.end(), ostream_iterator<int>(std::cout, " "));
}
};
int main()
{
std::vector<int> vec;
vec.push_back(0);vec.push_back(3);vec.push_back(1);vec.push_back(6);
hoge<int, std::vector> h(vec);
return 0;
}