Iteratorパターンの実装 #11

カスタムイテレータを作るパターン。

要素を格納する配列の役割として IteratorAggregate インターフェイスを実装したクラスを作る。
要素を任意のフィルタでイテレートする役割として FilterIterator を継承したクラスを作る。

FilterIterator は IteratorAggregate を包み込んで使う。
イメージとしては IteratorAggregate のイテレート処理を FilterIterator がラッパーして代わりに行う感じ。

SPL 使っていて PHP 固有クラスなのでは？という印象。
多言語でどのように実装するのかよく見えてこないパターン。