动态缓冲区封装了可能根据需要自动调整大小的内存存储。
动态缓冲区类型 X 除了满足下面列出的要求外,还必须满足 CopyConstructible (C++ 标准, [copyconstructible]) 类型的要求。
在下表中,X 表示动态缓冲区类,x 表示类型为 X& 的值,x1 表示类型为 const X& 的值,pos 和 n 表示类型为 size_t 的值,u 表示一个标识符。
表 14. DynamicBuffer_v2 要求
|
表达式 |
type |
断言/注 |
|---|---|---|
|
|
满足 常量缓冲区序列 要求的类型。 |
此类型将底层内存表示为 @c const_buffer 对象序列。 |
|
|
满足 可变缓冲区序列 要求的类型。 |
此类型将底层内存表示为 @c mutable_buffer 对象序列。 |
|
|
|
返回底层内存的大小(以字节为单位)。 |
|
|
|
返回底层内存允许的最大大小。 |
|
|
|
返回底层内存在无需重新分配的情况下可以增长到的最大大小。 |
|
|
|
返回一个常量缓冲区序列 |
|
|
|
返回一个可变缓冲区序列 |
|
|
要求: |
|
|
|
从底层内存的末尾移除 |
|
|
|
从底层内存的开头移除 |