#pragma once /** * This file contains some using-declarations that define various kinds of * PODArray. */ #include #include namespace DB { inline constexpr size_t integerRoundUp(size_t value, size_t dividend) { return ((value + dividend - 1) / dividend) * dividend; } template , size_t pad_right_ = 0, size_t pad_left_ = 0> class PODArray; /** For columns. Padding is enough to read and write xmm-register at the address of the last element. */ template > using PaddedPODArray = PODArray; /** A helper for declaring PODArray that uses inline memory. * The initial size is set to use all the inline bytes, since using less would * only add some extra allocation calls. */ template using PODArrayWithStackMemory = PODArray, rounded_bytes, alignof(T)>>; }