The class structure of the SPL classes

Result
|-RecursiveIteratorIterator
| \-RecursiveTreeIterator
|-IteratorIterator
| |-FilterIterator
| | |-RecursiveFilterIterator
| | | \-ParentIterator
| | |-CallbackFilterIterator
| | | \-RecursiveCallbackFilterIterator
| | \-RegexIterator
| | \-RecursiveRegexIterator
| |-LimitIterator
| |-CachingIterator
| | \-RecursiveCachingIterator
| |-NoRewindIterator
| |-AppendIterator
| \-InfiniteIterator
|-EmptyIterator
|-ArrayIterator
| \-RecursiveArrayIterator
|-SplFileInfo
| |-DirectoryIterator
| | \-FilesystemIterator
| | |-RecursiveDirectoryIterator
| | \-GlobIterator
| \-SplFileObject
| \-SplTempFileObject
|-SplDoublyLinkedList
| |-SplQueue
| \-SplStack
|-SplHeap
| |-SplMinHeap
| \-SplMaxHeap
|-SplPriorityQueue
|-SplFixedArray
|-SplObjectStorage
\-MultipleIterator