Opened 21 months ago

Closed 19 months ago

Last modified 15 months ago

#12273 closed Feature Requests (fixed)

boost::container::static_vector max_size() and capacity() should be constant expressions

Reported by: jim.king@… Owned by: Ion Gaztañaga
Milestone: Boost 1.62.0 Component: container
Version: Boost 1.61.0 Severity: Optimization
Keywords: Cc:


The capacity of a static_vector is a compile time constant. One should be able to retrieve the capacity at compile time as a constant expression. In the current implementation, one must execute a runtime method of either capacity() or max_size() to obtain the capacity. There are use cases where one would want to create another container that has the same capacity as the static_vector will have, so to improve ease of use I would propose adding:

BOOST_STATIC_CONSTANT(size_type, capacity = Capacity) BOOST_STATIC_CONSTANT(size_type, max_size = Capacity)

following the set of typedefs in the class.

Attachments (0)

Change History (4)

comment:1 Changed 19 months ago by Ion Gaztañaga

Resolution: fixed
Status: newclosed

Thanks for the request. Constant "static_capacity" has been added to static_vector/small_vector in commit:

comment:2 Changed 15 months ago by jking@…

According to the pull request this is in the 1.62 tag - the milestone for this issue needs to be updated to indicate that.

comment:3 Changed 15 months ago by anonymous

Milestone: To Be DeterminedBoost 1.63.0

comment:4 Changed 15 months ago by anonymous

Milestone: Boost 1.63.0Boost 1.62.0

Modify Ticket

Change Properties
Set your email in Preferences
as closed The owner will remain Ion Gaztañaga.
The resolution will be deleted.

Add Comment

E-mail address and name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.