#ifndef MATADOR_ABSTRACT_COLLECTION_RESOLVER_HPP #define MATADOR_ABSTRACT_COLLECTION_RESOLVER_HPP #include #include namespace matador::object { class abstract_collection_resolver { public: virtual ~abstract_collection_resolver() = default; [[nodiscard]] const std::type_index& root_type() const; [[nodiscard]] const std::type_index& type() const; [[nodiscard]] const std::string& collection_name() const; protected: explicit abstract_collection_resolver(const std::type_index& root_type, const std::type_index& type, std::string collection_name); public: const std::type_index root_type_; const std::type_index type_; const std::string collection_name_; }; } #endif // MATADOR_ABSTRACT_COLLECTION_RESOLVER_HPP