Lines Matching refs:Data

88   SimpleArray() : Data(nullptr), Size(0), Capacity(0) {}
90 : Data(Dat), Size(Sz), Capacity(Cp) {}
92 : Data(Cp == 0 ? nullptr : A.allocateT<T>(Cp)), Size(0), Capacity(Cp) {}
94 : Data(A.Data), Size(A.Size), Capacity(A.Capacity) {
95 A.Data = nullptr;
102 Data = RHS.Data;
106 RHS.Data = nullptr;
116 T *Odata = Data;
117 Data = A.allocateT<T>(Ncp);
119 memcpy(Data, Odata, sizeof(T) * Size);
141 return Data[i];
145 return Data[i];
149 return Data[Size - 1];
153 return Data[Size - 1];
156 iterator begin() { return Data; }
157 iterator end() { return Data + Size; }
159 const_iterator begin() const { return Data; }
160 const_iterator end() const { return Data + Size; }
162 const_iterator cbegin() const { return Data; }
163 const_iterator cend() const { return Data + Size; }
177 Data[Size++] = Elem;
190 Data[i] = C;
198 Data[J] = *I;
219 T *Data;
250 CopyOnWriteVector() : Data(nullptr) {}
251 CopyOnWriteVector(CopyOnWriteVector &&V) : Data(V.Data) { V.Data = nullptr; }
255 bool valid() const { return Data; }
258 bool writable() const { return Data && Data->NumRefs == 1; }
262 if (!Data) {
263 Data = new VectorData();
269 if (!Data)
271 if (Data->NumRefs <= 1)
272 delete Data;
274 --Data->NumRefs;
275 Data = nullptr;
280 if (!Data) {
281 Data = new VectorData();
284 if (Data->NumRefs == 1)
286 --Data->NumRefs;
287 Data = new VectorData(*Data);
291 CopyOnWriteVector clone() { return CopyOnWriteVector(Data); }
295 Data = V.Data;
296 V.Data = nullptr;
302 const std::vector<T> &elements() const { return Data->Vect; }
309 unsigned size() const { return Data ? elements().size() : 0; }
312 bool sameAs(const CopyOnWriteVector &V) const { return Data == V.Data; }
317 Data->Vect.clear();
323 Data->Vect.push_back(Elem);
330 return Data->Vect[i];
336 Data->Vect.erase(Data->Vect.begin() + i, Data->Vect.end());
340 CopyOnWriteVector(VectorData *D) : Data(D) {
341 if (!Data)
343 ++Data->NumRefs;
346 VectorData *Data;