package com.hammurapi.store;

/**
 * Ordered index.
 * @author Pavel Vlasov
 *
 * @param <T>
 * @param <PK>
 */
public interface OrderedIndex<ST, T extends ST, PK, V, S extends Store<ST,PK,S>> extends Index<ST, T, PK, V, S> {

	/**
	 * Finds objects by index range.
	 * @param from Low index range value.
	 * @param to High index range value.
	 * @param fromInclusive If true, <code>from</code> is included to the range.
	 * @param toInclusive If true, <code>to</code> is included to the range.
	 * @return
	 */
	Iterable<T> find(V from, V to, boolean fromInclusive, boolean toInclusive);
}
