12#ifndef ROC_CORE_ALIGN_OPS_H_
13#define ROC_CORE_ALIGN_OPS_H_
35 static inline size_t align_as(
size_t size,
size_t alignment) {
40 if (size % alignment != 0) {
41 size += alignment - size % alignment;
48 static inline size_t pad_max(
size_t size) {
53 static inline size_t pad_as(
size_t size,
size_t alignment) {
58 size_t new_size = size / alignment * alignment;
59 if (new_size < size) {
60 new_size += alignment;
63 return (new_size - size);
static size_t pad_max(size_t size)
Return padding needed for maximum alignment.
static size_t align_as(size_t size, size_t alignment)
Return size aligned to given alignment.
static size_t pad_as(size_t size, size_t alignment)
Return padding needed for given alignment.
static size_t align_max(size_t size)
Return size aligned to maximum alignment.
static size_t max_alignment()
Get maximum alignment for current platform.
static size_t size()
Get storage size.
Commonly used types and functions.