Boost logo

Boost :

From: Powell, Gary (powellg_at_[hidden])
Date: 2004-03-09 13:19:38

I have reviewed Jan Gaspar's circular buffer.

What is your evaluation of the design?

It's a useful container. I've hacked up a couple in my coding
career and this one is very nice.

Although I've usually implemented them as an adaptor to a container.
This separates the container that I've optimized for the problem from
the circular nature of it.

What is your evaluation of the implementation?

I was able to run the sample code with gcc 3.2 no problem.

What is your evaluation of the documentation?

Doc's are fine.

What is your evaluation of the potential usefulness of the library?
Useful for both embedded systems and those with a stack that needs
to be limited. With a smart destructor you can push objects into the
circular buffer holding them until you are either "full", or have
time to deal with them.

How much effort did you put into your evaluation? Shallow-depth study?
Shallow study. One evening.

Are you knowledgeable about the problem domain?
Somewhat. I used to program for embedded systems, games, where
memory is limited. We used this sort of buffer to constrain the
the art resources from taking over the available memory.

Other comments:

Do you think the library should be accepted as a Boost library?

I vote for acceptance with or without the suggested change about
adapting a container. The comparison operators do need to be
fixed though to compare two types.

circular_buffer<int> x = { 1, 2, 3 }; // pseudo code.
circular_buffer<short> y = { 1, 2,3 };
x == y -> true

  However I would prefer that the underlying container be part of the
interface. But that's not a fixed in stone opinion.

Boost list run by bdawes at, gregod at, cpdaniel at, john at