diff options
author | Neil <nyamatongwe@gmail.com> | 2021-06-10 16:03:47 +1000 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2021-06-10 16:03:47 +1000 |
commit | 1fdd0b8dc8f2895c5942b23410f11ea21dd4e3f4 (patch) | |
tree | 662dc6fd61303a2f40bc883ab2b574b503a6c9ee /src/PositionCache.h | |
parent | 6d353d5ced87c554bc1b9abe194f18d585a0aeef (diff) | |
download | scintilla-mirror-1fdd0b8dc8f2895c5942b23410f11ea21dd4e3f4.tar.gz |
Use string_view for PositionCache methods.
Replace custom hash code with standard library hash.
Drop standard methods that are not needed.
Restrict representations to 200 bytes. Improve documentation.
Diffstat (limited to 'src/PositionCache.h')
-rw-r--r-- | src/PositionCache.h | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/src/PositionCache.h b/src/PositionCache.h index 030b16504..b628b0421 100644 --- a/src/PositionCache.h +++ b/src/PositionCache.h @@ -188,16 +188,17 @@ public: void operator=(const PositionCacheEntry &) = delete; void operator=(PositionCacheEntry &&) = delete; ~PositionCacheEntry(); - void Set(unsigned int styleNumber_, const char *s_, unsigned int len_, const XYPOSITION *positions_, unsigned int clock_); + void Set(unsigned int styleNumber_, std::string_view sv, const XYPOSITION *positions_, unsigned int clock_); void Clear() noexcept; - bool Retrieve(unsigned int styleNumber_, const char *s_, unsigned int len_, XYPOSITION *positions_) const noexcept; - static unsigned int Hash(unsigned int styleNumber_, const char *s, unsigned int len_) noexcept; + bool Retrieve(unsigned int styleNumber_, std::string_view sv, XYPOSITION *positions_) const noexcept; + static size_t Hash(unsigned int styleNumber_, std::string_view sv) noexcept; bool NewerThan(const PositionCacheEntry &other) const noexcept; void ResetClock() noexcept; }; class Representation { public: + static constexpr size_t maxLength = 200; std::string stringRep; RepresentationAppearance appearance; ColourRGBA colour; @@ -271,17 +272,11 @@ class PositionCache { bool allClear; public: PositionCache(); - // Deleted so PositionCache objects can not be copied. - PositionCache(const PositionCache &) = delete; - PositionCache(PositionCache &&) = delete; - void operator=(const PositionCache &) = delete; - void operator=(PositionCache &&) = delete; - ~PositionCache(); void Clear() noexcept; void SetSize(size_t size_); - size_t GetSize() const noexcept { return pces.size(); } + size_t GetSize() const noexcept; void MeasureWidths(Surface *surface, const ViewStyle &vstyle, unsigned int styleNumber, - const char *s, unsigned int len, XYPOSITION *positions); + std::string_view sv, XYPOSITION *positions); }; } |