Lines Matching refs:SharedData
34 using SharedData = struct SharedData { typedef
35 SharedData(int refCount, int size)
39 static SharedData* Allocate(int size);
45 static char* ToString(SharedData* header)
50 static SharedData* GetHeader(const void* handle)
52 return reinterpret_cast<SharedData*>(const_cast<void*>(handle)) - 1;
59 SharedData* SharedData::Allocate(int size) in Allocate()
70 SharedData* handle = reinterpret_cast<SharedData*>(malloc(sizeof(SharedData) + size + 1)); in Allocate()
76 new (handle)SharedData(1, size); in Allocate()
80 void SharedData::AddRef(const void* handle) in AddRef()
86 SharedData* data = GetHeader(handle); in AddRef()
93 void SharedData::Release(const void* handle) in Release()
99 SharedData* data = GetHeader(handle); in Release()
114 string_ = SharedData::ToString(SharedData::Allocate(strlen(string))); in String()
127 SharedData* sharedData = SharedData::Allocate(length); in String()
131 string_ = SharedData::ToString(sharedData); in String()
147 SharedData::AddRef(string_); in String()
158 string_ = SharedData::ToString(SharedData::Allocate(size)); in String()
166 SharedData::Release(string_); in ~String()
175 return SharedData::GetHeader(string_)->shareDataSize; in GetLength()
576 SharedData::Release(string_);
583 string_ = SharedData::ToString(SharedData::Allocate(strlen(string)));
599 SharedData::Release(string_); in operator =()
600 SharedData::AddRef(other.string_); in operator =()
607 SharedData::Release(string_); in operator =()