18 char* array = (
char*)malloc( bytes_per_ent *
size() );
27 const int index = -1 - array_num;
30 return create_data( index, bytes_per_ent, initial_value );
35 const int index = -1 - array_num;
39 void* array = malloc( total_bytes );
57 void** new_list = (
void**)realloc( list, sz );
60 fprintf( stderr,
"SequenceData::increase_tag_count(): reallocation of list failed\n" );
76 return create_data( tag_num + 1, bytes_per_ent, default_value );
81 return new SequenceData(
this, start, end, sequence_data_sizes );
87 const int* sequence_data_sizes )
88 : numSequenceData( from->numSequenceData ), numTagData( from->numTagData ), startHandle( start ), endHandle( end )
90 assert( start <= end );
98 const size_t count = end - start + 1;
113 arraySet[index] = malloc( count * size_per_ent );
114 memcpy(
arraySet[index], (
const char*)source + offset * size_per_ent, count * size_per_ent );
123 const size_t count = destination->
size();
130 assert( i <= (
unsigned)num_tag_sizes );
135 const int tag_size = tag_sizes[i - 1];
136 if( !destination->
arraySet[i] ) destination->
arraySet[i] = malloc( count * tag_size );
137 memcpy( destination->
arraySet[i],
reinterpret_cast< char*
>(
arraySet[i] ) + offset * tag_size,
160 for( ; iter != end; ++iter )