EvolvingObjects
eoEvalFuncPtr< EOT, FitT, FunctionArg > Struct Template Reference

EOEvalFuncPtr: This class takes an existing function pointer and converts it into a evaluation function class. More...

#include <eoEvalFuncPtr.h>

Inheritance diagram for eoEvalFuncPtr< EOT, FitT, FunctionArg >:
eoEvalFunc< EOT > eoUF< EOT &, void > eoFunctorBase unary_function

List of all members.

Public Member Functions

 eoEvalFuncPtr (FitT(*_eval)(FunctionArg))
 Applies the function to the chromosome and sets the fitness of the Chrom.
virtual void operator() (EOT &_eo)
 Effectively applies the evaluation function to an EO.

Private Attributes

FitT(* evalFunc )(FunctionArg)

Detailed Description

template<class EOT, class FitT = typename EOT::Fitness, class FunctionArg = const EOT&>
struct eoEvalFuncPtr< EOT, FitT, FunctionArg >

EOEvalFuncPtr: This class takes an existing function pointer and converts it into a evaluation function class.

-*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-

----------------------------------------------------------------------------- eoEvalFuncPtr.h Converts a classical C fitness evaluation function into a fitness evaluation object

(c) GeNeura Team, 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 That way, old style C or C++ functions can be adapted to EO function classes.

Examples:
t-eoEasyEA.cpp, t-eoEasyPSO.cpp, t-eoExtendedVelocity.cpp, t-eoGA.cpp, t-eoInitPermutation.cpp, t-eoIQRStat.cpp, t-eoReal.cpp, t-eoRingTopology.cpp, t-eoShiftMutation.cpp, t-eoSwapMutation.cpp, t-eoSyncEasyPSO.cpp, and t-eoTwoOptMutation.cpp.

Definition at line 45 of file eoEvalFuncPtr.h.


Constructor & Destructor Documentation

template<class EOT, class FitT = typename EOT::Fitness, class FunctionArg = const EOT&>
eoEvalFuncPtr< EOT, FitT, FunctionArg >::eoEvalFuncPtr ( FitT(*)(FunctionArg)  _eval) [inline]

Applies the function to the chromosome and sets the fitness of the Chrom.

Thus, the evaluation function need not be worried about that.

Parameters:
_evalpointer to the evaluation function, takes a EOT as an argument and returns the fitness
Returns:
the evaluated fitness for that object.

Definition at line 53 of file eoEvalFuncPtr.h.


The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Friends