Capacity

size_type size() const

Returns: number of elements in the vector. The result may include elements that are under construction by concurrent calls to the grow_by or grow_to_at_least method.

bool empty( ) const

Returns: size( )==0.

size_type capacity( ) const

Returns: maximum size the vector can grow to without allocating more memory.

void reserve( size_type n )

Returns: reserve space for at least n elements.

Throws: std::length_error if n>max_size( ).

size_type max_size( ) const

Returns: highest size vector that might be representable.

Warning

max_size() is a requirement on STL containers. The C++ standard defines it as "size() of the largest possible container,” which is vague. Threading Building Blocks does what most STL libraries do and computes max_size() on the very optimistic assumption that the machine’s address space is fully populated with usable memory, and that the container is the only object in this space. In practice, if you allocate a container of size max_size(), you will most likely get an out-of-memory exception. In the freak event that you succeed, the next request will surely run out of memory.

Get Intel Threading Building Blocks now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.