4#ifndef SkContainers_DEFINED
5#define SkContainers_DEFINED
18 , fMaxCapacity{maxCapacity} {}
26 static constexpr size_t RoundUp(
size_t capacity) {
27 return SkAlignTo(capacity *
sizeof(
T), kCapacityMultiple) /
sizeof(
T);
35 static constexpr int64_t kCapacityMultiple = 8;
38 size_t roundUpCapacity(int64_t capacity)
const;
41 size_t growthFactorCapacity(
int capacity,
double growthFactor)
const;
43 const size_t fSizeOfT;
44 const int64_t fMaxCapacity;
static constexpr size_t SkAlignTo(size_t x, size_t alignment)
SK_SPI void sk_report_container_overflow_and_die()
SkSpan< std::byte > sk_allocate_throw(size_t size)
SkSpan< std::byte > sk_allocate_canfail(size_t size)
SkContainerAllocator(size_t sizeOfT, int maxCapacity)
static constexpr size_t RoundUp(size_t capacity)