Guarded and Prioritized Classes
The following classes have write operations that bind additional data items to each value prior to storing that value in the internal buffer. These additional data items, or decorations, vary by class and include a guard functor instance, a priority value, or both:
The guarded classes allow a separate guard functor to be associated with each value written into the buffer. The guard functor is used during read operations to determine whether the associated value is currently eligible for retrieval from the buffer.
The prioritized classes allow a separate priority value to be associated with each value written into the buffer. The priority value is used during the write operation to determine the associated value’s insertion point within the buffer, such that the set of unread values is retrieved in priority order when read from the buffer.