added object_cache and test
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user