書きこみ専用インターフェースの作り方
Posted: 2013年3月06日(水) 17:17
書きこみ専用領域のラッパークラスとしてWriteOnlyArrayを作りたいと考えています。
使用法として例えば以下のように考えています。
上記の(1)の場合は大丈夫なのですが、(2)の場合の実装案が思い浮かびません。
正直無理な気がしているのですが何かあればと思い質問させていただきました。
使用法として例えば以下のように考えています。
template <class T>
class WriteOnlyArray {};
class Point {
double x, y;
};
WriteOnlyArray<Point> array; // 適当に初期化済み
Point p;
double d;
// 以下のようなコードを書けるようにしたい
//(1)
array[idx] = p; // OK
p = array[idx]; // コンパイルエラー
// (2)
array[idx].x = d; // OK
d = array[idx].x; // コンパイルエラー
正直無理な気がしているのですが何かあればと思い質問させていただきました。