インテル® C++ コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
メモリーレイアウトが抽象化されているため、accessor はプリミティブに参照を返すことができません。代わりに、プロキシー・オブジェクトを返します。プロキシーは、コンテナーとのデータのインポート/エクスポートをサポートします。プロキシー・オブジェクトの実際の型は実装に依存しますが、すべてのプロキシー・オブジェクトが同じパブリック・インターフェイスをサポートします。
各 accessor [index] 演算子はプロキシー・オブジェクトを返します。
各 const_accessor [index] 演算子は ConstProxy オブジェクトを返します。
プロキシー・オブジェクトは、value_type のデータメンバーごとに、そのデータメンバーの新しいプロキシーまたは ConstProxy を返すメンバー・アクセス・メソッドが定義された、データ・メンバー・インターフェイスを提供します。プリミティブ値全体をインポート/エクスポートする代わりに、複雑なデータ構造の中から必要なデータメンバーのプロキシーだけを取得することができます。
value_type が次の演算子をサポートする場合、プロキシー・オブジェクトはこれらの演算子をオーバーライドします。
==、!=、<、>、<=、>=、+、-、*、/、%、&&、||、&、|、^、~、*、+、-、!、+=、-=、*=、/=、%=、>>=、<<=、&=、|=、^=、++、--