次の関数を含むイテレータがあります。
...
T &operator*() { return *_i; }
std::shared_ptr<T> operator->() { return _i; }
private:
std::shared_ptr<T> _i;
...
内部に保存されている_iへの共有ポインタを取得するにはどうすればよいですか?
std::shared_ptr<Type> item = ???
私がすべきこと:
MyInterfaceIterator<Type> i;
std::shared_ptr<Type> item = i.operator->();
または、operator *()を書き直す必要がありますか?