The iterator library allow to navigate in the AML tree using an iterator. It is possible to initialize/delete an iterator.
This iterator can progress in the tree by different orders:
- Linear progression: Iterate following the AML bytestream order (depth first).
- Branch progression: Iterate following the AML bytestream order (depth first), but stop iterating at the end of the branch.
An iterator has the following features:
- GetNode: Get the current node pointed by the iterator.
- GetNext: Move the current node of the iterator to the next node, according to the iteration mode selected.
- GetPrevious: Move the current node of the iterator to the previous node, according to the iteration mode selected.