可動オブジェクトの周りにプロキシ コンテナー クラスがあり、プロキシが基になるオブジェクトへの右辺値参照を暗黙的に生成できるようにしたいと考えていますが、プロキシ自体が移動されている場合のみです。
提案 n2439 "Extending move semantics to *this"に従ってこの動作を実装できると信じていますが、gcc のリリースではまだ利用できず、しばらくは利用できません。
以下のコードは私が最終的に目指しているものですが、現在は不可能です。この機能が利用可能になるまで、同等の回避策はありますか?
template< class T >
struct movable_proxy {
operator T&&() && {
return std::move(value);
}
operator const T&() const& {
return value;
}
private:
T value;
};