std::ostream& operator<<(std::ostream& out, const std::pair<std::vector<T>,dts_vector_type>& vecs) { auto f_iter = vecs.first.cbegin(); auto s_iter = vecs.second.cbegin(); for( ; f_iter != vecs.first.cend() && s_iter != vecs.second.cend(); f_iter++, s_iter++) { out<< generic_type(*f_iter) << ' ' << *s_iter << std::endl; } return out; }
generic_type& operator%= (int x) { return *this %= generic_type(x); }