added object_cache and test

This commit is contained in:
2026-02-22 22:36:42 +01:00
parent a2c5bca709
commit e45c38b229
9 changed files with 668 additions and 9 deletions
+11 -3
View File
@@ -23,7 +23,6 @@ public:
virtual void serialize(uint16_t &, const field_attributes &) = 0;
virtual void serialize(uint32_t &, const field_attributes &) = 0;
virtual void serialize(uint64_t &, const field_attributes &) = 0;
virtual void serialize(const char *, const field_attributes &) = 0;
virtual void serialize(std::string &, const field_attributes &) = 0;
virtual void serialize(null_type_t &, const field_attributes &) = 0;
};
@@ -149,7 +148,7 @@ public:
}
explicit identifier(const char *id)
: id_(std::make_shared<pk<const char *> >(id)) {
: id_(std::make_shared<pk<std::string> >(id)) {
}
identifier(const identifier &x);
@@ -164,7 +163,7 @@ public:
}
identifier &operator=(const char *value) {
id_ = std::make_shared<pk<const char *> >(value);
id_ = std::make_shared<pk<std::string> >(value);
return *this;
}
@@ -220,4 +219,13 @@ struct id_pk_hash {
/// @endcond
}
namespace std {
template<>
struct hash<matador::utils::identifier> {
size_t operator()(const matador::utils::identifier &id) const noexcept {
return id.hash();
}
};
} // namespace std
#endif //MATADOR_IDENTIFIER_HPP