I've found that the implementation of this method was to simply return the pointer stored within the ilist_iterator
class (http://llvm.org/docs/doxygen/html/ilist_8h_source.html#l00195). However, it is unclear to me how this operator is used.
I'm assuming that with that operator, we can do the following.
...
ilist_iterator<NodeType> it = ...;
NodeType const *node = it; // rather than &(*it)?
...
Is my assumption correct?
That is precisely what it does. It also allows
it
to be passed as an argument to a function that takes aNodeType*
parameter. (It feels like it could be a bit dangerous to me, but I can't think of a specific situation where it would be a problem.)