#ifndef MATADOR_IDENTIFIER_ACCESSOR_HPP #define MATADOR_IDENTIFIER_ACCESSOR_HPP #include "matador/utils/identifier.hpp" #include "matador/utils/result.hpp" namespace matador::utils { class identifier_setter : public identifier_serializer { public: explicit identifier_setter(identifier &id); template void set(const ValueType &val) { id_.serialize(*this, val); } void serialize(int16_t &, const field_attributes &) override; void serialize(int32_t &, const field_attributes &) override; void serialize(int64_t &, const field_attributes &) override; void serialize(uint8_t &, const field_attributes &) override; void serialize(uint16_t &, const field_attributes &) override; void serialize(uint32_t &, const field_attributes &) override; void serialize(uint64_t &, const field_attributes &) override; void serialize(std::string &, const field_attributes &) override; void serialize(null_type_t &, const field_attributes &) override; private: identifier &id_; }; } #endif //MATADOR_IDENTIFIER_ACCESSOR_HPP