分割可能

[req.splittable]

インスタンスを 2 つの部分に分割できるコンストラクター がある場合、タイプは分割可能です。分割コンストラクターの引数は、オリジナル・オブジェクトへの参照と、ライブラリーによって定義されるタイプ split の仮引数です。この仮引数によって、分割コンストラクターとコピー・コンストラクターが区別されます。コンストラクターを実行した後、x および新しく作成されるオブジェクトは、オリジナルの x. の 2 つのピースに相当します。

  • パーティション - 範囲を同時に処理できる 2 つのサブ範囲に分割します。

  • フォーク - 同時に実行できる 2 つのボディー (関数オブジェクト) を生成します。

Range の要件を満たすタイプは、proportional_split クラス タイプの引数で区別されるオプションの比例分割コンストラクターを定義できます。

X タイプは、次の要件を満たす場合に分割可能の要件を満たします:


分割可能の要件: 擬似署名、セマンティクス

X::X(X &x, split)

xx と新しく作成されるオブジェクトに分割します。

参照: