Class::Iter - Iterator superclass for Class::Visitor


  use Class::Visitor;

  visitor_class 'CLASS', 'SUPER', { TEMPLATE };
  visitor_class 'CLASS', 'SUPER', [ TEMPLATE ];

  $obj = CLASS->new ();
  $iter = $obj->iter;
  $iter = $obj->iter ($parent, $array, $index);

  $iter->is_same ($obj);


Class::Iter defines the majority of iterator methods for iterator classes created by Class::Visitor.

parent returns the parent of this iterator, or undef if this is the root object.

is_iter returns true indicating that this object is an iterator (all other is_TYPE queries would be passed on to the delegate).

root returns the root parent of this iterator.

rootpath returns an array of all iterators between and including the root and this iterator.

next returns the iterator of the object after this object in the parent's element. If there is no next object, next returns $self.

at_end returns true if this is the last object in the parent's element, i.e. it returns true if next would return $self.

delegate returns the object that this iterator stands-in for.

is_same returns true if $obj is the delegate or if $obj is an iterator pointing to the same object.


Ken MacLeod,


perl(1), Class::Visitor(3).