Created by Scott Robert Ladd at Coyote Gulch Productions.
00001 //--------------------------------------------------------------------- 00002 // Algorithmic Conjurings @ http://www.coyotegulch.com 00003 // Evocosm -- An Object-Oriented Framework for Evolutionary Algorithms 00004 // 00005 // landscape.h 00006 //--------------------------------------------------------------------- 00007 // 00008 // Copyright 1996, 1999, 2002, 2003, 2004, 2005 Scott Robert Ladd 00009 // 00010 // This program is free software; you can redistribute it and/or modify 00011 // it under the terms of the GNU General Public License as published by 00012 // the Free Software Foundation; either version 2 of the License, or 00013 // (at your option) any later version. 00014 // 00015 // This program is distributed in the hope that it will be useful, 00016 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 // GNU General Public License for more details. 00019 // 00020 // You should have received a copy of the GNU General Public License 00021 // along with this program; if not, write to the 00022 // Free Software Foundation, Inc. 00023 // 59 Temple Place - Suite 330 00024 // Boston, MA 02111-1307, USA. 00025 // 00026 //----------------------------------------------------------------------- 00027 // 00028 // For more information on this software package, please visit 00029 // Scott's web site, Coyote Gulch Productions, at: 00030 // 00031 // http://www.coyotegulch.com 00032 // 00033 //----------------------------------------------------------------------- 00034 00035 #if !defined(LIBEVOCOSM_LANDSCAPE_H) 00036 #define LIBEVOCOSM_LANDSCAPE_H 00037 00038 // libevocosm 00039 #include "organism.h" 00040 00041 namespace libevocosm 00042 { 00044 00057 template <class OrganismType> 00058 class landscape : protected globals 00059 { 00060 public: 00062 00066 landscape(listener & a_listener) 00067 : m_listener(a_listener) 00068 { 00069 // nada 00070 } 00071 00073 landscape(const landscape & a_source) 00074 : m_listener(a_source.m_listener) 00075 { 00076 // nada 00077 } 00078 00080 landscape & operator = (const landscape & a_source) 00081 { 00082 m_listener = a_source.m_listener; 00083 } 00084 00086 00093 virtual ~landscape() 00094 { 00095 // nada 00096 } 00097 00099 00105 virtual double test(OrganismType & a_organism, bool a_verbose = false) const = 0; 00106 00108 00113 virtual double test(vector<OrganismType> & a_population) const = 0; 00114 00115 protected: 00117 listener & m_listener; 00118 }; 00119 }; 00120 00121 #endif
© 1996-2005 Scott Robert Ladd. All rights reserved.
HTML documentation generated by Dimitri van Heesch's excellent Doxygen tool.