Buffer - Boost C++ 函数库
缓冲区概念
缓冲区是指可以放入和取出对象的容器。缓冲区
概念有很少的要求。它不要求存储对象的特定顺序,也不要求取出对象的特定顺序,但是,通常存在某种排序策略。
符号约定
B | 是模拟缓冲区的类型。 |
T | 是 的值类型B. |
t | 是一个对象,类型为T. |
成员
要模拟缓冲区概念,类型必须具有以下成员。
成员 | 描述 |
value_type |
存储在缓冲区中的对象的类型。值类型必须是可赋值的。 |
size_type |
一个无符号整数类型,用于表示缓冲区中的对象数量。 |
void push(const T& t) |
插入t放入缓冲区。size()将增加一。 |
void pop() |
从缓冲区移除一个对象。size()将减少一。前置条件empty()是false. |
T& top() |
返回缓冲区中某个对象的可变引用。前置条件empty()是false. |
const T& top() const |
返回缓冲区中某个对象的常量引用。前置条件empty()是false. |
size_type size() const |
返回缓冲区中的对象数量。不变量size() >= 0. |
bool empty() const |
等同于b.size() == 0. |
复杂性保证
- push(), pop()和size()复杂度必须是广义队列大小的线性时间复杂度以内。
- top()andempty()复杂度必须是摊还常数时间。
模型