Spec-Zone.ru › C++

std::hive<T,Allocator>::is_within_hard_limits

static constexpr bool is_within_hard_limits( std::hive_limits limits ) noexcept;
(начиная с C++26)

Проверяет, находится ли заданная вместимость блока limits в пределах жёстких ограничений вместимости блока. Эквивалентно

constexpr auto hard{block_capacity_hard_limits()};
return hard.min <= limits.min and limits.min <= limits.max and limits.max <= hard.max;

Возвращаемое значение

true, если limits находится в пределах жёстких ограничений вместимости блока.

Сложность

Константная.

Пример

#include <hive>
#include <iostream>

using Garage = std::hive<int>;

static_assert(
    Garage::is_within_hard_limits(Garage::block_capacity_hard_limits()) &&
    Garage::is_within_hard_limits(Garage::block_capacity_default_limits())
);

int main()
{
    auto limits{std::hive<int>::block_capacity_hard_limits()};

    auto print = [](std::hive_limits limits)
    {
        std::cout << "Limits {min: " << limits.min << ", max: " << limits.max << "} is ";
        std::cout << (Garage::is_within_hard_limits(limits) ? "within" : "without")
                  << " block capacity hard limits\n";
    };
    print(limits);
    limits.min = 0;
    print(limits);
}

Возможный вывод:

Limits {min: 3, max: 255} is within block capacity hard limits
Limits {min: 0, max: 255} is without block capacity hard limits

См. также

capacity
возвращает количество элементов, которые могут храниться в выделенной в данный момент памяти
(открытая функция-член)
reserve
резервирует память
(открытая функция-член)
shrink_to_fit
уменьшает потребление памяти, освобождая неиспользуемую память
(открытая функция-член)
trim_capacity
освобождает зарезервированные блоки и соответственно уменьшает вместимость
(открытая функция-член)
block_capacity_limits
возвращает текущие ограничения вместимости блока
(открытая функция-член)
block_capacity_default_limits
[static]
возвращает ограничения вместимости блока по умолчанию
(открытая статическая функция-член)
block_capacity_hard_limits
[static]
возвращает жёсткие ограничения вместимости блока
(открытая статическая функция-член)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/container/hive/is_within_hard_limits

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API