c++boost.gif Container Concepts

Vector

Description

Vectorは 密ベクトル、圧縮されたベクトル、疎ベクトルに共通する側面を記述する。

Refinement of

Vector Expression .

Associated types

Value type value_type ベクトルの型
Distance type difference_type 二つのベクトルのイテレータ間の距離をあらわす符号付き汎整数型
Size type size_type ベクトルのdistance_typeのうちの全ての非負値を表現できる符号無し汎整数型

Notation

V Vectorのモデルの型
v V型のオブジェクト
n, i size_typeへ変換可能な型のオブジェクト
t value_typeへ変換可能な型のオブジェクト

Definitions

Valid expressions

Vector Expression で定義された式に加えて、以下が正当である必要がある。

名前 型に関する要求事項 戻り型
Sizing constructor V v (n)   V
Insert v.insert (i, t) v が mutableであること。 void
Erase v.erase (i) v が mutableであること。 void
Clear v.clear () v が mutableであること。 void
Resize v.resize (n) v が mutableであること。 void

Expression semantics

式のセマンティックスはVector Expressionと異なっていたり、もしくは記述のない場合に限って定義される。

名前 前提条件 セマンティクス 事後条件
Sizing constructor V v (n) n >= 0 n要素のベクトルを作成する。 v.size () == n.
Insert v.insert (i, t) 0 <= i < v.size () であり且つ、
v (i)value_type ()のコピー。
tのコピーがvに挿入される。 v (i)tのコピー。
Erase v.erase (i) 0 <= i < v.size () v (i)を破壊し、value_type ()と置き換える。 v (i)value_type ()のコピー。
Clear v.clear ()   for (i = 0; i < v.size (); ++ i)
  v.erase (i); と同じ。
 
Resize v.resize (n)   n要素をもてるようにベクトルを変更する。 v.size () == n.

Complexity guarantees

サイズを指定したコンストラクタ(sizing constructor)の実行時の計算量はベクトルのサイズに対して線形である。

挿入と削除の実行時の計算量はベクトルによって異なる。

Invariants

Models

Matrix

Description

Matrix は密行列、圧縮された行列、疎行列に共通する側面を記述する。

Refinement of

Matrix Expression .

Associated types

Value type value_type The type of the matrix.
Distance type difference_type 二つのmatrixのイテレータ間の距離をあらわす符号付の汎整数型
Size type size_type matrixのdistance typeのうちの全ての非負値を表現できる符号無し汎整数型

Notation

M Matrixモデルの型
m M型のオブジェクト
n1, n2, i, j size_typeに変換可能な型のオブジェクト
t value_typeに変換可能な型のオブジェクト

Definitions

Valid expressions

Matrix Expressionで定義された式に加えて、以下が正当である必要がある。

名前 型に関する要求事項 戻り値
Sizing constructor M m (n1, n2)   M
Insert m.insert (i, j, t) mがmutableであること void
Erase m.erase (i, j) mがmutableであること void
Clear m.clear () mがmutableであること void
Resize m.resize (n1, n2) mがmutableであること void

Expression semantics

式のセマンティックスはMatrix Expression と異なっていたり、もしくは記述のない場合に限って定義される。

名前 前提条件 セマンティクス 事後条件
Sizing constructor M m (n1, n2) n1 >= 0 and n2 >= 0 n1 n2列の行列を作成する。 m.size1 () == n1 且つ m.size2 () == n2.
Insert m.insert (i, j, t) 0 <= i < m.size1 (),
0 <= j < m.size2 ()and
m (i, j)
is a copy of value_type ().
tのコピーがmへ挿入される。 m (i, j)tのコピー。
Erase m.erase (i, j) 0 <= i < m.size1 ()and
0 <= j < m.size2
m (i, j)要素を破壊し、value_type ()と置き換える。 m (i, j)value_type (),のコピー。
Clear m.clear ()   for (i = 0; i < m.size1 (); ++ i)
  for (j = 0; j < m.size2 (); ++ j)
    m.erase (i, j);と同じ。
 
Resize m.resize (n1, n2)   n1 n2列が入るようにベクトルを変更する。 m.size1 () == n1 and m.size2 () == n2.

Complexity guarantees

サイズを指定するコンストラクタ(sizeing constructor)の実行時の計算量は行列サイズの二次に比例する。

挿入、削除の実行時における計算量は行列によって異なる。

Invariants

Models


Copyright (©) 2000-2002 Joerg Walter, Mathias Koch
Permission to copy, use, modify, sell and distribute this document is granted provided this copyright notice appears in all copies. This document is provided ``as is'' without express or implied warranty, and with no claim as to its suitability for any purpose.

Japanese Translation Copyright (©) 2003 Satoshi Fujimoto
オリジナルの、及びこの著作権表示が全ての複製の中に現れる限り、この文書の複製、利用、変更、販売そして配布を認める。このドキュメントは 「あるがまま」に提供されており、いかなる明示的、暗黙的保証も行わない。また、いかなる目的に対しても、その利用が適していることを関知しない。

Japanese Translation Last revised: 4/8/2003

原文: Container Concepts Boost 1.30.0