summaryrefslogtreecommitdiff
path: root/src/shared_string.hh
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2016-02-05 09:36:07 +0000
committerMaxime Coste <frrrwww@gmail.com>2016-02-05 09:38:33 +0000
commit263ef0b149b150c5fb77d264ff7a48a552eb9507 (patch)
tree3e1662cf317dc29271e177b39a94a8cb1afcf320 /src/shared_string.hh
parent94cbd5a837edfdcf87b754f3a943c57fbd9c9c32 (diff)
Get rid of SharedString
Diffstat (limited to 'src/shared_string.hh')
-rw-r--r--src/shared_string.hh42
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: