52 enum :
uint32_t { kHeaderSize = Traits::kHeaderSize };
60 enum :
uint32_t { kGroupSize = Traits::kGroupSize };
65 enum :
uint32_t { kMaxSize = kHeaderSize +
sizeof(
type) * kGroupSize };
72 size_t total = (n / kGroupSize) * kFullGroupSize;
76 total += kHeaderSize + n *
sizeof(
type);
86 for (; n >= kGroupSize; n -= kGroupSize, p += kGroupSize) {
90 size += Derived::partialSize(p, n);
97 enum { kFullGroupSize = kHeaderSize + kGroupSize *
sizeof(
type) };
—— Concurrent Priority Queue Implementation ——
constexpr auto size(C const &c) -> decltype(c.size())
static size_t maxSize(size_t n)
static size_t totalSize(const T *p, size_t n)
GroupVarintTraits< T > Traits