If you float around Computer Science / Programming circles enough, it’s likely that you’ve come across the term “circular queue”. A circular queue is a queue of <something> that is fixed in size, and when the end of the queue has been reached, it circles back to the front and starts pushing items from there. If the head catches up to the tail, the queue is said to be full. In C style languages, circular queues can be implemented using pointers fairly easily. In my case though, I don’t have pointers, so I’m just keeping two variables (head, tail) that tell me where the import parts are.
Some people might wonder “Why on earth are you implementing a queue by hand?”, which is valid question. The answer is because there is now STL-type library in Limbo, so implementation of a queue falls into my lap. I suppose this post doesn’t have much of point, except to say “Use the friggin’ library if it’s available.”. For one, it’s already been done, and two, it’s probably bug free.