Rogue Wave バナー
前へマニュアルの先頭へ目次索引次へ

14.7 set 演算

set unionset intersectionset difference の演算については、8.2.7 節set コンテナクラスの説明の際にすべて説明しました。これらの演算を実装するアルゴリズムは汎用アルゴリズムであり、どんな順序付きデータ構造にも適用することができます。このアルゴリズムは、入力範囲が multiset を表す順序付きコレクションであることを想定しています。つまり、要素が繰り返されるということです。ただし、入力が set を表す場合、結果は常に set です。merge() アルゴリズムとは異なり、set アルゴリズムは、入力 set にない繰り返し要素を出力しません。

set 演算の書式はどれも同じです。2 つの入力 set は、入力反復子の対によって指定されます。出力 set は、入力反復子によって指定され、結果の値としてこの範囲の終わりが返されます。最後の引数は、任意の比較演算子です。いずれの場合でも、いかなる方法でも、出力シーケンスは入力シーケンスとオーバーラップしてはなりません。

次のプログラム例は、4 つの set アルゴリズム set_unionset_intersectionset_differenceset_symmetric_difference を説明しています。また、マージおよび和集合演算と対照させるために、merge() の呼び出しも引用しています。アルゴリズム includes() は多少異なります。2 つの入力集合は、反復子対によって指定され、比較演算子は 5 番目の任意の引数です。このアルゴリズムの戻り値は、最初の set が第 2 の集合に完全に含まれている場合は true で、そ例外の場合は false です。


前へマニュアルの先頭へ目次索引次へ
Copyright (c) 1998, Rogue Wave Software, Inc.
このマニュアルに関する誤りのご指摘やご質問は、電子メールにてお送りください。
OEM リリース, 1998 年 6 月