4#ifndef _Stroika_Foundation_Containers_Support_ReserveTweaks_h_
5#define _Stroika_Foundation_Containers_Support_ReserveTweaks_h_ 1
7#include "Stroika/Foundation/StroikaPreComp.h"
12namespace Stroika::Foundation::Containers::Support::ReserveTweaks {
16 constexpr size_t kDefaultMinChunkSize = 16;
28 constexpr size_t GetScaledUpCapacity (
size_t targetSize,
size_t eltSizeInBytes = 1,
size_t minChunk = kDefaultMinChunkSize);
35 template <
typename CONTAINER>
36 constexpr optional<size_t> GetScaledUpCapacity4AddN (
const CONTAINER& c,
size_t addN,
size_t minChunk = kDefaultMinChunkSize);
44 template <
typename CONTAINER>
45 void Reserve4AddN (CONTAINER& c,
size_t n,
size_t minChunk = kDefaultMinChunkSize);
53 template <
typename CONTAINER>
54 void Reserve4Add1 (CONTAINER& c,
size_t minChunk = kDefaultMinChunkSize);
63#include "ReserveTweaks.inl"