From 978f1c426d5a8d5e851952209abc4ab254055672 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= Date: Sun, 9 Aug 2020 23:47:41 +0200 Subject: [PATCH] Generalize "clamp_by_stored_size_type" to be able to reuse it in other containers --- include/boost/container/detail/next_capacity.hpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/include/boost/container/detail/next_capacity.hpp b/include/boost/container/detail/next_capacity.hpp index 7e6554d..12fc35e 100644 --- a/include/boost/container/detail/next_capacity.hpp +++ b/include/boost/container/detail/next_capacity.hpp @@ -18,6 +18,9 @@ # pragma once #endif +#include +#include + // container #include // container/detail @@ -71,7 +74,20 @@ struct growth_factor_100 : dtl::grow_factor_ratio<0, 2, 1> {}; +template +BOOST_CONTAINER_FORCEINLINE void clamp_by_stored_size_type(SizeType &, SizeType) +{} + +template +BOOST_CONTAINER_FORCEINLINE void clamp_by_stored_size_type(SizeType &s, SomeStoredSizeType) +{ + if (s >= SomeStoredSizeType(-1) ) + s = SomeStoredSizeType(-1); +} + } //namespace container { } //namespace boost { +#include + #endif //#ifndef BOOST_CONTAINER_DETAIL_NEXT_CAPACITY_HPP