Group Overflow Strategy Tags
The strategy for resizing containers.

Grouped Tags Overview

Detailed Description

Changing the capacity of a container can invalidate the iterators of this container.

If no overflow tag is specified, most operations use the default overflow strategy given by DefaultOverflowImplicit or DefaultOverflowExplicit, depending on the kind of operation.

See Also

Grouped Tags Detail

typedef Tag<TagExact_> Exact;

Defined in
Expand as far as needed.

The capacity is only changed if the current capacity is not large enough. If the capacity can only be expanded up to a certain ammount, it will be increased as far as possible and the contents are limited to the new capacity.

Note that the capacity will never be shrinked. Use shrinkToFit to resize the capacity down to the current length.

typedef Tag<TagGenerous_> Generous;

Defined in
Expand if needed, get precautionary extra space.

Whenever the capacity has to be increased, the new capacity is choosen somewhat large than actually needed. This strategy limits the number of capacity changes, so that resizing takes armotized constant time. Use this strategy if the total amount of storage is unkown at first.

The new capacity is computed by computeGenerousCapacity. By default, it is guaranteed not to exceed about three halfs of the space that is used to store the data. The user can overload computeGenerousCapacity in order to change this behavior.

typedef Tag<TagInsist_> Insist;

Defined in
No capacity check.

typedef Tag<TagLimit_> Limit;

Defined in
Limit the contents to current capacity.

All entries that exceed the capacity are lost.