mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-10-10 08:12:21 +03:00
util: switch from Boost to std::unordered set/map
This commit replaces the ue2::unordered_{set,map} types with their STL versions, with some new hashing utilities in util/hash.h. The new types ue2_unordered_set<T> and ue2_unordered_map<Key, T> default to using the ue2_hasher. The header util/ue2_containers.h has been removed, and the flat_set/map containers moved to util/flat_containers.h.
This commit is contained in:
committed by
Matthew Barr
parent
a425bb9b7c
commit
9cf66b6ac9
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2015-2016, Intel Corporation
|
||||
* Copyright (c) 2015-2017, Intel Corporation
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -196,12 +196,17 @@ bool isSubsetOf(const CharReach &small, const CharReach &big);
|
||||
bool isutf8ascii(const CharReach &cr);
|
||||
bool isutf8start(const CharReach &cr);
|
||||
|
||||
/** \brief Boost-style hash free function. */
|
||||
static really_inline
|
||||
size_t hash_value(const CharReach &cr) {
|
||||
return cr.hash();
|
||||
}
|
||||
|
||||
} // namespace ue2
|
||||
|
||||
namespace std {
|
||||
|
||||
template<>
|
||||
struct hash<ue2::CharReach> {
|
||||
size_t operator()(const ue2::CharReach &cr) const {
|
||||
return cr.hash();
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace std
|
||||
|
||||
#endif // NG_CHARREACH_H
|
||||
|
Reference in New Issue
Block a user