#ifndef MATADOR_RESOLVER_PRODUCER_HPP #define MATADOR_RESOLVER_PRODUCER_HPP #include "matador/object/object_resolver.hpp" #include namespace matador::sql { class executor; class resolver_producer { public: virtual ~resolver_producer() = default; virtual std::shared_ptr produce(executor &exec) = 0; [[nodiscard]] const std::type_index& type() const; protected: explicit resolver_producer(const std::type_index &type); private: std::type_index type_; }; } #endif //MATADOR_RESOLVER_PRODUCER_HPP