"集合"に対するインターフェース
良い書き方はないんだろうか?
class HogeMgr { public: const hoge_t& getHoge(size_t idx) const; };
配列以外の場合効率悪すぎる。
class HogeMgr { public: typedef std::vector<hoge> hoges_t; const hoges_t& getHoges() const; };
内部実装露出しすぎな気がする。
class HogeMgr { public: typedef std::vector<hoge>::iterator hoges_iter_t; const hoges_iter_t& getHogesBegin() const; const hoges_iter_t& getHogesEnd() const; };
書くのめんどい。
やっぱRangeですかねぇ。
class HogeMgr { public: typedef std::vector<hoge>::iterator hoges_iter_t; typedef std::pair<hoges_iter_t, hoges_iter_t> hoges_range_t; const hoges_range_t& getHogesRange() const; };
でもこれだとアクセス時にhook処理かけられないような…iteratorをwrapしてoperator*()でhookすればいいですね。大変めんどいけど…
あと書き込みが混じるともう訳分かんなくなります。
はてなアンケートとかつくればいいんだろうか