In the TCL, descendant iterators iterate over all the descendants of a particular node, which would be considered the parent node of those descendants. The descendant iterators are considered to be special types of iterators in the TCL. There are three types of descendant iterators, which are available for all three tree containers in the library.

Descendant iterators traverse the depth of a node, as opposed to child iterators, which only traverse the immediate children of a node. Descendant iterators use iterators in composition, so many operations available to iterator are also available to the descendant iterators.

The only operations in the tree containers which return descendant iterators are those operations which return the beginning and end of the iterators, as shown below.