diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2016-02-05 09:36:07 +0000 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2016-02-05 09:38:33 +0000 |
| commit | 263ef0b149b150c5fb77d264ff7a48a552eb9507 (patch) | |
| tree | 3e1662cf317dc29271e177b39a94a8cb1afcf320 /src/shared_string.hh | |
| parent | 94cbd5a837edfdcf87b754f3a943c57fbd9c9c32 (diff) | |
Get rid of SharedString
Diffstat (limited to 'src/shared_string.hh')
| -rw-r--r-- | src/shared_string.hh | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/src/shared_string.hh b/src/shared_string.hh index 2dfc3d38..112b67f2 100644 --- a/src/shared_string.hh +++ b/src/shared_string.hh @@ -56,48 +56,6 @@ struct StringData : UseMemoryDomain<MemoryDomain::SharedString> using StringDataPtr = RefPtr<StringData>; -class SharedString : public StringView -{ -public: - SharedString() = default; - SharedString(StringView str) - { - if (not str.empty()) - { - m_storage = StringData::create(str); - StringView::operator=(m_storage->strview()); - } - } - struct NoCopy{}; - SharedString(StringView str, NoCopy) : StringView(str) {} - - SharedString(const char* str) : SharedString(StringView{str}) {} - - SharedString acquire_substr(ByteCount from, ByteCount length = INT_MAX) const - { - return SharedString{StringView::substr(from, length), m_storage}; - } - SharedString acquire_substr(CharCount from, CharCount length = INT_MAX) const - { - return SharedString{StringView::substr(from, length), m_storage}; - } - - explicit SharedString(StringDataPtr storage) - : StringView{storage->strview()}, m_storage(std::move(storage)) {} - - friend size_t hash_value(const SharedString& str) - { - return str.m_storage ? str.m_storage->hash : hash_data(str.data(), (int)str.length()); - } - -private: - SharedString(StringView str, StringDataPtr storage) - : StringView{str}, m_storage(std::move(storage)) {} - - friend class StringRegistry; - StringDataPtr m_storage; -}; - class StringRegistry : public Singleton<StringRegistry> { public: |
