31 template <
class ScalarTypeT>
36 typedef ScalarTypeT ScalarType;
98 void operator=(
const vtkBuffer&) VTK_DELETE_FUNCTION;
101 template <
class ScalarT>
108 template <
typename ScalarT>
113 if (this->Pointer != array)
117 if (this->DeleteMethod == VTK_DATA_ARRAY_FREE)
123 delete [] this->Pointer;
126 this->Pointer = array;
130 this->DeleteMethod = deleteMethod;
134 template <
typename ScalarT>
138 this->SetBuffer(NULL, 0);
141 ScalarType* newArray =
142 static_cast<ScalarType*>(malloc(
size *
sizeof(ScalarType)));
145 this->SetBuffer(newArray,
size,
false, VTK_DATA_ARRAY_FREE);
154 template <
typename ScalarT>
157 if (newsize == 0) {
return this->Allocate(0); }
160 (this->Save || this->DeleteMethod == VTK_DATA_ARRAY_DELETE))
162 ScalarType* newArray =
163 static_cast<ScalarType*>(malloc(newsize *
sizeof(ScalarType)));
168 std::copy(this->Pointer, this->Pointer + std::min(this->Size, newsize),
171 this->SetBuffer(newArray, newsize,
false, VTK_DATA_ARRAY_FREE);
177 ScalarType* newArray = static_cast<ScalarType*>(
178 realloc(this->Pointer, newsize *
sizeof(ScalarType)));
183 this->Pointer = newArray;
184 this->Size = newsize;