forked from boostorg/unordered
Temporarily suppress warning about memset'ing non-trivial types by using a constructor loop
This commit is contained in:
@ -910,11 +910,14 @@ struct table_arrays
|
|||||||
reinterpret_cast<uintptr_t>(p))%sizeof(group_type);
|
reinterpret_cast<uintptr_t>(p))%sizeof(group_type);
|
||||||
arrays.groups=reinterpret_cast<group_type*>(p);
|
arrays.groups=reinterpret_cast<group_type*>(p);
|
||||||
|
|
||||||
|
for (std::size_t i=0;i<groups_size;++i){
|
||||||
|
new(arrays.groups+i) group_type();
|
||||||
|
}
|
||||||
|
|
||||||
/* memset is faster/not slower than initializing groups individually.
|
/* memset is faster/not slower than initializing groups individually.
|
||||||
* This assumes all zeros is group_type's default layout.
|
* This assumes all zeros is group_type's default layout.
|
||||||
*/
|
*/
|
||||||
|
// std::memset(arrays.groups,0,sizeof(group_type)*groups_size);
|
||||||
std::memset(arrays.groups,0,sizeof(group_type)*groups_size);
|
|
||||||
arrays.groups[groups_size-1].set_sentinel();
|
arrays.groups[groups_size-1].set_sentinel();
|
||||||
}
|
}
|
||||||
return arrays;
|
return arrays;
|
||||||
|
Reference in New Issue
Block a user