```cpp
namespace std
{
template<typename Tp_>
class vector
{
public:
typedef long unsigned int size_type;
typedef Tp_ value_type;
typedef Tp_* value_pointer_type;
typedef Tp_& reference;
typedef const Tp_& const_reference;
protected:
size_type capacity_value=200;
value_pointer_type base;
size_type size_value;
public:
vector(const size_type& __s=0)
{
size_value=__s;
base=new value_type[capacity_value];
}
vector(const size_type& __s,const value_type& __dv)
{
size_type=__s;
base=new value_type[capacity_value];
for(int i=0;i<capacity_value;++i)
base[i]=__dv;
}
vector(const size_type& __s,const value_type& __dv,const size_type& default_capacity)
{
size_type=__s;
capacity_value=default_capacity;
base=new value_type[capacity_value];
for(int i=0;i<capacity_value;++i)
base[i]=__dv;
}
reference operator[](const size_type& pos) {return base[pos];}
reference at(const size_type& pos) {return base[pos];}
void __memboost(const size_type& newsize)
{
value_pointer_type pool=new value_type[newsize];
capacity_value=newsize;
for(int i=0;i<capacity_value;++i)
pool[i]=base[i];
delete []base;
base=pool;
}
void resize(const size_type& newsize)
{
if(newsize<capacity_value)
size_value=newsize;
else
{
__memboost(capacity_value+200);
size_value=newsize;
}
}
void push_back(const value_type& v)
{
if(size>=capacity_value)//euiburuiasrhvuihruv
}
};
}