version 1.36, 2008/12/02 09:00:33
|
version 1.37.6.1, 2013/06/03 22:35:11
|
|
|
| |
if (Array_refs.get() == 1) | if (Array_refs.get() == 1) |
{ | { |
memcpy(rep->data(), Array_data, Array_size*sizeof(PEGASUS_ARRAY_T)); |
memcpy( |
|
(void*)rep->data(), |
|
(void*)Array_data, |
|
Array_size*sizeof(PEGASUS_ARRAY_T)); |
Array_size = 0; | Array_size = 0; |
} | } |
else | else |
|
|
{ | { |
reserveCapacity(Array_size + size); | reserveCapacity(Array_size + size); |
memmove( | memmove( |
Array_data + size, |
(void*)(Array_data + size), |
Array_data, |
(void*)Array_data, |
sizeof(PEGASUS_ARRAY_T) * Array_size); | sizeof(PEGASUS_ARRAY_T) * Array_size); |
CopyToRaw(Array_data, x, size); | CopyToRaw(Array_data, x, size); |
Array_size += size; | Array_size += size; |
|
|
#endif | #endif |
void Array<PEGASUS_ARRAY_T>::remove(Uint32 index, Uint32 size) | void Array<PEGASUS_ARRAY_T>::remove(Uint32 index, Uint32 size) |
{ | { |
|
if (size == 0) |
|
{ |
|
return; |
|
} |
|
|
if (Array_refs.get() != 1) | if (Array_refs.get() != 1) |
_rep = ArrayRep<PEGASUS_ARRAY_T>::copy_on_write(Array_rep); | _rep = ArrayRep<PEGASUS_ARRAY_T>::copy_on_write(Array_rep); |
| |