diff --git a/doc/circular_buffer.html b/doc/circular_buffer.html index 0f65d77..e52d492 100644 --- a/doc/circular_buffer.html +++ b/doc/circular_buffer.html @@ -2121,24 +2121,25 @@ Swap the contents of two circular buffers.
The formal review revealed that the library is lack of adaptors which would provide additional functionality.
-Yes, there is the circular_buffer_space_optimized adaptor, but it is
-the only one. It
-would be good to have an adaptor (of the base containter and also it's space optimized
-version) which would provide "hooks" when an element is about to be
-overwritten optionally when the buffer is about to uderflow....
The formal review revealed that the library is lack of adaptors which would provide additional
+functionality. Yes, there is the circular_buffer_space_optimized adaptor, but it is
+the only one. Particularly it would be nice to have an adaptor (of the base container and also it's space optimized
+version) that would provide "hooks" - callback methods - which would be invoked when an element is
+about to be overwritten optionally when the buffer is about to underflow. The callbacks can be then used
+e.g. for invoking some method on the element being overwritten or for throwing an underflow/overflow
+exception.
+
The circular_buffer has a short history. Its first version was a std::deque adaptor. This container was not very
effective because of many reallocations when inserting/removing an element.
Thomas Wenish did a review of this version and motivated me to create a circular
buffer which allocates memory at once when created.
The second version adapted std::vector but it has been abandoned
soon because of limited control over iterator invalidation.
The current version is +
The current version is a full-fledged STL compliant container. Pavel Vozenilek did a thorough review of this version and came with many good ideas and improvements. Also, I would like to - thank Howard Hinnant, Nigel Stewart and everyone who participated at the formal review for valuable + thank Howard Hinnant, Nigel Stewart and everyone who participated at the formal review for valuable comments and ideas.