| 63 | } |
| 64 | |
| 65 | void vtkArrayData::AddArray(vtkArray* array) |
| 66 | { |
| 67 | if (!array) |
| 68 | { |
| 69 | vtkErrorMacro(<< "Cannot add nullptr array."); |
| 70 | return; |
| 71 | } |
| 72 | |
| 73 | // See http://developers.sun.com/solaris/articles/cmp_stlport_libCstd.html |
| 74 | // Language Feature: Partial Specializations |
| 75 | // Workaround |
| 76 | |
| 77 | int n = 0; |
| 78 | #ifdef _RWSTD_NO_CLASS_PARTIAL_SPEC |
| 79 | std::count(this->Implementation->Arrays.begin(), this->Implementation->Arrays.end(), array, n); |
| 80 | #else |
| 81 | n = std::count(this->Implementation->Arrays.begin(), this->Implementation->Arrays.end(), array); |
| 82 | #endif |
| 83 | |
| 84 | if (n != 0) |
| 85 | { |
| 86 | vtkErrorMacro(<< "Cannot add array twice."); |
| 87 | return; |
| 88 | } |
| 89 | |
| 90 | this->Implementation->Arrays.push_back(array); |
| 91 | array->Register(nullptr); |
| 92 | |
| 93 | this->Modified(); |
| 94 | } |
| 95 | |
| 96 | void vtkArrayData::ClearArrays() |
| 97 | { |