void String::push_back(const char &ch) { chk_n_alloc(); alloc.construct(first_free++, ch); }
void StrVec::push_back(const std::string& s) { chk_n_alloc(); alloc.construct(first_free++, s); }
void StrVec::push_back(string &&s) { chk_n_alloc(); alloc.construct(first_free++, std::move(s)); }