All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.vladsch.flexmark.util.collection.iteration.IndexedIterable Maven / Gradle / Ivy

package com.vladsch.flexmark.util.collection.iteration;

import org.jetbrains.annotations.NotNull;

public class IndexedIterable> implements ReversibleIndexedIterable {
    final private @NotNull ReversibleIterable iterable;
    final private @NotNull Indexed items;

    public IndexedIterable(@NotNull Indexed items, @NotNull I iterable) {
        this.items = items;
        this.iterable = iterable;
    }

    @Override
    public boolean isReversed() {
        return iterable.isReversed();
    }

    @NotNull
    @Override
    public ReversibleIndexedIterator iterator() {
        return new IndexedIterator<>(items, iterable.iterator());
    }

    @NotNull
    @Override
    public ReversibleIndexedIterable reversed() {
        return new IndexedIterable<>(items, iterable.reversed());
    }

    @NotNull
    @Override
    public ReversibleIndexedIterator reversedIterator() {
        return new IndexedIterator<>(items, iterable.reversedIterator());
    }
}