From b50b2c08aec3d4adae4dac03116c016befbe788e Mon Sep 17 00:00:00 2001 From: blacklight Date: Sun, 9 Aug 2009 11:17:39 +0200 Subject: [PATCH] Fixing, more & more --- ChangeLog | 5 +- README | 2 +- doc/html/Markup_8h-source.html | 667 +++ doc/html/Markup_8h.html | 1038 ++++ doc/html/annotated.html | 51 + doc/html/classCMarkup-members.html | 219 + doc/html/classCMarkup.html | 4485 +++++++++++++++++ doc/html/classneuralpp_1_1Layer-members.html | 43 + doc/html/classneuralpp_1_1Layer.html | 381 ++ .../classneuralpp_1_1NeuralNet-members.html | 64 + doc/html/classneuralpp_1_1NeuralNet.html | 949 ++++ doc/html/classneuralpp_1_1Neuron-members.html | 51 + doc/html/classneuralpp_1_1Neuron.html | 578 +++ .../classneuralpp_1_1Synapsis-members.html | 49 + doc/html/classneuralpp_1_1Synapsis.html | 560 ++ doc/html/doxygen.css | 473 ++ doc/html/doxygen.png | Bin 0 -> 1281 bytes doc/html/files.html | 35 + doc/html/functions.html | 100 + doc/html/functions_0x63.html | 84 + doc/html/functions_0x64.html | 82 + doc/html/functions_0x65.html | 89 + doc/html/functions_0x66.html | 79 + doc/html/functions_0x67.html | 117 + doc/html/functions_0x68.html | 71 + doc/html/functions_0x69.html | 104 + doc/html/functions_0x6c.html | 81 + doc/html/functions_0x6d.html | 177 + doc/html/functions_0x6e.html | 134 + doc/html/functions_0x6f.html | 83 + doc/html/functions_0x70.html | 101 + doc/html/functions_0x72.html | 92 + doc/html/functions_0x73.html | 161 + doc/html/functions_0x74.html | 75 + doc/html/functions_0x75.html | 81 + doc/html/functions_0x77.html | 73 + doc/html/functions_0x78.html | 171 + doc/html/functions_0x7e.html | 77 + doc/html/functions_enum.html | 53 + doc/html/functions_eval.html | 143 + doc/html/functions_func.html | 90 + doc/html/functions_func_0x63.html | 83 + doc/html/functions_func_0x64.html | 72 + doc/html/functions_func_0x65.html | 80 + doc/html/functions_func_0x66.html | 74 + doc/html/functions_func_0x67.html | 116 + doc/html/functions_func_0x69.html | 86 + doc/html/functions_func_0x6c.html | 77 + doc/html/functions_func_0x6d.html | 72 + doc/html/functions_func_0x6e.html | 78 + doc/html/functions_func_0x6f.html | 75 + doc/html/functions_func_0x70.html | 76 + doc/html/functions_func_0x72.html | 89 + doc/html/functions_func_0x73.html | 136 + doc/html/functions_func_0x74.html | 74 + doc/html/functions_func_0x75.html | 78 + doc/html/functions_func_0x77.html | 68 + doc/html/functions_func_0x78.html | 170 + doc/html/functions_func_0x7e.html | 76 + doc/html/functions_vars.html | 270 + doc/html/globals.html | 152 + doc/html/globals_defs.html | 152 + doc/html/index.html | 26 + doc/html/namespaceneuralpp.html | 50 + doc/html/namespaces.html | 27 + doc/html/neural_09_09_8hpp-source.html | 251 + doc/html/neural_09_09_8hpp.html | 99 + .../neural_09_09__exception_8hpp-source.html | 61 + doc/html/neural_09_09__exception_8hpp.html | 29 + ...uctCMarkup_1_1ConvertEncoding-members.html | 38 + .../structCMarkup_1_1ConvertEncoding.html | 204 + .../structCMarkup_1_1ElemPos-members.html | 54 + doc/html/structCMarkup_1_1ElemPos.html | 534 ++ .../structCMarkup_1_1FilePos-members.html | 40 + doc/html/structCMarkup_1_1FilePos.html | 202 + .../structCMarkup_1_1NodePos-members.html | 38 + doc/html/structCMarkup_1_1NodePos.html | 183 + .../structCMarkup_1_1NodeStack-members.html | 43 + doc/html/structCMarkup_1_1NodeStack.html | 316 ++ .../structCMarkup_1_1PosArray-members.html | 44 + doc/html/structCMarkup_1_1PosArray.html | 323 ++ .../structCMarkup_1_1SavedPos-members.html | 39 + doc/html/structCMarkup_1_1SavedPos.html | 152 + .../structCMarkup_1_1SavedPosMap-members.html | 35 + doc/html/structCMarkup_1_1SavedPosMap.html | 130 + ...ctCMarkup_1_1SavedPosMapArray-members.html | 35 + .../structCMarkup_1_1SavedPosMapArray.html | 136 + .../structCMarkup_1_1TokenPos-members.html | 43 + doc/html/structCMarkup_1_1TokenPos.html | 321 ++ doc/html/structMCD__CSTR-members.html | 36 + doc/html/structMCD__CSTR.html | 155 + .../structneuralpp_1_1netrecord-members.html | 37 + doc/html/structneuralpp_1_1netrecord.html | 145 + ...tructneuralpp_1_1neuronrecord-members.html | 33 + doc/html/structneuralpp_1_1neuronrecord.html | 77 + .../structneuralpp_1_1synrecord-members.html | 33 + doc/html/structneuralpp_1_1synrecord.html | 77 + doc/html/tab_b.gif | Bin 0 -> 35 bytes doc/html/tab_l.gif | Bin 0 -> 706 bytes doc/html/tab_r.gif | Bin 0 -> 2585 bytes doc/html/tabs.css | 102 + doc/latex/FreeSans.ttf | Bin 0 -> 22932 bytes doc/latex/Makefile | 39 + doc/latex/Markup_8h.tex | 385 ++ doc/latex/annotated.tex | 22 + doc/latex/classCMarkup.tex | 1427 ++++++ doc/latex/classneuralpp_1_1Layer.tex | 164 + doc/latex/classneuralpp_1_1NeuralNet.tex | 408 ++ doc/latex/classneuralpp_1_1Neuron.tex | 252 + doc/latex/classneuralpp_1_1Synapsis.tex | 218 + doc/latex/doxygen.sty | 78 + doc/latex/files.tex | 6 + doc/latex/namespaceneuralpp.tex | 26 + doc/latex/namespaces.tex | 4 + doc/latex/neural_09_09_8hpp.tex | 54 + doc/latex/neural_09_09__exception_8hpp.tex | 2 + doc/latex/refman.tex | 64 + .../structCMarkup_1_1ConvertEncoding.tex | 84 + doc/latex/structCMarkup_1_1ElemPos.tex | 221 + doc/latex/structCMarkup_1_1FilePos.tex | 84 + doc/latex/structCMarkup_1_1NodePos.tex | 80 + doc/latex/structCMarkup_1_1NodeStack.tex | 137 + doc/latex/structCMarkup_1_1PosArray.tex | 152 + doc/latex/structCMarkup_1_1SavedPos.tex | 78 + doc/latex/structCMarkup_1_1SavedPosMap.tex | 57 + .../structCMarkup_1_1SavedPosMapArray.tex | 62 + doc/latex/structCMarkup_1_1TokenPos.tex | 132 + doc/latex/structMCD__CSTR.tex | 67 + doc/latex/structneuralpp_1_1netrecord.tex | 57 + doc/latex/structneuralpp_1_1neuronrecord.tex | 29 + doc/latex/structneuralpp_1_1synrecord.tex | 29 + {src => include}/Doxyfile | 2 +- include/neural++.hpp | 139 +- src/layer.cpp | 92 +- src/neural_doc.h | 194 - src/neuralnet.cpp | 853 ++-- src/neuron.cpp | 109 +- src/synapsis.cpp | 122 +- 138 files changed, 23410 insertions(+), 789 deletions(-) create mode 100644 doc/html/Markup_8h-source.html create mode 100644 doc/html/Markup_8h.html create mode 100644 doc/html/annotated.html create mode 100644 doc/html/classCMarkup-members.html create mode 100644 doc/html/classCMarkup.html create mode 100644 doc/html/classneuralpp_1_1Layer-members.html create mode 100644 doc/html/classneuralpp_1_1Layer.html create mode 100644 doc/html/classneuralpp_1_1NeuralNet-members.html create mode 100644 doc/html/classneuralpp_1_1NeuralNet.html create mode 100644 doc/html/classneuralpp_1_1Neuron-members.html create mode 100644 doc/html/classneuralpp_1_1Neuron.html create mode 100644 doc/html/classneuralpp_1_1Synapsis-members.html create mode 100644 doc/html/classneuralpp_1_1Synapsis.html create mode 100644 doc/html/doxygen.css create mode 100644 doc/html/doxygen.png create mode 100644 doc/html/files.html create mode 100644 doc/html/functions.html create mode 100644 doc/html/functions_0x63.html create mode 100644 doc/html/functions_0x64.html create mode 100644 doc/html/functions_0x65.html create mode 100644 doc/html/functions_0x66.html create mode 100644 doc/html/functions_0x67.html create mode 100644 doc/html/functions_0x68.html create mode 100644 doc/html/functions_0x69.html create mode 100644 doc/html/functions_0x6c.html create mode 100644 doc/html/functions_0x6d.html create mode 100644 doc/html/functions_0x6e.html create mode 100644 doc/html/functions_0x6f.html create mode 100644 doc/html/functions_0x70.html create mode 100644 doc/html/functions_0x72.html create mode 100644 doc/html/functions_0x73.html create mode 100644 doc/html/functions_0x74.html create mode 100644 doc/html/functions_0x75.html create mode 100644 doc/html/functions_0x77.html create mode 100644 doc/html/functions_0x78.html create mode 100644 doc/html/functions_0x7e.html create mode 100644 doc/html/functions_enum.html create mode 100644 doc/html/functions_eval.html create mode 100644 doc/html/functions_func.html create mode 100644 doc/html/functions_func_0x63.html create mode 100644 doc/html/functions_func_0x64.html create mode 100644 doc/html/functions_func_0x65.html create mode 100644 doc/html/functions_func_0x66.html create mode 100644 doc/html/functions_func_0x67.html create mode 100644 doc/html/functions_func_0x69.html create mode 100644 doc/html/functions_func_0x6c.html create mode 100644 doc/html/functions_func_0x6d.html create mode 100644 doc/html/functions_func_0x6e.html create mode 100644 doc/html/functions_func_0x6f.html create mode 100644 doc/html/functions_func_0x70.html create mode 100644 doc/html/functions_func_0x72.html create mode 100644 doc/html/functions_func_0x73.html create mode 100644 doc/html/functions_func_0x74.html create mode 100644 doc/html/functions_func_0x75.html create mode 100644 doc/html/functions_func_0x77.html create mode 100644 doc/html/functions_func_0x78.html create mode 100644 doc/html/functions_func_0x7e.html create mode 100644 doc/html/functions_vars.html create mode 100644 doc/html/globals.html create mode 100644 doc/html/globals_defs.html create mode 100644 doc/html/index.html create mode 100644 doc/html/namespaceneuralpp.html create mode 100644 doc/html/namespaces.html create mode 100644 doc/html/neural_09_09_8hpp-source.html create mode 100644 doc/html/neural_09_09_8hpp.html create mode 100644 doc/html/neural_09_09__exception_8hpp-source.html create mode 100644 doc/html/neural_09_09__exception_8hpp.html create mode 100644 doc/html/structCMarkup_1_1ConvertEncoding-members.html create mode 100644 doc/html/structCMarkup_1_1ConvertEncoding.html create mode 100644 doc/html/structCMarkup_1_1ElemPos-members.html create mode 100644 doc/html/structCMarkup_1_1ElemPos.html create mode 100644 doc/html/structCMarkup_1_1FilePos-members.html create mode 100644 doc/html/structCMarkup_1_1FilePos.html create mode 100644 doc/html/structCMarkup_1_1NodePos-members.html create mode 100644 doc/html/structCMarkup_1_1NodePos.html create mode 100644 doc/html/structCMarkup_1_1NodeStack-members.html create mode 100644 doc/html/structCMarkup_1_1NodeStack.html create mode 100644 doc/html/structCMarkup_1_1PosArray-members.html create mode 100644 doc/html/structCMarkup_1_1PosArray.html create mode 100644 doc/html/structCMarkup_1_1SavedPos-members.html create mode 100644 doc/html/structCMarkup_1_1SavedPos.html create mode 100644 doc/html/structCMarkup_1_1SavedPosMap-members.html create mode 100644 doc/html/structCMarkup_1_1SavedPosMap.html create mode 100644 doc/html/structCMarkup_1_1SavedPosMapArray-members.html create mode 100644 doc/html/structCMarkup_1_1SavedPosMapArray.html create mode 100644 doc/html/structCMarkup_1_1TokenPos-members.html create mode 100644 doc/html/structCMarkup_1_1TokenPos.html create mode 100644 doc/html/structMCD__CSTR-members.html create mode 100644 doc/html/structMCD__CSTR.html create mode 100644 doc/html/structneuralpp_1_1netrecord-members.html create mode 100644 doc/html/structneuralpp_1_1netrecord.html create mode 100644 doc/html/structneuralpp_1_1neuronrecord-members.html create mode 100644 doc/html/structneuralpp_1_1neuronrecord.html create mode 100644 doc/html/structneuralpp_1_1synrecord-members.html create mode 100644 doc/html/structneuralpp_1_1synrecord.html create mode 100644 doc/html/tab_b.gif create mode 100644 doc/html/tab_l.gif create mode 100644 doc/html/tab_r.gif create mode 100644 doc/html/tabs.css create mode 100644 doc/latex/FreeSans.ttf create mode 100644 doc/latex/Makefile create mode 100644 doc/latex/Markup_8h.tex create mode 100644 doc/latex/annotated.tex create mode 100644 doc/latex/classCMarkup.tex create mode 100644 doc/latex/classneuralpp_1_1Layer.tex create mode 100644 doc/latex/classneuralpp_1_1NeuralNet.tex create mode 100644 doc/latex/classneuralpp_1_1Neuron.tex create mode 100644 doc/latex/classneuralpp_1_1Synapsis.tex create mode 100644 doc/latex/doxygen.sty create mode 100644 doc/latex/files.tex create mode 100644 doc/latex/namespaceneuralpp.tex create mode 100644 doc/latex/namespaces.tex create mode 100644 doc/latex/neural_09_09_8hpp.tex create mode 100644 doc/latex/neural_09_09__exception_8hpp.tex create mode 100644 doc/latex/refman.tex create mode 100644 doc/latex/structCMarkup_1_1ConvertEncoding.tex create mode 100644 doc/latex/structCMarkup_1_1ElemPos.tex create mode 100644 doc/latex/structCMarkup_1_1FilePos.tex create mode 100644 doc/latex/structCMarkup_1_1NodePos.tex create mode 100644 doc/latex/structCMarkup_1_1NodeStack.tex create mode 100644 doc/latex/structCMarkup_1_1PosArray.tex create mode 100644 doc/latex/structCMarkup_1_1SavedPos.tex create mode 100644 doc/latex/structCMarkup_1_1SavedPosMap.tex create mode 100644 doc/latex/structCMarkup_1_1SavedPosMapArray.tex create mode 100644 doc/latex/structCMarkup_1_1TokenPos.tex create mode 100644 doc/latex/structMCD__CSTR.tex create mode 100644 doc/latex/structneuralpp_1_1netrecord.tex create mode 100644 doc/latex/structneuralpp_1_1neuronrecord.tex create mode 100644 doc/latex/structneuralpp_1_1synrecord.tex rename {src => include}/Doxyfile (99%) delete mode 100644 src/neural_doc.h diff --git a/ChangeLog b/ChangeLog index 07c3087..faada6d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,4 @@ ---- 0.3 release --- +--- Release 0.3 --- 2009-08-09 BlackLight @@ -7,7 +7,8 @@ * synapsis.cpp: Added momentum() method to compute the inertial momentum of a synapsis * everything: Data type changed from float to double for everything, - fixing neuralpp namespace + fixing neuralpp namespace, fixed indentation, fixed exception throwing, + fixed documentation --- Release 0.2.2 --- diff --git a/README b/README index 8bf525c..a44c0d8 100644 --- a/README +++ b/README @@ -12,6 +12,6 @@ Released under GNU GPL licence v.3, copyright 2008-2009 # Take a look to the example in "example" directory to view it pratically. # Take a look to documentation in "doc" directory to see how to use it. You can - also generate documentation on your own, moving to `src` directory and typing + also generate documentation on your own, moving to `include` directory and typing `doxygen` diff --git a/doc/html/Markup_8h-source.html b/doc/html/Markup_8h-source.html new file mode 100644 index 0000000..cf7bc47 --- /dev/null +++ b/doc/html/Markup_8h-source.html @@ -0,0 +1,667 @@ + + +Neural++: Markup.h Source File + + + + + +
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/Markup_8h.html b/doc/html/Markup_8h.html new file mode 100644 index 0000000..daa2cee --- /dev/null +++ b/doc/html/Markup_8h.html @@ -0,0 +1,1038 @@ + + +Neural++: Markup.h File Reference + + + + + +
+

Markup.h File Reference

#include <stdlib.h>
+#include <string.h>
+#include <string>
+ +

+Go to the source code of this file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Classes

struct  MCD_CSTR
class  CMarkup
struct  CMarkup::ElemPos
struct  CMarkup::NodePos
struct  CMarkup::TokenPos
struct  CMarkup::SavedPos
struct  CMarkup::SavedPosMap
struct  CMarkup::SavedPosMapArray
struct  CMarkup::PosArray
struct  CMarkup::NodeStack
struct  CMarkup::FilePos
struct  CMarkup::ConvertEncoding

Defines

#define _MARKUP_H_INCLUDED_
#define MARKUP_STL
#define MARKUP_SIZEOFWCHAR   2
#define MARKUP_WINCONV
#define MCD_ACP   0
#define MCD_UTF8   65001
#define MCD_UTF16   1200
#define MCD_UTF32   65005
#define MCD_CHAR   char
#define MCD_PCSZ   const char*
#define MCD_PSZLEN   (int)strlen
#define MCD_PSZCHR   strchr
#define MCD_PSZSTR   strstr
#define MCD_PSZTOL   strtol
#define MCD_PSZNCMP   strncmp
#define MCD_SSZ(sz)   sz
#define MCD_PSZCPY   strcpy
#define MCD_PSZNCPY   strncpy
#define MCD_PSZCAT   strcat
#define MCD_SPRINTF   sprintf
#define MCD_FOPEN(f, n, m)   f=fopen(n,m)
#define MCD_T(s)   s
#define MCD_ENC   MCD_T("UTF-8")
#define MCD_CLEN(p)   1
#define MCD_STRERROR   strerror(errno)
#define MCD_STR   std::string
#define MCD_2PCSZ(s)   s.c_str()
#define MCD_STRLENGTH(s)   (int)s.size()
#define MCD_STRCLEAR(s)   s.erase()
#define MCD_STRISEMPTY(s)   s.empty()
#define MCD_STRMID(s, n, l)   s.substr(n,l)
#define MCD_STRASSIGN(s, p, n)   s.assign(p,n)
#define MCD_STRCAPACITY(s)   (int)s.capacity()
#define MCD_STRINSERTREPLACE(d, i, r, s)   d.replace(i,r,s)
#define MCD_GETBUFFER(s, n)   new MCD_CHAR[n+1]; s.reserve(n)
#define MCD_RELEASEBUFFER(s, p, n)   s.assign(p,n); delete[]p
#define MCD_BLDRESERVE(s, n)   s.reserve(n)
#define MCD_BLDCHECK(s, n, d)   ;
#define MCD_BLDRELEASE(s)   ;
#define MCD_BLDAPPENDN(s, p, n)   s.append(p,n)
#define MCD_BLDAPPEND(s, p)   s.append(p)
#define MCD_BLDAPPEND1(s, c)   s+=(MCD_CHAR)(c)
#define MCD_STRTOINT(s)   MCD_PSZTOL(MCD_2PCSZ(s),NULL,10)
#define MCD_CSTR_FILENAME   MCD_CSTR
#define MCD_T_FILENAME   MCD_T
#define MCD_PCSZ_FILENAME   MCD_PCSZ
#define MARKUP_SETDEBUGSTATE
+


Define Documentation

+ +
+
+ + + + +
#define _MARKUP_H_INCLUDED_
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define MARKUP_SETDEBUGSTATE
+
+
+ +

+ +

Referenced by CMarkup::x_SetPos().

+ +
+

+ +

+
+ + + + +
#define MARKUP_SIZEOFWCHAR   2
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define MARKUP_STL
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define MARKUP_WINCONV
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
#define MCD_2PCSZ (  )    s.c_str()
+
+
+ +

+ +

Referenced by MCD_CSTR::MCD_CSTR().

+ +
+

+ +

+
+ + + + +
#define MCD_ACP   0
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + +
#define MCD_BLDAPPEND (s,
 )    s.append(p)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + +
#define MCD_BLDAPPEND1 (s,
 )    s+=(MCD_CHAR)(c)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + +
#define MCD_BLDAPPENDN (s,
p,
 )    s.append(p,n)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + +
#define MCD_BLDCHECK (s,
n,
 )    ;
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
#define MCD_BLDRELEASE (  )    ;
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + +
#define MCD_BLDRESERVE (s,
 )    s.reserve(n)
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define MCD_CHAR   char
+
+ +

+ +

+
+ + + + + + + + + +
#define MCD_CLEN (  )    1
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define MCD_CSTR_FILENAME   MCD_CSTR
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define MCD_ENC   MCD_T("UTF-8")
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + +
#define MCD_FOPEN (f,
n,
 )    f=fopen(n,m)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + +
#define MCD_GETBUFFER (s,
 )    new MCD_CHAR[n+1]; s.reserve(n)
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define MCD_PCSZ   const char*
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define MCD_PCSZ_FILENAME   MCD_PCSZ
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define MCD_PSZCAT   strcat
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define MCD_PSZCHR   strchr
+
+
+ +

+ +

Referenced by CMarkup::TokenPos::Match().

+ +
+

+ +

+
+ + + + +
#define MCD_PSZCPY   strcpy
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define MCD_PSZLEN   (int)strlen
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define MCD_PSZNCMP   strncmp
+
+
+ +

+ +

Referenced by CMarkup::TokenPos::Match().

+ +
+

+ +

+
+ + + + +
#define MCD_PSZNCPY   strncpy
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define MCD_PSZSTR   strstr
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define MCD_PSZTOL   strtol
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + +
#define MCD_RELEASEBUFFER (s,
p,
 )    s.assign(p,n); delete[]p
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define MCD_SPRINTF   sprintf
+
+
+ +

+ +

Referenced by CMarkup::x_IntToStr().

+ +
+

+ +

+
+ + + + + + + + + +
#define MCD_SSZ (sz   )    sz
+
+
+ +

+ +

Referenced by CMarkup::x_IntToStr().

+ +
+

+ +

+
+ + + + +
#define MCD_STR   std::string
+
+
+ +

+ +

Referenced by CMarkup::x_IntToStr().

+ +
+

+ +

+
+ + + + + + + + + + + + + + + +
#define MCD_STRASSIGN (s,
p,
 )    s.assign(p,n)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
#define MCD_STRCAPACITY (  )    (int)s.capacity()
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
#define MCD_STRCLEAR (  )    s.erase()
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define MCD_STRERROR   strerror(errno)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
#define MCD_STRINSERTREPLACE (d,
i,
r,
 )    d.replace(i,r,s)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
#define MCD_STRISEMPTY (  )    s.empty()
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
#define MCD_STRLENGTH (  )    (int)s.size()
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + +
#define MCD_STRMID (s,
n,
 )    s.substr(n,l)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
#define MCD_STRTOINT (  )    MCD_PSZTOL(MCD_2PCSZ(s),NULL,10)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
#define MCD_T (  )    s
+
+
+ +

+ +

Referenced by CMarkup::TokenPos::Match(), and CMarkup::x_IntToStr().

+ +
+

+ +

+
+ + + + +
#define MCD_T_FILENAME   MCD_T
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define MCD_UTF16   1200
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define MCD_UTF32   65005
+
+
+ +

+ +

+

+ +

+
+ + + + +
#define MCD_UTF8   65001
+
+
+ +

+ +

+

+

+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/annotated.html b/doc/html/annotated.html new file mode 100644 index 0000000..b74748c --- /dev/null +++ b/doc/html/annotated.html @@ -0,0 +1,51 @@ + + +Neural++: Class List + + + + + +
+

Class List

Here are the classes, structs, unions and interfaces with brief descriptions: + + + + + + + + + + + + + + + + + + + +
CMarkup
CMarkup::ConvertEncoding
CMarkup::ElemPos
CMarkup::FilePos
CMarkup::NodePos
CMarkup::NodeStack
CMarkup::PosArray
CMarkup::SavedPos
CMarkup::SavedPosMap
CMarkup::SavedPosMapArray
CMarkup::TokenPos
neuralpp::LayerClass for managing layers of neurons
MCD_CSTR
neuralpp::netrecord
neuralpp::NeuralNetMain project's class
neuralpp::NeuronClass for managing neurons
neuralpp::neuronrecord
neuralpp::SynapsisClass for managing synapsis
neuralpp::synrecord
+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/classCMarkup-members.html b/doc/html/classCMarkup-members.html new file mode 100644 index 0000000..ca2d264 --- /dev/null +++ b/doc/html/classCMarkup-members.html @@ -0,0 +1,219 @@ + + +Neural++: Member List + + + + + +
+

CMarkup Member List

This is the complete list of members for CMarkup, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddAttrib(MCD_CSTR szAttrib, MCD_CSTR szValue)CMarkup [inline]
AddAttrib(MCD_CSTR szAttrib, int nValue)CMarkup [inline]
AddChildAttrib(MCD_CSTR szAttrib, MCD_CSTR szValue)CMarkup [inline]
AddChildAttrib(MCD_CSTR szAttrib, int nValue)CMarkup [inline]
AddChildElem(MCD_CSTR szName, MCD_CSTR szData=NULL, int nFlags=0)CMarkup [inline]
AddChildElem(MCD_CSTR szName, int nValue, int nFlags=0)CMarkup [inline]
AddChildSubDoc(MCD_CSTR szSubDoc)CMarkup [inline]
AddElem(MCD_CSTR szName, MCD_CSTR szData=NULL, int nFlags=0)CMarkup [inline]
AddElem(MCD_CSTR szName, int nValue, int nFlags=0)CMarkup [inline]
AddNode(int nType, MCD_CSTR szText)CMarkup [inline]
AddSubDoc(MCD_CSTR szSubDoc)CMarkup [inline]
AToUTF8(MCD_CSTR pszANSI)CMarkup [static]
CMarkup()CMarkup [inline]
CMarkup(MCD_CSTR szDoc)CMarkup [inline]
CMarkup(int nFlags)CMarkup [inline]
CMarkup(const CMarkup &markup)CMarkup [inline]
DecodeCharUTF16(const unsigned short *&pwszUTF16, const unsigned short *pszUTF16End=NULL)CMarkup [static]
DecodeCharUTF8(const char *&pszUTF8, const char *pszUTF8End=NULL)CMarkup [static]
DetectUTF8(const char *pText, int nTextLen, int *pnNonASCII=NULL)CMarkup [static]
EncodeCharUTF16(int nUChar, unsigned short *pwszUTF16, int &nUTF16Len)CMarkup [static]
EncodeCharUTF8(int nUChar, char *pszUTF8, int &nUTF8Len)CMarkup [static]
EscapeText(MCD_CSTR szText, int nFlags=0)CMarkup [static]
FindChildElem(MCD_CSTR szName=NULL)CMarkup
FindElem(MCD_CSTR szName=NULL)CMarkup
FindNode(int nType=0)CMarkup
GetAttrib(MCD_CSTR szAttrib) const CMarkup [inline]
GetAttribName(int n) const CMarkup
GetChildAttrib(MCD_CSTR szAttrib) const CMarkup [inline]
GetChildData() const CMarkup [inline]
GetChildSubDoc() const CMarkup [inline]
GetChildTagName() const CMarkup [inline]
GetData() const CMarkup [inline]
GetDeclaredEncoding(MCD_CSTR szDoc)CMarkup [static]
GetDoc() const CMarkup [inline]
GetDocFlags() const CMarkup [inline]
GetElemContent() const CMarkup [inline]
GetError() const CMarkup [inline]
GetNodeType()CMarkup [inline]
GetSubDoc() const CMarkup [inline]
GetTagName() const CMarkup
InitDocFlags()CMarkup [inline, protected]
InsertChildElem(MCD_CSTR szName, MCD_CSTR szData=NULL, int nFlags=0)CMarkup [inline]
InsertChildElem(MCD_CSTR szName, int nValue, int nFlags=0)CMarkup [inline]
InsertChildSubDoc(MCD_CSTR szSubDoc)CMarkup [inline]
InsertElem(MCD_CSTR szName, MCD_CSTR szData=NULL, int nFlags=0)CMarkup [inline]
InsertElem(MCD_CSTR szName, int nValue, int nFlags=0)CMarkup [inline]
InsertNode(int nType, MCD_CSTR szText)CMarkup [inline]
InsertSubDoc(MCD_CSTR szSubDoc)CMarkup [inline]
IntoElem()CMarkup
IsWellFormed()CMarkup
Load(MCD_CSTR_FILENAME szFileName)CMarkup
m_aPosCMarkup [protected]
m_iPosCMarkup [protected]
m_iPosChildCMarkup [protected]
m_iPosDeletedCMarkup [protected]
m_iPosFreeCMarkup [protected]
m_iPosParentCMarkup [protected]
m_nDocFlagsCMarkup [protected]
m_nNodeLengthCMarkup [protected]
m_nNodeOffsetCMarkup [protected]
m_nNodeTypeCMarkup [protected]
m_SavedPosMapArrayCMarkup [protected]
m_strDocCMarkup [protected]
m_strErrorCMarkup [protected]
MarkupDocFlags enum nameCMarkup
MarkupNodeFlags enum nameCMarkup
MarkupNodeFlagsInternal enum nameCMarkup [protected]
MarkupNodeType enum nameCMarkup
MDF_APPENDFILE enum valueCMarkup
MDF_IGNORECASE enum valueCMarkup
MDF_READFILE enum valueCMarkup
MDF_UTF16BEFILE enum valueCMarkup
MDF_UTF16LEFILE enum valueCMarkup
MDF_UTF8PREAMBLE enum valueCMarkup
MDF_WRITEFILE enum valueCMarkup
MNF_CHILD enum valueCMarkup [protected]
MNF_DELETED enum valueCMarkup [protected]
MNF_EMPTY enum valueCMarkup [protected]
MNF_ESCAPEQUOTES enum valueCMarkup
MNF_FIRST enum valueCMarkup [protected]
MNF_ILLDATA enum valueCMarkup
MNF_ILLFORMED enum valueCMarkup [protected]
MNF_INSERT enum valueCMarkup [protected]
MNF_NONENDED enum valueCMarkup
MNF_PUBLIC enum valueCMarkup [protected]
MNF_QUOTED enum valueCMarkup [protected]
MNF_REPLACE enum valueCMarkup [protected]
MNF_USER enum valueCMarkup [protected]
MNF_WITHCDATA enum valueCMarkup
MNF_WITHNOEND enum valueCMarkup
MNF_WITHNOLINES enum valueCMarkup
MNF_WITHREFS enum valueCMarkup
MNF_WITHXHTMLSPACE enum valueCMarkup
MNT_CDATA_SECTION enum valueCMarkup
MNT_COMMENT enum valueCMarkup
MNT_DOCUMENT_TYPE enum valueCMarkup
MNT_ELEMENT enum valueCMarkup
MNT_EXCLUDE_WHITESPACE enum valueCMarkup
MNT_LONE_END_TAG enum valueCMarkup
MNT_NODE_ERROR enum valueCMarkup
MNT_PROCESSING_INSTRUCTION enum valueCMarkup
MNT_TEXT enum valueCMarkup
MNT_WHITESPACE enum valueCMarkup
operator=(const CMarkup &markup)CMarkup
OutOfElem()CMarkup
ReadTextFile(MCD_CSTR_FILENAME szFileName, MCD_STR &strDoc, MCD_STR *pstrError=NULL, int *pnDocFlags=NULL, MCD_STR *pstrEncoding=NULL)CMarkup [static]
RemoveChildElem()CMarkup
RemoveElem()CMarkup
RemoveNode()CMarkup
ResetChildPos()CMarkup [inline]
ResetMainPos()CMarkup [inline]
ResetPos()CMarkup [inline]
RestorePos(MCD_CSTR szPosName=MCD_T(""), int nMap=0)CMarkup
Save(MCD_CSTR_FILENAME szFileName)CMarkup
SavePos(MCD_CSTR szPosName=MCD_T(""), int nMap=0)CMarkup
SetAttrib(MCD_CSTR szAttrib, MCD_CSTR szValue, int nFlags=0)CMarkup [inline]
SetAttrib(MCD_CSTR szAttrib, int nValue, int nFlags=0)CMarkup [inline]
SetChildAttrib(MCD_CSTR szAttrib, MCD_CSTR szValue, int nFlags=0)CMarkup [inline]
SetChildAttrib(MCD_CSTR szAttrib, int nValue, int nFlags=0)CMarkup [inline]
SetChildData(MCD_CSTR szData, int nFlags=0)CMarkup [inline]
SetChildData(int nValue)CMarkup [inline]
SetData(MCD_CSTR szData, int nFlags=0)CMarkup [inline]
SetData(int nValue)CMarkup [inline]
SetDoc(MCD_PCSZ pDoc)CMarkup
SetDoc(const MCD_STR &strDoc)CMarkup
SetDocFlags(int nFlags)CMarkup [inline]
SetElemContent(MCD_CSTR szContent)CMarkup [inline]
SetMapSize(int nSize, int nMap=0)CMarkup
UnescapeText(MCD_CSTR szText, int nTextLength=-1)CMarkup [static]
UTF16To8(char *pszUTF8, const unsigned short *pwszUTF16, int nUTF8Count)CMarkup [static]
UTF8To16(unsigned short *pwszUTF16, const char *pszUTF8, int nUTF8Count)CMarkup [static]
UTF8ToA(MCD_CSTR pszUTF8, int *pnFailed=NULL)CMarkup [static]
WriteTextFile(MCD_CSTR_FILENAME szFileName, const MCD_STR &strDoc, MCD_STR *pstrError=NULL, int *pnDocFlags=NULL, MCD_STR *pstrEncoding=NULL)CMarkup [static]
x_AddElem(MCD_PCSZ pName, MCD_PCSZ pValue, int nFlags)CMarkup [protected]
x_AddElem(MCD_PCSZ pName, int nValue, int nFlags)CMarkup [protected]
x_AddNode(int nNodeType, MCD_PCSZ pText, int nNodeFlags)CMarkup [protected]
x_AddSubDoc(MCD_PCSZ pSubDoc, int nFlags)CMarkup [protected]
x_Adjust(int iPos, int nShift, bool bAfterPos=false)CMarkup [protected]
x_AdjustForNode(int iPosParent, int iPos, int nShift)CMarkup [protected]
x_AllocPosArray(int nNewSize=0)CMarkup [protected]
x_CanConvert(MCD_CSTR pszToEnc, MCD_CSTR pszFromEnc)CMarkup [protected, static]
x_CheckSavedPos()CMarkup [protected]
x_Close(FilePos &file)CMarkup [protected, static]
x_ConvertEncoding(ConvertEncoding &convert, void *pTo)CMarkup [protected, static]
x_CreateNode(MCD_STR &strNode, int nNodeType, MCD_PCSZ pText)CMarkup [protected, static]
x_DocChange(int nLeft, int nReplace, const MCD_STR &strInsert)CMarkup [protected]
x_EncodeCDATASection(MCD_PCSZ szData)CMarkup [protected, static]
x_EndianSwapRequired(int nDocFlags)CMarkup [protected, static]
x_EndianSwapUTF16(unsigned short *pUTF16, int nCharLen)CMarkup [protected, static]
x_FindAny(MCD_PCSZ pDoc, int &nChar)CMarkup [protected, static]
x_FindAttrib(TokenPos &token, MCD_PCSZ pAttrib, int n=0)CMarkup [protected, static]
x_FindElem(int iPosParent, int iPos, MCD_PCSZ szPath) const CMarkup [protected]
x_FindName(TokenPos &token)CMarkup [protected, static]
x_GetAttrib(int iPos, MCD_PCSZ pAttrib) const CMarkup [protected]
x_GetData(int iPos) const CMarkup [protected]
x_GetElemContent(int iPos) const CMarkup [protected]
x_GetEncodingCodePage(MCD_CSTR psz7Encoding)CMarkup [protected, static]
x_GetFreePos()CMarkup [inline, protected]
x_GetLastError()CMarkup [protected, static]
x_GetMap(SavedPosMap *&pMap, int nMap, int nMapSize=7)CMarkup [protected]
x_GetPath(int iPos) const CMarkup [protected]
x_GetSubDoc(int iPos) const CMarkup [protected]
x_GetTagName(int iPos) const CMarkup [protected]
x_GetToken(const TokenPos &token)CMarkup [protected, static]
x_Hash(MCD_PCSZ p, int nSize)CMarkup [inline, protected, static]
x_InsertNew(int iPosParent, int &iPosRel, NodePos &node)CMarkup [protected]
x_IntToStr(int n)CMarkup [inline, protected, static]
x_LinkElem(int iPosParent, int iPosBefore, int iPos)CMarkup [protected]
x_Open(MCD_CSTR_FILENAME szFileName, FilePos &file)CMarkup [protected, static]
x_ParseDoc()CMarkup [protected]
x_ParseElem(int iPos, TokenPos &token)CMarkup [protected]
x_ParseNode(TokenPos &token, NodePos &node)CMarkup [protected, static]
x_Read(void *pBuffer, FilePos &file)CMarkup [protected, static]
x_ReadText(MCD_STR &strDoc, FilePos &file)CMarkup [protected, static]
x_ReleasePos(int iPos)CMarkup [protected]
x_ReleaseSubDoc(int iPos)CMarkup [protected]
x_RemoveElem(int iPos)CMarkup [protected]
x_RemoveNode(int iPosParent, int &iPos, int &nNodeType, int &nNodeOffset, int &nNodeLength)CMarkup [protected]
x_SetAttrib(int iPos, MCD_PCSZ pAttrib, MCD_PCSZ pValue, int nFlags=0)CMarkup [protected]
x_SetAttrib(int iPos, MCD_PCSZ pAttrib, int nValue, int nFlags=0)CMarkup [protected]
x_SetData(int iPos, MCD_PCSZ szData, int nFlags)CMarkup [protected]
x_SetData(int iPos, int nValue)CMarkup [protected]
x_SetElemContent(MCD_PCSZ szContent)CMarkup [protected]
x_SetPos(int iPosParent, int iPos, int iPosChild)CMarkup [inline, protected]
x_UnlinkElem(int iPos)CMarkup [protected]
x_Write(void *pBuffer, FilePos &file, const void *pConstBuffer=NULL)CMarkup [protected, static]
x_WriteText(const MCD_STR &strDoc, FilePos &file)CMarkup [protected, static]
~CMarkup()CMarkup [inline]

+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/classCMarkup.html b/doc/html/classCMarkup.html new file mode 100644 index 0000000..bfac506 --- /dev/null +++ b/doc/html/classCMarkup.html @@ -0,0 +1,4485 @@ + + +Neural++: CMarkup Class Reference + + + + + +
+

CMarkup Class Reference

#include <Markup.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

enum  MarkupDocFlags {
+  MDF_UTF16LEFILE = 1, +MDF_UTF8PREAMBLE = 4, +MDF_IGNORECASE = 8, +MDF_READFILE = 16, +
+  MDF_WRITEFILE = 32, +MDF_APPENDFILE = 64, +MDF_UTF16BEFILE = 128 +
+ }
enum  MarkupNodeFlags {
+  MNF_WITHCDATA = 0x01, +MNF_WITHNOLINES = 0x02, +MNF_WITHXHTMLSPACE = 0x04, +MNF_WITHREFS = 0x08, +
+  MNF_WITHNOEND = 0x10, +MNF_ESCAPEQUOTES = 0x100, +MNF_NONENDED = 0x100000, +MNF_ILLDATA = 0x200000 +
+ }
enum  MarkupNodeType {
+  MNT_ELEMENT = 1, +MNT_TEXT = 2, +MNT_WHITESPACE = 4, +MNT_CDATA_SECTION = 8, +
+  MNT_PROCESSING_INSTRUCTION = 16, +MNT_COMMENT = 32, +MNT_DOCUMENT_TYPE = 64, +MNT_EXCLUDE_WHITESPACE = 123, +
+  MNT_LONE_END_TAG = 128, +MNT_NODE_ERROR = 32768 +
+ }

Public Member Functions

 CMarkup ()
 CMarkup (MCD_CSTR szDoc)
 CMarkup (int nFlags)
 CMarkup (const CMarkup &markup)
void operator= (const CMarkup &markup)
 ~CMarkup ()
bool Load (MCD_CSTR_FILENAME szFileName)
bool SetDoc (MCD_PCSZ pDoc)
bool SetDoc (const MCD_STR &strDoc)
bool IsWellFormed ()
bool FindElem (MCD_CSTR szName=NULL)
bool FindChildElem (MCD_CSTR szName=NULL)
bool IntoElem ()
bool OutOfElem ()
void ResetChildPos ()
void ResetMainPos ()
void ResetPos ()
MCD_STR GetTagName () const
MCD_STR GetChildTagName () const
MCD_STR GetData () const
MCD_STR GetChildData () const
MCD_STR GetElemContent () const
MCD_STR GetAttrib (MCD_CSTR szAttrib) const
MCD_STR GetChildAttrib (MCD_CSTR szAttrib) const
MCD_STR GetAttribName (int n) const
int FindNode (int nType=0)
int GetNodeType ()
bool SavePos (MCD_CSTR szPosName=MCD_T(""), int nMap=0)
bool RestorePos (MCD_CSTR szPosName=MCD_T(""), int nMap=0)
bool SetMapSize (int nSize, int nMap=0)
const MCD_STR & GetError () const
int GetDocFlags () const
void SetDocFlags (int nFlags)
bool Save (MCD_CSTR_FILENAME szFileName)
const MCD_STR & GetDoc () const
bool AddElem (MCD_CSTR szName, MCD_CSTR szData=NULL, int nFlags=0)
bool InsertElem (MCD_CSTR szName, MCD_CSTR szData=NULL, int nFlags=0)
bool AddChildElem (MCD_CSTR szName, MCD_CSTR szData=NULL, int nFlags=0)
bool InsertChildElem (MCD_CSTR szName, MCD_CSTR szData=NULL, int nFlags=0)
bool AddElem (MCD_CSTR szName, int nValue, int nFlags=0)
bool InsertElem (MCD_CSTR szName, int nValue, int nFlags=0)
bool AddChildElem (MCD_CSTR szName, int nValue, int nFlags=0)
bool InsertChildElem (MCD_CSTR szName, int nValue, int nFlags=0)
bool AddAttrib (MCD_CSTR szAttrib, MCD_CSTR szValue)
bool AddChildAttrib (MCD_CSTR szAttrib, MCD_CSTR szValue)
bool AddAttrib (MCD_CSTR szAttrib, int nValue)
bool AddChildAttrib (MCD_CSTR szAttrib, int nValue)
bool AddSubDoc (MCD_CSTR szSubDoc)
bool InsertSubDoc (MCD_CSTR szSubDoc)
MCD_STR GetSubDoc () const
bool AddChildSubDoc (MCD_CSTR szSubDoc)
bool InsertChildSubDoc (MCD_CSTR szSubDoc)
MCD_STR GetChildSubDoc () const
bool AddNode (int nType, MCD_CSTR szText)
bool InsertNode (int nType, MCD_CSTR szText)
bool RemoveElem ()
bool RemoveChildElem ()
bool RemoveNode ()
bool SetAttrib (MCD_CSTR szAttrib, MCD_CSTR szValue, int nFlags=0)
bool SetChildAttrib (MCD_CSTR szAttrib, MCD_CSTR szValue, int nFlags=0)
bool SetAttrib (MCD_CSTR szAttrib, int nValue, int nFlags=0)
bool SetChildAttrib (MCD_CSTR szAttrib, int nValue, int nFlags=0)
bool SetData (MCD_CSTR szData, int nFlags=0)
bool SetChildData (MCD_CSTR szData, int nFlags=0)
bool SetData (int nValue)
bool SetChildData (int nValue)
bool SetElemContent (MCD_CSTR szContent)

Static Public Member Functions

static bool ReadTextFile (MCD_CSTR_FILENAME szFileName, MCD_STR &strDoc, MCD_STR *pstrError=NULL, int *pnDocFlags=NULL, MCD_STR *pstrEncoding=NULL)
static bool WriteTextFile (MCD_CSTR_FILENAME szFileName, const MCD_STR &strDoc, MCD_STR *pstrError=NULL, int *pnDocFlags=NULL, MCD_STR *pstrEncoding=NULL)
static MCD_STR EscapeText (MCD_CSTR szText, int nFlags=0)
static MCD_STR UnescapeText (MCD_CSTR szText, int nTextLength=-1)
static int UTF16To8 (char *pszUTF8, const unsigned short *pwszUTF16, int nUTF8Count)
static int UTF8To16 (unsigned short *pwszUTF16, const char *pszUTF8, int nUTF8Count)
static MCD_STR UTF8ToA (MCD_CSTR pszUTF8, int *pnFailed=NULL)
static MCD_STR AToUTF8 (MCD_CSTR pszANSI)
static void EncodeCharUTF8 (int nUChar, char *pszUTF8, int &nUTF8Len)
static int DecodeCharUTF8 (const char *&pszUTF8, const char *pszUTF8End=NULL)
static void EncodeCharUTF16 (int nUChar, unsigned short *pwszUTF16, int &nUTF16Len)
static int DecodeCharUTF16 (const unsigned short *&pwszUTF16, const unsigned short *pszUTF16End=NULL)
static bool DetectUTF8 (const char *pText, int nTextLen, int *pnNonASCII=NULL)
static MCD_STR GetDeclaredEncoding (MCD_CSTR szDoc)

Protected Types

enum  MarkupNodeFlagsInternal {
+  MNF_REPLACE = 0x001000, +MNF_INSERT = 0x002000, +MNF_CHILD = 0x004000, +MNF_QUOTED = 0x008000, +
+  MNF_EMPTY = 0x010000, +MNF_DELETED = 0x020000, +MNF_FIRST = 0x080000, +MNF_PUBLIC = 0x300000, +
+  MNF_ILLFORMED = 0x800000, +MNF_USER = 0xf000000 +
+ }

Protected Member Functions

void x_SetPos (int iPosParent, int iPos, int iPosChild)
int x_GetFreePos ()
bool x_AllocPosArray (int nNewSize=0)
void InitDocFlags ()
bool x_ParseDoc ()
int x_ParseElem (int iPos, TokenPos &token)
int x_FindElem (int iPosParent, int iPos, MCD_PCSZ szPath) const
MCD_STR x_GetPath (int iPos) const
MCD_STR x_GetTagName (int iPos) const
MCD_STR x_GetData (int iPos) const
MCD_STR x_GetAttrib (int iPos, MCD_PCSZ pAttrib) const
bool x_AddElem (MCD_PCSZ pName, MCD_PCSZ pValue, int nFlags)
bool x_AddElem (MCD_PCSZ pName, int nValue, int nFlags)
MCD_STR x_GetSubDoc (int iPos) const
bool x_AddSubDoc (MCD_PCSZ pSubDoc, int nFlags)
bool x_SetAttrib (int iPos, MCD_PCSZ pAttrib, MCD_PCSZ pValue, int nFlags=0)
bool x_SetAttrib (int iPos, MCD_PCSZ pAttrib, int nValue, int nFlags=0)
bool x_AddNode (int nNodeType, MCD_PCSZ pText, int nNodeFlags)
void x_RemoveNode (int iPosParent, int &iPos, int &nNodeType, int &nNodeOffset, int &nNodeLength)
void x_AdjustForNode (int iPosParent, int iPos, int nShift)
int x_InsertNew (int iPosParent, int &iPosRel, NodePos &node)
void x_LinkElem (int iPosParent, int iPosBefore, int iPos)
int x_UnlinkElem (int iPos)
int x_ReleaseSubDoc (int iPos)
int x_ReleasePos (int iPos)
bool x_GetMap (SavedPosMap *&pMap, int nMap, int nMapSize=7)
void x_CheckSavedPos ()
bool x_SetData (int iPos, MCD_PCSZ szData, int nFlags)
bool x_SetData (int iPos, int nValue)
int x_RemoveElem (int iPos)
MCD_STR x_GetElemContent (int iPos) const
bool x_SetElemContent (MCD_PCSZ szContent)
void x_DocChange (int nLeft, int nReplace, const MCD_STR &strInsert)
void x_Adjust (int iPos, int nShift, bool bAfterPos=false)

Static Protected Member Functions

static bool x_FindAny (MCD_PCSZ pDoc, int &nChar)
static bool x_FindName (TokenPos &token)
static MCD_STR x_GetToken (const TokenPos &token)
static MCD_STR x_EncodeCDATASection (MCD_PCSZ szData)
static bool x_FindAttrib (TokenPos &token, MCD_PCSZ pAttrib, int n=0)
static bool x_CreateNode (MCD_STR &strNode, int nNodeType, MCD_PCSZ pText)
static int x_ParseNode (TokenPos &token, NodePos &node)
static MCD_STR x_GetLastError ()
static int x_Hash (MCD_PCSZ p, int nSize)
static int x_GetEncodingCodePage (MCD_CSTR psz7Encoding)
static bool x_EndianSwapRequired (int nDocFlags)
static void x_EndianSwapUTF16 (unsigned short *pUTF16, int nCharLen)
static bool x_CanConvert (MCD_CSTR pszToEnc, MCD_CSTR pszFromEnc)
static int x_ConvertEncoding (ConvertEncoding &convert, void *pTo)
static bool x_Open (MCD_CSTR_FILENAME szFileName, FilePos &file)
static bool x_Read (void *pBuffer, FilePos &file)
static bool x_ReadText (MCD_STR &strDoc, FilePos &file)
static bool x_Write (void *pBuffer, FilePos &file, const void *pConstBuffer=NULL)
static bool x_WriteText (const MCD_STR &strDoc, FilePos &file)
static bool x_Close (FilePos &file)
static MCD_STR x_IntToStr (int n)

Protected Attributes

MCD_STR m_strDoc
MCD_STR m_strError
int m_iPosParent
int m_iPos
int m_iPosChild
int m_iPosFree
int m_iPosDeleted
int m_nNodeType
int m_nNodeOffset
int m_nNodeLength
int m_nDocFlags
SavedPosMapArray m_SavedPosMapArray
PosArray m_aPos

Classes

struct  ConvertEncoding
struct  ElemPos
struct  FilePos
struct  NodePos
struct  NodeStack
struct  PosArray
struct  SavedPos
struct  SavedPosMap
struct  SavedPosMapArray
struct  TokenPos
+


Member Enumeration Documentation

+ +
+
+ + + + +
enum CMarkup::MarkupDocFlags
+
+
+ +

+

Enumerator:
+ + + + + + + + +
MDF_UTF16LEFILE  +
MDF_UTF8PREAMBLE  +
MDF_IGNORECASE  +
MDF_READFILE  +
MDF_WRITEFILE  +
MDF_APPENDFILE  +
MDF_UTF16BEFILE  +
+
+ +
+

+ +

+
+ + + + +
enum CMarkup::MarkupNodeFlags
+
+
+ +

+

Enumerator:
+ + + + + + + + + +
MNF_WITHCDATA  +
MNF_WITHNOLINES  +
MNF_WITHXHTMLSPACE  +
MNF_WITHREFS  +
MNF_WITHNOEND  +
MNF_ESCAPEQUOTES  +
MNF_NONENDED  +
MNF_ILLDATA  +
+
+ +
+

+ +

+
+ + + + +
enum CMarkup::MarkupNodeType
+
+
+ +

+

Enumerator:
+ + + + + + + + + + + +
MNT_ELEMENT  +
MNT_TEXT  +
MNT_WHITESPACE  +
MNT_CDATA_SECTION  +
MNT_PROCESSING_INSTRUCTION  +
MNT_COMMENT  +
MNT_DOCUMENT_TYPE  +
MNT_EXCLUDE_WHITESPACE  +
MNT_LONE_END_TAG  +
MNT_NODE_ERROR  +
+
+ +
+

+ +

+
+ + + + +
enum CMarkup::MarkupNodeFlagsInternal [protected]
+
+
+ +

+

Enumerator:
+ + + + + + + + + + + +
MNF_REPLACE  +
MNF_INSERT  +
MNF_CHILD  +
MNF_QUOTED  +
MNF_EMPTY  +
MNF_DELETED  +
MNF_FIRST  +
MNF_PUBLIC  +
MNF_ILLFORMED  +
MNF_USER  +
+
+ +
+

+


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
CMarkup::CMarkup (  )  [inline]
+
+
+ +

+ +

References InitDocFlags(), and SetDoc().

+ +
+

+ +

+
+ + + + + + + + + +
CMarkup::CMarkup (MCD_CSTR  szDoc  )  [inline]
+
+
+ +

+ +

References InitDocFlags(), and SetDoc().

+ +
+

+ +

+
+ + + + + + + + + +
CMarkup::CMarkup (int  nFlags  )  [inline]
+
+
+ +

+ +

References m_nDocFlags, and SetDoc().

+ +
+

+ +

+
+ + + + + + + + + +
CMarkup::CMarkup (const CMarkup markup  )  [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
CMarkup::~CMarkup (  )  [inline]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + + +
void CMarkup::operator= (const CMarkup markup  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool CMarkup::Load (MCD_CSTR_FILENAME  szFileName  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool CMarkup::SetDoc (MCD_PCSZ  pDoc  ) 
+
+
+ +

+ +

Referenced by CMarkup().

+ +
+

+ +

+
+ + + + + + + + + +
bool CMarkup::SetDoc (const MCD_STR &  strDoc  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
bool CMarkup::IsWellFormed (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool CMarkup::FindElem (MCD_CSTR  szName = NULL  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
bool CMarkup::FindChildElem (MCD_CSTR  szName = NULL  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
bool CMarkup::IntoElem (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
bool CMarkup::OutOfElem (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
void CMarkup::ResetChildPos (  )  [inline]
+
+
+ +

+ +

References m_iPos, m_iPosParent, and x_SetPos().

+ +
+

+ +

+
+ + + + + + + + +
void CMarkup::ResetMainPos (  )  [inline]
+
+
+ +

+ +

References m_iPosParent, and x_SetPos().

+ +
+

+ +

+
+ + + + + + + + +
void CMarkup::ResetPos (  )  [inline]
+
+
+ +

+ +

References x_SetPos().

+ +
+

+ +

+
+ + + + + + + + +
MCD_STR CMarkup::GetTagName (  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
MCD_STR CMarkup::GetChildTagName (  )  const [inline]
+
+
+ +

+ +

References m_iPosChild, and x_GetTagName().

+ +
+

+ +

+
+ + + + + + + + +
MCD_STR CMarkup::GetData (  )  const [inline]
+
+
+ +

+ +

References m_iPos, and x_GetData().

+ +
+

+ +

+
+ + + + + + + + +
MCD_STR CMarkup::GetChildData (  )  const [inline]
+
+
+ +

+ +

References m_iPosChild, and x_GetData().

+ +
+

+ +

+
+ + + + + + + + +
MCD_STR CMarkup::GetElemContent (  )  const [inline]
+
+
+ +

+ +

References m_iPos, and x_GetElemContent().

+ +
+

+ +

+
+ + + + + + + + + +
MCD_STR CMarkup::GetAttrib (MCD_CSTR  szAttrib  )  const [inline]
+
+
+ +

+ +

References m_iPos, and x_GetAttrib().

+ +
+

+ +

+
+ + + + + + + + + +
MCD_STR CMarkup::GetChildAttrib (MCD_CSTR  szAttrib  )  const [inline]
+
+
+ +

+ +

References m_iPosChild, and x_GetAttrib().

+ +
+

+ +

+
+ + + + + + + + + +
MCD_STR CMarkup::GetAttribName (int  n  )  const
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
int CMarkup::FindNode (int  nType = 0  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
int CMarkup::GetNodeType (  )  [inline]
+
+
+ +

+ +

References m_nNodeType.

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
bool CMarkup::SavePos (MCD_CSTR  szPosName = MCD_T(""),
int  nMap = 0 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
bool CMarkup::RestorePos (MCD_CSTR  szPosName = MCD_T(""),
int  nMap = 0 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
bool CMarkup::SetMapSize (int  nSize,
int  nMap = 0 
)
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const MCD_STR& CMarkup::GetError (  )  const [inline]
+
+
+ +

+ +

References m_strError.

+ +
+

+ +

+
+ + + + + + + + +
int CMarkup::GetDocFlags (  )  const [inline]
+
+
+ +

+ +

References m_nDocFlags.

+ +
+

+ +

+
+ + + + + + + + + +
void CMarkup::SetDocFlags (int  nFlags  )  [inline]
+
+
+ +

+ +

References m_nDocFlags.

+ +
+

+ +

+
+ + + + + + + + + +
bool CMarkup::Save (MCD_CSTR_FILENAME  szFileName  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
const MCD_STR& CMarkup::GetDoc (  )  const [inline]
+
+
+ +

+ +

References m_strDoc.

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool CMarkup::AddElem (MCD_CSTR  szName,
MCD_CSTR  szData = NULL,
int  nFlags = 0 
) [inline]
+
+
+ +

+ +

References x_AddElem().

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool CMarkup::InsertElem (MCD_CSTR  szName,
MCD_CSTR  szData = NULL,
int  nFlags = 0 
) [inline]
+
+
+ +

+ +

References MNF_INSERT, and x_AddElem().

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool CMarkup::AddChildElem (MCD_CSTR  szName,
MCD_CSTR  szData = NULL,
int  nFlags = 0 
) [inline]
+
+
+ +

+ +

References MNF_CHILD, and x_AddElem().

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool CMarkup::InsertChildElem (MCD_CSTR  szName,
MCD_CSTR  szData = NULL,
int  nFlags = 0 
) [inline]
+
+
+ +

+ +

References MNF_CHILD, MNF_INSERT, and x_AddElem().

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool CMarkup::AddElem (MCD_CSTR  szName,
int  nValue,
int  nFlags = 0 
) [inline]
+
+
+ +

+ +

References x_AddElem().

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool CMarkup::InsertElem (MCD_CSTR  szName,
int  nValue,
int  nFlags = 0 
) [inline]
+
+
+ +

+ +

References MNF_INSERT, and x_AddElem().

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool CMarkup::AddChildElem (MCD_CSTR  szName,
int  nValue,
int  nFlags = 0 
) [inline]
+
+
+ +

+ +

References MNF_CHILD, and x_AddElem().

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool CMarkup::InsertChildElem (MCD_CSTR  szName,
int  nValue,
int  nFlags = 0 
) [inline]
+
+
+ +

+ +

References MNF_CHILD, MNF_INSERT, and x_AddElem().

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
bool CMarkup::AddAttrib (MCD_CSTR  szAttrib,
MCD_CSTR  szValue 
) [inline]
+
+
+ +

+ +

References m_iPos, and x_SetAttrib().

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
bool CMarkup::AddChildAttrib (MCD_CSTR  szAttrib,
MCD_CSTR  szValue 
) [inline]
+
+
+ +

+ +

References m_iPosChild, and x_SetAttrib().

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
bool CMarkup::AddAttrib (MCD_CSTR  szAttrib,
int  nValue 
) [inline]
+
+
+ +

+ +

References m_iPos, and x_SetAttrib().

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
bool CMarkup::AddChildAttrib (MCD_CSTR  szAttrib,
int  nValue 
) [inline]
+
+
+ +

+ +

References m_iPosChild, and x_SetAttrib().

+ +
+

+ +

+
+ + + + + + + + + +
bool CMarkup::AddSubDoc (MCD_CSTR  szSubDoc  )  [inline]
+
+
+ +

+ +

References x_AddSubDoc().

+ +
+

+ +

+
+ + + + + + + + + +
bool CMarkup::InsertSubDoc (MCD_CSTR  szSubDoc  )  [inline]
+
+
+ +

+ +

References MNF_INSERT, and x_AddSubDoc().

+ +
+

+ +

+
+ + + + + + + + +
MCD_STR CMarkup::GetSubDoc (  )  const [inline]
+
+
+ +

+ +

References m_iPos, and x_GetSubDoc().

+ +
+

+ +

+
+ + + + + + + + + +
bool CMarkup::AddChildSubDoc (MCD_CSTR  szSubDoc  )  [inline]
+
+
+ +

+ +

References MNF_CHILD, and x_AddSubDoc().

+ +
+

+ +

+
+ + + + + + + + + +
bool CMarkup::InsertChildSubDoc (MCD_CSTR  szSubDoc  )  [inline]
+
+
+ +

+ +

References MNF_CHILD, MNF_INSERT, and x_AddSubDoc().

+ +
+

+ +

+
+ + + + + + + + +
MCD_STR CMarkup::GetChildSubDoc (  )  const [inline]
+
+
+ +

+ +

References m_iPosChild, and x_GetSubDoc().

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
bool CMarkup::AddNode (int  nType,
MCD_CSTR  szText 
) [inline]
+
+
+ +

+ +

References x_AddNode().

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
bool CMarkup::InsertNode (int  nType,
MCD_CSTR  szText 
) [inline]
+
+
+ +

+ +

References MNF_INSERT, and x_AddNode().

+ +
+

+ +

+
+ + + + + + + + +
bool CMarkup::RemoveElem (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
bool CMarkup::RemoveChildElem (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
bool CMarkup::RemoveNode (  ) 
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool CMarkup::SetAttrib (MCD_CSTR  szAttrib,
MCD_CSTR  szValue,
int  nFlags = 0 
) [inline]
+
+
+ +

+ +

References m_iPos, and x_SetAttrib().

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool CMarkup::SetChildAttrib (MCD_CSTR  szAttrib,
MCD_CSTR  szValue,
int  nFlags = 0 
) [inline]
+
+
+ +

+ +

References m_iPosChild, and x_SetAttrib().

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool CMarkup::SetAttrib (MCD_CSTR  szAttrib,
int  nValue,
int  nFlags = 0 
) [inline]
+
+
+ +

+ +

References m_iPos, and x_SetAttrib().

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool CMarkup::SetChildAttrib (MCD_CSTR  szAttrib,
int  nValue,
int  nFlags = 0 
) [inline]
+
+
+ +

+ +

References m_iPosChild, and x_SetAttrib().

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
bool CMarkup::SetData (MCD_CSTR  szData,
int  nFlags = 0 
) [inline]
+
+
+ +

+ +

References m_iPos, and x_SetData().

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
bool CMarkup::SetChildData (MCD_CSTR  szData,
int  nFlags = 0 
) [inline]
+
+
+ +

+ +

References m_iPosChild, and x_SetData().

+ +
+

+ +

+
+ + + + + + + + + +
bool CMarkup::SetData (int  nValue  )  [inline]
+
+
+ +

+ +

References m_iPos, and x_SetData().

+ +
+

+ +

+
+ + + + + + + + + +
bool CMarkup::SetChildData (int  nValue  )  [inline]
+
+
+ +

+ +

References m_iPosChild, and x_SetData().

+ +
+

+ +

+
+ + + + + + + + + +
bool CMarkup::SetElemContent (MCD_CSTR  szContent  )  [inline]
+
+
+ +

+ +

References x_SetElemContent().

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool CMarkup::ReadTextFile (MCD_CSTR_FILENAME  szFileName,
MCD_STR &  strDoc,
MCD_STR *  pstrError = NULL,
int *  pnDocFlags = NULL,
MCD_STR *  pstrEncoding = NULL 
) [static]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool CMarkup::WriteTextFile (MCD_CSTR_FILENAME  szFileName,
const MCD_STR &  strDoc,
MCD_STR *  pstrError = NULL,
int *  pnDocFlags = NULL,
MCD_STR *  pstrEncoding = NULL 
) [static]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
static MCD_STR CMarkup::EscapeText (MCD_CSTR  szText,
int  nFlags = 0 
) [static]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
static MCD_STR CMarkup::UnescapeText (MCD_CSTR  szText,
int  nTextLength = -1 
) [static]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
static int CMarkup::UTF16To8 (char *  pszUTF8,
const unsigned short *  pwszUTF16,
int  nUTF8Count 
) [static]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
static int CMarkup::UTF8To16 (unsigned short *  pwszUTF16,
const char *  pszUTF8,
int  nUTF8Count 
) [static]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
static MCD_STR CMarkup::UTF8ToA (MCD_CSTR  pszUTF8,
int *  pnFailed = NULL 
) [static]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
static MCD_STR CMarkup::AToUTF8 (MCD_CSTR  pszANSI  )  [static]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
static void CMarkup::EncodeCharUTF8 (int  nUChar,
char *  pszUTF8,
int &  nUTF8Len 
) [static]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
static int CMarkup::DecodeCharUTF8 (const char *&  pszUTF8,
const char *  pszUTF8End = NULL 
) [static]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
static void CMarkup::EncodeCharUTF16 (int  nUChar,
unsigned short *  pwszUTF16,
int &  nUTF16Len 
) [static]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
static int CMarkup::DecodeCharUTF16 (const unsigned short *&  pwszUTF16,
const unsigned short *  pszUTF16End = NULL 
) [static]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
static bool CMarkup::DetectUTF8 (const char *  pText,
int  nTextLen,
int *  pnNonASCII = NULL 
) [static]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
static MCD_STR CMarkup::GetDeclaredEncoding (MCD_CSTR  szDoc  )  [static]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CMarkup::x_SetPos (int  iPosParent,
int  iPos,
int  iPosChild 
) [inline, protected]
+
+ +

+ +

+
+ + + + + + + + +
int CMarkup::x_GetFreePos (  )  [inline, protected]
+
+ +

+ +

+
+ + + + + + + + + +
bool CMarkup::x_AllocPosArray (int  nNewSize = 0  )  [protected]
+
+
+ +

+ +

Referenced by x_GetFreePos().

+ +
+

+ +

+
+ + + + + + + + +
void CMarkup::InitDocFlags (  )  [inline, protected]
+
+
+ +

+ +

References m_nDocFlags, and MDF_IGNORECASE.

+ +

Referenced by CMarkup().

+ +
+

+ +

+
+ + + + + + + + +
bool CMarkup::x_ParseDoc (  )  [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
int CMarkup::x_ParseElem (int  iPos,
TokenPos token 
) [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
static bool CMarkup::x_FindAny (MCD_PCSZ  pDoc,
int &  nChar 
) [static, protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
static bool CMarkup::x_FindName (TokenPos token  )  [static, protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
static MCD_STR CMarkup::x_GetToken (const TokenPos token  )  [static, protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int CMarkup::x_FindElem (int  iPosParent,
int  iPos,
MCD_PCSZ  szPath 
) const [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
MCD_STR CMarkup::x_GetPath (int  iPos  )  const [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
MCD_STR CMarkup::x_GetTagName (int  iPos  )  const [protected]
+
+
+ +

+ +

Referenced by GetChildTagName().

+ +
+

+ +

+
+ + + + + + + + + +
MCD_STR CMarkup::x_GetData (int  iPos  )  const [protected]
+
+
+ +

+ +

Referenced by GetChildData(), and GetData().

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
MCD_STR CMarkup::x_GetAttrib (int  iPos,
MCD_PCSZ  pAttrib 
) const [protected]
+
+
+ +

+ +

Referenced by GetAttrib(), and GetChildAttrib().

+ +
+

+ +

+
+ + + + + + + + + +
static MCD_STR CMarkup::x_EncodeCDATASection (MCD_PCSZ  szData  )  [static, protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool CMarkup::x_AddElem (MCD_PCSZ  pName,
MCD_PCSZ  pValue,
int  nFlags 
) [protected]
+
+
+ +

+ +

Referenced by AddChildElem(), AddElem(), InsertChildElem(), and InsertElem().

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool CMarkup::x_AddElem (MCD_PCSZ  pName,
int  nValue,
int  nFlags 
) [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
MCD_STR CMarkup::x_GetSubDoc (int  iPos  )  const [protected]
+
+
+ +

+ +

Referenced by GetChildSubDoc(), and GetSubDoc().

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
bool CMarkup::x_AddSubDoc (MCD_PCSZ  pSubDoc,
int  nFlags 
) [protected]
+
+ +

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
static bool CMarkup::x_FindAttrib (TokenPos token,
MCD_PCSZ  pAttrib,
int  n = 0 
) [static, protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool CMarkup::x_SetAttrib (int  iPos,
MCD_PCSZ  pAttrib,
MCD_PCSZ  pValue,
int  nFlags = 0 
) [protected]
+
+
+ +

+ +

Referenced by AddAttrib(), AddChildAttrib(), SetAttrib(), and SetChildAttrib().

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool CMarkup::x_SetAttrib (int  iPos,
MCD_PCSZ  pAttrib,
int  nValue,
int  nFlags = 0 
) [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool CMarkup::x_AddNode (int  nNodeType,
MCD_PCSZ  pText,
int  nNodeFlags 
) [protected]
+
+
+ +

+ +

Referenced by AddNode(), and InsertNode().

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void CMarkup::x_RemoveNode (int  iPosParent,
int &  iPos,
int &  nNodeType,
int &  nNodeOffset,
int &  nNodeLength 
) [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CMarkup::x_AdjustForNode (int  iPosParent,
int  iPos,
int  nShift 
) [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
static bool CMarkup::x_CreateNode (MCD_STR &  strNode,
int  nNodeType,
MCD_PCSZ  pText 
) [static, protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int CMarkup::x_InsertNew (int  iPosParent,
int &  iPosRel,
NodePos node 
) [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CMarkup::x_LinkElem (int  iPosParent,
int  iPosBefore,
int  iPos 
) [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
int CMarkup::x_UnlinkElem (int  iPos  )  [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
int CMarkup::x_ReleaseSubDoc (int  iPos  )  [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
int CMarkup::x_ReleasePos (int  iPos  )  [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool CMarkup::x_GetMap (SavedPosMap *&  pMap,
int  nMap,
int  nMapSize = 7 
) [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
void CMarkup::x_CheckSavedPos (  )  [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
static int CMarkup::x_ParseNode (TokenPos token,
NodePos node 
) [static, protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool CMarkup::x_SetData (int  iPos,
MCD_PCSZ  szData,
int  nFlags 
) [protected]
+
+
+ +

+ +

Referenced by SetChildData(), and SetData().

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
bool CMarkup::x_SetData (int  iPos,
int  nValue 
) [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
int CMarkup::x_RemoveElem (int  iPos  )  [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
MCD_STR CMarkup::x_GetElemContent (int  iPos  )  const [protected]
+
+
+ +

+ +

Referenced by GetElemContent().

+ +
+

+ +

+
+ + + + + + + + + +
bool CMarkup::x_SetElemContent (MCD_PCSZ  szContent  )  [protected]
+
+
+ +

+ +

Referenced by SetElemContent().

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CMarkup::x_DocChange (int  nLeft,
int  nReplace,
const MCD_STR &  strInsert 
) [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CMarkup::x_Adjust (int  iPos,
int  nShift,
bool  bAfterPos = false 
) [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + +
static MCD_STR CMarkup::x_GetLastError (  )  [static, protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
static int CMarkup::x_Hash (MCD_PCSZ  p,
int  nSize 
) [inline, static, protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
static int CMarkup::x_GetEncodingCodePage (MCD_CSTR  psz7Encoding  )  [static, protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
static bool CMarkup::x_EndianSwapRequired (int  nDocFlags  )  [static, protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
static void CMarkup::x_EndianSwapUTF16 (unsigned short *  pUTF16,
int  nCharLen 
) [static, protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
static bool CMarkup::x_CanConvert (MCD_CSTR  pszToEnc,
MCD_CSTR  pszFromEnc 
) [static, protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
static int CMarkup::x_ConvertEncoding (ConvertEncoding convert,
void *  pTo 
) [static, protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
static bool CMarkup::x_Open (MCD_CSTR_FILENAME  szFileName,
FilePos file 
) [static, protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
static bool CMarkup::x_Read (void *  pBuffer,
FilePos file 
) [static, protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
static bool CMarkup::x_ReadText (MCD_STR &  strDoc,
FilePos file 
) [static, protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
static bool CMarkup::x_Write (void *  pBuffer,
FilePos file,
const void *  pConstBuffer = NULL 
) [static, protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + +
static bool CMarkup::x_WriteText (const MCD_STR &  strDoc,
FilePos file 
) [static, protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
static bool CMarkup::x_Close (FilePos file  )  [static, protected]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
static MCD_STR CMarkup::x_IntToStr (int  n  )  [inline, static, protected]
+
+
+ +

+ +

References MCD_CHAR, MCD_SPRINTF, MCD_SSZ, MCD_STR, and MCD_T.

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
MCD_STR CMarkup::m_strDoc [protected]
+
+
+ +

+ +

Referenced by GetDoc().

+ +
+

+ +

+
+ + + + +
MCD_STR CMarkup::m_strError [protected]
+
+
+ +

+ +

Referenced by GetError().

+ +
+

+ +

+
+ + + + +
int CMarkup::m_iPosParent [protected]
+
+
+ +

+ +

Referenced by ResetChildPos(), ResetMainPos(), and x_SetPos().

+ +
+

+ +

+
+ + + + +
int CMarkup::m_iPos [protected]
+
+ +

+ +

+ +

+
+ + + + +
int CMarkup::m_iPosFree [protected]
+
+
+ +

+ +

Referenced by x_GetFreePos().

+ +
+

+ +

+
+ + + + +
int CMarkup::m_iPosDeleted [protected]
+
+
+ +

+ +

+

+ +

+
+ + + + +
int CMarkup::m_nNodeType [protected]
+
+
+ +

+ +

Referenced by GetNodeType(), and x_SetPos().

+ +
+

+ +

+
+ + + + +
int CMarkup::m_nNodeOffset [protected]
+
+
+ +

+ +

Referenced by x_SetPos().

+ +
+

+ +

+
+ + + + +
int CMarkup::m_nNodeLength [protected]
+
+
+ +

+ +

Referenced by x_SetPos().

+ +
+

+ +

+
+ + + + +
int CMarkup::m_nDocFlags [protected]
+
+
+ +

+ +

Referenced by CMarkup(), GetDocFlags(), InitDocFlags(), and SetDocFlags().

+ +
+

+ +

+ +
+ +

+ +

+

+ +

+
+ + + + +
PosArray CMarkup::m_aPos [protected]
+
+
+ +

+ +

Referenced by x_GetFreePos().

+ +
+

+


The documentation for this class was generated from the following file: +
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/classneuralpp_1_1Layer-members.html b/doc/html/classneuralpp_1_1Layer-members.html new file mode 100644 index 0000000..63abdd6 --- /dev/null +++ b/doc/html/classneuralpp_1_1Layer-members.html @@ -0,0 +1,43 @@ + + +Neural++: Member List + + + + + +
+

neuralpp::Layer Member List

This is the complete list of members for neuralpp::Layer, including all inherited members.

+ + + + + + + + + + + + +
actv_fneuralpp::Layer [private]
derivneuralpp::Layer [private]
elementsneuralpp::Layer [private]
Layer(size_t sz, double(*a)(double), double(*d)(double))neuralpp::Layer
Layer(vector< Neuron > &neurons, double(*a)(double), double(*d)(double))neuralpp::Layer
link(Layer &l)neuralpp::Layer
operator[](size_t i)neuralpp::Layer
propagate()neuralpp::Layer
setActv(vector< double > &v)neuralpp::Layer
setProp(vector< double > &v)neuralpp::Layer
size()neuralpp::Layer
update_weightsneuralpp::Layer [private]

+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/classneuralpp_1_1Layer.html b/doc/html/classneuralpp_1_1Layer.html new file mode 100644 index 0000000..8399d7b --- /dev/null +++ b/doc/html/classneuralpp_1_1Layer.html @@ -0,0 +1,381 @@ + + +Neural++: neuralpp::Layer Class Reference + + + + + +
+

neuralpp::Layer Class Reference

Class for managing layers of neurons. +More... +

+#include <neural++.hpp> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 Layer (size_t sz, double(*a)(double), double(*d)(double))
 Constructor.
 Layer (vector< Neuron > &neurons, double(*a)(double), double(*d)(double))
 Alternative constructor.
Neuronoperator[] (size_t i)
 Redefinition for operator [].
void link (Layer &l)
 It links a layer to another.
void setProp (vector< double > &v)
 It sets a vector of propagation values to all its neurons.
void setActv (vector< double > &v)
 It sets a vector of activation values to all its neurons.
void propagate ()
 It propagates its activation values to the output layers.
size_t size ()

Private Attributes

vector< Neuronelements
void(* update_weights )()
double(* actv_f )(double)
double(* deriv )(double)
+


Detailed Description

+Class for managing layers of neurons. +

+Don't use this class directly unless you know what you're doing, use NeuralNet instead


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
neuralpp::Layer::Layer (size_t  sz,
double(*)(double)  a,
double(*)(double)  d 
)
+
+
+ +

+Constructor. +

+

Parameters:
+ + + + +
sz Size of the layer
a Activation function
d Its derivate
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
neuralpp::Layer::Layer (vector< Neuron > &  neurons,
double(*)(double)  a,
double(*)(double)  d 
)
+
+
+ +

+Alternative constructor. +

+It directly gets a vector of neurons to build the layer

Parameters:
+ + + + +
neurons Vector of neurons to be included in the layer
a Activation function
d Its derivate
+
+ +
+

+


Member Function Documentation

+ +
+
+ + + + + + + + + +
Neuron& neuralpp::Layer::operator[] (size_t  i  ) 
+
+
+ +

+Redefinition for operator []. +

+It gets the neuron at i

Parameters:
+ + +
i Index of the neuron to get in the layer
+
+
Returns:
Reference to the i-th neuron
+ +
+

+ +

+
+ + + + + + + + + +
void neuralpp::Layer::link (Layer l  ) 
+
+
+ +

+It links a layer to another. +

+

Parameters:
+ + +
l Layer to connect to the current as input layer
+
+ +
+

+ +

+
+ + + + + + + + + +
void neuralpp::Layer::setProp (vector< double > &  v  ) 
+
+
+ +

+It sets a vector of propagation values to all its neurons. +

+

Parameters:
+ + +
v Vector of values to write as propagation values
+
+ +
+

+ +

+
+ + + + + + + + + +
void neuralpp::Layer::setActv (vector< double > &  v  ) 
+
+
+ +

+It sets a vector of activation values to all its neurons. +

+

Parameters:
+ + +
v Vector of values to write as activation values
+
+ +
+

+ +

+
+ + + + + + + + +
void neuralpp::Layer::propagate (  ) 
+
+
+ +

+It propagates its activation values to the output layers. +

+ +

+

+ +

+
+ + + + + + + + +
size_t neuralpp::Layer::size (  ) 
+
+
+ +

+

Returns:
Number of neurons in the layer
+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
vector<Neuron> neuralpp::Layer::elements [private]
+
+
+ +

+ +

+

+ +

+
+ + + + +
void(* neuralpp::Layer::update_weights)() [private]
+
+
+ +

+ +

+

+ +

+
+ + + + +
double(* neuralpp::Layer::actv_f)(double) [private]
+
+
+ +

+ +

+

+ +

+
+ + + + +
double(* neuralpp::Layer::deriv)(double) [private]
+
+
+ +

+ +

+

+


The documentation for this class was generated from the following file: +
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/classneuralpp_1_1NeuralNet-members.html b/doc/html/classneuralpp_1_1NeuralNet-members.html new file mode 100644 index 0000000..0311cfa --- /dev/null +++ b/doc/html/classneuralpp_1_1NeuralNet-members.html @@ -0,0 +1,64 @@ + + +Neural++: Member List + + + + + +
+

neuralpp::NeuralNet Member List

This is the complete list of members for neuralpp::NeuralNet, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
actv_fneuralpp::NeuralNet [private]
closeXML(string &xml)neuralpp::NeuralNet [static]
commitChanges(Layer *l)neuralpp::NeuralNet [private]
derivneuralpp::NeuralNet [private]
epochsneuralpp::NeuralNet [private]
error(double ex)neuralpp::NeuralNet [private]
exneuralpp::NeuralNet [private]
expected()neuralpp::NeuralNet
file enum valueneuralpp::NeuralNet
getOutput()neuralpp::NeuralNet
getOutputs()neuralpp::NeuralNet
hiddenneuralpp::NeuralNet [private]
initXML(string &xml)neuralpp::NeuralNet [static]
inputneuralpp::NeuralNet [private]
l_rateneuralpp::NeuralNet [private]
link()neuralpp::NeuralNet
NeuralNet()neuralpp::NeuralNet [inline]
NeuralNet(size_t in_size, size_t hidden_size, size_t out_size, double l, int e)neuralpp::NeuralNet
NeuralNet(const char *file)neuralpp::NeuralNet
NeuralNet(size_t in_size, size_t hidden_size, size_t out_size, double(*actv)(double), double(*deriv)(double), double l, int e)neuralpp::NeuralNet
outputneuralpp::NeuralNet [private]
propagate()neuralpp::NeuralNet
ref_epochsneuralpp::NeuralNet [private]
save(const char *fname)neuralpp::NeuralNet
setExpected(double ex)neuralpp::NeuralNet
setInput(vector< double > &v)neuralpp::NeuralNet
source enum nameneuralpp::NeuralNet
split(char delim, string str)neuralpp::NeuralNet [static]
str enum valueneuralpp::NeuralNet
train(string xml, source xrc)neuralpp::NeuralNet
update()neuralpp::NeuralNet
updateWeights()neuralpp::NeuralNet [private]
XMLFromSet(int id, string set)neuralpp::NeuralNet [static]

+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/classneuralpp_1_1NeuralNet.html b/doc/html/classneuralpp_1_1NeuralNet.html new file mode 100644 index 0000000..5eb0228 --- /dev/null +++ b/doc/html/classneuralpp_1_1NeuralNet.html @@ -0,0 +1,949 @@ + + +Neural++: neuralpp::NeuralNet Class Reference + + + + + +
+

neuralpp::NeuralNet Class Reference

Main project's class. +More... +

+#include <neural++.hpp> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

enum  source { file, +str + }
 Enum to choose the eventual training source for our network (XML from a file or from a string). More...

Public Member Functions

 NeuralNet ()
 Empty constructor for the class - it just makes nothing.
 NeuralNet (size_t in_size, size_t hidden_size, size_t out_size, double l, int e)
 Constructor.
 NeuralNet (const char *file) throw (NetworkFileNotFoundException)
 Constructor.
 NeuralNet (size_t in_size, size_t hidden_size, size_t out_size, double(*actv)(double), double(*deriv)(double), double l, int e)
 Constructor.
double getOutput ()
 It gets the output of the network (note: the layer output should contain an only neuron).
vector< double > getOutputs ()
 It gets the output of the network in case the output layer contains more neurons.
double expected ()
 It gets the value expected.
void setExpected (double ex)
 It sets the value you expect from your network.
void update ()
 It updates through back-propagation the weights of the synapsis and computes again the output value for epochs times, calling back updateWeights and commitChanges functions.
void propagate ()
 It propagates values through the network.
void setInput (vector< double > &v)
 It sets the input for the network.
void link ()
 It links the layers of the network (input, hidden, output).
bool save (const char *fname)
 Save a trained neural network to a binary file.
void train (string xml, source xrc) throw (InvalidXMLException)
 Train a network using a training set loaded from an XML file.

Static Public Member Functions

static void initXML (string &xml)
 Initialize the training XML for the neural network.
static vector< double > split (char delim, string str)
 Splits a string into a vector of doubles, given a delimitator.
static string XMLFromSet (int id, string set)
 Get a training set from a string and copies it to an XML For example, these strings could be training sets for making sums: "2,3;5" - "5,6;11" - "2,2;4" - "4,5:9" This method called on the first string will return an XML such this: '<training id="0"><input id="0">2</input><input id="1">3</input><output id="0">5</output> &lt/training>'.
static void closeXML (string &xml)
 Closes an open XML document generated by "initXML" and "XMLFromSet".

Private Member Functions

void updateWeights ()
 It updates the weights of the net's synapsis through back-propagation.
void commitChanges (Layer *l)
 It commits the changes made by updateWeights() to the layer l.
double error (double ex)
 It get the error made on the expected result as |v-v'|/v.

Private Attributes

int epochs
int ref_epochs
double l_rate
double ex
Layerinput
Layerhidden
Layeroutput
double(* actv_f )(double)
 Private pointer to function, containing the function to be used as activation function.
double(* deriv )(double)
 Private pointer to function, containing the function to be used as derivate of the activation function.
+


Detailed Description

+Main project's class. +

+Use *ONLY* this class, unless you know what you're doing


Member Enumeration Documentation

+ +
+
+ + + + +
enum neuralpp::NeuralNet::source
+
+
+ +

+Enum to choose the eventual training source for our network (XML from a file or from a string). +

+

Enumerator:
+ + + +
file  +
str  +
+
+ +
+

+


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
neuralpp::NeuralNet::NeuralNet (  )  [inline]
+
+
+ +

+Empty constructor for the class - it just makes nothing. +

+ +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
neuralpp::NeuralNet::NeuralNet (size_t  in_size,
size_t  hidden_size,
size_t  out_size,
double  l,
int  e 
)
+
+
+ +

+Constructor. +

+

Parameters:
+ + + + + + +
in_size Size of the input layer
hidden_size Size of the hidden layer
out_size Size of the output layer
l learn rate (get it after doing some experiments, but generally try to keep its value quite low to be more accurate)
e Epochs (cycles) to execute (the most you execute, the most the network can be accurate for its purpose)
+
+ +
+

+ +

+
+ + + + + + + + + +
neuralpp::NeuralNet::NeuralNet (const char *  file  )  throw (NetworkFileNotFoundException)
+
+
+ +

+Constructor. +

+

Parameters:
+ + +
file Binary file containing a neural network previously saved by save() method
+
+
Exceptions:
+ + +
NetworkFileNotFoundException 
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
neuralpp::NeuralNet::NeuralNet (size_t  in_size,
size_t  hidden_size,
size_t  out_size,
double(*)(double)  actv,
double(*)(double)  deriv,
double  l,
int  e 
)
+
+
+ +

+Constructor. +

+

Parameters:
+ + + + + + + + +
in_size Size of the input layer
hidden_size Size of the hidden layer
out_size Size of the output layer
actv Activation function to use (default: f(x)=x)
deriv Derivate for the activation function to use (default: f'(x)=1)
l learn rate (get it after doing some experiments, but generally try to keep its value quite low to be more accurate)
e Epochs (cycles) to execute (the most you execute, the most the network can be accurate for its purpose)
+
+ +
+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
void neuralpp::NeuralNet::updateWeights (  )  [private]
+
+
+ +

+It updates the weights of the net's synapsis through back-propagation. +

+In-class use only +

+

+ +

+
+ + + + + + + + + +
void neuralpp::NeuralNet::commitChanges (Layer l  )  [private]
+
+
+ +

+It commits the changes made by updateWeights() to the layer l. +

+In-class use only

Parameters:
+ + +
l Layer to commit the changes
+
+ +
+

+ +

+
+ + + + + + + + + +
double neuralpp::NeuralNet::error (double  ex  )  [private]
+
+
+ +

+It get the error made on the expected result as |v-v'|/v. +

+

Parameters:
+ + +
ex Expected value
+
+
Returns:
Mean error
+ +
+

+ +

+
+ + + + + + + + +
double neuralpp::NeuralNet::getOutput (  ) 
+
+
+ +

+It gets the output of the network (note: the layer output should contain an only neuron). +

+

Returns:
The output value of the network
+ +
+

+ +

+
+ + + + + + + + +
vector<double> neuralpp::NeuralNet::getOutputs (  ) 
+
+
+ +

+It gets the output of the network in case the output layer contains more neurons. +

+

Returns:
A vector containing the output values of the network
+ +
+

+ +

+
+ + + + + + + + +
double neuralpp::NeuralNet::expected (  ) 
+
+
+ +

+It gets the value expected. +

+Of course you should specify this when you build your network by using setExpected.

Returns:
The expected output value for a certain training phase
+ +
+

+ +

+
+ + + + + + + + + +
void neuralpp::NeuralNet::setExpected (double  ex  ) 
+
+
+ +

+It sets the value you expect from your network. +

+

Parameters:
+ + +
ex Expected output value
+
+ +
+

+ +

+
+ + + + + + + + +
void neuralpp::NeuralNet::update (  ) 
+
+
+ +

+It updates through back-propagation the weights of the synapsis and computes again the output value for epochs times, calling back updateWeights and commitChanges functions. +

+ +

+

+ +

+
+ + + + + + + + +
void neuralpp::NeuralNet::propagate (  ) 
+
+
+ +

+It propagates values through the network. +

+Use this when you want to give an already trained network some new values the get to the output +

+

+ +

+
+ + + + + + + + + +
void neuralpp::NeuralNet::setInput (vector< double > &  v  ) 
+
+
+ +

+It sets the input for the network. +

+

Parameters:
+ + +
v Vector of doubles, containing the values to give to your network
+
+ +
+

+ +

+
+ + + + + + + + +
void neuralpp::NeuralNet::link (  ) 
+
+
+ +

+It links the layers of the network (input, hidden, output). +

+Don't use unless you exactly know what you're doing, it is already called by the constructor +

+

+ +

+
+ + + + + + + + + +
bool neuralpp::NeuralNet::save (const char *  fname  ) 
+
+
+ +

+Save a trained neural network to a binary file. +

+

Parameters:
+ + +
fname Binary file where you're going to save your network
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
void neuralpp::NeuralNet::train (string  xml,
source  xrc 
) throw (InvalidXMLException)
+
+
+ +

+Train a network using a training set loaded from an XML file. +

+A sample XML file is available in examples/adder.xml

Parameters:
+ + + +
xml XML file containing our training set
src Source type from which the XML will be loaded (from a file [default] or from a string)
+
+
Exceptions:
+ + +
InvalidXMLException 
+
+ +
+

+ +

+
+ + + + + + + + + +
static void neuralpp::NeuralNet::initXML (string &  xml  )  [static]
+
+
+ +

+Initialize the training XML for the neural network. +

+

Parameters:
+ + +
xml String that will contain the XML
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
static vector<double> neuralpp::NeuralNet::split (char  delim,
string  str 
) [static]
+
+
+ +

+Splits a string into a vector of doubles, given a delimitator. +

+

Parameters:
+ + + +
delim Delimitator
str String to be splitted
+
+
Returns:
Vector of doubles containing splitted values
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
static string neuralpp::NeuralNet::XMLFromSet (int  id,
string  set 
) [static]
+
+
+ +

+Get a training set from a string and copies it to an XML For example, these strings could be training sets for making sums: "2,3;5" - "5,6;11" - "2,2;4" - "4,5:9" This method called on the first string will return an XML such this: '<training id="0"><input id="0">2</input><input id="1">3</input><output id="0">5</output> &lt/training>'. +

+

Parameters:
+ + + +
id ID for the given training set (0,1,..,n)
set String containing input values and expected outputs
+
+
Returns:
XML string
+ +
+

+ +

+
+ + + + + + + + + +
static void neuralpp::NeuralNet::closeXML (string &  xml  )  [static]
+
+
+ +

+Closes an open XML document generated by "initXML" and "XMLFromSet". +

+

Parameters:
+ + +
xml XML string to be closed
+
+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
int neuralpp::NeuralNet::epochs [private]
+
+
+ +

+ +

+

+ +

+
+ + + + +
int neuralpp::NeuralNet::ref_epochs [private]
+
+
+ +

+ +

+

+ +

+
+ + + + +
double neuralpp::NeuralNet::l_rate [private]
+
+
+ +

+ +

+

+ +

+
+ + + + +
double neuralpp::NeuralNet::ex [private]
+
+
+ +

+ +

+

+ +

+
+ + + + +
Layer* neuralpp::NeuralNet::input [private]
+
+
+ +

+ +

+

+ +

+
+ + + + +
Layer* neuralpp::NeuralNet::hidden [private]
+
+
+ +

+ +

+

+ +

+
+ + + + +
Layer* neuralpp::NeuralNet::output [private]
+
+
+ +

+ +

+

+ +

+
+ + + + +
double(* neuralpp::NeuralNet::actv_f)(double) [private]
+
+
+ +

+Private pointer to function, containing the function to be used as activation function. +

+ +

+

+ +

+
+ + + + +
double(* neuralpp::NeuralNet::deriv)(double) [private]
+
+
+ +

+Private pointer to function, containing the function to be used as derivate of the activation function. +

+ +

+

+


The documentation for this class was generated from the following file: +
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/classneuralpp_1_1Neuron-members.html b/doc/html/classneuralpp_1_1Neuron-members.html new file mode 100644 index 0000000..a550fb3 --- /dev/null +++ b/doc/html/classneuralpp_1_1Neuron-members.html @@ -0,0 +1,51 @@ + + +Neural++: Member List + + + + + +
+

neuralpp::Neuron Member List

This is the complete list of members for neuralpp::Neuron, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + +
actv_fneuralpp::Neuron [private]
actv_valneuralpp::Neuron [private]
derivneuralpp::Neuron [private]
getActv()neuralpp::Neuron
getProp()neuralpp::Neuron
inneuralpp::Neuron [private]
Neuron(double(*a)(double), double(*d)(double))neuralpp::Neuron
Neuron(vector< Synapsis > in, vector< Synapsis > out, double(*a)(double), double(*d)(double))neuralpp::Neuron
nIn()neuralpp::Neuron
nOut()neuralpp::Neuron
outneuralpp::Neuron [private]
prop_valneuralpp::Neuron [private]
propagate()neuralpp::Neuron
push_in(Synapsis &s)neuralpp::Neuron
push_out(Synapsis &s)neuralpp::Neuron
setActv(double a)neuralpp::Neuron
setProp(double p)neuralpp::Neuron
synClear()neuralpp::Neuron
synIn(size_t i)neuralpp::Neuron
synOut(size_t i)neuralpp::Neuron

+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/classneuralpp_1_1Neuron.html b/doc/html/classneuralpp_1_1Neuron.html new file mode 100644 index 0000000..7ff4b80 --- /dev/null +++ b/doc/html/classneuralpp_1_1Neuron.html @@ -0,0 +1,578 @@ + + +Neural++: neuralpp::Neuron Class Reference + + + + + +
+

neuralpp::Neuron Class Reference

Class for managing neurons. +More... +

+#include <neural++.hpp> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 Neuron (double(*a)(double), double(*d)(double))
 Constructor.
 Neuron (vector< Synapsis > in, vector< Synapsis > out, double(*a)(double), double(*d)(double))
 Alternative constructor, that gets also the synapsis linked to the neuron.
SynapsissynIn (size_t i)
 Get the i-th synapsis connected on the input of the neuron.
SynapsissynOut (size_t i)
 Get the i-th synapsis connected on the output of the neuron.
void push_in (Synapsis &s)
 It pushes a new input synapsis.
void push_out (Synapsis &s)
 It pushes a new output synapsis.
void setActv (double a)
 Change the activation value of the neuron.
void setProp (double p)
 Change the propagation value of the neuron.
double getActv ()
 Get the activation value of the neuron.
double getProp ()
 Get the propagation value of the neuron.
double propagate ()
 It propagates its activation value to the connected neurons.
size_t nIn ()
 Get the number of input synapsis for the neuron.
size_t nOut ()
 Get the number of output synapsis for the neuron.
void synClear ()
 Remove input and output synapsis from a neuron.

Private Attributes

double actv_val
double prop_val
vector< Synapsisin
vector< Synapsisout
double(* actv_f )(double)
double(* deriv )(double)
+


Detailed Description

+Class for managing neurons. +

+Don't use this class directly unless you know what you're doing, use NeuralNet instead


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
neuralpp::Neuron::Neuron (double(*)(double)  a,
double(*)(double)  d 
)
+
+
+ +

+Constructor. +

+

Parameters:
+ + + +
a Activation function
d Its derivate
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
neuralpp::Neuron::Neuron (vector< Synapsis in,
vector< Synapsis out,
double(*)(double)  a,
double(*)(double)  d 
)
+
+
+ +

+Alternative constructor, that gets also the synapsis linked to the neuron. +

+

Parameters:
+ + + + + +
in Input synapses
out Output synapses
a Activation function
d Derivate of the activation function
+
+ +
+

+


Member Function Documentation

+ +
+
+ + + + + + + + + +
Synapsis& neuralpp::Neuron::synIn (size_t  i  ) 
+
+
+ +

+Get the i-th synapsis connected on the input of the neuron. +

+

Parameters:
+ + +
i Index of the input synapsis to get
+
+
Returns:
Reference to the i-th synapsis
+ +
+

+ +

+
+ + + + + + + + + +
Synapsis& neuralpp::Neuron::synOut (size_t  i  ) 
+
+
+ +

+Get the i-th synapsis connected on the output of the neuron. +

+

Parameters:
+ + +
i Index of the output synapsis to get
+
+
Returns:
Reference to the i-th synapsis
+ +
+

+ +

+
+ + + + + + + + + +
void neuralpp::Neuron::push_in (Synapsis s  ) 
+
+
+ +

+It pushes a new input synapsis. +

+

Parameters:
+ + +
s Synapsis to be pushed
+
+ +
+

+ +

+
+ + + + + + + + + +
void neuralpp::Neuron::push_out (Synapsis s  ) 
+
+
+ +

+It pushes a new output synapsis. +

+

Parameters:
+ + +
s Synapsis to be pushed
+
+ +
+

+ +

+
+ + + + + + + + + +
void neuralpp::Neuron::setActv (double  a  ) 
+
+
+ +

+Change the activation value of the neuron. +

+

Parameters:
+ + +
a Activation value
+
+ +
+

+ +

+
+ + + + + + + + + +
void neuralpp::Neuron::setProp (double  p  ) 
+
+
+ +

+Change the propagation value of the neuron. +

+

Parameters:
+ + +
p Propagation value
+
+ +
+

+ +

+
+ + + + + + + + +
double neuralpp::Neuron::getActv (  ) 
+
+
+ +

+Get the activation value of the neuron. +

+

Returns:
Activation value for the neuron
+ +
+

+ +

+
+ + + + + + + + +
double neuralpp::Neuron::getProp (  ) 
+
+
+ +

+Get the propagation value of the neuron. +

+

Returns:
Propagation value for the neuron
+ +
+

+ +

+
+ + + + + + + + +
double neuralpp::Neuron::propagate (  ) 
+
+
+ +

+It propagates its activation value to the connected neurons. +

+ +

+

+ +

+
+ + + + + + + + +
size_t neuralpp::Neuron::nIn (  ) 
+
+
+ +

+Get the number of input synapsis for the neuron. +

+

Returns:
Number of input synapsis
+ +
+

+ +

+
+ + + + + + + + +
size_t neuralpp::Neuron::nOut (  ) 
+
+
+ +

+Get the number of output synapsis for the neuron. +

+

Returns:
Number of output synapsis
+ +
+

+ +

+
+ + + + + + + + +
void neuralpp::Neuron::synClear (  ) 
+
+
+ +

+Remove input and output synapsis from a neuron. +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
double neuralpp::Neuron::actv_val [private]
+
+
+ +

+ +

+

+ +

+
+ + + + +
double neuralpp::Neuron::prop_val [private]
+
+
+ +

+ +

+

+ +

+
+ + + + +
vector< Synapsis > neuralpp::Neuron::in [private]
+
+
+ +

+ +

+

+ +

+
+ + + + +
vector< Synapsis > neuralpp::Neuron::out [private]
+
+
+ +

+ +

+

+ +

+
+ + + + +
double(* neuralpp::Neuron::actv_f)(double) [private]
+
+
+ +

+ +

+

+ +

+
+ + + + +
double(* neuralpp::Neuron::deriv)(double) [private]
+
+
+ +

+ +

+

+


The documentation for this class was generated from the following file: +
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/classneuralpp_1_1Synapsis-members.html b/doc/html/classneuralpp_1_1Synapsis-members.html new file mode 100644 index 0000000..86dbf6e --- /dev/null +++ b/doc/html/classneuralpp_1_1Synapsis-members.html @@ -0,0 +1,49 @@ + + +Neural++: Member List + + + + + +
+

neuralpp::Synapsis Member List

This is the complete list of members for neuralpp::Synapsis, including all inherited members.

+ + + + + + + + + + + + + + + + + + +
actv_fneuralpp::Synapsis [private]
deltaneuralpp::Synapsis [private]
derivneuralpp::Synapsis [private]
getDelta()neuralpp::Synapsis
getIn()neuralpp::Synapsis
getOut()neuralpp::Synapsis
getPrevDelta()neuralpp::Synapsis
getWeight()neuralpp::Synapsis
inneuralpp::Synapsis [private]
momentum(int N, int x)neuralpp::Synapsis
outneuralpp::Synapsis [private]
prev_deltaneuralpp::Synapsis [private]
setDelta(double d)neuralpp::Synapsis
setWeight(double w)neuralpp::Synapsis
Synapsis(Neuron *i, Neuron *o, double w, double d)neuralpp::Synapsis
Synapsis(Neuron *i, Neuron *o, double(*a)(double), double(*d)(double))neuralpp::Synapsis
Synapsis(Neuron *i, Neuron *o, double w, double(*a)(double), double(*d)(double))neuralpp::Synapsis
weightneuralpp::Synapsis [private]

+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/classneuralpp_1_1Synapsis.html b/doc/html/classneuralpp_1_1Synapsis.html new file mode 100644 index 0000000..4b60b86 --- /dev/null +++ b/doc/html/classneuralpp_1_1Synapsis.html @@ -0,0 +1,560 @@ + + +Neural++: neuralpp::Synapsis Class Reference + + + + + +
+

neuralpp::Synapsis Class Reference

Class for managing synapsis. +More... +

+#include <neural++.hpp> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 Synapsis (Neuron *i, Neuron *o, double w, double d)
 Constructor.
 Synapsis (Neuron *i, Neuron *o, double(*a)(double), double(*d)(double))
 Constructor.
 Synapsis (Neuron *i, Neuron *o, double w, double(*a)(double), double(*d)(double))
 Constructor.
NeurongetIn ()
NeurongetOut ()
void setWeight (double w)
 Set the weight of the synapsis.
void setDelta (double d)
 It sets the delta (how much to change the weight after an update) of the synapsis.
double getWeight ()
 Return the weight of the synapsis.
double getDelta ()
 Return the delta of the synapsis.
double getPrevDelta ()
 Get the delta of the synapsis at the previous iteration.
double momentum (int N, int x)
 Get the inertial momentum of a synapsis.

Private Attributes

double delta
double prev_delta
double weight
Neuronin
Neuronout
double(* actv_f )(double)
double(* deriv )(double)
+


Detailed Description

+Class for managing synapsis. +

+Don't use this class directly unless you know what you're doing, use NeuralNet instead


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
neuralpp::Synapsis::Synapsis (Neuron i,
Neuron o,
double  w,
double  d 
)
+
+
+ +

+Constructor. +

+

Parameters:
+ + + + + +
i Input neuron
o Output neuron
w Weight for the synapsis
d Delta for the synapsis
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
neuralpp::Synapsis::Synapsis (Neuron i,
Neuron o,
double(*)(double)  a,
double(*)(double)  d 
)
+
+
+ +

+Constructor. +

+

Parameters:
+ + + + + +
i Input neuron
o Output neuron
a Activation function
d Derivate for activation function
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
neuralpp::Synapsis::Synapsis (Neuron i,
Neuron o,
double  w,
double(*)(double)  a,
double(*)(double)  d 
)
+
+
+ +

+Constructor. +

+

Parameters:
+ + + + + + +
i Input neuron
o Output neuron
w Weight for the synapsis (default: random)
a Activation function
d Derivate for activation function
+
+ +
+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
Neuron* neuralpp::Synapsis::getIn (  ) 
+
+
+ +

+

Returns:
Reference to input neuron of the synapsis
+ +
+

+ +

+
+ + + + + + + + +
Neuron* neuralpp::Synapsis::getOut (  ) 
+
+
+ +

+

Returns:
Reference to output neuron of the synapsis
+ +
+

+ +

+
+ + + + + + + + + +
void neuralpp::Synapsis::setWeight (double  w  ) 
+
+
+ +

+Set the weight of the synapsis. +

+

Parameters:
+ + +
w Weight to be set
+
+ +
+

+ +

+
+ + + + + + + + + +
void neuralpp::Synapsis::setDelta (double  d  ) 
+
+
+ +

+It sets the delta (how much to change the weight after an update) of the synapsis. +

+

Parameters:
+ + +
d Delta to be set
+
+ +
+

+ +

+
+ + + + + + + + +
double neuralpp::Synapsis::getWeight (  ) 
+
+
+ +

+Return the weight of the synapsis. +

+

Returns:
Weight of the synapsis
+ +
+

+ +

+
+ + + + + + + + +
double neuralpp::Synapsis::getDelta (  ) 
+
+
+ +

+Return the delta of the synapsis. +

+

Returns:
Delta of the synapsis
+ +
+

+ +

+
+ + + + + + + + +
double neuralpp::Synapsis::getPrevDelta (  ) 
+
+
+ +

+Get the delta of the synapsis at the previous iteration. +

+

Returns:
The previous delta
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
double neuralpp::Synapsis::momentum (int  N,
int  x 
)
+
+
+ +

+Get the inertial momentum of a synapsis. +

+This value is inversely proportional to the number of steps done in the learning phase (quite high at the beginning, decreasing to zero towards the end of the learning algorithm), and is needed to avoid strong oscillations in output values at the beginning, caused by the random values assigned to the synaptical weights

Parameters:
+ + + +
N The number of iterations the network must have to adjust the output values
x The number of iterations already taken
+
+
Returns:
The inertial momentum of the synapsis
+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
double neuralpp::Synapsis::delta [private]
+
+
+ +

+ +

+

+ +

+
+ + + + +
double neuralpp::Synapsis::prev_delta [private]
+
+
+ +

+ +

+

+ +

+
+ + + + +
double neuralpp::Synapsis::weight [private]
+
+
+ +

+ +

+

+ +

+
+ + + + +
Neuron* neuralpp::Synapsis::in [private]
+
+
+ +

+ +

+

+ +

+
+ + + + +
Neuron* neuralpp::Synapsis::out [private]
+
+
+ +

+ +

+

+ +

+
+ + + + +
double(* neuralpp::Synapsis::actv_f)(double) [private]
+
+
+ +

+ +

+

+ +

+
+ + + + +
double(* neuralpp::Synapsis::deriv)(double) [private]
+
+
+ +

+ +

+

+


The documentation for this class was generated from the following file: +
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/doxygen.css b/doc/html/doxygen.css new file mode 100644 index 0000000..22c4843 --- /dev/null +++ b/doc/html/doxygen.css @@ -0,0 +1,473 @@ +BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV { + font-family: Geneva, Arial, Helvetica, sans-serif; +} +BODY,TD { + font-size: 90%; +} +H1 { + text-align: center; + font-size: 160%; +} +H2 { + font-size: 120%; +} +H3 { + font-size: 100%; +} +CAPTION { + font-weight: bold +} +DIV.qindex { + width: 100%; + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; +} +DIV.navpath { + width: 100%; + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; +} +DIV.navtab { + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} +TD.navtab { + font-size: 70%; +} +A.qindex { + text-decoration: none; + font-weight: bold; + color: #1A419D; +} +A.qindex:visited { + text-decoration: none; + font-weight: bold; + color: #1A419D +} +A.qindex:hover { + text-decoration: none; + background-color: #ddddff; +} +A.qindexHL { + text-decoration: none; + font-weight: bold; + background-color: #6666cc; + color: #ffffff; + border: 1px double #9295C2; +} +A.qindexHL:hover { + text-decoration: none; + background-color: #6666cc; + color: #ffffff; +} +A.qindexHL:visited { + text-decoration: none; + background-color: #6666cc; + color: #ffffff +} +A.el { + text-decoration: none; + font-weight: bold +} +A.elRef { + font-weight: bold +} +A.code:link { + text-decoration: none; + font-weight: normal; + color: #0000FF +} +A.code:visited { + text-decoration: none; + font-weight: normal; + color: #0000FF +} +A.codeRef:link { + font-weight: normal; + color: #0000FF +} +A.codeRef:visited { + font-weight: normal; + color: #0000FF +} +A:hover { + text-decoration: none; + background-color: #f2f2ff +} +DL.el { + margin-left: -1cm +} +.fragment { + font-family: monospace, fixed; + font-size: 95%; +} +PRE.fragment { + border: 1px solid #CCCCCC; + background-color: #f5f5f5; + margin-top: 4px; + margin-bottom: 4px; + margin-left: 2px; + margin-right: 8px; + padding-left: 6px; + padding-right: 6px; + padding-top: 4px; + padding-bottom: 4px; +} +DIV.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px +} + +DIV.groupHeader { + margin-left: 16px; + margin-top: 12px; + margin-bottom: 6px; + font-weight: bold; +} +DIV.groupText { + margin-left: 16px; + font-style: italic; + font-size: 90% +} +BODY { + background: white; + color: black; + margin-right: 20px; + margin-left: 20px; +} +TD.indexkey { + background-color: #e8eef2; + font-weight: bold; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px; + border: 1px solid #CCCCCC; +} +TD.indexvalue { + background-color: #e8eef2; + font-style: italic; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px; + border: 1px solid #CCCCCC; +} +TR.memlist { + background-color: #f0f0f0; +} +P.formulaDsp { + text-align: center; +} +IMG.formulaDsp { +} +IMG.formulaInl { + vertical-align: middle; +} +SPAN.keyword { color: #008000 } +SPAN.keywordtype { color: #604020 } +SPAN.keywordflow { color: #e08000 } +SPAN.comment { color: #800000 } +SPAN.preprocessor { color: #806020 } +SPAN.stringliteral { color: #002080 } +SPAN.charliteral { color: #008080 } +SPAN.vhdldigit { color: #ff00ff } +SPAN.vhdlchar { color: #000000 } +SPAN.vhdlkeyword { color: #700070 } +SPAN.vhdllogic { color: #ff0000 } + +.mdescLeft { + padding: 0px 8px 4px 8px; + font-size: 80%; + font-style: italic; + background-color: #FAFAFA; + border-top: 1px none #E0E0E0; + border-right: 1px none #E0E0E0; + border-bottom: 1px none #E0E0E0; + border-left: 1px none #E0E0E0; + margin: 0px; +} +.mdescRight { + padding: 0px 8px 4px 8px; + font-size: 80%; + font-style: italic; + background-color: #FAFAFA; + border-top: 1px none #E0E0E0; + border-right: 1px none #E0E0E0; + border-bottom: 1px none #E0E0E0; + border-left: 1px none #E0E0E0; + margin: 0px; +} +.memItemLeft { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memItemRight { + padding: 1px 8px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplItemLeft { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: none; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplItemRight { + padding: 1px 8px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: none; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplParams { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + color: #606060; + background-color: #FAFAFA; + font-size: 80%; +} +.search { + color: #003399; + font-weight: bold; +} +FORM.search { + margin-bottom: 0px; + margin-top: 0px; +} +INPUT.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +TD.tiny { + font-size: 75%; +} +a { + color: #1A41A8; +} +a:visited { + color: #2A3798; +} +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #84b0c7; +} +TH.dirtab { + background: #e8eef2; + font-weight: bold; +} +HR { + height: 1px; + border: none; + border-top: 1px solid black; +} + +/* Style for detailed member documentation */ +.memtemplate { + font-size: 80%; + color: #606060; + font-weight: normal; + margin-left: 3px; +} +.memnav { + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} +.memitem { + padding: 4px; + background-color: #eef3f5; + border-width: 1px; + border-style: solid; + border-color: #dedeee; + -moz-border-radius: 8px 8px 8px 8px; +} +.memname { + white-space: nowrap; + font-weight: bold; +} +.memdoc{ + padding-left: 10px; +} +.memproto { + background-color: #d5e1e8; + width: 100%; + border-width: 1px; + border-style: solid; + border-color: #84b0c7; + font-weight: bold; + -moz-border-radius: 8px 8px 8px 8px; +} +.paramkey { + text-align: right; +} +.paramtype { + white-space: nowrap; +} +.paramname { + color: #602020; + font-style: italic; + white-space: nowrap; +} +/* End Styling for detailed member documentation */ + +/* for the tree view */ +.ftvtree { + font-family: sans-serif; + margin:0.5em; +} +/* these are for tree view when used as main index */ +.directory { + font-size: 9pt; + font-weight: bold; +} +.directory h3 { + margin: 0px; + margin-top: 1em; + font-size: 11pt; +} + +/* The following two styles can be used to replace the root node title */ +/* with an image of your choice. Simply uncomment the next two styles, */ +/* specify the name of your image and be sure to set 'height' to the */ +/* proper pixel height of your image. */ + +/* .directory h3.swap { */ +/* height: 61px; */ +/* background-repeat: no-repeat; */ +/* background-image: url("yourimage.gif"); */ +/* } */ +/* .directory h3.swap span { */ +/* display: none; */ +/* } */ + +.directory > h3 { + margin-top: 0; +} +.directory p { + margin: 0px; + white-space: nowrap; +} +.directory div { + display: none; + margin: 0px; +} +.directory img { + vertical-align: -30%; +} +/* these are for tree view when not used as main index */ +.directory-alt { + font-size: 100%; + font-weight: bold; +} +.directory-alt h3 { + margin: 0px; + margin-top: 1em; + font-size: 11pt; +} +.directory-alt > h3 { + margin-top: 0; +} +.directory-alt p { + margin: 0px; + white-space: nowrap; +} +.directory-alt div { + display: none; + margin: 0px; +} +.directory-alt img { + vertical-align: -30%; +} + diff --git a/doc/html/doxygen.png b/doc/html/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..f0a274bbaffdd67f6d784c894d9cf28729db0e14 GIT binary patch literal 1281 zcmaJ>ZA?>F7(Vx-ms?uoS`b@hdRtpo6o^%HU>M$hfGrBvQnk$LE?p^P!kn&ikhyq! zX~V@&tPF5Qt@V?oTL96Bi%aRiwbe1)9DWQI#?)=HxS7QSw`J`5fAJ*eJbB;uNuKA& zdERDo*{Y<(If(#(B$Lr#;nB(8Y#ia=ZCeW?JfPLuQY`=@cW$k}Rivq|vbxGrRq1Tl9;+(gNt?}UtVKM2`T5t1jLzuL@0UIs`S#vlhl4)^ zLgSYrPj@$+`|j?eSbXTmiHGkWxV8V}BzNR?pl9k_s4pDu9vd5a_UzZEPk)}Ad{AV_ zzddrjrh4=Imr`E06;LY{)YYt?o}L~H@7C}F^WB!Ra=v`Q0bj{>5&$66CWF>mf6vjP z2N>RRY6ZYa=K`76>+|_)Xdwko+7wv}7cN|btOhWb(*{sta~6b?S8Omrxw}!4`NhGr zZVpNqpu1@BE`QGWNTpEpcJVW5izu~2B^GlM?1(OPg)zwW;QcP@Ltcclm>XbJL9C|j z=9!2?ua=uIlf0%AndzHsRC}IyTL$EhAee(fdKB`?27KeS^2M8M_7b~PiCFO&r5LC7 z7gl1*a<8;SjNaw#h=843_AV9iZbWQOAp5YOC^&_F*9K0> zB|6%IDb?aM#3viTxkLU4aXg&@+CkNTOnQ1iMP*^?b|^lJy$4C)Zk4isV!|RZ*XhXh zw8q3$=*0LeGC!XI_Wc?dkT~3+*Gu%%yIqP+Wr3H$=&ROMQU6q}Ag^P~>c5vAEO;a- z_dK-3PPeKar%)6$j~vI2#*-YH!1h6HYVtwCX5_wM`iF#UKz&&@9Oo5w3%XGYrX zW>dY~)SG-((Yim%`InwgTvyRC?e=Wh^8KCao!R6Eg&TpVWUY1sN~4G}V?nFnEGo-; zHZ_$eW9-GnC%^WS9b z@p;-$oH#MtC0v>Q$HX%4^JdFdO$0cbv-W)Q TtK}Eh@>>I#ipmV1>S*>q-hkC} literal 0 HcmV?d00001 diff --git a/doc/html/files.html b/doc/html/files.html new file mode 100644 index 0000000..850343a --- /dev/null +++ b/doc/html/files.html @@ -0,0 +1,35 @@ + + +Neural++: File Index + + + + + +
+

File List

Here is a list of all files with brief descriptions: + + + +
Markup.h [code]
neural++.hpp [code]
neural++_exception.hpp [code]
+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions.html b/doc/html/functions.html new file mode 100644 index 0000000..1ee32b5 --- /dev/null +++ b/doc/html/functions.html @@ -0,0 +1,100 @@ + + +Neural++: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- a -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_0x63.html b/doc/html/functions_0x63.html new file mode 100644 index 0000000..2f8ff32 --- /dev/null +++ b/doc/html/functions_0x63.html @@ -0,0 +1,84 @@ + + +Neural++: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- c -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_0x64.html b/doc/html/functions_0x64.html new file mode 100644 index 0000000..c780dea --- /dev/null +++ b/doc/html/functions_0x64.html @@ -0,0 +1,82 @@ + + +Neural++: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- d -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_0x65.html b/doc/html/functions_0x65.html new file mode 100644 index 0000000..cb6a46c --- /dev/null +++ b/doc/html/functions_0x65.html @@ -0,0 +1,89 @@ + + +Neural++: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- e -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_0x66.html b/doc/html/functions_0x66.html new file mode 100644 index 0000000..29420e0 --- /dev/null +++ b/doc/html/functions_0x66.html @@ -0,0 +1,79 @@ + + +Neural++: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- f -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_0x67.html b/doc/html/functions_0x67.html new file mode 100644 index 0000000..c274340 --- /dev/null +++ b/doc/html/functions_0x67.html @@ -0,0 +1,117 @@ + + +Neural++: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- g -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_0x68.html b/doc/html/functions_0x68.html new file mode 100644 index 0000000..e1803fd --- /dev/null +++ b/doc/html/functions_0x68.html @@ -0,0 +1,71 @@ + + +Neural++: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- h -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_0x69.html b/doc/html/functions_0x69.html new file mode 100644 index 0000000..a7f2148 --- /dev/null +++ b/doc/html/functions_0x69.html @@ -0,0 +1,104 @@ + + +Neural++: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- i -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_0x6c.html b/doc/html/functions_0x6c.html new file mode 100644 index 0000000..a7d3e96 --- /dev/null +++ b/doc/html/functions_0x6c.html @@ -0,0 +1,81 @@ + + +Neural++: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- l -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_0x6d.html b/doc/html/functions_0x6d.html new file mode 100644 index 0000000..de280d8 --- /dev/null +++ b/doc/html/functions_0x6d.html @@ -0,0 +1,177 @@ + + +Neural++: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- m -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_0x6e.html b/doc/html/functions_0x6e.html new file mode 100644 index 0000000..8b09c72 --- /dev/null +++ b/doc/html/functions_0x6e.html @@ -0,0 +1,134 @@ + + +Neural++: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- n -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_0x6f.html b/doc/html/functions_0x6f.html new file mode 100644 index 0000000..1a9e810 --- /dev/null +++ b/doc/html/functions_0x6f.html @@ -0,0 +1,83 @@ + + +Neural++: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- o -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_0x70.html b/doc/html/functions_0x70.html new file mode 100644 index 0000000..1854c03 --- /dev/null +++ b/doc/html/functions_0x70.html @@ -0,0 +1,101 @@ + + +Neural++: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- p -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_0x72.html b/doc/html/functions_0x72.html new file mode 100644 index 0000000..42eed7d --- /dev/null +++ b/doc/html/functions_0x72.html @@ -0,0 +1,92 @@ + + +Neural++: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- r -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_0x73.html b/doc/html/functions_0x73.html new file mode 100644 index 0000000..fd82ea5 --- /dev/null +++ b/doc/html/functions_0x73.html @@ -0,0 +1,161 @@ + + +Neural++: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- s -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_0x74.html b/doc/html/functions_0x74.html new file mode 100644 index 0000000..03c2fba --- /dev/null +++ b/doc/html/functions_0x74.html @@ -0,0 +1,75 @@ + + +Neural++: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- t -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_0x75.html b/doc/html/functions_0x75.html new file mode 100644 index 0000000..8cf5051 --- /dev/null +++ b/doc/html/functions_0x75.html @@ -0,0 +1,81 @@ + + +Neural++: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- u -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_0x77.html b/doc/html/functions_0x77.html new file mode 100644 index 0000000..289dddc --- /dev/null +++ b/doc/html/functions_0x77.html @@ -0,0 +1,73 @@ + + +Neural++: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- w -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_0x78.html b/doc/html/functions_0x78.html new file mode 100644 index 0000000..25521a3 --- /dev/null +++ b/doc/html/functions_0x78.html @@ -0,0 +1,171 @@ + + +Neural++: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- x -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_0x7e.html b/doc/html/functions_0x7e.html new file mode 100644 index 0000000..c20d4b7 --- /dev/null +++ b/doc/html/functions_0x7e.html @@ -0,0 +1,77 @@ + + +Neural++: Class Members + + + + + +
+Here is a list of all class members with links to the classes they belong to: +

+

- ~ -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_enum.html b/doc/html/functions_enum.html new file mode 100644 index 0000000..e39eaaf --- /dev/null +++ b/doc/html/functions_enum.html @@ -0,0 +1,53 @@ + + +Neural++: Class Members - Enumerations + + + + + +
+  +

+

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_eval.html b/doc/html/functions_eval.html new file mode 100644 index 0000000..e1bb1d6 --- /dev/null +++ b/doc/html/functions_eval.html @@ -0,0 +1,143 @@ + + +Neural++: Class Members - Enumerator + + + + + +
+  +

+

- f -

+

- m -

+

- p -

+

- s -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_func.html b/doc/html/functions_func.html new file mode 100644 index 0000000..269c76f --- /dev/null +++ b/doc/html/functions_func.html @@ -0,0 +1,90 @@ + + +Neural++: Class Members - Functions + + + + + +
+  +

+

- a -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_func_0x63.html b/doc/html/functions_func_0x63.html new file mode 100644 index 0000000..5ce256c --- /dev/null +++ b/doc/html/functions_func_0x63.html @@ -0,0 +1,83 @@ + + +Neural++: Class Members - Functions + + + + + +
+  +

+

- c -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_func_0x64.html b/doc/html/functions_func_0x64.html new file mode 100644 index 0000000..0d618f5 --- /dev/null +++ b/doc/html/functions_func_0x64.html @@ -0,0 +1,72 @@ + + +Neural++: Class Members - Functions + + + + + +
+  +

+

- d -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_func_0x65.html b/doc/html/functions_func_0x65.html new file mode 100644 index 0000000..9bf4923 --- /dev/null +++ b/doc/html/functions_func_0x65.html @@ -0,0 +1,80 @@ + + +Neural++: Class Members - Functions + + + + + +
+  +

+

- e -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_func_0x66.html b/doc/html/functions_func_0x66.html new file mode 100644 index 0000000..c8a3041 --- /dev/null +++ b/doc/html/functions_func_0x66.html @@ -0,0 +1,74 @@ + + +Neural++: Class Members - Functions + + + + + +
+  +

+

- f -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_func_0x67.html b/doc/html/functions_func_0x67.html new file mode 100644 index 0000000..3f2ce87 --- /dev/null +++ b/doc/html/functions_func_0x67.html @@ -0,0 +1,116 @@ + + +Neural++: Class Members - Functions + + + + + +
+  +

+

- g -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_func_0x69.html b/doc/html/functions_func_0x69.html new file mode 100644 index 0000000..d48b6d6 --- /dev/null +++ b/doc/html/functions_func_0x69.html @@ -0,0 +1,86 @@ + + +Neural++: Class Members - Functions + + + + + +
+  +

+

- i -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_func_0x6c.html b/doc/html/functions_func_0x6c.html new file mode 100644 index 0000000..64f367f --- /dev/null +++ b/doc/html/functions_func_0x6c.html @@ -0,0 +1,77 @@ + + +Neural++: Class Members - Functions + + + + + +
+  +

+

- l -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_func_0x6d.html b/doc/html/functions_func_0x6d.html new file mode 100644 index 0000000..5c1ad83 --- /dev/null +++ b/doc/html/functions_func_0x6d.html @@ -0,0 +1,72 @@ + + +Neural++: Class Members - Functions + + + + + +
+  +

+

- m -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_func_0x6e.html b/doc/html/functions_func_0x6e.html new file mode 100644 index 0000000..c1b4beb --- /dev/null +++ b/doc/html/functions_func_0x6e.html @@ -0,0 +1,78 @@ + + +Neural++: Class Members - Functions + + + + + +
+  +

+

- n -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_func_0x6f.html b/doc/html/functions_func_0x6f.html new file mode 100644 index 0000000..57169d1 --- /dev/null +++ b/doc/html/functions_func_0x6f.html @@ -0,0 +1,75 @@ + + +Neural++: Class Members - Functions + + + + + +
+  +

+

- o -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_func_0x70.html b/doc/html/functions_func_0x70.html new file mode 100644 index 0000000..8cbef0b --- /dev/null +++ b/doc/html/functions_func_0x70.html @@ -0,0 +1,76 @@ + + +Neural++: Class Members - Functions + + + + + +
+  +

+

- p -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_func_0x72.html b/doc/html/functions_func_0x72.html new file mode 100644 index 0000000..68d7f7b --- /dev/null +++ b/doc/html/functions_func_0x72.html @@ -0,0 +1,89 @@ + + +Neural++: Class Members - Functions + + + + + +
+  +

+

- r -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_func_0x73.html b/doc/html/functions_func_0x73.html new file mode 100644 index 0000000..06f1135 --- /dev/null +++ b/doc/html/functions_func_0x73.html @@ -0,0 +1,136 @@ + + +Neural++: Class Members - Functions + + + + + +
+  +

+

- s -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_func_0x74.html b/doc/html/functions_func_0x74.html new file mode 100644 index 0000000..d97146c --- /dev/null +++ b/doc/html/functions_func_0x74.html @@ -0,0 +1,74 @@ + + +Neural++: Class Members - Functions + + + + + +
+  +

+

- t -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_func_0x75.html b/doc/html/functions_func_0x75.html new file mode 100644 index 0000000..81154f9 --- /dev/null +++ b/doc/html/functions_func_0x75.html @@ -0,0 +1,78 @@ + + +Neural++: Class Members - Functions + + + + + +
+  +

+

- u -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_func_0x77.html b/doc/html/functions_func_0x77.html new file mode 100644 index 0000000..7a78959 --- /dev/null +++ b/doc/html/functions_func_0x77.html @@ -0,0 +1,68 @@ + + +Neural++: Class Members - Functions + + + + + +
+  +

+

- w -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_func_0x78.html b/doc/html/functions_func_0x78.html new file mode 100644 index 0000000..2bd5188 --- /dev/null +++ b/doc/html/functions_func_0x78.html @@ -0,0 +1,170 @@ + + +Neural++: Class Members - Functions + + + + + +
+  +

+

- x -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_func_0x7e.html b/doc/html/functions_func_0x7e.html new file mode 100644 index 0000000..3a9a750 --- /dev/null +++ b/doc/html/functions_func_0x7e.html @@ -0,0 +1,76 @@ + + +Neural++: Class Members - Functions + + + + + +
+  +

+

- ~ -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/functions_vars.html b/doc/html/functions_vars.html new file mode 100644 index 0000000..7d38b1b --- /dev/null +++ b/doc/html/functions_vars.html @@ -0,0 +1,270 @@ + + +Neural++: Class Members - Variables + + + + + +
+  +

+

- a -

+

- d -

+

- e -

+

- f -

+

- h -

+

- i -

+

- l -

+

- m -

+

- n -

+

- o -

+

- p -

+

- r -

+

- s -

+

- u -

+

- w -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/globals.html b/doc/html/globals.html new file mode 100644 index 0000000..0ff1eec --- /dev/null +++ b/doc/html/globals.html @@ -0,0 +1,152 @@ + + +Neural++: Class Members + + + + + +
+Here is a list of all file members with links to the files they belong to: +

+

- _ -

+

- b -

+

- m -

+

- r -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/globals_defs.html b/doc/html/globals_defs.html new file mode 100644 index 0000000..eb2daca --- /dev/null +++ b/doc/html/globals_defs.html @@ -0,0 +1,152 @@ + + +Neural++: Class Members + + + + + +
+  +

+

- _ -

+

- b -

+

- m -

+

- r -

+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/index.html b/doc/html/index.html new file mode 100644 index 0000000..2be1bb0 --- /dev/null +++ b/doc/html/index.html @@ -0,0 +1,26 @@ + + +Neural++: Main Page + + + + + +
+

Neural++ Documentation

+

+

0.3

+
Generated on Sun Aug 9 11:11:17 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/namespaceneuralpp.html b/doc/html/namespaceneuralpp.html new file mode 100644 index 0000000..49c29fb --- /dev/null +++ b/doc/html/namespaceneuralpp.html @@ -0,0 +1,50 @@ + + +Neural++: neuralpp Namespace Reference + + + + + +
+

neuralpp Namespace Reference

Main namespace for the library. +More... +

+ + + + + + + + + + + + + + + + + + + + + +

Classes

class  NeuralNet
 Main project's class. More...
class  Synapsis
 Class for managing synapsis. More...
class  Neuron
 Class for managing neurons. More...
class  Layer
 Class for managing layers of neurons. More...
struct  netrecord
struct  neuronrecord
struct  synrecord
+


Detailed Description

+Main namespace for the library.
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/namespaces.html b/doc/html/namespaces.html new file mode 100644 index 0000000..2c85f28 --- /dev/null +++ b/doc/html/namespaces.html @@ -0,0 +1,27 @@ + + +Neural++: Namespace Index + + + + + +
+

Namespace List

Here is a list of all namespaces with brief descriptions: + +
neuralppMain namespace for the library
+
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/neural_09_09_8hpp-source.html b/doc/html/neural_09_09_8hpp-source.html new file mode 100644 index 0000000..c0c869f --- /dev/null +++ b/doc/html/neural_09_09_8hpp-source.html @@ -0,0 +1,251 @@ + + +Neural++: neural++.hpp Source File + + + + + +
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/neural_09_09_8hpp.html b/doc/html/neural_09_09_8hpp.html new file mode 100644 index 0000000..c94dbe2 --- /dev/null +++ b/doc/html/neural_09_09_8hpp.html @@ -0,0 +1,99 @@ + + +Neural++: neural++.hpp File Reference + + + + + +
+

neural++.hpp File Reference

#include <vector>
+#include <string>
+#include <cmath>
+#include <ctime>
+#include <cstdio>
+#include "neural++_exception.hpp"
+ +

+Go to the source code of this file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Namespaces

namespace  neuralpp

Classes

class  neuralpp::NeuralNet
 Main project's class. More...
class  neuralpp::Synapsis
 Class for managing synapsis. More...
class  neuralpp::Neuron
 Class for managing neurons. More...
class  neuralpp::Layer
 Class for managing layers of neurons. More...
struct  neuralpp::netrecord
struct  neuralpp::neuronrecord
struct  neuralpp::synrecord

Defines

#define RAND   ( abs( sin(rand()) ) )
 Default rand value: |sin(rand)|, always >= 0 and <= 1.
#define BETA0   0.7
 Initial value for the inertial momentum of the synapses.
+


Define Documentation

+ +
+
+ + + + +
#define BETA0   0.7
+
+
+ +

+Initial value for the inertial momentum of the synapses. +

+ +

+

+ +

+
+ + + + +
#define RAND   ( abs( sin(rand()) ) )
+
+
+ +

+Default rand value: |sin(rand)|, always >= 0 and <= 1. +

+ +

+

+

+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/neural_09_09__exception_8hpp-source.html b/doc/html/neural_09_09__exception_8hpp-source.html new file mode 100644 index 0000000..5cd9e65 --- /dev/null +++ b/doc/html/neural_09_09__exception_8hpp-source.html @@ -0,0 +1,61 @@ + + +Neural++: neural++_exception.hpp Source File + + + + + +
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/neural_09_09__exception_8hpp.html b/doc/html/neural_09_09__exception_8hpp.html new file mode 100644 index 0000000..a6e5398 --- /dev/null +++ b/doc/html/neural_09_09__exception_8hpp.html @@ -0,0 +1,29 @@ + + +Neural++: neural++_exception.hpp File Reference + + + + + +
+

neural++_exception.hpp File Reference

+

+Go to the source code of this file. + +
+

+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/structCMarkup_1_1ConvertEncoding-members.html b/doc/html/structCMarkup_1_1ConvertEncoding-members.html new file mode 100644 index 0000000..8689a02 --- /dev/null +++ b/doc/html/structCMarkup_1_1ConvertEncoding-members.html @@ -0,0 +1,38 @@ + + +Neural++: Member List + + + + + +
+

CMarkup::ConvertEncoding Member List

This is the complete list of members for CMarkup::ConvertEncoding, including all inherited members.

+ + + + + + + +
ConvertEncoding(MCD_CSTR pszToEncoding, MCD_CSTR pszFromEncoding, const void *pFromBuffer, int nFromBufferLen)CMarkup::ConvertEncoding [inline]
nFailedCharsCMarkup::ConvertEncoding
nFromLenCMarkup::ConvertEncoding
nToCountCMarkup::ConvertEncoding
pFromCMarkup::ConvertEncoding
strFromEncodingCMarkup::ConvertEncoding
strToEncodingCMarkup::ConvertEncoding

+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/structCMarkup_1_1ConvertEncoding.html b/doc/html/structCMarkup_1_1ConvertEncoding.html new file mode 100644 index 0000000..1d38e61 --- /dev/null +++ b/doc/html/structCMarkup_1_1ConvertEncoding.html @@ -0,0 +1,204 @@ + + +Neural++: CMarkup::ConvertEncoding Struct Reference + + + + + +
+

CMarkup::ConvertEncoding Struct Reference

#include <Markup.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + +

Public Member Functions

 ConvertEncoding (MCD_CSTR pszToEncoding, MCD_CSTR pszFromEncoding, const void *pFromBuffer, int nFromBufferLen)

Public Attributes

MCD_STR strToEncoding
MCD_STR strFromEncoding
const void * pFrom
int nFromLen
int nToCount
int nFailedChars
+


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CMarkup::ConvertEncoding::ConvertEncoding (MCD_CSTR  pszToEncoding,
MCD_CSTR  pszFromEncoding,
const void *  pFromBuffer,
int  nFromBufferLen 
) [inline]
+
+ +

+


Member Data Documentation

+ +
+ +
+ +

+ +

Referenced by ConvertEncoding().

+ +
+

+ +

+ +
+ +

+ +

Referenced by ConvertEncoding().

+ +
+

+ +

+
+ + + + +
const void* CMarkup::ConvertEncoding::pFrom
+
+
+ +

+ +

Referenced by ConvertEncoding().

+ +
+

+ +

+ +
+ +

+ +

Referenced by ConvertEncoding().

+ +
+

+ +

+ +
+ +

+ +

Referenced by ConvertEncoding().

+ +
+

+ +

+ +
+ +

+ +

Referenced by ConvertEncoding().

+ +
+

+


The documentation for this struct was generated from the following file: +
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/structCMarkup_1_1ElemPos-members.html b/doc/html/structCMarkup_1_1ElemPos-members.html new file mode 100644 index 0000000..549c089 --- /dev/null +++ b/doc/html/structCMarkup_1_1ElemPos-members.html @@ -0,0 +1,54 @@ + + +Neural++: Member List + + + + + + +
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/structCMarkup_1_1ElemPos.html b/doc/html/structCMarkup_1_1ElemPos.html new file mode 100644 index 0000000..bdd2d5f --- /dev/null +++ b/doc/html/structCMarkup_1_1ElemPos.html @@ -0,0 +1,534 @@ + + +Neural++: CMarkup::ElemPos Struct Reference + + + + + +
+

CMarkup::ElemPos Struct Reference

#include <Markup.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 ElemPos ()
 ElemPos (const ElemPos &pos)
int StartTagLen () const
void SetStartTagLen (int n)
void AdjustStartTagLen (int n)
int EndTagLen () const
void SetEndTagLen (int n)
bool IsEmptyElement ()
int StartContent () const
int ContentLen () const
int StartAfter () const
int Level () const
void SetLevel (int nLev)
void ClearVirtualParent ()

Public Attributes

int nStart
int nLength
unsigned int nStartTagLen: 22
unsigned int nEndTagLen: 10
int nFlags
int iElemParent
int iElemChild
int iElemNext
int iElemPrev
+


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
CMarkup::ElemPos::ElemPos (  )  [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
CMarkup::ElemPos::ElemPos (const ElemPos pos  )  [inline]
+
+
+ +

+ +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
int CMarkup::ElemPos::StartTagLen (  )  const [inline]
+
+
+ +

+ +

References nStartTagLen.

+ +

Referenced by ContentLen(), IsEmptyElement(), and StartContent().

+ +
+

+ +

+
+ + + + + + + + + +
void CMarkup::ElemPos::SetStartTagLen (int  n  )  [inline]
+
+
+ +

+ +

References nStartTagLen.

+ +
+

+ +

+
+ + + + + + + + + +
void CMarkup::ElemPos::AdjustStartTagLen (int  n  )  [inline]
+
+
+ +

+ +

References nStartTagLen.

+ +
+

+ +

+
+ + + + + + + + +
int CMarkup::ElemPos::EndTagLen (  )  const [inline]
+
+
+ +

+ +

References nEndTagLen.

+ +

Referenced by ContentLen().

+ +
+

+ +

+
+ + + + + + + + + +
void CMarkup::ElemPos::SetEndTagLen (int  n  )  [inline]
+
+
+ +

+ +

References nEndTagLen.

+ +
+

+ +

+
+ + + + + + + + +
bool CMarkup::ElemPos::IsEmptyElement (  )  [inline]
+
+
+ +

+ +

References nLength, and StartTagLen().

+ +
+

+ +

+
+ + + + + + + + +
int CMarkup::ElemPos::StartContent (  )  const [inline]
+
+
+ +

+ +

References nStart, and StartTagLen().

+ +
+

+ +

+
+ + + + + + + + +
int CMarkup::ElemPos::ContentLen (  )  const [inline]
+
+
+ +

+ +

References EndTagLen(), nLength, and StartTagLen().

+ +
+

+ +

+
+ + + + + + + + +
int CMarkup::ElemPos::StartAfter (  )  const [inline]
+
+
+ +

+ +

References nLength, and nStart.

+ +
+

+ +

+
+ + + + + + + + +
int CMarkup::ElemPos::Level (  )  const [inline]
+
+
+ +

+ +

References nFlags.

+ +
+

+ +

+
+ + + + + + + + + +
void CMarkup::ElemPos::SetLevel (int  nLev  )  [inline]
+
+
+ +

+ +

References nFlags.

+ +
+

+ +

+
+ + + + + + + + +
void CMarkup::ElemPos::ClearVirtualParent (  )  [inline]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
int CMarkup::ElemPos::nStart
+
+
+ +

+ +

Referenced by StartAfter(), and StartContent().

+ +
+

+ +

+
+ + + + +
int CMarkup::ElemPos::nLength
+
+
+ +

+ +

Referenced by ContentLen(), IsEmptyElement(), and StartAfter().

+ +
+

+ +

+
+ + + + +
unsigned int CMarkup::ElemPos::nStartTagLen
+
+
+ +

+ +

Referenced by AdjustStartTagLen(), SetStartTagLen(), and StartTagLen().

+ +
+

+ +

+
+ + + + +
unsigned int CMarkup::ElemPos::nEndTagLen
+
+
+ +

+ +

Referenced by EndTagLen(), and SetEndTagLen().

+ +
+

+ +

+
+ + + + +
int CMarkup::ElemPos::nFlags
+
+
+ +

+ +

Referenced by Level(), and SetLevel().

+ +
+

+ +

+ +
+ +

+ +

+

+ +

+ +
+ +

+ +

+

+ +

+ +
+ +

+ +

+

+ +

+ +
+ +

+ +

+

+


The documentation for this struct was generated from the following file: +
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/structCMarkup_1_1FilePos-members.html b/doc/html/structCMarkup_1_1FilePos-members.html new file mode 100644 index 0000000..49e4b86 --- /dev/null +++ b/doc/html/structCMarkup_1_1FilePos-members.html @@ -0,0 +1,40 @@ + + +Neural++: Member List + + + + + + +
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/structCMarkup_1_1FilePos.html b/doc/html/structCMarkup_1_1FilePos.html new file mode 100644 index 0000000..64f6923 --- /dev/null +++ b/doc/html/structCMarkup_1_1FilePos.html @@ -0,0 +1,202 @@ + + +Neural++: CMarkup::FilePos Struct Reference + + + + + +
+

CMarkup::FilePos Struct Reference

#include <Markup.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 FilePos ()

Public Attributes

FILE * fp
int nDocFlags
int nFileByteLen
int nReadByteLen
int nFileCharUnitSize
int nFileTextLen
MCD_STR strIOResult
MCD_STR strEncoding
+


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
CMarkup::FilePos::FilePos (  )  [inline]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
FILE* CMarkup::FilePos::fp
+
+
+ +

+ +

+

+ +

+ +
+ +

+ +

+

+ +

+ +
+ +

+ +

+

+ +

+ +
+ +

+ +

+

+ +

+ +
+ +

+ +

+

+ +

+ +
+ +

+ +

+

+ +

+
+ + + + +
MCD_STR CMarkup::FilePos::strIOResult
+
+
+ +

+ +

+

+ +

+
+ + + + +
MCD_STR CMarkup::FilePos::strEncoding
+
+
+ +

+ +

+

+


The documentation for this struct was generated from the following file: +
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/structCMarkup_1_1NodePos-members.html b/doc/html/structCMarkup_1_1NodePos-members.html new file mode 100644 index 0000000..06a5d7c --- /dev/null +++ b/doc/html/structCMarkup_1_1NodePos-members.html @@ -0,0 +1,38 @@ + + +Neural++: Member List + + + + + +
+

CMarkup::NodePos Member List

This is the complete list of members for CMarkup::NodePos, including all inherited members.

+ + + + + + + +
nLengthCMarkup::NodePos
nNodeFlagsCMarkup::NodePos
nNodeTypeCMarkup::NodePos
NodePos()CMarkup::NodePos [inline]
NodePos(int n)CMarkup::NodePos [inline]
nStartCMarkup::NodePos
strMetaCMarkup::NodePos

+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/structCMarkup_1_1NodePos.html b/doc/html/structCMarkup_1_1NodePos.html new file mode 100644 index 0000000..0f8994b --- /dev/null +++ b/doc/html/structCMarkup_1_1NodePos.html @@ -0,0 +1,183 @@ + + +Neural++: CMarkup::NodePos Struct Reference + + + + + +
+

CMarkup::NodePos Struct Reference

#include <Markup.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + +

Public Member Functions

 NodePos ()
 NodePos (int n)

Public Attributes

int nNodeType
int nStart
int nLength
int nNodeFlags
MCD_STR strMeta
+


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
CMarkup::NodePos::NodePos (  )  [inline]
+
+
+ +

+ +

+

+ +

+
+ + + + + + + + + +
CMarkup::NodePos::NodePos (int  n  )  [inline]
+
+
+ +

+ +

References nLength, nNodeFlags, nNodeType, and nStart.

+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+ +

Referenced by NodePos().

+ +
+

+ +

+
+ + + + +
int CMarkup::NodePos::nStart
+
+
+ +

+ +

Referenced by NodePos().

+ +
+

+ +

+
+ + + + +
int CMarkup::NodePos::nLength
+
+
+ +

+ +

Referenced by NodePos().

+ +
+

+ +

+ +
+ +

+ +

Referenced by NodePos().

+ +
+

+ +

+
+ + + + +
MCD_STR CMarkup::NodePos::strMeta
+
+
+ +

+ +

+

+


The documentation for this struct was generated from the following file: +
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/structCMarkup_1_1NodeStack-members.html b/doc/html/structCMarkup_1_1NodeStack-members.html new file mode 100644 index 0000000..6ade728 --- /dev/null +++ b/doc/html/structCMarkup_1_1NodeStack-members.html @@ -0,0 +1,43 @@ + + +Neural++: Member List + + + + + +
+

CMarkup::NodeStack Member List

This is the complete list of members for CMarkup::NodeStack, including all inherited members.

+ + + + + + + + + + + + +
Add()CMarkup::NodeStack [inline]
Alloc(int nNewSize)CMarkup::NodeStack [inline, protected]
At(int n)CMarkup::NodeStack [inline]
Copy(NodePos *pNNew)CMarkup::NodeStack [inline, protected]
NodeStack()CMarkup::NodeStack [inline]
nSizeCMarkup::NodeStack [protected]
nTopCMarkup::NodeStack [protected]
pNCMarkup::NodeStack [protected]
Remove()CMarkup::NodeStack [inline]
Top()CMarkup::NodeStack [inline]
TopIndex()CMarkup::NodeStack [inline]
~NodeStack()CMarkup::NodeStack [inline]

+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/structCMarkup_1_1NodeStack.html b/doc/html/structCMarkup_1_1NodeStack.html new file mode 100644 index 0000000..de33c7f --- /dev/null +++ b/doc/html/structCMarkup_1_1NodeStack.html @@ -0,0 +1,316 @@ + + +Neural++: CMarkup::NodeStack Struct Reference + + + + + +
+

CMarkup::NodeStack Struct Reference

#include <Markup.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 NodeStack ()
 ~NodeStack ()
NodePosTop ()
NodePosAt (int n)
void Add ()
void Remove ()
int TopIndex ()

Protected Member Functions

void Alloc (int nNewSize)
void Copy (NodePos *pNNew)

Protected Attributes

NodePospN
int nSize
int nTop
+


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
CMarkup::NodeStack::NodeStack (  )  [inline]
+
+
+ +

+ +

References nSize, nTop, and pN.

+ +
+

+ +

+
+ + + + + + + + +
CMarkup::NodeStack::~NodeStack (  )  [inline]
+
+
+ +

+ +

References pN.

+ +
+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
NodePos& CMarkup::NodeStack::Top (  )  [inline]
+
+
+ +

+ +

References nTop, and pN.

+ +
+

+ +

+
+ + + + + + + + + +
NodePos& CMarkup::NodeStack::At (int  n  )  [inline]
+
+
+ +

+ +

References pN.

+ +
+

+ +

+
+ + + + + + + + +
void CMarkup::NodeStack::Add (  )  [inline]
+
+
+ +

+ +

References Alloc(), nSize, and nTop.

+ +
+

+ +

+
+ + + + + + + + +
void CMarkup::NodeStack::Remove (  )  [inline]
+
+
+ +

+ +

References nTop.

+ +
+

+ +

+
+ + + + + + + + +
int CMarkup::NodeStack::TopIndex (  )  [inline]
+
+
+ +

+ +

References nTop.

+ +
+

+ +

+
+ + + + + + + + + +
void CMarkup::NodeStack::Alloc (int  nNewSize  )  [inline, protected]
+
+
+ +

+ +

References Copy(), and nSize.

+ +

Referenced by Add().

+ +
+

+ +

+
+ + + + + + + + + +
void CMarkup::NodeStack::Copy (NodePos pNNew  )  [inline, protected]
+
+
+ +

+ +

Referenced by Alloc().

+ +
+

+


Member Data Documentation

+ +
+
+ + + + +
NodePos* CMarkup::NodeStack::pN [protected]
+
+
+ +

+ +

Referenced by At(), NodeStack(), Top(), and ~NodeStack().

+ +
+

+ +

+
+ + + + +
int CMarkup::NodeStack::nSize [protected]
+
+
+ +

+ +

Referenced by Add(), Alloc(), and NodeStack().

+ +
+

+ +

+
+ + + + +
int CMarkup::NodeStack::nTop [protected]
+
+
+ +

+ +

Referenced by Add(), NodeStack(), Remove(), Top(), and TopIndex().

+ +
+

+


The documentation for this struct was generated from the following file: +
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/structCMarkup_1_1PosArray-members.html b/doc/html/structCMarkup_1_1PosArray-members.html new file mode 100644 index 0000000..9bc8a5d --- /dev/null +++ b/doc/html/structCMarkup_1_1PosArray-members.html @@ -0,0 +1,44 @@ + + +Neural++: Member List + + + + + +
+

CMarkup::PosArray Member List

This is the complete list of members for CMarkup::PosArray, including all inherited members.

+ + + + + + + + + + + + + +
Clear()CMarkup::PosArray [inline]
GetSize() const CMarkup::PosArray [inline]
nSegsCMarkup::PosArray
nSizeCMarkup::PosArray
operator[](int n) const CMarkup::PosArray [inline]
PA_SEGBITS enum valueCMarkup::PosArray
PA_SEGMASK enum valueCMarkup::PosArray
PosArray()CMarkup::PosArray [inline]
pSegsCMarkup::PosArray
Release()CMarkup::PosArray [inline]
RemoveAll()CMarkup::PosArray [inline]
SegsUsed() const CMarkup::PosArray [inline]
~PosArray()CMarkup::PosArray [inline]

+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/structCMarkup_1_1PosArray.html b/doc/html/structCMarkup_1_1PosArray.html new file mode 100644 index 0000000..eee7692 --- /dev/null +++ b/doc/html/structCMarkup_1_1PosArray.html @@ -0,0 +1,323 @@ + + +Neural++: CMarkup::PosArray Struct Reference + + + + + +
+

CMarkup::PosArray Struct Reference

#include <Markup.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

enum  { PA_SEGBITS = 16, +PA_SEGMASK = 0xffff + }

Public Member Functions

 PosArray ()
 ~PosArray ()
void RemoveAll ()
void Release ()
void Clear ()
int GetSize () const
int SegsUsed () const
ElemPosoperator[] (int n) const

Public Attributes

ElemPos ** pSegs
int nSize
int nSegs
+


Member Enumeration Documentation

+ +
+
+ + + + +
anonymous enum
+
+
+ +

+

Enumerator:
+ + + +
PA_SEGBITS  +
PA_SEGMASK  +
+
+ +
+

+


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
CMarkup::PosArray::PosArray (  )  [inline]
+
+
+ +

+ +

References Clear().

+ +
+

+ +

+
+ + + + + + + + +
CMarkup::PosArray::~PosArray (  )  [inline]
+
+
+ +

+ +

References Release().

+ +
+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
void CMarkup::PosArray::RemoveAll (  )  [inline]
+
+
+ +

+ +

References Clear(), and Release().

+ +
+

+ +

+
+ + + + + + + + +
void CMarkup::PosArray::Release (  )  [inline]
+
+
+ +

+ +

References pSegs, and SegsUsed().

+ +

Referenced by RemoveAll(), and ~PosArray().

+ +
+

+ +

+
+ + + + + + + + +
void CMarkup::PosArray::Clear (  )  [inline]
+
+
+ +

+ +

References nSegs, nSize, and pSegs.

+ +

Referenced by PosArray(), and RemoveAll().

+ +
+

+ +

+
+ + + + + + + + +
int CMarkup::PosArray::GetSize (  )  const [inline]
+
+
+ +

+ +

References nSize.

+ +

Referenced by CMarkup::x_GetFreePos().

+ +
+

+ +

+
+ + + + + + + + +
int CMarkup::PosArray::SegsUsed (  )  const [inline]
+
+
+ +

+ +

References nSize, and PA_SEGBITS.

+ +

Referenced by Release().

+ +
+

+ +

+
+ + + + + + + + + +
ElemPos& CMarkup::PosArray::operator[] (int  n  )  const [inline]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+ +
+ +

+ +

Referenced by Clear(), and Release().

+ +
+

+ +

+
+ + + + +
int CMarkup::PosArray::nSize
+
+
+ +

+ +

Referenced by Clear(), GetSize(), and SegsUsed().

+ +
+

+ +

+
+ + + + +
int CMarkup::PosArray::nSegs
+
+
+ +

+ +

Referenced by Clear().

+ +
+

+


The documentation for this struct was generated from the following file: +
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/structCMarkup_1_1SavedPos-members.html b/doc/html/structCMarkup_1_1SavedPos-members.html new file mode 100644 index 0000000..e1b901c --- /dev/null +++ b/doc/html/structCMarkup_1_1SavedPos-members.html @@ -0,0 +1,39 @@ + + +Neural++: Member List + + + + + +
+

CMarkup::SavedPos Member List

This is the complete list of members for CMarkup::SavedPos, including all inherited members.

+ + + + + + + + +
iPosCMarkup::SavedPos
nSavedPosFlagsCMarkup::SavedPos
SavedPos()CMarkup::SavedPos [inline]
SPM_CHILD enum valueCMarkup::SavedPos
SPM_LAST enum valueCMarkup::SavedPos
SPM_MAIN enum valueCMarkup::SavedPos
SPM_USED enum valueCMarkup::SavedPos
strNameCMarkup::SavedPos

+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/structCMarkup_1_1SavedPos.html b/doc/html/structCMarkup_1_1SavedPos.html new file mode 100644 index 0000000..5e536b6 --- /dev/null +++ b/doc/html/structCMarkup_1_1SavedPos.html @@ -0,0 +1,152 @@ + + +Neural++: CMarkup::SavedPos Struct Reference + + + + + +
+

CMarkup::SavedPos Struct Reference

#include <Markup.h> +

+ +

+List of all members. + + + + + + + + + + + + + + +

Public Types

enum  { SPM_MAIN = 1, +SPM_CHILD = 2, +SPM_USED = 4, +SPM_LAST = 8 + }

Public Member Functions

 SavedPos ()

Public Attributes

MCD_STR strName
int iPos
int nSavedPosFlags
+


Member Enumeration Documentation

+ +
+
+ + + + +
anonymous enum
+
+
+ +

+

Enumerator:
+ + + + + +
SPM_MAIN  +
SPM_CHILD  +
SPM_USED  +
SPM_LAST  +
+
+ +
+

+


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
CMarkup::SavedPos::SavedPos (  )  [inline]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
MCD_STR CMarkup::SavedPos::strName
+
+
+ +

+ +

+

+ +

+
+ + + + +
int CMarkup::SavedPos::iPos
+
+
+ +

+ +

+

+ +

+ +
+ +

+ +

+

+


The documentation for this struct was generated from the following file: +
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/structCMarkup_1_1SavedPosMap-members.html b/doc/html/structCMarkup_1_1SavedPosMap-members.html new file mode 100644 index 0000000..e300f0e --- /dev/null +++ b/doc/html/structCMarkup_1_1SavedPosMap-members.html @@ -0,0 +1,35 @@ + + +Neural++: Member List + + + + + +
+

CMarkup::SavedPosMap Member List

This is the complete list of members for CMarkup::SavedPosMap, including all inherited members.

+ + + + +
nMapSizeCMarkup::SavedPosMap
pTableCMarkup::SavedPosMap
SavedPosMap(int nSize)CMarkup::SavedPosMap [inline]
~SavedPosMap()CMarkup::SavedPosMap [inline]

+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/structCMarkup_1_1SavedPosMap.html b/doc/html/structCMarkup_1_1SavedPosMap.html new file mode 100644 index 0000000..1108591 --- /dev/null +++ b/doc/html/structCMarkup_1_1SavedPosMap.html @@ -0,0 +1,130 @@ + + +Neural++: CMarkup::SavedPosMap Struct Reference + + + + + +
+

CMarkup::SavedPosMap Struct Reference

#include <Markup.h> +

+ +

+List of all members. + + + + + + + + + + + +

Public Member Functions

 SavedPosMap (int nSize)
 ~SavedPosMap ()

Public Attributes

SavedPos ** pTable
int nMapSize
+


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + +
CMarkup::SavedPosMap::SavedPosMap (int  nSize  )  [inline]
+
+
+ +

+ +

References nMapSize, and pTable.

+ +
+

+ +

+
+ + + + + + + + +
CMarkup::SavedPosMap::~SavedPosMap (  )  [inline]
+
+
+ +

+ +

References nMapSize, and pTable.

+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+ +

Referenced by SavedPosMap(), and ~SavedPosMap().

+ +
+

+ +

+ +
+ +

+ +

Referenced by SavedPosMap(), and ~SavedPosMap().

+ +
+

+


The documentation for this struct was generated from the following file: +
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/structCMarkup_1_1SavedPosMapArray-members.html b/doc/html/structCMarkup_1_1SavedPosMapArray-members.html new file mode 100644 index 0000000..9ebe416 --- /dev/null +++ b/doc/html/structCMarkup_1_1SavedPosMapArray-members.html @@ -0,0 +1,35 @@ + + +Neural++: Member List + + + + + +
+

CMarkup::SavedPosMapArray Member List

This is the complete list of members for CMarkup::SavedPosMapArray, including all inherited members.

+ + + + +
pMapsCMarkup::SavedPosMapArray
RemoveAll()CMarkup::SavedPosMapArray [inline]
SavedPosMapArray()CMarkup::SavedPosMapArray [inline]
~SavedPosMapArray()CMarkup::SavedPosMapArray [inline]

+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/structCMarkup_1_1SavedPosMapArray.html b/doc/html/structCMarkup_1_1SavedPosMapArray.html new file mode 100644 index 0000000..bbc4787 --- /dev/null +++ b/doc/html/structCMarkup_1_1SavedPosMapArray.html @@ -0,0 +1,136 @@ + + +Neural++: CMarkup::SavedPosMapArray Struct Reference + + + + + +
+

CMarkup::SavedPosMapArray Struct Reference

#include <Markup.h> +

+ +

+List of all members. + + + + + + + + + + + +

Public Member Functions

 SavedPosMapArray ()
 ~SavedPosMapArray ()
void RemoveAll ()

Public Attributes

SavedPosMap ** pMaps
+


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
CMarkup::SavedPosMapArray::SavedPosMapArray (  )  [inline]
+
+
+ +

+ +

References pMaps.

+ +
+

+ +

+
+ + + + + + + + +
CMarkup::SavedPosMapArray::~SavedPosMapArray (  )  [inline]
+
+
+ +

+ +

References RemoveAll().

+ +
+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
void CMarkup::SavedPosMapArray::RemoveAll (  )  [inline]
+
+
+ +

+ +

References pMaps.

+ +

Referenced by ~SavedPosMapArray().

+ +
+

+


Member Data Documentation

+ +
+ +
+ +

+ +

Referenced by RemoveAll(), and SavedPosMapArray().

+ +
+

+


The documentation for this struct was generated from the following file: +
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/structCMarkup_1_1TokenPos-members.html b/doc/html/structCMarkup_1_1TokenPos-members.html new file mode 100644 index 0000000..3be8d9b --- /dev/null +++ b/doc/html/structCMarkup_1_1TokenPos-members.html @@ -0,0 +1,43 @@ + + +Neural++: Member List + + + + + +
+

CMarkup::TokenPos Member List

This is the complete list of members for CMarkup::TokenPos, including all inherited members.

+ + + + + + + + + + + + +
Clear()CMarkup::TokenPos [inline]
Length() const CMarkup::TokenPos [inline]
Match(MCD_CSTR szName)CMarkup::TokenPos [inline]
nLCMarkup::TokenPos
nNextCMarkup::TokenPos
nPreSpaceLengthCMarkup::TokenPos
nPreSpaceStartCMarkup::TokenPos
nRCMarkup::TokenPos
nTokenFlagsCMarkup::TokenPos
pDocCMarkup::TokenPos
StrNIACmp(MCD_PCSZ p1, MCD_PCSZ p2, int n)CMarkup::TokenPos [inline]
TokenPos(MCD_CSTR sz, int n)CMarkup::TokenPos [inline]

+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/structCMarkup_1_1TokenPos.html b/doc/html/structCMarkup_1_1TokenPos.html new file mode 100644 index 0000000..af79f70 --- /dev/null +++ b/doc/html/structCMarkup_1_1TokenPos.html @@ -0,0 +1,321 @@ + + +Neural++: CMarkup::TokenPos Struct Reference + + + + + +
+

CMarkup::TokenPos Struct Reference

#include <Markup.h> +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 TokenPos (MCD_CSTR sz, int n)
void Clear ()
int Length () const
int StrNIACmp (MCD_PCSZ p1, MCD_PCSZ p2, int n)
bool Match (MCD_CSTR szName)

Public Attributes

int nL
int nR
int nNext
MCD_PCSZ pDoc
int nTokenFlags
int nPreSpaceStart
int nPreSpaceLength
+


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
CMarkup::TokenPos::TokenPos (MCD_CSTR  sz,
int  n 
) [inline]
+
+
+ +

+ +

References Clear(), nTokenFlags, and pDoc.

+ +
+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
void CMarkup::TokenPos::Clear (  )  [inline]
+
+
+ +

+ +

References nL, nNext, and nR.

+ +

Referenced by TokenPos().

+ +
+

+ +

+
+ + + + + + + + +
int CMarkup::TokenPos::Length (  )  const [inline]
+
+
+ +

+ +

References nL, and nR.

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int CMarkup::TokenPos::StrNIACmp (MCD_PCSZ  p1,
MCD_PCSZ  p2,
int  n 
) [inline]
+
+
+ +

+ +

References MCD_CHAR.

+ +

Referenced by Match().

+ +
+

+ +

+
+ + + + + + + + + +
bool CMarkup::TokenPos::Match (MCD_CSTR  szName  )  [inline]
+
+ +

+


Member Data Documentation

+ +
+
+ + + + +
int CMarkup::TokenPos::nL
+
+
+ +

+ +

Referenced by Clear(), Length(), and Match().

+ +
+

+ +

+
+ + + + +
int CMarkup::TokenPos::nR
+
+
+ +

+ +

Referenced by Clear(), Length(), and Match().

+ +
+

+ +

+
+ + + + +
int CMarkup::TokenPos::nNext
+
+
+ +

+ +

Referenced by Clear().

+ +
+

+ +

+
+ + + + +
MCD_PCSZ CMarkup::TokenPos::pDoc
+
+
+ +

+ +

Referenced by Match(), and TokenPos().

+ +
+

+ +

+ +
+ +

+ +

Referenced by Match(), and TokenPos().

+ +
+

+ +

+ +
+ +

+ +

+

+ +

+ +
+ +

+ +

+

+


The documentation for this struct was generated from the following file: +
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/structMCD__CSTR-members.html b/doc/html/structMCD__CSTR-members.html new file mode 100644 index 0000000..df7d5e1 --- /dev/null +++ b/doc/html/structMCD__CSTR-members.html @@ -0,0 +1,36 @@ + + +Neural++: Member List + + + + + +
+

MCD_CSTR Member List

This is the complete list of members for MCD_CSTR, including all inherited members.

+ + + + + +
MCD_CSTR()MCD_CSTR [inline]
MCD_CSTR(MCD_PCSZ p)MCD_CSTR [inline]
MCD_CSTR(const MCD_STR &s)MCD_CSTR [inline]
operator MCD_PCSZ() const MCD_CSTR [inline]
pcszMCD_CSTR

+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/structMCD__CSTR.html b/doc/html/structMCD__CSTR.html new file mode 100644 index 0000000..4c5bf00 --- /dev/null +++ b/doc/html/structMCD__CSTR.html @@ -0,0 +1,155 @@ + + +Neural++: MCD_CSTR Struct Reference + + + + + +
+

MCD_CSTR Struct Reference

#include <Markup.h> +

+ +

+List of all members. + + + + + + + + + + + + + +

Public Member Functions

 MCD_CSTR ()
 MCD_CSTR (MCD_PCSZ p)
 MCD_CSTR (const MCD_STR &s)
 operator MCD_PCSZ () const

Public Attributes

MCD_PCSZ pcsz
+


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
MCD_CSTR::MCD_CSTR (  )  [inline]
+
+
+ +

+ +

References pcsz.

+ +
+

+ +

+
+ + + + + + + + + +
MCD_CSTR::MCD_CSTR (MCD_PCSZ  p  )  [inline]
+
+
+ +

+ +

References pcsz.

+ +
+

+ +

+
+ + + + + + + + + +
MCD_CSTR::MCD_CSTR (const MCD_STR &  s  )  [inline]
+
+
+ +

+ +

References MCD_2PCSZ, and pcsz.

+ +
+

+


Member Function Documentation

+ +
+
+ + + + + + + + +
MCD_CSTR::operator MCD_PCSZ (  )  const [inline]
+
+
+ +

+ +

+

+


Member Data Documentation

+ +
+
+ + + + +
MCD_PCSZ MCD_CSTR::pcsz
+
+
+ +

+ +

Referenced by MCD_CSTR().

+ +
+

+


The documentation for this struct was generated from the following file: +
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/structneuralpp_1_1netrecord-members.html b/doc/html/structneuralpp_1_1netrecord-members.html new file mode 100644 index 0000000..0466724 --- /dev/null +++ b/doc/html/structneuralpp_1_1netrecord-members.html @@ -0,0 +1,37 @@ + + +Neural++: Member List + + + + + +
+

neuralpp::netrecord Member List

This is the complete list of members for neuralpp::netrecord, including all inherited members.

+ + + + + + +
epochsneuralpp::netrecord
exneuralpp::netrecord
hidden_sizeneuralpp::netrecord
input_sizeneuralpp::netrecord
l_rateneuralpp::netrecord
output_sizeneuralpp::netrecord

+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/structneuralpp_1_1netrecord.html b/doc/html/structneuralpp_1_1netrecord.html new file mode 100644 index 0000000..6abec21 --- /dev/null +++ b/doc/html/structneuralpp_1_1netrecord.html @@ -0,0 +1,145 @@ + + +Neural++: neuralpp::netrecord Struct Reference + + + + + +
+

neuralpp::netrecord Struct Reference

#include <neural++.hpp> +

+ +

+List of all members. + + + + + + + + + + + + + + +

Public Attributes

int input_size
int hidden_size
int output_size
int epochs
double l_rate
double ex
+


Member Data Documentation

+ +
+ +
+ +

+ +

+

+ +

+ +
+ +

+ +

+

+ +

+ +
+ +

+ +

+

+ +

+ +
+ +

+ +

+

+ +

+
+ + + + +
double neuralpp::netrecord::l_rate
+
+
+ +

+ +

+

+ +

+
+ + + + +
double neuralpp::netrecord::ex
+
+
+ +

+ +

+

+


The documentation for this struct was generated from the following file: +
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/structneuralpp_1_1neuronrecord-members.html b/doc/html/structneuralpp_1_1neuronrecord-members.html new file mode 100644 index 0000000..7fc84a7 --- /dev/null +++ b/doc/html/structneuralpp_1_1neuronrecord-members.html @@ -0,0 +1,33 @@ + + +Neural++: Member List + + + + + +
+

neuralpp::neuronrecord Member List

This is the complete list of members for neuralpp::neuronrecord, including all inherited members.

+ + +
actvneuralpp::neuronrecord
propneuralpp::neuronrecord

+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/structneuralpp_1_1neuronrecord.html b/doc/html/structneuralpp_1_1neuronrecord.html new file mode 100644 index 0000000..c9c63e3 --- /dev/null +++ b/doc/html/structneuralpp_1_1neuronrecord.html @@ -0,0 +1,77 @@ + + +Neural++: neuralpp::neuronrecord Struct Reference + + + + + +
+

neuralpp::neuronrecord Struct Reference

#include <neural++.hpp> +

+ +

+List of all members. + + + + + + +

Public Attributes

double prop
double actv
+


Member Data Documentation

+ +
+
+ + + + +
double neuralpp::neuronrecord::prop
+
+
+ +

+ +

+

+ +

+
+ + + + +
double neuralpp::neuronrecord::actv
+
+
+ +

+ +

+

+


The documentation for this struct was generated from the following file: +
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/structneuralpp_1_1synrecord-members.html b/doc/html/structneuralpp_1_1synrecord-members.html new file mode 100644 index 0000000..c78398a --- /dev/null +++ b/doc/html/structneuralpp_1_1synrecord-members.html @@ -0,0 +1,33 @@ + + +Neural++: Member List + + + + + +
+

neuralpp::synrecord Member List

This is the complete list of members for neuralpp::synrecord, including all inherited members.

+ + +
dneuralpp::synrecord
wneuralpp::synrecord

+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/structneuralpp_1_1synrecord.html b/doc/html/structneuralpp_1_1synrecord.html new file mode 100644 index 0000000..29940bd --- /dev/null +++ b/doc/html/structneuralpp_1_1synrecord.html @@ -0,0 +1,77 @@ + + +Neural++: neuralpp::synrecord Struct Reference + + + + + +
+

neuralpp::synrecord Struct Reference

#include <neural++.hpp> +

+ +

+List of all members. + + + + + + +

Public Attributes

double w
double d
+


Member Data Documentation

+ +
+
+ + + + +
double neuralpp::synrecord::w
+
+
+ +

+ +

+

+ +

+
+ + + + +
double neuralpp::synrecord::d
+
+
+ +

+ +

+

+


The documentation for this struct was generated from the following file: +
+
Generated on Sun Aug 9 11:11:18 2009 for Neural++ by  + +doxygen 1.5.6
+ + diff --git a/doc/html/tab_b.gif b/doc/html/tab_b.gif new file mode 100644 index 0000000000000000000000000000000000000000..0d623483ffdf5f9f96900108042a7ab0643fe2a3 GIT binary patch literal 35 ncmZ?wbhEHbWMp7uXkcJy*>IeJfk6j|fqX^=1|}vKMh0sDa2W*H literal 0 HcmV?d00001 diff --git a/doc/html/tab_l.gif b/doc/html/tab_l.gif new file mode 100644 index 0000000000000000000000000000000000000000..9b1e6337c9299a700401a2a78a2c6ffced475216 GIT binary patch literal 706 zcmZ?wbhEHbZT`}F1e&(Gg}Y(8=I;HA5#Z$3JI=gGB)FQ#odI(O&E^@q;x zK6mr*m3xOS-#u~t!I@i+u0DKm^U160k6t`|^WpV}&n+8{U%dD9&a>B#U%!9-@yol< zU%&tQ{rk_K|NsC0`}dE5ET99@1@a36+kb~?0UJ*yc&I3X_m z!ND^5$O7$#8OFRuDhG}!?8z?cdZK&!`PWjdR;Aj^wZ` zeK{IEYHBJ)6K8VIp1`BVt++swf6j+=L{p1*nO(VhE`pFexG@5$|>uaCcd z`0m=9m+yak{QmXN#Sc$^{$X9h9&q2jiKAI|&T)a;PPx2K9p`YIdw8HtR5k2Q$2-O2 z*;3y{MQ-RnJTgJfI&R5|O)AHxDf_00XbPvDZPy4t=hHd)nfLPvms&O`Ok(sD()5v$ z5U@&h;a=#xbxVbo2~X&Xj0Ie(f{v>vERH+qC+nTG=B8Nca=wU-O$?1&vUgV~9=!H; zx>3p9Yn%*<>t~sk+&0xfyS8RsPfYBd<~wWK%j-LmpU>O7yX^h#UCp1x-p#i7@bE;py8XI6 zmY<)m>~)W~yIWcMVoiPg{duuf<*)9qZ9l$m*Ph&W&$jlv*Vpa+{pH@n=IQ$L?0$ax ec60Ul|8o2P|NVbd{6P)#weSbE3}s?04AuZvx_~SI literal 0 HcmV?d00001 diff --git a/doc/html/tab_r.gif b/doc/html/tab_r.gif new file mode 100644 index 0000000000000000000000000000000000000000..ce9dd9f533cb5486d6941844f442b59d4a9e9175 GIT binary patch literal 2585 zcmbV}`9Bkk1ILFF--w5zJc=ZZT(zjE=;2|_S)Qm~rCWz1Pc)KPl;jv%A#&v2*x}yc zmf2~Jm~&=xjJY?PqwIN}f8qQ2{r$uH{c*nJbmr{cR5??*egHrs-B=MzCF`3%e{FAW z{oL5xTHn~5TM{jaB;@|_Ue5F&Zb@p(kMyG{*;gWDg zyeL|eZf7Qd8=#bXzSiR{yzRgLSj-fJS8>lBjVHN z^o-0eS=nE6a`W;LChBs=`+QAJP~{b93>H^eRb5kCSC1zUNezun%`L5M?RDzv#%jk7 zYVRX=vATPD`+oEfum^{RM@GjuP?-r=yh0!p;Vx^T9G7~`7%5ydH%70=jyJ;;`d;hv92x3R=z{xp+Lg2!*@OK*K15-t&okoPtSED)h&$RLxdbA zseWm^C3d%-yRNi-ryk^!ek+C`n&~cd$#ZWct_cUL{l~i+Nzx^5d!n94(>bW-iL~Rl z&8r)?q|1DIo=0=judQ{FaGcfLERz8gfn3-Qt<2lksh{mzpT}DXxUuR^z=^key&q4! z+wWI45vL0k$R^(F#{qfqhUsN@WA+w-V?LPH33!Q?WFSB3)WBojE@hK41Nb?KfS+Qo zXgrzfsP$wr4Qzy*{OD>uJBjdgGM@VMml5)2f~_}lD*YyOb}Hjeobhz#4c`w(l^>KK zr?Ud;W~Z}*w;%hZ|2^p^+f06gJDJQD zeIhGADbDmm&6arh(q>EZ<7mjzg7l|z$hRL8=1>)Nv=S7CY$B}iYJ&*T_-T_OG*L1q ztZ3Lana33?y3AKnyq^YCF|4x%Rb5WU&2qcl{TFKey%QJeMxn^SdT!hZ5+0i1zeusiYVp-phBl7b5+Px-X&LhByq z0F&<;K0l2+v>qiHlXb#$jXMv$uK-dEGE9L~qtdU(XeRXmvu*K2Q&6!fD**JxYP4b4BR7FdJ$Qx9G9`J%-_X!a#LGpp3g9)VWytGCa;7`S1_e8F~!R+aSJ zOF17p2`H?2kPs8Q`_;U}+D%3p zs2-0BTqFwpUoBk`?P;iPQ(IbEA|JmMx!P&YYG|R@S=5Mnw;-?A6rEEVyV%d7{iU4a zNk`i!%F(Ykpm`}#oH;BjY->@b8vQedv;pza2FL&*6ufjd+*3Ute&>kes~TU?^KkojsTh(o~(3tk1Y6>4(yn( z#U*ID9@eg-beKo1B;HXe+}{Z%n@7m0+yxivuqk9~;!1LGQlah)xYK4>wgL}l6dsaN zIxlRlq`*`j9PG4*0hD6YV_b_2w5b#)o7J?`q#{GjvvKlD`T*dWcZx<-s(ZvLB44E# z=!|sw!?)@%y$oRNL#25WS3lzdii}TuQ3?CLnvQ1_n};2sT_;Y;#d3=+-(O% zMN$>O!3;ke(UuLR%h_&)N zs^!-@A>QR}4yB1bPp`9S19ikTbZ~O{&FF-yHK{En;mmShDUIEw03`j(DBIsM}Rjki2J#SQa3gFZTKBPDeIiLt9Z z%bL3(B@Qw%(B`wSMS~dPh$=R`(}lBoFXKy(s|*{#ru$wjsBc_O#zxNk9w+UUHmx(U zmJ8+M+ndtnZ<7|VU9Mbt61zpo9T&3%Wx&XII=#QJxjR`CZf22ac3d51Z?GD%LEe_&*t46Qf;4`bZ7p2K(Ab5>GfT^}4! zBT&HZD`^PEgWoI&{~o-ID0F?O`75sm(87x%A{(}Ch1)QlzdJ)1B-eqe5a(weg0`4lQIf1evjvbBY50DVbzO7CLf|vP z2#0(U-|jZ`H{y5N^o7%iK6H>_HEGN->U6^!)1{XpJV!!4(Ig7wzZQ*9WYF4X1rG0x z=1uA@i`rIAciubDC{;~b(|&|A@xkjRP5aRcvRU9tvIm}jDB6J eQ0-6-y)mpwdT=ayS0tBxKDA*~;EWmo literal 0 HcmV?d00001 diff --git a/doc/html/tabs.css b/doc/html/tabs.css new file mode 100644 index 0000000..95f00a9 --- /dev/null +++ b/doc/html/tabs.css @@ -0,0 +1,102 @@ +/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */ + +DIV.tabs +{ + float : left; + width : 100%; + background : url("tab_b.gif") repeat-x bottom; + margin-bottom : 4px; +} + +DIV.tabs UL +{ + margin : 0px; + padding-left : 10px; + list-style : none; +} + +DIV.tabs LI, DIV.tabs FORM +{ + display : inline; + margin : 0px; + padding : 0px; +} + +DIV.tabs FORM +{ + float : right; +} + +DIV.tabs A +{ + float : left; + background : url("tab_r.gif") no-repeat right top; + border-bottom : 1px solid #84B0C7; + font-size : x-small; + font-weight : bold; + text-decoration : none; +} + +DIV.tabs A:hover +{ + background-position: 100% -150px; +} + +DIV.tabs A:link, DIV.tabs A:visited, +DIV.tabs A:active, DIV.tabs A:hover +{ + color: #1A419D; +} + +DIV.tabs SPAN +{ + float : left; + display : block; + background : url("tab_l.gif") no-repeat left top; + padding : 5px 9px; + white-space : nowrap; +} + +DIV.tabs INPUT +{ + float : right; + display : inline; + font-size : 1em; +} + +DIV.tabs TD +{ + font-size : x-small; + font-weight : bold; + text-decoration : none; +} + + + +/* Commented Backslash Hack hides rule from IE5-Mac \*/ +DIV.tabs SPAN {float : none;} +/* End IE5-Mac hack */ + +DIV.tabs A:hover SPAN +{ + background-position: 0% -150px; +} + +DIV.tabs LI.current A +{ + background-position: 100% -150px; + border-width : 0px; +} + +DIV.tabs LI.current SPAN +{ + background-position: 0% -150px; + padding-bottom : 6px; +} + +DIV.navpath +{ + background : none; + border : none; + border-bottom : 1px solid #84B0C7; +} diff --git a/doc/latex/FreeSans.ttf b/doc/latex/FreeSans.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b550b90ba5480f9a3db170a19a1f86daecb0dc92 GIT binary patch literal 22932 zcmch<30zc1x;I>P&gpLU9hya?u|*_+EG-})AgCw^ilB%H2ndMCj)=PW8F@!M0F~%6jF`4liCvhA{>C@l8PB(E$?)%OC?)&@Dhf`gr>e=h5 zrP}i;dQn5qAq<^RXeNL*mL<)$E#1TR2Nu|0`XuzRF`FgqzZ;4DJ+XiWR^-sJl z;B3&uR3>ojM?j4y;Mbp|g0XpI6fx(%kr#*sj1zkHRgRpx`7hQ4%_ZKMB=jiogi0WC zy`)H}B(8uliUA~CmP(3fJ;~(`kD6e011GJXn%_VaAYt%5>%31MgvJKXsH4FWEV&-pabRO!fkR~9!k>jxefiUfN!Y{ za2=2zA}y%jf%g;9_G9UJft*A+7yZ2P?l8&`ibmp#Cj%GMhXT(E4m{)O$DbzYLZz-7 zviJgLDxeHBqVNm?B%_T7p5cHddV$o_3%cugUxV@*&~IY(fOtR|AP9IG@je#)m=5bu zwgVq#c&Y(jfGDn=q;YoS3ZCJRzXffX{-2;d(>p-;Es1E(63II0K4h!l!W@F+}~llN^(j53t4IacYHn%y)d2r z2H+b?@Sclz$Daq_yz(3jKpQWBWCv!0=K*}3#pejTKl}o~7P1ubG3>!)WqSV&!2e>I zzVMFm{VRZWzrV7l9PgO^`|ZHW&w%;ZZOMjpsDB2`7Uhzyz4W8`*MY+dh&>VvFpSuh z_{5^X01TW$JROJ?YUC)H5eu@6=x6|UfxFE8nfnHji~X>A71<-z|G`jCb&qua)cr+w zR<}VbYM*NVOMB0NU+VJWFAD6m89|DWJ*PRc_e_6Od3E`c+WFOU%3CmsWpag)v5Bdf zxrL>bwT-Qvy@S%x$=PLq>p(Y^`ylmTk0G8zyxMPl&PuH(x#`+$jHo^nVpkM>Q}%1#>Q>C5A1*Qt%I#? z?Qg$x_{h8O9X;0Z!G|9m|MbMkQ=}@tpolEoS5ZuA=8}f(WF8@fEQS+OvXmV9d+2u8wQw&T@a|9r#)NtNcm9On60DDSRdTRmRJdGH+Rw zY^mHz?jtXex5>NZ_Y|BWNl~bnuh^#eKyg9wz2b?{IHO9VPGckEX~spyO~(6-&lrDa z{4Wy=6P1adNwmonlN^(BlP*(J(@4{WrXQPrV>aAuhFO`}db7i3C(NFjyPHonf5ZHO z`E3h7i>VfiE!JAJSzNNXXUSWRwoI~YvOH~h(eg_xTdOLolU6@iJ+-c}Zm{8PGHe#u zthU)?tF#?#JJoic?R&P5?c{bN?9%ND?Y7yyXZJUIg?)tmM*Dv|@D7#^E)Jd!8iy!{ z2@aJG-#Gl>@K8yVW=copV5Pruq_SMOM7dhIQMpIit~{>1<~YnT%rVw6*)hwp$Z?b7 zO~=1G{>zDXvUGBB@^m`nEOWMYc6Ii04ssslJi$5DImh_}=QGY%oUb|GasG$1) zfFO+o8s6O&$lUo`aVM{h>isEc$3!t{`^2k1j{5d-{Em1^#?KO?DUmgcWoyLkYs4ga zguxn`zlN?C%jkOTU&QS!HjEKP!9(sv{KyCb5viR*u7E^?J%>b4jf0Z?vmWA!e?h}T zfLYQf`3(cT5(y@KI;O>Ks4x3zma(#(9r zAE(S)aD7hvK5qKRsjq)KQmMUiNMm!-VZ*19j?p7G)24sVi#6@;w)r$?mAWQisY>8E zUyY}capBp=h29orWmZjj>+0eH1(EZN+Z#o*={@Bl-{6CzjkM0nhTze2LN&h7ak#Em zeiPcZCmzI$M3G65ClFjRndIt0U~af1MX+*^o@q^>o@oyaRsUx#>DKl6`FwVEy{SoK zLB1k4d$oyiR-|Tp_{5AT&G<0x-}QaH_59`L{5&paW}T_o8~OQ0InNqpMrqKQlCjhVJs4Ai z6`4Z#kK;YpzH@P2VO;E|O9oiv7i`>-l`*5T0d6T1=T?_`?um1qv$*u|+RTj79jV^_t1@TiPhYt(B{o?+T3BUlWOVF(BO~!L zUzI+}J0v}DP=a@8SfGz~4Bb{dEjXq;F>VHPd6LU_P_;B_3}YtuOi1zw!#KhF&EiCE z3Pzzd8f!RSZf|Alpi~dxhXh&K2GiRW-N9Dx4;xW&GA*QGvaCmZTdbK^A+>q;TDmNI`V;Y^KYT29iJzSWmSn!3I|(cnj2lIWQlV6MDm+6xLzHxUt?8eK+*mhf zd2K=C4bN+`o;!&PB0J(wor>>>T#$&q1-g4eEPt6r2Wszbt+sX#a<|r43$bF_Ix&s5 zuH)3}#Od^{b+lDXL;Is*H*Fw2tbK^a-b#&mFgSv$kM{N^I5{ltc_coZ$oqKac`)g+ z=shl$TMj>AxP!P@(UDu;+|00`rXE=E#)Cz#`X2lcs(Ya8%m4uPlf1QF6(*1 zAu6Tmx&#Z@#F986l395KYg9~67*{HO2vu2Ixd$=@rqRL4`E+T5O;_Htx*Ftz>db=EVwkdv_=$BshxdU0lV> z6$O^G>xi~DB|P#iPgGa}*rL|>hQV}irE2~+1r z$}HXwo=D4+?3?npe>-VJ&DerJEvcf8$#efU!nP(h{}(%s+s1nbu52DPn9VfEB?T`@ zf98?~sm2;Jhqc;?Qf`-aJGZf}xA&MBN;6LJ>-&=Ti3h02E!NgSrty%;1wDtLpS?RD z9P%t={zeu_W?TNM_CVN@^;ch8LF-=o+`>|0-IfT~oSb>hhDB(c!Lsyo15380|q!qmoxK;%s_hp-Ca>R%s^% zFiEo>hJe+t+%&43v-)CXqWv+|d~eNXll|%ZuTL#mCM;ci#@a@V8N$;C%~Qu_rqtA? zB$UN+n>o#!k&QE(w)5$fY;4_w1TXQ;jU&~kQ`ao}XWvh<_N}5u9QpAjx`?VMPct#Nc#>ey=>XzG zMxwty1`pEDK_OCX?)Muxb0ju{_RGY-{Mr4U1k)GN;xd~-&OpeZW{lFc9^RiVUCJ$81ar_`qfABn6)6)+#}zb9jmu2o?rOg{IO>g= z>$U{g!W=6d<;zxGlFT8}8T3SM+KTs6f^t)qY|6s+3rB82j~zk)w2M5A#VslG>R_>} zr-#o#1VbCd$Kz5POJ+575K^aKqa;1v!}aziIyx*C0(yG-4!jU8Gj#W*NGyjR22p!s zYM;UXt?wG|NjEpr)_r1!cw{f*qJZ2MV!3WT7c8za5MujO{C9mSuDhv8+_P>Syr%&8 zk`UQ}kJ{59V=Qfx`W$%AzH6MiQB2!Q<7v`9;M)Z+vyt6LB*U(UlzlbTFv|n^NZ)X#|rN%sLlfdziY7pZ-lvj=15tkhg8ofXPW=!-i*< zFDSE5OCPNnu{e6zzNndWNs`^Gg-@?a+KLr#D0YDMWRefs8cd`HH#DSj`avkwO75w| z7(^0DV|kXF|Ph7JgTkVwrs0<;EZ6; z;<6nox61J&U?I#gvQW&53jN%~tJ&OW%JG-Ar*~fF>>hDuJ)i&e5j`VDVXE}zvbk0* zw&QrR50>piKPzPNEVi=A0V@mW3>sspGiC%KEY=?)isS3mP*XU|(rH?rw8qOVoo*$B%zk!B@MbUjr?9I>m9Ze|s zcG<%9wcYm$f*sF|*4_}C-kWbsxodsrsp~Lfar?+|e~of^=S}ghc}buKD6c(hIJ2jky+_k+jMBE9hyQ~O)&;!fh-ua)QaU}YRR+V`A9Gg zYJ6^z;_awY+G;vfp}4TJ)|iT+T-idulTQb!#eaQx%*QOJk@_cR(xA3V)!D(DiW=`U zHOsg=U3>m1U%c>yg}K*TeSf*ot>oW+iz+9k{OvS#in2aBzoRWVZ0A1lC+z4@(gt06 z8YE{aBGd^`3x!&8@+41Aozjb>P+IX7zB`WYvt?S|oQM5+{ zWj+T)%q_7r!rFk1etP~bADfe_%MSmkV)|#VzEZI#X13t+bkCnEGgi#ryCVBSunn-l zvt?rp97zmOjWN8* z&E>xD%LaShup8qKdqHv~ikNfV)soeWDU+E$c~ML|Mvdsl^e8p{K)C(X6}|4s?4EdI zSBw&DwqR$3`5Tj&b<|L6nRjnr-?7hmb0)v=@l&L>Ps4@t%s(;L$sWMo4w#<_wIVEU zlkAJg#)b*jv(o&=))p+r>D?j7%5#Y9f%sM5Bh}mxA>h{5Nva#ovOx7pi$iyd`v$&E_Q}+p)I?`f7#fI4-V}$ zrCYZ4IXTmTZ|`TEeGDBvkTjqKXZn}{=LJWUMGBTis@;VL%PNnG-lw=ZR9Q8;uYoqc z7eBNnwm_^B+&Zg^wDq!{_vVNN6_L}nj~=R*w_cLhk!YYPh3D^xi(H;6gRLQ=KKXh< zbWhoh?B4hOWRQ9n6(F_SXP>-c+AW^w*tfR+8!PL-NYXdlG&ip z#M|Q&#l1gJqs<-Em0Gs$HKW^ii;s|}-9NO~m<9;Ka>#!Y{FOm|R|3Wr=zB0IUewSl*Msf2TVvKo zG}MNMsr|Ay)}0Ns*DjUybfhnTJJ+8My5w!46;}nqmk>3D$M6kgq#i20#yvd-TVwk} zn(z9PQ#M+ZGQ<4m&gMmF0C6YipmBC@`bCP3;`LpPKhS`+v*-uhn^P7Z%@{QyWFDRW zW&EJrE#iCPUv@O}AIvLW*yg}o?_QxF(w&#l$4YpBR=zlwVOEpIEsF)LA^yuAc8RUx(JryJhdR*-SLhUK z+ap|l8ibx>gcA((y=4LDjo6O9(tnANJ7@KGu~00y%UOxmcj zZ3h>R-Y(!U9=%zxWbsbw>U2tb=I^wFw*7^RXYKekS}&XlQE8pTcJNrFu%`$@L5T6f z!M+uI?b9Z{w(lcZPy5s5t*t^`D_XC>4go=HrfsaIG>BOo>FyR+$aSur(JE_h_ER9U{}ANgT`rL1jxPV9)S zJ4Tii4C5YBe^1%r;iI(;<4riB)+TGf;Fb0=tQC(W1iQ-3tb85RzLkT_%H4gnm6@Xx zPCF@;E&(OwUbZZHl|ceO=+KT}scWmTW~nDKVQKe)?dsX9UtWupwH0uo`!_!kf7sjHE|)j(M{3KCT(3-CP;ul&RVuSd z6lTgUXpL=1JwN0%fwmfhwyZH(Fh2P6?T#yaLf%XaSrk`v-Mig(|C}w~)-GN1TGuZn z5!|Ii{#M(H-+C}7l5!8`j@`Kphb(q`H@%s`Bntu+%#wP^;JraFp;lVIEE)f3Yi?a& z#P`dp>X%;ns#Flf?&fI|=cX)aN{K5?WHVjkT6god?Nmlhb~Lrf<(#+n`qGM{Usk0r zEqnL-$|O)thCW>&n?A<6BZe8~xPHl4g3lyFCglF>Mxo%+_aiq{VKix-wau5~+CBG| zY`nK(L1W#u^DAOKy!-x(OXt$3F4~kDNpG$kZ*I2Og6r+hi9Wcck6Q2Eyd);GDotjz zI%C?rsn9M`I?hUVU5Za^mjaS&*t!8k?csK=l(Rb8*3?uPmgE=UX;&iztm#YV53cEG z89C6Tkt;!r<4Cv|!~X~=ULj$K0L%~c3lrpS;2dKO8K*wC`E@@=^5YlQ*O>0;qxOXj zX7tqsr;LryE#vu}W78iDdF7Y#D3imE`vwg?8SRr-73i`pY1D$aqV0)cua5DnUH{nL zfhzWIHF{5wZSPwy-mX95AT%VDZWthcE$!Wq#=(~St%j2JhsDv2bKa!Jg(1wNny@Ii z4O_E$-7vW9S)%f*J6o&y(1m_M>yu*I+OlRxPCYq2yp6lN&fm5=XQTEAoc7WpwS9T~ z+&;F_tp^qju<1`N*lJjceeLasWIesTV#d>}SOybLcU_F3Z1utu3?;U9{59nZa*%c$ zXlPs8=R>iRtCnXDu+evZ^57$tT)v(g=7x|#Ne$*40XU@Go5fc(RWNGq^ujmd8rsn< zZa#>Z+P8^zijCSBF7|+!h34qF2ERfi>iXCmf>79>i$WiAC&_+nm)9_+mHlHI_@7hK zvtrY(%*x=gJEu51WaWlU`YLu{d#-m_aeQohg+~B;2mxDG46@D|IJ81#yJ=Kv-*xWx z+CXLM``E@;?B`A>!vf;& zq7m+rU0{oNj3+zbvXr6)Ti~&MQFtU9M=zf>aK6-Nd3MY4KmNOR?w%!=cBe$wB$V$= z8NDoCNIJXef%xs#rN=fsqJG;J?0UWA?fWIMtBMb4i=&vwmx(cgALv*UcW{l_C>XSu zn@c-2zX=s(I~UR8OXsa#(s`&-sifZe2)KUQq>{;EjO?d!>!w;mU@AR)yDEwKOC!WwFKLoUM-s3{ziV*ok4#K& z-<3DhH%R#kzk`pP`nk4S2>5KDx1Ah4V-ZQ)(Ua{X4y2N2!;*ef+G{gJv*+Wu8_O+O z7Ab9MJh5E1usOzK(x9L{UyUE}YS}w|89wxwY`=q3QJZ!*Tosh(xg$3 zNca4#8^od>h9hTm#Ldn-ctBG4t|6xD*S8_sY2C+Kn;NgPnBzK__g+Ii#cNDEb&&Bo zhBbWF{nx4D`K-=b!(ZQ)T@gL?qYTMun-NMj*AI0lo>0n%YmMNt^K&+G*$fxf<@{~n zdY0F5<3ADW&rmn&cUlPOYvEaDfqYH|e)M@A%S$va(tn}s?6s?>#fzU_ztZ((&lx_x z4?A;xpYo#_pda>3_)F;bQbxz6(yC7Jq4?8hbg{VYEafP78uL>R-67_2YR*DjOxcdK z7d#K9)t~QB=5_j56-ALA@h-L&TzJ?TNE*srXC#mie;m1bj0g4_5DaBuvoPtPaLn0l*n+@R~9dp_2{$1 zaB$|N=L{L7v}$KZvCOdHM7^D*8>Tvf|XWNDL&Q11$$AB33oDD(FnnB|- z-3M0qj}j-=4RMX7RbQo8nvVW(&`?^%7+X3rMQnR(q?cu*-I&NavF%u-Gx%!ZJOnGg zR*Gy)D{3h~WArdiq)h`B7Nl`TtFkO;v043~p`k$!LVYLO$cv{3#Z8)aap+JP_jr>` z{Imk=CNKuwMrQ^+%h4!ZzpG$x$yakm_ZK;0alho#vKp>PP52Yq%#rh zWO6c4+9kz|$ubpoPTfE0>kp=-y)E8ajPY=5H&EVg zIoGH0u1fZ5IDfS76Z@aOu1HdJUb1U%{*F5DS!{c}!}?HaO>>xI-&sD&TfFHL_|qJ= zDa0~0f!QY-AM9B0z|uj#^(kda(1x-<+ZY1(@nkMC+!F)b5PS(4f{vOeF8^YN1N3H2?d5u+1QD%OMz9^Srqkqy6h{y7?+ zGa4FfpjOD13Smb-NTBd!qY9^#{YTfG^pYKy|0e0YRa2b2xHNfAW$s9M6y?gQ zDyEmzBrlv-9>|A_Cv&5N<0DhDVnQcG(7Mv%2+f@8yyQ}2qly_kS5aIZ6k1$UKCN)} zOu9WTV)D#U!Q&z(@ zQE6fVPV#!lSb}A>Odpn|RM!)Cjr5lt`kzulDQ(H?mqgF6{QD;n78`73dZV**cxf*! zVT0?Sl3@2K=9c3A^(xbfS4Jk9@P%`C%4O}drnOJ;kI5dc4p*wF_qt*3H&d@nU6mA(d**ZEi@KChX_RjhGt!Sx2$YoX?t&~qviU+iGzo)j18U~J7;r{k^Bx7 zzBo0>XZMC57S}z#aw0ik$J+0f)qnf$fl#N_%TA|d-hJ<2h{Kv!&!=(AUyo~BvGU9B zS1mjjG^Sy&^@5By_T{CXa8vUYJJ#M@wn}`|bvnUo+Z)$ctdVf~E^l0MIW6<%`)`gM z(6s96lC0rY1=CPN-PVBJ4_UK<6_Y2QN(r-gy3@h}J5Ybi>=*gmy zWOFG#b4}VyT(W9Vl2Xp+SJsBOPKa-xWF?>CI55T4#(1IZZ7=_S`y0RGQ8Y{CI?>vG zMyMxTx$x`^vk?|HY190o=KA}Y%U#XvT*g?-Je@R02OFIcH~2rXvb1n<_D!%7f<1g- z$xGxKe*lqLPH^ID3vLxk`w;!(5)HX_t%UueT^&!_@bg&zU}G+s91+s7IgDLcTWPo@ z3r0|0{*+abFL=RGhlJi!IrbwL~WQlIW#K)cgv5(veDQ=7&sF|FQJlD}!tmB({>>bmC z1~^Z*cPVf(p=bXmj)MIonHg6k+W|k3e1t2~UX|^@i62LUcq@LNY$@)648%J&C9~|3 ztxJdhb`enW>WuWP8MRB&XK)|ZP9HgJOz@bQVLoGnWJ_nvSiW+`^z`gyuYOQHHh3)F zjSCu=9_kB=7wCQzVue0rRnqCEAyy*1F>if#XN0!mG;&H4yFb#z?u}?Yq!UR`+y>c! zSc|nci|+>i)wB7#S0`x6nt=*_xzUATVVkFpYBRT}o$hXBN_({Hje>?Zaa_&9(SEY1 zx&dC|Fw+@hW^JFTP{jBJJA2IEJTW1W(x~X1iM~t~xXJ6qHG{Ihp0d5#Mn4;}bFh9T z1@#{^vmI{4*&vqaph(k~xti9>A37-Ciub8rUy`!)V%*^6ikw0IOJA{$a&&W>v(0;8 z;viX6raG9KI&k?Tr!EK%*wHv4tUh|i8kK44Am7PeR&t?mh|9?IL6+d=gm8i@H0+jP zw~f}`6|XL4yJdJ+Cq@YA$Qf1agjsJq_FI}m`sWC?fM(%LNFNi>dPpFJ>OL9`B!Gf;9-kpn`v# zNmq4lby=&MiX+u4T32v3rdyYPaAwU)M`6Xk$H-6odkkhdCcuYoY-73XaTedP_-unFbU>iTbStYN~-l687j8!j;&3iA->$TBY zg+7j{9s&8j&NI|3TJkP?Cs$of(`=Zs=-a72a|^?g_k}s-g{8EOVE0N`Y~0Zw8>zi4 zD8w^JrhjmPc>cx>9L=1=?}nG6qd=D84&h}_H48=$dx`B;ka8F1Ae9Tz%%~-U&k`LX8Dr({(w!%Oi{F0sWTX~WTG>vY>Y6Nleh5GZf`giNk zVaxyb+FzsvwDv_jig4hcOY`W87waXuozLjPgOM34S`Z~Hr8wb^TL&yTHh>et7JpLv z=Xby4@`NW^Bd$y9$Gi3o{-bz@c8E9(VQ1ht4Ck`AtJ(mJ*j!Yyn*g!;b6*_!<9g3a z!64+NV1d}g{`DVuzjSkem)|Ui8gMR34Dj-Hmf}W!R+8?i<{Q zaXuyT;fd>`_73q$I1&cE5Qnz%<%eM2ps4dFu zrUc?PGkQm3BNs!R_U%8iSNuhL@)XUbAvs<@r`3qNXcpJez-_+JDIO4;FLiJo+MlUv zQ5)Se-&?e4VEh`+#v#W=x>fQ>?2)0~a0V{v@3JHZ&W2y8KTq}YyPNF z|6F^6Uav}WqaMC^mc;URF?X@qLupJE#?;f8hETpXPwb(-1!A|@Q$T&io;>Q!7Zr#- zVz=R=FZIq7dl5GyaJu)h4L+ivNU4zu~=eLrmZ=KJ-{rqr|J zI`yKFUv_$%9{en>^F#3;-ag`IUtaJwJ>E{&@H19y-z7e_vH6P2?c2MhWfzs(+Ww8{ z(r^wd>3FN8Gu+dBq5eE=wa& zL=OvgTbHu*#a_B4%QDjEGIP4{)G6BbU~zWMybnZg+IV=}kebmsVijE>;%NNQx{CKc zT~OUx8JW6kvbvm|YX%~{M{4KmiMQrfRh3x_1zP?oLZ+tH>(w#4AAD~(m@k;&3?5FpHn9oXb zmt{AfEZ~gY7G-6MrxwRpZj=An%l{`&W2Q;N=_b=KxhL%+jg>U~to}T?rxT&!m+Q}w zJHOlhBDt%({bGCBPT-$Q@ZGf+>xCrLcaj_Zc;K7ZhnAnkKJ-YENZ3Il*2P#8_8+YI zv0d%{%9{=xZqi!m zX}NGrR@H5>zHEfAjQ`wK>EJl5bdHab6ZU1qSF+Q+C^23-JB>ty8_aIy8zg#u|Gobl z_5VBx(JSK5(>?Vksiyi<)``J5W&N{HyV;t`w_RKZ)VP}A zZ&Y6^7yiI`0`m|u_Y(6()M6%)&YxsI<8&OGYPNc9v$0@U)d0t39zHQnUAJ%**{<3riy@R8w>V!(^ zsEV_qnd>IG#7{A{%t%W14&{Y(*KjMRjD#uGMNh?3;(HsiJJ)j!IKcW_X`KE53;Jaz zpg41belL>y(ilsYG+;PClk|R5(qqa?_2J4pqw8@=2NTrB3iaizBn&!5>hx_IKDJ1c}^d@Hd=^v3wc z3RWNMn6iKM^blS@*#r$YW@|htO49W@VnY$Hq#qd>PBRQ;IkBSe7|Q14 z4SLZ~wjkrVorbb4N#o5B_w+v+e6vh8IysLs`I;r({D}Mx5ye zLs?FY=qW?l9N)uEHIyyLVD7G=Y)gD_N{4Us3dSJKO-7S4Qcf0< zV%#<_z&C7FIIH!?zd+o<>@RDcD+i%A7GI&w$3GQDc$w6zhU7?f>|GhDCZ!|~HS@?E zd@3cw2pL^gzOXpIV4f<_-#^fY{nkjogH*AV`T44pvVwUvIhFaU*s|)1vrSoFTDre`b0*3jk!VFx3G|GX&z5%|FfHiwg6VLIe(leO~4l2R7 zUJEMB1j(qGkI(&ej4Q@r2smKxRrmuI`IS`=UxjaM&7Z?cVPGL7STz{$`pNx{LZ-mK znMJCBn?0FbRM17CL`{WHdfliDpJ#(J#_>F~&O^&8^voqi_%sW3tY;a1k0TSYqs*T9 zXv?I@fv2cQlGM5wxMtx~g7jo97;PACN@2dLx+-5)R-l?!IHyWg0Bx%9oL!kyIxjy@ zRaKo^ls{{pYF?RY+{CG>arveBl{v+#r0U$_IkQv=b7tk2R^({@ zuz$l~*iw)mW-ziJSa{Ke{m`NuYz~w9m!L!n=glh*^Yg2zsTnrAw0al}>o?2bk$$tw zi-#4?D?zJ%9aaE6lWZnzS+r1fXAPPy zsceqqqPY@JiwykdKr+T-71WzAIpSQ%QHZz9?U+JKNDeh;($i&7E^}cf8`Q>rIQ>Js z4Aj5(a|x9crve;epn$U$IdTjm+(j@!reTIiX@Q*`E8K9f!TydN?!h@Aqj1D(%^9oO z0oV~3i2Yj?PT&S%XKFC^qK4q)dnon{UP0F3gZMEFZt9N_9f;NTa1w-39fEIghr)rw zvG#}{k=Uafh12R7#N9Di`@~{ojYobOPbOd#C1SKq!q}ROIFSNxoQk!|G?Io)Af3!0 z86*?mew#_MA#^+0PgasT@+sL&ejuyJTHNW{Ne+<%lqau~Ka&-tnfy$C!Ofj5WHs{9 zZ^=LKou)SOPx6pF!Z!up!Cq`9X2D!2ZynTn87jO;{y?r`=Dk8bCqF`e-Q){=|MOia z`2kr^{zSgQcT)?=-^qXByZJ?MsktykG1R{YMyY_gSfs0l$>w9U{0-xTje*5vDOrL& zp}qL43d_i=q!z2e`?yWtOTMN8l_3MVCdVJ(DKFHRRACAzL@B>iQC&L6KX7!k;fXy> zW;J9PoHWCl;nN@hvmpT|6r9XOxmbFS+X@CRpeUI@GdqaUnAn6VBrvD4q?C-z%`crz zV)OFn=a8h?)kT#geRg$aHOVW?&#fe-#X0jz!8^mkvN)uo{})P(6FO^FNjbX>Ey=+0 z4hsPLWF^(GZ_je@J7>r?NRrG)ddo>(Az{F0rUB+9?63GR&e&706;_f%_w32O!^~t~ z2a7*1d!!`$cuDqTN%jm$_5w-va!K|@ze?OstOsSm5CN7EYOz7m#(2^~hvRy~ z0s3byiF=LP$o-Yi;1Ba(3)r$3K9{{A`%Io8zprpqv?-1${-F3;@x7wYD8?wmsKBV) z=&;c-qYFmg8HxDYA2!CPjsIX`gunW+z~oz#$ELZa>&!Saf3qyJFU(`j6U@`i%gvYJ z?|d9IZ#O?`{)PFU%pY6GE$l1?S@>H-S|nJcTNGN%w^%}kK&r!lM!;ggkAM#FZ9=Sd zPoOgs;)&1Ry5mHnJAqp=C!wnt5~@1}*$W{1R_H5;jMY7cZjHz|=xV&~0g2PyBolP^ zNQ&+bnTpS8_&i;Am!#{?kQurjlBxTclw05vkz$d0jCDMtij(r-!ZzShj*zH}rA>y0}UbL3<*2NCB6r(B*X0uRyz%fI7e`Ks{hJU>o`!!27oV zt$;(|q8&Io(Dx(2Cjc{0c?doag3lK4*$EzNf$x!1xdt9|Ge;NcjZb$Mo<_ z?lZ&=oF4$!dtl+MurT9z7YWfF#XRE$&VK~wC&BS~aC;3FtA(a^fxBJc>_>3+BRKmR zT%8A3=gBFwfiA?GfUCfK4bTqkIFP^$=ZUg6w57o_1T9DC@HZ`>hcG;tk8R-Z0Ql>I z7wiL%^}uu-n2rO}abP+^>_NMeSc%MA4-*?aJ#^Wyel}=#LVstVzf0(qjb7R4m5p9W zpxp`DouJ(b+E-!SGtlED=sc6Vlv*?(Tr6F6iwB_&Nfw+zOhr zK`ik=^qGvvl?<4IIWHB@m8h!&tOC>nRs)!&S)9yZvI1IxAs+G`1(tX+5b@s);Grvn zysZX5KMYynL&);R!f)bqYam|>p#DAhH9qZV+~0*+e1(epD~BRJ{>N4?;v7aaA1 zqh4@y2OND2j;_FytPxE-5h*mVeGq&=@1q@{bOKbag31c?Iw0|G2HsuKV+wdjUJMJl z=@P(uI50GT_Xc2T1n=$8rXMgRfOllM&{`sFmV)s#1@ccvj82EGN_7Hw4+rnz;5{6? zheMm;&}KNa=?mT)!8@{9z*fLEz;^UM1p1%o(vUZ#gU3v0NCv%j!5bf=rU%}42ep@x zPo-mA&VZk0Vk~jUwK-(k$iUG0I!4PqyuXF__elo4EEBPg&0}}L_kHkv3;DS(blxZ7 zO#+q_^hiUVe*o{_0<;1S!AsiFwgc}z0(^oxoNu7^S;P_%vE+zYa(o9whqjrZ&SCWa z49rik_OOP&#)3{9c%Oi1kOEGo;mve#e*pDw0a^iv5cAs6rUUOk0-S>VDX=|4{S;U- z9dgeAR)(L+cpEgrfAdCxH$8Y0WYEBM^toryKsWeGgBCNv1&39N6;>feuq(1~^m+hz z2oI^LxSl<{y zlcB&aV3iY&bxsskI$l`o1YoseL-qq7i~4T@p4Vd=wEH&jw*%e*d;pvsfDZv50X_jR zPP?U8Xo->t9y`HfC%p0j_+yY`T!D_dG?*^=PAG}`&-s|A~I`(L<1OIj4zYb5i4c>bs3%-Nr2WZ~` z_z3U`zzI}Zpji=ATEKNbm0O_lGpO8!MjwL8eNcG>Dz`x87O30;mFH)SA3;SwYrKQ! z2Wa0vdob-V-@E~gUBK80Y*%29Uhve3HHek20`ysCQ~~;zAmt^r?nditXnhs*Z;&Kd zH3dDU0r!5qI{82Dz zS%$!{=;stRpZxZdKH6qtl(2WtKH*z0h{Ce}CMH`WGari8GTU(yu;1hl{sXbsWQ@J0 zNW|B%h}HJkQA)(V)g(kwSL_9?#@^KH_!mevk!{$S+D>+3R^E@l{18FjLbQv*e$qSG RlllN>Fk>(~eFPlj{{dxA`xyWL literal 0 HcmV?d00001 diff --git a/doc/latex/Makefile b/doc/latex/Makefile new file mode 100644 index 0000000..776fcf9 --- /dev/null +++ b/doc/latex/Makefile @@ -0,0 +1,39 @@ +all: clean refman.dvi + +ps: refman.ps + +pdf: refman.pdf + +ps_2on1: refman_2on1.ps + +pdf_2on1: refman_2on1.pdf + +refman.ps: refman.dvi + dvips -o refman.ps refman.dvi + +refman.pdf: refman.ps + ps2pdf refman.ps refman.pdf + +refman.dvi: refman.tex doxygen.sty + echo "Running latex..." + latex refman.tex + echo "Running makeindex..." + makeindex refman.idx + echo "Rerunning latex...." + latex refman.tex + latex_count=5 ; \ + while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\ + do \ + echo "Rerunning latex...." ;\ + latex refman.tex ;\ + latex_count=`expr $$latex_count - 1` ;\ + done + +refman_2on1.ps: refman.ps + psnup -2 refman.ps >refman_2on1.ps + +refman_2on1.pdf: refman_2on1.ps + ps2pdf refman_2on1.ps refman_2on1.pdf + +clean: + rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out refman.pdf diff --git a/doc/latex/Markup_8h.tex b/doc/latex/Markup_8h.tex new file mode 100644 index 0000000..4a2e519 --- /dev/null +++ b/doc/latex/Markup_8h.tex @@ -0,0 +1,385 @@ +\section{Markup.h File Reference} +\label{Markup_8h}\index{Markup.h@{Markup.h}} +{\tt \#include $<$stdlib.h$>$}\par +{\tt \#include $<$string.h$>$}\par +{\tt \#include $<$string$>$}\par +\subsection*{Classes} +\begin{CompactItemize} +\item +struct {\bf MCD\_\-CSTR} +\item +class {\bf CMarkup} +\item +struct {\bf CMarkup::ElemPos} +\item +struct {\bf CMarkup::NodePos} +\item +struct {\bf CMarkup::TokenPos} +\item +struct {\bf CMarkup::SavedPos} +\item +struct {\bf CMarkup::SavedPosMap} +\item +struct {\bf CMarkup::SavedPosMapArray} +\item +struct {\bf CMarkup::PosArray} +\item +struct {\bf CMarkup::NodeStack} +\item +struct {\bf CMarkup::FilePos} +\item +struct {\bf CMarkup::ConvertEncoding} +\end{CompactItemize} +\subsection*{Defines} +\begin{CompactItemize} +\item +\#define {\bf \_\-MARKUP\_\-H\_\-INCLUDED\_\-} +\item +\#define {\bf MARKUP\_\-STL} +\item +\#define {\bf MARKUP\_\-SIZEOFWCHAR}~2 +\item +\#define {\bf MARKUP\_\-WINCONV} +\item +\#define {\bf MCD\_\-ACP}~0 +\item +\#define {\bf MCD\_\-UTF8}~65001 +\item +\#define {\bf MCD\_\-UTF16}~1200 +\item +\#define {\bf MCD\_\-UTF32}~65005 +\item +\#define {\bf MCD\_\-CHAR}~char +\item +\#define {\bf MCD\_\-PCSZ}~const char$\ast$ +\item +\#define {\bf MCD\_\-PSZLEN}~(int)strlen +\item +\#define {\bf MCD\_\-PSZCHR}~strchr +\item +\#define {\bf MCD\_\-PSZSTR}~strstr +\item +\#define {\bf MCD\_\-PSZTOL}~strtol +\item +\#define {\bf MCD\_\-PSZNCMP}~strncmp +\item +\#define {\bf MCD\_\-SSZ}(sz)~sz +\item +\#define {\bf MCD\_\-PSZCPY}~strcpy +\item +\#define {\bf MCD\_\-PSZNCPY}~strncpy +\item +\#define {\bf MCD\_\-PSZCAT}~strcat +\item +\#define {\bf MCD\_\-SPRINTF}~sprintf +\item +\#define {\bf MCD\_\-FOPEN}(f, n, m)~f=fopen(n,m) +\item +\#define {\bf MCD\_\-T}(s)~s +\item +\#define {\bf MCD\_\-ENC}~MCD\_\-T(\char`\"{}UTF-8\char`\"{}) +\item +\#define {\bf MCD\_\-CLEN}(p)~1 +\item +\#define {\bf MCD\_\-STRERROR}~strerror(errno) +\item +\#define {\bf MCD\_\-STR}~std::string +\item +\#define {\bf MCD\_\-2PCSZ}(s)~s.c\_\-str() +\item +\#define {\bf MCD\_\-STRLENGTH}(s)~(int)s.size() +\item +\#define {\bf MCD\_\-STRCLEAR}(s)~s.erase() +\item +\#define {\bf MCD\_\-STRISEMPTY}(s)~s.empty() +\item +\#define {\bf MCD\_\-STRMID}(s, n, l)~s.substr(n,l) +\item +\#define {\bf MCD\_\-STRASSIGN}(s, p, n)~s.assign(p,n) +\item +\#define {\bf MCD\_\-STRCAPACITY}(s)~(int)s.capacity() +\item +\#define {\bf MCD\_\-STRINSERTREPLACE}(d, i, r, s)~d.replace(i,r,s) +\item +\#define {\bf MCD\_\-GETBUFFER}(s, n)~new MCD\_\-CHAR[n+1]; s.reserve(n) +\item +\#define {\bf MCD\_\-RELEASEBUFFER}(s, p, n)~s.assign(p,n); delete[$\,$]p +\item +\#define {\bf MCD\_\-BLDRESERVE}(s, n)~s.reserve(n) +\item +\#define {\bf MCD\_\-BLDCHECK}(s, n, d)~; +\item +\#define {\bf MCD\_\-BLDRELEASE}(s)~; +\item +\#define {\bf MCD\_\-BLDAPPENDN}(s, p, n)~s.append(p,n) +\item +\#define {\bf MCD\_\-BLDAPPEND}(s, p)~s.append(p) +\item +\#define {\bf MCD\_\-BLDAPPEND1}(s, c)~s+=(MCD\_\-CHAR)(c) +\item +\#define {\bf MCD\_\-STRTOINT}(s)~MCD\_\-PSZTOL(MCD\_\-2PCSZ(s),NULL,10) +\item +\#define {\bf MCD\_\-CSTR\_\-FILENAME}~{\bf MCD\_\-CSTR} +\item +\#define {\bf MCD\_\-T\_\-FILENAME}~MCD\_\-T +\item +\#define {\bf MCD\_\-PCSZ\_\-FILENAME}~MCD\_\-PCSZ +\item +\#define {\bf MARKUP\_\-SETDEBUGSTATE} +\end{CompactItemize} + + +\subsection{Define Documentation} +\index{Markup.h@{Markup.h}!\_\-MARKUP\_\-H\_\-INCLUDED\_\-@{\_\-MARKUP\_\-H\_\-INCLUDED\_\-}} +\index{\_\-MARKUP\_\-H\_\-INCLUDED\_\-@{\_\-MARKUP\_\-H\_\-INCLUDED\_\-}!Markup.h@{Markup.h}} +\subsubsection[\_\-MARKUP\_\-H\_\-INCLUDED\_\-]{\setlength{\rightskip}{0pt plus 5cm}\#define \_\-MARKUP\_\-H\_\-INCLUDED\_\-}\label{Markup_8h_964424c93c5bcf9f53d1bfb1f48dded8} + + +\index{Markup.h@{Markup.h}!MARKUP\_\-SETDEBUGSTATE@{MARKUP\_\-SETDEBUGSTATE}} +\index{MARKUP\_\-SETDEBUGSTATE@{MARKUP\_\-SETDEBUGSTATE}!Markup.h@{Markup.h}} +\subsubsection[MARKUP\_\-SETDEBUGSTATE]{\setlength{\rightskip}{0pt plus 5cm}\#define MARKUP\_\-SETDEBUGSTATE}\label{Markup_8h_eb217cbc320c044ab434a9765f3c43da} + + + + +Referenced by CMarkup::x\_\-SetPos().\index{Markup.h@{Markup.h}!MARKUP\_\-SIZEOFWCHAR@{MARKUP\_\-SIZEOFWCHAR}} +\index{MARKUP\_\-SIZEOFWCHAR@{MARKUP\_\-SIZEOFWCHAR}!Markup.h@{Markup.h}} +\subsubsection[MARKUP\_\-SIZEOFWCHAR]{\setlength{\rightskip}{0pt plus 5cm}\#define MARKUP\_\-SIZEOFWCHAR~2}\label{Markup_8h_56bf764d158432507ce70140a7a39796} + + +\index{Markup.h@{Markup.h}!MARKUP\_\-STL@{MARKUP\_\-STL}} +\index{MARKUP\_\-STL@{MARKUP\_\-STL}!Markup.h@{Markup.h}} +\subsubsection[MARKUP\_\-STL]{\setlength{\rightskip}{0pt plus 5cm}\#define MARKUP\_\-STL}\label{Markup_8h_068f185d8c3f5030193410463434700e} + + +\index{Markup.h@{Markup.h}!MARKUP\_\-WINCONV@{MARKUP\_\-WINCONV}} +\index{MARKUP\_\-WINCONV@{MARKUP\_\-WINCONV}!Markup.h@{Markup.h}} +\subsubsection[MARKUP\_\-WINCONV]{\setlength{\rightskip}{0pt plus 5cm}\#define MARKUP\_\-WINCONV}\label{Markup_8h_dbc6eaa1c00e7bd9a20a31e034dd2e81} + + +\index{Markup.h@{Markup.h}!MCD\_\-2PCSZ@{MCD\_\-2PCSZ}} +\index{MCD\_\-2PCSZ@{MCD\_\-2PCSZ}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-2PCSZ]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-2PCSZ(s)~s.c\_\-str()}\label{Markup_8h_8308b5dc66582065497df0946227c24f} + + + + +Referenced by MCD\_\-CSTR::MCD\_\-CSTR().\index{Markup.h@{Markup.h}!MCD\_\-ACP@{MCD\_\-ACP}} +\index{MCD\_\-ACP@{MCD\_\-ACP}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-ACP]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-ACP~0}\label{Markup_8h_4b7b55ce45b2dc0166e17835c36d24ae} + + +\index{Markup.h@{Markup.h}!MCD\_\-BLDAPPEND@{MCD\_\-BLDAPPEND}} +\index{MCD\_\-BLDAPPEND@{MCD\_\-BLDAPPEND}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-BLDAPPEND]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-BLDAPPEND(s, \/ p)~s.append(p)}\label{Markup_8h_1b5b2dbff24ec07b7f947a92c79374db} + + +\index{Markup.h@{Markup.h}!MCD\_\-BLDAPPEND1@{MCD\_\-BLDAPPEND1}} +\index{MCD\_\-BLDAPPEND1@{MCD\_\-BLDAPPEND1}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-BLDAPPEND1]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-BLDAPPEND1(s, \/ c)~s+=(MCD\_\-CHAR)(c)}\label{Markup_8h_66fdcace6236f2f212b819bbb607eb00} + + +\index{Markup.h@{Markup.h}!MCD\_\-BLDAPPENDN@{MCD\_\-BLDAPPENDN}} +\index{MCD\_\-BLDAPPENDN@{MCD\_\-BLDAPPENDN}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-BLDAPPENDN]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-BLDAPPENDN(s, \/ p, \/ n)~s.append(p,n)}\label{Markup_8h_3fa052a44a1028c32ec80a98e2dc2ee2} + + +\index{Markup.h@{Markup.h}!MCD\_\-BLDCHECK@{MCD\_\-BLDCHECK}} +\index{MCD\_\-BLDCHECK@{MCD\_\-BLDCHECK}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-BLDCHECK]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-BLDCHECK(s, \/ n, \/ d)~;}\label{Markup_8h_462dda37bd35bcc7de74c6f137678994} + + +\index{Markup.h@{Markup.h}!MCD\_\-BLDRELEASE@{MCD\_\-BLDRELEASE}} +\index{MCD\_\-BLDRELEASE@{MCD\_\-BLDRELEASE}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-BLDRELEASE]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-BLDRELEASE(s)~;}\label{Markup_8h_9ed9b064f852a4ad5a9727b72f09c761} + + +\index{Markup.h@{Markup.h}!MCD\_\-BLDRESERVE@{MCD\_\-BLDRESERVE}} +\index{MCD\_\-BLDRESERVE@{MCD\_\-BLDRESERVE}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-BLDRESERVE]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-BLDRESERVE(s, \/ n)~s.reserve(n)}\label{Markup_8h_3db4aba7b130d4d0ca7eece1314464e8} + + +\index{Markup.h@{Markup.h}!MCD\_\-CHAR@{MCD\_\-CHAR}} +\index{MCD\_\-CHAR@{MCD\_\-CHAR}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-CHAR]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-CHAR~char}\label{Markup_8h_12bf56fe481c397f8df59076c90c45a6} + + + + +Referenced by CMarkup::TokenPos::StrNIACmp(), and CMarkup::x\_\-IntToStr().\index{Markup.h@{Markup.h}!MCD\_\-CLEN@{MCD\_\-CLEN}} +\index{MCD\_\-CLEN@{MCD\_\-CLEN}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-CLEN]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-CLEN(p)~1}\label{Markup_8h_d56c92f847a54f85e183ebc96422db7b} + + +\index{Markup.h@{Markup.h}!MCD\_\-CSTR\_\-FILENAME@{MCD\_\-CSTR\_\-FILENAME}} +\index{MCD\_\-CSTR\_\-FILENAME@{MCD\_\-CSTR\_\-FILENAME}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-CSTR\_\-FILENAME]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-CSTR\_\-FILENAME~{\bf MCD\_\-CSTR}}\label{Markup_8h_b7f2fa74461b566c44371deb46c73de2} + + +\index{Markup.h@{Markup.h}!MCD\_\-ENC@{MCD\_\-ENC}} +\index{MCD\_\-ENC@{MCD\_\-ENC}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-ENC]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-ENC~MCD\_\-T(\char`\"{}UTF-8\char`\"{})}\label{Markup_8h_76b22bbde60fb0f34064d566e89c456a} + + +\index{Markup.h@{Markup.h}!MCD\_\-FOPEN@{MCD\_\-FOPEN}} +\index{MCD\_\-FOPEN@{MCD\_\-FOPEN}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-FOPEN]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-FOPEN(f, \/ n, \/ m)~f=fopen(n,m)}\label{Markup_8h_f539ef4d57b2dc09eae1ff35115d30b3} + + +\index{Markup.h@{Markup.h}!MCD\_\-GETBUFFER@{MCD\_\-GETBUFFER}} +\index{MCD\_\-GETBUFFER@{MCD\_\-GETBUFFER}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-GETBUFFER]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-GETBUFFER(s, \/ n)~new MCD\_\-CHAR[n+1]; s.reserve(n)}\label{Markup_8h_8bec93c42fdcd4f51326f897d2185aa8} + + +\index{Markup.h@{Markup.h}!MCD\_\-PCSZ@{MCD\_\-PCSZ}} +\index{MCD\_\-PCSZ@{MCD\_\-PCSZ}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-PCSZ]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-PCSZ~const char$\ast$}\label{Markup_8h_edde484976c7ebb2e31d6be23e669128} + + +\index{Markup.h@{Markup.h}!MCD\_\-PCSZ\_\-FILENAME@{MCD\_\-PCSZ\_\-FILENAME}} +\index{MCD\_\-PCSZ\_\-FILENAME@{MCD\_\-PCSZ\_\-FILENAME}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-PCSZ\_\-FILENAME]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-PCSZ\_\-FILENAME~MCD\_\-PCSZ}\label{Markup_8h_7dbef2772d51e540f1dfc521c1fa5866} + + +\index{Markup.h@{Markup.h}!MCD\_\-PSZCAT@{MCD\_\-PSZCAT}} +\index{MCD\_\-PSZCAT@{MCD\_\-PSZCAT}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-PSZCAT]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-PSZCAT~strcat}\label{Markup_8h_1f111b6472a97a8308f47a42a5ca02c0} + + +\index{Markup.h@{Markup.h}!MCD\_\-PSZCHR@{MCD\_\-PSZCHR}} +\index{MCD\_\-PSZCHR@{MCD\_\-PSZCHR}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-PSZCHR]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-PSZCHR~strchr}\label{Markup_8h_0b4f312ed85cdcdafc5ed8c88da98ce9} + + + + +Referenced by CMarkup::TokenPos::Match().\index{Markup.h@{Markup.h}!MCD\_\-PSZCPY@{MCD\_\-PSZCPY}} +\index{MCD\_\-PSZCPY@{MCD\_\-PSZCPY}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-PSZCPY]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-PSZCPY~strcpy}\label{Markup_8h_ff4771eb9cee750223aa117b8cafdab6} + + +\index{Markup.h@{Markup.h}!MCD\_\-PSZLEN@{MCD\_\-PSZLEN}} +\index{MCD\_\-PSZLEN@{MCD\_\-PSZLEN}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-PSZLEN]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-PSZLEN~(int)strlen}\label{Markup_8h_f8601b14e21b7fe9a4b55953ddbb75c2} + + +\index{Markup.h@{Markup.h}!MCD\_\-PSZNCMP@{MCD\_\-PSZNCMP}} +\index{MCD\_\-PSZNCMP@{MCD\_\-PSZNCMP}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-PSZNCMP]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-PSZNCMP~strncmp}\label{Markup_8h_4e2907b0d2098130db8cffd774afef88} + + + + +Referenced by CMarkup::TokenPos::Match().\index{Markup.h@{Markup.h}!MCD\_\-PSZNCPY@{MCD\_\-PSZNCPY}} +\index{MCD\_\-PSZNCPY@{MCD\_\-PSZNCPY}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-PSZNCPY]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-PSZNCPY~strncpy}\label{Markup_8h_6abfcd289e88bf2cd4a7e26abf231551} + + +\index{Markup.h@{Markup.h}!MCD\_\-PSZSTR@{MCD\_\-PSZSTR}} +\index{MCD\_\-PSZSTR@{MCD\_\-PSZSTR}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-PSZSTR]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-PSZSTR~strstr}\label{Markup_8h_d63af44417f9dcdb5ee845a08cbd19d2} + + +\index{Markup.h@{Markup.h}!MCD\_\-PSZTOL@{MCD\_\-PSZTOL}} +\index{MCD\_\-PSZTOL@{MCD\_\-PSZTOL}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-PSZTOL]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-PSZTOL~strtol}\label{Markup_8h_0f9f184175207bff11e204540c56b473} + + +\index{Markup.h@{Markup.h}!MCD\_\-RELEASEBUFFER@{MCD\_\-RELEASEBUFFER}} +\index{MCD\_\-RELEASEBUFFER@{MCD\_\-RELEASEBUFFER}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-RELEASEBUFFER]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-RELEASEBUFFER(s, \/ p, \/ n)~s.assign(p,n); delete[$\,$]p}\label{Markup_8h_c7aebf04b6e902c953c2422b65cde140} + + +\index{Markup.h@{Markup.h}!MCD\_\-SPRINTF@{MCD\_\-SPRINTF}} +\index{MCD\_\-SPRINTF@{MCD\_\-SPRINTF}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-SPRINTF]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-SPRINTF~sprintf}\label{Markup_8h_fdebb4fe97791f466e9e52337e36e707} + + + + +Referenced by CMarkup::x\_\-IntToStr().\index{Markup.h@{Markup.h}!MCD\_\-SSZ@{MCD\_\-SSZ}} +\index{MCD\_\-SSZ@{MCD\_\-SSZ}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-SSZ]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-SSZ(sz)~sz}\label{Markup_8h_c327a6af700343d0cced4ed2bf855460} + + + + +Referenced by CMarkup::x\_\-IntToStr().\index{Markup.h@{Markup.h}!MCD\_\-STR@{MCD\_\-STR}} +\index{MCD\_\-STR@{MCD\_\-STR}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-STR]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-STR~std::string}\label{Markup_8h_1b37b66197558752f7dfcdb82011648b} + + + + +Referenced by CMarkup::x\_\-IntToStr().\index{Markup.h@{Markup.h}!MCD\_\-STRASSIGN@{MCD\_\-STRASSIGN}} +\index{MCD\_\-STRASSIGN@{MCD\_\-STRASSIGN}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-STRASSIGN]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-STRASSIGN(s, \/ p, \/ n)~s.assign(p,n)}\label{Markup_8h_25a39e06935325797827ef910d1e9c33} + + +\index{Markup.h@{Markup.h}!MCD\_\-STRCAPACITY@{MCD\_\-STRCAPACITY}} +\index{MCD\_\-STRCAPACITY@{MCD\_\-STRCAPACITY}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-STRCAPACITY]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-STRCAPACITY(s)~(int)s.capacity()}\label{Markup_8h_86a80a1134afea2893d7f10fe7a94656} + + +\index{Markup.h@{Markup.h}!MCD\_\-STRCLEAR@{MCD\_\-STRCLEAR}} +\index{MCD\_\-STRCLEAR@{MCD\_\-STRCLEAR}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-STRCLEAR]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-STRCLEAR(s)~s.erase()}\label{Markup_8h_f26261378df965f267408dad0fc32731} + + +\index{Markup.h@{Markup.h}!MCD\_\-STRERROR@{MCD\_\-STRERROR}} +\index{MCD\_\-STRERROR@{MCD\_\-STRERROR}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-STRERROR]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-STRERROR~strerror(errno)}\label{Markup_8h_1930dded538d6aeb11899a588cbe0694} + + +\index{Markup.h@{Markup.h}!MCD\_\-STRINSERTREPLACE@{MCD\_\-STRINSERTREPLACE}} +\index{MCD\_\-STRINSERTREPLACE@{MCD\_\-STRINSERTREPLACE}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-STRINSERTREPLACE]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-STRINSERTREPLACE(d, \/ i, \/ r, \/ s)~d.replace(i,r,s)}\label{Markup_8h_e858b63711717ae98a1ef06b8c992c46} + + +\index{Markup.h@{Markup.h}!MCD\_\-STRISEMPTY@{MCD\_\-STRISEMPTY}} +\index{MCD\_\-STRISEMPTY@{MCD\_\-STRISEMPTY}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-STRISEMPTY]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-STRISEMPTY(s)~s.empty()}\label{Markup_8h_2790455cead9f63ecdd40f3a1391fdb4} + + +\index{Markup.h@{Markup.h}!MCD\_\-STRLENGTH@{MCD\_\-STRLENGTH}} +\index{MCD\_\-STRLENGTH@{MCD\_\-STRLENGTH}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-STRLENGTH]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-STRLENGTH(s)~(int)s.size()}\label{Markup_8h_0cf539be69b737a377b5ba5080febc17} + + +\index{Markup.h@{Markup.h}!MCD\_\-STRMID@{MCD\_\-STRMID}} +\index{MCD\_\-STRMID@{MCD\_\-STRMID}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-STRMID]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-STRMID(s, \/ n, \/ l)~s.substr(n,l)}\label{Markup_8h_9ac43f7dfd3f9b4a40fa2975a4289037} + + +\index{Markup.h@{Markup.h}!MCD\_\-STRTOINT@{MCD\_\-STRTOINT}} +\index{MCD\_\-STRTOINT@{MCD\_\-STRTOINT}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-STRTOINT]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-STRTOINT(s)~MCD\_\-PSZTOL(MCD\_\-2PCSZ(s),NULL,10)}\label{Markup_8h_d943bd4174ba98a10524bc437d0c0d50} + + +\index{Markup.h@{Markup.h}!MCD\_\-T@{MCD\_\-T}} +\index{MCD\_\-T@{MCD\_\-T}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-T]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-T(s)~s}\label{Markup_8h_3717b2fa88d73f5f346ec6efdfbe2032} + + + + +Referenced by CMarkup::TokenPos::Match(), and CMarkup::x\_\-IntToStr().\index{Markup.h@{Markup.h}!MCD\_\-T\_\-FILENAME@{MCD\_\-T\_\-FILENAME}} +\index{MCD\_\-T\_\-FILENAME@{MCD\_\-T\_\-FILENAME}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-T\_\-FILENAME]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-T\_\-FILENAME~MCD\_\-T}\label{Markup_8h_c5dd80c2be80f6331999ca42ba047aca} + + +\index{Markup.h@{Markup.h}!MCD\_\-UTF16@{MCD\_\-UTF16}} +\index{MCD\_\-UTF16@{MCD\_\-UTF16}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-UTF16]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-UTF16~1200}\label{Markup_8h_d9263b419662458249b697e27f9af6ee} + + +\index{Markup.h@{Markup.h}!MCD\_\-UTF32@{MCD\_\-UTF32}} +\index{MCD\_\-UTF32@{MCD\_\-UTF32}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-UTF32]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-UTF32~65005}\label{Markup_8h_534d77c158c8f18fd0b5f238f8715a31} + + +\index{Markup.h@{Markup.h}!MCD\_\-UTF8@{MCD\_\-UTF8}} +\index{MCD\_\-UTF8@{MCD\_\-UTF8}!Markup.h@{Markup.h}} +\subsubsection[MCD\_\-UTF8]{\setlength{\rightskip}{0pt plus 5cm}\#define MCD\_\-UTF8~65001}\label{Markup_8h_ee5e990ae605088df779ccb343b44e66} + + diff --git a/doc/latex/annotated.tex b/doc/latex/annotated.tex new file mode 100644 index 0000000..cfd080f --- /dev/null +++ b/doc/latex/annotated.tex @@ -0,0 +1,22 @@ +\section{Class List} +Here are the classes, structs, unions and interfaces with brief descriptions:\begin{CompactList} +\item\contentsline{section}{{\bf CMarkup} }{\pageref{classCMarkup}}{} +\item\contentsline{section}{{\bf CMarkup::ConvertEncoding} }{\pageref{structCMarkup_1_1ConvertEncoding}}{} +\item\contentsline{section}{{\bf CMarkup::ElemPos} }{\pageref{structCMarkup_1_1ElemPos}}{} +\item\contentsline{section}{{\bf CMarkup::FilePos} }{\pageref{structCMarkup_1_1FilePos}}{} +\item\contentsline{section}{{\bf CMarkup::NodePos} }{\pageref{structCMarkup_1_1NodePos}}{} +\item\contentsline{section}{{\bf CMarkup::NodeStack} }{\pageref{structCMarkup_1_1NodeStack}}{} +\item\contentsline{section}{{\bf CMarkup::PosArray} }{\pageref{structCMarkup_1_1PosArray}}{} +\item\contentsline{section}{{\bf CMarkup::SavedPos} }{\pageref{structCMarkup_1_1SavedPos}}{} +\item\contentsline{section}{{\bf CMarkup::SavedPosMap} }{\pageref{structCMarkup_1_1SavedPosMap}}{} +\item\contentsline{section}{{\bf CMarkup::SavedPosMapArray} }{\pageref{structCMarkup_1_1SavedPosMapArray}}{} +\item\contentsline{section}{{\bf CMarkup::TokenPos} }{\pageref{structCMarkup_1_1TokenPos}}{} +\item\contentsline{section}{{\bf neuralpp::Layer} (Class for managing layers of neurons )}{\pageref{classneuralpp_1_1Layer}}{} +\item\contentsline{section}{{\bf MCD\_\-CSTR} }{\pageref{structMCD__CSTR}}{} +\item\contentsline{section}{{\bf neuralpp::netrecord} }{\pageref{structneuralpp_1_1netrecord}}{} +\item\contentsline{section}{{\bf neuralpp::NeuralNet} (Main project's class )}{\pageref{classneuralpp_1_1NeuralNet}}{} +\item\contentsline{section}{{\bf neuralpp::Neuron} (Class for managing neurons )}{\pageref{classneuralpp_1_1Neuron}}{} +\item\contentsline{section}{{\bf neuralpp::neuronrecord} }{\pageref{structneuralpp_1_1neuronrecord}}{} +\item\contentsline{section}{{\bf neuralpp::Synapsis} (Class for managing synapsis )}{\pageref{classneuralpp_1_1Synapsis}}{} +\item\contentsline{section}{{\bf neuralpp::synrecord} }{\pageref{structneuralpp_1_1synrecord}}{} +\end{CompactList} diff --git a/doc/latex/classCMarkup.tex b/doc/latex/classCMarkup.tex new file mode 100644 index 0000000..5f80c39 --- /dev/null +++ b/doc/latex/classCMarkup.tex @@ -0,0 +1,1427 @@ +\section{CMarkup Class Reference} +\label{classCMarkup}\index{CMarkup@{CMarkup}} +{\tt \#include $<$Markup.h$>$} + +\subsection*{Public Types} +\begin{CompactItemize} +\item +enum {\bf MarkupDocFlags} \{ \par +{\bf MDF\_\-UTF16LEFILE} = 1, +{\bf MDF\_\-UTF8PREAMBLE} = 4, +{\bf MDF\_\-IGNORECASE} = 8, +{\bf MDF\_\-READFILE} = 16, +\par +{\bf MDF\_\-WRITEFILE} = 32, +{\bf MDF\_\-APPENDFILE} = 64, +{\bf MDF\_\-UTF16BEFILE} = 128 + \} +\item +enum {\bf MarkupNodeFlags} \{ \par +{\bf MNF\_\-WITHCDATA} = 0x01, +{\bf MNF\_\-WITHNOLINES} = 0x02, +{\bf MNF\_\-WITHXHTMLSPACE} = 0x04, +{\bf MNF\_\-WITHREFS} = 0x08, +\par +{\bf MNF\_\-WITHNOEND} = 0x10, +{\bf MNF\_\-ESCAPEQUOTES} = 0x100, +{\bf MNF\_\-NONENDED} = 0x100000, +{\bf MNF\_\-ILLDATA} = 0x200000 + \} +\item +enum {\bf MarkupNodeType} \{ \par +{\bf MNT\_\-ELEMENT} = 1, +{\bf MNT\_\-TEXT} = 2, +{\bf MNT\_\-WHITESPACE} = 4, +{\bf MNT\_\-CDATA\_\-SECTION} = 8, +\par +{\bf MNT\_\-PROCESSING\_\-INSTRUCTION} = 16, +{\bf MNT\_\-COMMENT} = 32, +{\bf MNT\_\-DOCUMENT\_\-TYPE} = 64, +{\bf MNT\_\-EXCLUDE\_\-WHITESPACE} = 123, +\par +{\bf MNT\_\-LONE\_\-END\_\-TAG} = 128, +{\bf MNT\_\-NODE\_\-ERROR} = 32768 + \} +\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf CMarkup} () +\item +{\bf CMarkup} ({\bf MCD\_\-CSTR} szDoc) +\item +{\bf CMarkup} (int nFlags) +\item +{\bf CMarkup} (const {\bf CMarkup} \&markup) +\item +void {\bf operator=} (const {\bf CMarkup} \&markup) +\item +{\bf $\sim$CMarkup} () +\item +bool {\bf Load} (MCD\_\-CSTR\_\-FILENAME szFileName) +\item +bool {\bf SetDoc} (MCD\_\-PCSZ pDoc) +\item +bool {\bf SetDoc} (const MCD\_\-STR \&strDoc) +\item +bool {\bf IsWellFormed} () +\item +bool {\bf FindElem} ({\bf MCD\_\-CSTR} szName=NULL) +\item +bool {\bf FindChildElem} ({\bf MCD\_\-CSTR} szName=NULL) +\item +bool {\bf IntoElem} () +\item +bool {\bf OutOfElem} () +\item +void {\bf ResetChildPos} () +\item +void {\bf ResetMainPos} () +\item +void {\bf ResetPos} () +\item +MCD\_\-STR {\bf GetTagName} () const +\item +MCD\_\-STR {\bf GetChildTagName} () const +\item +MCD\_\-STR {\bf GetData} () const +\item +MCD\_\-STR {\bf GetChildData} () const +\item +MCD\_\-STR {\bf GetElemContent} () const +\item +MCD\_\-STR {\bf GetAttrib} ({\bf MCD\_\-CSTR} szAttrib) const +\item +MCD\_\-STR {\bf GetChildAttrib} ({\bf MCD\_\-CSTR} szAttrib) const +\item +MCD\_\-STR {\bf GetAttribName} (int n) const +\item +int {\bf FindNode} (int nType=0) +\item +int {\bf GetNodeType} () +\item +bool {\bf SavePos} ({\bf MCD\_\-CSTR} szPosName=MCD\_\-T(\char`\"{}\char`\"{}), int nMap=0) +\item +bool {\bf RestorePos} ({\bf MCD\_\-CSTR} szPosName=MCD\_\-T(\char`\"{}\char`\"{}), int nMap=0) +\item +bool {\bf SetMapSize} (int nSize, int nMap=0) +\item +const MCD\_\-STR \& {\bf GetError} () const +\item +int {\bf GetDocFlags} () const +\item +void {\bf SetDocFlags} (int nFlags) +\item +bool {\bf Save} (MCD\_\-CSTR\_\-FILENAME szFileName) +\item +const MCD\_\-STR \& {\bf GetDoc} () const +\item +bool {\bf AddElem} ({\bf MCD\_\-CSTR} szName, {\bf MCD\_\-CSTR} szData=NULL, int nFlags=0) +\item +bool {\bf InsertElem} ({\bf MCD\_\-CSTR} szName, {\bf MCD\_\-CSTR} szData=NULL, int nFlags=0) +\item +bool {\bf AddChildElem} ({\bf MCD\_\-CSTR} szName, {\bf MCD\_\-CSTR} szData=NULL, int nFlags=0) +\item +bool {\bf InsertChildElem} ({\bf MCD\_\-CSTR} szName, {\bf MCD\_\-CSTR} szData=NULL, int nFlags=0) +\item +bool {\bf AddElem} ({\bf MCD\_\-CSTR} szName, int nValue, int nFlags=0) +\item +bool {\bf InsertElem} ({\bf MCD\_\-CSTR} szName, int nValue, int nFlags=0) +\item +bool {\bf AddChildElem} ({\bf MCD\_\-CSTR} szName, int nValue, int nFlags=0) +\item +bool {\bf InsertChildElem} ({\bf MCD\_\-CSTR} szName, int nValue, int nFlags=0) +\item +bool {\bf AddAttrib} ({\bf MCD\_\-CSTR} szAttrib, {\bf MCD\_\-CSTR} szValue) +\item +bool {\bf AddChildAttrib} ({\bf MCD\_\-CSTR} szAttrib, {\bf MCD\_\-CSTR} szValue) +\item +bool {\bf AddAttrib} ({\bf MCD\_\-CSTR} szAttrib, int nValue) +\item +bool {\bf AddChildAttrib} ({\bf MCD\_\-CSTR} szAttrib, int nValue) +\item +bool {\bf AddSubDoc} ({\bf MCD\_\-CSTR} szSubDoc) +\item +bool {\bf InsertSubDoc} ({\bf MCD\_\-CSTR} szSubDoc) +\item +MCD\_\-STR {\bf GetSubDoc} () const +\item +bool {\bf AddChildSubDoc} ({\bf MCD\_\-CSTR} szSubDoc) +\item +bool {\bf InsertChildSubDoc} ({\bf MCD\_\-CSTR} szSubDoc) +\item +MCD\_\-STR {\bf GetChildSubDoc} () const +\item +bool {\bf AddNode} (int nType, {\bf MCD\_\-CSTR} szText) +\item +bool {\bf InsertNode} (int nType, {\bf MCD\_\-CSTR} szText) +\item +bool {\bf RemoveElem} () +\item +bool {\bf RemoveChildElem} () +\item +bool {\bf RemoveNode} () +\item +bool {\bf SetAttrib} ({\bf MCD\_\-CSTR} szAttrib, {\bf MCD\_\-CSTR} szValue, int nFlags=0) +\item +bool {\bf SetChildAttrib} ({\bf MCD\_\-CSTR} szAttrib, {\bf MCD\_\-CSTR} szValue, int nFlags=0) +\item +bool {\bf SetAttrib} ({\bf MCD\_\-CSTR} szAttrib, int nValue, int nFlags=0) +\item +bool {\bf SetChildAttrib} ({\bf MCD\_\-CSTR} szAttrib, int nValue, int nFlags=0) +\item +bool {\bf SetData} ({\bf MCD\_\-CSTR} szData, int nFlags=0) +\item +bool {\bf SetChildData} ({\bf MCD\_\-CSTR} szData, int nFlags=0) +\item +bool {\bf SetData} (int nValue) +\item +bool {\bf SetChildData} (int nValue) +\item +bool {\bf SetElemContent} ({\bf MCD\_\-CSTR} szContent) +\end{CompactItemize} +\subsection*{Static Public Member Functions} +\begin{CompactItemize} +\item +static bool {\bf ReadTextFile} (MCD\_\-CSTR\_\-FILENAME szFileName, MCD\_\-STR \&strDoc, MCD\_\-STR $\ast$pstrError=NULL, int $\ast$pnDocFlags=NULL, MCD\_\-STR $\ast$pstrEncoding=NULL) +\item +static bool {\bf WriteTextFile} (MCD\_\-CSTR\_\-FILENAME szFileName, const MCD\_\-STR \&strDoc, MCD\_\-STR $\ast$pstrError=NULL, int $\ast$pnDocFlags=NULL, MCD\_\-STR $\ast$pstrEncoding=NULL) +\item +static MCD\_\-STR {\bf EscapeText} ({\bf MCD\_\-CSTR} szText, int nFlags=0) +\item +static MCD\_\-STR {\bf UnescapeText} ({\bf MCD\_\-CSTR} szText, int nTextLength=-1) +\item +static int {\bf UTF16To8} (char $\ast$pszUTF8, const unsigned short $\ast$pwszUTF16, int nUTF8Count) +\item +static int {\bf UTF8To16} (unsigned short $\ast$pwszUTF16, const char $\ast$pszUTF8, int nUTF8Count) +\item +static MCD\_\-STR {\bf UTF8ToA} ({\bf MCD\_\-CSTR} pszUTF8, int $\ast$pnFailed=NULL) +\item +static MCD\_\-STR {\bf AToUTF8} ({\bf MCD\_\-CSTR} pszANSI) +\item +static void {\bf EncodeCharUTF8} (int nUChar, char $\ast$pszUTF8, int \&nUTF8Len) +\item +static int {\bf DecodeCharUTF8} (const char $\ast$\&pszUTF8, const char $\ast$pszUTF8End=NULL) +\item +static void {\bf EncodeCharUTF16} (int nUChar, unsigned short $\ast$pwszUTF16, int \&nUTF16Len) +\item +static int {\bf DecodeCharUTF16} (const unsigned short $\ast$\&pwszUTF16, const unsigned short $\ast$pszUTF16End=NULL) +\item +static bool {\bf DetectUTF8} (const char $\ast$pText, int nTextLen, int $\ast$pnNonASCII=NULL) +\item +static MCD\_\-STR {\bf GetDeclaredEncoding} ({\bf MCD\_\-CSTR} szDoc) +\end{CompactItemize} +\subsection*{Protected Types} +\begin{CompactItemize} +\item +enum {\bf MarkupNodeFlagsInternal} \{ \par +{\bf MNF\_\-REPLACE} = 0x001000, +{\bf MNF\_\-INSERT} = 0x002000, +{\bf MNF\_\-CHILD} = 0x004000, +{\bf MNF\_\-QUOTED} = 0x008000, +\par +{\bf MNF\_\-EMPTY} = 0x010000, +{\bf MNF\_\-DELETED} = 0x020000, +{\bf MNF\_\-FIRST} = 0x080000, +{\bf MNF\_\-PUBLIC} = 0x300000, +\par +{\bf MNF\_\-ILLFORMED} = 0x800000, +{\bf MNF\_\-USER} = 0xf000000 + \} +\end{CompactItemize} +\subsection*{Protected Member Functions} +\begin{CompactItemize} +\item +void {\bf x\_\-SetPos} (int iPosParent, int iPos, int iPosChild) +\item +int {\bf x\_\-GetFreePos} () +\item +bool {\bf x\_\-AllocPosArray} (int nNewSize=0) +\item +void {\bf InitDocFlags} () +\item +bool {\bf x\_\-ParseDoc} () +\item +int {\bf x\_\-ParseElem} (int iPos, {\bf TokenPos} \&token) +\item +int {\bf x\_\-FindElem} (int iPosParent, int iPos, MCD\_\-PCSZ szPath) const +\item +MCD\_\-STR {\bf x\_\-GetPath} (int iPos) const +\item +MCD\_\-STR {\bf x\_\-GetTagName} (int iPos) const +\item +MCD\_\-STR {\bf x\_\-GetData} (int iPos) const +\item +MCD\_\-STR {\bf x\_\-GetAttrib} (int iPos, MCD\_\-PCSZ pAttrib) const +\item +bool {\bf x\_\-AddElem} (MCD\_\-PCSZ pName, MCD\_\-PCSZ pValue, int nFlags) +\item +bool {\bf x\_\-AddElem} (MCD\_\-PCSZ pName, int nValue, int nFlags) +\item +MCD\_\-STR {\bf x\_\-GetSubDoc} (int iPos) const +\item +bool {\bf x\_\-AddSubDoc} (MCD\_\-PCSZ pSubDoc, int nFlags) +\item +bool {\bf x\_\-SetAttrib} (int iPos, MCD\_\-PCSZ pAttrib, MCD\_\-PCSZ pValue, int nFlags=0) +\item +bool {\bf x\_\-SetAttrib} (int iPos, MCD\_\-PCSZ pAttrib, int nValue, int nFlags=0) +\item +bool {\bf x\_\-AddNode} (int nNodeType, MCD\_\-PCSZ pText, int nNodeFlags) +\item +void {\bf x\_\-RemoveNode} (int iPosParent, int \&iPos, int \&nNodeType, int \&nNodeOffset, int \&nNodeLength) +\item +void {\bf x\_\-AdjustForNode} (int iPosParent, int iPos, int nShift) +\item +int {\bf x\_\-InsertNew} (int iPosParent, int \&iPosRel, {\bf NodePos} \&node) +\item +void {\bf x\_\-LinkElem} (int iPosParent, int iPosBefore, int iPos) +\item +int {\bf x\_\-UnlinkElem} (int iPos) +\item +int {\bf x\_\-ReleaseSubDoc} (int iPos) +\item +int {\bf x\_\-ReleasePos} (int iPos) +\item +bool {\bf x\_\-GetMap} ({\bf SavedPosMap} $\ast$\&pMap, int nMap, int nMapSize=7) +\item +void {\bf x\_\-CheckSavedPos} () +\item +bool {\bf x\_\-SetData} (int iPos, MCD\_\-PCSZ szData, int nFlags) +\item +bool {\bf x\_\-SetData} (int iPos, int nValue) +\item +int {\bf x\_\-RemoveElem} (int iPos) +\item +MCD\_\-STR {\bf x\_\-GetElemContent} (int iPos) const +\item +bool {\bf x\_\-SetElemContent} (MCD\_\-PCSZ szContent) +\item +void {\bf x\_\-DocChange} (int nLeft, int nReplace, const MCD\_\-STR \&strInsert) +\item +void {\bf x\_\-Adjust} (int iPos, int nShift, bool bAfterPos=false) +\end{CompactItemize} +\subsection*{Static Protected Member Functions} +\begin{CompactItemize} +\item +static bool {\bf x\_\-FindAny} (MCD\_\-PCSZ pDoc, int \&nChar) +\item +static bool {\bf x\_\-FindName} ({\bf TokenPos} \&token) +\item +static MCD\_\-STR {\bf x\_\-GetToken} (const {\bf TokenPos} \&token) +\item +static MCD\_\-STR {\bf x\_\-EncodeCDATASection} (MCD\_\-PCSZ szData) +\item +static bool {\bf x\_\-FindAttrib} ({\bf TokenPos} \&token, MCD\_\-PCSZ pAttrib, int n=0) +\item +static bool {\bf x\_\-CreateNode} (MCD\_\-STR \&strNode, int nNodeType, MCD\_\-PCSZ pText) +\item +static int {\bf x\_\-ParseNode} ({\bf TokenPos} \&token, {\bf NodePos} \&node) +\item +static MCD\_\-STR {\bf x\_\-GetLastError} () +\item +static int {\bf x\_\-Hash} (MCD\_\-PCSZ p, int nSize) +\item +static int {\bf x\_\-GetEncodingCodePage} ({\bf MCD\_\-CSTR} psz7Encoding) +\item +static bool {\bf x\_\-EndianSwapRequired} (int nDocFlags) +\item +static void {\bf x\_\-EndianSwapUTF16} (unsigned short $\ast$pUTF16, int nCharLen) +\item +static bool {\bf x\_\-CanConvert} ({\bf MCD\_\-CSTR} pszToEnc, {\bf MCD\_\-CSTR} pszFromEnc) +\item +static int {\bf x\_\-ConvertEncoding} ({\bf ConvertEncoding} \&convert, void $\ast$pTo) +\item +static bool {\bf x\_\-Open} (MCD\_\-CSTR\_\-FILENAME szFileName, {\bf FilePos} \&file) +\item +static bool {\bf x\_\-Read} (void $\ast$pBuffer, {\bf FilePos} \&file) +\item +static bool {\bf x\_\-ReadText} (MCD\_\-STR \&strDoc, {\bf FilePos} \&file) +\item +static bool {\bf x\_\-Write} (void $\ast$pBuffer, {\bf FilePos} \&file, const void $\ast$pConstBuffer=NULL) +\item +static bool {\bf x\_\-WriteText} (const MCD\_\-STR \&strDoc, {\bf FilePos} \&file) +\item +static bool {\bf x\_\-Close} ({\bf FilePos} \&file) +\item +static MCD\_\-STR {\bf x\_\-IntToStr} (int n) +\end{CompactItemize} +\subsection*{Protected Attributes} +\begin{CompactItemize} +\item +MCD\_\-STR {\bf m\_\-strDoc} +\item +MCD\_\-STR {\bf m\_\-strError} +\item +int {\bf m\_\-iPosParent} +\item +int {\bf m\_\-iPos} +\item +int {\bf m\_\-iPosChild} +\item +int {\bf m\_\-iPosFree} +\item +int {\bf m\_\-iPosDeleted} +\item +int {\bf m\_\-nNodeType} +\item +int {\bf m\_\-nNodeOffset} +\item +int {\bf m\_\-nNodeLength} +\item +int {\bf m\_\-nDocFlags} +\item +{\bf SavedPosMapArray} {\bf m\_\-SavedPosMapArray} +\item +{\bf PosArray} {\bf m\_\-aPos} +\end{CompactItemize} +\subsection*{Classes} +\begin{CompactItemize} +\item +struct {\bf ConvertEncoding} +\item +struct {\bf ElemPos} +\item +struct {\bf FilePos} +\item +struct {\bf NodePos} +\item +struct {\bf NodeStack} +\item +struct {\bf PosArray} +\item +struct {\bf SavedPos} +\item +struct {\bf SavedPosMap} +\item +struct {\bf SavedPosMapArray} +\item +struct {\bf TokenPos} +\end{CompactItemize} + + +\subsection{Member Enumeration Documentation} +\index{CMarkup@{CMarkup}!MarkupDocFlags@{MarkupDocFlags}} +\index{MarkupDocFlags@{MarkupDocFlags}!CMarkup@{CMarkup}} +\subsubsection[MarkupDocFlags]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf CMarkup::MarkupDocFlags}}\label{classCMarkup_c7127c7bea2c8b0be6c828b607e8554b} + + +\begin{Desc} +\item[Enumerator: ]\par +\begin{description} +\index{MDF\_\-UTF16LEFILE@{MDF\_\-UTF16LEFILE}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MDF\_\-UTF16LEFILE@{MDF\_\-UTF16LEFILE}}\item[{\em +MDF\_\-UTF16LEFILE\label{classCMarkup_c7127c7bea2c8b0be6c828b607e8554befcb2d72b1d16be29fa3321fdb90be5a} +}]\index{MDF\_\-UTF8PREAMBLE@{MDF\_\-UTF8PREAMBLE}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MDF\_\-UTF8PREAMBLE@{MDF\_\-UTF8PREAMBLE}}\item[{\em +MDF\_\-UTF8PREAMBLE\label{classCMarkup_c7127c7bea2c8b0be6c828b607e8554bafe9691400e459b31c79b838e9e1d9fc} +}]\index{MDF\_\-IGNORECASE@{MDF\_\-IGNORECASE}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MDF\_\-IGNORECASE@{MDF\_\-IGNORECASE}}\item[{\em +MDF\_\-IGNORECASE\label{classCMarkup_c7127c7bea2c8b0be6c828b607e8554b725e9783bc1deedb0c3b98e82a5707c1} +}]\index{MDF\_\-READFILE@{MDF\_\-READFILE}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MDF\_\-READFILE@{MDF\_\-READFILE}}\item[{\em +MDF\_\-READFILE\label{classCMarkup_c7127c7bea2c8b0be6c828b607e8554bd1a77f583c5d922529404846bd56c59e} +}]\index{MDF\_\-WRITEFILE@{MDF\_\-WRITEFILE}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MDF\_\-WRITEFILE@{MDF\_\-WRITEFILE}}\item[{\em +MDF\_\-WRITEFILE\label{classCMarkup_c7127c7bea2c8b0be6c828b607e8554ba765e050fcd8758d58b4b0573474a706} +}]\index{MDF\_\-APPENDFILE@{MDF\_\-APPENDFILE}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MDF\_\-APPENDFILE@{MDF\_\-APPENDFILE}}\item[{\em +MDF\_\-APPENDFILE\label{classCMarkup_c7127c7bea2c8b0be6c828b607e8554b44c9a6ce28bbb94646f77579b7638b28} +}]\index{MDF\_\-UTF16BEFILE@{MDF\_\-UTF16BEFILE}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MDF\_\-UTF16BEFILE@{MDF\_\-UTF16BEFILE}}\item[{\em +MDF\_\-UTF16BEFILE\label{classCMarkup_c7127c7bea2c8b0be6c828b607e8554b88c047641c1ec7fa6211443d45746a3b} +}]\end{description} +\end{Desc} + +\index{CMarkup@{CMarkup}!MarkupNodeFlags@{MarkupNodeFlags}} +\index{MarkupNodeFlags@{MarkupNodeFlags}!CMarkup@{CMarkup}} +\subsubsection[MarkupNodeFlags]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf CMarkup::MarkupNodeFlags}}\label{classCMarkup_2430b70622042675770921f21ee85de9} + + +\begin{Desc} +\item[Enumerator: ]\par +\begin{description} +\index{MNF\_\-WITHCDATA@{MNF\_\-WITHCDATA}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MNF\_\-WITHCDATA@{MNF\_\-WITHCDATA}}\item[{\em +MNF\_\-WITHCDATA\label{classCMarkup_2430b70622042675770921f21ee85de973723ee5750bd9abeb43360103219d3f} +}]\index{MNF\_\-WITHNOLINES@{MNF\_\-WITHNOLINES}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MNF\_\-WITHNOLINES@{MNF\_\-WITHNOLINES}}\item[{\em +MNF\_\-WITHNOLINES\label{classCMarkup_2430b70622042675770921f21ee85de9f0e3644e886a52e470a374f4c5f0043b} +}]\index{MNF\_\-WITHXHTMLSPACE@{MNF\_\-WITHXHTMLSPACE}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MNF\_\-WITHXHTMLSPACE@{MNF\_\-WITHXHTMLSPACE}}\item[{\em +MNF\_\-WITHXHTMLSPACE\label{classCMarkup_2430b70622042675770921f21ee85de960223e72ec909eb1fd56ac1f0f75f6fd} +}]\index{MNF\_\-WITHREFS@{MNF\_\-WITHREFS}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MNF\_\-WITHREFS@{MNF\_\-WITHREFS}}\item[{\em +MNF\_\-WITHREFS\label{classCMarkup_2430b70622042675770921f21ee85de9145d3689a42969290c7181f6c2f619f4} +}]\index{MNF\_\-WITHNOEND@{MNF\_\-WITHNOEND}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MNF\_\-WITHNOEND@{MNF\_\-WITHNOEND}}\item[{\em +MNF\_\-WITHNOEND\label{classCMarkup_2430b70622042675770921f21ee85de91628c1dfcdd804a46f573847b209edf0} +}]\index{MNF\_\-ESCAPEQUOTES@{MNF\_\-ESCAPEQUOTES}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MNF\_\-ESCAPEQUOTES@{MNF\_\-ESCAPEQUOTES}}\item[{\em +MNF\_\-ESCAPEQUOTES\label{classCMarkup_2430b70622042675770921f21ee85de9cdc9a302a8d019abf548f423c8f4f8cd} +}]\index{MNF\_\-NONENDED@{MNF\_\-NONENDED}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MNF\_\-NONENDED@{MNF\_\-NONENDED}}\item[{\em +MNF\_\-NONENDED\label{classCMarkup_2430b70622042675770921f21ee85de9dcbd22a2e5f43554eca309bbb5afe4fe} +}]\index{MNF\_\-ILLDATA@{MNF\_\-ILLDATA}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MNF\_\-ILLDATA@{MNF\_\-ILLDATA}}\item[{\em +MNF\_\-ILLDATA\label{classCMarkup_2430b70622042675770921f21ee85de9d613025f3363f3c24d0f2ad9148c3c19} +}]\end{description} +\end{Desc} + +\index{CMarkup@{CMarkup}!MarkupNodeType@{MarkupNodeType}} +\index{MarkupNodeType@{MarkupNodeType}!CMarkup@{CMarkup}} +\subsubsection[MarkupNodeType]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf CMarkup::MarkupNodeType}}\label{classCMarkup_a7f0377cbea81f5b932347af5fafab68} + + +\begin{Desc} +\item[Enumerator: ]\par +\begin{description} +\index{MNT\_\-ELEMENT@{MNT\_\-ELEMENT}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MNT\_\-ELEMENT@{MNT\_\-ELEMENT}}\item[{\em +MNT\_\-ELEMENT\label{classCMarkup_a7f0377cbea81f5b932347af5fafab689b3fc0d8f9bd45a9c917a064fef42f5d} +}]\index{MNT\_\-TEXT@{MNT\_\-TEXT}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MNT\_\-TEXT@{MNT\_\-TEXT}}\item[{\em +MNT\_\-TEXT\label{classCMarkup_a7f0377cbea81f5b932347af5fafab68dc0e43574b4e3717aa3736013c24a64c} +}]\index{MNT\_\-WHITESPACE@{MNT\_\-WHITESPACE}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MNT\_\-WHITESPACE@{MNT\_\-WHITESPACE}}\item[{\em +MNT\_\-WHITESPACE\label{classCMarkup_a7f0377cbea81f5b932347af5fafab68840c4d18280cdc454e51b86168ed8c11} +}]\index{MNT\_\-CDATA\_\-SECTION@{MNT\_\-CDATA\_\-SECTION}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MNT\_\-CDATA\_\-SECTION@{MNT\_\-CDATA\_\-SECTION}}\item[{\em +MNT\_\-CDATA\_\-SECTION\label{classCMarkup_a7f0377cbea81f5b932347af5fafab68e021e850432d978fc0c4a8e0d5cbe087} +}]\index{MNT\_\-PROCESSING\_\-INSTRUCTION@{MNT\_\-PROCESSING\_\-INSTRUCTION}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MNT\_\-PROCESSING\_\-INSTRUCTION@{MNT\_\-PROCESSING\_\-INSTRUCTION}}\item[{\em +MNT\_\-PROCESSING\_\-INSTRUCTION\label{classCMarkup_a7f0377cbea81f5b932347af5fafab68e9849c7b999daccf0cfcf9ec1b8301df} +}]\index{MNT\_\-COMMENT@{MNT\_\-COMMENT}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MNT\_\-COMMENT@{MNT\_\-COMMENT}}\item[{\em +MNT\_\-COMMENT\label{classCMarkup_a7f0377cbea81f5b932347af5fafab68cf2c2cdc9f12d1adcddb7698f2541d28} +}]\index{MNT\_\-DOCUMENT\_\-TYPE@{MNT\_\-DOCUMENT\_\-TYPE}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MNT\_\-DOCUMENT\_\-TYPE@{MNT\_\-DOCUMENT\_\-TYPE}}\item[{\em +MNT\_\-DOCUMENT\_\-TYPE\label{classCMarkup_a7f0377cbea81f5b932347af5fafab68d489a35314e38d5b0de86f484d16b064} +}]\index{MNT\_\-EXCLUDE\_\-WHITESPACE@{MNT\_\-EXCLUDE\_\-WHITESPACE}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MNT\_\-EXCLUDE\_\-WHITESPACE@{MNT\_\-EXCLUDE\_\-WHITESPACE}}\item[{\em +MNT\_\-EXCLUDE\_\-WHITESPACE\label{classCMarkup_a7f0377cbea81f5b932347af5fafab68fb5b9628a79d30a35162782c3c3b31b6} +}]\index{MNT\_\-LONE\_\-END\_\-TAG@{MNT\_\-LONE\_\-END\_\-TAG}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MNT\_\-LONE\_\-END\_\-TAG@{MNT\_\-LONE\_\-END\_\-TAG}}\item[{\em +MNT\_\-LONE\_\-END\_\-TAG\label{classCMarkup_a7f0377cbea81f5b932347af5fafab68cc28ec03a604f71e7fa96e844f5588b7} +}]\index{MNT\_\-NODE\_\-ERROR@{MNT\_\-NODE\_\-ERROR}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MNT\_\-NODE\_\-ERROR@{MNT\_\-NODE\_\-ERROR}}\item[{\em +MNT\_\-NODE\_\-ERROR\label{classCMarkup_a7f0377cbea81f5b932347af5fafab680ebc6e9e8955b4e44814e08f0fa843a1} +}]\end{description} +\end{Desc} + +\index{CMarkup@{CMarkup}!MarkupNodeFlagsInternal@{MarkupNodeFlagsInternal}} +\index{MarkupNodeFlagsInternal@{MarkupNodeFlagsInternal}!CMarkup@{CMarkup}} +\subsubsection[MarkupNodeFlagsInternal]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf CMarkup::MarkupNodeFlagsInternal}\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_cbbb329497c02ffa1894238b9dc01e8c} + + +\begin{Desc} +\item[Enumerator: ]\par +\begin{description} +\index{MNF\_\-REPLACE@{MNF\_\-REPLACE}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MNF\_\-REPLACE@{MNF\_\-REPLACE}}\item[{\em +MNF\_\-REPLACE\label{classCMarkup_cbbb329497c02ffa1894238b9dc01e8ca8715553759e26f92ea24e8b76b8b158} +}]\index{MNF\_\-INSERT@{MNF\_\-INSERT}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MNF\_\-INSERT@{MNF\_\-INSERT}}\item[{\em +MNF\_\-INSERT\label{classCMarkup_cbbb329497c02ffa1894238b9dc01e8cd3bd67680ce50796134080f5d10c9bd1} +}]\index{MNF\_\-CHILD@{MNF\_\-CHILD}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MNF\_\-CHILD@{MNF\_\-CHILD}}\item[{\em +MNF\_\-CHILD\label{classCMarkup_cbbb329497c02ffa1894238b9dc01e8cb6494b8591638c21266879931d5307b2} +}]\index{MNF\_\-QUOTED@{MNF\_\-QUOTED}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MNF\_\-QUOTED@{MNF\_\-QUOTED}}\item[{\em +MNF\_\-QUOTED\label{classCMarkup_cbbb329497c02ffa1894238b9dc01e8c897c4556a6eae4c07e2e2982d8f0f8d4} +}]\index{MNF\_\-EMPTY@{MNF\_\-EMPTY}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MNF\_\-EMPTY@{MNF\_\-EMPTY}}\item[{\em +MNF\_\-EMPTY\label{classCMarkup_cbbb329497c02ffa1894238b9dc01e8c9971060ae3d21c6df56dc12fe331a30e} +}]\index{MNF\_\-DELETED@{MNF\_\-DELETED}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MNF\_\-DELETED@{MNF\_\-DELETED}}\item[{\em +MNF\_\-DELETED\label{classCMarkup_cbbb329497c02ffa1894238b9dc01e8c99b57daa5da3a5a18fa0f0d6cf4b05b7} +}]\index{MNF\_\-FIRST@{MNF\_\-FIRST}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MNF\_\-FIRST@{MNF\_\-FIRST}}\item[{\em +MNF\_\-FIRST\label{classCMarkup_cbbb329497c02ffa1894238b9dc01e8c37da679825623e48b6a54516b870b9ae} +}]\index{MNF\_\-PUBLIC@{MNF\_\-PUBLIC}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MNF\_\-PUBLIC@{MNF\_\-PUBLIC}}\item[{\em +MNF\_\-PUBLIC\label{classCMarkup_cbbb329497c02ffa1894238b9dc01e8cf3bb3528caca376799c6eae33521787b} +}]\index{MNF\_\-ILLFORMED@{MNF\_\-ILLFORMED}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MNF\_\-ILLFORMED@{MNF\_\-ILLFORMED}}\item[{\em +MNF\_\-ILLFORMED\label{classCMarkup_cbbb329497c02ffa1894238b9dc01e8c3691b524fb3b4d734fd36fc62e3b1dc2} +}]\index{MNF\_\-USER@{MNF\_\-USER}!CMarkup@{CMarkup}}\index{CMarkup@{CMarkup}!MNF\_\-USER@{MNF\_\-USER}}\item[{\em +MNF\_\-USER\label{classCMarkup_cbbb329497c02ffa1894238b9dc01e8c346dcfb669d736fc52779ba6ebffecda} +}]\end{description} +\end{Desc} + + + +\subsection{Constructor \& Destructor Documentation} +\index{CMarkup@{CMarkup}!CMarkup@{CMarkup}} +\index{CMarkup@{CMarkup}!CMarkup@{CMarkup}} +\subsubsection[CMarkup]{\setlength{\rightskip}{0pt plus 5cm}CMarkup::CMarkup ()\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_ef1594806cb878a276025d452c919a29} + + + + +References InitDocFlags(), and SetDoc().\index{CMarkup@{CMarkup}!CMarkup@{CMarkup}} +\index{CMarkup@{CMarkup}!CMarkup@{CMarkup}} +\subsubsection[CMarkup]{\setlength{\rightskip}{0pt plus 5cm}CMarkup::CMarkup ({\bf MCD\_\-CSTR} {\em szDoc})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_186b921d6af5fde01449e5365eef095c} + + + + +References InitDocFlags(), and SetDoc().\index{CMarkup@{CMarkup}!CMarkup@{CMarkup}} +\index{CMarkup@{CMarkup}!CMarkup@{CMarkup}} +\subsubsection[CMarkup]{\setlength{\rightskip}{0pt plus 5cm}CMarkup::CMarkup (int {\em nFlags})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_9f3fdb3c94ce931f34e96bc387bfb199} + + + + +References m\_\-nDocFlags, and SetDoc().\index{CMarkup@{CMarkup}!CMarkup@{CMarkup}} +\index{CMarkup@{CMarkup}!CMarkup@{CMarkup}} +\subsubsection[CMarkup]{\setlength{\rightskip}{0pt plus 5cm}CMarkup::CMarkup (const {\bf CMarkup} \& {\em markup})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_e4dc90b99846d35849bc323064fbafcf} + + +\index{CMarkup@{CMarkup}!$\sim$CMarkup@{$\sim$CMarkup}} +\index{$\sim$CMarkup@{$\sim$CMarkup}!CMarkup@{CMarkup}} +\subsubsection[$\sim$CMarkup]{\setlength{\rightskip}{0pt plus 5cm}CMarkup::$\sim$CMarkup ()\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_8aa2cd9b38b3e173d2149914c59eb2b7} + + + + +\subsection{Member Function Documentation} +\index{CMarkup@{CMarkup}!operator=@{operator=}} +\index{operator=@{operator=}!CMarkup@{CMarkup}} +\subsubsection[operator=]{\setlength{\rightskip}{0pt plus 5cm}void CMarkup::operator= (const {\bf CMarkup} \& {\em markup})}\label{classCMarkup_3feb577bf5483591ac318ecf19cc6577} + + +\index{CMarkup@{CMarkup}!Load@{Load}} +\index{Load@{Load}!CMarkup@{CMarkup}} +\subsubsection[Load]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::Load (MCD\_\-CSTR\_\-FILENAME {\em szFileName})}\label{classCMarkup_c7604e24564eac2dce702f7fbaf430a6} + + +\index{CMarkup@{CMarkup}!SetDoc@{SetDoc}} +\index{SetDoc@{SetDoc}!CMarkup@{CMarkup}} +\subsubsection[SetDoc]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::SetDoc (MCD\_\-PCSZ {\em pDoc})}\label{classCMarkup_3f7b4f882a3ba216fdaf21b59778869d} + + + + +Referenced by CMarkup().\index{CMarkup@{CMarkup}!SetDoc@{SetDoc}} +\index{SetDoc@{SetDoc}!CMarkup@{CMarkup}} +\subsubsection[SetDoc]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::SetDoc (const MCD\_\-STR \& {\em strDoc})}\label{classCMarkup_785043b375dbe831b700722518dcd29f} + + +\index{CMarkup@{CMarkup}!IsWellFormed@{IsWellFormed}} +\index{IsWellFormed@{IsWellFormed}!CMarkup@{CMarkup}} +\subsubsection[IsWellFormed]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::IsWellFormed ()}\label{classCMarkup_f3a54e13b8565c2789c2c80aa2c9a563} + + +\index{CMarkup@{CMarkup}!FindElem@{FindElem}} +\index{FindElem@{FindElem}!CMarkup@{CMarkup}} +\subsubsection[FindElem]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::FindElem ({\bf MCD\_\-CSTR} {\em szName} = {\tt NULL})}\label{classCMarkup_dc3e9cb6eb579afdf10bef7e91da746a} + + +\index{CMarkup@{CMarkup}!FindChildElem@{FindChildElem}} +\index{FindChildElem@{FindChildElem}!CMarkup@{CMarkup}} +\subsubsection[FindChildElem]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::FindChildElem ({\bf MCD\_\-CSTR} {\em szName} = {\tt NULL})}\label{classCMarkup_8a882f72c9b206ed833c45ca9376e3d8} + + +\index{CMarkup@{CMarkup}!IntoElem@{IntoElem}} +\index{IntoElem@{IntoElem}!CMarkup@{CMarkup}} +\subsubsection[IntoElem]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::IntoElem ()}\label{classCMarkup_e6136fa65e4f1927fe763d011d3eb9a3} + + +\index{CMarkup@{CMarkup}!OutOfElem@{OutOfElem}} +\index{OutOfElem@{OutOfElem}!CMarkup@{CMarkup}} +\subsubsection[OutOfElem]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::OutOfElem ()}\label{classCMarkup_012bca9ceaf157033a5697fa6ea92e45} + + +\index{CMarkup@{CMarkup}!ResetChildPos@{ResetChildPos}} +\index{ResetChildPos@{ResetChildPos}!CMarkup@{CMarkup}} +\subsubsection[ResetChildPos]{\setlength{\rightskip}{0pt plus 5cm}void CMarkup::ResetChildPos ()\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_b7c6cb57c9cca484ed7b1d741c5d37ee} + + + + +References m\_\-iPos, m\_\-iPosParent, and x\_\-SetPos().\index{CMarkup@{CMarkup}!ResetMainPos@{ResetMainPos}} +\index{ResetMainPos@{ResetMainPos}!CMarkup@{CMarkup}} +\subsubsection[ResetMainPos]{\setlength{\rightskip}{0pt plus 5cm}void CMarkup::ResetMainPos ()\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_17a436dfc77e82619ad186e784a26ce7} + + + + +References m\_\-iPosParent, and x\_\-SetPos().\index{CMarkup@{CMarkup}!ResetPos@{ResetPos}} +\index{ResetPos@{ResetPos}!CMarkup@{CMarkup}} +\subsubsection[ResetPos]{\setlength{\rightskip}{0pt plus 5cm}void CMarkup::ResetPos ()\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_834ff734949071455e5808aaf7c82f03} + + + + +References x\_\-SetPos().\index{CMarkup@{CMarkup}!GetTagName@{GetTagName}} +\index{GetTagName@{GetTagName}!CMarkup@{CMarkup}} +\subsubsection[GetTagName]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-STR CMarkup::GetTagName () const}\label{classCMarkup_0fcd179bb0ba35d6a262d571c1ef1004} + + +\index{CMarkup@{CMarkup}!GetChildTagName@{GetChildTagName}} +\index{GetChildTagName@{GetChildTagName}!CMarkup@{CMarkup}} +\subsubsection[GetChildTagName]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-STR CMarkup::GetChildTagName () const\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_2409a176f7a964dc6e0bf73f5ba47863} + + + + +References m\_\-iPosChild, and x\_\-GetTagName().\index{CMarkup@{CMarkup}!GetData@{GetData}} +\index{GetData@{GetData}!CMarkup@{CMarkup}} +\subsubsection[GetData]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-STR CMarkup::GetData () const\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_1a671b10223425ac4fc600c96366b0d2} + + + + +References m\_\-iPos, and x\_\-GetData().\index{CMarkup@{CMarkup}!GetChildData@{GetChildData}} +\index{GetChildData@{GetChildData}!CMarkup@{CMarkup}} +\subsubsection[GetChildData]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-STR CMarkup::GetChildData () const\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_7b66931cdfa9bf4423aaeb1cb37fa6f5} + + + + +References m\_\-iPosChild, and x\_\-GetData().\index{CMarkup@{CMarkup}!GetElemContent@{GetElemContent}} +\index{GetElemContent@{GetElemContent}!CMarkup@{CMarkup}} +\subsubsection[GetElemContent]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-STR CMarkup::GetElemContent () const\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_9dfbb66afa75291b5ed19b51e0f6357b} + + + + +References m\_\-iPos, and x\_\-GetElemContent().\index{CMarkup@{CMarkup}!GetAttrib@{GetAttrib}} +\index{GetAttrib@{GetAttrib}!CMarkup@{CMarkup}} +\subsubsection[GetAttrib]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-STR CMarkup::GetAttrib ({\bf MCD\_\-CSTR} {\em szAttrib}) const\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_de52b4aa36263acc26c8d4f75e8941eb} + + + + +References m\_\-iPos, and x\_\-GetAttrib().\index{CMarkup@{CMarkup}!GetChildAttrib@{GetChildAttrib}} +\index{GetChildAttrib@{GetChildAttrib}!CMarkup@{CMarkup}} +\subsubsection[GetChildAttrib]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-STR CMarkup::GetChildAttrib ({\bf MCD\_\-CSTR} {\em szAttrib}) const\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_d617eafd272e9c1b18bcc6c9128815fd} + + + + +References m\_\-iPosChild, and x\_\-GetAttrib().\index{CMarkup@{CMarkup}!GetAttribName@{GetAttribName}} +\index{GetAttribName@{GetAttribName}!CMarkup@{CMarkup}} +\subsubsection[GetAttribName]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-STR CMarkup::GetAttribName (int {\em n}) const}\label{classCMarkup_737ea06600da95647a09bd2375e2baa3} + + +\index{CMarkup@{CMarkup}!FindNode@{FindNode}} +\index{FindNode@{FindNode}!CMarkup@{CMarkup}} +\subsubsection[FindNode]{\setlength{\rightskip}{0pt plus 5cm}int CMarkup::FindNode (int {\em nType} = {\tt 0})}\label{classCMarkup_e29573627f9b0cdc0d7152ff749ba407} + + +\index{CMarkup@{CMarkup}!GetNodeType@{GetNodeType}} +\index{GetNodeType@{GetNodeType}!CMarkup@{CMarkup}} +\subsubsection[GetNodeType]{\setlength{\rightskip}{0pt plus 5cm}int CMarkup::GetNodeType ()\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_86a5f997b734d560b3b21c8ef89d3a57} + + + + +References m\_\-nNodeType.\index{CMarkup@{CMarkup}!SavePos@{SavePos}} +\index{SavePos@{SavePos}!CMarkup@{CMarkup}} +\subsubsection[SavePos]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::SavePos ({\bf MCD\_\-CSTR} {\em szPosName} = {\tt MCD\_\-T(\char`\"{}\char`\"{})}, \/ int {\em nMap} = {\tt 0})}\label{classCMarkup_21279989fdcfbed6ed4d8824b9614eb0} + + +\index{CMarkup@{CMarkup}!RestorePos@{RestorePos}} +\index{RestorePos@{RestorePos}!CMarkup@{CMarkup}} +\subsubsection[RestorePos]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::RestorePos ({\bf MCD\_\-CSTR} {\em szPosName} = {\tt MCD\_\-T(\char`\"{}\char`\"{})}, \/ int {\em nMap} = {\tt 0})}\label{classCMarkup_dbab6d52d320eac695850f0b47e5b5ce} + + +\index{CMarkup@{CMarkup}!SetMapSize@{SetMapSize}} +\index{SetMapSize@{SetMapSize}!CMarkup@{CMarkup}} +\subsubsection[SetMapSize]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::SetMapSize (int {\em nSize}, \/ int {\em nMap} = {\tt 0})}\label{classCMarkup_834d5e280500d0f62cd6fdb53b834ebb} + + +\index{CMarkup@{CMarkup}!GetError@{GetError}} +\index{GetError@{GetError}!CMarkup@{CMarkup}} +\subsubsection[GetError]{\setlength{\rightskip}{0pt plus 5cm}const MCD\_\-STR\& CMarkup::GetError () const\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_15f1042ff13167216b741f360e88f649} + + + + +References m\_\-strError.\index{CMarkup@{CMarkup}!GetDocFlags@{GetDocFlags}} +\index{GetDocFlags@{GetDocFlags}!CMarkup@{CMarkup}} +\subsubsection[GetDocFlags]{\setlength{\rightskip}{0pt plus 5cm}int CMarkup::GetDocFlags () const\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_455d13d62ba9f2fd3ce6ad3802376c1c} + + + + +References m\_\-nDocFlags.\index{CMarkup@{CMarkup}!SetDocFlags@{SetDocFlags}} +\index{SetDocFlags@{SetDocFlags}!CMarkup@{CMarkup}} +\subsubsection[SetDocFlags]{\setlength{\rightskip}{0pt plus 5cm}void CMarkup::SetDocFlags (int {\em nFlags})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_3cf48b937254c4cd36e0c9cc7b76cff1} + + + + +References m\_\-nDocFlags.\index{CMarkup@{CMarkup}!Save@{Save}} +\index{Save@{Save}!CMarkup@{CMarkup}} +\subsubsection[Save]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::Save (MCD\_\-CSTR\_\-FILENAME {\em szFileName})}\label{classCMarkup_61b774f533449eeda7f3d78d8d69e4fb} + + +\index{CMarkup@{CMarkup}!GetDoc@{GetDoc}} +\index{GetDoc@{GetDoc}!CMarkup@{CMarkup}} +\subsubsection[GetDoc]{\setlength{\rightskip}{0pt plus 5cm}const MCD\_\-STR\& CMarkup::GetDoc () const\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_04364a3697a67d5652b2259bd8b17889} + + + + +References m\_\-strDoc.\index{CMarkup@{CMarkup}!AddElem@{AddElem}} +\index{AddElem@{AddElem}!CMarkup@{CMarkup}} +\subsubsection[AddElem]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::AddElem ({\bf MCD\_\-CSTR} {\em szName}, \/ {\bf MCD\_\-CSTR} {\em szData} = {\tt NULL}, \/ int {\em nFlags} = {\tt 0})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_4662396e9424b09566bdcc678ad9dd74} + + + + +References x\_\-AddElem().\index{CMarkup@{CMarkup}!InsertElem@{InsertElem}} +\index{InsertElem@{InsertElem}!CMarkup@{CMarkup}} +\subsubsection[InsertElem]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::InsertElem ({\bf MCD\_\-CSTR} {\em szName}, \/ {\bf MCD\_\-CSTR} {\em szData} = {\tt NULL}, \/ int {\em nFlags} = {\tt 0})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_becf9cd13700fc16d44bef412d76beaf} + + + + +References MNF\_\-INSERT, and x\_\-AddElem().\index{CMarkup@{CMarkup}!AddChildElem@{AddChildElem}} +\index{AddChildElem@{AddChildElem}!CMarkup@{CMarkup}} +\subsubsection[AddChildElem]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::AddChildElem ({\bf MCD\_\-CSTR} {\em szName}, \/ {\bf MCD\_\-CSTR} {\em szData} = {\tt NULL}, \/ int {\em nFlags} = {\tt 0})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_013e1b40382e8d06410f8a7e823976a1} + + + + +References MNF\_\-CHILD, and x\_\-AddElem().\index{CMarkup@{CMarkup}!InsertChildElem@{InsertChildElem}} +\index{InsertChildElem@{InsertChildElem}!CMarkup@{CMarkup}} +\subsubsection[InsertChildElem]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::InsertChildElem ({\bf MCD\_\-CSTR} {\em szName}, \/ {\bf MCD\_\-CSTR} {\em szData} = {\tt NULL}, \/ int {\em nFlags} = {\tt 0})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_e7ec8b7cc039f3308ab23a1465883061} + + + + +References MNF\_\-CHILD, MNF\_\-INSERT, and x\_\-AddElem().\index{CMarkup@{CMarkup}!AddElem@{AddElem}} +\index{AddElem@{AddElem}!CMarkup@{CMarkup}} +\subsubsection[AddElem]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::AddElem ({\bf MCD\_\-CSTR} {\em szName}, \/ int {\em nValue}, \/ int {\em nFlags} = {\tt 0})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_4ed6f7e35a579b846c3a7cc8cae55bf3} + + + + +References x\_\-AddElem().\index{CMarkup@{CMarkup}!InsertElem@{InsertElem}} +\index{InsertElem@{InsertElem}!CMarkup@{CMarkup}} +\subsubsection[InsertElem]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::InsertElem ({\bf MCD\_\-CSTR} {\em szName}, \/ int {\em nValue}, \/ int {\em nFlags} = {\tt 0})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_d0548425b4e5e0522b33a9f5e30c36ca} + + + + +References MNF\_\-INSERT, and x\_\-AddElem().\index{CMarkup@{CMarkup}!AddChildElem@{AddChildElem}} +\index{AddChildElem@{AddChildElem}!CMarkup@{CMarkup}} +\subsubsection[AddChildElem]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::AddChildElem ({\bf MCD\_\-CSTR} {\em szName}, \/ int {\em nValue}, \/ int {\em nFlags} = {\tt 0})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_a5d807472725dd66a45a94ca9b0e7e35} + + + + +References MNF\_\-CHILD, and x\_\-AddElem().\index{CMarkup@{CMarkup}!InsertChildElem@{InsertChildElem}} +\index{InsertChildElem@{InsertChildElem}!CMarkup@{CMarkup}} +\subsubsection[InsertChildElem]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::InsertChildElem ({\bf MCD\_\-CSTR} {\em szName}, \/ int {\em nValue}, \/ int {\em nFlags} = {\tt 0})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_91c3a9a4a47a3c8c9e184d9a6ee7f97a} + + + + +References MNF\_\-CHILD, MNF\_\-INSERT, and x\_\-AddElem().\index{CMarkup@{CMarkup}!AddAttrib@{AddAttrib}} +\index{AddAttrib@{AddAttrib}!CMarkup@{CMarkup}} +\subsubsection[AddAttrib]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::AddAttrib ({\bf MCD\_\-CSTR} {\em szAttrib}, \/ {\bf MCD\_\-CSTR} {\em szValue})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_0e563a8e5187c6145ef7da0eda8f48a0} + + + + +References m\_\-iPos, and x\_\-SetAttrib().\index{CMarkup@{CMarkup}!AddChildAttrib@{AddChildAttrib}} +\index{AddChildAttrib@{AddChildAttrib}!CMarkup@{CMarkup}} +\subsubsection[AddChildAttrib]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::AddChildAttrib ({\bf MCD\_\-CSTR} {\em szAttrib}, \/ {\bf MCD\_\-CSTR} {\em szValue})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_abf8a4d65e8d1e24dab3f3299c82a51b} + + + + +References m\_\-iPosChild, and x\_\-SetAttrib().\index{CMarkup@{CMarkup}!AddAttrib@{AddAttrib}} +\index{AddAttrib@{AddAttrib}!CMarkup@{CMarkup}} +\subsubsection[AddAttrib]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::AddAttrib ({\bf MCD\_\-CSTR} {\em szAttrib}, \/ int {\em nValue})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_003a55d86bd2c78646abd3f408bd4acb} + + + + +References m\_\-iPos, and x\_\-SetAttrib().\index{CMarkup@{CMarkup}!AddChildAttrib@{AddChildAttrib}} +\index{AddChildAttrib@{AddChildAttrib}!CMarkup@{CMarkup}} +\subsubsection[AddChildAttrib]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::AddChildAttrib ({\bf MCD\_\-CSTR} {\em szAttrib}, \/ int {\em nValue})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_6038dab1d6fe99029937e6701c3d33d8} + + + + +References m\_\-iPosChild, and x\_\-SetAttrib().\index{CMarkup@{CMarkup}!AddSubDoc@{AddSubDoc}} +\index{AddSubDoc@{AddSubDoc}!CMarkup@{CMarkup}} +\subsubsection[AddSubDoc]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::AddSubDoc ({\bf MCD\_\-CSTR} {\em szSubDoc})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_cc3a92d27a83cd20854244027b0269b7} + + + + +References x\_\-AddSubDoc().\index{CMarkup@{CMarkup}!InsertSubDoc@{InsertSubDoc}} +\index{InsertSubDoc@{InsertSubDoc}!CMarkup@{CMarkup}} +\subsubsection[InsertSubDoc]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::InsertSubDoc ({\bf MCD\_\-CSTR} {\em szSubDoc})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_8f2a8484e2d4f8a27032f14818d96a66} + + + + +References MNF\_\-INSERT, and x\_\-AddSubDoc().\index{CMarkup@{CMarkup}!GetSubDoc@{GetSubDoc}} +\index{GetSubDoc@{GetSubDoc}!CMarkup@{CMarkup}} +\subsubsection[GetSubDoc]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-STR CMarkup::GetSubDoc () const\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_9d963c7234a4cecc16d9bd46c32ff87a} + + + + +References m\_\-iPos, and x\_\-GetSubDoc().\index{CMarkup@{CMarkup}!AddChildSubDoc@{AddChildSubDoc}} +\index{AddChildSubDoc@{AddChildSubDoc}!CMarkup@{CMarkup}} +\subsubsection[AddChildSubDoc]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::AddChildSubDoc ({\bf MCD\_\-CSTR} {\em szSubDoc})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_3500f6d0c1ea550bfd70c0dc0b1217c2} + + + + +References MNF\_\-CHILD, and x\_\-AddSubDoc().\index{CMarkup@{CMarkup}!InsertChildSubDoc@{InsertChildSubDoc}} +\index{InsertChildSubDoc@{InsertChildSubDoc}!CMarkup@{CMarkup}} +\subsubsection[InsertChildSubDoc]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::InsertChildSubDoc ({\bf MCD\_\-CSTR} {\em szSubDoc})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_f77bad4653eb8a9396844ea0d94c19a7} + + + + +References MNF\_\-CHILD, MNF\_\-INSERT, and x\_\-AddSubDoc().\index{CMarkup@{CMarkup}!GetChildSubDoc@{GetChildSubDoc}} +\index{GetChildSubDoc@{GetChildSubDoc}!CMarkup@{CMarkup}} +\subsubsection[GetChildSubDoc]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-STR CMarkup::GetChildSubDoc () const\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_5957fb2553a8104d064a5adf1726b838} + + + + +References m\_\-iPosChild, and x\_\-GetSubDoc().\index{CMarkup@{CMarkup}!AddNode@{AddNode}} +\index{AddNode@{AddNode}!CMarkup@{CMarkup}} +\subsubsection[AddNode]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::AddNode (int {\em nType}, \/ {\bf MCD\_\-CSTR} {\em szText})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_650eb815a83605636088c30de6f4e6a7} + + + + +References x\_\-AddNode().\index{CMarkup@{CMarkup}!InsertNode@{InsertNode}} +\index{InsertNode@{InsertNode}!CMarkup@{CMarkup}} +\subsubsection[InsertNode]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::InsertNode (int {\em nType}, \/ {\bf MCD\_\-CSTR} {\em szText})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_3217ba51dd76d42272bb7e2cddfb3102} + + + + +References MNF\_\-INSERT, and x\_\-AddNode().\index{CMarkup@{CMarkup}!RemoveElem@{RemoveElem}} +\index{RemoveElem@{RemoveElem}!CMarkup@{CMarkup}} +\subsubsection[RemoveElem]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::RemoveElem ()}\label{classCMarkup_e2184e5dbf2aaf056aaad6a3690e2963} + + +\index{CMarkup@{CMarkup}!RemoveChildElem@{RemoveChildElem}} +\index{RemoveChildElem@{RemoveChildElem}!CMarkup@{CMarkup}} +\subsubsection[RemoveChildElem]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::RemoveChildElem ()}\label{classCMarkup_7f1b54d8bcb5c68cf823835c98d41ae9} + + +\index{CMarkup@{CMarkup}!RemoveNode@{RemoveNode}} +\index{RemoveNode@{RemoveNode}!CMarkup@{CMarkup}} +\subsubsection[RemoveNode]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::RemoveNode ()}\label{classCMarkup_521a5dc4f62c9535a45cfc5a765df1e7} + + +\index{CMarkup@{CMarkup}!SetAttrib@{SetAttrib}} +\index{SetAttrib@{SetAttrib}!CMarkup@{CMarkup}} +\subsubsection[SetAttrib]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::SetAttrib ({\bf MCD\_\-CSTR} {\em szAttrib}, \/ {\bf MCD\_\-CSTR} {\em szValue}, \/ int {\em nFlags} = {\tt 0})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_e358f67c104c9b02e93a8a33cd81093f} + + + + +References m\_\-iPos, and x\_\-SetAttrib().\index{CMarkup@{CMarkup}!SetChildAttrib@{SetChildAttrib}} +\index{SetChildAttrib@{SetChildAttrib}!CMarkup@{CMarkup}} +\subsubsection[SetChildAttrib]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::SetChildAttrib ({\bf MCD\_\-CSTR} {\em szAttrib}, \/ {\bf MCD\_\-CSTR} {\em szValue}, \/ int {\em nFlags} = {\tt 0})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_054134023f97323604f77feefb3ab8b4} + + + + +References m\_\-iPosChild, and x\_\-SetAttrib().\index{CMarkup@{CMarkup}!SetAttrib@{SetAttrib}} +\index{SetAttrib@{SetAttrib}!CMarkup@{CMarkup}} +\subsubsection[SetAttrib]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::SetAttrib ({\bf MCD\_\-CSTR} {\em szAttrib}, \/ int {\em nValue}, \/ int {\em nFlags} = {\tt 0})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_a1b52eb318133c539e5eaf23915321ad} + + + + +References m\_\-iPos, and x\_\-SetAttrib().\index{CMarkup@{CMarkup}!SetChildAttrib@{SetChildAttrib}} +\index{SetChildAttrib@{SetChildAttrib}!CMarkup@{CMarkup}} +\subsubsection[SetChildAttrib]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::SetChildAttrib ({\bf MCD\_\-CSTR} {\em szAttrib}, \/ int {\em nValue}, \/ int {\em nFlags} = {\tt 0})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_17d99292ae941bb12e4a10a285efd363} + + + + +References m\_\-iPosChild, and x\_\-SetAttrib().\index{CMarkup@{CMarkup}!SetData@{SetData}} +\index{SetData@{SetData}!CMarkup@{CMarkup}} +\subsubsection[SetData]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::SetData ({\bf MCD\_\-CSTR} {\em szData}, \/ int {\em nFlags} = {\tt 0})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_65f994e7c180c9e02cb8a3deb9cc1a32} + + + + +References m\_\-iPos, and x\_\-SetData().\index{CMarkup@{CMarkup}!SetChildData@{SetChildData}} +\index{SetChildData@{SetChildData}!CMarkup@{CMarkup}} +\subsubsection[SetChildData]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::SetChildData ({\bf MCD\_\-CSTR} {\em szData}, \/ int {\em nFlags} = {\tt 0})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_b2db581de961cbdf0004e9377029a8c7} + + + + +References m\_\-iPosChild, and x\_\-SetData().\index{CMarkup@{CMarkup}!SetData@{SetData}} +\index{SetData@{SetData}!CMarkup@{CMarkup}} +\subsubsection[SetData]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::SetData (int {\em nValue})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_ce922c959d826b28f4ad2b279697238b} + + + + +References m\_\-iPos, and x\_\-SetData().\index{CMarkup@{CMarkup}!SetChildData@{SetChildData}} +\index{SetChildData@{SetChildData}!CMarkup@{CMarkup}} +\subsubsection[SetChildData]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::SetChildData (int {\em nValue})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_ffe236d0a43d1ac2502fef04b5d701c5} + + + + +References m\_\-iPosChild, and x\_\-SetData().\index{CMarkup@{CMarkup}!SetElemContent@{SetElemContent}} +\index{SetElemContent@{SetElemContent}!CMarkup@{CMarkup}} +\subsubsection[SetElemContent]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::SetElemContent ({\bf MCD\_\-CSTR} {\em szContent})\hspace{0.3cm}{\tt [inline]}}\label{classCMarkup_9ee2b70e88102a9d98d54be9b6f27172} + + + + +References x\_\-SetElemContent().\index{CMarkup@{CMarkup}!ReadTextFile@{ReadTextFile}} +\index{ReadTextFile@{ReadTextFile}!CMarkup@{CMarkup}} +\subsubsection[ReadTextFile]{\setlength{\rightskip}{0pt plus 5cm}static bool CMarkup::ReadTextFile (MCD\_\-CSTR\_\-FILENAME {\em szFileName}, \/ MCD\_\-STR \& {\em strDoc}, \/ MCD\_\-STR $\ast$ {\em pstrError} = {\tt NULL}, \/ int $\ast$ {\em pnDocFlags} = {\tt NULL}, \/ MCD\_\-STR $\ast$ {\em pstrEncoding} = {\tt NULL})\hspace{0.3cm}{\tt [static]}}\label{classCMarkup_6d871eed98105bf74b09c3412d8e5b56} + + +\index{CMarkup@{CMarkup}!WriteTextFile@{WriteTextFile}} +\index{WriteTextFile@{WriteTextFile}!CMarkup@{CMarkup}} +\subsubsection[WriteTextFile]{\setlength{\rightskip}{0pt plus 5cm}static bool CMarkup::WriteTextFile (MCD\_\-CSTR\_\-FILENAME {\em szFileName}, \/ const MCD\_\-STR \& {\em strDoc}, \/ MCD\_\-STR $\ast$ {\em pstrError} = {\tt NULL}, \/ int $\ast$ {\em pnDocFlags} = {\tt NULL}, \/ MCD\_\-STR $\ast$ {\em pstrEncoding} = {\tt NULL})\hspace{0.3cm}{\tt [static]}}\label{classCMarkup_983286cbcb7c4f9aa1f462ffb5dc641f} + + +\index{CMarkup@{CMarkup}!EscapeText@{EscapeText}} +\index{EscapeText@{EscapeText}!CMarkup@{CMarkup}} +\subsubsection[EscapeText]{\setlength{\rightskip}{0pt plus 5cm}static MCD\_\-STR CMarkup::EscapeText ({\bf MCD\_\-CSTR} {\em szText}, \/ int {\em nFlags} = {\tt 0})\hspace{0.3cm}{\tt [static]}}\label{classCMarkup_ba91db9799ea46f2594a85f7026b6034} + + +\index{CMarkup@{CMarkup}!UnescapeText@{UnescapeText}} +\index{UnescapeText@{UnescapeText}!CMarkup@{CMarkup}} +\subsubsection[UnescapeText]{\setlength{\rightskip}{0pt plus 5cm}static MCD\_\-STR CMarkup::UnescapeText ({\bf MCD\_\-CSTR} {\em szText}, \/ int {\em nTextLength} = {\tt -1})\hspace{0.3cm}{\tt [static]}}\label{classCMarkup_e4b84116d09deeeb06fdbb51a9550ad1} + + +\index{CMarkup@{CMarkup}!UTF16To8@{UTF16To8}} +\index{UTF16To8@{UTF16To8}!CMarkup@{CMarkup}} +\subsubsection[UTF16To8]{\setlength{\rightskip}{0pt plus 5cm}static int CMarkup::UTF16To8 (char $\ast$ {\em pszUTF8}, \/ const unsigned short $\ast$ {\em pwszUTF16}, \/ int {\em nUTF8Count})\hspace{0.3cm}{\tt [static]}}\label{classCMarkup_cf38e3d9c2a76d33f942b15af22c36bd} + + +\index{CMarkup@{CMarkup}!UTF8To16@{UTF8To16}} +\index{UTF8To16@{UTF8To16}!CMarkup@{CMarkup}} +\subsubsection[UTF8To16]{\setlength{\rightskip}{0pt plus 5cm}static int CMarkup::UTF8To16 (unsigned short $\ast$ {\em pwszUTF16}, \/ const char $\ast$ {\em pszUTF8}, \/ int {\em nUTF8Count})\hspace{0.3cm}{\tt [static]}}\label{classCMarkup_c5196f0e363a619fad8dbf5c0ea55d31} + + +\index{CMarkup@{CMarkup}!UTF8ToA@{UTF8ToA}} +\index{UTF8ToA@{UTF8ToA}!CMarkup@{CMarkup}} +\subsubsection[UTF8ToA]{\setlength{\rightskip}{0pt plus 5cm}static MCD\_\-STR CMarkup::UTF8ToA ({\bf MCD\_\-CSTR} {\em pszUTF8}, \/ int $\ast$ {\em pnFailed} = {\tt NULL})\hspace{0.3cm}{\tt [static]}}\label{classCMarkup_8e6cb088e69b6078f5923b0940fd647c} + + +\index{CMarkup@{CMarkup}!AToUTF8@{AToUTF8}} +\index{AToUTF8@{AToUTF8}!CMarkup@{CMarkup}} +\subsubsection[AToUTF8]{\setlength{\rightskip}{0pt plus 5cm}static MCD\_\-STR CMarkup::AToUTF8 ({\bf MCD\_\-CSTR} {\em pszANSI})\hspace{0.3cm}{\tt [static]}}\label{classCMarkup_3257cd5f249587254e816d12bd3b0e0d} + + +\index{CMarkup@{CMarkup}!EncodeCharUTF8@{EncodeCharUTF8}} +\index{EncodeCharUTF8@{EncodeCharUTF8}!CMarkup@{CMarkup}} +\subsubsection[EncodeCharUTF8]{\setlength{\rightskip}{0pt plus 5cm}static void CMarkup::EncodeCharUTF8 (int {\em nUChar}, \/ char $\ast$ {\em pszUTF8}, \/ int \& {\em nUTF8Len})\hspace{0.3cm}{\tt [static]}}\label{classCMarkup_10ff4693c95b049ad13b9537858aabfd} + + +\index{CMarkup@{CMarkup}!DecodeCharUTF8@{DecodeCharUTF8}} +\index{DecodeCharUTF8@{DecodeCharUTF8}!CMarkup@{CMarkup}} +\subsubsection[DecodeCharUTF8]{\setlength{\rightskip}{0pt plus 5cm}static int CMarkup::DecodeCharUTF8 (const char $\ast$\& {\em pszUTF8}, \/ const char $\ast$ {\em pszUTF8End} = {\tt NULL})\hspace{0.3cm}{\tt [static]}}\label{classCMarkup_637a7f8239f974d4ce5fe2e33336ca9e} + + +\index{CMarkup@{CMarkup}!EncodeCharUTF16@{EncodeCharUTF16}} +\index{EncodeCharUTF16@{EncodeCharUTF16}!CMarkup@{CMarkup}} +\subsubsection[EncodeCharUTF16]{\setlength{\rightskip}{0pt plus 5cm}static void CMarkup::EncodeCharUTF16 (int {\em nUChar}, \/ unsigned short $\ast$ {\em pwszUTF16}, \/ int \& {\em nUTF16Len})\hspace{0.3cm}{\tt [static]}}\label{classCMarkup_08ef725aa1de4831643e478da1aa582e} + + +\index{CMarkup@{CMarkup}!DecodeCharUTF16@{DecodeCharUTF16}} +\index{DecodeCharUTF16@{DecodeCharUTF16}!CMarkup@{CMarkup}} +\subsubsection[DecodeCharUTF16]{\setlength{\rightskip}{0pt plus 5cm}static int CMarkup::DecodeCharUTF16 (const unsigned short $\ast$\& {\em pwszUTF16}, \/ const unsigned short $\ast$ {\em pszUTF16End} = {\tt NULL})\hspace{0.3cm}{\tt [static]}}\label{classCMarkup_7eb3cf4b83927047fd4d9ee61ce3f246} + + +\index{CMarkup@{CMarkup}!DetectUTF8@{DetectUTF8}} +\index{DetectUTF8@{DetectUTF8}!CMarkup@{CMarkup}} +\subsubsection[DetectUTF8]{\setlength{\rightskip}{0pt plus 5cm}static bool CMarkup::DetectUTF8 (const char $\ast$ {\em pText}, \/ int {\em nTextLen}, \/ int $\ast$ {\em pnNonASCII} = {\tt NULL})\hspace{0.3cm}{\tt [static]}}\label{classCMarkup_f91e20dfe9e95194e3ca8143eeb889c2} + + +\index{CMarkup@{CMarkup}!GetDeclaredEncoding@{GetDeclaredEncoding}} +\index{GetDeclaredEncoding@{GetDeclaredEncoding}!CMarkup@{CMarkup}} +\subsubsection[GetDeclaredEncoding]{\setlength{\rightskip}{0pt plus 5cm}static MCD\_\-STR CMarkup::GetDeclaredEncoding ({\bf MCD\_\-CSTR} {\em szDoc})\hspace{0.3cm}{\tt [static]}}\label{classCMarkup_1f2b3c176609588986004058a77afe27} + + +\index{CMarkup@{CMarkup}!x\_\-SetPos@{x\_\-SetPos}} +\index{x\_\-SetPos@{x\_\-SetPos}!CMarkup@{CMarkup}} +\subsubsection[x\_\-SetPos]{\setlength{\rightskip}{0pt plus 5cm}void CMarkup::x\_\-SetPos (int {\em iPosParent}, \/ int {\em iPos}, \/ int {\em iPosChild})\hspace{0.3cm}{\tt [inline, protected]}}\label{classCMarkup_b64a1aaeaef4deab466af63b9bb82924} + + + + +References m\_\-iPos, m\_\-iPosChild, m\_\-iPosParent, m\_\-nNodeLength, m\_\-nNodeOffset, m\_\-nNodeType, MARKUP\_\-SETDEBUGSTATE, and MNT\_\-ELEMENT. + +Referenced by ResetChildPos(), ResetMainPos(), and ResetPos().\index{CMarkup@{CMarkup}!x\_\-GetFreePos@{x\_\-GetFreePos}} +\index{x\_\-GetFreePos@{x\_\-GetFreePos}!CMarkup@{CMarkup}} +\subsubsection[x\_\-GetFreePos]{\setlength{\rightskip}{0pt plus 5cm}int CMarkup::x\_\-GetFreePos ()\hspace{0.3cm}{\tt [inline, protected]}}\label{classCMarkup_43983d1f3627432ce893f5e0898848f2} + + + + +References CMarkup::PosArray::GetSize(), m\_\-aPos, m\_\-iPosFree, and x\_\-AllocPosArray().\index{CMarkup@{CMarkup}!x\_\-AllocPosArray@{x\_\-AllocPosArray}} +\index{x\_\-AllocPosArray@{x\_\-AllocPosArray}!CMarkup@{CMarkup}} +\subsubsection[x\_\-AllocPosArray]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::x\_\-AllocPosArray (int {\em nNewSize} = {\tt 0})\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_68cb62765d67e529b04134f561851342} + + + + +Referenced by x\_\-GetFreePos().\index{CMarkup@{CMarkup}!InitDocFlags@{InitDocFlags}} +\index{InitDocFlags@{InitDocFlags}!CMarkup@{CMarkup}} +\subsubsection[InitDocFlags]{\setlength{\rightskip}{0pt plus 5cm}void CMarkup::InitDocFlags ()\hspace{0.3cm}{\tt [inline, protected]}}\label{classCMarkup_6ce98f8685f47a0d5457ade12a9b500f} + + + + +References m\_\-nDocFlags, and MDF\_\-IGNORECASE. + +Referenced by CMarkup().\index{CMarkup@{CMarkup}!x\_\-ParseDoc@{x\_\-ParseDoc}} +\index{x\_\-ParseDoc@{x\_\-ParseDoc}!CMarkup@{CMarkup}} +\subsubsection[x\_\-ParseDoc]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::x\_\-ParseDoc ()\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_380c4a7ec48c76192c812e647a4a7e4e} + + +\index{CMarkup@{CMarkup}!x\_\-ParseElem@{x\_\-ParseElem}} +\index{x\_\-ParseElem@{x\_\-ParseElem}!CMarkup@{CMarkup}} +\subsubsection[x\_\-ParseElem]{\setlength{\rightskip}{0pt plus 5cm}int CMarkup::x\_\-ParseElem (int {\em iPos}, \/ {\bf TokenPos} \& {\em token})\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_c92b4883b891cb7f1c293c4801f5963c} + + +\index{CMarkup@{CMarkup}!x\_\-FindAny@{x\_\-FindAny}} +\index{x\_\-FindAny@{x\_\-FindAny}!CMarkup@{CMarkup}} +\subsubsection[x\_\-FindAny]{\setlength{\rightskip}{0pt plus 5cm}static bool CMarkup::x\_\-FindAny (MCD\_\-PCSZ {\em pDoc}, \/ int \& {\em nChar})\hspace{0.3cm}{\tt [static, protected]}}\label{classCMarkup_ce7bf02a001c0ff3b33142e936c4415f} + + +\index{CMarkup@{CMarkup}!x\_\-FindName@{x\_\-FindName}} +\index{x\_\-FindName@{x\_\-FindName}!CMarkup@{CMarkup}} +\subsubsection[x\_\-FindName]{\setlength{\rightskip}{0pt plus 5cm}static bool CMarkup::x\_\-FindName ({\bf TokenPos} \& {\em token})\hspace{0.3cm}{\tt [static, protected]}}\label{classCMarkup_873190d7a7ce765cb6c14f0a3f9758dc} + + +\index{CMarkup@{CMarkup}!x\_\-GetToken@{x\_\-GetToken}} +\index{x\_\-GetToken@{x\_\-GetToken}!CMarkup@{CMarkup}} +\subsubsection[x\_\-GetToken]{\setlength{\rightskip}{0pt plus 5cm}static MCD\_\-STR CMarkup::x\_\-GetToken (const {\bf TokenPos} \& {\em token})\hspace{0.3cm}{\tt [static, protected]}}\label{classCMarkup_aeb5a1390a8c97c469ade070acb5d710} + + +\index{CMarkup@{CMarkup}!x\_\-FindElem@{x\_\-FindElem}} +\index{x\_\-FindElem@{x\_\-FindElem}!CMarkup@{CMarkup}} +\subsubsection[x\_\-FindElem]{\setlength{\rightskip}{0pt plus 5cm}int CMarkup::x\_\-FindElem (int {\em iPosParent}, \/ int {\em iPos}, \/ MCD\_\-PCSZ {\em szPath}) const\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_6d2f2950334d6e3e126ee5e8574f77b4} + + +\index{CMarkup@{CMarkup}!x\_\-GetPath@{x\_\-GetPath}} +\index{x\_\-GetPath@{x\_\-GetPath}!CMarkup@{CMarkup}} +\subsubsection[x\_\-GetPath]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-STR CMarkup::x\_\-GetPath (int {\em iPos}) const\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_cc202d08dd9465e74b26e9275a740356} + + +\index{CMarkup@{CMarkup}!x\_\-GetTagName@{x\_\-GetTagName}} +\index{x\_\-GetTagName@{x\_\-GetTagName}!CMarkup@{CMarkup}} +\subsubsection[x\_\-GetTagName]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-STR CMarkup::x\_\-GetTagName (int {\em iPos}) const\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_10cf51b58f6c144f4b7dd1c577277bee} + + + + +Referenced by GetChildTagName().\index{CMarkup@{CMarkup}!x\_\-GetData@{x\_\-GetData}} +\index{x\_\-GetData@{x\_\-GetData}!CMarkup@{CMarkup}} +\subsubsection[x\_\-GetData]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-STR CMarkup::x\_\-GetData (int {\em iPos}) const\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_3ce9132cb71e0b343141a7ba3102cea6} + + + + +Referenced by GetChildData(), and GetData().\index{CMarkup@{CMarkup}!x\_\-GetAttrib@{x\_\-GetAttrib}} +\index{x\_\-GetAttrib@{x\_\-GetAttrib}!CMarkup@{CMarkup}} +\subsubsection[x\_\-GetAttrib]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-STR CMarkup::x\_\-GetAttrib (int {\em iPos}, \/ MCD\_\-PCSZ {\em pAttrib}) const\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_e92d1478dd44c06bd366b5f26f8a5fe2} + + + + +Referenced by GetAttrib(), and GetChildAttrib().\index{CMarkup@{CMarkup}!x\_\-EncodeCDATASection@{x\_\-EncodeCDATASection}} +\index{x\_\-EncodeCDATASection@{x\_\-EncodeCDATASection}!CMarkup@{CMarkup}} +\subsubsection[x\_\-EncodeCDATASection]{\setlength{\rightskip}{0pt plus 5cm}static MCD\_\-STR CMarkup::x\_\-EncodeCDATASection (MCD\_\-PCSZ {\em szData})\hspace{0.3cm}{\tt [static, protected]}}\label{classCMarkup_4a107f60dd4e52ef64117cf460da9381} + + +\index{CMarkup@{CMarkup}!x\_\-AddElem@{x\_\-AddElem}} +\index{x\_\-AddElem@{x\_\-AddElem}!CMarkup@{CMarkup}} +\subsubsection[x\_\-AddElem]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::x\_\-AddElem (MCD\_\-PCSZ {\em pName}, \/ MCD\_\-PCSZ {\em pValue}, \/ int {\em nFlags})\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_838bd93651009a22d8feeaa080b1bc1e} + + + + +Referenced by AddChildElem(), AddElem(), InsertChildElem(), and InsertElem().\index{CMarkup@{CMarkup}!x\_\-AddElem@{x\_\-AddElem}} +\index{x\_\-AddElem@{x\_\-AddElem}!CMarkup@{CMarkup}} +\subsubsection[x\_\-AddElem]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::x\_\-AddElem (MCD\_\-PCSZ {\em pName}, \/ int {\em nValue}, \/ int {\em nFlags})\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_ad258b7843d396f7b181d10df10d1ba7} + + +\index{CMarkup@{CMarkup}!x\_\-GetSubDoc@{x\_\-GetSubDoc}} +\index{x\_\-GetSubDoc@{x\_\-GetSubDoc}!CMarkup@{CMarkup}} +\subsubsection[x\_\-GetSubDoc]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-STR CMarkup::x\_\-GetSubDoc (int {\em iPos}) const\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_4af006666be13b4c295823a343c3ba76} + + + + +Referenced by GetChildSubDoc(), and GetSubDoc().\index{CMarkup@{CMarkup}!x\_\-AddSubDoc@{x\_\-AddSubDoc}} +\index{x\_\-AddSubDoc@{x\_\-AddSubDoc}!CMarkup@{CMarkup}} +\subsubsection[x\_\-AddSubDoc]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::x\_\-AddSubDoc (MCD\_\-PCSZ {\em pSubDoc}, \/ int {\em nFlags})\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_9b842e3673c7ee3da3eaeaa1dfb8c204} + + + + +Referenced by AddChildSubDoc(), AddSubDoc(), InsertChildSubDoc(), and InsertSubDoc().\index{CMarkup@{CMarkup}!x\_\-FindAttrib@{x\_\-FindAttrib}} +\index{x\_\-FindAttrib@{x\_\-FindAttrib}!CMarkup@{CMarkup}} +\subsubsection[x\_\-FindAttrib]{\setlength{\rightskip}{0pt plus 5cm}static bool CMarkup::x\_\-FindAttrib ({\bf TokenPos} \& {\em token}, \/ MCD\_\-PCSZ {\em pAttrib}, \/ int {\em n} = {\tt 0})\hspace{0.3cm}{\tt [static, protected]}}\label{classCMarkup_dcd241445e2bca6e1f05fa28babbc5a1} + + +\index{CMarkup@{CMarkup}!x\_\-SetAttrib@{x\_\-SetAttrib}} +\index{x\_\-SetAttrib@{x\_\-SetAttrib}!CMarkup@{CMarkup}} +\subsubsection[x\_\-SetAttrib]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::x\_\-SetAttrib (int {\em iPos}, \/ MCD\_\-PCSZ {\em pAttrib}, \/ MCD\_\-PCSZ {\em pValue}, \/ int {\em nFlags} = {\tt 0})\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_5716401661aa51b04936c9f7df163ba7} + + + + +Referenced by AddAttrib(), AddChildAttrib(), SetAttrib(), and SetChildAttrib().\index{CMarkup@{CMarkup}!x\_\-SetAttrib@{x\_\-SetAttrib}} +\index{x\_\-SetAttrib@{x\_\-SetAttrib}!CMarkup@{CMarkup}} +\subsubsection[x\_\-SetAttrib]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::x\_\-SetAttrib (int {\em iPos}, \/ MCD\_\-PCSZ {\em pAttrib}, \/ int {\em nValue}, \/ int {\em nFlags} = {\tt 0})\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_8fdf35d7e47bf09bdeef322cc2eef57e} + + +\index{CMarkup@{CMarkup}!x\_\-AddNode@{x\_\-AddNode}} +\index{x\_\-AddNode@{x\_\-AddNode}!CMarkup@{CMarkup}} +\subsubsection[x\_\-AddNode]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::x\_\-AddNode (int {\em nNodeType}, \/ MCD\_\-PCSZ {\em pText}, \/ int {\em nNodeFlags})\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_d556122bb3c73aff12e7fb84b4318d0d} + + + + +Referenced by AddNode(), and InsertNode().\index{CMarkup@{CMarkup}!x\_\-RemoveNode@{x\_\-RemoveNode}} +\index{x\_\-RemoveNode@{x\_\-RemoveNode}!CMarkup@{CMarkup}} +\subsubsection[x\_\-RemoveNode]{\setlength{\rightskip}{0pt plus 5cm}void CMarkup::x\_\-RemoveNode (int {\em iPosParent}, \/ int \& {\em iPos}, \/ int \& {\em nNodeType}, \/ int \& {\em nNodeOffset}, \/ int \& {\em nNodeLength})\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_64af7284f3c7c8babdaa5248b52a0f04} + + +\index{CMarkup@{CMarkup}!x\_\-AdjustForNode@{x\_\-AdjustForNode}} +\index{x\_\-AdjustForNode@{x\_\-AdjustForNode}!CMarkup@{CMarkup}} +\subsubsection[x\_\-AdjustForNode]{\setlength{\rightskip}{0pt plus 5cm}void CMarkup::x\_\-AdjustForNode (int {\em iPosParent}, \/ int {\em iPos}, \/ int {\em nShift})\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_dcdad1f2e782ce519675ceaae421da8d} + + +\index{CMarkup@{CMarkup}!x\_\-CreateNode@{x\_\-CreateNode}} +\index{x\_\-CreateNode@{x\_\-CreateNode}!CMarkup@{CMarkup}} +\subsubsection[x\_\-CreateNode]{\setlength{\rightskip}{0pt plus 5cm}static bool CMarkup::x\_\-CreateNode (MCD\_\-STR \& {\em strNode}, \/ int {\em nNodeType}, \/ MCD\_\-PCSZ {\em pText})\hspace{0.3cm}{\tt [static, protected]}}\label{classCMarkup_43c780106bb839a6ba17a4f222ebc47c} + + +\index{CMarkup@{CMarkup}!x\_\-InsertNew@{x\_\-InsertNew}} +\index{x\_\-InsertNew@{x\_\-InsertNew}!CMarkup@{CMarkup}} +\subsubsection[x\_\-InsertNew]{\setlength{\rightskip}{0pt plus 5cm}int CMarkup::x\_\-InsertNew (int {\em iPosParent}, \/ int \& {\em iPosRel}, \/ {\bf NodePos} \& {\em node})\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_108530f8ed1d5b954109335556e752fc} + + +\index{CMarkup@{CMarkup}!x\_\-LinkElem@{x\_\-LinkElem}} +\index{x\_\-LinkElem@{x\_\-LinkElem}!CMarkup@{CMarkup}} +\subsubsection[x\_\-LinkElem]{\setlength{\rightskip}{0pt plus 5cm}void CMarkup::x\_\-LinkElem (int {\em iPosParent}, \/ int {\em iPosBefore}, \/ int {\em iPos})\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_6840b6b96252adfc63ab6576f09b6ced} + + +\index{CMarkup@{CMarkup}!x\_\-UnlinkElem@{x\_\-UnlinkElem}} +\index{x\_\-UnlinkElem@{x\_\-UnlinkElem}!CMarkup@{CMarkup}} +\subsubsection[x\_\-UnlinkElem]{\setlength{\rightskip}{0pt plus 5cm}int CMarkup::x\_\-UnlinkElem (int {\em iPos})\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_a730d3e5c3fae0cb214f9933889957f7} + + +\index{CMarkup@{CMarkup}!x\_\-ReleaseSubDoc@{x\_\-ReleaseSubDoc}} +\index{x\_\-ReleaseSubDoc@{x\_\-ReleaseSubDoc}!CMarkup@{CMarkup}} +\subsubsection[x\_\-ReleaseSubDoc]{\setlength{\rightskip}{0pt plus 5cm}int CMarkup::x\_\-ReleaseSubDoc (int {\em iPos})\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_2cdb9e0924114a8b1274be02dc675a78} + + +\index{CMarkup@{CMarkup}!x\_\-ReleasePos@{x\_\-ReleasePos}} +\index{x\_\-ReleasePos@{x\_\-ReleasePos}!CMarkup@{CMarkup}} +\subsubsection[x\_\-ReleasePos]{\setlength{\rightskip}{0pt plus 5cm}int CMarkup::x\_\-ReleasePos (int {\em iPos})\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_d468ae1a39272fca4e53588906267ff4} + + +\index{CMarkup@{CMarkup}!x\_\-GetMap@{x\_\-GetMap}} +\index{x\_\-GetMap@{x\_\-GetMap}!CMarkup@{CMarkup}} +\subsubsection[x\_\-GetMap]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::x\_\-GetMap ({\bf SavedPosMap} $\ast$\& {\em pMap}, \/ int {\em nMap}, \/ int {\em nMapSize} = {\tt 7})\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_59332dee2e4c9f69b49412f0fad6874a} + + +\index{CMarkup@{CMarkup}!x\_\-CheckSavedPos@{x\_\-CheckSavedPos}} +\index{x\_\-CheckSavedPos@{x\_\-CheckSavedPos}!CMarkup@{CMarkup}} +\subsubsection[x\_\-CheckSavedPos]{\setlength{\rightskip}{0pt plus 5cm}void CMarkup::x\_\-CheckSavedPos ()\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_30aa7b46d2e888309de99dae0b186f88} + + +\index{CMarkup@{CMarkup}!x\_\-ParseNode@{x\_\-ParseNode}} +\index{x\_\-ParseNode@{x\_\-ParseNode}!CMarkup@{CMarkup}} +\subsubsection[x\_\-ParseNode]{\setlength{\rightskip}{0pt plus 5cm}static int CMarkup::x\_\-ParseNode ({\bf TokenPos} \& {\em token}, \/ {\bf NodePos} \& {\em node})\hspace{0.3cm}{\tt [static, protected]}}\label{classCMarkup_0d02b41058d6949dd83496d20532e7b3} + + +\index{CMarkup@{CMarkup}!x\_\-SetData@{x\_\-SetData}} +\index{x\_\-SetData@{x\_\-SetData}!CMarkup@{CMarkup}} +\subsubsection[x\_\-SetData]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::x\_\-SetData (int {\em iPos}, \/ MCD\_\-PCSZ {\em szData}, \/ int {\em nFlags})\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_e55b7533359dd64e5528f4ab31ef6912} + + + + +Referenced by SetChildData(), and SetData().\index{CMarkup@{CMarkup}!x\_\-SetData@{x\_\-SetData}} +\index{x\_\-SetData@{x\_\-SetData}!CMarkup@{CMarkup}} +\subsubsection[x\_\-SetData]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::x\_\-SetData (int {\em iPos}, \/ int {\em nValue})\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_a755a1437e59c3c491076344509d6b0e} + + +\index{CMarkup@{CMarkup}!x\_\-RemoveElem@{x\_\-RemoveElem}} +\index{x\_\-RemoveElem@{x\_\-RemoveElem}!CMarkup@{CMarkup}} +\subsubsection[x\_\-RemoveElem]{\setlength{\rightskip}{0pt plus 5cm}int CMarkup::x\_\-RemoveElem (int {\em iPos})\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_4104ccf277f80f08a999b95e8d4afb47} + + +\index{CMarkup@{CMarkup}!x\_\-GetElemContent@{x\_\-GetElemContent}} +\index{x\_\-GetElemContent@{x\_\-GetElemContent}!CMarkup@{CMarkup}} +\subsubsection[x\_\-GetElemContent]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-STR CMarkup::x\_\-GetElemContent (int {\em iPos}) const\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_24cdcb05636e244edf60450b3578f986} + + + + +Referenced by GetElemContent().\index{CMarkup@{CMarkup}!x\_\-SetElemContent@{x\_\-SetElemContent}} +\index{x\_\-SetElemContent@{x\_\-SetElemContent}!CMarkup@{CMarkup}} +\subsubsection[x\_\-SetElemContent]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::x\_\-SetElemContent (MCD\_\-PCSZ {\em szContent})\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_6f23aa890945aabddab25986b18a8eac} + + + + +Referenced by SetElemContent().\index{CMarkup@{CMarkup}!x\_\-DocChange@{x\_\-DocChange}} +\index{x\_\-DocChange@{x\_\-DocChange}!CMarkup@{CMarkup}} +\subsubsection[x\_\-DocChange]{\setlength{\rightskip}{0pt plus 5cm}void CMarkup::x\_\-DocChange (int {\em nLeft}, \/ int {\em nReplace}, \/ const MCD\_\-STR \& {\em strInsert})\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_1820bec7304749b944d3d3f78184878b} + + +\index{CMarkup@{CMarkup}!x\_\-Adjust@{x\_\-Adjust}} +\index{x\_\-Adjust@{x\_\-Adjust}!CMarkup@{CMarkup}} +\subsubsection[x\_\-Adjust]{\setlength{\rightskip}{0pt plus 5cm}void CMarkup::x\_\-Adjust (int {\em iPos}, \/ int {\em nShift}, \/ bool {\em bAfterPos} = {\tt false})\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_b9d78278bfb6a7d3799e0289744da98d} + + +\index{CMarkup@{CMarkup}!x\_\-GetLastError@{x\_\-GetLastError}} +\index{x\_\-GetLastError@{x\_\-GetLastError}!CMarkup@{CMarkup}} +\subsubsection[x\_\-GetLastError]{\setlength{\rightskip}{0pt plus 5cm}static MCD\_\-STR CMarkup::x\_\-GetLastError ()\hspace{0.3cm}{\tt [static, protected]}}\label{classCMarkup_7a902073dcce3edc449753cb5e8bac4c} + + +\index{CMarkup@{CMarkup}!x\_\-Hash@{x\_\-Hash}} +\index{x\_\-Hash@{x\_\-Hash}!CMarkup@{CMarkup}} +\subsubsection[x\_\-Hash]{\setlength{\rightskip}{0pt plus 5cm}static int CMarkup::x\_\-Hash (MCD\_\-PCSZ {\em p}, \/ int {\em nSize})\hspace{0.3cm}{\tt [inline, static, protected]}}\label{classCMarkup_e0869e4876675e0272ab21aa4d5c1058} + + +\index{CMarkup@{CMarkup}!x\_\-GetEncodingCodePage@{x\_\-GetEncodingCodePage}} +\index{x\_\-GetEncodingCodePage@{x\_\-GetEncodingCodePage}!CMarkup@{CMarkup}} +\subsubsection[x\_\-GetEncodingCodePage]{\setlength{\rightskip}{0pt plus 5cm}static int CMarkup::x\_\-GetEncodingCodePage ({\bf MCD\_\-CSTR} {\em psz7Encoding})\hspace{0.3cm}{\tt [static, protected]}}\label{classCMarkup_de551e17e600f8e6ec17bf7a46325285} + + +\index{CMarkup@{CMarkup}!x\_\-EndianSwapRequired@{x\_\-EndianSwapRequired}} +\index{x\_\-EndianSwapRequired@{x\_\-EndianSwapRequired}!CMarkup@{CMarkup}} +\subsubsection[x\_\-EndianSwapRequired]{\setlength{\rightskip}{0pt plus 5cm}static bool CMarkup::x\_\-EndianSwapRequired (int {\em nDocFlags})\hspace{0.3cm}{\tt [static, protected]}}\label{classCMarkup_bf802e6db6a9a527e0d01d5e69a2464a} + + +\index{CMarkup@{CMarkup}!x\_\-EndianSwapUTF16@{x\_\-EndianSwapUTF16}} +\index{x\_\-EndianSwapUTF16@{x\_\-EndianSwapUTF16}!CMarkup@{CMarkup}} +\subsubsection[x\_\-EndianSwapUTF16]{\setlength{\rightskip}{0pt plus 5cm}static void CMarkup::x\_\-EndianSwapUTF16 (unsigned short $\ast$ {\em pUTF16}, \/ int {\em nCharLen})\hspace{0.3cm}{\tt [static, protected]}}\label{classCMarkup_7222375779b91c2b4788057596ff89e4} + + +\index{CMarkup@{CMarkup}!x\_\-CanConvert@{x\_\-CanConvert}} +\index{x\_\-CanConvert@{x\_\-CanConvert}!CMarkup@{CMarkup}} +\subsubsection[x\_\-CanConvert]{\setlength{\rightskip}{0pt plus 5cm}static bool CMarkup::x\_\-CanConvert ({\bf MCD\_\-CSTR} {\em pszToEnc}, \/ {\bf MCD\_\-CSTR} {\em pszFromEnc})\hspace{0.3cm}{\tt [static, protected]}}\label{classCMarkup_9db481bb33df7a9ef1e705f323e41ba8} + + +\index{CMarkup@{CMarkup}!x\_\-ConvertEncoding@{x\_\-ConvertEncoding}} +\index{x\_\-ConvertEncoding@{x\_\-ConvertEncoding}!CMarkup@{CMarkup}} +\subsubsection[x\_\-ConvertEncoding]{\setlength{\rightskip}{0pt plus 5cm}static int CMarkup::x\_\-ConvertEncoding ({\bf ConvertEncoding} \& {\em convert}, \/ void $\ast$ {\em pTo})\hspace{0.3cm}{\tt [static, protected]}}\label{classCMarkup_5910cc7afd5ec31d3ac60e8a7979efa7} + + +\index{CMarkup@{CMarkup}!x\_\-Open@{x\_\-Open}} +\index{x\_\-Open@{x\_\-Open}!CMarkup@{CMarkup}} +\subsubsection[x\_\-Open]{\setlength{\rightskip}{0pt plus 5cm}static bool CMarkup::x\_\-Open (MCD\_\-CSTR\_\-FILENAME {\em szFileName}, \/ {\bf FilePos} \& {\em file})\hspace{0.3cm}{\tt [static, protected]}}\label{classCMarkup_93b3532501aec423a2ab6f21c0cd9737} + + +\index{CMarkup@{CMarkup}!x\_\-Read@{x\_\-Read}} +\index{x\_\-Read@{x\_\-Read}!CMarkup@{CMarkup}} +\subsubsection[x\_\-Read]{\setlength{\rightskip}{0pt plus 5cm}static bool CMarkup::x\_\-Read (void $\ast$ {\em pBuffer}, \/ {\bf FilePos} \& {\em file})\hspace{0.3cm}{\tt [static, protected]}}\label{classCMarkup_964ac1162ed011717ccafad4316b8d6f} + + +\index{CMarkup@{CMarkup}!x\_\-ReadText@{x\_\-ReadText}} +\index{x\_\-ReadText@{x\_\-ReadText}!CMarkup@{CMarkup}} +\subsubsection[x\_\-ReadText]{\setlength{\rightskip}{0pt plus 5cm}static bool CMarkup::x\_\-ReadText (MCD\_\-STR \& {\em strDoc}, \/ {\bf FilePos} \& {\em file})\hspace{0.3cm}{\tt [static, protected]}}\label{classCMarkup_afa2fa03d13b7be7b26dd310d61b690c} + + +\index{CMarkup@{CMarkup}!x\_\-Write@{x\_\-Write}} +\index{x\_\-Write@{x\_\-Write}!CMarkup@{CMarkup}} +\subsubsection[x\_\-Write]{\setlength{\rightskip}{0pt plus 5cm}static bool CMarkup::x\_\-Write (void $\ast$ {\em pBuffer}, \/ {\bf FilePos} \& {\em file}, \/ const void $\ast$ {\em pConstBuffer} = {\tt NULL})\hspace{0.3cm}{\tt [static, protected]}}\label{classCMarkup_01ba599cf9cc448581f2e8bcf994c253} + + +\index{CMarkup@{CMarkup}!x\_\-WriteText@{x\_\-WriteText}} +\index{x\_\-WriteText@{x\_\-WriteText}!CMarkup@{CMarkup}} +\subsubsection[x\_\-WriteText]{\setlength{\rightskip}{0pt plus 5cm}static bool CMarkup::x\_\-WriteText (const MCD\_\-STR \& {\em strDoc}, \/ {\bf FilePos} \& {\em file})\hspace{0.3cm}{\tt [static, protected]}}\label{classCMarkup_f3b30bc5314bbc8d157dca6d924f4852} + + +\index{CMarkup@{CMarkup}!x\_\-Close@{x\_\-Close}} +\index{x\_\-Close@{x\_\-Close}!CMarkup@{CMarkup}} +\subsubsection[x\_\-Close]{\setlength{\rightskip}{0pt plus 5cm}static bool CMarkup::x\_\-Close ({\bf FilePos} \& {\em file})\hspace{0.3cm}{\tt [static, protected]}}\label{classCMarkup_e7a551c23d0d5c9aef4ef89ac81d6c83} + + +\index{CMarkup@{CMarkup}!x\_\-IntToStr@{x\_\-IntToStr}} +\index{x\_\-IntToStr@{x\_\-IntToStr}!CMarkup@{CMarkup}} +\subsubsection[x\_\-IntToStr]{\setlength{\rightskip}{0pt plus 5cm}static MCD\_\-STR CMarkup::x\_\-IntToStr (int {\em n})\hspace{0.3cm}{\tt [inline, static, protected]}}\label{classCMarkup_b4aa747f9324f96cbf41e80932723233} + + + + +References MCD\_\-CHAR, MCD\_\-SPRINTF, MCD\_\-SSZ, MCD\_\-STR, and MCD\_\-T. + +\subsection{Member Data Documentation} +\index{CMarkup@{CMarkup}!m\_\-strDoc@{m\_\-strDoc}} +\index{m\_\-strDoc@{m\_\-strDoc}!CMarkup@{CMarkup}} +\subsubsection[m\_\-strDoc]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-STR {\bf CMarkup::m\_\-strDoc}\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_ab2e01d57870e1c0e0493ab6e4446ad2} + + + + +Referenced by GetDoc().\index{CMarkup@{CMarkup}!m\_\-strError@{m\_\-strError}} +\index{m\_\-strError@{m\_\-strError}!CMarkup@{CMarkup}} +\subsubsection[m\_\-strError]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-STR {\bf CMarkup::m\_\-strError}\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_8b30e55981f924a867972eceab142163} + + + + +Referenced by GetError().\index{CMarkup@{CMarkup}!m\_\-iPosParent@{m\_\-iPosParent}} +\index{m\_\-iPosParent@{m\_\-iPosParent}!CMarkup@{CMarkup}} +\subsubsection[m\_\-iPosParent]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::m\_\-iPosParent}\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_f4be33a1bc8a5b2b5ca34ee59b11d702} + + + + +Referenced by ResetChildPos(), ResetMainPos(), and x\_\-SetPos().\index{CMarkup@{CMarkup}!m\_\-iPos@{m\_\-iPos}} +\index{m\_\-iPos@{m\_\-iPos}!CMarkup@{CMarkup}} +\subsubsection[m\_\-iPos]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::m\_\-iPos}\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_1192dbba85b74f3346dfd042ed7f0b59} + + + + +Referenced by AddAttrib(), GetAttrib(), GetData(), GetElemContent(), GetSubDoc(), ResetChildPos(), SetAttrib(), SetData(), and x\_\-SetPos().\index{CMarkup@{CMarkup}!m\_\-iPosChild@{m\_\-iPosChild}} +\index{m\_\-iPosChild@{m\_\-iPosChild}!CMarkup@{CMarkup}} +\subsubsection[m\_\-iPosChild]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::m\_\-iPosChild}\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_b9070540ecb1b4da5c30a680718cf73a} + + + + +Referenced by AddChildAttrib(), GetChildAttrib(), GetChildData(), GetChildSubDoc(), GetChildTagName(), SetChildAttrib(), SetChildData(), and x\_\-SetPos().\index{CMarkup@{CMarkup}!m\_\-iPosFree@{m\_\-iPosFree}} +\index{m\_\-iPosFree@{m\_\-iPosFree}!CMarkup@{CMarkup}} +\subsubsection[m\_\-iPosFree]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::m\_\-iPosFree}\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_d81bcd568dabbf0798a61bb8439b2f35} + + + + +Referenced by x\_\-GetFreePos().\index{CMarkup@{CMarkup}!m\_\-iPosDeleted@{m\_\-iPosDeleted}} +\index{m\_\-iPosDeleted@{m\_\-iPosDeleted}!CMarkup@{CMarkup}} +\subsubsection[m\_\-iPosDeleted]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::m\_\-iPosDeleted}\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_8a1c502479f990916d887093b4048de5} + + +\index{CMarkup@{CMarkup}!m\_\-nNodeType@{m\_\-nNodeType}} +\index{m\_\-nNodeType@{m\_\-nNodeType}!CMarkup@{CMarkup}} +\subsubsection[m\_\-nNodeType]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::m\_\-nNodeType}\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_eab284b217377eb56252a35094872499} + + + + +Referenced by GetNodeType(), and x\_\-SetPos().\index{CMarkup@{CMarkup}!m\_\-nNodeOffset@{m\_\-nNodeOffset}} +\index{m\_\-nNodeOffset@{m\_\-nNodeOffset}!CMarkup@{CMarkup}} +\subsubsection[m\_\-nNodeOffset]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::m\_\-nNodeOffset}\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_d77ce81fd0904864ab22102e77278d34} + + + + +Referenced by x\_\-SetPos().\index{CMarkup@{CMarkup}!m\_\-nNodeLength@{m\_\-nNodeLength}} +\index{m\_\-nNodeLength@{m\_\-nNodeLength}!CMarkup@{CMarkup}} +\subsubsection[m\_\-nNodeLength]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::m\_\-nNodeLength}\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_7a44f2bbea27d673864a1b8ebe13da1b} + + + + +Referenced by x\_\-SetPos().\index{CMarkup@{CMarkup}!m\_\-nDocFlags@{m\_\-nDocFlags}} +\index{m\_\-nDocFlags@{m\_\-nDocFlags}!CMarkup@{CMarkup}} +\subsubsection[m\_\-nDocFlags]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::m\_\-nDocFlags}\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_8afd7a85e8329a72bc58f9aa97626d74} + + + + +Referenced by CMarkup(), GetDocFlags(), InitDocFlags(), and SetDocFlags().\index{CMarkup@{CMarkup}!m\_\-SavedPosMapArray@{m\_\-SavedPosMapArray}} +\index{m\_\-SavedPosMapArray@{m\_\-SavedPosMapArray}!CMarkup@{CMarkup}} +\subsubsection[m\_\-SavedPosMapArray]{\setlength{\rightskip}{0pt plus 5cm}{\bf SavedPosMapArray} {\bf CMarkup::m\_\-SavedPosMapArray}\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_985f2d24ba021221c567b4bfadf91692} + + +\index{CMarkup@{CMarkup}!m\_\-aPos@{m\_\-aPos}} +\index{m\_\-aPos@{m\_\-aPos}!CMarkup@{CMarkup}} +\subsubsection[m\_\-aPos]{\setlength{\rightskip}{0pt plus 5cm}{\bf PosArray} {\bf CMarkup::m\_\-aPos}\hspace{0.3cm}{\tt [protected]}}\label{classCMarkup_89aa5e4c38062a7e826a67695a8d8f37} + + + + +Referenced by x\_\-GetFreePos(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +{\bf Markup.h}\end{CompactItemize} diff --git a/doc/latex/classneuralpp_1_1Layer.tex b/doc/latex/classneuralpp_1_1Layer.tex new file mode 100644 index 0000000..f10c278 --- /dev/null +++ b/doc/latex/classneuralpp_1_1Layer.tex @@ -0,0 +1,164 @@ +\section{neuralpp::Layer Class Reference} +\label{classneuralpp_1_1Layer}\index{neuralpp::Layer@{neuralpp::Layer}} +Class for managing layers of neurons. + + +{\tt \#include $<$neural++.hpp$>$} + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf Layer} (size\_\-t sz, double($\ast$a)(double), double($\ast$d)(double)) +\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item +{\bf Layer} (vector$<$ {\bf Neuron} $>$ \&neurons, double($\ast$a)(double), double($\ast$d)(double)) +\begin{CompactList}\small\item\em Alternative constructor. \item\end{CompactList}\item +{\bf Neuron} \& {\bf operator[$\,$]} (size\_\-t i) +\begin{CompactList}\small\item\em Redefinition for operator []. \item\end{CompactList}\item +void {\bf link} ({\bf Layer} \&l) +\begin{CompactList}\small\item\em It links a layer to another. \item\end{CompactList}\item +void {\bf setProp} (vector$<$ double $>$ \&v) +\begin{CompactList}\small\item\em It sets a vector of propagation values to all its neurons. \item\end{CompactList}\item +void {\bf setActv} (vector$<$ double $>$ \&v) +\begin{CompactList}\small\item\em It sets a vector of activation values to all its neurons. \item\end{CompactList}\item +void {\bf propagate} () +\begin{CompactList}\small\item\em It propagates its activation values to the output layers. \item\end{CompactList}\item +size\_\-t {\bf size} () +\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +vector$<$ {\bf Neuron} $>$ {\bf elements} +\item +void($\ast$ {\bf update\_\-weights} )() +\item +double($\ast$ {\bf actv\_\-f} )(double) +\item +double($\ast$ {\bf deriv} )(double) +\end{CompactItemize} + + +\subsection{Detailed Description} +Class for managing layers of neurons. + +Don't use this class directly unless you know what you're doing, use \doxyref{NeuralNet}{p.}{classneuralpp_1_1NeuralNet} instead + +\subsection{Constructor \& Destructor Documentation} +\index{neuralpp::Layer@{neuralpp::Layer}!Layer@{Layer}} +\index{Layer@{Layer}!neuralpp::Layer@{neuralpp::Layer}} +\subsubsection[Layer]{\setlength{\rightskip}{0pt plus 5cm}neuralpp::Layer::Layer (size\_\-t {\em sz}, \/ double($\ast$)(double) {\em a}, \/ double($\ast$)(double) {\em d})}\label{classneuralpp_1_1Layer_411a4dc8a1bb2fe44fe7a69fa50fd764} + + +Constructor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em sz}]Size of the layer \item[{\em a}]Activation function \item[{\em d}]Its derivate \end{description} +\end{Desc} +\index{neuralpp::Layer@{neuralpp::Layer}!Layer@{Layer}} +\index{Layer@{Layer}!neuralpp::Layer@{neuralpp::Layer}} +\subsubsection[Layer]{\setlength{\rightskip}{0pt plus 5cm}neuralpp::Layer::Layer (vector$<$ {\bf Neuron} $>$ \& {\em neurons}, \/ double($\ast$)(double) {\em a}, \/ double($\ast$)(double) {\em d})}\label{classneuralpp_1_1Layer_117d1c3b481641816e80ea36826d2107} + + +Alternative constructor. + +It directly gets a vector of neurons to build the layer \begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em neurons}]Vector of neurons to be included in the layer \item[{\em a}]Activation function \item[{\em d}]Its derivate \end{description} +\end{Desc} + + +\subsection{Member Function Documentation} +\index{neuralpp::Layer@{neuralpp::Layer}!operator[]@{operator[]}} +\index{operator[]@{operator[]}!neuralpp::Layer@{neuralpp::Layer}} +\subsubsection[operator[]]{\setlength{\rightskip}{0pt plus 5cm}{\bf Neuron}\& neuralpp::Layer::operator[$\,$] (size\_\-t {\em i})}\label{classneuralpp_1_1Layer_45ff7554830558155c6fbce3b6827122} + + +Redefinition for operator []. + +It gets the neuron at {\em i\/} \begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em i}]Index of the neuron to get in the layer \end{description} +\end{Desc} +\begin{Desc} +\item[Returns:]Reference to the i-th neuron \end{Desc} +\index{neuralpp::Layer@{neuralpp::Layer}!link@{link}} +\index{link@{link}!neuralpp::Layer@{neuralpp::Layer}} +\subsubsection[link]{\setlength{\rightskip}{0pt plus 5cm}void neuralpp::Layer::link ({\bf Layer} \& {\em l})}\label{classneuralpp_1_1Layer_ac33444fde14633fa1ad4acb024ad150} + + +It links a layer to another. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em l}]\doxyref{Layer}{p.}{classneuralpp_1_1Layer} to connect to the current as input layer \end{description} +\end{Desc} +\index{neuralpp::Layer@{neuralpp::Layer}!setProp@{setProp}} +\index{setProp@{setProp}!neuralpp::Layer@{neuralpp::Layer}} +\subsubsection[setProp]{\setlength{\rightskip}{0pt plus 5cm}void neuralpp::Layer::setProp (vector$<$ double $>$ \& {\em v})}\label{classneuralpp_1_1Layer_dbad95f635343a2998794113d7762cf7} + + +It sets a vector of propagation values to all its neurons. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em v}]Vector of values to write as propagation values \end{description} +\end{Desc} +\index{neuralpp::Layer@{neuralpp::Layer}!setActv@{setActv}} +\index{setActv@{setActv}!neuralpp::Layer@{neuralpp::Layer}} +\subsubsection[setActv]{\setlength{\rightskip}{0pt plus 5cm}void neuralpp::Layer::setActv (vector$<$ double $>$ \& {\em v})}\label{classneuralpp_1_1Layer_98f79281b680b1d18fd91fa5794c0899} + + +It sets a vector of activation values to all its neurons. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em v}]Vector of values to write as activation values \end{description} +\end{Desc} +\index{neuralpp::Layer@{neuralpp::Layer}!propagate@{propagate}} +\index{propagate@{propagate}!neuralpp::Layer@{neuralpp::Layer}} +\subsubsection[propagate]{\setlength{\rightskip}{0pt plus 5cm}void neuralpp::Layer::propagate ()}\label{classneuralpp_1_1Layer_fcfd306039dbaf91c9e2dcc8fc1f1ce1} + + +It propagates its activation values to the output layers. + +\index{neuralpp::Layer@{neuralpp::Layer}!size@{size}} +\index{size@{size}!neuralpp::Layer@{neuralpp::Layer}} +\subsubsection[size]{\setlength{\rightskip}{0pt plus 5cm}size\_\-t neuralpp::Layer::size ()}\label{classneuralpp_1_1Layer_c8d2f7513e5d40518f9dddfd1e3ddcc5} + + +\begin{Desc} +\item[Returns:]Number of neurons in the layer \end{Desc} + + +\subsection{Member Data Documentation} +\index{neuralpp::Layer@{neuralpp::Layer}!elements@{elements}} +\index{elements@{elements}!neuralpp::Layer@{neuralpp::Layer}} +\subsubsection[elements]{\setlength{\rightskip}{0pt plus 5cm}vector$<${\bf Neuron}$>$ {\bf neuralpp::Layer::elements}\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1Layer_855685c9da56b06b629e13a2f8c719ce} + + +\index{neuralpp::Layer@{neuralpp::Layer}!update\_\-weights@{update\_\-weights}} +\index{update\_\-weights@{update\_\-weights}!neuralpp::Layer@{neuralpp::Layer}} +\subsubsection[update\_\-weights]{\setlength{\rightskip}{0pt plus 5cm}void($\ast$ {\bf neuralpp::Layer::update\_\-weights})()\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1Layer_c023a15a16353d0b4f44060a159f550f} + + +\index{neuralpp::Layer@{neuralpp::Layer}!actv\_\-f@{actv\_\-f}} +\index{actv\_\-f@{actv\_\-f}!neuralpp::Layer@{neuralpp::Layer}} +\subsubsection[actv\_\-f]{\setlength{\rightskip}{0pt plus 5cm}double($\ast$ {\bf neuralpp::Layer::actv\_\-f})(double)\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1Layer_824367da29f92253a027a7c5b4a4405e} + + +\index{neuralpp::Layer@{neuralpp::Layer}!deriv@{deriv}} +\index{deriv@{deriv}!neuralpp::Layer@{neuralpp::Layer}} +\subsubsection[deriv]{\setlength{\rightskip}{0pt plus 5cm}double($\ast$ {\bf neuralpp::Layer::deriv})(double)\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1Layer_a0207b14ba80aaf03502749ecb7d23fa} + + + + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +{\bf neural++.hpp}\end{CompactItemize} diff --git a/doc/latex/classneuralpp_1_1NeuralNet.tex b/doc/latex/classneuralpp_1_1NeuralNet.tex new file mode 100644 index 0000000..5eea20d --- /dev/null +++ b/doc/latex/classneuralpp_1_1NeuralNet.tex @@ -0,0 +1,408 @@ +\section{neuralpp::NeuralNet Class Reference} +\label{classneuralpp_1_1NeuralNet}\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}} +Main project's class. + + +{\tt \#include $<$neural++.hpp$>$} + +\subsection*{Public Types} +\begin{CompactItemize} +\item +enum {\bf source} \{ {\bf file}, +{\bf str} + \} +\begin{CompactList}\small\item\em Enum to choose the eventual training source for our network (XML from a file or from a string). \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf NeuralNet} () +\begin{CompactList}\small\item\em Empty constructor for the class - it just makes nothing. \item\end{CompactList}\item +{\bf NeuralNet} (size\_\-t in\_\-size, size\_\-t hidden\_\-size, size\_\-t out\_\-size, double l, int e) +\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item +{\bf NeuralNet} (const char $\ast$file) throw (NetworkFileNotFoundException) +\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item +{\bf NeuralNet} (size\_\-t in\_\-size, size\_\-t hidden\_\-size, size\_\-t out\_\-size, double($\ast$actv)(double), double($\ast${\bf deriv})(double), double l, int e) +\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item +double {\bf getOutput} () +\begin{CompactList}\small\item\em It gets the output of the network (note: the layer output should contain an only neuron). \item\end{CompactList}\item +vector$<$ double $>$ {\bf getOutputs} () +\begin{CompactList}\small\item\em It gets the output of the network in case the output layer contains more neurons. \item\end{CompactList}\item +double {\bf expected} () +\begin{CompactList}\small\item\em It gets the value expected. \item\end{CompactList}\item +void {\bf setExpected} (double {\bf ex}) +\begin{CompactList}\small\item\em It sets the value you expect from your network. \item\end{CompactList}\item +void {\bf update} () +\begin{CompactList}\small\item\em It updates through back-propagation the weights of the synapsis and computes again the output value for {\em epochs\/} times, calling back updateWeights and commitChanges functions. \item\end{CompactList}\item +void {\bf propagate} () +\begin{CompactList}\small\item\em It propagates values through the network. \item\end{CompactList}\item +void {\bf setInput} (vector$<$ double $>$ \&v) +\begin{CompactList}\small\item\em It sets the input for the network. \item\end{CompactList}\item +void {\bf link} () +\begin{CompactList}\small\item\em It links the layers of the network (input, hidden, output). \item\end{CompactList}\item +bool {\bf save} (const char $\ast$fname) +\begin{CompactList}\small\item\em Save a trained neural network to a binary file. \item\end{CompactList}\item +void {\bf train} (string xml, {\bf source} xrc) throw (InvalidXMLException) +\begin{CompactList}\small\item\em Train a network using a training set loaded from an XML file. \item\end{CompactList}\end{CompactItemize} +\subsection*{Static Public Member Functions} +\begin{CompactItemize} +\item +static void {\bf initXML} (string \&xml) +\begin{CompactList}\small\item\em Initialize the training XML for the neural network. \item\end{CompactList}\item +static vector$<$ double $>$ {\bf split} (char delim, string str) +\begin{CompactList}\small\item\em Splits a string into a vector of doubles, given a delimitator. \item\end{CompactList}\item +static string {\bf XMLFromSet} (int id, string set) +\begin{CompactList}\small\item\em Get a training set from a string and copies it to an XML For example, these strings could be training sets for making sums: \char`\"{}2,3;5\char`\"{} - \char`\"{}5,6;11\char`\"{} - \char`\"{}2,2;4\char`\"{} - \char`\"{}4,5:9\char`\"{} This method called on the first string will return an XML such this: '$<$training id=\char`\"{}0\char`\"{}$>$$<$input id=\char`\"{}0\char`\"{}$>$2$<$/input$>$$<$input id=\char`\"{}1\char`\"{}$>$3$<$/input$>$$<$output id=\char`\"{}0\char`\"{}$>$5$<$/output$>$ \</training$>$'. \item\end{CompactList}\item +static void {\bf closeXML} (string \&xml) +\begin{CompactList}\small\item\em Closes an open XML document generated by \char`\"{}initXML\char`\"{} and \char`\"{}XMLFromSet\char`\"{}. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +void {\bf updateWeights} () +\begin{CompactList}\small\item\em It updates the weights of the net's synapsis through back-propagation. \item\end{CompactList}\item +void {\bf commitChanges} ({\bf Layer} $\ast$l) +\begin{CompactList}\small\item\em It commits the changes made by \doxyref{updateWeights()}{p.}{classneuralpp_1_1NeuralNet_94169c89a7cd47122ab5dbf1d5c5e108} to the layer l. \item\end{CompactList}\item +double {\bf error} (double {\bf ex}) +\begin{CompactList}\small\item\em It get the error made on the expected result as $|$v-v'$|$/v. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +int {\bf epochs} +\item +int {\bf ref\_\-epochs} +\item +double {\bf l\_\-rate} +\item +double {\bf ex} +\item +{\bf Layer} $\ast$ {\bf input} +\item +{\bf Layer} $\ast$ {\bf hidden} +\item +{\bf Layer} $\ast$ {\bf output} +\item +double($\ast$ {\bf actv\_\-f} )(double) +\begin{CompactList}\small\item\em Private pointer to function, containing the function to be used as activation function. \item\end{CompactList}\item +double($\ast$ {\bf deriv} )(double) +\begin{CompactList}\small\item\em Private pointer to function, containing the function to be used as derivate of the activation function. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +Main project's class. + +Use $\ast$ONLY$\ast$ this class, unless you know what you're doing + +\subsection{Member Enumeration Documentation} +\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!source@{source}} +\index{source@{source}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[source]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf neuralpp::NeuralNet::source}}\label{classneuralpp_1_1NeuralNet_94c36c94060e785ea67a0014c4182f8f} + + +Enum to choose the eventual training source for our network (XML from a file or from a string). + +\begin{Desc} +\item[Enumerator: ]\par +\begin{description} +\index{file@{file}!neuralpp::NeuralNet@{neuralpp::NeuralNet}}\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!file@{file}}\item[{\em +file\label{classneuralpp_1_1NeuralNet_94c36c94060e785ea67a0014c4182f8f5ec2727c0756ddb097b53efe49b81afb} +}]\index{str@{str}!neuralpp::NeuralNet@{neuralpp::NeuralNet}}\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!str@{str}}\item[{\em +str\label{classneuralpp_1_1NeuralNet_94c36c94060e785ea67a0014c4182f8f6d06b4fe9414a158c97aee1a3679a904} +}]\end{description} +\end{Desc} + + + +\subsection{Constructor \& Destructor Documentation} +\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!NeuralNet@{NeuralNet}} +\index{NeuralNet@{NeuralNet}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[NeuralNet]{\setlength{\rightskip}{0pt plus 5cm}neuralpp::NeuralNet::NeuralNet ()\hspace{0.3cm}{\tt [inline]}}\label{classneuralpp_1_1NeuralNet_92b145f2f6f00bf1ba645ce2235882c2} + + +Empty constructor for the class - it just makes nothing. + +\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!NeuralNet@{NeuralNet}} +\index{NeuralNet@{NeuralNet}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[NeuralNet]{\setlength{\rightskip}{0pt plus 5cm}neuralpp::NeuralNet::NeuralNet (size\_\-t {\em in\_\-size}, \/ size\_\-t {\em hidden\_\-size}, \/ size\_\-t {\em out\_\-size}, \/ double {\em l}, \/ int {\em e})}\label{classneuralpp_1_1NeuralNet_c79534c7c0dfb20d1d03be2ad7569b78} + + +Constructor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em in\_\-size}]Size of the input layer \item[{\em hidden\_\-size}]Size of the hidden layer \item[{\em out\_\-size}]Size of the output layer \item[{\em l}]learn rate (get it after doing some experiments, but generally try to keep its value quite low to be more accurate) \item[{\em e}]Epochs (cycles) to execute (the most you execute, the most the network can be accurate for its purpose) \end{description} +\end{Desc} +\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!NeuralNet@{NeuralNet}} +\index{NeuralNet@{NeuralNet}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[NeuralNet]{\setlength{\rightskip}{0pt plus 5cm}neuralpp::NeuralNet::NeuralNet (const char $\ast$ {\em file}) throw (NetworkFileNotFoundException)}\label{classneuralpp_1_1NeuralNet_88380cb002edcccf11b59f6d3f6c94c9} + + +Constructor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em file}]Binary file containing a neural network previously saved by \doxyref{save()}{p.}{classneuralpp_1_1NeuralNet_5db8d6ba4785f732da6e642b4f8f11a0} method \end{description} +\end{Desc} +\begin{Desc} +\item[Exceptions:] +\begin{description} +\item[{\em NetworkFileNotFoundException}]\end{description} +\end{Desc} +\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!NeuralNet@{NeuralNet}} +\index{NeuralNet@{NeuralNet}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[NeuralNet]{\setlength{\rightskip}{0pt plus 5cm}neuralpp::NeuralNet::NeuralNet (size\_\-t {\em in\_\-size}, \/ size\_\-t {\em hidden\_\-size}, \/ size\_\-t {\em out\_\-size}, \/ double($\ast$)(double) {\em actv}, \/ double($\ast$)(double) {\em deriv}, \/ double {\em l}, \/ int {\em e})}\label{classneuralpp_1_1NeuralNet_b4b261f7f7fa93c45855288fd66cfdca} + + +Constructor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em in\_\-size}]Size of the input layer \item[{\em hidden\_\-size}]Size of the hidden layer \item[{\em out\_\-size}]Size of the output layer \item[{\em actv}]Activation function to use (default: f(x)=x) \item[{\em deriv}]Derivate for the activation function to use (default: f'(x)=1) \item[{\em l}]learn rate (get it after doing some experiments, but generally try to keep its value quite low to be more accurate) \item[{\em e}]Epochs (cycles) to execute (the most you execute, the most the network can be accurate for its purpose) \end{description} +\end{Desc} + + +\subsection{Member Function Documentation} +\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!updateWeights@{updateWeights}} +\index{updateWeights@{updateWeights}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[updateWeights]{\setlength{\rightskip}{0pt plus 5cm}void neuralpp::NeuralNet::updateWeights ()\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1NeuralNet_94169c89a7cd47122ab5dbf1d5c5e108} + + +It updates the weights of the net's synapsis through back-propagation. + +In-class use only \index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!commitChanges@{commitChanges}} +\index{commitChanges@{commitChanges}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[commitChanges]{\setlength{\rightskip}{0pt plus 5cm}void neuralpp::NeuralNet::commitChanges ({\bf Layer} $\ast$ {\em l})\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1NeuralNet_62695a82dfb1df758a44150921aec8e0} + + +It commits the changes made by \doxyref{updateWeights()}{p.}{classneuralpp_1_1NeuralNet_94169c89a7cd47122ab5dbf1d5c5e108} to the layer l. + +In-class use only \begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em l}]\doxyref{Layer}{p.}{classneuralpp_1_1Layer} to commit the changes \end{description} +\end{Desc} +\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!error@{error}} +\index{error@{error}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[error]{\setlength{\rightskip}{0pt plus 5cm}double neuralpp::NeuralNet::error (double {\em ex})\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1NeuralNet_8a140d28e6dd4097470c7c138801ad01} + + +It get the error made on the expected result as $|$v-v'$|$/v. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em ex}]Expected value \end{description} +\end{Desc} +\begin{Desc} +\item[Returns:]Mean error \end{Desc} +\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!getOutput@{getOutput}} +\index{getOutput@{getOutput}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[getOutput]{\setlength{\rightskip}{0pt plus 5cm}double neuralpp::NeuralNet::getOutput ()}\label{classneuralpp_1_1NeuralNet_7de7ee318eeb791d21a01e9e9e0e8c5a} + + +It gets the output of the network (note: the layer output should contain an only neuron). + +\begin{Desc} +\item[Returns:]The output value of the network \end{Desc} +\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!getOutputs@{getOutputs}} +\index{getOutputs@{getOutputs}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[getOutputs]{\setlength{\rightskip}{0pt plus 5cm}vector$<$double$>$ neuralpp::NeuralNet::getOutputs ()}\label{classneuralpp_1_1NeuralNet_a6b8bf3800b43b58843c65fc431207ae} + + +It gets the output of the network in case the output layer contains more neurons. + +\begin{Desc} +\item[Returns:]A vector containing the output values of the network \end{Desc} +\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!expected@{expected}} +\index{expected@{expected}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[expected]{\setlength{\rightskip}{0pt plus 5cm}double neuralpp::NeuralNet::expected ()}\label{classneuralpp_1_1NeuralNet_423fd38a61d79905dcc12da84c805114} + + +It gets the value expected. + +Of course you should specify this when you build your network by using setExpected. \begin{Desc} +\item[Returns:]The expected output value for a certain training phase \end{Desc} +\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!setExpected@{setExpected}} +\index{setExpected@{setExpected}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[setExpected]{\setlength{\rightskip}{0pt plus 5cm}void neuralpp::NeuralNet::setExpected (double {\em ex})}\label{classneuralpp_1_1NeuralNet_b6475762b7e9eab086befdc511f7c236} + + +It sets the value you expect from your network. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em ex}]Expected output value \end{description} +\end{Desc} +\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!update@{update}} +\index{update@{update}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[update]{\setlength{\rightskip}{0pt plus 5cm}void neuralpp::NeuralNet::update ()}\label{classneuralpp_1_1NeuralNet_b0bd1daadb06980dff1f50d33a7c098e} + + +It updates through back-propagation the weights of the synapsis and computes again the output value for {\em epochs\/} times, calling back updateWeights and commitChanges functions. + +\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!propagate@{propagate}} +\index{propagate@{propagate}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[propagate]{\setlength{\rightskip}{0pt plus 5cm}void neuralpp::NeuralNet::propagate ()}\label{classneuralpp_1_1NeuralNet_c129c180647362da963758bfd1ba6890} + + +It propagates values through the network. + +Use this when you want to give an already trained network some new values the get to the output \index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!setInput@{setInput}} +\index{setInput@{setInput}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[setInput]{\setlength{\rightskip}{0pt plus 5cm}void neuralpp::NeuralNet::setInput (vector$<$ double $>$ \& {\em v})}\label{classneuralpp_1_1NeuralNet_0de170e8ab561ad63d0739b4c4b74f68} + + +It sets the input for the network. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em v}]Vector of doubles, containing the values to give to your network \end{description} +\end{Desc} +\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!link@{link}} +\index{link@{link}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[link]{\setlength{\rightskip}{0pt plus 5cm}void neuralpp::NeuralNet::link ()}\label{classneuralpp_1_1NeuralNet_46f23f462318a4ffc037a4e806364c3f} + + +It links the layers of the network (input, hidden, output). + +Don't use unless you exactly know what you're doing, it is already called by the constructor \index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!save@{save}} +\index{save@{save}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[save]{\setlength{\rightskip}{0pt plus 5cm}bool neuralpp::NeuralNet::save (const char $\ast$ {\em fname})}\label{classneuralpp_1_1NeuralNet_5db8d6ba4785f732da6e642b4f8f11a0} + + +Save a trained neural network to a binary file. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em fname}]Binary file where you're going to save your network \end{description} +\end{Desc} +\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!train@{train}} +\index{train@{train}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[train]{\setlength{\rightskip}{0pt plus 5cm}void neuralpp::NeuralNet::train (string {\em xml}, \/ {\bf source} {\em xrc}) throw (InvalidXMLException)}\label{classneuralpp_1_1NeuralNet_e8b8741d28bec1354db555eabe418cb6} + + +Train a network using a training set loaded from an XML file. + +A sample XML file is available in examples/adder.xml \begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em xml}]XML file containing our training set \item[{\em src}]Source type from which the XML will be loaded (from a file [default] or from a string) \end{description} +\end{Desc} +\begin{Desc} +\item[Exceptions:] +\begin{description} +\item[{\em InvalidXMLException}]\end{description} +\end{Desc} +\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!initXML@{initXML}} +\index{initXML@{initXML}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[initXML]{\setlength{\rightskip}{0pt plus 5cm}static void neuralpp::NeuralNet::initXML (string \& {\em xml})\hspace{0.3cm}{\tt [static]}}\label{classneuralpp_1_1NeuralNet_45c7645d4affe65752d37cd230afba24} + + +Initialize the training XML for the neural network. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em xml}]String that will contain the XML \end{description} +\end{Desc} +\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!split@{split}} +\index{split@{split}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[split]{\setlength{\rightskip}{0pt plus 5cm}static vector$<$double$>$ neuralpp::NeuralNet::split (char {\em delim}, \/ string {\em str})\hspace{0.3cm}{\tt [static]}}\label{classneuralpp_1_1NeuralNet_e07af23ceb8666518da0c035bf1e0376} + + +Splits a string into a vector of doubles, given a delimitator. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em delim}]Delimitator \item[{\em str}]String to be splitted \end{description} +\end{Desc} +\begin{Desc} +\item[Returns:]Vector of doubles containing splitted values \end{Desc} +\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!XMLFromSet@{XMLFromSet}} +\index{XMLFromSet@{XMLFromSet}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[XMLFromSet]{\setlength{\rightskip}{0pt plus 5cm}static string neuralpp::NeuralNet::XMLFromSet (int {\em id}, \/ string {\em set})\hspace{0.3cm}{\tt [static]}}\label{classneuralpp_1_1NeuralNet_4be31ecb0b543a192997bd83c6995ccb} + + +Get a training set from a string and copies it to an XML For example, these strings could be training sets for making sums: \char`\"{}2,3;5\char`\"{} - \char`\"{}5,6;11\char`\"{} - \char`\"{}2,2;4\char`\"{} - \char`\"{}4,5:9\char`\"{} This method called on the first string will return an XML such this: '$<$training id=\char`\"{}0\char`\"{}$>$$<$input id=\char`\"{}0\char`\"{}$>$2$<$/input$>$$<$input id=\char`\"{}1\char`\"{}$>$3$<$/input$>$$<$output id=\char`\"{}0\char`\"{}$>$5$<$/output$>$ \</training$>$'. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em id}]ID for the given training set (0,1,..,n) \item[{\em set}]String containing input values and expected outputs \end{description} +\end{Desc} +\begin{Desc} +\item[Returns:]XML string \end{Desc} +\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!closeXML@{closeXML}} +\index{closeXML@{closeXML}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[closeXML]{\setlength{\rightskip}{0pt plus 5cm}static void neuralpp::NeuralNet::closeXML (string \& {\em xml})\hspace{0.3cm}{\tt [static]}}\label{classneuralpp_1_1NeuralNet_28b9966c5f197b8e86d57dd104aa32a6} + + +Closes an open XML document generated by \char`\"{}initXML\char`\"{} and \char`\"{}XMLFromSet\char`\"{}. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em xml}]XML string to be closed \end{description} +\end{Desc} + + +\subsection{Member Data Documentation} +\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!epochs@{epochs}} +\index{epochs@{epochs}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[epochs]{\setlength{\rightskip}{0pt plus 5cm}int {\bf neuralpp::NeuralNet::epochs}\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1NeuralNet_4cb52dae7b43d03fac73afca7b9f3a51} + + +\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!ref\_\-epochs@{ref\_\-epochs}} +\index{ref\_\-epochs@{ref\_\-epochs}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[ref\_\-epochs]{\setlength{\rightskip}{0pt plus 5cm}int {\bf neuralpp::NeuralNet::ref\_\-epochs}\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1NeuralNet_4f88106c9e542c39eac43b4ca1974a2a} + + +\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!l\_\-rate@{l\_\-rate}} +\index{l\_\-rate@{l\_\-rate}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[l\_\-rate]{\setlength{\rightskip}{0pt plus 5cm}double {\bf neuralpp::NeuralNet::l\_\-rate}\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1NeuralNet_6bd7be443e46b2fdbf1da2edb8e611ab} + + +\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!ex@{ex}} +\index{ex@{ex}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[ex]{\setlength{\rightskip}{0pt plus 5cm}double {\bf neuralpp::NeuralNet::ex}\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1NeuralNet_261f5f68fcc5be54250cfa03945266dd} + + +\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!input@{input}} +\index{input@{input}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[input]{\setlength{\rightskip}{0pt plus 5cm}{\bf Layer}$\ast$ {\bf neuralpp::NeuralNet::input}\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1NeuralNet_e2b4e8405f9d25edab395d61502bdba9} + + +\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!hidden@{hidden}} +\index{hidden@{hidden}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[hidden]{\setlength{\rightskip}{0pt plus 5cm}{\bf Layer}$\ast$ {\bf neuralpp::NeuralNet::hidden}\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1NeuralNet_bbdaa1b6c0a1a95d2b18cd25fda2a266} + + +\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!output@{output}} +\index{output@{output}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[output]{\setlength{\rightskip}{0pt plus 5cm}{\bf Layer}$\ast$ {\bf neuralpp::NeuralNet::output}\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1NeuralNet_fa9b2dbcbb39d0fc70f790ac24069a74} + + +\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!actv\_\-f@{actv\_\-f}} +\index{actv\_\-f@{actv\_\-f}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[actv\_\-f]{\setlength{\rightskip}{0pt plus 5cm}double($\ast$ {\bf neuralpp::NeuralNet::actv\_\-f})(double)\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1NeuralNet_c1469e6afd87d85b82f14bc246f82457} + + +Private pointer to function, containing the function to be used as activation function. + +\index{neuralpp::NeuralNet@{neuralpp::NeuralNet}!deriv@{deriv}} +\index{deriv@{deriv}!neuralpp::NeuralNet@{neuralpp::NeuralNet}} +\subsubsection[deriv]{\setlength{\rightskip}{0pt plus 5cm}double($\ast$ {\bf neuralpp::NeuralNet::deriv})(double)\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1NeuralNet_df44689f4e6201ca1ddc67655cce3576} + + +Private pointer to function, containing the function to be used as derivate of the activation function. + + + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +{\bf neural++.hpp}\end{CompactItemize} diff --git a/doc/latex/classneuralpp_1_1Neuron.tex b/doc/latex/classneuralpp_1_1Neuron.tex new file mode 100644 index 0000000..a7d5f0b --- /dev/null +++ b/doc/latex/classneuralpp_1_1Neuron.tex @@ -0,0 +1,252 @@ +\section{neuralpp::Neuron Class Reference} +\label{classneuralpp_1_1Neuron}\index{neuralpp::Neuron@{neuralpp::Neuron}} +Class for managing neurons. + + +{\tt \#include $<$neural++.hpp$>$} + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf Neuron} (double($\ast$a)(double), double($\ast$d)(double)) +\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item +{\bf Neuron} (vector$<$ {\bf Synapsis} $>$ {\bf in}, vector$<$ {\bf Synapsis} $>$ {\bf out}, double($\ast$a)(double), double($\ast$d)(double)) +\begin{CompactList}\small\item\em Alternative constructor, that gets also the synapsis linked to the neuron. \item\end{CompactList}\item +{\bf Synapsis} \& {\bf synIn} (size\_\-t i) +\begin{CompactList}\small\item\em Get the i-th synapsis connected on the input of the neuron. \item\end{CompactList}\item +{\bf Synapsis} \& {\bf synOut} (size\_\-t i) +\begin{CompactList}\small\item\em Get the i-th synapsis connected on the output of the neuron. \item\end{CompactList}\item +void {\bf push\_\-in} ({\bf Synapsis} \&s) +\begin{CompactList}\small\item\em It pushes a new input synapsis. \item\end{CompactList}\item +void {\bf push\_\-out} ({\bf Synapsis} \&s) +\begin{CompactList}\small\item\em It pushes a new output synapsis. \item\end{CompactList}\item +void {\bf setActv} (double a) +\begin{CompactList}\small\item\em Change the activation value of the neuron. \item\end{CompactList}\item +void {\bf setProp} (double p) +\begin{CompactList}\small\item\em Change the propagation value of the neuron. \item\end{CompactList}\item +double {\bf getActv} () +\begin{CompactList}\small\item\em Get the activation value of the neuron. \item\end{CompactList}\item +double {\bf getProp} () +\begin{CompactList}\small\item\em Get the propagation value of the neuron. \item\end{CompactList}\item +double {\bf propagate} () +\begin{CompactList}\small\item\em It propagates its activation value to the connected neurons. \item\end{CompactList}\item +size\_\-t {\bf nIn} () +\begin{CompactList}\small\item\em Get the number of input synapsis for the neuron. \item\end{CompactList}\item +size\_\-t {\bf nOut} () +\begin{CompactList}\small\item\em Get the number of output synapsis for the neuron. \item\end{CompactList}\item +void {\bf synClear} () +\begin{CompactList}\small\item\em Remove input and output synapsis from a neuron. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +double {\bf actv\_\-val} +\item +double {\bf prop\_\-val} +\item +vector$<$ {\bf Synapsis} $>$ {\bf in} +\item +vector$<$ {\bf Synapsis} $>$ {\bf out} +\item +double($\ast$ {\bf actv\_\-f} )(double) +\item +double($\ast$ {\bf deriv} )(double) +\end{CompactItemize} + + +\subsection{Detailed Description} +Class for managing neurons. + +Don't use this class directly unless you know what you're doing, use \doxyref{NeuralNet}{p.}{classneuralpp_1_1NeuralNet} instead + +\subsection{Constructor \& Destructor Documentation} +\index{neuralpp::Neuron@{neuralpp::Neuron}!Neuron@{Neuron}} +\index{Neuron@{Neuron}!neuralpp::Neuron@{neuralpp::Neuron}} +\subsubsection[Neuron]{\setlength{\rightskip}{0pt plus 5cm}neuralpp::Neuron::Neuron (double($\ast$)(double) {\em a}, \/ double($\ast$)(double) {\em d})}\label{classneuralpp_1_1Neuron_c877424a295478e3464046ea43c2a7ad} + + +Constructor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em a}]Activation function \item[{\em d}]Its derivate \end{description} +\end{Desc} +\index{neuralpp::Neuron@{neuralpp::Neuron}!Neuron@{Neuron}} +\index{Neuron@{Neuron}!neuralpp::Neuron@{neuralpp::Neuron}} +\subsubsection[Neuron]{\setlength{\rightskip}{0pt plus 5cm}neuralpp::Neuron::Neuron (vector$<$ {\bf Synapsis} $>$ {\em in}, \/ vector$<$ {\bf Synapsis} $>$ {\em out}, \/ double($\ast$)(double) {\em a}, \/ double($\ast$)(double) {\em d})}\label{classneuralpp_1_1Neuron_e25546d4f7126f106c2f3b2d8ed2c792} + + +Alternative constructor, that gets also the synapsis linked to the neuron. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em in}]Input synapses \item[{\em out}]Output synapses \item[{\em a}]Activation function \item[{\em d}]Derivate of the activation function \end{description} +\end{Desc} + + +\subsection{Member Function Documentation} +\index{neuralpp::Neuron@{neuralpp::Neuron}!synIn@{synIn}} +\index{synIn@{synIn}!neuralpp::Neuron@{neuralpp::Neuron}} +\subsubsection[synIn]{\setlength{\rightskip}{0pt plus 5cm}{\bf Synapsis}\& neuralpp::Neuron::synIn (size\_\-t {\em i})}\label{classneuralpp_1_1Neuron_29f2d9dcc4ca34f224d4dc39bb2f180a} + + +Get the i-th synapsis connected on the input of the neuron. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em i}]Index of the input synapsis to get \end{description} +\end{Desc} +\begin{Desc} +\item[Returns:]Reference to the i-th synapsis \end{Desc} +\index{neuralpp::Neuron@{neuralpp::Neuron}!synOut@{synOut}} +\index{synOut@{synOut}!neuralpp::Neuron@{neuralpp::Neuron}} +\subsubsection[synOut]{\setlength{\rightskip}{0pt plus 5cm}{\bf Synapsis}\& neuralpp::Neuron::synOut (size\_\-t {\em i})}\label{classneuralpp_1_1Neuron_655f1637e1b754461413ac7fc2ffeebe} + + +Get the i-th synapsis connected on the output of the neuron. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em i}]Index of the output synapsis to get \end{description} +\end{Desc} +\begin{Desc} +\item[Returns:]Reference to the i-th synapsis \end{Desc} +\index{neuralpp::Neuron@{neuralpp::Neuron}!push\_\-in@{push\_\-in}} +\index{push\_\-in@{push\_\-in}!neuralpp::Neuron@{neuralpp::Neuron}} +\subsubsection[push\_\-in]{\setlength{\rightskip}{0pt plus 5cm}void neuralpp::Neuron::push\_\-in ({\bf Synapsis} \& {\em s})}\label{classneuralpp_1_1Neuron_583ada6e1dd3f2e113415b4d89196e62} + + +It pushes a new input synapsis. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em s}]\doxyref{Synapsis}{p.}{classneuralpp_1_1Synapsis} to be pushed \end{description} +\end{Desc} +\index{neuralpp::Neuron@{neuralpp::Neuron}!push\_\-out@{push\_\-out}} +\index{push\_\-out@{push\_\-out}!neuralpp::Neuron@{neuralpp::Neuron}} +\subsubsection[push\_\-out]{\setlength{\rightskip}{0pt plus 5cm}void neuralpp::Neuron::push\_\-out ({\bf Synapsis} \& {\em s})}\label{classneuralpp_1_1Neuron_bca65db84f56f9d40694bfbcd25812cb} + + +It pushes a new output synapsis. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em s}]\doxyref{Synapsis}{p.}{classneuralpp_1_1Synapsis} to be pushed \end{description} +\end{Desc} +\index{neuralpp::Neuron@{neuralpp::Neuron}!setActv@{setActv}} +\index{setActv@{setActv}!neuralpp::Neuron@{neuralpp::Neuron}} +\subsubsection[setActv]{\setlength{\rightskip}{0pt plus 5cm}void neuralpp::Neuron::setActv (double {\em a})}\label{classneuralpp_1_1Neuron_ddf00ffef030b27ed11901aad08822bd} + + +Change the activation value of the neuron. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em a}]Activation value \end{description} +\end{Desc} +\index{neuralpp::Neuron@{neuralpp::Neuron}!setProp@{setProp}} +\index{setProp@{setProp}!neuralpp::Neuron@{neuralpp::Neuron}} +\subsubsection[setProp]{\setlength{\rightskip}{0pt plus 5cm}void neuralpp::Neuron::setProp (double {\em p})}\label{classneuralpp_1_1Neuron_aa6e58f073a76b3481fea9115a4e6ea6} + + +Change the propagation value of the neuron. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em p}]Propagation value \end{description} +\end{Desc} +\index{neuralpp::Neuron@{neuralpp::Neuron}!getActv@{getActv}} +\index{getActv@{getActv}!neuralpp::Neuron@{neuralpp::Neuron}} +\subsubsection[getActv]{\setlength{\rightskip}{0pt plus 5cm}double neuralpp::Neuron::getActv ()}\label{classneuralpp_1_1Neuron_55993867179f0ac7d1e0e2c460ceb611} + + +Get the activation value of the neuron. + +\begin{Desc} +\item[Returns:]Activation value for the neuron \end{Desc} +\index{neuralpp::Neuron@{neuralpp::Neuron}!getProp@{getProp}} +\index{getProp@{getProp}!neuralpp::Neuron@{neuralpp::Neuron}} +\subsubsection[getProp]{\setlength{\rightskip}{0pt plus 5cm}double neuralpp::Neuron::getProp ()}\label{classneuralpp_1_1Neuron_57c022f82213f662e2a263fc134a3fc9} + + +Get the propagation value of the neuron. + +\begin{Desc} +\item[Returns:]Propagation value for the neuron \end{Desc} +\index{neuralpp::Neuron@{neuralpp::Neuron}!propagate@{propagate}} +\index{propagate@{propagate}!neuralpp::Neuron@{neuralpp::Neuron}} +\subsubsection[propagate]{\setlength{\rightskip}{0pt plus 5cm}double neuralpp::Neuron::propagate ()}\label{classneuralpp_1_1Neuron_8b0ca61cd0e047c8691ab39aae56dbda} + + +It propagates its activation value to the connected neurons. + +\index{neuralpp::Neuron@{neuralpp::Neuron}!nIn@{nIn}} +\index{nIn@{nIn}!neuralpp::Neuron@{neuralpp::Neuron}} +\subsubsection[nIn]{\setlength{\rightskip}{0pt plus 5cm}size\_\-t neuralpp::Neuron::nIn ()}\label{classneuralpp_1_1Neuron_ad97f1a082d5f969eb4c69ab454ecfbb} + + +Get the number of input synapsis for the neuron. + +\begin{Desc} +\item[Returns:]Number of input synapsis \end{Desc} +\index{neuralpp::Neuron@{neuralpp::Neuron}!nOut@{nOut}} +\index{nOut@{nOut}!neuralpp::Neuron@{neuralpp::Neuron}} +\subsubsection[nOut]{\setlength{\rightskip}{0pt plus 5cm}size\_\-t neuralpp::Neuron::nOut ()}\label{classneuralpp_1_1Neuron_fe458021e3b20d58dc608fb94ae2135b} + + +Get the number of output synapsis for the neuron. + +\begin{Desc} +\item[Returns:]Number of output synapsis \end{Desc} +\index{neuralpp::Neuron@{neuralpp::Neuron}!synClear@{synClear}} +\index{synClear@{synClear}!neuralpp::Neuron@{neuralpp::Neuron}} +\subsubsection[synClear]{\setlength{\rightskip}{0pt plus 5cm}void neuralpp::Neuron::synClear ()}\label{classneuralpp_1_1Neuron_2e2ccb69277fc3d992a3a3f2360ed154} + + +Remove input and output synapsis from a neuron. + + + +\subsection{Member Data Documentation} +\index{neuralpp::Neuron@{neuralpp::Neuron}!actv\_\-val@{actv\_\-val}} +\index{actv\_\-val@{actv\_\-val}!neuralpp::Neuron@{neuralpp::Neuron}} +\subsubsection[actv\_\-val]{\setlength{\rightskip}{0pt plus 5cm}double {\bf neuralpp::Neuron::actv\_\-val}\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1Neuron_eec680c47272b2465e8d8a998c359853} + + +\index{neuralpp::Neuron@{neuralpp::Neuron}!prop\_\-val@{prop\_\-val}} +\index{prop\_\-val@{prop\_\-val}!neuralpp::Neuron@{neuralpp::Neuron}} +\subsubsection[prop\_\-val]{\setlength{\rightskip}{0pt plus 5cm}double {\bf neuralpp::Neuron::prop\_\-val}\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1Neuron_da75259de98b1a893c736666af6bfdc3} + + +\index{neuralpp::Neuron@{neuralpp::Neuron}!in@{in}} +\index{in@{in}!neuralpp::Neuron@{neuralpp::Neuron}} +\subsubsection[in]{\setlength{\rightskip}{0pt plus 5cm}vector$<$ {\bf Synapsis} $>$ {\bf neuralpp::Neuron::in}\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1Neuron_ead827210fa18c2baae03927b2c798ff} + + +\index{neuralpp::Neuron@{neuralpp::Neuron}!out@{out}} +\index{out@{out}!neuralpp::Neuron@{neuralpp::Neuron}} +\subsubsection[out]{\setlength{\rightskip}{0pt plus 5cm}vector$<$ {\bf Synapsis} $>$ {\bf neuralpp::Neuron::out}\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1Neuron_82a4297f84d6403e52a8386d26117b4f} + + +\index{neuralpp::Neuron@{neuralpp::Neuron}!actv\_\-f@{actv\_\-f}} +\index{actv\_\-f@{actv\_\-f}!neuralpp::Neuron@{neuralpp::Neuron}} +\subsubsection[actv\_\-f]{\setlength{\rightskip}{0pt plus 5cm}double($\ast$ {\bf neuralpp::Neuron::actv\_\-f})(double)\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1Neuron_198ddd0d11a26d0052d52b787d6a0df0} + + +\index{neuralpp::Neuron@{neuralpp::Neuron}!deriv@{deriv}} +\index{deriv@{deriv}!neuralpp::Neuron@{neuralpp::Neuron}} +\subsubsection[deriv]{\setlength{\rightskip}{0pt plus 5cm}double($\ast$ {\bf neuralpp::Neuron::deriv})(double)\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1Neuron_8b881889e40e9782c49b0efad2b1dde3} + + + + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +{\bf neural++.hpp}\end{CompactItemize} diff --git a/doc/latex/classneuralpp_1_1Synapsis.tex b/doc/latex/classneuralpp_1_1Synapsis.tex new file mode 100644 index 0000000..1f0a917 --- /dev/null +++ b/doc/latex/classneuralpp_1_1Synapsis.tex @@ -0,0 +1,218 @@ +\section{neuralpp::Synapsis Class Reference} +\label{classneuralpp_1_1Synapsis}\index{neuralpp::Synapsis@{neuralpp::Synapsis}} +Class for managing synapsis. + + +{\tt \#include $<$neural++.hpp$>$} + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf Synapsis} ({\bf Neuron} $\ast$i, {\bf Neuron} $\ast$o, double w, double d) +\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item +{\bf Synapsis} ({\bf Neuron} $\ast$i, {\bf Neuron} $\ast$o, double($\ast$a)(double), double($\ast$d)(double)) +\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item +{\bf Synapsis} ({\bf Neuron} $\ast$i, {\bf Neuron} $\ast$o, double w, double($\ast$a)(double), double($\ast$d)(double)) +\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item +{\bf Neuron} $\ast$ {\bf getIn} () +\item +{\bf Neuron} $\ast$ {\bf getOut} () +\item +void {\bf setWeight} (double w) +\begin{CompactList}\small\item\em Set the weight of the synapsis. \item\end{CompactList}\item +void {\bf setDelta} (double d) +\begin{CompactList}\small\item\em It sets the delta (how much to change the weight after an update) of the synapsis. \item\end{CompactList}\item +double {\bf getWeight} () +\begin{CompactList}\small\item\em Return the weight of the synapsis. \item\end{CompactList}\item +double {\bf getDelta} () +\begin{CompactList}\small\item\em Return the delta of the synapsis. \item\end{CompactList}\item +double {\bf getPrevDelta} () +\begin{CompactList}\small\item\em Get the delta of the synapsis at the previous iteration. \item\end{CompactList}\item +double {\bf momentum} (int N, int x) +\begin{CompactList}\small\item\em Get the inertial momentum of a synapsis. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +double {\bf delta} +\item +double {\bf prev\_\-delta} +\item +double {\bf weight} +\item +{\bf Neuron} $\ast$ {\bf in} +\item +{\bf Neuron} $\ast$ {\bf out} +\item +double($\ast$ {\bf actv\_\-f} )(double) +\item +double($\ast$ {\bf deriv} )(double) +\end{CompactItemize} + + +\subsection{Detailed Description} +Class for managing synapsis. + +Don't use this class directly unless you know what you're doing, use \doxyref{NeuralNet}{p.}{classneuralpp_1_1NeuralNet} instead + +\subsection{Constructor \& Destructor Documentation} +\index{neuralpp::Synapsis@{neuralpp::Synapsis}!Synapsis@{Synapsis}} +\index{Synapsis@{Synapsis}!neuralpp::Synapsis@{neuralpp::Synapsis}} +\subsubsection[Synapsis]{\setlength{\rightskip}{0pt plus 5cm}neuralpp::Synapsis::Synapsis ({\bf Neuron} $\ast$ {\em i}, \/ {\bf Neuron} $\ast$ {\em o}, \/ double {\em w}, \/ double {\em d})}\label{classneuralpp_1_1Synapsis_0729de9e737b9967421edcfc4b410bd8} + + +Constructor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em i}]Input neuron \item[{\em o}]Output neuron \item[{\em w}]Weight for the synapsis \item[{\em d}]Delta for the synapsis \end{description} +\end{Desc} +\index{neuralpp::Synapsis@{neuralpp::Synapsis}!Synapsis@{Synapsis}} +\index{Synapsis@{Synapsis}!neuralpp::Synapsis@{neuralpp::Synapsis}} +\subsubsection[Synapsis]{\setlength{\rightskip}{0pt plus 5cm}neuralpp::Synapsis::Synapsis ({\bf Neuron} $\ast$ {\em i}, \/ {\bf Neuron} $\ast$ {\em o}, \/ double($\ast$)(double) {\em a}, \/ double($\ast$)(double) {\em d})}\label{classneuralpp_1_1Synapsis_a75e0de57380141973c46dd83d9985e2} + + +Constructor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em i}]Input neuron \item[{\em o}]Output neuron \item[{\em a}]Activation function \item[{\em d}]Derivate for activation function \end{description} +\end{Desc} +\index{neuralpp::Synapsis@{neuralpp::Synapsis}!Synapsis@{Synapsis}} +\index{Synapsis@{Synapsis}!neuralpp::Synapsis@{neuralpp::Synapsis}} +\subsubsection[Synapsis]{\setlength{\rightskip}{0pt plus 5cm}neuralpp::Synapsis::Synapsis ({\bf Neuron} $\ast$ {\em i}, \/ {\bf Neuron} $\ast$ {\em o}, \/ double {\em w}, \/ double($\ast$)(double) {\em a}, \/ double($\ast$)(double) {\em d})}\label{classneuralpp_1_1Synapsis_3b9714684c845beae5b3474428509663} + + +Constructor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em i}]Input neuron \item[{\em o}]Output neuron \item[{\em w}]Weight for the synapsis (default: random) \item[{\em a}]Activation function \item[{\em d}]Derivate for activation function \end{description} +\end{Desc} + + +\subsection{Member Function Documentation} +\index{neuralpp::Synapsis@{neuralpp::Synapsis}!getIn@{getIn}} +\index{getIn@{getIn}!neuralpp::Synapsis@{neuralpp::Synapsis}} +\subsubsection[getIn]{\setlength{\rightskip}{0pt plus 5cm}{\bf Neuron}$\ast$ neuralpp::Synapsis::getIn ()}\label{classneuralpp_1_1Synapsis_5ba8a93a5741f4855390eb8a46e99435} + + +\begin{Desc} +\item[Returns:]Reference to input neuron of the synapsis \end{Desc} +\index{neuralpp::Synapsis@{neuralpp::Synapsis}!getOut@{getOut}} +\index{getOut@{getOut}!neuralpp::Synapsis@{neuralpp::Synapsis}} +\subsubsection[getOut]{\setlength{\rightskip}{0pt plus 5cm}{\bf Neuron}$\ast$ neuralpp::Synapsis::getOut ()}\label{classneuralpp_1_1Synapsis_61c9a04e03291a01f44520cef143cbdd} + + +\begin{Desc} +\item[Returns:]Reference to output neuron of the synapsis \end{Desc} +\index{neuralpp::Synapsis@{neuralpp::Synapsis}!setWeight@{setWeight}} +\index{setWeight@{setWeight}!neuralpp::Synapsis@{neuralpp::Synapsis}} +\subsubsection[setWeight]{\setlength{\rightskip}{0pt plus 5cm}void neuralpp::Synapsis::setWeight (double {\em w})}\label{classneuralpp_1_1Synapsis_acee77d0fdf9889464ab5ed27beae0ff} + + +Set the weight of the synapsis. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em w}]Weight to be set \end{description} +\end{Desc} +\index{neuralpp::Synapsis@{neuralpp::Synapsis}!setDelta@{setDelta}} +\index{setDelta@{setDelta}!neuralpp::Synapsis@{neuralpp::Synapsis}} +\subsubsection[setDelta]{\setlength{\rightskip}{0pt plus 5cm}void neuralpp::Synapsis::setDelta (double {\em d})}\label{classneuralpp_1_1Synapsis_429ad5b25930faf436a9d725582802e1} + + +It sets the delta (how much to change the weight after an update) of the synapsis. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em d}]Delta to be set \end{description} +\end{Desc} +\index{neuralpp::Synapsis@{neuralpp::Synapsis}!getWeight@{getWeight}} +\index{getWeight@{getWeight}!neuralpp::Synapsis@{neuralpp::Synapsis}} +\subsubsection[getWeight]{\setlength{\rightskip}{0pt plus 5cm}double neuralpp::Synapsis::getWeight ()}\label{classneuralpp_1_1Synapsis_aa79c16ec6b59949e5d2f75a3f10d530} + + +Return the weight of the synapsis. + +\begin{Desc} +\item[Returns:]Weight of the synapsis \end{Desc} +\index{neuralpp::Synapsis@{neuralpp::Synapsis}!getDelta@{getDelta}} +\index{getDelta@{getDelta}!neuralpp::Synapsis@{neuralpp::Synapsis}} +\subsubsection[getDelta]{\setlength{\rightskip}{0pt plus 5cm}double neuralpp::Synapsis::getDelta ()}\label{classneuralpp_1_1Synapsis_18f15b920609be8b818d43a0227aada5} + + +Return the delta of the synapsis. + +\begin{Desc} +\item[Returns:]Delta of the synapsis \end{Desc} +\index{neuralpp::Synapsis@{neuralpp::Synapsis}!getPrevDelta@{getPrevDelta}} +\index{getPrevDelta@{getPrevDelta}!neuralpp::Synapsis@{neuralpp::Synapsis}} +\subsubsection[getPrevDelta]{\setlength{\rightskip}{0pt plus 5cm}double neuralpp::Synapsis::getPrevDelta ()}\label{classneuralpp_1_1Synapsis_2fe3e9ec97542f1476d8b9306aa09756} + + +Get the delta of the synapsis at the previous iteration. + +\begin{Desc} +\item[Returns:]The previous delta \end{Desc} +\index{neuralpp::Synapsis@{neuralpp::Synapsis}!momentum@{momentum}} +\index{momentum@{momentum}!neuralpp::Synapsis@{neuralpp::Synapsis}} +\subsubsection[momentum]{\setlength{\rightskip}{0pt plus 5cm}double neuralpp::Synapsis::momentum (int {\em N}, \/ int {\em x})}\label{classneuralpp_1_1Synapsis_ecdb17182de791f7fdd417232e184350} + + +Get the inertial momentum of a synapsis. + +This value is inversely proportional to the number of steps done in the learning phase (quite high at the beginning, decreasing to zero towards the end of the learning algorithm), and is needed to avoid strong oscillations in output values at the beginning, caused by the random values assigned to the synaptical weights \begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em N}]The number of iterations the network must have to adjust the output values \item[{\em x}]The number of iterations already taken \end{description} +\end{Desc} +\begin{Desc} +\item[Returns:]The inertial momentum of the synapsis \end{Desc} + + +\subsection{Member Data Documentation} +\index{neuralpp::Synapsis@{neuralpp::Synapsis}!delta@{delta}} +\index{delta@{delta}!neuralpp::Synapsis@{neuralpp::Synapsis}} +\subsubsection[delta]{\setlength{\rightskip}{0pt plus 5cm}double {\bf neuralpp::Synapsis::delta}\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1Synapsis_617fdc4305f8f1850eac267a7ee22660} + + +\index{neuralpp::Synapsis@{neuralpp::Synapsis}!prev\_\-delta@{prev\_\-delta}} +\index{prev\_\-delta@{prev\_\-delta}!neuralpp::Synapsis@{neuralpp::Synapsis}} +\subsubsection[prev\_\-delta]{\setlength{\rightskip}{0pt plus 5cm}double {\bf neuralpp::Synapsis::prev\_\-delta}\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1Synapsis_65471cd6c9ef87609dfa4b0e5fafa708} + + +\index{neuralpp::Synapsis@{neuralpp::Synapsis}!weight@{weight}} +\index{weight@{weight}!neuralpp::Synapsis@{neuralpp::Synapsis}} +\subsubsection[weight]{\setlength{\rightskip}{0pt plus 5cm}double {\bf neuralpp::Synapsis::weight}\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1Synapsis_0bc523a8135ebbb5c0da932939d30ed7} + + +\index{neuralpp::Synapsis@{neuralpp::Synapsis}!in@{in}} +\index{in@{in}!neuralpp::Synapsis@{neuralpp::Synapsis}} +\subsubsection[in]{\setlength{\rightskip}{0pt plus 5cm}{\bf Neuron}$\ast$ {\bf neuralpp::Synapsis::in}\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1Synapsis_83d41c158054b08bd05051736e89a0ad} + + +\index{neuralpp::Synapsis@{neuralpp::Synapsis}!out@{out}} +\index{out@{out}!neuralpp::Synapsis@{neuralpp::Synapsis}} +\subsubsection[out]{\setlength{\rightskip}{0pt plus 5cm}{\bf Neuron}$\ast$ {\bf neuralpp::Synapsis::out}\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1Synapsis_fb219e05038fa0da20db1082ab0500be} + + +\index{neuralpp::Synapsis@{neuralpp::Synapsis}!actv\_\-f@{actv\_\-f}} +\index{actv\_\-f@{actv\_\-f}!neuralpp::Synapsis@{neuralpp::Synapsis}} +\subsubsection[actv\_\-f]{\setlength{\rightskip}{0pt plus 5cm}double($\ast$ {\bf neuralpp::Synapsis::actv\_\-f})(double)\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1Synapsis_2539b9eef2ff0f3522aea8d89e394f02} + + +\index{neuralpp::Synapsis@{neuralpp::Synapsis}!deriv@{deriv}} +\index{deriv@{deriv}!neuralpp::Synapsis@{neuralpp::Synapsis}} +\subsubsection[deriv]{\setlength{\rightskip}{0pt plus 5cm}double($\ast$ {\bf neuralpp::Synapsis::deriv})(double)\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1Synapsis_2940b370c283aa1b63890666942c26bf} + + + + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +{\bf neural++.hpp}\end{CompactItemize} diff --git a/doc/latex/doxygen.sty b/doc/latex/doxygen.sty new file mode 100644 index 0000000..e0f4c8e --- /dev/null +++ b/doc/latex/doxygen.sty @@ -0,0 +1,78 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{doxygen} +\RequirePackage{calc} +\RequirePackage{array} +\pagestyle{fancyplain} +\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}} +\renewcommand{\chaptermark}[1]{\markboth{#1}{}} +\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}} +\lhead[\fancyplain{}{\bfseries\thepage}] + {\fancyplain{}{\bfseries\rightmark}} +\rhead[\fancyplain{}{\bfseries\leftmark}] + {\fancyplain{}{\bfseries\thepage}} +\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Sun Aug 9 11:11:17 2009 for Neural++ by Doxygen }]{} +\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Sun Aug 9 11:11:17 2009 for Neural++ by Doxygen }} +\cfoot{} +\newenvironment{Code} +{\footnotesize} +{\normalsize} +\newcommand{\doxyref}[3]{\textbf{#1} (\textnormal{#2}\,\pageref{#3})} +\newenvironment{DocInclude} +{\footnotesize} +{\normalsize} +\newenvironment{VerbInclude} +{\footnotesize} +{\normalsize} +\newenvironment{Image} +{\begin{figure}[H]} +{\end{figure}} +\newenvironment{ImageNoCaption}{}{} +\newenvironment{CompactList} +{\begin{list}{}{ + \setlength{\leftmargin}{0.5cm} + \setlength{\itemsep}{0pt} + \setlength{\parsep}{0pt} + \setlength{\topsep}{0pt} + \renewcommand{\makelabel}{\hfill}}} +{\end{list}} +\newenvironment{CompactItemize} +{ + \begin{itemize} + \setlength{\itemsep}{-3pt} + \setlength{\parsep}{0pt} + \setlength{\topsep}{0pt} + \setlength{\partopsep}{0pt} +} +{\end{itemize}} +\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp} +\newlength{\tmplength} +\newenvironment{TabularC}[1] +{ +\setlength{\tmplength} + {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)} + \par\begin{tabular*}{\linewidth} + {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|} +} +{\end{tabular*}\par} +\newcommand{\entrylabel}[1]{ + {\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{\textbf{#1}}\vspace{1.5\baselineskip}}}} +\newenvironment{Desc} +{\begin{list}{} + { + \settowidth{\labelwidth}{40pt} + \setlength{\leftmargin}{\labelwidth} + \setlength{\parsep}{0pt} + \setlength{\itemsep}{-4pt} + \renewcommand{\makelabel}{\entrylabel} + } +} +{\end{list}} +\newenvironment{Indent} + {\begin{list}{}{\setlength{\leftmargin}{0.5cm}} + \item[]\ignorespaces} + {\unskip\end{list}} +\setlength{\parindent}{0cm} +\setlength{\parskip}{0.2cm} +\addtocounter{secnumdepth}{1} +\sloppy +\usepackage[T1]{fontenc} diff --git a/doc/latex/files.tex b/doc/latex/files.tex new file mode 100644 index 0000000..72b762d --- /dev/null +++ b/doc/latex/files.tex @@ -0,0 +1,6 @@ +\section{File List} +Here is a list of all files with brief descriptions:\begin{CompactList} +\item\contentsline{section}{{\bf Markup.h} }{\pageref{Markup_8h}}{} +\item\contentsline{section}{{\bf neural++.hpp} }{\pageref{neural_09_09_8hpp}}{} +\item\contentsline{section}{{\bf neural++\_\-exception.hpp} }{\pageref{neural_09_09__exception_8hpp}}{} +\end{CompactList} diff --git a/doc/latex/namespaceneuralpp.tex b/doc/latex/namespaceneuralpp.tex new file mode 100644 index 0000000..c0a7b51 --- /dev/null +++ b/doc/latex/namespaceneuralpp.tex @@ -0,0 +1,26 @@ +\section{neuralpp Namespace Reference} +\label{namespaceneuralpp}\index{neuralpp@{neuralpp}} +Main namespace for the library. + + +\subsection*{Classes} +\begin{CompactItemize} +\item +class {\bf NeuralNet} +\begin{CompactList}\small\item\em Main project's class. \item\end{CompactList}\item +class {\bf Synapsis} +\begin{CompactList}\small\item\em Class for managing synapsis. \item\end{CompactList}\item +class {\bf Neuron} +\begin{CompactList}\small\item\em Class for managing neurons. \item\end{CompactList}\item +class {\bf Layer} +\begin{CompactList}\small\item\em Class for managing layers of neurons. \item\end{CompactList}\item +struct {\bf netrecord} +\item +struct {\bf neuronrecord} +\item +struct {\bf synrecord} +\end{CompactItemize} + + +\subsection{Detailed Description} +Main namespace for the library. \ No newline at end of file diff --git a/doc/latex/namespaces.tex b/doc/latex/namespaces.tex new file mode 100644 index 0000000..735d3ad --- /dev/null +++ b/doc/latex/namespaces.tex @@ -0,0 +1,4 @@ +\section{Namespace List} +Here is a list of all namespaces with brief descriptions:\begin{CompactList} +\item\contentsline{section}{{\bf neuralpp} (Main namespace for the library )}{\pageref{namespaceneuralpp}}{} +\end{CompactList} diff --git a/doc/latex/neural_09_09_8hpp.tex b/doc/latex/neural_09_09_8hpp.tex new file mode 100644 index 0000000..16170c3 --- /dev/null +++ b/doc/latex/neural_09_09_8hpp.tex @@ -0,0 +1,54 @@ +\section{neural++.hpp File Reference} +\label{neural_09_09_8hpp}\index{neural++.hpp@{neural++.hpp}} +{\tt \#include $<$vector$>$}\par +{\tt \#include $<$string$>$}\par +{\tt \#include $<$cmath$>$}\par +{\tt \#include $<$ctime$>$}\par +{\tt \#include $<$cstdio$>$}\par +{\tt \#include \char`\"{}neural++\_\-exception.hpp\char`\"{}}\par +\subsection*{Namespaces} +\begin{CompactItemize} +\item +namespace {\bf neuralpp} +\end{CompactItemize} +\subsection*{Classes} +\begin{CompactItemize} +\item +class {\bf neuralpp::NeuralNet} +\begin{CompactList}\small\item\em Main project's class. \item\end{CompactList}\item +class {\bf neuralpp::Synapsis} +\begin{CompactList}\small\item\em Class for managing synapsis. \item\end{CompactList}\item +class {\bf neuralpp::Neuron} +\begin{CompactList}\small\item\em Class for managing neurons. \item\end{CompactList}\item +class {\bf neuralpp::Layer} +\begin{CompactList}\small\item\em Class for managing layers of neurons. \item\end{CompactList}\item +struct {\bf neuralpp::netrecord} +\item +struct {\bf neuralpp::neuronrecord} +\item +struct {\bf neuralpp::synrecord} +\end{CompactItemize} +\subsection*{Defines} +\begin{CompactItemize} +\item +\#define {\bf RAND}~( abs( sin(rand()) ) ) +\begin{CompactList}\small\item\em Default rand value: $|$sin(rand)$|$, always $>$= 0 and $<$= 1. \item\end{CompactList}\item +\#define {\bf BETA0}~0.7 +\begin{CompactList}\small\item\em Initial value for the inertial momentum of the synapses. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Define Documentation} +\index{neural++.hpp@{neural++.hpp}!BETA0@{BETA0}} +\index{BETA0@{BETA0}!neural++.hpp@{neural++.hpp}} +\subsubsection[BETA0]{\setlength{\rightskip}{0pt plus 5cm}\#define BETA0~0.7}\label{neural_09_09_8hpp_05e2bb5b9fc32f0b6b4d84fe43177d72} + + +Initial value for the inertial momentum of the synapses. + +\index{neural++.hpp@{neural++.hpp}!RAND@{RAND}} +\index{RAND@{RAND}!neural++.hpp@{neural++.hpp}} +\subsubsection[RAND]{\setlength{\rightskip}{0pt plus 5cm}\#define RAND~( abs( sin(rand()) ) )}\label{neural_09_09_8hpp_839a9222721835f53c5b248241f535f4} + + +Default rand value: $|$sin(rand)$|$, always $>$= 0 and $<$= 1. + diff --git a/doc/latex/neural_09_09__exception_8hpp.tex b/doc/latex/neural_09_09__exception_8hpp.tex new file mode 100644 index 0000000..f138de5 --- /dev/null +++ b/doc/latex/neural_09_09__exception_8hpp.tex @@ -0,0 +1,2 @@ +\section{neural++\_\-exception.hpp File Reference} +\label{neural_09_09__exception_8hpp}\index{neural++\_\-exception.hpp@{neural++\_\-exception.hpp}} diff --git a/doc/latex/refman.tex b/doc/latex/refman.tex new file mode 100644 index 0000000..3c1d6c0 --- /dev/null +++ b/doc/latex/refman.tex @@ -0,0 +1,64 @@ +\documentclass[a4paper]{book} +\usepackage{a4wide} +\usepackage{makeidx} +\usepackage{fancyhdr} +\usepackage{graphicx} +\usepackage{multicol} +\usepackage{float} +\usepackage{textcomp} +\usepackage{alltt} +\usepackage[utf8]{inputenc} +\usepackage{doxygen} +\makeindex +\setcounter{tocdepth}{3} +\renewcommand{\footrulewidth}{0.4pt} +\begin{document} +\begin{titlepage} +\vspace*{7cm} +\begin{center} +{\Large Neural++ \\[1ex]\large 0.3 }\\ +\vspace*{1cm} +{\large Generated by Doxygen 1.5.6}\\ +\vspace*{0.5cm} +{\small Sun Aug 9 11:11:17 2009}\\ +\end{center} +\end{titlepage} +\clearemptydoublepage +\pagenumbering{roman} +\tableofcontents +\clearemptydoublepage +\pagenumbering{arabic} +\chapter{Namespace Index} +\input{namespaces} +\chapter{Class Index} +\input{annotated} +\chapter{File Index} +\input{files} +\chapter{Namespace Documentation} +\input{namespaceneuralpp} +\chapter{Class Documentation} +\input{classCMarkup} +\include{structCMarkup_1_1ConvertEncoding} +\include{structCMarkup_1_1ElemPos} +\include{structCMarkup_1_1FilePos} +\include{structCMarkup_1_1NodePos} +\include{structCMarkup_1_1NodeStack} +\include{structCMarkup_1_1PosArray} +\include{structCMarkup_1_1SavedPos} +\include{structCMarkup_1_1SavedPosMap} +\include{structCMarkup_1_1SavedPosMapArray} +\include{structCMarkup_1_1TokenPos} +\include{classneuralpp_1_1Layer} +\include{structMCD__CSTR} +\include{structneuralpp_1_1netrecord} +\include{classneuralpp_1_1NeuralNet} +\include{classneuralpp_1_1Neuron} +\include{structneuralpp_1_1neuronrecord} +\include{classneuralpp_1_1Synapsis} +\include{structneuralpp_1_1synrecord} +\chapter{File Documentation} +\input{Markup_8h} +\include{neural_09_09_8hpp} +\include{neural_09_09__exception_8hpp} +\printindex +\end{document} diff --git a/doc/latex/structCMarkup_1_1ConvertEncoding.tex b/doc/latex/structCMarkup_1_1ConvertEncoding.tex new file mode 100644 index 0000000..ca18a4f --- /dev/null +++ b/doc/latex/structCMarkup_1_1ConvertEncoding.tex @@ -0,0 +1,84 @@ +\section{CMarkup::ConvertEncoding Struct Reference} +\label{structCMarkup_1_1ConvertEncoding}\index{CMarkup::ConvertEncoding@{CMarkup::ConvertEncoding}} +{\tt \#include $<$Markup.h$>$} + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf ConvertEncoding} ({\bf MCD\_\-CSTR} pszToEncoding, {\bf MCD\_\-CSTR} pszFromEncoding, const void $\ast$pFromBuffer, int nFromBufferLen) +\end{CompactItemize} +\subsection*{Public Attributes} +\begin{CompactItemize} +\item +MCD\_\-STR {\bf strToEncoding} +\item +MCD\_\-STR {\bf strFromEncoding} +\item +const void $\ast$ {\bf pFrom} +\item +int {\bf nFromLen} +\item +int {\bf nToCount} +\item +int {\bf nFailedChars} +\end{CompactItemize} + + +\subsection{Constructor \& Destructor Documentation} +\index{CMarkup::ConvertEncoding@{CMarkup::ConvertEncoding}!ConvertEncoding@{ConvertEncoding}} +\index{ConvertEncoding@{ConvertEncoding}!CMarkup::ConvertEncoding@{CMarkup::ConvertEncoding}} +\subsubsection[ConvertEncoding]{\setlength{\rightskip}{0pt plus 5cm}CMarkup::ConvertEncoding::ConvertEncoding ({\bf MCD\_\-CSTR} {\em pszToEncoding}, \/ {\bf MCD\_\-CSTR} {\em pszFromEncoding}, \/ const void $\ast$ {\em pFromBuffer}, \/ int {\em nFromBufferLen})\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1ConvertEncoding_52cfe3e75ff550c9ed4f4b472280192b} + + + + +References nFailedChars, nFromLen, nToCount, pFrom, strFromEncoding, and strToEncoding. + +\subsection{Member Data Documentation} +\index{CMarkup::ConvertEncoding@{CMarkup::ConvertEncoding}!strToEncoding@{strToEncoding}} +\index{strToEncoding@{strToEncoding}!CMarkup::ConvertEncoding@{CMarkup::ConvertEncoding}} +\subsubsection[strToEncoding]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-STR {\bf CMarkup::ConvertEncoding::strToEncoding}}\label{structCMarkup_1_1ConvertEncoding_cc2420305e7cfa6c9d18f7ce9daa4313} + + + + +Referenced by ConvertEncoding().\index{CMarkup::ConvertEncoding@{CMarkup::ConvertEncoding}!strFromEncoding@{strFromEncoding}} +\index{strFromEncoding@{strFromEncoding}!CMarkup::ConvertEncoding@{CMarkup::ConvertEncoding}} +\subsubsection[strFromEncoding]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-STR {\bf CMarkup::ConvertEncoding::strFromEncoding}}\label{structCMarkup_1_1ConvertEncoding_8ab5d602610c46eb26d0fbf8a39b2da8} + + + + +Referenced by ConvertEncoding().\index{CMarkup::ConvertEncoding@{CMarkup::ConvertEncoding}!pFrom@{pFrom}} +\index{pFrom@{pFrom}!CMarkup::ConvertEncoding@{CMarkup::ConvertEncoding}} +\subsubsection[pFrom]{\setlength{\rightskip}{0pt plus 5cm}const void$\ast$ {\bf CMarkup::ConvertEncoding::pFrom}}\label{structCMarkup_1_1ConvertEncoding_9647b6f60d353bd8af2ff462ff451b4d} + + + + +Referenced by ConvertEncoding().\index{CMarkup::ConvertEncoding@{CMarkup::ConvertEncoding}!nFromLen@{nFromLen}} +\index{nFromLen@{nFromLen}!CMarkup::ConvertEncoding@{CMarkup::ConvertEncoding}} +\subsubsection[nFromLen]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::ConvertEncoding::nFromLen}}\label{structCMarkup_1_1ConvertEncoding_4b5e6d28cc2e909e2ac0d164cd00d53c} + + + + +Referenced by ConvertEncoding().\index{CMarkup::ConvertEncoding@{CMarkup::ConvertEncoding}!nToCount@{nToCount}} +\index{nToCount@{nToCount}!CMarkup::ConvertEncoding@{CMarkup::ConvertEncoding}} +\subsubsection[nToCount]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::ConvertEncoding::nToCount}}\label{structCMarkup_1_1ConvertEncoding_9fe87df87a339214df5e30bce32edcf4} + + + + +Referenced by ConvertEncoding().\index{CMarkup::ConvertEncoding@{CMarkup::ConvertEncoding}!nFailedChars@{nFailedChars}} +\index{nFailedChars@{nFailedChars}!CMarkup::ConvertEncoding@{CMarkup::ConvertEncoding}} +\subsubsection[nFailedChars]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::ConvertEncoding::nFailedChars}}\label{structCMarkup_1_1ConvertEncoding_bfd8cc96d41531109b9301b4d28a695f} + + + + +Referenced by ConvertEncoding(). + +The documentation for this struct was generated from the following file:\begin{CompactItemize} +\item +{\bf Markup.h}\end{CompactItemize} diff --git a/doc/latex/structCMarkup_1_1ElemPos.tex b/doc/latex/structCMarkup_1_1ElemPos.tex new file mode 100644 index 0000000..3103ec0 --- /dev/null +++ b/doc/latex/structCMarkup_1_1ElemPos.tex @@ -0,0 +1,221 @@ +\section{CMarkup::ElemPos Struct Reference} +\label{structCMarkup_1_1ElemPos}\index{CMarkup::ElemPos@{CMarkup::ElemPos}} +{\tt \#include $<$Markup.h$>$} + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf ElemPos} () +\item +{\bf ElemPos} (const {\bf ElemPos} \&pos) +\item +int {\bf StartTagLen} () const +\item +void {\bf SetStartTagLen} (int n) +\item +void {\bf AdjustStartTagLen} (int n) +\item +int {\bf EndTagLen} () const +\item +void {\bf SetEndTagLen} (int n) +\item +bool {\bf IsEmptyElement} () +\item +int {\bf StartContent} () const +\item +int {\bf ContentLen} () const +\item +int {\bf StartAfter} () const +\item +int {\bf Level} () const +\item +void {\bf SetLevel} (int nLev) +\item +void {\bf ClearVirtualParent} () +\end{CompactItemize} +\subsection*{Public Attributes} +\begin{CompactItemize} +\item +int {\bf nStart} +\item +int {\bf nLength} +\item +unsigned int {\bf nStartTagLen}: 22 +\item +unsigned int {\bf nEndTagLen}: 10 +\item +int {\bf nFlags} +\item +int {\bf iElemParent} +\item +int {\bf iElemChild} +\item +int {\bf iElemNext} +\item +int {\bf iElemPrev} +\end{CompactItemize} + + +\subsection{Constructor \& Destructor Documentation} +\index{CMarkup::ElemPos@{CMarkup::ElemPos}!ElemPos@{ElemPos}} +\index{ElemPos@{ElemPos}!CMarkup::ElemPos@{CMarkup::ElemPos}} +\subsubsection[ElemPos]{\setlength{\rightskip}{0pt plus 5cm}CMarkup::ElemPos::ElemPos ()\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1ElemPos_7ba7e4930d77275e80e38ea151b2807b} + + +\index{CMarkup::ElemPos@{CMarkup::ElemPos}!ElemPos@{ElemPos}} +\index{ElemPos@{ElemPos}!CMarkup::ElemPos@{CMarkup::ElemPos}} +\subsubsection[ElemPos]{\setlength{\rightskip}{0pt plus 5cm}CMarkup::ElemPos::ElemPos (const {\bf ElemPos} \& {\em pos})\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1ElemPos_739a02a2c992cde556999155bee37e21} + + + + +\subsection{Member Function Documentation} +\index{CMarkup::ElemPos@{CMarkup::ElemPos}!StartTagLen@{StartTagLen}} +\index{StartTagLen@{StartTagLen}!CMarkup::ElemPos@{CMarkup::ElemPos}} +\subsubsection[StartTagLen]{\setlength{\rightskip}{0pt plus 5cm}int CMarkup::ElemPos::StartTagLen () const\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1ElemPos_987926f5677976e6288e5b4c3a224d96} + + + + +References nStartTagLen. + +Referenced by ContentLen(), IsEmptyElement(), and StartContent().\index{CMarkup::ElemPos@{CMarkup::ElemPos}!SetStartTagLen@{SetStartTagLen}} +\index{SetStartTagLen@{SetStartTagLen}!CMarkup::ElemPos@{CMarkup::ElemPos}} +\subsubsection[SetStartTagLen]{\setlength{\rightskip}{0pt plus 5cm}void CMarkup::ElemPos::SetStartTagLen (int {\em n})\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1ElemPos_6f366b2f636e221db004bf44fd952912} + + + + +References nStartTagLen.\index{CMarkup::ElemPos@{CMarkup::ElemPos}!AdjustStartTagLen@{AdjustStartTagLen}} +\index{AdjustStartTagLen@{AdjustStartTagLen}!CMarkup::ElemPos@{CMarkup::ElemPos}} +\subsubsection[AdjustStartTagLen]{\setlength{\rightskip}{0pt plus 5cm}void CMarkup::ElemPos::AdjustStartTagLen (int {\em n})\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1ElemPos_3140f418c80056cb8aba69a270c6a71d} + + + + +References nStartTagLen.\index{CMarkup::ElemPos@{CMarkup::ElemPos}!EndTagLen@{EndTagLen}} +\index{EndTagLen@{EndTagLen}!CMarkup::ElemPos@{CMarkup::ElemPos}} +\subsubsection[EndTagLen]{\setlength{\rightskip}{0pt plus 5cm}int CMarkup::ElemPos::EndTagLen () const\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1ElemPos_d9d0ad0c48a129555d1052e98e4f71bd} + + + + +References nEndTagLen. + +Referenced by ContentLen().\index{CMarkup::ElemPos@{CMarkup::ElemPos}!SetEndTagLen@{SetEndTagLen}} +\index{SetEndTagLen@{SetEndTagLen}!CMarkup::ElemPos@{CMarkup::ElemPos}} +\subsubsection[SetEndTagLen]{\setlength{\rightskip}{0pt plus 5cm}void CMarkup::ElemPos::SetEndTagLen (int {\em n})\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1ElemPos_e427d1e0e53cfd0fe1c278f34c585bc9} + + + + +References nEndTagLen.\index{CMarkup::ElemPos@{CMarkup::ElemPos}!IsEmptyElement@{IsEmptyElement}} +\index{IsEmptyElement@{IsEmptyElement}!CMarkup::ElemPos@{CMarkup::ElemPos}} +\subsubsection[IsEmptyElement]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::ElemPos::IsEmptyElement ()\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1ElemPos_97093aa0ddbd691dd00c91c945a3e98a} + + + + +References nLength, and StartTagLen().\index{CMarkup::ElemPos@{CMarkup::ElemPos}!StartContent@{StartContent}} +\index{StartContent@{StartContent}!CMarkup::ElemPos@{CMarkup::ElemPos}} +\subsubsection[StartContent]{\setlength{\rightskip}{0pt plus 5cm}int CMarkup::ElemPos::StartContent () const\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1ElemPos_853d5e4a5c6b03643e7210671385896c} + + + + +References nStart, and StartTagLen().\index{CMarkup::ElemPos@{CMarkup::ElemPos}!ContentLen@{ContentLen}} +\index{ContentLen@{ContentLen}!CMarkup::ElemPos@{CMarkup::ElemPos}} +\subsubsection[ContentLen]{\setlength{\rightskip}{0pt plus 5cm}int CMarkup::ElemPos::ContentLen () const\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1ElemPos_9099635ab9239103aa930b2f1a456d2d} + + + + +References EndTagLen(), nLength, and StartTagLen().\index{CMarkup::ElemPos@{CMarkup::ElemPos}!StartAfter@{StartAfter}} +\index{StartAfter@{StartAfter}!CMarkup::ElemPos@{CMarkup::ElemPos}} +\subsubsection[StartAfter]{\setlength{\rightskip}{0pt plus 5cm}int CMarkup::ElemPos::StartAfter () const\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1ElemPos_e1e21b6e27db22eda6178898d2aa42d3} + + + + +References nLength, and nStart.\index{CMarkup::ElemPos@{CMarkup::ElemPos}!Level@{Level}} +\index{Level@{Level}!CMarkup::ElemPos@{CMarkup::ElemPos}} +\subsubsection[Level]{\setlength{\rightskip}{0pt plus 5cm}int CMarkup::ElemPos::Level () const\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1ElemPos_cdea1fc74ed96d413138c6c2d9b0a4f7} + + + + +References nFlags.\index{CMarkup::ElemPos@{CMarkup::ElemPos}!SetLevel@{SetLevel}} +\index{SetLevel@{SetLevel}!CMarkup::ElemPos@{CMarkup::ElemPos}} +\subsubsection[SetLevel]{\setlength{\rightskip}{0pt plus 5cm}void CMarkup::ElemPos::SetLevel (int {\em nLev})\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1ElemPos_625d84902ebb86bda4d5c5720f00e885} + + + + +References nFlags.\index{CMarkup::ElemPos@{CMarkup::ElemPos}!ClearVirtualParent@{ClearVirtualParent}} +\index{ClearVirtualParent@{ClearVirtualParent}!CMarkup::ElemPos@{CMarkup::ElemPos}} +\subsubsection[ClearVirtualParent]{\setlength{\rightskip}{0pt plus 5cm}void CMarkup::ElemPos::ClearVirtualParent ()\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1ElemPos_b70cf4ad47e44a2d4c7f6c06a2ff0659} + + + + +\subsection{Member Data Documentation} +\index{CMarkup::ElemPos@{CMarkup::ElemPos}!nStart@{nStart}} +\index{nStart@{nStart}!CMarkup::ElemPos@{CMarkup::ElemPos}} +\subsubsection[nStart]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::ElemPos::nStart}}\label{structCMarkup_1_1ElemPos_37cbff8b4e0d5b086970efb1bc9b70fe} + + + + +Referenced by StartAfter(), and StartContent().\index{CMarkup::ElemPos@{CMarkup::ElemPos}!nLength@{nLength}} +\index{nLength@{nLength}!CMarkup::ElemPos@{CMarkup::ElemPos}} +\subsubsection[nLength]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::ElemPos::nLength}}\label{structCMarkup_1_1ElemPos_d9d89d7af0f4cb69b0b1f4d0b5d4953f} + + + + +Referenced by ContentLen(), IsEmptyElement(), and StartAfter().\index{CMarkup::ElemPos@{CMarkup::ElemPos}!nStartTagLen@{nStartTagLen}} +\index{nStartTagLen@{nStartTagLen}!CMarkup::ElemPos@{CMarkup::ElemPos}} +\subsubsection[nStartTagLen]{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf CMarkup::ElemPos::nStartTagLen}}\label{structCMarkup_1_1ElemPos_c929700bbc1ec8b928253235dd5038af} + + + + +Referenced by AdjustStartTagLen(), SetStartTagLen(), and StartTagLen().\index{CMarkup::ElemPos@{CMarkup::ElemPos}!nEndTagLen@{nEndTagLen}} +\index{nEndTagLen@{nEndTagLen}!CMarkup::ElemPos@{CMarkup::ElemPos}} +\subsubsection[nEndTagLen]{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf CMarkup::ElemPos::nEndTagLen}}\label{structCMarkup_1_1ElemPos_a53ebdfa2aecc621f9cdde9c247d3357} + + + + +Referenced by EndTagLen(), and SetEndTagLen().\index{CMarkup::ElemPos@{CMarkup::ElemPos}!nFlags@{nFlags}} +\index{nFlags@{nFlags}!CMarkup::ElemPos@{CMarkup::ElemPos}} +\subsubsection[nFlags]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::ElemPos::nFlags}}\label{structCMarkup_1_1ElemPos_586bb5a2dc7f48ac1417ffd07319a9c9} + + + + +Referenced by Level(), and SetLevel().\index{CMarkup::ElemPos@{CMarkup::ElemPos}!iElemParent@{iElemParent}} +\index{iElemParent@{iElemParent}!CMarkup::ElemPos@{CMarkup::ElemPos}} +\subsubsection[iElemParent]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::ElemPos::iElemParent}}\label{structCMarkup_1_1ElemPos_e579f35b6cdee1609c6835eddf2b5b03} + + +\index{CMarkup::ElemPos@{CMarkup::ElemPos}!iElemChild@{iElemChild}} +\index{iElemChild@{iElemChild}!CMarkup::ElemPos@{CMarkup::ElemPos}} +\subsubsection[iElemChild]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::ElemPos::iElemChild}}\label{structCMarkup_1_1ElemPos_3449b75f915ff4900af177d9a91d91d1} + + +\index{CMarkup::ElemPos@{CMarkup::ElemPos}!iElemNext@{iElemNext}} +\index{iElemNext@{iElemNext}!CMarkup::ElemPos@{CMarkup::ElemPos}} +\subsubsection[iElemNext]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::ElemPos::iElemNext}}\label{structCMarkup_1_1ElemPos_c61f6c9ee6421801e94d7df7afa4f1ed} + + +\index{CMarkup::ElemPos@{CMarkup::ElemPos}!iElemPrev@{iElemPrev}} +\index{iElemPrev@{iElemPrev}!CMarkup::ElemPos@{CMarkup::ElemPos}} +\subsubsection[iElemPrev]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::ElemPos::iElemPrev}}\label{structCMarkup_1_1ElemPos_45534bddcab1f12a8452a070368488ca} + + + + +The documentation for this struct was generated from the following file:\begin{CompactItemize} +\item +{\bf Markup.h}\end{CompactItemize} diff --git a/doc/latex/structCMarkup_1_1FilePos.tex b/doc/latex/structCMarkup_1_1FilePos.tex new file mode 100644 index 0000000..1bc2d25 --- /dev/null +++ b/doc/latex/structCMarkup_1_1FilePos.tex @@ -0,0 +1,84 @@ +\section{CMarkup::FilePos Struct Reference} +\label{structCMarkup_1_1FilePos}\index{CMarkup::FilePos@{CMarkup::FilePos}} +{\tt \#include $<$Markup.h$>$} + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf FilePos} () +\end{CompactItemize} +\subsection*{Public Attributes} +\begin{CompactItemize} +\item +FILE $\ast$ {\bf fp} +\item +int {\bf nDocFlags} +\item +int {\bf nFileByteLen} +\item +int {\bf nReadByteLen} +\item +int {\bf nFileCharUnitSize} +\item +int {\bf nFileTextLen} +\item +MCD\_\-STR {\bf strIOResult} +\item +MCD\_\-STR {\bf strEncoding} +\end{CompactItemize} + + +\subsection{Constructor \& Destructor Documentation} +\index{CMarkup::FilePos@{CMarkup::FilePos}!FilePos@{FilePos}} +\index{FilePos@{FilePos}!CMarkup::FilePos@{CMarkup::FilePos}} +\subsubsection[FilePos]{\setlength{\rightskip}{0pt plus 5cm}CMarkup::FilePos::FilePos ()\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1FilePos_88d083c8aee934fd42de2950a31d3682} + + + + +\subsection{Member Data Documentation} +\index{CMarkup::FilePos@{CMarkup::FilePos}!fp@{fp}} +\index{fp@{fp}!CMarkup::FilePos@{CMarkup::FilePos}} +\subsubsection[fp]{\setlength{\rightskip}{0pt plus 5cm}FILE$\ast$ {\bf CMarkup::FilePos::fp}}\label{structCMarkup_1_1FilePos_d5d7584cf09fa60ef62f5c764e1ee158} + + +\index{CMarkup::FilePos@{CMarkup::FilePos}!nDocFlags@{nDocFlags}} +\index{nDocFlags@{nDocFlags}!CMarkup::FilePos@{CMarkup::FilePos}} +\subsubsection[nDocFlags]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::FilePos::nDocFlags}}\label{structCMarkup_1_1FilePos_f3c61a69075b838325939fd0e4955751} + + +\index{CMarkup::FilePos@{CMarkup::FilePos}!nFileByteLen@{nFileByteLen}} +\index{nFileByteLen@{nFileByteLen}!CMarkup::FilePos@{CMarkup::FilePos}} +\subsubsection[nFileByteLen]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::FilePos::nFileByteLen}}\label{structCMarkup_1_1FilePos_abf2b7dc4b6f910fe45ada3a8d367405} + + +\index{CMarkup::FilePos@{CMarkup::FilePos}!nReadByteLen@{nReadByteLen}} +\index{nReadByteLen@{nReadByteLen}!CMarkup::FilePos@{CMarkup::FilePos}} +\subsubsection[nReadByteLen]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::FilePos::nReadByteLen}}\label{structCMarkup_1_1FilePos_37e43f21dfee719038602c84756c8059} + + +\index{CMarkup::FilePos@{CMarkup::FilePos}!nFileCharUnitSize@{nFileCharUnitSize}} +\index{nFileCharUnitSize@{nFileCharUnitSize}!CMarkup::FilePos@{CMarkup::FilePos}} +\subsubsection[nFileCharUnitSize]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::FilePos::nFileCharUnitSize}}\label{structCMarkup_1_1FilePos_406f0760fdd5875ace5111b1d6908a99} + + +\index{CMarkup::FilePos@{CMarkup::FilePos}!nFileTextLen@{nFileTextLen}} +\index{nFileTextLen@{nFileTextLen}!CMarkup::FilePos@{CMarkup::FilePos}} +\subsubsection[nFileTextLen]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::FilePos::nFileTextLen}}\label{structCMarkup_1_1FilePos_3635096138ee3ce3ce5f9327b20438a4} + + +\index{CMarkup::FilePos@{CMarkup::FilePos}!strIOResult@{strIOResult}} +\index{strIOResult@{strIOResult}!CMarkup::FilePos@{CMarkup::FilePos}} +\subsubsection[strIOResult]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-STR {\bf CMarkup::FilePos::strIOResult}}\label{structCMarkup_1_1FilePos_62db77f82233f3244272eb973a9ecfc8} + + +\index{CMarkup::FilePos@{CMarkup::FilePos}!strEncoding@{strEncoding}} +\index{strEncoding@{strEncoding}!CMarkup::FilePos@{CMarkup::FilePos}} +\subsubsection[strEncoding]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-STR {\bf CMarkup::FilePos::strEncoding}}\label{structCMarkup_1_1FilePos_b507cbd49031186d4b3fbf7d2d009c75} + + + + +The documentation for this struct was generated from the following file:\begin{CompactItemize} +\item +{\bf Markup.h}\end{CompactItemize} diff --git a/doc/latex/structCMarkup_1_1NodePos.tex b/doc/latex/structCMarkup_1_1NodePos.tex new file mode 100644 index 0000000..04cadc7 --- /dev/null +++ b/doc/latex/structCMarkup_1_1NodePos.tex @@ -0,0 +1,80 @@ +\section{CMarkup::NodePos Struct Reference} +\label{structCMarkup_1_1NodePos}\index{CMarkup::NodePos@{CMarkup::NodePos}} +{\tt \#include $<$Markup.h$>$} + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf NodePos} () +\item +{\bf NodePos} (int n) +\end{CompactItemize} +\subsection*{Public Attributes} +\begin{CompactItemize} +\item +int {\bf nNodeType} +\item +int {\bf nStart} +\item +int {\bf nLength} +\item +int {\bf nNodeFlags} +\item +MCD\_\-STR {\bf strMeta} +\end{CompactItemize} + + +\subsection{Constructor \& Destructor Documentation} +\index{CMarkup::NodePos@{CMarkup::NodePos}!NodePos@{NodePos}} +\index{NodePos@{NodePos}!CMarkup::NodePos@{CMarkup::NodePos}} +\subsubsection[NodePos]{\setlength{\rightskip}{0pt plus 5cm}CMarkup::NodePos::NodePos ()\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1NodePos_81589c934561c891174be880864053b6} + + +\index{CMarkup::NodePos@{CMarkup::NodePos}!NodePos@{NodePos}} +\index{NodePos@{NodePos}!CMarkup::NodePos@{CMarkup::NodePos}} +\subsubsection[NodePos]{\setlength{\rightskip}{0pt plus 5cm}CMarkup::NodePos::NodePos (int {\em n})\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1NodePos_aaecb8354ffd5605e80432377fa2ac4c} + + + + +References nLength, nNodeFlags, nNodeType, and nStart. + +\subsection{Member Data Documentation} +\index{CMarkup::NodePos@{CMarkup::NodePos}!nNodeType@{nNodeType}} +\index{nNodeType@{nNodeType}!CMarkup::NodePos@{CMarkup::NodePos}} +\subsubsection[nNodeType]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::NodePos::nNodeType}}\label{structCMarkup_1_1NodePos_09c12f805d9906e3805a6d76d9333740} + + + + +Referenced by NodePos().\index{CMarkup::NodePos@{CMarkup::NodePos}!nStart@{nStart}} +\index{nStart@{nStart}!CMarkup::NodePos@{CMarkup::NodePos}} +\subsubsection[nStart]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::NodePos::nStart}}\label{structCMarkup_1_1NodePos_c1939dd0ed1d2ecb35eb35bd2e88f69c} + + + + +Referenced by NodePos().\index{CMarkup::NodePos@{CMarkup::NodePos}!nLength@{nLength}} +\index{nLength@{nLength}!CMarkup::NodePos@{CMarkup::NodePos}} +\subsubsection[nLength]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::NodePos::nLength}}\label{structCMarkup_1_1NodePos_c2001e0315fb0cd1d038612e36d4b82e} + + + + +Referenced by NodePos().\index{CMarkup::NodePos@{CMarkup::NodePos}!nNodeFlags@{nNodeFlags}} +\index{nNodeFlags@{nNodeFlags}!CMarkup::NodePos@{CMarkup::NodePos}} +\subsubsection[nNodeFlags]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::NodePos::nNodeFlags}}\label{structCMarkup_1_1NodePos_dc46483d996c2a009779ea80bd123115} + + + + +Referenced by NodePos().\index{CMarkup::NodePos@{CMarkup::NodePos}!strMeta@{strMeta}} +\index{strMeta@{strMeta}!CMarkup::NodePos@{CMarkup::NodePos}} +\subsubsection[strMeta]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-STR {\bf CMarkup::NodePos::strMeta}}\label{structCMarkup_1_1NodePos_b9b37d8614b6980a935157199558c261} + + + + +The documentation for this struct was generated from the following file:\begin{CompactItemize} +\item +{\bf Markup.h}\end{CompactItemize} diff --git a/doc/latex/structCMarkup_1_1NodeStack.tex b/doc/latex/structCMarkup_1_1NodeStack.tex new file mode 100644 index 0000000..d451137 --- /dev/null +++ b/doc/latex/structCMarkup_1_1NodeStack.tex @@ -0,0 +1,137 @@ +\section{CMarkup::NodeStack Struct Reference} +\label{structCMarkup_1_1NodeStack}\index{CMarkup::NodeStack@{CMarkup::NodeStack}} +{\tt \#include $<$Markup.h$>$} + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf NodeStack} () +\item +{\bf $\sim$NodeStack} () +\item +{\bf NodePos} \& {\bf Top} () +\item +{\bf NodePos} \& {\bf At} (int n) +\item +void {\bf Add} () +\item +void {\bf Remove} () +\item +int {\bf TopIndex} () +\end{CompactItemize} +\subsection*{Protected Member Functions} +\begin{CompactItemize} +\item +void {\bf Alloc} (int nNewSize) +\item +void {\bf Copy} ({\bf NodePos} $\ast$pNNew) +\end{CompactItemize} +\subsection*{Protected Attributes} +\begin{CompactItemize} +\item +{\bf NodePos} $\ast$ {\bf pN} +\item +int {\bf nSize} +\item +int {\bf nTop} +\end{CompactItemize} + + +\subsection{Constructor \& Destructor Documentation} +\index{CMarkup::NodeStack@{CMarkup::NodeStack}!NodeStack@{NodeStack}} +\index{NodeStack@{NodeStack}!CMarkup::NodeStack@{CMarkup::NodeStack}} +\subsubsection[NodeStack]{\setlength{\rightskip}{0pt plus 5cm}CMarkup::NodeStack::NodeStack ()\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1NodeStack_de0c540ed4a133345e7c8ec6e05b0b11} + + + + +References nSize, nTop, and pN.\index{CMarkup::NodeStack@{CMarkup::NodeStack}!$\sim$NodeStack@{$\sim$NodeStack}} +\index{$\sim$NodeStack@{$\sim$NodeStack}!CMarkup::NodeStack@{CMarkup::NodeStack}} +\subsubsection[$\sim$NodeStack]{\setlength{\rightskip}{0pt plus 5cm}CMarkup::NodeStack::$\sim$NodeStack ()\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1NodeStack_6bd62bb0b4c4596016a00eade46cd5ca} + + + + +References pN. + +\subsection{Member Function Documentation} +\index{CMarkup::NodeStack@{CMarkup::NodeStack}!Top@{Top}} +\index{Top@{Top}!CMarkup::NodeStack@{CMarkup::NodeStack}} +\subsubsection[Top]{\setlength{\rightskip}{0pt plus 5cm}{\bf NodePos}\& CMarkup::NodeStack::Top ()\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1NodeStack_6be20984a9a499498312be0688c54bc5} + + + + +References nTop, and pN.\index{CMarkup::NodeStack@{CMarkup::NodeStack}!At@{At}} +\index{At@{At}!CMarkup::NodeStack@{CMarkup::NodeStack}} +\subsubsection[At]{\setlength{\rightskip}{0pt plus 5cm}{\bf NodePos}\& CMarkup::NodeStack::At (int {\em n})\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1NodeStack_909848e1d3a591d21820d8ba4f03ee0d} + + + + +References pN.\index{CMarkup::NodeStack@{CMarkup::NodeStack}!Add@{Add}} +\index{Add@{Add}!CMarkup::NodeStack@{CMarkup::NodeStack}} +\subsubsection[Add]{\setlength{\rightskip}{0pt plus 5cm}void CMarkup::NodeStack::Add ()\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1NodeStack_623cec96b6f3f3e246902d32f62244f8} + + + + +References Alloc(), nSize, and nTop.\index{CMarkup::NodeStack@{CMarkup::NodeStack}!Remove@{Remove}} +\index{Remove@{Remove}!CMarkup::NodeStack@{CMarkup::NodeStack}} +\subsubsection[Remove]{\setlength{\rightskip}{0pt plus 5cm}void CMarkup::NodeStack::Remove ()\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1NodeStack_4782babbf126c3ff7d3568455e571282} + + + + +References nTop.\index{CMarkup::NodeStack@{CMarkup::NodeStack}!TopIndex@{TopIndex}} +\index{TopIndex@{TopIndex}!CMarkup::NodeStack@{CMarkup::NodeStack}} +\subsubsection[TopIndex]{\setlength{\rightskip}{0pt plus 5cm}int CMarkup::NodeStack::TopIndex ()\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1NodeStack_4e9aad88e12b7bbabdbb3fd65fc51585} + + + + +References nTop.\index{CMarkup::NodeStack@{CMarkup::NodeStack}!Alloc@{Alloc}} +\index{Alloc@{Alloc}!CMarkup::NodeStack@{CMarkup::NodeStack}} +\subsubsection[Alloc]{\setlength{\rightskip}{0pt plus 5cm}void CMarkup::NodeStack::Alloc (int {\em nNewSize})\hspace{0.3cm}{\tt [inline, protected]}}\label{structCMarkup_1_1NodeStack_ac640e8a348792b4008057f02a3781ff} + + + + +References Copy(), and nSize. + +Referenced by Add().\index{CMarkup::NodeStack@{CMarkup::NodeStack}!Copy@{Copy}} +\index{Copy@{Copy}!CMarkup::NodeStack@{CMarkup::NodeStack}} +\subsubsection[Copy]{\setlength{\rightskip}{0pt plus 5cm}void CMarkup::NodeStack::Copy ({\bf NodePos} $\ast$ {\em pNNew})\hspace{0.3cm}{\tt [inline, protected]}}\label{structCMarkup_1_1NodeStack_499a05e053b785df518fb0b6124fd0ee} + + + + +Referenced by Alloc(). + +\subsection{Member Data Documentation} +\index{CMarkup::NodeStack@{CMarkup::NodeStack}!pN@{pN}} +\index{pN@{pN}!CMarkup::NodeStack@{CMarkup::NodeStack}} +\subsubsection[pN]{\setlength{\rightskip}{0pt plus 5cm}{\bf NodePos}$\ast$ {\bf CMarkup::NodeStack::pN}\hspace{0.3cm}{\tt [protected]}}\label{structCMarkup_1_1NodeStack_636ddd56b9f0c53d1d8fb98d154b8ce3} + + + + +Referenced by At(), NodeStack(), Top(), and $\sim$NodeStack().\index{CMarkup::NodeStack@{CMarkup::NodeStack}!nSize@{nSize}} +\index{nSize@{nSize}!CMarkup::NodeStack@{CMarkup::NodeStack}} +\subsubsection[nSize]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::NodeStack::nSize}\hspace{0.3cm}{\tt [protected]}}\label{structCMarkup_1_1NodeStack_7031af9e6f3ceca049b5467b1fd7e478} + + + + +Referenced by Add(), Alloc(), and NodeStack().\index{CMarkup::NodeStack@{CMarkup::NodeStack}!nTop@{nTop}} +\index{nTop@{nTop}!CMarkup::NodeStack@{CMarkup::NodeStack}} +\subsubsection[nTop]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::NodeStack::nTop}\hspace{0.3cm}{\tt [protected]}}\label{structCMarkup_1_1NodeStack_f3e08fa5dce853a6267da9f77ef3f986} + + + + +Referenced by Add(), NodeStack(), Remove(), Top(), and TopIndex(). + +The documentation for this struct was generated from the following file:\begin{CompactItemize} +\item +{\bf Markup.h}\end{CompactItemize} diff --git a/doc/latex/structCMarkup_1_1PosArray.tex b/doc/latex/structCMarkup_1_1PosArray.tex new file mode 100644 index 0000000..6d77c90 --- /dev/null +++ b/doc/latex/structCMarkup_1_1PosArray.tex @@ -0,0 +1,152 @@ +\section{CMarkup::PosArray Struct Reference} +\label{structCMarkup_1_1PosArray}\index{CMarkup::PosArray@{CMarkup::PosArray}} +{\tt \#include $<$Markup.h$>$} + +\subsection*{Public Types} +\begin{CompactItemize} +\item +enum \{ {\bf PA\_\-SEGBITS} = 16, +{\bf PA\_\-SEGMASK} = 0xffff + \} +\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf PosArray} () +\item +{\bf $\sim$PosArray} () +\item +void {\bf RemoveAll} () +\item +void {\bf Release} () +\item +void {\bf Clear} () +\item +int {\bf GetSize} () const +\item +int {\bf SegsUsed} () const +\item +{\bf ElemPos} \& {\bf operator[$\,$]} (int n) const +\end{CompactItemize} +\subsection*{Public Attributes} +\begin{CompactItemize} +\item +{\bf ElemPos} $\ast$$\ast$ {\bf pSegs} +\item +int {\bf nSize} +\item +int {\bf nSegs} +\end{CompactItemize} + + +\subsection{Member Enumeration Documentation} +\subsubsection["@1]{\setlength{\rightskip}{0pt plus 5cm}anonymous enum}\label{structCMarkup_1_1PosArray_af05e51d7ab82e581ed815b584e55b18} + + +\begin{Desc} +\item[Enumerator: ]\par +\begin{description} +\index{PA\_\-SEGBITS@{PA\_\-SEGBITS}!CMarkup::PosArray@{CMarkup::PosArray}}\index{CMarkup::PosArray@{CMarkup::PosArray}!PA\_\-SEGBITS@{PA\_\-SEGBITS}}\item[{\em +PA\_\-SEGBITS\label{structCMarkup_1_1PosArray_af05e51d7ab82e581ed815b584e55b18844e08ddf7ab861559a9b0096fb54a7e} +}]\index{PA\_\-SEGMASK@{PA\_\-SEGMASK}!CMarkup::PosArray@{CMarkup::PosArray}}\index{CMarkup::PosArray@{CMarkup::PosArray}!PA\_\-SEGMASK@{PA\_\-SEGMASK}}\item[{\em +PA\_\-SEGMASK\label{structCMarkup_1_1PosArray_af05e51d7ab82e581ed815b584e55b186165b6a4471f37709d3f9b0a9e86c38b} +}]\end{description} +\end{Desc} + + + +\subsection{Constructor \& Destructor Documentation} +\index{CMarkup::PosArray@{CMarkup::PosArray}!PosArray@{PosArray}} +\index{PosArray@{PosArray}!CMarkup::PosArray@{CMarkup::PosArray}} +\subsubsection[PosArray]{\setlength{\rightskip}{0pt plus 5cm}CMarkup::PosArray::PosArray ()\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1PosArray_f207a1d7e582779e134ea06fd1084b23} + + + + +References Clear().\index{CMarkup::PosArray@{CMarkup::PosArray}!$\sim$PosArray@{$\sim$PosArray}} +\index{$\sim$PosArray@{$\sim$PosArray}!CMarkup::PosArray@{CMarkup::PosArray}} +\subsubsection[$\sim$PosArray]{\setlength{\rightskip}{0pt plus 5cm}CMarkup::PosArray::$\sim$PosArray ()\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1PosArray_9f26a70cee21e757fe372201c57fc117} + + + + +References Release(). + +\subsection{Member Function Documentation} +\index{CMarkup::PosArray@{CMarkup::PosArray}!RemoveAll@{RemoveAll}} +\index{RemoveAll@{RemoveAll}!CMarkup::PosArray@{CMarkup::PosArray}} +\subsubsection[RemoveAll]{\setlength{\rightskip}{0pt plus 5cm}void CMarkup::PosArray::RemoveAll ()\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1PosArray_dad1d0185a26fad9bd391e3c85634103} + + + + +References Clear(), and Release().\index{CMarkup::PosArray@{CMarkup::PosArray}!Release@{Release}} +\index{Release@{Release}!CMarkup::PosArray@{CMarkup::PosArray}} +\subsubsection[Release]{\setlength{\rightskip}{0pt plus 5cm}void CMarkup::PosArray::Release ()\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1PosArray_02ad3473569ecb5ba38b2327e30be38b} + + + + +References pSegs, and SegsUsed(). + +Referenced by RemoveAll(), and $\sim$PosArray().\index{CMarkup::PosArray@{CMarkup::PosArray}!Clear@{Clear}} +\index{Clear@{Clear}!CMarkup::PosArray@{CMarkup::PosArray}} +\subsubsection[Clear]{\setlength{\rightskip}{0pt plus 5cm}void CMarkup::PosArray::Clear ()\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1PosArray_b87a18a088c434843048b9d0ecca05aa} + + + + +References nSegs, nSize, and pSegs. + +Referenced by PosArray(), and RemoveAll().\index{CMarkup::PosArray@{CMarkup::PosArray}!GetSize@{GetSize}} +\index{GetSize@{GetSize}!CMarkup::PosArray@{CMarkup::PosArray}} +\subsubsection[GetSize]{\setlength{\rightskip}{0pt plus 5cm}int CMarkup::PosArray::GetSize () const\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1PosArray_5da61b8563bfa2e82bf4c785bb166f62} + + + + +References nSize. + +Referenced by CMarkup::x\_\-GetFreePos().\index{CMarkup::PosArray@{CMarkup::PosArray}!SegsUsed@{SegsUsed}} +\index{SegsUsed@{SegsUsed}!CMarkup::PosArray@{CMarkup::PosArray}} +\subsubsection[SegsUsed]{\setlength{\rightskip}{0pt plus 5cm}int CMarkup::PosArray::SegsUsed () const\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1PosArray_0310976aa8e777cb84ab02ddbae8864c} + + + + +References nSize, and PA\_\-SEGBITS. + +Referenced by Release().\index{CMarkup::PosArray@{CMarkup::PosArray}!operator[]@{operator[]}} +\index{operator[]@{operator[]}!CMarkup::PosArray@{CMarkup::PosArray}} +\subsubsection[operator[]]{\setlength{\rightskip}{0pt plus 5cm}{\bf ElemPos}\& CMarkup::PosArray::operator[$\,$] (int {\em n}) const\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1PosArray_6317965f42dadc70f55c99b547e5d83d} + + + + +\subsection{Member Data Documentation} +\index{CMarkup::PosArray@{CMarkup::PosArray}!pSegs@{pSegs}} +\index{pSegs@{pSegs}!CMarkup::PosArray@{CMarkup::PosArray}} +\subsubsection[pSegs]{\setlength{\rightskip}{0pt plus 5cm}{\bf ElemPos}$\ast$$\ast$ {\bf CMarkup::PosArray::pSegs}}\label{structCMarkup_1_1PosArray_461f4252ee89f9cfd48d9e2c5ab64baf} + + + + +Referenced by Clear(), and Release().\index{CMarkup::PosArray@{CMarkup::PosArray}!nSize@{nSize}} +\index{nSize@{nSize}!CMarkup::PosArray@{CMarkup::PosArray}} +\subsubsection[nSize]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::PosArray::nSize}}\label{structCMarkup_1_1PosArray_f7a261e70c4060b8ef5070c0a5e12092} + + + + +Referenced by Clear(), GetSize(), and SegsUsed().\index{CMarkup::PosArray@{CMarkup::PosArray}!nSegs@{nSegs}} +\index{nSegs@{nSegs}!CMarkup::PosArray@{CMarkup::PosArray}} +\subsubsection[nSegs]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::PosArray::nSegs}}\label{structCMarkup_1_1PosArray_0994a05167565499a77d9d9d09711029} + + + + +Referenced by Clear(). + +The documentation for this struct was generated from the following file:\begin{CompactItemize} +\item +{\bf Markup.h}\end{CompactItemize} diff --git a/doc/latex/structCMarkup_1_1SavedPos.tex b/doc/latex/structCMarkup_1_1SavedPos.tex new file mode 100644 index 0000000..4b40d16 --- /dev/null +++ b/doc/latex/structCMarkup_1_1SavedPos.tex @@ -0,0 +1,78 @@ +\section{CMarkup::SavedPos Struct Reference} +\label{structCMarkup_1_1SavedPos}\index{CMarkup::SavedPos@{CMarkup::SavedPos}} +{\tt \#include $<$Markup.h$>$} + +\subsection*{Public Types} +\begin{CompactItemize} +\item +enum \{ {\bf SPM\_\-MAIN} = 1, +{\bf SPM\_\-CHILD} = 2, +{\bf SPM\_\-USED} = 4, +{\bf SPM\_\-LAST} = 8 + \} +\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf SavedPos} () +\end{CompactItemize} +\subsection*{Public Attributes} +\begin{CompactItemize} +\item +MCD\_\-STR {\bf strName} +\item +int {\bf iPos} +\item +int {\bf nSavedPosFlags} +\end{CompactItemize} + + +\subsection{Member Enumeration Documentation} +\subsubsection["@0]{\setlength{\rightskip}{0pt plus 5cm}anonymous enum}\label{structCMarkup_1_1SavedPos_28ed16429117003133c33fa8fcaa7924} + + +\begin{Desc} +\item[Enumerator: ]\par +\begin{description} +\index{SPM\_\-MAIN@{SPM\_\-MAIN}!CMarkup::SavedPos@{CMarkup::SavedPos}}\index{CMarkup::SavedPos@{CMarkup::SavedPos}!SPM\_\-MAIN@{SPM\_\-MAIN}}\item[{\em +SPM\_\-MAIN\label{structCMarkup_1_1SavedPos_28ed16429117003133c33fa8fcaa7924ce631ba78506ef55979fb730b54ae8f3} +}]\index{SPM\_\-CHILD@{SPM\_\-CHILD}!CMarkup::SavedPos@{CMarkup::SavedPos}}\index{CMarkup::SavedPos@{CMarkup::SavedPos}!SPM\_\-CHILD@{SPM\_\-CHILD}}\item[{\em +SPM\_\-CHILD\label{structCMarkup_1_1SavedPos_28ed16429117003133c33fa8fcaa792437b333ca861ee132a96570e3261ed48f} +}]\index{SPM\_\-USED@{SPM\_\-USED}!CMarkup::SavedPos@{CMarkup::SavedPos}}\index{CMarkup::SavedPos@{CMarkup::SavedPos}!SPM\_\-USED@{SPM\_\-USED}}\item[{\em +SPM\_\-USED\label{structCMarkup_1_1SavedPos_28ed16429117003133c33fa8fcaa7924bc202c266163ba746501ff656c189bf3} +}]\index{SPM\_\-LAST@{SPM\_\-LAST}!CMarkup::SavedPos@{CMarkup::SavedPos}}\index{CMarkup::SavedPos@{CMarkup::SavedPos}!SPM\_\-LAST@{SPM\_\-LAST}}\item[{\em +SPM\_\-LAST\label{structCMarkup_1_1SavedPos_28ed16429117003133c33fa8fcaa7924147badf6cfd07fa7a92ba92a43df245f} +}]\end{description} +\end{Desc} + + + +\subsection{Constructor \& Destructor Documentation} +\index{CMarkup::SavedPos@{CMarkup::SavedPos}!SavedPos@{SavedPos}} +\index{SavedPos@{SavedPos}!CMarkup::SavedPos@{CMarkup::SavedPos}} +\subsubsection[SavedPos]{\setlength{\rightskip}{0pt plus 5cm}CMarkup::SavedPos::SavedPos ()\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1SavedPos_203b3a22eb86b1131985a6631e3d3c47} + + + + +\subsection{Member Data Documentation} +\index{CMarkup::SavedPos@{CMarkup::SavedPos}!strName@{strName}} +\index{strName@{strName}!CMarkup::SavedPos@{CMarkup::SavedPos}} +\subsubsection[strName]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-STR {\bf CMarkup::SavedPos::strName}}\label{structCMarkup_1_1SavedPos_3613f5e8854f961ed02173d22099db4c} + + +\index{CMarkup::SavedPos@{CMarkup::SavedPos}!iPos@{iPos}} +\index{iPos@{iPos}!CMarkup::SavedPos@{CMarkup::SavedPos}} +\subsubsection[iPos]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::SavedPos::iPos}}\label{structCMarkup_1_1SavedPos_649563d0d7c11bf2fdebbc0dbe396321} + + +\index{CMarkup::SavedPos@{CMarkup::SavedPos}!nSavedPosFlags@{nSavedPosFlags}} +\index{nSavedPosFlags@{nSavedPosFlags}!CMarkup::SavedPos@{CMarkup::SavedPos}} +\subsubsection[nSavedPosFlags]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::SavedPos::nSavedPosFlags}}\label{structCMarkup_1_1SavedPos_66a572e011303ea2a3716f7328ad9ec5} + + + + +The documentation for this struct was generated from the following file:\begin{CompactItemize} +\item +{\bf Markup.h}\end{CompactItemize} diff --git a/doc/latex/structCMarkup_1_1SavedPosMap.tex b/doc/latex/structCMarkup_1_1SavedPosMap.tex new file mode 100644 index 0000000..3a911ef --- /dev/null +++ b/doc/latex/structCMarkup_1_1SavedPosMap.tex @@ -0,0 +1,57 @@ +\section{CMarkup::SavedPosMap Struct Reference} +\label{structCMarkup_1_1SavedPosMap}\index{CMarkup::SavedPosMap@{CMarkup::SavedPosMap}} +{\tt \#include $<$Markup.h$>$} + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf SavedPosMap} (int nSize) +\item +{\bf $\sim$SavedPosMap} () +\end{CompactItemize} +\subsection*{Public Attributes} +\begin{CompactItemize} +\item +{\bf SavedPos} $\ast$$\ast$ {\bf pTable} +\item +int {\bf nMapSize} +\end{CompactItemize} + + +\subsection{Constructor \& Destructor Documentation} +\index{CMarkup::SavedPosMap@{CMarkup::SavedPosMap}!SavedPosMap@{SavedPosMap}} +\index{SavedPosMap@{SavedPosMap}!CMarkup::SavedPosMap@{CMarkup::SavedPosMap}} +\subsubsection[SavedPosMap]{\setlength{\rightskip}{0pt plus 5cm}CMarkup::SavedPosMap::SavedPosMap (int {\em nSize})\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1SavedPosMap_681e409f964bbd86a088358dffaeb808} + + + + +References nMapSize, and pTable.\index{CMarkup::SavedPosMap@{CMarkup::SavedPosMap}!$\sim$SavedPosMap@{$\sim$SavedPosMap}} +\index{$\sim$SavedPosMap@{$\sim$SavedPosMap}!CMarkup::SavedPosMap@{CMarkup::SavedPosMap}} +\subsubsection[$\sim$SavedPosMap]{\setlength{\rightskip}{0pt plus 5cm}CMarkup::SavedPosMap::$\sim$SavedPosMap ()\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1SavedPosMap_b3a7ef305893ba4b6752dea003997c96} + + + + +References nMapSize, and pTable. + +\subsection{Member Data Documentation} +\index{CMarkup::SavedPosMap@{CMarkup::SavedPosMap}!pTable@{pTable}} +\index{pTable@{pTable}!CMarkup::SavedPosMap@{CMarkup::SavedPosMap}} +\subsubsection[pTable]{\setlength{\rightskip}{0pt plus 5cm}{\bf SavedPos}$\ast$$\ast$ {\bf CMarkup::SavedPosMap::pTable}}\label{structCMarkup_1_1SavedPosMap_8ebb44e96f6781e5d1d044a18a3d989d} + + + + +Referenced by SavedPosMap(), and $\sim$SavedPosMap().\index{CMarkup::SavedPosMap@{CMarkup::SavedPosMap}!nMapSize@{nMapSize}} +\index{nMapSize@{nMapSize}!CMarkup::SavedPosMap@{CMarkup::SavedPosMap}} +\subsubsection[nMapSize]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::SavedPosMap::nMapSize}}\label{structCMarkup_1_1SavedPosMap_b5b1c02cb1321c0f1007dc3cd01a34c7} + + + + +Referenced by SavedPosMap(), and $\sim$SavedPosMap(). + +The documentation for this struct was generated from the following file:\begin{CompactItemize} +\item +{\bf Markup.h}\end{CompactItemize} diff --git a/doc/latex/structCMarkup_1_1SavedPosMapArray.tex b/doc/latex/structCMarkup_1_1SavedPosMapArray.tex new file mode 100644 index 0000000..57417c8 --- /dev/null +++ b/doc/latex/structCMarkup_1_1SavedPosMapArray.tex @@ -0,0 +1,62 @@ +\section{CMarkup::SavedPosMapArray Struct Reference} +\label{structCMarkup_1_1SavedPosMapArray}\index{CMarkup::SavedPosMapArray@{CMarkup::SavedPosMapArray}} +{\tt \#include $<$Markup.h$>$} + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf SavedPosMapArray} () +\item +{\bf $\sim$SavedPosMapArray} () +\item +void {\bf RemoveAll} () +\end{CompactItemize} +\subsection*{Public Attributes} +\begin{CompactItemize} +\item +{\bf SavedPosMap} $\ast$$\ast$ {\bf pMaps} +\end{CompactItemize} + + +\subsection{Constructor \& Destructor Documentation} +\index{CMarkup::SavedPosMapArray@{CMarkup::SavedPosMapArray}!SavedPosMapArray@{SavedPosMapArray}} +\index{SavedPosMapArray@{SavedPosMapArray}!CMarkup::SavedPosMapArray@{CMarkup::SavedPosMapArray}} +\subsubsection[SavedPosMapArray]{\setlength{\rightskip}{0pt plus 5cm}CMarkup::SavedPosMapArray::SavedPosMapArray ()\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1SavedPosMapArray_0fca988b3417d41ccf3e2b3e8fef7483} + + + + +References pMaps.\index{CMarkup::SavedPosMapArray@{CMarkup::SavedPosMapArray}!$\sim$SavedPosMapArray@{$\sim$SavedPosMapArray}} +\index{$\sim$SavedPosMapArray@{$\sim$SavedPosMapArray}!CMarkup::SavedPosMapArray@{CMarkup::SavedPosMapArray}} +\subsubsection[$\sim$SavedPosMapArray]{\setlength{\rightskip}{0pt plus 5cm}CMarkup::SavedPosMapArray::$\sim$SavedPosMapArray ()\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1SavedPosMapArray_6be57f9ebe160aebb464957caa30ddd6} + + + + +References RemoveAll(). + +\subsection{Member Function Documentation} +\index{CMarkup::SavedPosMapArray@{CMarkup::SavedPosMapArray}!RemoveAll@{RemoveAll}} +\index{RemoveAll@{RemoveAll}!CMarkup::SavedPosMapArray@{CMarkup::SavedPosMapArray}} +\subsubsection[RemoveAll]{\setlength{\rightskip}{0pt plus 5cm}void CMarkup::SavedPosMapArray::RemoveAll ()\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1SavedPosMapArray_a6db2f1af7ecae5af27aab25e399b94c} + + + + +References pMaps. + +Referenced by $\sim$SavedPosMapArray(). + +\subsection{Member Data Documentation} +\index{CMarkup::SavedPosMapArray@{CMarkup::SavedPosMapArray}!pMaps@{pMaps}} +\index{pMaps@{pMaps}!CMarkup::SavedPosMapArray@{CMarkup::SavedPosMapArray}} +\subsubsection[pMaps]{\setlength{\rightskip}{0pt plus 5cm}{\bf SavedPosMap}$\ast$$\ast$ {\bf CMarkup::SavedPosMapArray::pMaps}}\label{structCMarkup_1_1SavedPosMapArray_719491211d9de2fe06bfadc9a37daf46} + + + + +Referenced by RemoveAll(), and SavedPosMapArray(). + +The documentation for this struct was generated from the following file:\begin{CompactItemize} +\item +{\bf Markup.h}\end{CompactItemize} diff --git a/doc/latex/structCMarkup_1_1TokenPos.tex b/doc/latex/structCMarkup_1_1TokenPos.tex new file mode 100644 index 0000000..769117b --- /dev/null +++ b/doc/latex/structCMarkup_1_1TokenPos.tex @@ -0,0 +1,132 @@ +\section{CMarkup::TokenPos Struct Reference} +\label{structCMarkup_1_1TokenPos}\index{CMarkup::TokenPos@{CMarkup::TokenPos}} +{\tt \#include $<$Markup.h$>$} + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf TokenPos} ({\bf MCD\_\-CSTR} sz, int n) +\item +void {\bf Clear} () +\item +int {\bf Length} () const +\item +int {\bf StrNIACmp} (MCD\_\-PCSZ p1, MCD\_\-PCSZ p2, int n) +\item +bool {\bf Match} ({\bf MCD\_\-CSTR} szName) +\end{CompactItemize} +\subsection*{Public Attributes} +\begin{CompactItemize} +\item +int {\bf nL} +\item +int {\bf nR} +\item +int {\bf nNext} +\item +MCD\_\-PCSZ {\bf pDoc} +\item +int {\bf nTokenFlags} +\item +int {\bf nPreSpaceStart} +\item +int {\bf nPreSpaceLength} +\end{CompactItemize} + + +\subsection{Constructor \& Destructor Documentation} +\index{CMarkup::TokenPos@{CMarkup::TokenPos}!TokenPos@{TokenPos}} +\index{TokenPos@{TokenPos}!CMarkup::TokenPos@{CMarkup::TokenPos}} +\subsubsection[TokenPos]{\setlength{\rightskip}{0pt plus 5cm}CMarkup::TokenPos::TokenPos ({\bf MCD\_\-CSTR} {\em sz}, \/ int {\em n})\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1TokenPos_797a3f5d9664c52971cf210166c3636a} + + + + +References Clear(), nTokenFlags, and pDoc. + +\subsection{Member Function Documentation} +\index{CMarkup::TokenPos@{CMarkup::TokenPos}!Clear@{Clear}} +\index{Clear@{Clear}!CMarkup::TokenPos@{CMarkup::TokenPos}} +\subsubsection[Clear]{\setlength{\rightskip}{0pt plus 5cm}void CMarkup::TokenPos::Clear ()\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1TokenPos_cb390ed8ab1226cbd8c9b9a19088d55c} + + + + +References nL, nNext, and nR. + +Referenced by TokenPos().\index{CMarkup::TokenPos@{CMarkup::TokenPos}!Length@{Length}} +\index{Length@{Length}!CMarkup::TokenPos@{CMarkup::TokenPos}} +\subsubsection[Length]{\setlength{\rightskip}{0pt plus 5cm}int CMarkup::TokenPos::Length () const\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1TokenPos_b033dc8e88a8f83748ff6c44df05bb04} + + + + +References nL, and nR.\index{CMarkup::TokenPos@{CMarkup::TokenPos}!StrNIACmp@{StrNIACmp}} +\index{StrNIACmp@{StrNIACmp}!CMarkup::TokenPos@{CMarkup::TokenPos}} +\subsubsection[StrNIACmp]{\setlength{\rightskip}{0pt plus 5cm}int CMarkup::TokenPos::StrNIACmp (MCD\_\-PCSZ {\em p1}, \/ MCD\_\-PCSZ {\em p2}, \/ int {\em n})\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1TokenPos_c3a37f7294cd763aed0f37749095d3db} + + + + +References MCD\_\-CHAR. + +Referenced by Match().\index{CMarkup::TokenPos@{CMarkup::TokenPos}!Match@{Match}} +\index{Match@{Match}!CMarkup::TokenPos@{CMarkup::TokenPos}} +\subsubsection[Match]{\setlength{\rightskip}{0pt plus 5cm}bool CMarkup::TokenPos::Match ({\bf MCD\_\-CSTR} {\em szName})\hspace{0.3cm}{\tt [inline]}}\label{structCMarkup_1_1TokenPos_199e0772dc846b95670797f0a32ec9ab} + + + + +References MCD\_\-PSZCHR, MCD\_\-PSZNCMP, MCD\_\-T, CMarkup::MDF\_\-IGNORECASE, nL, nR, nTokenFlags, pDoc, and StrNIACmp(). + +\subsection{Member Data Documentation} +\index{CMarkup::TokenPos@{CMarkup::TokenPos}!nL@{nL}} +\index{nL@{nL}!CMarkup::TokenPos@{CMarkup::TokenPos}} +\subsubsection[nL]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::TokenPos::nL}}\label{structCMarkup_1_1TokenPos_c4c71680b3f09845b5346bf1285a214f} + + + + +Referenced by Clear(), Length(), and Match().\index{CMarkup::TokenPos@{CMarkup::TokenPos}!nR@{nR}} +\index{nR@{nR}!CMarkup::TokenPos@{CMarkup::TokenPos}} +\subsubsection[nR]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::TokenPos::nR}}\label{structCMarkup_1_1TokenPos_fb58afc56664b9646fc79b9ec2a51b10} + + + + +Referenced by Clear(), Length(), and Match().\index{CMarkup::TokenPos@{CMarkup::TokenPos}!nNext@{nNext}} +\index{nNext@{nNext}!CMarkup::TokenPos@{CMarkup::TokenPos}} +\subsubsection[nNext]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::TokenPos::nNext}}\label{structCMarkup_1_1TokenPos_72b20974f7b55aa5d804a769f8a3f985} + + + + +Referenced by Clear().\index{CMarkup::TokenPos@{CMarkup::TokenPos}!pDoc@{pDoc}} +\index{pDoc@{pDoc}!CMarkup::TokenPos@{CMarkup::TokenPos}} +\subsubsection[pDoc]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-PCSZ {\bf CMarkup::TokenPos::pDoc}}\label{structCMarkup_1_1TokenPos_90a1052c162afcd07fc3974b95888a7e} + + + + +Referenced by Match(), and TokenPos().\index{CMarkup::TokenPos@{CMarkup::TokenPos}!nTokenFlags@{nTokenFlags}} +\index{nTokenFlags@{nTokenFlags}!CMarkup::TokenPos@{CMarkup::TokenPos}} +\subsubsection[nTokenFlags]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::TokenPos::nTokenFlags}}\label{structCMarkup_1_1TokenPos_8eb640fe33ed145eb078e8214c0ea62b} + + + + +Referenced by Match(), and TokenPos().\index{CMarkup::TokenPos@{CMarkup::TokenPos}!nPreSpaceStart@{nPreSpaceStart}} +\index{nPreSpaceStart@{nPreSpaceStart}!CMarkup::TokenPos@{CMarkup::TokenPos}} +\subsubsection[nPreSpaceStart]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::TokenPos::nPreSpaceStart}}\label{structCMarkup_1_1TokenPos_2d81fc5b589c491b450f73167ed9993d} + + +\index{CMarkup::TokenPos@{CMarkup::TokenPos}!nPreSpaceLength@{nPreSpaceLength}} +\index{nPreSpaceLength@{nPreSpaceLength}!CMarkup::TokenPos@{CMarkup::TokenPos}} +\subsubsection[nPreSpaceLength]{\setlength{\rightskip}{0pt plus 5cm}int {\bf CMarkup::TokenPos::nPreSpaceLength}}\label{structCMarkup_1_1TokenPos_455b67b62cfd4d6f6ffafc7b8bbc9971} + + + + +The documentation for this struct was generated from the following file:\begin{CompactItemize} +\item +{\bf Markup.h}\end{CompactItemize} diff --git a/doc/latex/structMCD__CSTR.tex b/doc/latex/structMCD__CSTR.tex new file mode 100644 index 0000000..478078b --- /dev/null +++ b/doc/latex/structMCD__CSTR.tex @@ -0,0 +1,67 @@ +\section{MCD\_\-CSTR Struct Reference} +\label{structMCD__CSTR}\index{MCD\_\-CSTR@{MCD\_\-CSTR}} +{\tt \#include $<$Markup.h$>$} + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf MCD\_\-CSTR} () +\item +{\bf MCD\_\-CSTR} (MCD\_\-PCSZ p) +\item +{\bf MCD\_\-CSTR} (const MCD\_\-STR \&s) +\item +{\bf operator MCD\_\-PCSZ} () const +\end{CompactItemize} +\subsection*{Public Attributes} +\begin{CompactItemize} +\item +MCD\_\-PCSZ {\bf pcsz} +\end{CompactItemize} + + +\subsection{Constructor \& Destructor Documentation} +\index{MCD\_\-CSTR@{MCD\_\-CSTR}!MCD\_\-CSTR@{MCD\_\-CSTR}} +\index{MCD\_\-CSTR@{MCD\_\-CSTR}!MCD_CSTR@{MCD\_\-CSTR}} +\subsubsection[MCD\_\-CSTR]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-CSTR::MCD\_\-CSTR ()\hspace{0.3cm}{\tt [inline]}}\label{structMCD__CSTR_527942329419b01535431646e136eaa1} + + + + +References pcsz.\index{MCD\_\-CSTR@{MCD\_\-CSTR}!MCD\_\-CSTR@{MCD\_\-CSTR}} +\index{MCD\_\-CSTR@{MCD\_\-CSTR}!MCD_CSTR@{MCD\_\-CSTR}} +\subsubsection[MCD\_\-CSTR]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-CSTR::MCD\_\-CSTR (MCD\_\-PCSZ {\em p})\hspace{0.3cm}{\tt [inline]}}\label{structMCD__CSTR_f0cb7482427cfab856ee18c8ac50e5fa} + + + + +References pcsz.\index{MCD\_\-CSTR@{MCD\_\-CSTR}!MCD\_\-CSTR@{MCD\_\-CSTR}} +\index{MCD\_\-CSTR@{MCD\_\-CSTR}!MCD_CSTR@{MCD\_\-CSTR}} +\subsubsection[MCD\_\-CSTR]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-CSTR::MCD\_\-CSTR (const MCD\_\-STR \& {\em s})\hspace{0.3cm}{\tt [inline]}}\label{structMCD__CSTR_dc766d196d878fa2eccad9843463508b} + + + + +References MCD\_\-2PCSZ, and pcsz. + +\subsection{Member Function Documentation} +\index{MCD\_\-CSTR@{MCD\_\-CSTR}!operator MCD\_\-PCSZ@{operator MCD\_\-PCSZ}} +\index{operator MCD\_\-PCSZ@{operator MCD\_\-PCSZ}!MCD_CSTR@{MCD\_\-CSTR}} +\subsubsection[operator MCD\_\-PCSZ]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-CSTR::operator MCD\_\-PCSZ () const\hspace{0.3cm}{\tt [inline]}}\label{structMCD__CSTR_69c3b0c4b7d049b0eaadcc5822f647ac} + + + + +\subsection{Member Data Documentation} +\index{MCD\_\-CSTR@{MCD\_\-CSTR}!pcsz@{pcsz}} +\index{pcsz@{pcsz}!MCD_CSTR@{MCD\_\-CSTR}} +\subsubsection[pcsz]{\setlength{\rightskip}{0pt plus 5cm}MCD\_\-PCSZ {\bf MCD\_\-CSTR::pcsz}}\label{structMCD__CSTR_98868bd66f13bc4be31eab000d45335e} + + + + +Referenced by MCD\_\-CSTR(). + +The documentation for this struct was generated from the following file:\begin{CompactItemize} +\item +{\bf Markup.h}\end{CompactItemize} diff --git a/doc/latex/structneuralpp_1_1netrecord.tex b/doc/latex/structneuralpp_1_1netrecord.tex new file mode 100644 index 0000000..c9c659b --- /dev/null +++ b/doc/latex/structneuralpp_1_1netrecord.tex @@ -0,0 +1,57 @@ +\section{neuralpp::netrecord Struct Reference} +\label{structneuralpp_1_1netrecord}\index{neuralpp::netrecord@{neuralpp::netrecord}} +{\tt \#include $<$neural++.hpp$>$} + +\subsection*{Public Attributes} +\begin{CompactItemize} +\item +int {\bf input\_\-size} +\item +int {\bf hidden\_\-size} +\item +int {\bf output\_\-size} +\item +int {\bf epochs} +\item +double {\bf l\_\-rate} +\item +double {\bf ex} +\end{CompactItemize} + + +\subsection{Member Data Documentation} +\index{neuralpp::netrecord@{neuralpp::netrecord}!input\_\-size@{input\_\-size}} +\index{input\_\-size@{input\_\-size}!neuralpp::netrecord@{neuralpp::netrecord}} +\subsubsection[input\_\-size]{\setlength{\rightskip}{0pt plus 5cm}int {\bf neuralpp::netrecord::input\_\-size}}\label{structneuralpp_1_1netrecord_e1f480bfef05033accef40f77c09fa87} + + +\index{neuralpp::netrecord@{neuralpp::netrecord}!hidden\_\-size@{hidden\_\-size}} +\index{hidden\_\-size@{hidden\_\-size}!neuralpp::netrecord@{neuralpp::netrecord}} +\subsubsection[hidden\_\-size]{\setlength{\rightskip}{0pt plus 5cm}int {\bf neuralpp::netrecord::hidden\_\-size}}\label{structneuralpp_1_1netrecord_3c1728ac66c37f6ac85c404d4f55552e} + + +\index{neuralpp::netrecord@{neuralpp::netrecord}!output\_\-size@{output\_\-size}} +\index{output\_\-size@{output\_\-size}!neuralpp::netrecord@{neuralpp::netrecord}} +\subsubsection[output\_\-size]{\setlength{\rightskip}{0pt plus 5cm}int {\bf neuralpp::netrecord::output\_\-size}}\label{structneuralpp_1_1netrecord_95f2b0651dd3a0e5e7201ff354e401b4} + + +\index{neuralpp::netrecord@{neuralpp::netrecord}!epochs@{epochs}} +\index{epochs@{epochs}!neuralpp::netrecord@{neuralpp::netrecord}} +\subsubsection[epochs]{\setlength{\rightskip}{0pt plus 5cm}int {\bf neuralpp::netrecord::epochs}}\label{structneuralpp_1_1netrecord_ab0149ed5ea0694e88213a07cd4427d1} + + +\index{neuralpp::netrecord@{neuralpp::netrecord}!l\_\-rate@{l\_\-rate}} +\index{l\_\-rate@{l\_\-rate}!neuralpp::netrecord@{neuralpp::netrecord}} +\subsubsection[l\_\-rate]{\setlength{\rightskip}{0pt plus 5cm}double {\bf neuralpp::netrecord::l\_\-rate}}\label{structneuralpp_1_1netrecord_a4f793a39a40144e811fef4d3d2d2b30} + + +\index{neuralpp::netrecord@{neuralpp::netrecord}!ex@{ex}} +\index{ex@{ex}!neuralpp::netrecord@{neuralpp::netrecord}} +\subsubsection[ex]{\setlength{\rightskip}{0pt plus 5cm}double {\bf neuralpp::netrecord::ex}}\label{structneuralpp_1_1netrecord_dcc44fde3f67058d26ef2d5cbd0904e6} + + + + +The documentation for this struct was generated from the following file:\begin{CompactItemize} +\item +{\bf neural++.hpp}\end{CompactItemize} diff --git a/doc/latex/structneuralpp_1_1neuronrecord.tex b/doc/latex/structneuralpp_1_1neuronrecord.tex new file mode 100644 index 0000000..edf3519 --- /dev/null +++ b/doc/latex/structneuralpp_1_1neuronrecord.tex @@ -0,0 +1,29 @@ +\section{neuralpp::neuronrecord Struct Reference} +\label{structneuralpp_1_1neuronrecord}\index{neuralpp::neuronrecord@{neuralpp::neuronrecord}} +{\tt \#include $<$neural++.hpp$>$} + +\subsection*{Public Attributes} +\begin{CompactItemize} +\item +double {\bf prop} +\item +double {\bf actv} +\end{CompactItemize} + + +\subsection{Member Data Documentation} +\index{neuralpp::neuronrecord@{neuralpp::neuronrecord}!prop@{prop}} +\index{prop@{prop}!neuralpp::neuronrecord@{neuralpp::neuronrecord}} +\subsubsection[prop]{\setlength{\rightskip}{0pt plus 5cm}double {\bf neuralpp::neuronrecord::prop}}\label{structneuralpp_1_1neuronrecord_30b298a95939b88b565fefc2dc57e89d} + + +\index{neuralpp::neuronrecord@{neuralpp::neuronrecord}!actv@{actv}} +\index{actv@{actv}!neuralpp::neuronrecord@{neuralpp::neuronrecord}} +\subsubsection[actv]{\setlength{\rightskip}{0pt plus 5cm}double {\bf neuralpp::neuronrecord::actv}}\label{structneuralpp_1_1neuronrecord_15201b190584987255d81d4b7e773375} + + + + +The documentation for this struct was generated from the following file:\begin{CompactItemize} +\item +{\bf neural++.hpp}\end{CompactItemize} diff --git a/doc/latex/structneuralpp_1_1synrecord.tex b/doc/latex/structneuralpp_1_1synrecord.tex new file mode 100644 index 0000000..d079ed4 --- /dev/null +++ b/doc/latex/structneuralpp_1_1synrecord.tex @@ -0,0 +1,29 @@ +\section{neuralpp::synrecord Struct Reference} +\label{structneuralpp_1_1synrecord}\index{neuralpp::synrecord@{neuralpp::synrecord}} +{\tt \#include $<$neural++.hpp$>$} + +\subsection*{Public Attributes} +\begin{CompactItemize} +\item +double {\bf w} +\item +double {\bf d} +\end{CompactItemize} + + +\subsection{Member Data Documentation} +\index{neuralpp::synrecord@{neuralpp::synrecord}!w@{w}} +\index{w@{w}!neuralpp::synrecord@{neuralpp::synrecord}} +\subsubsection[w]{\setlength{\rightskip}{0pt plus 5cm}double {\bf neuralpp::synrecord::w}}\label{structneuralpp_1_1synrecord_81a7dbc97eecbf5bc85cac46373a78d2} + + +\index{neuralpp::synrecord@{neuralpp::synrecord}!d@{d}} +\index{d@{d}!neuralpp::synrecord@{neuralpp::synrecord}} +\subsubsection[d]{\setlength{\rightskip}{0pt plus 5cm}double {\bf neuralpp::synrecord::d}}\label{structneuralpp_1_1synrecord_3a862082dfa0edffce84936818bab374} + + + + +The documentation for this struct was generated from the following file:\begin{CompactItemize} +\item +{\bf neural++.hpp}\end{CompactItemize} diff --git a/src/Doxyfile b/include/Doxyfile similarity index 99% rename from src/Doxyfile rename to include/Doxyfile index c7b817c..0509aa7 100644 --- a/src/Doxyfile +++ b/include/Doxyfile @@ -23,7 +23,7 @@ PROJECT_NAME = Neural++ # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 0.2.1 +PROJECT_NUMBER = 0.3 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. diff --git a/include/neural++.hpp b/include/neural++.hpp index 7b7675f..40c4800 100644 --- a/include/neural++.hpp +++ b/include/neural++.hpp @@ -20,10 +20,7 @@ #include #include - #include -#include -#include #include "neural++_exception.hpp" using namespace std; @@ -33,7 +30,11 @@ using namespace std; //! Initial value for the inertial momentum of the synapses #define BETA0 0.7 - + +/** + * @namespace neuralpp + * @brief Main namespace for the library + */ namespace neuralpp { class Synapsis; class Neuron; @@ -71,12 +72,21 @@ namespace neuralpp { /** * @brief It get the error made on the expected result as |v-v'|/v - * @param Expected value + * @param ex Expected value * @return Mean error */ - double error(double); + double error(double ex); + /** + * @brief Private pointer to function, containing the function to + * be used as activation function + */ double (*actv_f)(double); + + /** + * @brief Private pointer to function, containing the function to + * be used as derivate of the activation function + */ double (*deriv)(double); public: @@ -85,6 +95,9 @@ namespace neuralpp { */ typedef enum { file, str } source; + /** + * @brief Empty constructor for the class - it just makes nothing + */ NeuralNet() {} /** @@ -97,14 +110,14 @@ namespace neuralpp { * @param e Epochs (cycles) to execute (the most you execute, the most the network * can be accurate for its purpose) */ - NeuralNet (size_t, size_t, size_t, double, int); + NeuralNet (size_t in_size, size_t hidden_size, size_t out_size, double l, int e); /** * @brief Constructor * @param file Binary file containing a neural network previously saved by save() method * @throw NetworkFileNotFoundException */ - NeuralNet (const char*) throw(); + NeuralNet (const char* file) throw(NetworkFileNotFoundException); /** @@ -119,40 +132,45 @@ namespace neuralpp { * @param e Epochs (cycles) to execute (the most you execute, the most the network * can be accurate for its purpose) */ - NeuralNet (size_t, size_t, size_t, double(*)(double), double(*)(double), double, int); + NeuralNet (size_t in_size, size_t hidden_size, size_t out_size, + double(*actv)(double), double(*deriv)(double), double l, int e); /** * @brief It gets the output of the network (note: the layer output should contain - * an only neuron) + * an only neuron) + * @return The output value of the network */ double getOutput(); /** * @brief It gets the output of the network in case the output layer contains more neurons + * @return A vector containing the output values of the network */ - vector getVectorOutput(); + vector getOutputs(); /** * @brief It gets the value expected. Of course you should specify this when you - * build your network by using setExpected. + * build your network by using setExpected. + * @return The expected output value for a certain training phase */ double expected(); /** * @brief It sets the value you expect from your network + * @param ex Expected output value */ - void setExpected(double); + void setExpected(double ex); /** * @brief It updates through back-propagation the weights of the synapsis and - * computes again the output value for epochs times, calling back - * updateWeights and commitChanges functions + * computes again the output value for epochs times, calling back + * updateWeights and commitChanges functions */ void update(); /** * @brief It propagates values through the network. Use this when you want to give - * an already trained network some new values the get to the output + * an already trained network some new values the get to the output */ void propagate(); @@ -160,18 +178,19 @@ namespace neuralpp { * @brief It sets the input for the network * @param v Vector of doubles, containing the values to give to your network */ - void setInput (vector&); + void setInput (vector& v); /** * @brief It links the layers of the network (input, hidden, output). Don't use unless - * you exactly know what you're doing, it is already called by the constructor + * you exactly know what you're doing, it is already called by the constructor */ void link(); /** * @brief Save a trained neural network to a binary file + * @param fname Binary file where you're going to save your network */ - bool save(const char*); + bool save(const char* fname); /** * @brief Train a network using a training set loaded from an XML file. A sample XML file @@ -180,13 +199,13 @@ namespace neuralpp { * @param src Source type from which the XML will be loaded (from a file [default] or from a string) * @throw InvalidXMLException */ - void train(string, source) throw(); + void train(string xml, source xrc) throw(InvalidXMLException); /** * @brief Initialize the training XML for the neural network * @param xml String that will contain the XML */ - static void initXML (string&); + static void initXML (string& xml); /** * @brief Splits a string into a vector of doubles, given a delimitator @@ -194,7 +213,7 @@ namespace neuralpp { * @param str String to be splitted * @return Vector of doubles containing splitted values */ - static vector split (char, string); + static vector split (char delim, string str); /** * @brief Get a training set from a string and copies it to an XML @@ -208,13 +227,13 @@ namespace neuralpp { * @param set String containing input values and expected outputs * @return XML string */ - static string XMLFromSet (int, string); + static string XMLFromSet (int id, string set); /** * @brief Closes an open XML document generated by "initXML" and "XMLFromSet" - * @param XML string to be closed + * @param xml XML string to be closed */ - static void closeXML(string&); + static void closeXML(string& xml); }; /** @@ -274,22 +293,26 @@ namespace neuralpp { Neuron* getOut(); /** - * @brief It sets the weight of the synapsis + * @brief Set the weight of the synapsis + * @param w Weight to be set */ - void setWeight(double); + void setWeight(double w); /** * @brief It sets the delta (how much to change the weight after an update) - * of the synapsis + * of the synapsis + * @param d Delta to be set */ - void setDelta(double); + void setDelta(double d); /** + * @brief Return the weight of the synapsis * @return Weight of the synapsis */ double getWeight(); /** + * @brief Return the delta of the synapsis * @return Delta of the synapsis */ double getDelta(); @@ -333,50 +356,65 @@ namespace neuralpp { * @param a Activation function * @param d Its derivate */ - Neuron (double (*)(double), double(*)(double)); + Neuron (double (*a)(double), double(*d)(double)); /** * @brief Alternative constructor, that gets also the synapsis linked to the neuron + * @param in Input synapses + * @param out Output synapses + * @param a Activation function + * @param d Derivate of the activation function */ - Neuron (vector< Synapsis >, vector< Synapsis >, double (*)(double), double(*)(double)); + Neuron (vector in, vector out, + double (*a)(double), double(*d)(double)); /** - * @brief Gets the i-th synapsis connected on the input of the neuron + * @brief Get the i-th synapsis connected on the input of the neuron + * @param i Index of the input synapsis to get + * @return Reference to the i-th synapsis */ Synapsis& synIn (size_t i); /** - * @brief Gets the i-th synapsis connected on the output of the neuron + * @brief Get the i-th synapsis connected on the output of the neuron + * @param i Index of the output synapsis to get + * @return Reference to the i-th synapsis */ Synapsis& synOut (size_t i); /** * @brief It pushes a new input synapsis + * @param s Synapsis to be pushed */ - void push_in (Synapsis&); + void push_in (Synapsis& s); /** * @brief It pushes a new output synapsis + * @param s Synapsis to be pushed */ - void push_out (Synapsis&); + void push_out (Synapsis& s); /** * @brief Change the activation value of the neuron + * @param a Activation value */ - void setActv (double); + void setActv (double a); /** * @brief Change the propagation value of the neuron + * @param p Propagation value */ - void setProp (double); + void setProp (double p); /** - * @brief It gets the activation value of the neuron + * @brief Get the activation value of the neuron + * @return Activation value for the neuron */ double getActv(); /** - * @brief It gets the propagation value of the neuron + * @brief Get the propagation value of the neuron + * @return Propagation value for the neuron */ double getProp(); @@ -386,11 +424,13 @@ namespace neuralpp { double propagate(); /** + * @brief Get the number of input synapsis for the neuron * @return Number of input synapsis */ size_t nIn(); /** + * @brief Get the number of output synapsis for the neuron * @return Number of output synapsis */ size_t nOut(); @@ -398,7 +438,7 @@ namespace neuralpp { /** * @brief Remove input and output synapsis from a neuron */ - void synClear() { in.clear(); out.clear(); } + void synClear(); }; /** @@ -407,7 +447,7 @@ namespace neuralpp { * you're doing, use NeuralNet instead */ class Layer { - vector< Neuron > elements; + vector elements; void (*update_weights)(); double (*actv_f)(double); @@ -424,32 +464,37 @@ namespace neuralpp { /** * @brief Alternative constructor. It directly gets a vector of neurons to build - * the layer + * the layer + * @param neurons Vector of neurons to be included in the layer + * @param a Activation function + * @param d Its derivate */ - Layer (vector< Neuron >&, double(*a)(double), double(*d)(double)); + Layer (vector& neurons, double(*a)(double), double(*d)(double)); /** * @brief Redefinition for operator []. It gets the neuron at i + * @param i Index of the neuron to get in the layer + * @return Reference to the i-th neuron */ - Neuron& operator[] (size_t); + Neuron& operator[] (size_t i); /** * @brief It links a layer to another * @param l Layer to connect to the current as input layer */ - void link (Layer&); + void link (Layer& l); /** * @brief It sets a vector of propagation values to all its neurons * @param v Vector of values to write as propagation values */ - void setProp (vector&); + void setProp (vector& v); /** * @brief It sets a vector of activation values to all its neurons * @param v Vector of values to write as activation values */ - void setActv (vector&); + void setActv (vector& v); /** * @brief It propagates its activation values to the output layers diff --git a/src/layer.cpp b/src/layer.cpp index 34507a9..45d5e53 100644 --- a/src/layer.cpp +++ b/src/layer.cpp @@ -13,62 +13,64 @@ #include #include "neural++.hpp" -using namespace neuralpp; -namespace neuralpp { -Layer::Layer (size_t sz, double(*a)(double), double(*d)(double)) { - for (size_t i=0; i &el, double (*a) (double), + double (*d) (double)) { + elements = el; + actv_f = a; + deriv = d; + } -Layer::Layer (vector< Neuron > &el, double (*a)(double), double(*d)(double)) { - elements=el; - actv_f=a; - deriv=d; -} + size_t Layer::size() { + return elements.size(); + } -size_t Layer::size() { return elements.size(); } + Neuron & Layer::operator[](size_t i) { + return elements[i]; + } -Neuron& Layer::operator[] (size_t i) { return elements[i]; } + void Layer::link(Layer & l) { + srand((unsigned) time(NULL)); -void Layer::link (Layer& l) { - srand ((unsigned) time(NULL)); + for (size_t i = 0; i < l.size(); i++) { + Neuron *n1 = &(l.elements[i]); - for (size_t i=0; ipush_out(s); + n2->push_in(s); + } + } + } - n1->push_out(s); - n2->push_in(s); + void Layer::setProp(vector < double >&v) { + for (size_t i = 0; i < size(); i++) + elements[i].setProp(v[i]); + } + + void Layer::setActv(vector < double >&v) { + for (size_t i = 0; i < size(); i++) + elements[i].setActv(v[i]); + } + + void Layer::propagate() { + for (size_t i = 0; i < size(); i++) { + Neuron *n = &(elements[i]); + + n->setProp(n->propagate()); + n->setActv(actv_f(n->getProp())); } } } -void Layer::setProp (vector &v) { - for (size_t i=0; i &v) { - for (size_t i=0; isetProp(n->propagate()); - n->setActv( actv_f(n->getProp()) ); - } -} -} - diff --git a/src/neural_doc.h b/src/neural_doc.h deleted file mode 100644 index 776910e..0000000 --- a/src/neural_doc.h +++ /dev/null @@ -1,194 +0,0 @@ -/************************************************************************************************** - * LibNeural++ v.0.2 - All-purpose library for managing neural networks * - * Copyright (C) 2009, BlackLight * - * * - * This program is free software: you can redistribute it and/or modify it under the terms of the * - * GNU General Public License as published by the Free Software Foundation, either version 3 of * - * the License, or (at your option) any later version. This program 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 General Public License for * - * more details. You should have received a copy of the GNU General Public License along with * - * this program. If not, see . * - **************************************************************************************************/ - -#ifndef __NEURALPP -#define __NEURALPP - -#include -#include -#include -using namespace std; - -namespace neuralpp { - //! Default rand value: |sin(rand)|, always >= 0 and <= 1 - #define RAND ( (float) abs( sinf((float) rand()) ) ) - - class Synapsis; - class Neuron; - class Layer; - class NeuralNet; - class NetworkFileNotFoundException; - class InvalidXMLException; - - /** - * @class NetworkFileNotFoundException - * @brief Exception thrown when doing an attempt to load a network from an invalid file - */ - class NetworkFileNotFoundException : public exception { - public: - NetworkFileNotFoundException() {} - const char* what() const throw() { return strdup("Attempt to load a neural network from an invalid network file\n"); } - }; - - /** - * @class InvalidXMLException - * @brief Exception thrown when trying parsing an invalid XML - */ - class InvalidXMLException : public exception { - public: - InvalidXMLException() {} - const char* what() const throw() { return strdup("Attempt to load an invalid XML file\n"); } - }; - - /** - * @class NeuralNet - * @brief Main project's class. Use *ONLY* this class, unless you know what you're doing - */ - class NeuralNet { - int epochs; - float l_rate; - float ex; - - Layer* input; - Layer* hidden; - Layer* output; - - void updateWeights(); - void commitChanges (Layer *l); - float error(float); - - float (*actv_f)(float); - float (*deriv)(float); - - public: - /** - * @brief Enum to choose the eventual training source for our network (XML from a file or from a string) - */ - typedef enum { file, str } source; - - NeuralNet (size_t, size_t, size_t, float, int); - NeuralNet (size_t, size_t, size_t, float(*)(float), float(*)(float), float, int); - NeuralNet (const char*) throw(); - - float getOutput(); - float expected(); - - vector getVectorOutput(); - - void setExpected(float); - void update(); - void propagate(); - void setInput (vector&); - void link(); - bool save (const char*); - void train(string, source) throw(); - - static vector split (char, string); - static void initXML (string&); - static string XMLFromSet (int, string); - static void closeXML(string&); - }; - - /** - * @class Synapsis - * @brief Class for managing synapsis. Don't use this class directly unless you know what - * you're doing, use NeuralNet instead - */ - class Synapsis { - float delta; - float weight; - - Neuron *in; - Neuron *out; - - float (*actv_f)(float); - float (*deriv)(float); - - public: - Synapsis (Neuron* i, Neuron* o, float(*)(float), float(*)(float)); - Synapsis (Neuron* i, Neuron* o, float w, float(*)(float), float(*)(float)); - - Neuron* getIn(); - Neuron* getOut(); - - void setWeight(float); - void setDelta(float); - - float getWeight(); - float getDelta(); - }; - - /** - * @class Neuron - * @brief Class for managing neurons. Don't use this class directly unless you know what - * you're doing, use NeuralNet instead - */ - class Neuron { - float actv_val; - float prop_val; - - vector< Synapsis > in; - vector< Synapsis > out; - - float (*actv_f)(float); - float (*deriv)(float); - public: - Neuron (float (*)(float), float(*)(float)); - Neuron (vector< Synapsis >, vector< Synapsis >, float (*)(float), float(*)(float)); - - Synapsis& synIn (size_t i); - Synapsis& synOut (size_t i); - - void push_in (Synapsis&); - void push_out (Synapsis&); - - void setActv (float); - void setProp (float); - - float getActv(); - float getProp(); - float propagate(); - - - size_t nIn(); - size_t nOut(); - }; - - /** - * @class Layer - * @brief Class for managing layers of neurons. Don't use this class directly unless you know what - * you're doing, use NeuralNet instead - */ - class Layer { - vector< Neuron > elements; - void (*update_weights)(); - - float (*actv_f)(float); - float (*deriv)(float); - public: - Layer (size_t sz, float (*)(float), float(*)(float)); - Layer (vector< Neuron >&, float(*)(float), float(*)(float)); - - Neuron& operator[] (size_t); - - void link (Layer&); - void setProp (vector&); - void setActv (vector&); - void propagate(); - - size_t size(); - }; -} - -#endif - diff --git a/src/neuralnet.cpp b/src/neuralnet.cpp index 02bfa8e..5daf42b 100644 --- a/src/neuralnet.cpp +++ b/src/neuralnet.cpp @@ -13,462 +13,505 @@ #include "neural++.hpp" #include "Markup.h" -#include -namespace neuralpp { - -double __actv(double prop) { return prop; } - -double __deriv(double prop) { return 1; } - -NeuralNet::NeuralNet (size_t in_size, size_t hidden_size, size_t out_size, double l, int e) { - epochs=e; - ref_epochs=epochs; - l_rate=l; - actv_f=__actv; - deriv=__deriv; - - input = new Layer(in_size, __actv, __deriv); - hidden = new Layer(hidden_size, __actv, __deriv); - output = new Layer(out_size, __actv, __deriv); - link(); -} - -NeuralNet::NeuralNet (size_t in_size, size_t hidden_size, size_t out_size, - double(*a)(double), double(*d)(double), double l, int e) { - epochs=e; - ref_epochs=epochs; - l_rate=l; - - actv_f=a; - deriv=d; - - input = new Layer(in_size, a, d); - hidden = new Layer(hidden_size, a, d); - output = new Layer(out_size, a, d); - link(); -} - -double NeuralNet::getOutput() { return (*output)[0].getActv(); } - -vector NeuralNet::getVectorOutput() { - vector v; - - for (size_t i=0; isize(); i++) - v.push_back( (*output)[i].getActv() ); - return v; -} - -double NeuralNet::error(double expected) { - return abs( (getOutput() - expected* - deriv(getOutput())) / (abs(expected)) ); -} - -void NeuralNet::propagate() { - hidden->propagate(); - output->propagate(); -} - -void NeuralNet::setInput(vector& v) { - input->setProp(v); - input->setActv(v); -} - -void NeuralNet::link() { - hidden->link(*input); - output->link(*hidden); -} - -void NeuralNet::setExpected(double e) { ex=e; } - -double NeuralNet::expected() { return ex; } - -void NeuralNet::updateWeights() { - double out_delta; - - for (size_t i=0; isize(); i++) { - Neuron *n = &(*output)[i]; - - for (size_t j=0; jnIn(); j++) { - Synapsis *s = &(n->synIn(j)); - - if (ref_epochs - epochs > 0) - out_delta = s->getIn()->getActv() * error(ex) * (-l_rate) + - s->momentum(ref_epochs, ref_epochs-epochs) * s->getPrevDelta(); - else - out_delta = s->getIn()->getActv() * error(ex) * (-l_rate); - - s->setDelta(out_delta); - } - } - - for (size_t i=0; isize(); i++) { - Neuron *n = &(*hidden)[i]; - double d = deriv(n->getProp()) * n->synOut(0).getWeight() * out_delta; - - for (size_t j=0; jnIn(); j++) { - Synapsis *s = &(n->synIn(j)); - - if (ref_epochs - epochs > 0) - s->setDelta((-l_rate) * d * s->getIn()->getActv() + - s->momentum(ref_epochs, ref_epochs-epochs) * s->getPrevDelta()); - else - s->setDelta((-l_rate) * d * s->getIn()->getActv()); - } - } -} - -void NeuralNet::commitChanges (Layer *l) { - for (size_t i=0; isize(); i++) { - Neuron *n = &(*l)[i]; - - for (size_t j=0; jnIn(); j++) { - Synapsis *s = &(n->synIn(j)); - s->setWeight(s->getWeight() + s->getDelta()); - s->setDelta(0); - } - } -} - -void NeuralNet::update() { - while ((epochs--)>0) { - updateWeights(); - commitChanges(output); - commitChanges(hidden); - propagate(); - } -} - -bool NeuralNet::save(const char *fname) { - FILE *fp; - struct netrecord record; - - if (!(fp=fopen(fname,"wb"))) - return false; - - record.input_size = input->size(); - record.hidden_size = hidden->size(); - record.output_size = output->size(); - - record.epochs = ref_epochs; - record.l_rate = l_rate; - record.ex = ex; - - if (fwrite (&record, sizeof(struct netrecord), 1, fp)<=0) - return false; - - // Saving neurons' state - for (unsigned int i=0; i < input->size(); i++) { - struct neuronrecord r; - r.prop = (*input)[i].getProp(); - r.actv = (*input)[i].getActv(); - fwrite (&r, sizeof(struct neuronrecord), 1, fp); +namespace neuralpp { + double __actv(double prop) { + return prop; } - for (unsigned int i=0; i < hidden->size(); i++) { - struct neuronrecord r; - r.prop = (*hidden)[i].getProp(); - r.actv = (*hidden)[i].getActv(); - fwrite (&r, sizeof(struct neuronrecord), 1, fp); - } - - for (unsigned int i=0; i < output->size(); i++) { - struct neuronrecord r; - r.prop = (*output)[i].getProp(); - r.actv = (*output)[i].getActv(); - fwrite (&r, sizeof(struct neuronrecord), 1, fp); + double __deriv(double prop) { + return 1; } - // Saving synapsis' state - for (unsigned int i=0; i < input->size(); i++) { - int nout = (*input)[i].nOut(); - fwrite (&nout, sizeof(int), 1, fp); + NeuralNet::NeuralNet(size_t in_size, size_t hidden_size, + size_t out_size, double l, int e) { - for (int j=0; j < nout; j++) { - struct synrecord r; - r.w = (*input)[i].synOut(j).getWeight(); - r.d = (*input)[i].synOut(j).getDelta(); - fwrite (&r, sizeof(struct synrecord), 1, fp); + epochs = e; + ref_epochs = epochs; + l_rate = l; + actv_f = __actv; + deriv = __deriv; + + input = new Layer(in_size, __actv, __deriv); + hidden = new Layer(hidden_size, __actv, __deriv); + output = new Layer(out_size, __actv, __deriv); + link(); + } + + NeuralNet::NeuralNet(size_t in_size, size_t hidden_size, + size_t out_size, double (*a) (double), + double (*d) (double), double l, int e) { + + epochs = e; + ref_epochs = epochs; + l_rate = l; + + actv_f = a; + deriv = d; + + input = new Layer(in_size, a, d); + hidden = new Layer(hidden_size, a, d); + output = new Layer(out_size, a, d); + link(); + } + + double NeuralNet::getOutput() { + return (*output)[0].getActv(); + } + + vector NeuralNet::getOutputs() { + vector v; + + for (size_t i = 0; i < output->size(); i++) + v.push_back((*output)[i].getActv()); + return v; + } + + double NeuralNet::error(double expected) { + return abs((getOutput() - expected * + deriv(getOutput())) / (abs(expected))); + } + + void NeuralNet::propagate() { + hidden->propagate(); + output->propagate(); + } + + void NeuralNet::setInput(vector & v) { + input->setProp(v); + input->setActv(v); + } + + void NeuralNet::link() { + hidden->link(*input); + output->link(*hidden); + } + + void NeuralNet::setExpected(double e) { + ex = e; + } + + double NeuralNet::expected() { + return ex; + } + + void NeuralNet::updateWeights() { + double out_delta; + + for (size_t i = 0; i < output->size(); i++) { + Neuron *n = &(*output)[i]; + + for (size_t j = 0; j < n->nIn(); j++) { + Synapsis *s = &(n->synIn(j)); + + if (ref_epochs - epochs > 0) + out_delta = + s->getIn()->getActv() * + error(ex) * (-l_rate) + + s->momentum(ref_epochs, + ref_epochs - + epochs) * + s->getPrevDelta(); + else + out_delta = + s->getIn()->getActv() * + error(ex) * (-l_rate); + + s->setDelta(out_delta); + } + } + + for (size_t i = 0; i < hidden->size(); i++) { + Neuron *n = &(*hidden)[i]; + double d = + deriv(n->getProp()) * + n->synOut(0).getWeight() * out_delta; + + for (size_t j = 0; j < n->nIn(); j++) { + Synapsis *s = &(n->synIn(j)); + + if (ref_epochs - epochs > 0) + s->setDelta((-l_rate) * d * + s->getIn()->getActv() + + s->momentum(ref_epochs, + ref_epochs + - + epochs) * + s->getPrevDelta()); + else + s->setDelta((-l_rate) * d * + s->getIn()->getActv()); + } } } - for (unsigned int i=0; i < output->size(); i++) { - int nin = (*output)[i].nIn(); - fwrite (&nin, sizeof(int), 1, fp); + void NeuralNet::commitChanges(Layer * l) { + for (size_t i = 0; i < l->size(); i++) { + Neuron *n = &(*l)[i]; - for (int j=0; j < nin; j++) { - struct synrecord r; - r.w = (*output)[i].synIn(j).getWeight(); - r.d = (*output)[i].synIn(j).getDelta(); - fwrite (&r, sizeof(struct synrecord), 1, fp); + for (size_t j = 0; j < n->nIn(); j++) { + Synapsis *s = &(n->synIn(j)); + s->setWeight(s->getWeight() + + s->getDelta()); + s->setDelta(0); + } } } - for (unsigned int i=0; i < hidden->size(); i++) { - int nin = (*hidden)[i].nIn(); - fwrite (&nin, sizeof(int), 1, fp); - - for (int j=0; j < nin; j++) { - struct synrecord r; - r.w = (*hidden)[i].synIn(j).getWeight(); - r.d = (*hidden)[i].synIn(j).getDelta(); - fwrite (&r, sizeof(struct synrecord), 1, fp); + void NeuralNet::update() { + while ((epochs--) > 0) { + updateWeights(); + commitChanges(output); + commitChanges(hidden); + propagate(); } } - for (unsigned int i=0; i < hidden->size(); i++) { - int nout = (*hidden)[i].nOut(); - fwrite (&nout, sizeof(int), 1, fp); + bool NeuralNet::save(const char *fname) { + FILE *fp; + struct netrecord record; - for (int j=0; j < nout; j++) { - struct synrecord r; - r.w = (*hidden)[i].synOut(j).getWeight(); - r.d = (*hidden)[i].synOut(j).getDelta(); - fwrite (&r, sizeof(struct synrecord), 1, fp); + if (!(fp = fopen(fname, "wb"))) + return false; + + record.input_size = input->size(); + record.hidden_size = hidden->size(); + record.output_size = output->size(); + + record.epochs = ref_epochs; + record.l_rate = l_rate; + record.ex = ex; + + if (fwrite(&record, sizeof(struct netrecord), 1, fp) <= 0) + return false; + + // Saving neurons' state + for (unsigned int i = 0; i < input->size(); i++) { + struct neuronrecord r; + r.prop = (*input)[i].getProp(); + r.actv = (*input)[i].getActv(); + fwrite(&r, sizeof(struct neuronrecord), 1, fp); } - } - fclose(fp); - return true; -} - -NeuralNet::NeuralNet (const char *fname) throw() { - struct netrecord record; - FILE *fp; - - if (!(fp=fopen(fname,"rb"))) - throw NetworkFileNotFoundException(); - - if (fread(&record, sizeof(struct netrecord), 1, fp)<=0) - throw NetworkFileNotFoundException(); - - *this = NeuralNet(record.input_size, record.hidden_size, record.output_size, record.l_rate, record.epochs); - - // Restore neurons - for (unsigned int i=0; i < input->size(); i++) { - struct neuronrecord r; - fread (&r, sizeof(struct neuronrecord), 1, fp); - - (*input)[i].setProp(r.prop); - (*input)[i].setActv(r.actv); - (*input)[i].synClear(); - } - - for (unsigned int i=0; i < hidden->size(); i++) { - struct neuronrecord r; - fread (&r, sizeof(struct neuronrecord), 1, fp); - - (*hidden)[i].setProp(r.prop); - (*hidden)[i].setActv(r.actv); - (*hidden)[i].synClear(); - } - - for (unsigned int i=0; i < output->size(); i++) { - struct neuronrecord r; - fread (&r, sizeof(struct neuronrecord), 1, fp); - - (*output)[i].setProp(r.prop); - (*output)[i].setActv(r.actv); - (*output)[i].synClear(); - } - - for (unsigned int i=0; i < input->size(); i++) - (*input)[i].synClear(); - - for (unsigned int i=0; i < hidden->size(); i++) - (*hidden)[i].synClear(); - - for (unsigned int i=0; i < output->size(); i++) - (*output)[i].synClear(); - - hidden->link(*input); - output->link(*hidden); - - // Restore synapsis - for (unsigned int i=0; i < input->size(); i++) { - int nout; - fread (&nout, sizeof(int), 1, fp); - - for (int j=0; j < nout; j++) { - struct synrecord r; - fread (&r, sizeof(struct synrecord), 1, fp); - - (*input)[i].synOut(j).setWeight(r.w); - (*input)[i].synOut(j).setDelta(r.d); + for (unsigned int i = 0; i < hidden->size(); i++) { + struct neuronrecord r; + r.prop = (*hidden)[i].getProp(); + r.actv = (*hidden)[i].getActv(); + fwrite(&r, sizeof(struct neuronrecord), 1, fp); } - } - for (unsigned int i=0; i < output->size(); i++) { - int nin; - fread (&nin, sizeof(int), 1, fp); - - for (int j=0; j < nin; j++) { - struct synrecord r; - fread (&r, sizeof(struct synrecord), 1, fp); - - (*output)[i].synIn(j).setWeight(r.w); - (*output)[i].synIn(j).setDelta(r.d); + for (unsigned int i = 0; i < output->size(); i++) { + struct neuronrecord r; + r.prop = (*output)[i].getProp(); + r.actv = (*output)[i].getActv(); + fwrite(&r, sizeof(struct neuronrecord), 1, fp); } - } - for (unsigned int i=0; i < hidden->size(); i++) { - int nin; - fread (&nin, sizeof(int), 1, fp); + // Saving synapsis' state + for (unsigned int i = 0; i < input->size(); i++) { + int nout = (*input)[i].nOut(); + fwrite(&nout, sizeof(int), 1, fp); - for (int j=0; j < nin; j++) { - struct synrecord r; - fread (&r, sizeof(struct synrecord), 1, fp); - - (*hidden)[i].synIn(j).setWeight(r.w); - (*hidden)[i].synIn(j).setDelta(r.d); + for (int j = 0; j < nout; j++) { + struct synrecord r; + r.w = (*input)[i].synOut(j).getWeight(); + r.d = (*input)[i].synOut(j).getDelta(); + fwrite(&r, sizeof(struct synrecord), 1, + fp); + } } - } - for (unsigned int i=0; i < hidden->size(); i++) { - int nout; - fread (&nout, sizeof(int), 1, fp); + for (unsigned int i = 0; i < output->size(); i++) { + int nin = (*output)[i].nIn(); + fwrite(&nin, sizeof(int), 1, fp); - for (int j=0; j < nout; j++) { - struct synrecord r; - fread (&r, sizeof(struct synrecord), 1, fp); - - (*hidden)[i].synOut(j).setWeight(r.w); - (*hidden)[i].synOut(j).setDelta(r.d); + for (int j = 0; j < nin; j++) { + struct synrecord r; + r.w = (*output)[i].synIn(j).getWeight(); + r.d = (*output)[i].synIn(j).getDelta(); + fwrite(&r, sizeof(struct synrecord), 1, + fp); + } } + + for (unsigned int i = 0; i < hidden->size(); i++) { + int nin = (*hidden)[i].nIn(); + fwrite(&nin, sizeof(int), 1, fp); + + for (int j = 0; j < nin; j++) { + struct synrecord r; + r.w = (*hidden)[i].synIn(j).getWeight(); + r.d = (*hidden)[i].synIn(j).getDelta(); + fwrite(&r, sizeof(struct synrecord), 1, + fp); + } + } + + for (unsigned int i = 0; i < hidden->size(); i++) { + int nout = (*hidden)[i].nOut(); + fwrite(&nout, sizeof(int), 1, fp); + + for (int j = 0; j < nout; j++) { + struct synrecord r; + r.w = (*hidden)[i].synOut(j).getWeight(); + r.d = (*hidden)[i].synOut(j).getDelta(); + fwrite(&r, sizeof(struct synrecord), 1, + fp); + } + } + + fclose(fp); + return true; } - fclose(fp); -} + NeuralNet::NeuralNet(const char *fname) throw(NetworkFileNotFoundException) { + struct netrecord record; + FILE *fp; -void NeuralNet::train (string xmlsrc, NeuralNet::source src = file) throw() { - double out; - CMarkup xml; + if (!(fp = fopen(fname, "rb"))) + throw NetworkFileNotFoundException(); - if (src == file) - xml.Load(xmlsrc.c_str()); - else - xml.SetDoc(xmlsrc.c_str()); + if (fread(&record, sizeof(struct netrecord), 1, fp) <= 0) + throw NetworkFileNotFoundException(); + + *this = + NeuralNet(record.input_size, record.hidden_size, + record.output_size, record.l_rate, + record.epochs); + + // Restore neurons + for (unsigned int i = 0; i < input->size(); i++) { + struct neuronrecord r; + fread(&r, sizeof(struct neuronrecord), 1, fp); + + (*input)[i].setProp(r.prop); + (*input)[i].setActv(r.actv); + (*input)[i].synClear(); + } + + for (unsigned int i = 0; i < hidden->size(); i++) { + struct neuronrecord r; + fread(&r, sizeof(struct neuronrecord), 1, fp); + + (*hidden)[i].setProp(r.prop); + (*hidden)[i].setActv(r.actv); + (*hidden)[i].synClear(); + } + + for (unsigned int i = 0; i < output->size(); i++) { + struct neuronrecord r; + fread(&r, sizeof(struct neuronrecord), 1, fp); + + (*output)[i].setProp(r.prop); + (*output)[i].setActv(r.actv); + (*output)[i].synClear(); + } + + for (unsigned int i = 0; i < input->size(); i++) + (*input)[i].synClear(); + + for (unsigned int i = 0; i < hidden->size(); i++) + (*hidden)[i].synClear(); + + for (unsigned int i = 0; i < output->size(); i++) + (*output)[i].synClear(); + + hidden->link(*input); + output->link(*hidden); + + // Restore synapsis + for (unsigned int i = 0; i < input->size(); i++) { + int nout; + fread(&nout, sizeof(int), 1, fp); + + for (int j = 0; j < nout; j++) { + struct synrecord r; + fread(&r, sizeof(struct synrecord), 1, fp); + + (*input)[i].synOut(j).setWeight(r.w); + (*input)[i].synOut(j).setDelta(r.d); + } + } + + for (unsigned int i = 0; i < output->size(); i++) { + int nin; + fread(&nin, sizeof(int), 1, fp); + + for (int j = 0; j < nin; j++) { + struct synrecord r; + fread(&r, sizeof(struct synrecord), 1, fp); + + (*output)[i].synIn(j).setWeight(r.w); + (*output)[i].synIn(j).setDelta(r.d); + } + } + + for (unsigned int i = 0; i < hidden->size(); i++) { + int nin; + fread(&nin, sizeof(int), 1, fp); + + for (int j = 0; j < nin; j++) { + struct synrecord r; + fread(&r, sizeof(struct synrecord), 1, fp); + + (*hidden)[i].synIn(j).setWeight(r.w); + (*hidden)[i].synIn(j).setDelta(r.d); + } + } + + for (unsigned int i = 0; i < hidden->size(); i++) { + int nout; + fread(&nout, sizeof(int), 1, fp); + + for (int j = 0; j < nout; j++) { + struct synrecord r; + fread(&r, sizeof(struct synrecord), 1, fp); + + (*hidden)[i].synOut(j).setWeight(r.w); + (*hidden)[i].synOut(j).setDelta(r.d); + } + } + + fclose(fp); + } + + void NeuralNet::train(string xmlsrc, NeuralNet::source src = + file) throw(InvalidXMLException) { + double out; + CMarkup xml; + + if (src == file) + xml.Load(xmlsrc.c_str()); + else + xml.SetDoc(xmlsrc.c_str()); + + if (!xml.IsWellFormed()) { + throw InvalidXMLException(); + return; + } + + if (xml.FindElem("NETWORK")) { + while (xml.FindChildElem("TRAINING")) { + vector < double >input; + double output; + bool valid = false; + + xml.IntoElem(); + + while (xml.FindChildElem("INPUT")) { + xml.IntoElem(); + input. + push_back(atof + (xml.GetData(). + c_str())); + xml.OutOfElem(); + } + + if (xml.FindChildElem("OUTPUT")) { + xml.IntoElem(); + output = + atof(xml.GetData().c_str()); + xml.OutOfElem(); + } + + xml.OutOfElem(); + + while (!valid) { + char str[BUFSIZ]; + + setInput(input); + propagate(); + setExpected(output); + update(); + + out = getOutput(); + memset(str, 0x0, sizeof(str)); + snprintf(str, sizeof(str), "%f", + out); + + if (!strstr(str, "inf")) + valid = true; + } + } + } - if (!xml.IsWellFormed()) { - throw InvalidXMLException(); return; } - if (xml.FindElem("NETWORK")) { - while (xml.FindChildElem("TRAINING")) { - vector input; - double output; - bool valid = false; + void NeuralNet::initXML(string & xml) { + xml.append + ("\n" + "\n" + "\n\n" + "\n"); + } - xml.IntoElem(); + vector NeuralNet::split(char delim, string str) { + char tmp[1024]; + vector v; + memset(tmp, 0x0, sizeof(tmp)); - while (xml.FindChildElem("INPUT")) { - xml.IntoElem(); - input.push_back(atof(xml.GetData().c_str())); - xml.OutOfElem(); - } - - if (xml.FindChildElem("OUTPUT")) { - xml.IntoElem(); - output = atof(xml.GetData().c_str()); - xml.OutOfElem(); - } - - xml.OutOfElem(); - - while (!valid) { - char str[BUFSIZ]; - - setInput(input); - propagate(); - setExpected(output); - update(); - - out = getOutput(); - memset (str, 0x0, sizeof(str)); - snprintf (str, sizeof(str), "%f", out); - - if (!strstr(str, "inf")) - valid=true; - } + for (unsigned int i = 0, j = 0; i <= str.length(); i++) { + if (str[i] == delim || i == str.length()) { + v.push_back(atof(tmp)); + memset(tmp, 0x0, sizeof(tmp)); + j = 0; + } else + tmp[j++] = str[i]; } + + return v; } - return; -} + string NeuralNet::XMLFromSet(int id, string set) { + string xml; + vector in, out; + unsigned int delimPos = -1; + char delim = ';'; + char tmp[1024]; -void NeuralNet::initXML (string& xml) { - xml.append("\n" - "\n" - "\n\n" - "\n" - ); -} + for (delimPos = 0; + delimPos < set.length() && set[delimPos] != delim; + delimPos++); -vector NeuralNet::split (char delim, string str) { - char tmp[1024]; - vector v; - memset (tmp, 0x0, sizeof(tmp)); + if (delimPos == set.length()) + return xml; - for (unsigned int i=0, j=0; i <= str.length(); i++) { - if (str[i] == delim || i == str.length()) { - v.push_back(atof(tmp)); - memset (tmp, 0x0, sizeof(tmp)); - j=0; - } else - tmp[j++] = str[i]; - } + string inStr = set.substr(0, delimPos); + string outStr = set.substr(delimPos + 1, set.length()); - return v; -} + in = split(',', inStr); + out = split(',', outStr); -string NeuralNet::XMLFromSet (int id, string set) { - string xml; - vector in, out; - unsigned int delimPos = -1; - char delim=';'; - char tmp[1024]; + snprintf(tmp, sizeof(tmp), "%d", id); + xml += "\t\n"; - for (delimPos=0; delimPos < set.length() && set[delimPos] != delim; delimPos++); + for (unsigned int i = 0; i < in.size(); i++) { + memset(tmp, 0x0, sizeof(tmp)); + snprintf(tmp, sizeof(tmp), "%d", i); + xml += "\t\t"; - if (delimPos == set.length()) + memset(tmp, 0x0, sizeof(tmp)); + snprintf(tmp, sizeof(tmp), "%f", in[i]); + xml += string(tmp) + "\n"; + } + + for (unsigned int i = 0; i < out.size(); i++) { + memset(tmp, 0x0, sizeof(tmp)); + snprintf(tmp, sizeof(tmp), "%d", i); + xml += "\t\t"; + + memset(tmp, 0x0, sizeof(tmp)); + snprintf(tmp, sizeof(tmp), "%f", out[i]); + xml += string(tmp) + "\n"; + } + + xml += "\t\n\n"; return xml; - - string inStr = set.substr(0,delimPos); - string outStr = set.substr(delimPos+1, set.length()); - - in = split(',', inStr); - out = split(',', outStr); - - snprintf (tmp, sizeof(tmp), "%d", id); - xml += "\t\n"; - - for (unsigned int i=0; i < in.size(); i++) { - memset (tmp, 0x0, sizeof(tmp)); - snprintf (tmp, sizeof(tmp), "%d", i); - xml += "\t\t"; - - memset (tmp, 0x0, sizeof(tmp)); - snprintf (tmp, sizeof(tmp), "%f", in[i]); - xml += string(tmp) + "\n"; } - for (unsigned int i=0; i < out.size(); i++) { - memset (tmp, 0x0, sizeof(tmp)); - snprintf (tmp, sizeof(tmp), "%d", i); - xml += "\t\t"; - - memset (tmp, 0x0, sizeof(tmp)); - snprintf (tmp, sizeof(tmp), "%f", out[i]); - xml += string(tmp) + "\n"; + void NeuralNet::closeXML(string & xml) { + xml.append("\n\n"); } - - xml += "\t\n\n"; - return xml; -} - -void NeuralNet::closeXML(string &xml) { - xml.append("\n\n"); -} } diff --git a/src/neuron.cpp b/src/neuron.cpp index 5e60184..563f7b0 100644 --- a/src/neuron.cpp +++ b/src/neuron.cpp @@ -13,47 +13,74 @@ #include "neural++.hpp" -namespace neuralpp { +namespace neuralpp { + Neuron::Neuron(double (*a) (double), double (*d) (double)) { + actv_f = a; + deriv = d; + } + + Neuron::Neuron(vector < Synapsis > i, vector < Synapsis > o, + double (*a) (double), double (*d) (double)) { -Neuron::Neuron (double (*a)(double), double (*d)(double)) { - actv_f=a; - deriv=d; -} - -Neuron::Neuron (vector< Synapsis > i, vector< Synapsis > o, double (*a)(double), double(*d)(double)) { - in=i; - out=o; - - actv_f=a; - deriv=d; -} - -Synapsis& Neuron::synIn (size_t i) { return in[i]; } - -Synapsis& Neuron::synOut (size_t i) { return out[i]; } - -void Neuron::push_in (Synapsis& s) { in.push_back(s); } - -void Neuron::push_out (Synapsis& s) { out.push_back(s); } - -void Neuron::setProp (double val) { prop_val=val; } - -void Neuron::setActv (double val) { actv_val=actv_f(val); } - -size_t Neuron::nIn() { return in.size(); } - -size_t Neuron::nOut() { return out.size(); } - -double Neuron::getProp() { return prop_val; } - -double Neuron::getActv() { return actv_val; } - -double Neuron::propagate() { - double aux=0; - - for (size_t i=0; iactv_val); - return aux; -} + in = i; + out = o; + + actv_f = a; + deriv = d; + } + + Synapsis & Neuron::synIn(size_t i) { + return in[i]; + } + + Synapsis & Neuron::synOut(size_t i) { + return out[i]; + } + + void Neuron::push_in(Synapsis & s) { + in.push_back(s); + } + + void Neuron::push_out(Synapsis & s) { + out.push_back(s); + } + + void Neuron::setProp(double val) { + prop_val = val; + } + + void Neuron::setActv(double val) { + actv_val = actv_f(val); + } + + size_t Neuron::nIn() { + return in.size(); + } + + size_t Neuron::nOut() { + return out.size(); + } + + double Neuron::getProp() { + return prop_val; + } + + double Neuron::getActv() { + return actv_val; + } + + double Neuron::propagate() { + double aux = 0; + + for (size_t i = 0; i < nIn(); i++) + aux += + (in[i].getWeight() * in[i].getIn()->actv_val); + return aux; + } + + void Neuron::synClear() { + in.clear(); + out.clear(); + } } diff --git a/src/synapsis.cpp b/src/synapsis.cpp index b85e5b7..dea48da 100644 --- a/src/synapsis.cpp +++ b/src/synapsis.cpp @@ -13,60 +13,76 @@ #include #include "neural++.hpp" -using namespace neuralpp; -namespace neuralpp { - -Synapsis::Synapsis(Neuron* i, Neuron* o, double w, double d) { - in=i; out=o; - weight=w; - delta=d; prev_delta=0; -} - -Synapsis::Synapsis (Neuron* i, Neuron* o, double(*a)(double), double(*d)(double)) { - srand((unsigned) time(NULL)); - - delta=0; - prev_delta=0; - weight=RAND; - in=i; - out=o; - - actv_f=a; - deriv=d; -} - -Synapsis::Synapsis (Neuron* i, Neuron* o, - double w, double(*a)(double), double(*d)(double)) { - delta=0; - prev_delta=0; - weight=w; - in=i; - out=o; +namespace neuralpp { + Synapsis::Synapsis(Neuron * i, Neuron * o, double w, double d) { + in = i; + out = o; + weight = w; + delta = d; + prev_delta = 0; + } - actv_f=a; - deriv=d; -} - -Neuron* Synapsis::getIn() { return in; } - -Neuron* Synapsis::getOut() { return out; } - -double Synapsis::getWeight() { return weight; } - -double Synapsis::getDelta() { return delta; } - -double Synapsis::getPrevDelta() { return prev_delta; } - -void Synapsis::setWeight(double w) { weight=w; } - -void Synapsis::setDelta(double d) { - prev_delta=delta; - delta=d; -} - -double Synapsis::momentum(int N, int x) { - return (BETA0*N)/(20*x + N); -} + Synapsis::Synapsis(Neuron * i, Neuron * o, double (*a) (double), + double (*d) (double)) { + + srand((unsigned) time(NULL)); + + delta = 0; + prev_delta = 0; + weight = RAND; + in = i; + out = o; + + actv_f = a; + deriv = d; + } + + Synapsis::Synapsis(Neuron * i, Neuron * o, + double w, double (*a) (double), + double (*d) (double)) { + + delta = 0; + prev_delta = 0; + weight = w; + in = i; + out = o; + + actv_f = a; + deriv = d; + } + + Neuron *Synapsis::getIn() { + return in; + } + + Neuron *Synapsis::getOut() { + return out; + } + + double Synapsis::getWeight() { + return weight; + } + + double Synapsis::getDelta() { + return delta; + } + + double Synapsis::getPrevDelta() { + return prev_delta; + } + + void Synapsis::setWeight(double w) { + weight = w; + } + + void Synapsis::setDelta(double d) { + prev_delta = delta; + delta = d; + } + + double Synapsis::momentum(int N, int x) { + return (BETA0 * N) / (20 * x + N); + } }