FlattenableUtils::align memsets am: e62a9d7669
am: 59e7d4e8ea
am: 3f273f49f1
am: f7724dfcfb
am: 4392bca7f7
am: 80965d4ee9
am: 81303e4c8f
Change-Id: I4f51ba49543c4e90c381cccb73ef51b9c707aecf
This commit is contained in:
commit
8155619ca4
|
@ -52,7 +52,12 @@ public:
|
|||
|
||||
template<size_t N>
|
||||
static size_t align(void*& buffer) {
|
||||
return align<N>( const_cast<void const*&>(buffer) );
|
||||
static_assert(!(N & (N - 1)), "Can only align to a power of 2.");
|
||||
void* b = buffer;
|
||||
buffer = reinterpret_cast<void*>((uintptr_t(buffer) + (N-1)) & ~(N-1));
|
||||
size_t delta = size_t(uintptr_t(buffer) - uintptr_t(b));
|
||||
memset(b, 0, delta);
|
||||
return delta;
|
||||
}
|
||||
|
||||
static void advance(void*& buffer, size_t& size, size_t offset) {
|
||||
|
|
Loading…
Reference in New Issue