SGI

多重有序关联容器

类别:容器 组件类型:概念

描述

多重有序关联容器是一个 有序关联容器,它同时也是一个 多重关联容器。也就是说,它是一个 有序关联容器,其中容器中的任何数量的元素都可以具有相等的键。

细化为

有序关联容器多重关联容器

关联类型

无,除了 有序关联容器多重关联容器 需求中描述的那些。

表示法

X 一个作为多重有序关联容器模型的类型
a 类型为X
t 类型为X::value_type
k 类型为X::key_type
p, q 类型为X::iterator
c 类型为X::key_compare

定义

有效表达式

除了在 有序关联容器多重关联容器 中定义的表达式外,以下表达式也必须有效。
名称 表达式 类型需求 返回类型
范围构造函数
X(i, j)
X a(i, j);
ij输入迭代器,它们的可转换值为t [1]. X
使用比较的范围构造函数
 
X(i, j, c)
X a(i, j, c);
ij输入迭代器,它们的可转换值为t [1]. c是一个key_compare. X
类型对象 插入提示   a.insert(p, t)
迭代器 插入范围 ij输入迭代器,它们的可转换值为X::value_type. [1] a.insert(i, j)

void

名称 表达式 表达式语义 前提条件 语义
范围构造函数
X(i, j)
X a(i, j);
后置条件[i,j) 是一个有效范围。后置条件创建一个关联容器,其中包含范围中的所有元素。容器使用的比较对象是. key_compare()size()i等于从j.
使用比较的范围构造函数
 
X(i, j, c)
X a(i, j, c);
后置条件[i,j) 是一个有效范围。后置条件创建一个关联容器,其中包含范围c. key_compare()size()i等于从j.
类型对象 插入提示 pa. t中的非奇异迭代器a插入p进入 a。参数t是一个提示:它指向搜索开始的位置。返回值是一个可解除引用的迭代器,它指向刚刚插入的元素。a包含一个键与1.
迭代器 插入范围 相同的元素。[i,j) 的大小增量为[i, j)t等同于相同的元素。a.insert(t)a. 对于每个对象a包含一个键与,由范围.

中的迭代器指向。每个元素都插入到

中。的大小为j - i复杂性保证是范围的大小。但它们在复杂性保证中是线性的,如果范围已经由value_comp().

按提示插入通常是对数的,但如果t立即插入之前p.

插入范围通常在的大小为j - i复杂性保证是范围的大小。但它们在复杂性保证中是线性的,如果范围已经由value_comp().

不变

模型

说明

[1] 目前(1998 年初),并非所有编译器都支持“成员模板”。如果您的编译器支持成员模板,那么ij可以属于任何符合 输入迭代器 要求的类型。但是,如果您的编译器还不支持成员模板,那么ij必须属于类型const T*或类型X::const_iterator.

另请参见

关联容器分类关联容器唯一分类关联容器 散列关联容器
[Silicon Surf] [STL Home]
版权 © 1999 Silicon Graphics, Inc. 保留所有权利。 TrademarkInformation