circular-queue
circular-queue copied to clipboard
Add in `reserve_exact` and `truncate`
Adding in reserve_exact and truncate would allow the circular queue to be resized. This behavior was brought up in cjbassi/ytop#96 where circular-queue would be a good choice: however, resizing would be required and the most ergonimic way I can find to do this would be to create a new circular queue and copying over all the old elements.
Would you be open to reserve_exact and truncate being added?
So, the way CircularQueue works does indeed mean that the simplest (the only safe?) method of resizing in the general case is creating a new vector and moving the elements over. I would be open to introducing those methods into CircularQueue.
Should it be reserve or reserve_exact or maybe some other name? On a Vec, both of them say the resulting capacity will actually be >= the requested capacity...
I thought the difference between reserve and reserve_exact was that reserve_exact would only reserve enough for the additional amount, but I see that that is not the case. I think that reserve should be just fine instead of reserve_exact and makes it easy for people to find coming from Vec or other collections to understand the purpose.