インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

プロキシー・オブジェクト

メモリーレイアウトが抽象化されているため、accessor はプリミティブに参照を返すことができません。代わりに、プロキシー・オブジェクトを返します。プロキシーは、コンテナーとのデータのインポート/エクスポートをサポートします。プロキシー・オブジェクトの実際の型は実装に依存しますが、すべてのプロキシー・オブジェクトが同じパブリック・インターフェイスをサポートします。

accessor [index] 演算子はプロキシー・オブジェクトを返します。

const_accessor [index] 演算子は ConstProxy オブジェクトを返します。

プロキシー・オブジェクトは、value_type のデータメンバーごとに、そのデータメンバーの新しいプロキシーまたは ConstProxy を返すメンバー・アクセス・メソッドが定義された、データ・メンバー・インターフェイスを提供します。プリミティブ値全体をインポート/エクスポートする代わりに、複雑なデータ構造の中から必要なデータメンバーのプロキシーだけを取得することができます。

value_type が次の演算子をサポートする場合、プロキシー・オブジェクトはこれらの演算子をオーバーライドします。

==、!=、<、>、<=、>=、+、-、*、/、%、&&、||、&、|、^、~、*、+、-、!、+=、-=、*=、/=、%=、>>=、<<=、&=、|=、^=、++、--