001/*
002// This software is subject to the terms of the Eclipse Public License v1.0
003// Agreement, available at the following URL:
004// http://www.eclipse.org/legal/epl-v10.html.
005// You must accept the terms of that agreement to use this software.
006//
007// Copyright (C) 2006-2011 Pentaho
008// All Rights Reserved.
009*/
010package mondrian.calc;
011
012import mondrian.olap.Evaluator;
013
014/**
015 * Expression that evaluates a set of tuples to a {@link TupleIterable}.
016 *
017 * @author Richard Emberson
018 * @since Jan 11, 2007
019 */
020public interface IterCalc extends Calc {
021    /**
022     * Evaluates an expression to yield an Iterable of members or tuples.
023     *
024     * <p>The Iterable is immutable.
025     *
026     * @param evaluator Evaluation context
027     * @return An Iterable of members or tuples, never null.
028     */
029    TupleIterable evaluateIterable(Evaluator evaluator);
030}
031
032// End IterCalc.java