void join(PB_DS_CLASS_C_DEC& other) { std::vector<value_type> a_tmp; while (!base_type::empty()) { a_tmp.push_back(base_type::top()); base_type::pop(); } while (!other.empty()) { a_tmp.push_back(other.top()); other.pop(); } *static_cast<base_type*>(this) = base_type(a_tmp.begin(), a_tmp.end()); }