📄 extensibleassociativeseq.rst
字号:
.. Sequences/Concepts//Extensible Associative Sequence |80.. Copyright Aleksey Gurtovoy, David Abrahams 2007... Distributed under the Boost.. Software License, Version 1.0. (See accompanying.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)Extensible Associative Sequence===============================Description-----------An |Extensible Associative Sequence| is an |Associative Sequence| that supports insertion and removal of elements. In contrast to |Extensible Sequence|, |Extensible Associative Sequence| does not provide a mechanism for inserting an element at a specific position. Expression requirements-----------------------|In the following table...| ``s`` is an |Associative Sequence|, ``pos`` is an iterator into ``s``, and ``x`` and ``k`` are arbitrary types.In addition to the |Associative Sequence| requirements, the following must be met:+-------------------------------+---------------------------------------+---------------------------+| Expression | Type | Complexity |+===============================+=======================================+===========================+| ``insert<s,x>::type`` | |Extensible Associative Sequence| | Amortized constant time |+-------------------------------+---------------------------------------+---------------------------+| ``insert<s,pos,x>::type`` | |Extensible Associative Sequence| | Amortized constant time |+-------------------------------+---------------------------------------+---------------------------+| ``erase_key<s,k>::type`` | |Extensible Associative Sequence| | Amortized constant time |+-------------------------------+---------------------------------------+---------------------------+| ``erase<s,pos>::type`` | |Extensible Associative Sequence| | Amortized constant time |+-------------------------------+---------------------------------------+---------------------------+| ``clear<s>::type`` | |Extensible Associative Sequence| | Amortized constant time |+-------------------------------+---------------------------------------+---------------------------+Expression semantics--------------------|Semantics disclaimer...| |Associative Sequence|.+-------------------------------+-------------------------------------------------------------------+| Expression | Semantics |+===============================+===================================================================+| ``insert<s,x>::type`` | Inserts ``x`` into ``s``; the resulting sequence ``r`` is || | equivalent to ``s`` except that || | :: || | || | at< r, key_type<s,x>::type >::type || | || | is identical to ``value_type<s,x>::type``; see |insert|. |+-------------------------------+-------------------------------------------------------------------+| ``insert<s,pos,x>::type`` | Equivalent to ``insert<s,x>::type``; ``pos`` is ignored; || | see |insert|. |+-------------------------------+-------------------------------------------------------------------+| ``erase_key<s,k>::type`` | Erases elements in ``s`` associated with the key ``k``; || | the resulting sequence ``r`` is equivalent to ``s`` except || | that ``has_key<r,k>::value == false``; see |erase_key|. |+-------------------------------+-------------------------------------------------------------------+| ``erase<s,pos>::type`` | Erases the element at a specific position; equivalent to || | ``erase_key<s, deref<pos>::type >::type``; see |erase|. |+-------------------------------+-------------------------------------------------------------------+| ``clear<s>::type`` | An empty sequence concept-identical to ``s``; see || | |clear|. |+-------------------------------+-------------------------------------------------------------------+.. Invariants ---------- For any extensible associative sequence ``s`` the following invariants always hold: Models------* |set|* |map|.. * |multiset|See also--------|Sequences|, |Associative Sequence|, |insert|, |erase|, |clear|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -