query/include/matador/object/abstract_collection_resolve...

26 lines
754 B
C++

#ifndef MATADOR_ABSTRACT_COLLECTION_RESOLVER_HPP
#define MATADOR_ABSTRACT_COLLECTION_RESOLVER_HPP
#include <string>
#include <typeindex>
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