<h1>neural++.hpp</h1><ahref="neural_09_09_8hpp.html">Go to the documentation of this file.</a><divclass="fragment"><preclass="fragment"><aname="l00001"></a>00001 <spanclass="comment">/**************************************************************************************************</span>
<aname="l00005"></a>00005 <spanclass="comment"> * This program is free software: you can redistribute it and/or modify it under the terms of the *</span>
<aname="l00006"></a>00006 <spanclass="comment"> * GNU General Public License as published by the Free Software Foundation, either version 3 of *</span>
<aname="l00007"></a>00007 <spanclass="comment"> * the License, or (at your option) any later version. This program is distributed in the hope *</span>
<aname="l00008"></a>00008 <spanclass="comment"> * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of *</span>
<aname="l00009"></a>00009 <spanclass="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for *</span>
<aname="l00010"></a>00010 <spanclass="comment"> * more details. You should have received a copy of the GNU General Public License along with *</span>
<aname="l00011"></a>00011 <spanclass="comment"> * this program. If not, see <http://www.gnu.org/licenses/>. *</span>
<aname="l00078"></a>00078 <spanclass="keywordtype">void</span><aclass="code"href="classneuralpp_1_1NeuralNet.html#94169c89a7cd47122ab5dbf1d5c5e108"title="It updates the weights of the net&#39;s synapsis through back-propagation.">updateWeights</a>();
<aname="l00079"></a>00079
<aname="l00085"></a>00085 <spanclass="keywordtype">double</span><aclass="code"href="classneuralpp_1_1NeuralNet.html#8a140d28e6dd4097470c7c138801ad01"title="Get the error made on the expected result as squared deviance.">error</a> (<spanclass="keywordtype">double</span> ex);
<aname="l00086"></a>00086
<aname="l00091"></a>00091 double (*<aclass="code"href="classneuralpp_1_1NeuralNet.html#c1469e6afd87d85b82f14bc246f82457"title="Private pointer to function, containing the function to be used as activation function...">actv_f</a>)(double);
<aname="l00092"></a>00092
<aname="l00098"></a>00098 <spanclass="keywordtype">double</span><aclass="code"href="classneuralpp_1_1NeuralNet.html#562dfe9fb8d73bf25a23ce608451d3aa"title="Get the expected value (in case you have an only neuron in output layer).">expected</a>() <spanclass="keyword">const</span>;
<aname="l00099"></a>00099
<aname="l00105"></a>00105 std::vector<double><aclass="code"href="classneuralpp_1_1NeuralNet.html#51a1851ed07b85bec091c9053ae99cf7"title="Get the expected value (in case you have an only neuron in output layer).">getExpected</a>() <spanclass="keyword">const</span>;
<aname="l00111"></a>00111 <spanclass="keywordtype">void</span><aclass="code"href="classneuralpp_1_1NeuralNet.html#b6475762b7e9eab086befdc511f7c236"title="It sets the value you expect from your network (in case the network has an only neuron...">setExpected</a>(<spanclass="keywordtype">double</span> ex);
<aname="l00112"></a>00112
<aname="l00117"></a>00117 <spanclass="keywordtype">void</span><aclass="code"href="classneuralpp_1_1NeuralNet.html#b6475762b7e9eab086befdc511f7c236"title="It sets the value you expect from your network (in case the network has an only neuron...">setExpected</a>(std::vector<double> ex);
<aname="l00118"></a>00118
<aname="l00124"></a>00124 <spanclass="keywordtype">void</span><aclass="code"href="classneuralpp_1_1NeuralNet.html#b0bd1daadb06980dff1f50d33a7c098e"title="It updates through back-propagation the weights of the synapsis and computes again...">update</a>();
<aname="l00125"></a>00125
<aname="l00129"></a>00129 <spanclass="keywordtype">void</span><aclass="code"href="classneuralpp_1_1NeuralNet.html#46f23f462318a4ffc037a4e806364c3f"title="It links the layers of the network (input, hidden, output).">link</a>();
<aname="l00132"></a><aclass="code"href="classneuralpp_1_1NeuralNet.html#e2b4e8405f9d25edab395d61502bdba9">00132</a><aclass="code"href="classneuralpp_1_1Layer.html"title="Class for managing layers of neurons.">Layer</a>* <aclass="code"href="classneuralpp_1_1NeuralNet.html#e2b4e8405f9d25edab395d61502bdba9">input</a>;
<aname="l00133"></a><aclass="code"href="classneuralpp_1_1NeuralNet.html#bbdaa1b6c0a1a95d2b18cd25fda2a266">00133</a><aclass="code"href="classneuralpp_1_1Layer.html"title="Class for managing layers of neurons.">Layer</a>* <aclass="code"href="classneuralpp_1_1NeuralNet.html#bbdaa1b6c0a1a95d2b18cd25fda2a266">hidden</a>;
<aname="l00134"></a><aclass="code"href="classneuralpp_1_1NeuralNet.html#fa9b2dbcbb39d0fc70f790ac24069a74">00134</a><aclass="code"href="classneuralpp_1_1Layer.html"title="Class for managing layers of neurons.">Layer</a>* <aclass="code"href="classneuralpp_1_1NeuralNet.html#fa9b2dbcbb39d0fc70f790ac24069a74">output</a>;
<aname="l00135"></a>00135
<aname="l00139"></a><aclass="code"href="classneuralpp_1_1NeuralNet.html#94c36c94060e785ea67a0014c4182f8f6d06b4fe9414a158c97aee1a3679a904">00139</a><spanclass="keyword">typedef</span><spanclass="keyword">enum</span> { <aclass="code"href="classneuralpp_1_1NeuralNet.html#94c36c94060e785ea67a0014c4182f8f5ec2727c0756ddb097b53efe49b81afb">file</a>, <aclass="code"href="classneuralpp_1_1NeuralNet.html#94c36c94060e785ea67a0014c4182f8f6d06b4fe9414a158c97aee1a3679a904">str</a> } <aclass="code"href="classneuralpp_1_1NeuralNet.html#94c36c94060e785ea67a0014c4182f8f"title="Enum to choose the eventual training source for our network (XML from a file or from...">source</a>;
<aname="l00140"></a>00140
<aname="l00144"></a><aclass="code"href="classneuralpp_1_1NeuralNet.html#92b145f2f6f00bf1ba645ce2235882c2">00144</a><aclass="code"href="classneuralpp_1_1NeuralNet.html#92b145f2f6f00bf1ba645ce2235882c2"title="Empty constructor for the class - it just makes nothing.">NeuralNet</a>() {}
<aname="l00145"></a>00145
<aname="l00159"></a>00159 <aclass="code"href="classneuralpp_1_1NeuralNet.html#92b145f2f6f00bf1ba645ce2235882c2"title="Empty constructor for the class - it just makes nothing.">NeuralNet</a> (<spanclass="keywordtype">size_t</span> in_size, <spanclass="keywordtype">size_t</span> hidden_size, <spanclass="keywordtype">size_t</span> out_size, <spanclass="keywordtype">double</span> l,
<aname="l00167"></a>00167 <aclass="code"href="classneuralpp_1_1NeuralNet.html#92b145f2f6f00bf1ba645ce2235882c2"title="Empty constructor for the class - it just makes nothing.">NeuralNet</a> (<spanclass="keyword">const</span> std::string <aclass="code"href="classneuralpp_1_1NeuralNet.html#94c36c94060e785ea67a0014c4182f8f5ec2727c0756ddb097b53efe49b81afb">file</a>) <spanclass="keywordflow">throw</span>(<aclass="code"href="classneuralpp_1_1NetworkFileNotFoundException.html"title="Exception thrown when doing an attempt to load a network from an invalid file.">NetworkFileNotFoundException</a>);
<aname="l00168"></a>00168
<aname="l00174"></a>00174 <spanclass="keywordtype">double</span><aclass="code"href="classneuralpp_1_1NeuralNet.html#961dce8913264bf64c899dce4e25f810"title="It gets the output of the network (note: the layer output should contain an only...">getOutput</a>() <spanclass="keyword">const</span>;
<aname="l00175"></a>00175
<aname="l00180"></a>00180 std::vector<double><aclass="code"href="classneuralpp_1_1NeuralNet.html#e6d2215ecc8b560db2f6797db642191c"title="It gets the output of the network in case the output layer contains more neurons...">getOutputs</a>();
<aname="l00181"></a>00181
<aname="l00186"></a>00186 <spanclass="keywordtype">double</span><aclass="code"href="classneuralpp_1_1NeuralNet.html#e08cdcf4b70f987700e553d9914f6179"title="Get the threshold of the neurons in the network.">getThreshold</a>() <spanclass="keyword">const</span>;
<aname="l00187"></a>00187
<aname="l00192"></a>00192 <spanclass="keywordtype">void</span><aclass="code"href="classneuralpp_1_1NeuralNet.html#c129c180647362da963758bfd1ba6890"title="It propagates values through the network.">propagate</a>();
<aname="l00193"></a>00193
<aname="l00198"></a>00198 <spanclass="keywordtype">void</span><aclass="code"href="classneuralpp_1_1NeuralNet.html#405b32d2928344314ecf0469070b0f17"title="It sets the input for the network.">setInput</a> (std::vector<double> v);
<aname="l00199"></a>00199
<aname="l00206"></a>00206 <spanclass="keywordtype">void</span><aclass="code"href="classneuralpp_1_1NeuralNet.html#fdf94c276720c25e565cac834fe8a407"title="Save a trained neural network to a binary file.">save</a> (<spanclass="keyword">const</span><spanclass="keywordtype">char</span>* fname) <spanclass="keywordflow">throw</span>(<aclass="code"href="classneuralpp_1_1NetworkFileWriteException.html"title="Exception thrown when trying to write the network&#39;s information to a file that...">NetworkFileWriteException</a>);
<aname="l00207"></a>00207
<aname="l00218"></a>00218 <spanclass="keywordtype">void</span><aclass="code"href="classneuralpp_1_1NeuralNet.html#a060e28b438613a6cc9e0895ddbc292b"title="DEPRECATED.">loadFromBinary</a> (<spanclass="keyword">const</span> std::string fname) <spanclass="keywordflow">throw</span>(<aclass="code"href="classneuralpp_1_1NetworkFileNotFoundException.html"title="Exception thrown when doing an attempt to load a network from an invalid file.">NetworkFileNotFoundException</a>);
<aname="l00219"></a>00219
<aname="l00230"></a>00230 <spanclass="keywordtype">void</span><aclass="code"href="classneuralpp_1_1NeuralNet.html#520147d9b47b69565567bd3fdcfd8897"title="DEPRECATED.">saveToBinary</a> (<spanclass="keyword">const</span><spanclass="keywordtype">char</span>* fname) <spanclass="keywordflow">throw</span>(<aclass="code"href="classneuralpp_1_1NetworkFileWriteException.html"title="Exception thrown when trying to write the network&#39;s information to a file that...">NetworkFileWriteException</a>);
<aname="l00231"></a>00231
<aname="l00239"></a>00239 <spanclass="keywordtype">void</span><aclass="code"href="classneuralpp_1_1NeuralNet.html#1c9e17437d41a7048611e21a3cc1c7dd"title="Train a network using a training set loaded from an XML file.">train</a> (std::string xml, <aclass="code"href="classneuralpp_1_1NeuralNet.html#94c36c94060e785ea67a0014c4182f8f"title="Enum to choose the eventual training source for our network (XML from a file or from...">source</a> src) <spanclass="keywordflow">throw</span>(<aclass="code"href="classneuralpp_1_1InvalidXMLException.html"title="Exception thrown when trying parsing an invalid XML.">InvalidXMLException</a>);
<aname="l00240"></a>00240
<aname="l00245"></a>00245 <spanclass="keyword">static</span><spanclass="keywordtype">void</span><aclass="code"href="classneuralpp_1_1NeuralNet.html#96da6712a72051cf34ad961761ef6e08"title="Initialize the training XML for the neural network.">initXML</a> (std::string& xml);
<aname="l00246"></a>00246
<aname="l00259"></a>00259 <spanclass="keyword">static</span> std::string <aclass="code"href="classneuralpp_1_1NeuralNet.html#0a2733037af912b3e6a10146e7b7172f"title="Get a training set from a string and copies it to an XML For example, these strings...">XMLFromSet</a> (<spanclass="keywordtype">int</span>&<spanclass="keywordtype">id</span>, std::string <spanclass="keyword">set</span>);
<aname="l00260"></a>00260
<aname="l00265"></a>00265 <spanclass="keyword">static</span><spanclass="keywordtype">void</span><aclass="code"href="classneuralpp_1_1NeuralNet.html#e17732ed578bc4bd6032bfae58a5cf51"title="Closes an open XML document generated by &quot;initXML&quot; and &quot;XMLFromSet&quot;...">closeXML</a>(std::string& xml);
<aname="l00266"></a>00266 };
<aname="l00267"></a>00267
<aname="l00273"></a><aclass="code"href="classneuralpp_1_1Synapsis.html">00273</a><spanclass="keyword">class </span><aclass="code"href="classneuralpp_1_1Synapsis.html"title="Class for managing synapsis.">Synapsis</a> {
<aname="l00278"></a><aclass="code"href="classneuralpp_1_1Synapsis.html#83d41c158054b08bd05051736e89a0ad">00278</a><aclass="code"href="classneuralpp_1_1Neuron.html"title="Class for managing neurons.">Neuron</a> *<aclass="code"href="classneuralpp_1_1Synapsis.html#83d41c158054b08bd05051736e89a0ad">in</a>;
<aname="l00279"></a><aclass="code"href="classneuralpp_1_1Synapsis.html#fb219e05038fa0da20db1082ab0500be">00279</a><aclass="code"href="classneuralpp_1_1Neuron.html"title="Class for managing neurons.">Neuron</a> *<aclass="code"href="classneuralpp_1_1Synapsis.html#fb219e05038fa0da20db1082ab0500be">out</a>;
<aname="l00287"></a><aclass="code"href="classneuralpp_1_1Synapsis.html#c7760b19c56e9f69994970311703c5fa">00287</a><aclass="code"href="classneuralpp_1_1Synapsis.html#c7760b19c56e9f69994970311703c5fa"title="Empty constructor (it does nothing).">Synapsis</a>() {}
<aname="l00288"></a>00288
<aname="l00295"></a>00295 <aclass="code"href="classneuralpp_1_1Synapsis.html#c7760b19c56e9f69994970311703c5fa"title="Empty constructor (it does nothing).">Synapsis</a> (<aclass="code"href="classneuralpp_1_1Neuron.html"title="Class for managing neurons.">Neuron</a>* i, <aclass="code"href="classneuralpp_1_1Neuron.html"title="Class for managing neurons.">Neuron</a>* o, <spanclass="keywordtype">double</span>(*a)(<spanclass="keywordtype">double</span>));
<aname="l00296"></a>00296
<aname="l00304"></a>00304 <aclass="code"href="classneuralpp_1_1Synapsis.html#c7760b19c56e9f69994970311703c5fa"title="Empty constructor (it does nothing).">Synapsis</a> (<aclass="code"href="classneuralpp_1_1Neuron.html"title="Class for managing neurons.">Neuron</a>* i, <aclass="code"href="classneuralpp_1_1Neuron.html"title="Class for managing neurons.">Neuron</a>* o,
<aname="l00310"></a>00310 <aclass="code"href="classneuralpp_1_1Neuron.html"title="Class for managing neurons.">Neuron</a>* <aclass="code"href="classneuralpp_1_1Synapsis.html#298fd3c7483ad572899fecec01ac8fdf">getIn</a>() <spanclass="keyword">const</span>;
<aname="l00311"></a>00311
<aname="l00315"></a>00315 <aclass="code"href="classneuralpp_1_1Neuron.html"title="Class for managing neurons.">Neuron</a>* <aclass="code"href="classneuralpp_1_1Synapsis.html#b46d876761a73a24db87f5a144a0e899">getOut</a>() <spanclass="keyword">const</span>;
<aname="l00316"></a>00316
<aname="l00321"></a>00321 <spanclass="keywordtype">void</span><aclass="code"href="classneuralpp_1_1Synapsis.html#acee77d0fdf9889464ab5ed27beae0ff"title="Set the weight of the synapsis.">setWeight</a>(<spanclass="keywordtype">double</span> w) <spanclass="keywordflow">throw</span>(<aclass="code"href="classneuralpp_1_1InvalidSynapticalWeightException.html"title="Exception raised when, while trying the network or directly, the weight of a synapsis...">InvalidSynapticalWeightException</a>);
<aname="l00322"></a>00322
<aname="l00328"></a>00328 <spanclass="keywordtype">void</span><aclass="code"href="classneuralpp_1_1Synapsis.html#429ad5b25930faf436a9d725582802e1"title="It sets the delta (how much to change the weight after an update) of the synapsis...">setDelta</a>(<spanclass="keywordtype">double</span> d) <spanclass="keywordflow">throw</span>(<aclass="code"href="classneuralpp_1_1InvalidSynapticalWeightException.html"title="Exception raised when, while trying the network or directly, the weight of a synapsis...">InvalidSynapticalWeightException</a>);
<aname="l00329"></a>00329
<aname="l00334"></a>00334 <spanclass="keywordtype">double</span><aclass="code"href="classneuralpp_1_1Synapsis.html#bcbf7228632ff4d6bbb67703323d2db0"title="Return the weight of the synapsis.">getWeight</a>() <spanclass="keyword">const</span>;
<aname="l00335"></a>00335
<aname="l00340"></a>00340 <spanclass="keywordtype">double</span><aclass="code"href="classneuralpp_1_1Synapsis.html#00c8e9c0804662f2b3247d6dddb4ca6c"title="Return the delta of the synapsis.">getDelta</a>() <spanclass="keyword">const</span>;
<aname="l00341"></a>00341
<aname="l00346"></a>00346 <spanclass="keywordtype">double</span><aclass="code"href="classneuralpp_1_1Synapsis.html#0148b9c8db870c928711168702ae51c5"title="Get the delta of the synapsis at the previous iteration.">getPrevDelta</a>() <spanclass="keyword">const</span>;
<aname="l00347"></a>00347
<aname="l00358"></a>00358 <spanclass="keywordtype">double</span><aclass="code"href="classneuralpp_1_1Synapsis.html#cff10a022d4c021688e4df944c05d8bd"title="Get the inertial momentum of a synapsis.">momentum</a> (<spanclass="keywordtype">int</span> N, <spanclass="keywordtype">int</span> x) <spanclass="keyword">const</span>;
<aname="l00359"></a>00359 };
<aname="l00360"></a>00360
<aname="l00366"></a><aclass="code"href="classneuralpp_1_1Neuron.html">00366</a><spanclass="keyword">class </span><aclass="code"href="classneuralpp_1_1Neuron.html"title="Class for managing neurons.">Neuron</a> {
<aname="l00401"></a>00401 <aclass="code"href="classneuralpp_1_1Synapsis.html"title="Class for managing synapsis.">Synapsis</a>&<aclass="code"href="classneuralpp_1_1Neuron.html#29f2d9dcc4ca34f224d4dc39bb2f180a"title="Get the i-th synapsis connected on the input of the neuron.">synIn</a> (<spanclass="keywordtype">size_t</span> i);
<aname="l00402"></a>00402
<aname="l00408"></a>00408 <aclass="code"href="classneuralpp_1_1Synapsis.html"title="Class for managing synapsis.">Synapsis</a>&<aclass="code"href="classneuralpp_1_1Neuron.html#655f1637e1b754461413ac7fc2ffeebe"title="Get the i-th synapsis connected on the output of the neuron.">synOut</a> (<spanclass="keywordtype">size_t</span> i);
<aname="l00409"></a>00409
<aname="l00414"></a>00414 <spanclass="keywordtype">void</span><aclass="code"href="classneuralpp_1_1Neuron.html#4d252151c35839975838539d846d70be"title="It pushes a new input synapsis.">push_in</a> (<aclass="code"href="classneuralpp_1_1Synapsis.html"title="Class for managing synapsis.">Synapsis</a> s);
<aname="l00415"></a>00415
<aname="l00420"></a>00420 <spanclass="keywordtype">void</span><aclass="code"href="classneuralpp_1_1Neuron.html#2c0acb0e6d413c4e0fc9e7939da1a684"title="It pushes a new output synapsis.">push_out</a> (<aclass="code"href="classneuralpp_1_1Synapsis.html"title="Class for managing synapsis.">Synapsis</a> s);
<aname="l00421"></a>00421
<aname="l00426"></a>00426 <spanclass="keywordtype">void</span><aclass="code"href="classneuralpp_1_1Neuron.html#ddf00ffef030b27ed11901aad08822bd"title="Change the activation value of the neuron.">setActv</a> (<spanclass="keywordtype">double</span> a);
<aname="l00427"></a>00427
<aname="l00432"></a>00432 <spanclass="keywordtype">void</span><aclass="code"href="classneuralpp_1_1Neuron.html#aa6e58f073a76b3481fea9115a4e6ea6"title="Change the propagation value of the neuron.">setProp</a> (<spanclass="keywordtype">double</span> p);
<aname="l00441"></a>00441 <spanclass="keywordtype">double</span><aclass="code"href="classneuralpp_1_1Neuron.html#55993867179f0ac7d1e0e2c460ceb611"title="Get the activation value of the neuron.">getActv</a>();
<aname="l00442"></a>00442
<aname="l00447"></a>00447 <spanclass="keywordtype">double</span><aclass="code"href="classneuralpp_1_1Neuron.html#57c022f82213f662e2a263fc134a3fc9"title="Get the propagation value of the neuron.">getProp</a>();
<aname="l00448"></a>00448
<aname="l00452"></a>00452 <spanclass="keywordtype">void</span><aclass="code"href="classneuralpp_1_1Neuron.html#928d9bf5aed600119c640779e4034f30"title="Compute the propagation value of the neuron and set it.">propagate</a>();
<aname="l00453"></a>00453
<aname="l00458"></a>00458 <spanclass="keywordtype">size_t</span><aclass="code"href="classneuralpp_1_1Neuron.html#ad97f1a082d5f969eb4c69ab454ecfbb"title="Get the number of input synapsis for the neuron.">nIn</a>();
<aname="l00459"></a>00459
<aname="l00464"></a>00464 <spanclass="keywordtype">size_t</span><aclass="code"href="classneuralpp_1_1Neuron.html#fe458021e3b20d58dc608fb94ae2135b"title="Get the number of output synapsis for the neuron.">nOut</a>();
<aname="l00465"></a>00465
<aname="l00469"></a>00469 <spanclass="keywordtype">void</span><aclass="code"href="classneuralpp_1_1Neuron.html#2e2ccb69277fc3d992a3a3f2360ed154"title="Remove input and output synapsis from a neuron.">synClear</a>();
<aname="l00470"></a>00470 };
<aname="l00471"></a>00471
<aname="l00477"></a><aclass="code"href="classneuralpp_1_1Layer.html">00477</a><spanclass="keyword">class </span><aclass="code"href="classneuralpp_1_1Layer.html"title="Class for managing layers of neurons.">Layer</a> {
<aname="l00509"></a>00509 <aclass="code"href="classneuralpp_1_1Neuron.html"title="Class for managing neurons.">Neuron</a>&<aclass="code"href="classneuralpp_1_1Layer.html#45ff7554830558155c6fbce3b6827122"title="Redefinition for operator [].">operator[] </a>(<spanclass="keywordtype">size_t</span> i) <spanclass="keywordflow">throw</span>(<aclass="code"href="classneuralpp_1_1NetworkIndexOutOfBoundsException.html"title="Exception raised when trying to access a neuron whose index is larger than the number...">NetworkIndexOutOfBoundsException</a>);
<aname="l00510"></a>00510
<aname="l00515"></a>00515 <spanclass="keywordtype">void</span><aclass="code"href="classneuralpp_1_1Layer.html#ac33444fde14633fa1ad4acb024ad150"title="It links a layer to another.">link</a> (<aclass="code"href="classneuralpp_1_1Layer.html"title="Class for managing layers of neurons.">Layer</a>& l);
<aname="l00516"></a>00516
<aname="l00521"></a>00521 <spanclass="keywordtype">void</span><aclass="code"href="classneuralpp_1_1Layer.html#88ceffc23f02a9dc24d4355767b7cca7"title="Set the input values for the neurons of the layer (just use it for the input layer)...">setInput</a> (std::vector<double> v);
<aname="l00522"></a>00522
<aname="l00526"></a>00526 <spanclass="keywordtype">void</span><aclass="code"href="classneuralpp_1_1Layer.html#fcfd306039dbaf91c9e2dcc8fc1f1ce1"title="It propagates its activation values to the output layers.">propagate</a>();
<aname="l00561"></a>00561 std::vector<double><aclass="code"href="namespaceneuralpp_1_1neuralutils.html#68719b3d63ca48ed264e1b730a1aaa4a"title="Split a string into a vector of doubles, given a delimitator.">split</a> (<spanclass="keywordtype">char</span> delim, std::string str);
<aname="l00562"></a>00562
<aname="l00568"></a>00568 std::vector<std::string><aclass="code"href="namespaceneuralpp_1_1neuralutils.html#1d887e4bcc7ef2d50cbeca984767a78b"title="Split the lines of a string.">splitLines</a> (std::string str);
<aname="l00569"></a>00569
<aname="l00574"></a>00574 <spanclass="keywordtype">void</span><aclass="code"href="namespaceneuralpp_1_1neuralutils.html#f7932c25bd82b19173d2f3d2e5cef488"title="Convert the characters of a string to lower case.">toLower</a> (std::string& str);
<aname="l00575"></a>00575
<aname="l00580"></a>00580 <spanclass="keywordtype">void</span><aclass="code"href="namespaceneuralpp_1_1neuralutils.html#265b22d1a6110646b42693b96c21ca8b"title="Convert the characters of a string to upper case.">toUpper</a> (std::string& str);