@@ -124,8 +124,6 @@ struct hash_opt
124124
125125typedef hash_opt<false , false , false , false > hash_assoc_defaults;
126126
127- #endif // !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
128-
129127// !This option setter specifies if nodes also store the hash value
130128// !so that search and rehashing for hash-expensive types is improved.
131129// !This option might degrade performance for easy to hash types (like integers)
@@ -178,6 +176,8 @@ using hash_assoc_options_t = typename boost::container::hash_assoc_options<Optio
178176
179177#endif
180178
179+ #endif // !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
180+
181181// //////////////////////////////////////////////////////////////
182182//
183183//
@@ -212,9 +212,7 @@ struct default_if_zero<0u, DefaultN>
212212 BOOST_STATIC_CONSTEXPR std::size_t value = DefaultN;
213213};
214214
215-
216-
217- #endif
215+ #endif // !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
218216
219217#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
220218
@@ -246,7 +244,7 @@ class default_next_capacity;
246244
247245typedef vector_opt<void , void > vector_null_opt;
248246
249- #else // !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
247+ #else
250248
251249// !This growth factor argument specifies that the container should increase its
252250// !capacity a 50% when existing capacity is exhausted.
@@ -262,20 +260,30 @@ struct growth_factor_100{};
262260
263261#endif // !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
264262
265- // !This option setter specifies the growth factor strategy of the underlying vector.
263+ // !This option setter specifies the growth factor strategy of the
264+ // !underlying vector.
265+ // !
266+ // !\tparam GrowthFactor The function object that implements the growth factor
267+ // !
268+ // ! The GrowthFactor function object must offer the following interface:
269+ // !
270+ // !\code
271+ // !template<class SizeType>
272+ // !SizeType operator()(SizeType cur_cap, SizeType add_min_cap, SizeType max_cap) const;
273+ // !\endcode
274+ // !
275+ // !Where:
276+ // ! * `cur_cap` is the current capacity
277+ // ! * `add_min_cap` is the minimum additional capacity we want to achieve
278+ // ! * `max_cap` is the maximum capacity that the allocator or other factors allow.
266279// !
267- // !\tparam GrowthFactor A function object that has the following signature:<br/><br/>
268- // !`template<class SizeType>`<br/>
269- // !`SizeType operator()(SizeType cur_cap, SizeType add_min_cap, SizeType max_cap) const;`.<br/><br/>
270- // !`cur_cap` is the current capacity, `add_min_cap` is the minimum additional capacity
271- // !we want to achieve and `max_cap` is the maximum capacity that the allocator or other
272- // !factors allow. The implementation should return a value between `cur_cap` + `add_min_cap`
273- // !and `max_cap`. `cur_cap` + `add_min_cap` is guaranteed not to overflow/wraparound,
274- // ! but the implementation should handle wraparound produced by the growth factor.
280+ // !The implementation should return a value between `cur_cap + add_min_cap`
281+ // !and `max_cap`. The implementation should handle the potential wraparound produced
282+ // !by the growth factor and always succeed with a correct value.
275283// !
276284// !Predefined growth factors that can be passed as arguments to this option are:
277- // !\c boost::container::growth_factor_50
278- // !\c boost::container::growth_factor_60
285+ // !\c boost::container::growth_factor_50,
286+ // !\c boost::container::growth_factor_60 and
279287// !\c boost::container::growth_factor_100
280288// !
281289// !If this option is not specified, a default will be used by the container.
@@ -630,7 +638,8 @@ typedef deque_opt<0u, 0u, void, false> deque_null_opt;
630638
631639// ! Helper metafunction to combine options into a single type to be used
632640// ! by \c boost::container::deque.
633- // ! Supported options are: \c boost::container::block_bytes and \c boost::container::block_size
641+ // ! Supported options are: \c boost::container::block_bytes, \c boost::container::block_size,
642+ // ! \c boost::container::stored_size and \c boost::container::reservable
634643#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) || defined(BOOST_CONTAINER_VARIADIC_TEMPLATES)
635644template <class ...Options>
636645#else
@@ -682,8 +691,9 @@ BOOST_INTRUSIVE_OPTION_CONSTANT(block_size, std::size_t, BlockSize, block_size)
682691
683692// !This option specifies if the container has reserve/capacity-like features
684693// !
685- // !For some containers (like deque) this value changes the internal representation
686- // !so that memory for elements can be allocated in advance to improve performance.
694+ // !For some containers (like deque) this option might change the internal representation or
695+ // !behavior so that memory for elements can be allocated in advance in
696+ // !order to improve performance.
687697// !
688698// !\tparam Reservable An boolean value.
689699BOOST_INTRUSIVE_OPTION_CONSTANT (reservable, bool , Reservable, reservable)
0 commit comments