package aalg.algebra;

/**
 * Iterable over multimonoid elements.
 * @author Ing. Petr Ležák
 *
 * @param <F> type of underlying field elements
 */
public class MultiMonoidIterable<F extends IElement> implements Iterable<MultiMonoidElement<F>> {
	
	private final MultiMonoid<F> monoid;
	
	/**
	 * Creates iterable over given monoid.
	 * @param monoid iterated monoid
	 */
	public MultiMonoidIterable(final MultiMonoid<F> monoid) {
		this.monoid = monoid;
	}
	
	@Override
	public MultiMonoidIterator<F> iterator() {
		return new MultiMonoidIterator<F> (monoid);
	}

}
