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_byorgrow_to_at_leastmethod.-
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
nelements.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.