/
githubmirror
/
nbs
Обзор
Документация
Войти
/
githubmirror
/
nbs
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
library/cpp/balloc/setup/alloc.h
35 строк
1017 B
qkrorlqr
Initial NBS OpenSource export
28 апр 2023, 21:54
28 апр 2023, 21:54
783a858
Код
Авторство
О чём код?
#pragma once #include <stddef.h> namespace NAllocSetup { void ThrowOnError(size_t allocSize); void SetThrowConditions(size_t currSize, size_t maxSize); void SetSoftLimit(size_t softLimit); void SetHardLimit(size_t hardLimit); void SetAllocationThreshold(size_t allocationThreshold); void SetSoftReclaimDivisor(size_t softReclaimDivisor); void SetAngryReclaimDivisor(size_t angryReclaimDivisor); bool CanAlloc(size_t allocSize, size_t totalAllocSize); bool NeedReclaim(size_t gcSize_, size_t counter); size_t GetTotalAllocSize(); size_t GetCurSize(); size_t GetGCSize(); size_t GetSoftLimit(); size_t GetHardLimit(); size_t GetAllocationThreshold(); size_t GetSoftReclaimDivisor(); size_t GetAngryReclaimDivisor(); bool IsEnabledByDefault(); struct TAllocGuard { TAllocGuard(size_t maxSize) { SetThrowConditions(0, maxSize); } ~TAllocGuard() { SetThrowConditions(0, 0); } }; }