// -*- mode: c++ -*- #pragma once #include #include namespace atlas::collection { template class VectorFactory { public: using base_type = VectorFactory; using value_type = std::vector; using product_type = std::shared_ptr; virtual ~VectorFactory() = default; [[nodiscard]] virtual auto createAndFillVector(size_t const) -> product_type = 0; }; }