# module Iterator::IteratorWrapper

##
Overview

`IteratorWrapper` eliminates some boilerplate when defining an `Iterator` that wraps another iterator.

To use it, include this module in your iterator and make sure that the wrapped iterator is stored in the `@iterator` instance variable.

##
Defined in:

iterator.cr

##
Macro Summary

- wrapped_next

  Invokes `next` on the wrapped iterator and returns `stop` if the given value was a `Iterator::Stop`.

##
Macro Detail

macro wrapped_next #

Invokes `next` on the wrapped iterator and returns `stop` if the given value was a `Iterator::Stop`. Otherwise, returns the value.