Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Lucke <jacques@blender.org>2020-08-10 19:13:28 +0300
committerJacques Lucke <jacques@blender.org>2020-08-10 19:17:07 +0300
commitc521b69ffb68df17d6b8e1c71d23924a8b9b9cf3 (patch)
tree69f9505c110e7f1ce7769e0036f51eb439f20635 /source/blender/blenlib/BLI_hash.hh
parent53d203dea8230da4e80f3cc61468a4e24ff6759c (diff)
BLI: improve StringRef for C++17
Since C++17 there is also std::string_view, which is similar to StringRef. This commit does a couple of things: * New implicit conversions between StringRef and std::string_view. * Support std::string_view in blender::DefaultHash. * Support most of the methods that std::string_view has. * Add StringRef::not_found which can be used instead of -1 in some places. * Improve/fix the description at the top of BLI_string_ref.hh.
Diffstat (limited to 'source/blender/blenlib/BLI_hash.hh')
-rw-r--r--source/blender/blenlib/BLI_hash.hh7
1 files changed, 7 insertions, 0 deletions
diff --git a/source/blender/blenlib/BLI_hash.hh b/source/blender/blenlib/BLI_hash.hh
index 8301dbb8e3a..2e3212cc83b 100644
--- a/source/blender/blenlib/BLI_hash.hh
+++ b/source/blender/blenlib/BLI_hash.hh
@@ -180,6 +180,13 @@ template<> struct DefaultHash<StringRefNull> {
}
};
+template<> struct DefaultHash<std::string_view> {
+ uint64_t operator()(StringRef value) const
+ {
+ return hash_string(value);
+ }
+};
+
/**
* While we cannot guarantee that the lower 4 bits of a pointer are zero, it is often the case.
*/