<p>In <a href="https://github.com/mlpack/mlpack/pull/753#discussion_r73809578">src/mlpack/methods/ne/cne.hpp</a>:</p>
<pre style='color:#555'>&gt; +#include &quot;species.hpp&quot;
&gt; +#include &quot;tasks.hpp&quot;
&gt; +#include &quot;parameters.hpp&quot;
&gt; +
&gt; +namespace mlpack {
&gt; +namespace ne {
&gt; +
&gt; +/**
&gt; + * This class implements Conventional Neuro-evolution (CNE): weight
&gt; + * evolution on topologically fixed neural networks.
&gt; + */
&gt; +template&lt;typename TaskType&gt;
&gt; +class CNE {
&gt; + public:
&gt; +  // Parametric constructor.
&gt; +  CNE(TaskType task, Genome&amp; seedGenome, Parameters&amp; params) {
</pre>
<p>I think for algorithms the parameters are a lot. Users can set parameter by construct an Parameters object without put them into a constructor function in a specific sequence. And this also makes the algorithm constructor be concise. If we have more parameters in the future, we just add new member for Parameters class, no need to change the function headers of constructors. Besides, different NE algorithm will have similar functions for constructor.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">&mdash;<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/mlpack/mlpack/pull/753/files/10b99ab5c6e8d2836d231fa60a898cc03f7d9192#r73809578">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AJ4bFFdQ4xRZpV7Ef1We9kvHKPvHTMngks5qdk9agaJpZM4JeA8X">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/AJ4bFIkvmKPiS31KiCWF6wSwzrpwC3t4ks5qdk9agaJpZM4JeA8X.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/mlpack/mlpack/pull/753/files/10b99ab5c6e8d2836d231fa60a898cc03f7d9192#r73809578"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/mlpack/mlpack","title":"mlpack/mlpack","subtitle":"GitHub repository","main_image_url":"https://assets-cdn.github.com/images/modules/aws/aws-bg.jpg","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/mlpack/mlpack"}},"updates":{"snippets":[{"icon":"PERSON","message":"@BangLiu in #753: I think for algorithms the parameters are a lot. Users can set parameter by construct an Parameters object without put them into a constructor function in a specific sequence. And this also makes the algorithm constructor be concise. If we have more parameters in the future, we just add new member for Parameters class, no need to change the function headers of constructors. Besides, different NE algorithm will have similar functions for constructor."}],"action":{"name":"View Pull Request","url":"https://github.com/mlpack/mlpack/pull/753/files/10b99ab5c6e8d2836d231fa60a898cc03f7d9192#r73809578"}}}</script>