#ifndef MATADOR_IDENTIFIER_STATEMENT_BINDER_HPP #define MATADOR_IDENTIFIER_STATEMENT_BINDER_HPP #include "matador/utils/identifier.hpp" namespace matador::sql { class statement; class identifier_statement_binder : public utils::identifier_serializer { public: explicit identifier_statement_binder(statement &stmt, size_t index = 0); void bind(const utils::identifier &id); void serialize(int8_t &, const utils::field_attributes &) override; void serialize(int16_t &, const utils::field_attributes &) override; void serialize(int32_t &, const utils::field_attributes &) override; void serialize(int64_t &, const utils::field_attributes &) override; void serialize(uint8_t &, const utils::field_attributes &) override; void serialize(uint16_t &, const utils::field_attributes &) override; void serialize(uint32_t &, const utils::field_attributes &) override; void serialize(uint64_t &, const utils::field_attributes &) override; void serialize(const char *, const utils::field_attributes &) override; void serialize(std::string &, const utils::field_attributes &) override; void serialize(utils::null_type_t &, const utils::field_attributes &) override; private: statement &stmt_; size_t index_{}; }; } #endif //MATADOR_IDENTIFIER_STATEMENT_BINDER_HPP