How it works...

Most of the interface of VecDeque is identical to Vec. You can even optimize them the same way with with_capacity and its swap_remove equivalents. The differences come from the fact that VecDeque is more oriented around access from both ends. As such, multiple methods from Vec that implicitly affect the last element have two equivalents in VecDeque: one for the front, and one for the back. These are:

  • push, which becomes push_front [46] and push_back [11]
  • pop, which becomes pop_front [16] and pop_back [55]
  • swap_remove, which becomes remove_front [78] and remove_back [73]

A VecDeque has the ability to freely append or remove elements from both ends in a performant way, which makes it an ideal candidate for a First In, First Out (FIFO) queue [24]. In fact, this is how it's nearly always used.

When you see yourself in a situation where you want to respond to any kind of requests in the order they arrive in and remove them again afterwards, a VecDeque is an ideal tool for the job.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.129.211.166