<div dir="ltr"><div dir="ltr">On Thu, May 23, 2019 at 12:15 PM Shawn Rutledge <<a href="mailto:Shawn.Rutledge@qt.io">Shawn.Rutledge@qt.io</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> On 23 May 2019, at 07:51, Konstantin Shegunov <<a href="mailto:kshegunov@gmail.com" target="_blank">kshegunov@gmail.com</a>> wrote:<br>> Yes, exactly like, though it'd need to regrow automatically; and on regrow it may need to normalize the order of elements (hence the "amortized”).<br>
<br>
When should it regrow?  It’s part of the definition that it overwrites the oldest elements when you try to insert too much data.<br></blockquote><div><br>Yes, I meant specifically for the QQueue, we'd want it to grow so we can accommodate the data. The most obvious thing that comes to mind for the regrowth is when you need an element and the begin iterator (i.e. pointer) is end iterator + 1. It does waste one element, but on the other hand allows to easily distinguish between an empty buffer and a full one.<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I’m a big fan of the concept, have actually need one of these several times, and would like to see it moved to qtbase and made public</blockquote><div><br>Makes sense to me.<br></div></div></div>