33 lines
1.3 KiB
C++
33 lines
1.3 KiB
C++
#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
|