//-----------------------------------------------------------------------------
// eo
// (c) GeNeura Team 1998 - 2000
/* 
    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2 of the License, or (at your option) any later version.

    This library 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
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

    Contact: todos@geneura.ugr.es, http://geneura.ugr.es
 */
//-----------------------------------------------------------------------------

#ifdef _MSC_VER
// to avoid long name warnings
#pragma warning(disable:4786)
#endif 

#ifndef _eo_
#define _eo_

// some defines to make things easier to get at first sight

#define eo_verbose true
#define eo_no_verbose false
//-----------------------------------------------------------------------------

#include <utils/eoData.h>
#include <eoObject.h>
#include <eoPrintable.h>
#include <eoPersistent.h>
#include <eoScalarFitness.h>
#include <EO.h>

#include <utils/rnd_generators.h>
#include <eoFunctor.h>
#include <apply.h>

// eo's
#include <eoVariableLength.h>
#include <eoFixedLength.h>

//#include <eoID.h>

//#include <eoVector.h>
//#include <eo1d.h>
#include <other/eoString.h>
#include <ga/eoBin.h>
#include <es/eoReal.h>

#include <eoInit.h>
//#include <eoUniform.h>
//#include <eoNormal.h>
//#include <eoNegExp.h>

#include <eoOp.h>

//#include <eoDup.h>
//#include <eoKill.h>
//#include <eoTranspose.h>
//#include <eoXOver2.h>
//#include <eoUniformXOver.h>
//#include <eoMutation.h>

#include <eoPop.h>
#include <ga/eoBitOp.h>
#include <es/eoRealOp.h>

// Evaluation functions
#include <eoEvalFunc.h>
#include <eoEvalFuncPtr.h>

// Continuators
#include <eoContinue.h>
#include <eoCombinedContinue.h>
#include <eoGenContinue.h>
#include <eoSteadyFitContinue.h>
#include <eoFitContinue.h>

// Selection and reproduction stuff
#include <eoSelectOne.h>
#include <eoSelectRandom.h>
#include <eoDetTournament.h>
#include <eoProportional.h>
#include <eoStochTournament.h>

#include <eoProportionalCombinedOp.h>
#include <eoProportionalOpSel.h>
#include <eoProportionalGOpSel.h>
#include <eoSequentialGOpSel.h>

//#include <eoLottery.h>
//#include <eoBreeder.h>
//#include <eoInsertion.h>
//#include <eoInclusion.h>
//#include <eoGeneration.h>

//#include <eoProportionalOpSel.h>

// Algorithms
#include <eoEasyEA.h>
#include <eoSGA.h>
#include <eoSteadyStateEA.h>
#include <eoEvolutionStrategy.h>

// Inserters
#include <eoDetTournamentInserter.h>
#include <eoStochTournamentInserter.h>

// Utils
#include <utils/checkpointing>

// aliens
//#include <eoNonUniform.h>
#include <eoCounter.h>

//-----------------------------------------------------------------------------
// to be continued ...
//-----------------------------------------------------------------------------
/*
//#include <eoFitness.h>
//#include <eoProblem.h>
*/
//-----------------------------------------------------------------------------

#endif _eo_

// Local Variables:
// mode: C++
// End:
