#pragma once #include #include template class SVector : public std::vector> { public: SVector(size_t res = 0) : std::vector>(res) { } template SVector

cast() const { auto sz = this->size(); SVector

res(sz); for (size_t i = 0; i < sz; i++) res[i] = std::dynamic_pointer_cast

((*this)[i]); return res; } };