Leverage Substring to create new AtomicStringImpl for StaticStringImpl and SymbolImpl
[WebKit-https.git] / Source / WTF / wtf / text / StringImpl.h
index f76242b..b2c45e8 100644 (file)
@@ -537,6 +537,7 @@ public:
     }
 
     class StaticStringImpl {
+        WTF_MAKE_NONCOPYABLE(StaticStringImpl);
     public:
         // Used to construct static strings, which have an special refCount that can never hit zero.
         // This means that the static string will never be destroyed, which is important because
@@ -559,6 +560,11 @@ public:
         {
         }
 
+        operator StringImpl&()
+        {
+            return *reinterpret_cast<StringImpl*>(this);
+        }
+
         // These member variables must match the layout of StringImpl.
         unsigned m_refCount;
         unsigned m_length;