Name: Anonymous 2011-01-06 10:01
Hi /prog/
Some time ago I started to write a well designed library of useful algorithms in C. As long as I needed more stuff, I simply added pieces.
Today I'm pretty bored, so I'd like to add an implementation for circular buffers. Since however I don't really need it (it's just for fun), I'm wondering which is the most useful semantics for a circular buffer.
For instance:
[list]
[*] Is it worthy to write a primitive which applies a function on every availabe element from the oldest to the most recent?
[*] What if the buffer is full and I want to insert a new element? Should I overwrite the oldest one or should I make the request fail instead?
[/list]
Which are, in general, the kind of functionalities you'll prefer?
Some time ago I started to write a well designed library of useful algorithms in C. As long as I needed more stuff, I simply added pieces.
Today I'm pretty bored, so I'd like to add an implementation for circular buffers. Since however I don't really need it (it's just for fun), I'm wondering which is the most useful semantics for a circular buffer.
For instance:
[list]
[*] Is it worthy to write a primitive which applies a function on every availabe element from the oldest to the most recent?
[*] What if the buffer is full and I want to insert a new element? Should I overwrite the oldest one or should I make the request fail instead?
[/list]
Which are, in general, the kind of functionalities you'll prefer?