///////////////////////////////////////////////////////////////////////////////
// For information as to what this class does, see the Javadoc, below.       //
// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,       //
// 2007, 2008, 2009, 2010, 2014, 2015 by Peter Spirtes, Richard Scheines, Joseph   //
// Ramsey, and Clark Glymour.                                                //
//                                                                           //
// This program is free software; you can redistribute it and/or modify      //
// it under the terms of the GNU General Public License as published by      //
// the Free Software Foundation; either version 2 of the License, or         //
// (at your option) any later version.                                       //
//                                                                           //
// This program is distributed in the hope that it will be useful,           //
// but WITHOUT ANY WARRANTY; without even the implied warranty of            //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the             //
// GNU General Public License for more details.                              //
//                                                                           //
// You should have received a copy of the GNU General Public License         //
// along with this program; if not, write to the Free Software               //
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA //
///////////////////////////////////////////////////////////////////////////////

package edu.cmu.tetrad.graph;

/**
 * I couldn't find a mechanism in place to manage algorithm that return
 * potentially more than 1 graph. As such, this interface helps with that.
 * <p>
 * Created by IntelliJ IDEA.
 * User: Mark Whitehouse
 * Date: Nov 28, 2008
 * Time: 7:55:55 PM
 * To change this template use File | Settings | File Templates.
 */

public interface GraphGroup {

    /**
     * @return int
     */
    int getNumGraphs();

    /**
     * Gets a graph at a specific index
     *
     * @param g The index of the graph to return
     * @return Graph
     */
    Graph getGraph(int g);

    /**
     * Adds a graph to the class.
     *
     * @param g The graph to add to the class.
     */
    void addGraph(Graph g);

}


