std::deque<T,Allocator>::shrink_to_fit (3) - Linux Manuals

std::deque<T,Allocator>::shrink_to_fit: std::deque<T,Allocator>::shrink_to_fit

NAME

std::deque<T,Allocator>::shrink_to_fit - std::deque<T,Allocator>::shrink_to_fit

Synopsis


void shrink_to_fit(); (since C++11)


Requests the removal of unused capacity.
It is a non-binding request to reduce the memory usage without changing the size of the sequence. It depends on the implementation whether the request is fulfilled.
All iterators and references are invalidated. Past-the-end iterator is also invalidated.

Parameters


(none)

Type requirements


-
T must meet the requirements of MoveInsertable.

Return value


(none)

Complexity


At most linear in the size of the container.

Notes


If an exception is thrown other than by T's move constructor, there are no effects.

Example


// Run this code


  #include <deque>


  int main() {
      std::deque<int> nums(1000, 42);
      nums.push_front(1);
      nums.pop_front();


      nums.clear();


      // nums now contains no items, but it may still be holding allocated memory.
      // Calling shrink_to_fit may free any unused memory.
      nums.shrink_to_fit();
  }

See also


     returns the number of elements
size (public member function)