dummy merge

This commit is contained in:
nojhan 2011-07-26 17:53:20 +02:00
commit 4e0a6fdeff
4 changed files with 373 additions and 329 deletions

View file

@ -40,17 +40,7 @@ Authors:
#include "eoLogger.h" #include "eoLogger.h"
eoLogger::eoLogger() : void eoLogger::_init()
std::ostream(&_obuf),
_verbose("quiet", "verbose", "Set the verbose level", 'v'),
_printVerboseLevels(false, "print-verbose-levels", "Print verbose levels", 'l'),
_output("", "output", "Redirect a standard output to a file", 'o'),
_selectedLevel(eo::progress),
_contextLevel(eo::quiet),
_fd(2),
_obuf(_fd, _contextLevel, _selectedLevel)
{ {
_standard_io_streams[&std::cout] = 1; _standard_io_streams[&std::cout] = 1;
_standard_io_streams[&std::clog] = 2; _standard_io_streams[&std::clog] = 2;
@ -67,6 +57,37 @@ eoLogger::eoLogger() :
addLevel("xdebug", eo::xdebug); addLevel("xdebug", eo::xdebug);
} }
eoLogger::eoLogger() :
std::ostream(&_obuf),
_verbose("quiet", "verbose", "Set the verbose level", 'v'),
_printVerboseLevels(false, "print-verbose-levels", "Print verbose levels", 'l'),
_output("", "output", "Redirect a standard output to a file", 'o'),
_selectedLevel(eo::progress),
_contextLevel(eo::quiet),
_fd(2),
_obuf(_fd, _contextLevel, _selectedLevel)
{
_init();
}
eoLogger::eoLogger(eo::file file) :
std::ostream(&_obuf),
_verbose("quiet", "verbose", "Set the verbose level", 'v'),
_printVerboseLevels(false, "print-verbose-levels", "Print verbose levels", 'l'),
_output("", "output", "Redirect a standard output to a file", 'o'),
_selectedLevel(eo::progress),
_contextLevel(eo::quiet),
_fd(2),
_obuf(_fd, _contextLevel, _selectedLevel)
{
_init();
*this << file;
}
eoLogger::~eoLogger() eoLogger::~eoLogger()
{ {
if (_fd > 2) { ::close(_fd); } if (_fd > 2) { ::close(_fd); }
@ -99,7 +120,7 @@ void eoLogger::_createParameters( eoParser& parser )
//------------------------------------------------------------------ //------------------------------------------------------------------
// // we're gonna print the list of levels if -l parameter is used. // we're gonna print the list of levels if -l parameter is used.
//------------------------------------------------------------------ //------------------------------------------------------------------
if ( _printVerboseLevels.value() ) if ( _printVerboseLevels.value() )
@ -195,7 +216,6 @@ namespace eo
{} {}
} }
//! make_verbose gets level of verbose and sets it in eoLogger
void make_verbose(eoParser& parser) void make_verbose(eoParser& parser)
{ {
eo::log._createParameters( parser ); eo::log._createParameters( parser );

View file

@ -142,12 +142,20 @@ class eoLogger : public eoObject,
public std::ostream public std::ostream
{ {
public: public:
//! default ctor
eoLogger(); eoLogger();
//! overidded ctor in order to instanciate a logger with a file define in parameter
eoLogger(eo::file file);
//! dtor
~eoLogger(); ~eoLogger();
//! common function for all eo objects
virtual std::string className() const; virtual std::string className() const;
//! Print the available levels on the standard output //! Print the available levels on the standard output
//! enablable with the option -l
void printLevels() const; void printLevels() const;
/*! Returns the selected levels, that is the one asked by the user /*! Returns the selected levels, that is the one asked by the user
@ -163,11 +171,16 @@ public:
inline eo::Levels getLevelContext() const { return _contextLevel; } inline eo::Levels getLevelContext() const { return _contextLevel; }
protected: protected:
//! in order to add a level of verbosity
void addLevel(std::string name, eo::Levels level); void addLevel(std::string name, eo::Levels level);
private: private:
//! used by the function make_verbose in order to add options to specify the verbose level
void _createParameters( eoParser& ); void _createParameters( eoParser& );
//! used by the set of ctors to initiate some useful variables
void _init();
private: private:
/** /**
* outbuf * outbuf
@ -195,21 +208,26 @@ public:
/** /**
* operator<< used there to set a verbose mode. * operator<< used there to set a verbose mode.
*/ */
//! in order to use stream style to define the context verbose level where the following logs will be saved
friend eoLogger& operator<<(eoLogger&, const eo::Levels); friend eoLogger& operator<<(eoLogger&, const eo::Levels);
/** /**
* operator<< used there to set a filename through the class file. * operator<< used there to set a filename through the class file.
*/ */
//! in order to use stream style to define a file to dump instead the standart output
friend eoLogger& operator<<(eoLogger&, eo::file); friend eoLogger& operator<<(eoLogger&, eo::file);
/** /**
* operator<< used there to set a verbose level through the class setlevel. * operator<< used there to set a verbose level through the class setlevel.
*/ */
//! in order to use stream style to define manually the verbose level instead using options
friend eoLogger& operator<<(eoLogger&, eo::setlevel); friend eoLogger& operator<<(eoLogger&, eo::setlevel);
/** /**
* operator<< used there to be able to use std::cout to say that we wish to redirect back the buffer to a standard output. * operator<< used there to be able to use std::cout to say that we wish to redirect back the buffer to a standard output.
*/ */
//! in order to use stream style to go back to a standart output defined by STL
//! and to get retro-compatibility
friend eoLogger& operator<<(eoLogger&, std::ostream&); friend eoLogger& operator<<(eoLogger&, std::ostream&);
private: private:
@ -254,6 +272,7 @@ private:
/** @example t-eoLogger.cpp /** @example t-eoLogger.cpp
*/ */
//! make_verbose gets level of verbose and sets it in eoLogger
void make_verbose(eoParser&); void make_verbose(eoParser&);
namespace eo namespace eo

View file

@ -5,16 +5,27 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/HTML; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/HTML; charset=utf-8" />
<meta name=" robot" content="follow, index, all" /> <meta name=" robot" content="follow, index, all" />
<meta name="author" content="EO development team"> <meta name="author" content="EO development team" />
<meta name="keywords" content="Class libraries, evolutionary computation, evolution strategies, genetic algorithms, genetic programming, simulated annealing, C++"> <meta name="keywords" content="Class libraries, evolutionary computation, evolution strategies, genetic algorithms, genetic programming, simulated annealing, C++" />
<meta name="resource-type" content="document"> <meta name="resource-type" content="document" />
<meta name="distribution" content="Global"> <meta name="distribution" content="Global" />
<link rel="icon" type="image/png" href="eo_ico.png" /> <link rel="icon" type="image/png" href="eo_ico.png" />
<link rel="stylesheet" type="text/css" href="lightblue.css" title="Default" /> <link rel="stylesheet" type="text/css" href="lightblue.css" title="Default" />
<title>Evolving Objects (EO): Evolutionary Computation Framework</title> <title>Evolving Objects (EO): Evolutionary Computation Framework</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript" src="https://static.jappix.com/php/get.php?l=fr&amp;t=js&amp;g=mini.xml"></script>
<script type="text/javascript">
jQuery(document).ready(function() {
MINI_GROUPCHATS = ["eo@chat.jabberfr.org"];
MINI_ANIMATE = true;
launchMini(false, true, "anonymous.jappix.com");
});
</script>
</head> </head>
<body> <body>
@ -63,7 +74,7 @@
</li> </li>
<li> <li>
<ol> <ol>
<a href="#Development">Development</a></li> <lh><a href="#Development">Development</a></lh>
<li><a href="#Mailing-lists">Mailing-lists</a></li> <li><a href="#Mailing-lists">Mailing-lists</a></li>
<li><a href="#Get-involved">Get involved</a></li> <li><a href="#Get-involved">Get involved</a></li>
<li><a href="#Related-software">Related software</a></li> <li><a href="#Related-software">Related software</a></li>
@ -184,9 +195,6 @@
<br /> <br />
</p> </p>
<h1><a name="Features"></a>Features <a href="#Plan"></a></h1> <h1><a name="Features"></a>Features <a href="#Plan"></a></h1>
<h2><a name="Component-based"></a>Component-based framework</h2> <h2><a name="Component-based"></a>Component-based framework</h2>
@ -245,9 +253,9 @@
</li> </li>
<li>Ready-to-use variations operators: <li>Ready-to-use variations operators:
<ul> <ul>
<li>uniform initializer, <li>uniform initializer,</li>
<li>gaussian mutation, <li>gaussian mutation,</li>
<li>subtree crossover, <li>subtree crossover,</li>
<li></li> <li></li>
</ul> </ul>
</li> </li>
@ -287,7 +295,7 @@
<li>Linux x86_64 with GCC 3.x and GCC 4.x</li> <li>Linux x86_64 with GCC 3.x and GCC 4.x</li>
<li>MacOS X/Darwin PowerPC with GCC 3.x</li> <li>MacOS X/Darwin PowerPC with GCC 3.x</li>
<li>MacOS X/Darwin x86 with GCC 4.x</li> <li>MacOS X/Darwin x86 with GCC 4.x</li>
<li>Microsoft Windows using Cygwin's GCC 3.x (cygming special). <li>Microsoft Windows using Cygwin's GCC 3.x (cygming special).</li>
<li>Microsoft Windows using Visual Studio 2003/2005; projects files <li>Microsoft Windows using Visual Studio 2003/2005; projects files
are provided.</li> are provided.</li>
<li>Solaris SPARC with GCC 3.x</li> <li>Solaris SPARC with GCC 3.x</li>
@ -296,8 +304,7 @@
<p>Recent versions of EO uses the <a href="http://www.cmake.org">CMake</a> portable build system, that permits to easily generate a build chain for your environment.</p> <p>Recent versions of EO uses the <a href="http://www.cmake.org">CMake</a> portable build system, that permits to easily generate a build chain for your environment.</p>
<p> If you have tested EO on a system not listed here, please <a <p> If you have tested EO on a system not listed here, please <a href="mailto:eodev-main@lists.sourceforge.net?subject=test-report">let
href="mailto:eodev-main@lists.sourceforge.net?subject=test-report">let
us know</a>. </p> us know</a>. </p>
<p> If you are working on a system with an older C++ compiler there <p> If you are working on a system with an older C++ compiler there
@ -307,10 +314,8 @@
<h2><a name="Presentations"></a>Presentations</h2> <h2><a name="Presentations"></a>Presentations</h2>
<p> A functional and "philosophical" overview of EO was presented at <a <p> A functional and "philosophical" overview of EO was presented at <a href="http://www.cmap.polytechnique.fr/%7Eea01/">EA'01 conference</a>.
href="http://www.cmap.polytechnique.fr/%7Eea01/">EA'01 conference</a>. You can download <a href="http://eodev.sourceforge.net/eo/doc/EO_EA2001.pdf">the paper</a>
You can download <a
href="http://eodev.sourceforge.net/eo/doc/EO_EA2001.pdf">the paper</a>
or <a href="http://eodev.sourceforge.net/eo/doc/LeCreusot.pdf">the or <a href="http://eodev.sourceforge.net/eo/doc/LeCreusot.pdf">the
slides</a>, or browse them right here:</p> slides</a>, or browse them right here:</p>
@ -331,24 +336,24 @@
<p> <p>
<font face="monospace"> <font face="monospace">
@<font color="#0000ff">Article</font>{<font color="#ff00ff">Keijzer2001</font>,<br> @<font color="#0000ff">Article</font>{<font color="#ff00ff">Keijzer2001</font>,<br/>
&nbsp;&nbsp;<font color="#a52a2a">title</font>&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Evolving Objects: A General Purpose Evolutionary Computation Library &quot;,<br> &nbsp;&nbsp;<font color="#a52a2a">title</font>&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Evolving Objects: A General Purpose Evolutionary Computation Library &quot;,<br/>
&nbsp;&nbsp;<font color="#a52a2a">author</font>&nbsp;=&nbsp;&nbsp;&nbsp; &quot;Maarten Keijzer and J. J. Merelo and G. Romero and M. Schoenauer&quot;,<br> &nbsp;&nbsp;<font color="#a52a2a">author</font>&nbsp;=&nbsp;&nbsp;&nbsp; &quot;Maarten Keijzer and J. J. Merelo and G. Romero and M. Schoenauer&quot;,<br/>
&nbsp;&nbsp;<font color="#a52a2a">journal</font>&nbsp;=&nbsp;&nbsp;&nbsp;&quot;Artificial Evolution&quot;,<br> &nbsp;&nbsp;<font color="#a52a2a">journal</font>&nbsp;=&nbsp;&nbsp;&nbsp;&quot;Artificial Evolution&quot;,<br/>
&nbsp;&nbsp;<font color="#a52a2a">year</font>&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;2002&quot;,<br> &nbsp;&nbsp;<font color="#a52a2a">year</font>&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;2002&quot;,<br/>
&nbsp;&nbsp;<font color="#a52a2a">volume</font>&nbsp;=&nbsp;&nbsp;&nbsp; &quot;2310&quot;,<br> &nbsp;&nbsp;<font color="#a52a2a">volume</font>&nbsp;=&nbsp;&nbsp;&nbsp; &quot;2310&quot;,<br/>
&nbsp;&nbsp;<font color="#a52a2a">pages</font>&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;829--888&quot;,<br> &nbsp;&nbsp;<font color="#a52a2a">pages</font>&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;829--888&quot;,<br/>
&nbsp;&nbsp;<font color="#a020f0">keywords</font>&nbsp;=&nbsp; &quot;genetic algorithms, genetic programming, evolutionary computation, metaheuristic, computational intelligence, optimization&quot;,<br> &nbsp;&nbsp;<font color="#a020f0">keywords</font>&nbsp;=&nbsp; &quot;genetic algorithms, genetic programming, evolutionary computation, metaheuristic, computational intelligence, optimization&quot;,<br/>
&nbsp;&nbsp;<font color="#a020f0">URL</font>&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;<a href="http://www.lri.fr/~marc/EO/EO-EA01.ps.gz">http://www.lri.fr/~marc/EO/EO-EA01.ps.gz</a>&quot;,<br> &nbsp;&nbsp;<font color="#a020f0">URL</font>&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;<a href="http://www.lri.fr/~marc/EO/EO-EA01.ps.gz">http://www.lri.fr/~marc/EO/EO-EA01.ps.gz</a>&quot;,<br/>
&nbsp;&nbsp;<font color="#ff00ff">size</font>&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;12 pages&quot;,<br> &nbsp;&nbsp;<font color="#ff00ff">size</font>&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;12 pages&quot;,<br/>
&nbsp;&nbsp;<font color="#a020f0">abstract</font>&nbsp;=&nbsp; &quot;This paper presents the evolving objects library<br> &nbsp;&nbsp;<font color="#a020f0">abstract</font>&nbsp;=&nbsp; &quot;This paper presents the evolving objects library<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (EOlib), an object-oriented framework for evolutionary<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (EOlib), an object-oriented framework for evolutionary<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; computation (EC)&nbsp;that aims to provide a flexible set of<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; computation (EC)&nbsp;that aims to provide a flexible set of<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; classes to build EC applications. EOlib design<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; classes to build EC applications. EOlib design<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objective is to be able to evolve any object in which<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objective is to be able to evolve any object in which<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fitness makes sense.&quot;,<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fitness makes sense.&quot;,<br/>
}<br> }<br/>
<br> <br/>
</font> </font>
</p> </p>
@ -461,10 +466,10 @@
<li> <a href="http://sourceforge.net/project/?group_id=9775">EO <li> <a href="http://sourceforge.net/project/?group_id=9775">EO
SourceForge Project Page</a></li> SourceForge Project Page</a></li>
<li><a href="http://eodev.sourceforge.net/eo/doc/html/index.html">EO <li><a href="http://eodev.sourceforge.net/eo/doc/html/index.html">EO
automatic documentation page at SF</a><br> automatic documentation page at SF</a><br/>
</li> </li>
<li><a href="http://eodev.sourceforge.net/eo/tutorial/html/eoTutorial.html">EO <li><a href="http://eodev.sourceforge.net/eo/tutorial/html/eoTutorial.html">EO
tutorial page at SF</a><br> tutorial page at SF</a><br/>
</li> </li>
<li> <a href="https://sourceforge.net/project/showfiles.php?group_id=9775">Releases</a></li> <li> <a href="https://sourceforge.net/project/showfiles.php?group_id=9775">Releases</a></li>
<li> <a href="http://sourceforge.net/mail/?group_id=9775">Mailing Lists</a></li> <li> <a href="http://sourceforge.net/mail/?group_id=9775">Mailing Lists</a></li>

View file

@ -1,4 +1,4 @@
/*************************************************************************** /****************************************************************************
* * * *
* contented3 - An open source xhtml/css website template by Contented * * contented3 - An open source xhtml/css website template by Contented *
* Designs. You're free to modify it and use it for any purpose without * * Designs. You're free to modify it and use it for any purpose without *