From 7206ccfa01833f1c2ff25a1653972274b35cfb1e Mon Sep 17 00:00:00 2001 From: I Date: Mon, 21 Nov 2016 00:09:22 +0900 Subject: [PATCH] Update splice.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ・(3), (4)の概要を修正 ・イテレーターの範囲が開区間・閉区間になっているのを半開区間に修正 ・(5), (6)の要件を追加 ・C++11以降の計算量について追記 ・例外は全て投げないのでまとめた --- reference/list/splice.md | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/reference/list/splice.md b/reference/list/splice.md index 27e631c041..3ad8bd3922 100644 --- a/reference/list/splice.md +++ b/reference/list/splice.md @@ -31,15 +31,16 @@ void splice(const_iterator position, list&& x, 他の`list`オブジェクトから、要素を移動する。 - (1), (2) : `position`の次の要素の前に、`x`の全ての要素を移動する。 -- (3), (4) : `position`の次の要素の前に、`x`の要素のうち`i`の次の要素を移動する。 -- (5), (6) : `position`の次の要素の前に、`x`の要素のうち`(first, last)`の範囲を移動する。 +- (3), (4) : `position`の次の要素の前に、`x`の要素のうち`i`の指す要素を移動する。 +- (5), (6) : `position`の次の要素の前に、`x`の要素のうち`[first, last)`の範囲を移動する。 ##要件 -- 第1パラメータ`position`が、`[`[`begin()`](begin.md)`,` [`end()`](end.md)`]`の範囲の間接参照可能なイテレータであること。 +- 第1パラメータ`position`が、`[`[`begin()`](begin.md)`,` [`end()`](end.md)`)`の範囲の間接参照可能なイテレータであること。 - `i`, `first`, `last`が、`x`のイテレータであること。 - (1), (2) : `&x != this`であること +- (5), (6) : `position`が`[first, last)`に含まれる場合、未定義動作。 ##戻り値 @@ -47,14 +48,18 @@ void splice(const_iterator position, list&& x, ##計算量 -- (1), (2) : `x`の要素数に対して線形時間 -- (3), (4) : 定数時間 -- (5), (6) : `(first, last)`の要素数に対して線形時間 +- C++03まで + - (1), (2) : `x`の要素数に対して線形時間 + - (3), (4) : 定数時間 + - (5), (6) : `[first, last)`の要素数に対して線形時間 +- C++11から + - (1), (2) : 定数時間 + - (3), (4) : 定数時間 + - (5), (6) : `&x == this`の場合、定数時間。そうでない場合、`[first, last)`の要素数に対して線形時間 ##例外 -- (1), (2) : 投げない -- (3), (4) : 投げない +- 投げない ##備考