neuralpp/doc/html/Markup_8h-source.html

669 lines
153 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Neural++: Markup.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.6 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<h1>Markup.h</h1><a href="Markup_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Markup.h: interface for the CMarkup class.</span>
<a name="l00002"></a>00002 <span class="comment">//</span>
<a name="l00003"></a>00003 <span class="comment">// Markup Release 10.1</span>
<a name="l00004"></a>00004 <span class="comment">// Copyright (C) 2008 First Objective Software, Inc. All rights reserved</span>
<a name="l00005"></a>00005 <span class="comment">// Go to www.firstobject.com for the latest CMarkup and EDOM documentation</span>
<a name="l00006"></a>00006 <span class="comment">// Use in commercial applications requires written permission</span>
<a name="l00007"></a>00007 <span class="comment">// This software is provided "as is", with no warranty.</span>
<a name="l00008"></a>00008
<a name="l00009"></a>00009 <span class="preprocessor">#if !defined(_MARKUP_H_INCLUDED_)</span>
<a name="l00010"></a><a class="code" href="Markup_8h.html#964424c93c5bcf9f53d1bfb1f48dded8">00010</a> <span class="preprocessor"></span><span class="preprocessor">#define _MARKUP_H_INCLUDED_</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span>
<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;stdlib.h&gt;</span>
<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;string.h&gt;</span> <span class="comment">// memcpy, memset, strcmp...</span>
<a name="l00014"></a>00014
<a name="l00015"></a>00015 <span class="comment">// Major build options</span>
<a name="l00016"></a>00016 <span class="comment">// MARKUP_WCHAR wide char (2-byte UTF-16 on Windows, 4-byte UTF-32 on Linux and OS X)</span>
<a name="l00017"></a>00017 <span class="comment">// MARKUP_MBCS ANSI/double-byte strings on Windows</span>
<a name="l00018"></a>00018 <span class="comment">// MARKUP_STL (default except VC++) use STL strings instead of MFC strings</span>
<a name="l00019"></a>00019 <span class="comment">// MARKUP_SAFESTR to use string _s functions in VC++ 2005 (_MSC_VER &gt;= 1400)</span>
<a name="l00020"></a>00020 <span class="comment">// MARKUP_WINCONV (default for VC++) for Windows API character conversion</span>
<a name="l00021"></a>00021 <span class="comment">// MARKUP_ICONV (default for GNU) for character conversion on Linux and OS X and other platforms</span>
<a name="l00022"></a>00022 <span class="comment">// MARKUP_STDCONV to use neither WINCONV or ICONV, falls back to setlocale based conversion for ANSI</span>
<a name="l00023"></a>00023 <span class="comment">//</span>
<a name="l00024"></a>00024 <span class="preprocessor">#if _MSC_VER &gt; 1000 // VC++</span>
<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#pragma once</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#if ! defined(MARKUP_SAFESTR) // not VC++ safe strings</span>
<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#pragma warning(disable:4996) // VC++ 2005 deprecated function warnings</span>
<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#endif // not VC++ safe strings</span>
<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#if defined(MARKUP_STL) &amp;&amp; _MSC_VER &lt; 1400 // STL pre VC++ 2005</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#pragma warning(disable:4786) // std::string long names</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#endif // VC++ 2005 STL</span>
<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#else // not VC++</span>
<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="preprocessor">#if ! defined(MARKUP_STL)</span>
<a name="l00034"></a><a class="code" href="Markup_8h.html#068f185d8c3f5030193410463434700e">00034</a> <span class="preprocessor"></span><span class="preprocessor">#define MARKUP_STL</span>
<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor">#endif // not STL</span>
<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor">#if defined(__GNUC__) &amp;&amp; ! defined(MARKUP_ICONV) &amp;&amp; ! defined(MARKUP_STDCONV) &amp;&amp; ! defined(MARKUP_WINCONV)</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#define MARKUP_ICONV</span>
<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#endif // GNUC and not ICONV not STDCONV not WINCONV</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#endif // not VC++</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#if (defined(_UNICODE) || defined(UNICODE)) &amp;&amp; ! defined(MARKUP_WCHAR)</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="preprocessor">#define MARKUP_WCHAR</span>
<a name="l00042"></a>00042 <span class="preprocessor"></span><span class="preprocessor">#endif // _UNICODE or UNICODE</span>
<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="preprocessor">#if (defined(_MBCS) || defined(MBCS)) &amp;&amp; ! defined(MARKUP_MBCS)</span>
<a name="l00044"></a>00044 <span class="preprocessor"></span><span class="preprocessor">#define MARKUP_MBCS</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#endif // _MBCS and not MBCS</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#if ! defined(MARKUP_SIZEOFWCHAR)</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor">#if __SIZEOF_WCHAR_T__ == 4 || __WCHAR_MAX__ &gt; 0x10000</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#define MARKUP_SIZEOFWCHAR 4</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span><span class="preprocessor">#else // sizeof(wchar_t) != 4</span>
<a name="l00050"></a><a class="code" href="Markup_8h.html#56bf764d158432507ce70140a7a39796">00050</a> <span class="preprocessor"></span><span class="preprocessor">#define MARKUP_SIZEOFWCHAR 2</span>
<a name="l00051"></a>00051 <span class="preprocessor"></span><span class="preprocessor">#endif // sizeof(wchar_t) != 4</span>
<a name="l00052"></a>00052 <span class="preprocessor"></span><span class="preprocessor">#endif // not MARKUP_SIZEOFWCHAR</span>
<a name="l00053"></a>00053 <span class="preprocessor"></span><span class="preprocessor">#if ! defined(MARKUP_WINCONV) &amp;&amp; ! defined(MARKUP_STDCONV) &amp;&amp; ! defined(MARKUP_ICONV)</span>
<a name="l00054"></a><a class="code" href="Markup_8h.html#dbc6eaa1c00e7bd9a20a31e034dd2e81">00054</a> <span class="preprocessor"></span><span class="preprocessor">#define MARKUP_WINCONV</span>
<a name="l00055"></a>00055 <span class="preprocessor"></span><span class="preprocessor">#endif // not WINCONV not STDCONV not ICONV</span>
<a name="l00056"></a>00056 <span class="preprocessor"></span>
<a name="l00057"></a>00057 <span class="comment">// Text type and function defines (compiler and build-option dependent)</span>
<a name="l00058"></a>00058 <span class="comment">// </span>
<a name="l00059"></a><a class="code" href="Markup_8h.html#4b7b55ce45b2dc0166e17835c36d24ae">00059</a> <span class="preprocessor">#define MCD_ACP 0</span>
<a name="l00060"></a><a class="code" href="Markup_8h.html#ee5e990ae605088df779ccb343b44e66">00060</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_UTF8 65001</span>
<a name="l00061"></a><a class="code" href="Markup_8h.html#d9263b419662458249b697e27f9af6ee">00061</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_UTF16 1200</span>
<a name="l00062"></a><a class="code" href="Markup_8h.html#534d77c158c8f18fd0b5f238f8715a31">00062</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_UTF32 65005</span>
<a name="l00063"></a>00063 <span class="preprocessor"></span><span class="preprocessor">#if defined(MARKUP_WCHAR)</span>
<a name="l00064"></a>00064 <span class="preprocessor"></span><span class="preprocessor">#define MCD_CHAR wchar_t</span>
<a name="l00065"></a>00065 <span class="preprocessor"></span><span class="preprocessor">#define MCD_PCSZ const wchar_t*</span>
<a name="l00066"></a>00066 <span class="preprocessor"></span><span class="preprocessor">#define MCD_PSZLEN (int)wcslen</span>
<a name="l00067"></a>00067 <span class="preprocessor"></span><span class="preprocessor">#define MCD_PSZCHR wcschr</span>
<a name="l00068"></a>00068 <span class="preprocessor"></span><span class="preprocessor">#define MCD_PSZSTR wcsstr</span>
<a name="l00069"></a>00069 <span class="preprocessor"></span><span class="preprocessor">#define MCD_PSZTOL wcstol</span>
<a name="l00070"></a>00070 <span class="preprocessor"></span><span class="preprocessor">#define MCD_PSZNCMP wcsncmp</span>
<a name="l00071"></a>00071 <span class="preprocessor"></span><span class="preprocessor">#if defined(MARKUP_SAFESTR) // VC++ safe strings</span>
<a name="l00072"></a>00072 <span class="preprocessor"></span><span class="preprocessor">#define MCD_SSZ(sz) sz,(sizeof(sz)/sizeof(MCD_CHAR))</span>
<a name="l00073"></a>00073 <span class="preprocessor"></span><span class="preprocessor">#define MCD_PSZCPY(sz,p) wcscpy_s(MCD_SSZ(sz),p)</span>
<a name="l00074"></a>00074 <span class="preprocessor"></span><span class="preprocessor">#define MCD_PSZNCPY(sz,p,n) wcsncpy_s(MCD_SSZ(sz),p,n)</span>
<a name="l00075"></a>00075 <span class="preprocessor"></span><span class="preprocessor">#define MCD_PSZCAT(sz,p) wcscat_s(MCD_SSZ(sz),p)</span>
<a name="l00076"></a>00076 <span class="preprocessor"></span><span class="preprocessor">#define MCD_SPRINTF swprintf_s</span>
<a name="l00077"></a>00077 <span class="preprocessor"></span><span class="preprocessor">#define MCD_FOPEN(f,n,m) {if(_wfopen_s(&amp;f,n,m)!=0)f=NULL;}</span>
<a name="l00078"></a>00078 <span class="preprocessor"></span><span class="preprocessor">#else // not VC++ safe strings</span>
<a name="l00079"></a>00079 <span class="preprocessor"></span><span class="preprocessor">#if defined(__GNUC__)</span>
<a name="l00080"></a>00080 <span class="preprocessor"></span><span class="preprocessor">#define MCD_SSZ(sz) sz,(sizeof(sz)/sizeof(MCD_CHAR))</span>
<a name="l00081"></a>00081 <span class="preprocessor"></span><span class="preprocessor">#else // not GNUC</span>
<a name="l00082"></a>00082 <span class="preprocessor"></span><span class="preprocessor">#define MCD_SSZ(sz) sz</span>
<a name="l00083"></a>00083 <span class="preprocessor"></span><span class="preprocessor">#endif // not GNUC</span>
<a name="l00084"></a>00084 <span class="preprocessor"></span><span class="preprocessor">#define MCD_PSZCPY wcscpy</span>
<a name="l00085"></a>00085 <span class="preprocessor"></span><span class="preprocessor">#define MCD_PSZNCPY wcsncpy</span>
<a name="l00086"></a>00086 <span class="preprocessor"></span><span class="preprocessor">#define MCD_PSZCAT wcscat</span>
<a name="l00087"></a>00087 <span class="preprocessor"></span><span class="preprocessor">#define MCD_SPRINTF swprintf</span>
<a name="l00088"></a>00088 <span class="preprocessor"></span><span class="preprocessor">#define MCD_FOPEN(f,n,m) f=_wfopen(n,m)</span>
<a name="l00089"></a>00089 <span class="preprocessor"></span><span class="preprocessor">#endif // not VC++ safe strings</span>
<a name="l00090"></a>00090 <span class="preprocessor"></span><span class="preprocessor">#define MCD_T(s) L ## s</span>
<a name="l00091"></a>00091 <span class="preprocessor"></span><span class="preprocessor">#if MARKUP_SIZEOFWCHAR == 4 // sizeof(wchar_t) == 4</span>
<a name="l00092"></a>00092 <span class="preprocessor"></span><span class="preprocessor">#define MCD_ENC MCD_T("UTF-32")</span>
<a name="l00093"></a>00093 <span class="preprocessor"></span><span class="preprocessor">#else // sizeof(wchar_t) == 2</span>
<a name="l00094"></a>00094 <span class="preprocessor"></span><span class="preprocessor">#define MCD_ENC MCD_T("UTF-16")</span>
<a name="l00095"></a>00095 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00096"></a>00096 <span class="preprocessor"></span><span class="preprocessor">#define MCD_CLEN(p) 1</span>
<a name="l00097"></a>00097 <span class="preprocessor"></span><span class="preprocessor">#else // not MARKUP_WCHAR</span>
<a name="l00098"></a><a class="code" href="Markup_8h.html#12bf56fe481c397f8df59076c90c45a6">00098</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_CHAR char</span>
<a name="l00099"></a><a class="code" href="Markup_8h.html#edde484976c7ebb2e31d6be23e669128">00099</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_PCSZ const char*</span>
<a name="l00100"></a><a class="code" href="Markup_8h.html#f8601b14e21b7fe9a4b55953ddbb75c2">00100</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_PSZLEN (int)strlen</span>
<a name="l00101"></a><a class="code" href="Markup_8h.html#0b4f312ed85cdcdafc5ed8c88da98ce9">00101</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_PSZCHR strchr</span>
<a name="l00102"></a><a class="code" href="Markup_8h.html#d63af44417f9dcdb5ee845a08cbd19d2">00102</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_PSZSTR strstr</span>
<a name="l00103"></a><a class="code" href="Markup_8h.html#0f9f184175207bff11e204540c56b473">00103</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_PSZTOL strtol</span>
<a name="l00104"></a><a class="code" href="Markup_8h.html#4e2907b0d2098130db8cffd774afef88">00104</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_PSZNCMP strncmp</span>
<a name="l00105"></a>00105 <span class="preprocessor"></span><span class="preprocessor">#if defined(MARKUP_SAFESTR) // VC++ safe strings</span>
<a name="l00106"></a>00106 <span class="preprocessor"></span><span class="preprocessor">#define MCD_SSZ(sz) sz,(sizeof(sz)/sizeof(MCD_CHAR))</span>
<a name="l00107"></a>00107 <span class="preprocessor"></span><span class="preprocessor">#define MCD_PSZCPY(sz,p) strcpy_s(MCD_SSZ(sz),p)</span>
<a name="l00108"></a>00108 <span class="preprocessor"></span><span class="preprocessor">#define MCD_PSZNCPY(sz,p,n) strncpy_s(MCD_SSZ(sz),p,n)</span>
<a name="l00109"></a>00109 <span class="preprocessor"></span><span class="preprocessor">#define MCD_PSZCAT(sz,p) strcat_s(MCD_SSZ(sz),p)</span>
<a name="l00110"></a>00110 <span class="preprocessor"></span><span class="preprocessor">#define MCD_SPRINTF sprintf_s</span>
<a name="l00111"></a>00111 <span class="preprocessor"></span><span class="preprocessor">#define MCD_FOPEN(f,n,m) {if(fopen_s(&amp;f,n,m)!=0)f=NULL;}</span>
<a name="l00112"></a>00112 <span class="preprocessor"></span><span class="preprocessor">#else // not VC++ safe strings</span>
<a name="l00113"></a><a class="code" href="Markup_8h.html#c327a6af700343d0cced4ed2bf855460">00113</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_SSZ(sz) sz</span>
<a name="l00114"></a><a class="code" href="Markup_8h.html#ff4771eb9cee750223aa117b8cafdab6">00114</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_PSZCPY strcpy</span>
<a name="l00115"></a><a class="code" href="Markup_8h.html#6abfcd289e88bf2cd4a7e26abf231551">00115</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_PSZNCPY strncpy</span>
<a name="l00116"></a><a class="code" href="Markup_8h.html#1f111b6472a97a8308f47a42a5ca02c0">00116</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_PSZCAT strcat</span>
<a name="l00117"></a><a class="code" href="Markup_8h.html#fdebb4fe97791f466e9e52337e36e707">00117</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_SPRINTF sprintf</span>
<a name="l00118"></a><a class="code" href="Markup_8h.html#f539ef4d57b2dc09eae1ff35115d30b3">00118</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_FOPEN(f,n,m) f=fopen(n,m)</span>
<a name="l00119"></a>00119 <span class="preprocessor"></span><span class="preprocessor">#endif // not VC++ safe strings</span>
<a name="l00120"></a><a class="code" href="Markup_8h.html#3717b2fa88d73f5f346ec6efdfbe2032">00120</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_T(s) s</span>
<a name="l00121"></a>00121 <span class="preprocessor"></span><span class="preprocessor">#if defined(MARKUP_MBCS) // MBCS/double byte</span>
<a name="l00122"></a>00122 <span class="preprocessor"></span><span class="preprocessor">#define MCD_ENC MCD_T("")</span>
<a name="l00123"></a>00123 <span class="preprocessor"></span><span class="preprocessor">#if defined(MARKUP_WINCONV)</span>
<a name="l00124"></a>00124 <span class="preprocessor"></span><span class="preprocessor">#define MCD_CLEN(p) (int)_mbclen((const unsigned char*)p)</span>
<a name="l00125"></a>00125 <span class="preprocessor"></span><span class="preprocessor">#else // not WINCONV</span>
<a name="l00126"></a>00126 <span class="preprocessor"></span><span class="preprocessor">#define MCD_CLEN(p) (int)mblen(p,MB_CUR_MAX)</span>
<a name="l00127"></a>00127 <span class="preprocessor"></span><span class="preprocessor">#endif // not WINCONV</span>
<a name="l00128"></a>00128 <span class="preprocessor"></span><span class="preprocessor">#else // not MBCS/double byte</span>
<a name="l00129"></a><a class="code" href="Markup_8h.html#76b22bbde60fb0f34064d566e89c456a">00129</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_ENC MCD_T("UTF-8")</span>
<a name="l00130"></a><a class="code" href="Markup_8h.html#d56c92f847a54f85e183ebc96422db7b">00130</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_CLEN(p) 1</span>
<a name="l00131"></a>00131 <span class="preprocessor"></span><span class="preprocessor">#endif // not MBCS/double byte</span>
<a name="l00132"></a>00132 <span class="preprocessor"></span><span class="preprocessor">#endif // not MARKUP_WCHAR</span>
<a name="l00133"></a>00133 <span class="preprocessor"></span><span class="preprocessor">#if _MSC_VER &lt; 1000 // not VC++</span>
<a name="l00134"></a><a class="code" href="Markup_8h.html#1930dded538d6aeb11899a588cbe0694">00134</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_STRERROR strerror(errno)</span>
<a name="l00135"></a>00135 <span class="preprocessor"></span><span class="preprocessor">#endif // not VC++</span>
<a name="l00136"></a>00136 <span class="preprocessor"></span>
<a name="l00137"></a>00137 <span class="comment">// String type and function defines (compiler and build-option dependent)</span>
<a name="l00138"></a>00138 <span class="comment">// Define MARKUP_STL to use STL strings</span>
<a name="l00139"></a>00139 <span class="comment">//</span>
<a name="l00140"></a>00140 <span class="preprocessor">#if defined(MARKUP_STL) // STL</span>
<a name="l00141"></a>00141 <span class="preprocessor"></span><span class="preprocessor">#include &lt;string&gt;</span>
<a name="l00142"></a>00142 <span class="preprocessor">#if defined(MARKUP_WCHAR)</span>
<a name="l00143"></a>00143 <span class="preprocessor"></span><span class="preprocessor">#define MCD_STR std::wstring</span>
<a name="l00144"></a>00144 <span class="preprocessor"></span><span class="preprocessor">#else // not MARKUP_WCHAR</span>
<a name="l00145"></a><a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">00145</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_STR std::string</span>
<a name="l00146"></a>00146 <span class="preprocessor"></span><span class="preprocessor">#endif // not MARKUP_WCHAR</span>
<a name="l00147"></a><a class="code" href="Markup_8h.html#8308b5dc66582065497df0946227c24f">00147</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_2PCSZ(s) s.c_str()</span>
<a name="l00148"></a><a class="code" href="Markup_8h.html#0cf539be69b737a377b5ba5080febc17">00148</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_STRLENGTH(s) (int)s.size()</span>
<a name="l00149"></a><a class="code" href="Markup_8h.html#f26261378df965f267408dad0fc32731">00149</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_STRCLEAR(s) s.erase()</span>
<a name="l00150"></a><a class="code" href="Markup_8h.html#2790455cead9f63ecdd40f3a1391fdb4">00150</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_STRISEMPTY(s) s.empty()</span>
<a name="l00151"></a><a class="code" href="Markup_8h.html#9ac43f7dfd3f9b4a40fa2975a4289037">00151</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_STRMID(s,n,l) s.substr(n,l)</span>
<a name="l00152"></a><a class="code" href="Markup_8h.html#25a39e06935325797827ef910d1e9c33">00152</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_STRASSIGN(s,p,n) s.assign(p,n)</span>
<a name="l00153"></a><a class="code" href="Markup_8h.html#86a80a1134afea2893d7f10fe7a94656">00153</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_STRCAPACITY(s) (int)s.capacity()</span>
<a name="l00154"></a><a class="code" href="Markup_8h.html#e858b63711717ae98a1ef06b8c992c46">00154</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_STRINSERTREPLACE(d,i,r,s) d.replace(i,r,s)</span>
<a name="l00155"></a><a class="code" href="Markup_8h.html#8bec93c42fdcd4f51326f897d2185aa8">00155</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_GETBUFFER(s,n) new MCD_CHAR[n+1]; s.reserve(n)</span>
<a name="l00156"></a><a class="code" href="Markup_8h.html#c7aebf04b6e902c953c2422b65cde140">00156</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_RELEASEBUFFER(s,p,n) s.assign(p,n); delete[]p</span>
<a name="l00157"></a><a class="code" href="Markup_8h.html#3db4aba7b130d4d0ca7eece1314464e8">00157</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_BLDRESERVE(s,n) s.reserve(n)</span>
<a name="l00158"></a><a class="code" href="Markup_8h.html#462dda37bd35bcc7de74c6f137678994">00158</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_BLDCHECK(s,n,d) ;</span>
<a name="l00159"></a><a class="code" href="Markup_8h.html#9ed9b064f852a4ad5a9727b72f09c761">00159</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_BLDRELEASE(s) ;</span>
<a name="l00160"></a><a class="code" href="Markup_8h.html#3fa052a44a1028c32ec80a98e2dc2ee2">00160</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_BLDAPPENDN(s,p,n) s.append(p,n)</span>
<a name="l00161"></a><a class="code" href="Markup_8h.html#1b5b2dbff24ec07b7f947a92c79374db">00161</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_BLDAPPEND(s,p) s.append(p)</span>
<a name="l00162"></a><a class="code" href="Markup_8h.html#66fdcace6236f2f212b819bbb607eb00">00162</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_BLDAPPEND1(s,c) s+=(MCD_CHAR)(c)</span>
<a name="l00163"></a>00163 <span class="preprocessor"></span><span class="preprocessor">#else // not STL, i.e. MFC</span>
<a name="l00164"></a>00164 <span class="preprocessor"></span><span class="preprocessor">#include &lt;afx.h&gt;</span>
<a name="l00165"></a>00165 <span class="preprocessor">#define MCD_STR CString</span>
<a name="l00166"></a>00166 <span class="preprocessor"></span><span class="preprocessor">#define MCD_2PCSZ(s) ((MCD_PCSZ)s)</span>
<a name="l00167"></a>00167 <span class="preprocessor"></span><span class="preprocessor">#define MCD_STRLENGTH(s) s.GetLength()</span>
<a name="l00168"></a>00168 <span class="preprocessor"></span><span class="preprocessor">#define MCD_STRCLEAR(s) s.Empty()</span>
<a name="l00169"></a>00169 <span class="preprocessor"></span><span class="preprocessor">#define MCD_STRISEMPTY(s) s.IsEmpty()</span>
<a name="l00170"></a>00170 <span class="preprocessor"></span><span class="preprocessor">#define MCD_STRMID(s,n,l) s.Mid(n,l)</span>
<a name="l00171"></a>00171 <span class="preprocessor"></span><span class="preprocessor">#define MCD_STRASSIGN(s,p,n) memcpy(s.GetBuffer(n),p,(n)*sizeof(MCD_CHAR));s.ReleaseBuffer(n);</span>
<a name="l00172"></a>00172 <span class="preprocessor"></span><span class="preprocessor">#define MCD_STRCAPACITY(s) (((CStringData*)((MCD_PCSZ)s)-1)-&gt;nAllocLength)</span>
<a name="l00173"></a>00173 <span class="preprocessor"></span><span class="preprocessor">#define MCD_GETBUFFER(s,n) s.GetBuffer(n)</span>
<a name="l00174"></a>00174 <span class="preprocessor"></span><span class="preprocessor">#define MCD_RELEASEBUFFER(s,p,n) s.ReleaseBuffer(n)</span>
<a name="l00175"></a>00175 <span class="preprocessor"></span><span class="preprocessor">#define MCD_BLDRESERVE(s,n) MCD_CHAR*pD=s.GetBuffer(n); int nL=0</span>
<a name="l00176"></a>00176 <span class="preprocessor"></span><span class="preprocessor">#define MCD_BLDCHECK(s,n,d) if(nL+(int)(d)&gt;n){s.ReleaseBuffer(nL);n&lt;&lt;=2;pD=s.GetBuffer(n);}</span>
<a name="l00177"></a>00177 <span class="preprocessor"></span><span class="preprocessor">#define MCD_BLDRELEASE(s) s.ReleaseBuffer(nL)</span>
<a name="l00178"></a>00178 <span class="preprocessor"></span><span class="preprocessor">#define MCD_BLDAPPENDN(s,p,n) MCD_PSZNCPY(&amp;pD[nL],p,n);nL+=n</span>
<a name="l00179"></a>00179 <span class="preprocessor"></span><span class="preprocessor">#define MCD_BLDAPPEND(s,p) MCD_PSZCPY(&amp;pD[nL],p);nL+=MCD_PSZLEN(p)</span>
<a name="l00180"></a>00180 <span class="preprocessor"></span><span class="preprocessor">#define MCD_BLDAPPEND1(s,c) pD[nL++]=(MCD_CHAR)(c)</span>
<a name="l00181"></a>00181 <span class="preprocessor"></span><span class="preprocessor">#endif // not STL</span>
<a name="l00182"></a><a class="code" href="Markup_8h.html#d943bd4174ba98a10524bc437d0c0d50">00182</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_STRTOINT(s) MCD_PSZTOL(MCD_2PCSZ(s),NULL,10)</span>
<a name="l00183"></a>00183 <span class="preprocessor"></span>
<a name="l00184"></a>00184 <span class="comment">// Allow function args to accept string objects as constant string pointers</span>
<a name="l00185"></a><a class="code" href="structMCD__CSTR.html">00185</a> <span class="keyword">struct </span><a class="code" href="structMCD__CSTR.html">MCD_CSTR</a>
<a name="l00186"></a>00186 {
<a name="l00187"></a><a class="code" href="structMCD__CSTR.html#527942329419b01535431646e136eaa1">00187</a> <a class="code" href="structMCD__CSTR.html#527942329419b01535431646e136eaa1">MCD_CSTR</a>() { <a class="code" href="structMCD__CSTR.html#98868bd66f13bc4be31eab000d45335e">pcsz</a>=NULL; };
<a name="l00188"></a><a class="code" href="structMCD__CSTR.html#f0cb7482427cfab856ee18c8ac50e5fa">00188</a> <a class="code" href="structMCD__CSTR.html#527942329419b01535431646e136eaa1">MCD_CSTR</a>( <a class="code" href="Markup_8h.html#edde484976c7ebb2e31d6be23e669128">MCD_PCSZ</a> p ) { <a class="code" href="structMCD__CSTR.html#98868bd66f13bc4be31eab000d45335e">pcsz</a>=p; };
<a name="l00189"></a><a class="code" href="structMCD__CSTR.html#dc766d196d878fa2eccad9843463508b">00189</a> <a class="code" href="structMCD__CSTR.html#527942329419b01535431646e136eaa1">MCD_CSTR</a>( <span class="keyword">const</span> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a>&amp; s ) { <a class="code" href="structMCD__CSTR.html#98868bd66f13bc4be31eab000d45335e">pcsz</a> = <a class="code" href="Markup_8h.html#8308b5dc66582065497df0946227c24f">MCD_2PCSZ</a>(s); };
<a name="l00190"></a><a class="code" href="structMCD__CSTR.html#98868bd66f13bc4be31eab000d45335e">00190</a> <a class="code" href="structMCD__CSTR.html#69c3b0c4b7d049b0eaadcc5822f647ac">operator MCD_PCSZ</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="structMCD__CSTR.html#98868bd66f13bc4be31eab000d45335e">pcsz</a>; };
<a name="l00191"></a>00191 <a class="code" href="Markup_8h.html#edde484976c7ebb2e31d6be23e669128">MCD_PCSZ</a> <a class="code" href="structMCD__CSTR.html#98868bd66f13bc4be31eab000d45335e">pcsz</a>;
<a name="l00192"></a>00192 };
<a name="l00193"></a>00193
<a name="l00194"></a>00194 <span class="comment">// On Linux and OS X, filenames are not specified in wchar_t</span>
<a name="l00195"></a>00195 <span class="preprocessor">#if defined(MARKUP_WCHAR) &amp;&amp; defined(__GNUC__)</span>
<a name="l00196"></a>00196 <span class="preprocessor"></span><span class="preprocessor">#undef MCD_FOPEN</span>
<a name="l00197"></a>00197 <span class="preprocessor"></span><span class="preprocessor">#define MCD_FOPEN(f,n,m) f=fopen(n,m)</span>
<a name="l00198"></a>00198 <span class="preprocessor"></span><span class="preprocessor">#define MCD_T_FILENAME(s) s</span>
<a name="l00199"></a>00199 <span class="preprocessor"></span><span class="preprocessor">#define MCD_PCSZ_FILENAME const char*</span>
<a name="l00200"></a>00200 <span class="preprocessor"></span><span class="keyword">struct </span><a class="code" href="Markup_8h.html#b7f2fa74461b566c44371deb46c73de2">MCD_CSTR_FILENAME</a>
<a name="l00201"></a>00201 {
<a name="l00202"></a>00202 <a class="code" href="Markup_8h.html#b7f2fa74461b566c44371deb46c73de2">MCD_CSTR_FILENAME</a>() { pcsz=NULL; };
<a name="l00203"></a>00203 <a class="code" href="Markup_8h.html#b7f2fa74461b566c44371deb46c73de2">MCD_CSTR_FILENAME</a>( <a class="code" href="Markup_8h.html#7dbef2772d51e540f1dfc521c1fa5866">MCD_PCSZ_FILENAME</a> p ) { pcsz=p; };
<a name="l00204"></a>00204 <a class="code" href="Markup_8h.html#b7f2fa74461b566c44371deb46c73de2">MCD_CSTR_FILENAME</a>( <span class="keyword">const</span> std::string&amp; s ) { pcsz = s.c_str(); };
<a name="l00205"></a>00205 operator MCD_PCSZ_FILENAME()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> pcsz; };
<a name="l00206"></a>00206 <a class="code" href="Markup_8h.html#7dbef2772d51e540f1dfc521c1fa5866">MCD_PCSZ_FILENAME</a> pcsz;
<a name="l00207"></a>00207 };
<a name="l00208"></a>00208 <span class="preprocessor">#else</span>
<a name="l00209"></a><a class="code" href="Markup_8h.html#b7f2fa74461b566c44371deb46c73de2">00209</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_CSTR_FILENAME MCD_CSTR</span>
<a name="l00210"></a><a class="code" href="Markup_8h.html#c5dd80c2be80f6331999ca42ba047aca">00210</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_T_FILENAME MCD_T</span>
<a name="l00211"></a><a class="code" href="Markup_8h.html#7dbef2772d51e540f1dfc521c1fa5866">00211</a> <span class="preprocessor"></span><span class="preprocessor">#define MCD_PCSZ_FILENAME MCD_PCSZ</span>
<a name="l00212"></a>00212 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00213"></a>00213 <span class="preprocessor"></span>
<a name="l00214"></a>00214 <span class="preprocessor">#if defined(_DEBUG) // DEBUG </span>
<a name="l00215"></a>00215 <span class="preprocessor"></span><span class="preprocessor">#define _DS(i) (i?&amp;(MCD_2PCSZ(m_strDoc))[m_aPos[i].nStart]:0)</span>
<a name="l00216"></a>00216 <span class="preprocessor"></span><span class="preprocessor">#define MARKUP_SETDEBUGSTATE m_pMainDS=_DS(m_iPos); m_pChildDS=_DS(m_iPosChild)</span>
<a name="l00217"></a>00217 <span class="preprocessor"></span><span class="preprocessor">#else // not DEBUG</span>
<a name="l00218"></a><a class="code" href="Markup_8h.html#eb217cbc320c044ab434a9765f3c43da">00218</a> <span class="preprocessor"></span><span class="preprocessor">#define MARKUP_SETDEBUGSTATE</span>
<a name="l00219"></a>00219 <span class="preprocessor"></span><span class="preprocessor">#endif // not DEBUG</span>
<a name="l00220"></a>00220 <span class="preprocessor"></span>
<a name="l00221"></a><a class="code" href="classCMarkup.html">00221</a> <span class="keyword">class </span><a class="code" href="classCMarkup.html">CMarkup</a>
<a name="l00222"></a>00222 {
<a name="l00223"></a>00223 <span class="keyword">public</span>:
<a name="l00224"></a><a class="code" href="classCMarkup.html#ef1594806cb878a276025d452c919a29">00224</a> <a class="code" href="classCMarkup.html#ef1594806cb878a276025d452c919a29">CMarkup</a>() { <a class="code" href="classCMarkup.html#3f7b4f882a3ba216fdaf21b59778869d">SetDoc</a>( NULL ); <a class="code" href="classCMarkup.html#6ce98f8685f47a0d5457ade12a9b500f">InitDocFlags</a>(); };
<a name="l00225"></a><a class="code" href="classCMarkup.html#186b921d6af5fde01449e5365eef095c">00225</a> <a class="code" href="classCMarkup.html#ef1594806cb878a276025d452c919a29">CMarkup</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szDoc ) { <a class="code" href="classCMarkup.html#3f7b4f882a3ba216fdaf21b59778869d">SetDoc</a>( szDoc ); <a class="code" href="classCMarkup.html#6ce98f8685f47a0d5457ade12a9b500f">InitDocFlags</a>(); };
<a name="l00226"></a><a class="code" href="classCMarkup.html#9f3fdb3c94ce931f34e96bc387bfb199">00226</a> <a class="code" href="classCMarkup.html#ef1594806cb878a276025d452c919a29">CMarkup</a>( <span class="keywordtype">int</span> nFlags ) { <a class="code" href="classCMarkup.html#3f7b4f882a3ba216fdaf21b59778869d">SetDoc</a>( NULL ); <a class="code" href="classCMarkup.html#8afd7a85e8329a72bc58f9aa97626d74">m_nDocFlags</a> = nFlags; };
<a name="l00227"></a><a class="code" href="classCMarkup.html#e4dc90b99846d35849bc323064fbafcf">00227</a> <a class="code" href="classCMarkup.html#ef1594806cb878a276025d452c919a29">CMarkup</a>( <span class="keyword">const</span> <a class="code" href="classCMarkup.html">CMarkup</a>&amp; markup ) { *<span class="keyword">this</span> = markup; };
<a name="l00228"></a>00228 <span class="keywordtype">void</span> <a class="code" href="classCMarkup.html#3feb577bf5483591ac318ecf19cc6577">operator=</a>( <span class="keyword">const</span> <a class="code" href="classCMarkup.html">CMarkup</a>&amp; markup );
<a name="l00229"></a><a class="code" href="classCMarkup.html#8aa2cd9b38b3e173d2149914c59eb2b7">00229</a> <a class="code" href="classCMarkup.html#8aa2cd9b38b3e173d2149914c59eb2b7">~CMarkup</a>() {};
<a name="l00230"></a>00230
<a name="l00231"></a>00231 <span class="comment">// Navigate</span>
<a name="l00232"></a>00232 <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#c7604e24564eac2dce702f7fbaf430a6">Load</a>( <a class="code" href="Markup_8h.html#b7f2fa74461b566c44371deb46c73de2">MCD_CSTR_FILENAME</a> szFileName );
<a name="l00233"></a>00233 <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#3f7b4f882a3ba216fdaf21b59778869d">SetDoc</a>( <a class="code" href="Markup_8h.html#edde484976c7ebb2e31d6be23e669128">MCD_PCSZ</a> pDoc );
<a name="l00234"></a>00234 <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#3f7b4f882a3ba216fdaf21b59778869d">SetDoc</a>( <span class="keyword">const</span> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a>&amp; strDoc );
<a name="l00235"></a>00235 <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#f3a54e13b8565c2789c2c80aa2c9a563">IsWellFormed</a>();
<a name="l00236"></a>00236 <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#dc3e9cb6eb579afdf10bef7e91da746a">FindElem</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szName=NULL );
<a name="l00237"></a>00237 <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#8a882f72c9b206ed833c45ca9376e3d8">FindChildElem</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szName=NULL );
<a name="l00238"></a>00238 <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#e6136fa65e4f1927fe763d011d3eb9a3">IntoElem</a>();
<a name="l00239"></a>00239 <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#012bca9ceaf157033a5697fa6ea92e45">OutOfElem</a>();
<a name="l00240"></a><a class="code" href="classCMarkup.html#b7c6cb57c9cca484ed7b1d741c5d37ee">00240</a> <span class="keywordtype">void</span> <a class="code" href="classCMarkup.html#b7c6cb57c9cca484ed7b1d741c5d37ee">ResetChildPos</a>() { <a class="code" href="classCMarkup.html#b64a1aaeaef4deab466af63b9bb82924">x_SetPos</a>(<a class="code" href="classCMarkup.html#f4be33a1bc8a5b2b5ca34ee59b11d702">m_iPosParent</a>,<a class="code" href="classCMarkup.html#1192dbba85b74f3346dfd042ed7f0b59">m_iPos</a>,0); };
<a name="l00241"></a><a class="code" href="classCMarkup.html#17a436dfc77e82619ad186e784a26ce7">00241</a> <span class="keywordtype">void</span> <a class="code" href="classCMarkup.html#17a436dfc77e82619ad186e784a26ce7">ResetMainPos</a>() { <a class="code" href="classCMarkup.html#b64a1aaeaef4deab466af63b9bb82924">x_SetPos</a>(<a class="code" href="classCMarkup.html#f4be33a1bc8a5b2b5ca34ee59b11d702">m_iPosParent</a>,0,0); };
<a name="l00242"></a><a class="code" href="classCMarkup.html#834ff734949071455e5808aaf7c82f03">00242</a> <span class="keywordtype">void</span> <a class="code" href="classCMarkup.html#834ff734949071455e5808aaf7c82f03">ResetPos</a>() { <a class="code" href="classCMarkup.html#b64a1aaeaef4deab466af63b9bb82924">x_SetPos</a>(0,0,0); };
<a name="l00243"></a>00243 <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="classCMarkup.html#0fcd179bb0ba35d6a262d571c1ef1004">GetTagName</a>() <span class="keyword">const</span>;
<a name="l00244"></a><a class="code" href="classCMarkup.html#2409a176f7a964dc6e0bf73f5ba47863">00244</a> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="classCMarkup.html#2409a176f7a964dc6e0bf73f5ba47863">GetChildTagName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#10cf51b58f6c144f4b7dd1c577277bee">x_GetTagName</a>(<a class="code" href="classCMarkup.html#b9070540ecb1b4da5c30a680718cf73a">m_iPosChild</a>); };
<a name="l00245"></a><a class="code" href="classCMarkup.html#1a671b10223425ac4fc600c96366b0d2">00245</a> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="classCMarkup.html#1a671b10223425ac4fc600c96366b0d2">GetData</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#3ce9132cb71e0b343141a7ba3102cea6">x_GetData</a>(<a class="code" href="classCMarkup.html#1192dbba85b74f3346dfd042ed7f0b59">m_iPos</a>); };
<a name="l00246"></a><a class="code" href="classCMarkup.html#7b66931cdfa9bf4423aaeb1cb37fa6f5">00246</a> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="classCMarkup.html#7b66931cdfa9bf4423aaeb1cb37fa6f5">GetChildData</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#3ce9132cb71e0b343141a7ba3102cea6">x_GetData</a>(<a class="code" href="classCMarkup.html#b9070540ecb1b4da5c30a680718cf73a">m_iPosChild</a>); };
<a name="l00247"></a><a class="code" href="classCMarkup.html#9dfbb66afa75291b5ed19b51e0f6357b">00247</a> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="classCMarkup.html#9dfbb66afa75291b5ed19b51e0f6357b">GetElemContent</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#24cdcb05636e244edf60450b3578f986">x_GetElemContent</a>(<a class="code" href="classCMarkup.html#1192dbba85b74f3346dfd042ed7f0b59">m_iPos</a>); };
<a name="l00248"></a><a class="code" href="classCMarkup.html#de52b4aa36263acc26c8d4f75e8941eb">00248</a> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="classCMarkup.html#de52b4aa36263acc26c8d4f75e8941eb">GetAttrib</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szAttrib )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#e92d1478dd44c06bd366b5f26f8a5fe2">x_GetAttrib</a>(<a class="code" href="classCMarkup.html#1192dbba85b74f3346dfd042ed7f0b59">m_iPos</a>,szAttrib); };
<a name="l00249"></a><a class="code" href="classCMarkup.html#d617eafd272e9c1b18bcc6c9128815fd">00249</a> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="classCMarkup.html#d617eafd272e9c1b18bcc6c9128815fd">GetChildAttrib</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szAttrib )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#e92d1478dd44c06bd366b5f26f8a5fe2">x_GetAttrib</a>(<a class="code" href="classCMarkup.html#b9070540ecb1b4da5c30a680718cf73a">m_iPosChild</a>,szAttrib); };
<a name="l00250"></a>00250 <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="classCMarkup.html#737ea06600da95647a09bd2375e2baa3">GetAttribName</a>( <span class="keywordtype">int</span> n ) <span class="keyword">const</span>;
<a name="l00251"></a>00251 <span class="keywordtype">int</span> <a class="code" href="classCMarkup.html#e29573627f9b0cdc0d7152ff749ba407">FindNode</a>( <span class="keywordtype">int</span> nType=0 );
<a name="l00252"></a><a class="code" href="classCMarkup.html#86a5f997b734d560b3b21c8ef89d3a57">00252</a> <span class="keywordtype">int</span> <a class="code" href="classCMarkup.html#86a5f997b734d560b3b21c8ef89d3a57">GetNodeType</a>() { <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#eab284b217377eb56252a35094872499">m_nNodeType</a>; };
<a name="l00253"></a>00253 <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#21279989fdcfbed6ed4d8824b9614eb0">SavePos</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szPosName=<a class="code" href="Markup_8h.html#3717b2fa88d73f5f346ec6efdfbe2032">MCD_T</a>(<span class="stringliteral">""</span>), <span class="keywordtype">int</span> nMap = 0 );
<a name="l00254"></a>00254 <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#dbab6d52d320eac695850f0b47e5b5ce">RestorePos</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szPosName=<a class="code" href="Markup_8h.html#3717b2fa88d73f5f346ec6efdfbe2032">MCD_T</a>(<span class="stringliteral">""</span>), <span class="keywordtype">int</span> nMap = 0 );
<a name="l00255"></a>00255 <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#834d5e280500d0f62cd6fdb53b834ebb">SetMapSize</a>( <span class="keywordtype">int</span> nSize, <span class="keywordtype">int</span> nMap = 0 );
<a name="l00256"></a><a class="code" href="classCMarkup.html#15f1042ff13167216b741f360e88f649">00256</a> <span class="keyword">const</span> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a>&amp; <a class="code" href="classCMarkup.html#15f1042ff13167216b741f360e88f649">GetError</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#8b30e55981f924a867972eceab142163">m_strError</a>; };
<a name="l00257"></a><a class="code" href="classCMarkup.html#455d13d62ba9f2fd3ce6ad3802376c1c">00257</a> <span class="keywordtype">int</span> <a class="code" href="classCMarkup.html#455d13d62ba9f2fd3ce6ad3802376c1c">GetDocFlags</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#8afd7a85e8329a72bc58f9aa97626d74">m_nDocFlags</a>; };
<a name="l00258"></a><a class="code" href="classCMarkup.html#3cf48b937254c4cd36e0c9cc7b76cff1">00258</a> <span class="keywordtype">void</span> <a class="code" href="classCMarkup.html#3cf48b937254c4cd36e0c9cc7b76cff1">SetDocFlags</a>( <span class="keywordtype">int</span> nFlags ) { <a class="code" href="classCMarkup.html#8afd7a85e8329a72bc58f9aa97626d74">m_nDocFlags</a> = nFlags; };
<a name="l00259"></a><a class="code" href="classCMarkup.html#c7127c7bea2c8b0be6c828b607e8554b">00259</a> <span class="keyword">enum</span> <a class="code" href="classCMarkup.html#c7127c7bea2c8b0be6c828b607e8554b">MarkupDocFlags</a>
<a name="l00260"></a>00260 {
<a name="l00261"></a><a class="code" href="classCMarkup.html#c7127c7bea2c8b0be6c828b607e8554befcb2d72b1d16be29fa3321fdb90be5a">00261</a> <a class="code" href="classCMarkup.html#c7127c7bea2c8b0be6c828b607e8554befcb2d72b1d16be29fa3321fdb90be5a">MDF_UTF16LEFILE</a> = 1,
<a name="l00262"></a><a class="code" href="classCMarkup.html#c7127c7bea2c8b0be6c828b607e8554bafe9691400e459b31c79b838e9e1d9fc">00262</a> <a class="code" href="classCMarkup.html#c7127c7bea2c8b0be6c828b607e8554bafe9691400e459b31c79b838e9e1d9fc">MDF_UTF8PREAMBLE</a> = 4,
<a name="l00263"></a><a class="code" href="classCMarkup.html#c7127c7bea2c8b0be6c828b607e8554b725e9783bc1deedb0c3b98e82a5707c1">00263</a> <a class="code" href="classCMarkup.html#c7127c7bea2c8b0be6c828b607e8554b725e9783bc1deedb0c3b98e82a5707c1">MDF_IGNORECASE</a> = 8,
<a name="l00264"></a><a class="code" href="classCMarkup.html#c7127c7bea2c8b0be6c828b607e8554bd1a77f583c5d922529404846bd56c59e">00264</a> <a class="code" href="classCMarkup.html#c7127c7bea2c8b0be6c828b607e8554bd1a77f583c5d922529404846bd56c59e">MDF_READFILE</a> = 16,
<a name="l00265"></a><a class="code" href="classCMarkup.html#c7127c7bea2c8b0be6c828b607e8554ba765e050fcd8758d58b4b0573474a706">00265</a> <a class="code" href="classCMarkup.html#c7127c7bea2c8b0be6c828b607e8554ba765e050fcd8758d58b4b0573474a706">MDF_WRITEFILE</a> = 32,
<a name="l00266"></a><a class="code" href="classCMarkup.html#c7127c7bea2c8b0be6c828b607e8554b44c9a6ce28bbb94646f77579b7638b28">00266</a> <a class="code" href="classCMarkup.html#c7127c7bea2c8b0be6c828b607e8554b44c9a6ce28bbb94646f77579b7638b28">MDF_APPENDFILE</a> = 64,
<a name="l00267"></a><a class="code" href="classCMarkup.html#c7127c7bea2c8b0be6c828b607e8554b88c047641c1ec7fa6211443d45746a3b">00267</a> <a class="code" href="classCMarkup.html#c7127c7bea2c8b0be6c828b607e8554b88c047641c1ec7fa6211443d45746a3b">MDF_UTF16BEFILE</a> = 128
<a name="l00268"></a>00268 };
<a name="l00269"></a><a class="code" href="classCMarkup.html#2430b70622042675770921f21ee85de9">00269</a> <span class="keyword">enum</span> <a class="code" href="classCMarkup.html#2430b70622042675770921f21ee85de9">MarkupNodeFlags</a>
<a name="l00270"></a>00270 {
<a name="l00271"></a><a class="code" href="classCMarkup.html#2430b70622042675770921f21ee85de973723ee5750bd9abeb43360103219d3f">00271</a> <a class="code" href="classCMarkup.html#2430b70622042675770921f21ee85de973723ee5750bd9abeb43360103219d3f">MNF_WITHCDATA</a> = 0x01,
<a name="l00272"></a><a class="code" href="classCMarkup.html#2430b70622042675770921f21ee85de9f0e3644e886a52e470a374f4c5f0043b">00272</a> <a class="code" href="classCMarkup.html#2430b70622042675770921f21ee85de9f0e3644e886a52e470a374f4c5f0043b">MNF_WITHNOLINES</a> = 0x02,
<a name="l00273"></a><a class="code" href="classCMarkup.html#2430b70622042675770921f21ee85de960223e72ec909eb1fd56ac1f0f75f6fd">00273</a> <a class="code" href="classCMarkup.html#2430b70622042675770921f21ee85de960223e72ec909eb1fd56ac1f0f75f6fd">MNF_WITHXHTMLSPACE</a> = 0x04,
<a name="l00274"></a><a class="code" href="classCMarkup.html#2430b70622042675770921f21ee85de9145d3689a42969290c7181f6c2f619f4">00274</a> <a class="code" href="classCMarkup.html#2430b70622042675770921f21ee85de9145d3689a42969290c7181f6c2f619f4">MNF_WITHREFS</a> = 0x08,
<a name="l00275"></a><a class="code" href="classCMarkup.html#2430b70622042675770921f21ee85de91628c1dfcdd804a46f573847b209edf0">00275</a> <a class="code" href="classCMarkup.html#2430b70622042675770921f21ee85de91628c1dfcdd804a46f573847b209edf0">MNF_WITHNOEND</a> = 0x10,
<a name="l00276"></a><a class="code" href="classCMarkup.html#2430b70622042675770921f21ee85de9cdc9a302a8d019abf548f423c8f4f8cd">00276</a> <a class="code" href="classCMarkup.html#2430b70622042675770921f21ee85de9cdc9a302a8d019abf548f423c8f4f8cd">MNF_ESCAPEQUOTES</a> = 0x100,
<a name="l00277"></a><a class="code" href="classCMarkup.html#2430b70622042675770921f21ee85de9dcbd22a2e5f43554eca309bbb5afe4fe">00277</a> <a class="code" href="classCMarkup.html#2430b70622042675770921f21ee85de9dcbd22a2e5f43554eca309bbb5afe4fe">MNF_NONENDED</a> = 0x100000,
<a name="l00278"></a><a class="code" href="classCMarkup.html#2430b70622042675770921f21ee85de9d613025f3363f3c24d0f2ad9148c3c19">00278</a> <a class="code" href="classCMarkup.html#2430b70622042675770921f21ee85de9d613025f3363f3c24d0f2ad9148c3c19">MNF_ILLDATA</a> = 0x200000
<a name="l00279"></a>00279 };
<a name="l00280"></a><a class="code" href="classCMarkup.html#a7f0377cbea81f5b932347af5fafab68">00280</a> <span class="keyword">enum</span> <a class="code" href="classCMarkup.html#a7f0377cbea81f5b932347af5fafab68">MarkupNodeType</a>
<a name="l00281"></a>00281 {
<a name="l00282"></a><a class="code" href="classCMarkup.html#a7f0377cbea81f5b932347af5fafab689b3fc0d8f9bd45a9c917a064fef42f5d">00282</a> <a class="code" href="classCMarkup.html#a7f0377cbea81f5b932347af5fafab689b3fc0d8f9bd45a9c917a064fef42f5d">MNT_ELEMENT</a> = 1, <span class="comment">// 0x01</span>
<a name="l00283"></a><a class="code" href="classCMarkup.html#a7f0377cbea81f5b932347af5fafab68dc0e43574b4e3717aa3736013c24a64c">00283</a> <a class="code" href="classCMarkup.html#a7f0377cbea81f5b932347af5fafab68dc0e43574b4e3717aa3736013c24a64c">MNT_TEXT</a> = 2, <span class="comment">// 0x02</span>
<a name="l00284"></a><a class="code" href="classCMarkup.html#a7f0377cbea81f5b932347af5fafab68840c4d18280cdc454e51b86168ed8c11">00284</a> <a class="code" href="classCMarkup.html#a7f0377cbea81f5b932347af5fafab68840c4d18280cdc454e51b86168ed8c11">MNT_WHITESPACE</a> = 4, <span class="comment">// 0x04</span>
<a name="l00285"></a><a class="code" href="classCMarkup.html#a7f0377cbea81f5b932347af5fafab68e021e850432d978fc0c4a8e0d5cbe087">00285</a> <a class="code" href="classCMarkup.html#a7f0377cbea81f5b932347af5fafab68e021e850432d978fc0c4a8e0d5cbe087">MNT_CDATA_SECTION</a> = 8, <span class="comment">// 0x08</span>
<a name="l00286"></a><a class="code" href="classCMarkup.html#a7f0377cbea81f5b932347af5fafab68e9849c7b999daccf0cfcf9ec1b8301df">00286</a> <a class="code" href="classCMarkup.html#a7f0377cbea81f5b932347af5fafab68e9849c7b999daccf0cfcf9ec1b8301df">MNT_PROCESSING_INSTRUCTION</a> = 16, <span class="comment">// 0x10</span>
<a name="l00287"></a><a class="code" href="classCMarkup.html#a7f0377cbea81f5b932347af5fafab68cf2c2cdc9f12d1adcddb7698f2541d28">00287</a> <a class="code" href="classCMarkup.html#a7f0377cbea81f5b932347af5fafab68cf2c2cdc9f12d1adcddb7698f2541d28">MNT_COMMENT</a> = 32, <span class="comment">// 0x20</span>
<a name="l00288"></a><a class="code" href="classCMarkup.html#a7f0377cbea81f5b932347af5fafab68d489a35314e38d5b0de86f484d16b064">00288</a> <a class="code" href="classCMarkup.html#a7f0377cbea81f5b932347af5fafab68d489a35314e38d5b0de86f484d16b064">MNT_DOCUMENT_TYPE</a> = 64, <span class="comment">// 0x40</span>
<a name="l00289"></a><a class="code" href="classCMarkup.html#a7f0377cbea81f5b932347af5fafab68fb5b9628a79d30a35162782c3c3b31b6">00289</a> <a class="code" href="classCMarkup.html#a7f0377cbea81f5b932347af5fafab68fb5b9628a79d30a35162782c3c3b31b6">MNT_EXCLUDE_WHITESPACE</a> = 123,<span class="comment">// 0x7b</span>
<a name="l00290"></a><a class="code" href="classCMarkup.html#a7f0377cbea81f5b932347af5fafab68cc28ec03a604f71e7fa96e844f5588b7">00290</a> <a class="code" href="classCMarkup.html#a7f0377cbea81f5b932347af5fafab68cc28ec03a604f71e7fa96e844f5588b7">MNT_LONE_END_TAG</a> = 128,<span class="comment">// 0x80</span>
<a name="l00291"></a><a class="code" href="classCMarkup.html#a7f0377cbea81f5b932347af5fafab680ebc6e9e8955b4e44814e08f0fa843a1">00291</a> <a class="code" href="classCMarkup.html#a7f0377cbea81f5b932347af5fafab680ebc6e9e8955b4e44814e08f0fa843a1">MNT_NODE_ERROR</a> = 32768 <span class="comment">// 0x8000</span>
<a name="l00292"></a>00292 };
<a name="l00293"></a>00293
<a name="l00294"></a>00294 <span class="comment">// Create</span>
<a name="l00295"></a>00295 <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#61b774f533449eeda7f3d78d8d69e4fb">Save</a>( <a class="code" href="Markup_8h.html#b7f2fa74461b566c44371deb46c73de2">MCD_CSTR_FILENAME</a> szFileName );
<a name="l00296"></a><a class="code" href="classCMarkup.html#04364a3697a67d5652b2259bd8b17889">00296</a> <span class="keyword">const</span> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a>&amp; <a class="code" href="classCMarkup.html#04364a3697a67d5652b2259bd8b17889">GetDoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#ab2e01d57870e1c0e0493ab6e4446ad2">m_strDoc</a>; };
<a name="l00297"></a><a class="code" href="classCMarkup.html#4662396e9424b09566bdcc678ad9dd74">00297</a> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#4662396e9424b09566bdcc678ad9dd74">AddElem</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szName, <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szData=NULL, <span class="keywordtype">int</span> nFlags=0 ) { <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#838bd93651009a22d8feeaa080b1bc1e">x_AddElem</a>(szName,szData,nFlags); };
<a name="l00298"></a><a class="code" href="classCMarkup.html#becf9cd13700fc16d44bef412d76beaf">00298</a> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#becf9cd13700fc16d44bef412d76beaf">InsertElem</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szName, <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szData=NULL, <span class="keywordtype">int</span> nFlags=0 ) { <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#838bd93651009a22d8feeaa080b1bc1e">x_AddElem</a>(szName,szData,nFlags|<a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8cd3bd67680ce50796134080f5d10c9bd1">MNF_INSERT</a>); };
<a name="l00299"></a><a class="code" href="classCMarkup.html#013e1b40382e8d06410f8a7e823976a1">00299</a> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#013e1b40382e8d06410f8a7e823976a1">AddChildElem</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szName, <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szData=NULL, <span class="keywordtype">int</span> nFlags=0 ) { <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#838bd93651009a22d8feeaa080b1bc1e">x_AddElem</a>(szName,szData,nFlags|<a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8cb6494b8591638c21266879931d5307b2">MNF_CHILD</a>); };
<a name="l00300"></a><a class="code" href="classCMarkup.html#e7ec8b7cc039f3308ab23a1465883061">00300</a> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#e7ec8b7cc039f3308ab23a1465883061">InsertChildElem</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szName, <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szData=NULL, <span class="keywordtype">int</span> nFlags=0 ) { <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#838bd93651009a22d8feeaa080b1bc1e">x_AddElem</a>(szName,szData,nFlags|<a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8cd3bd67680ce50796134080f5d10c9bd1">MNF_INSERT</a>|<a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8cb6494b8591638c21266879931d5307b2">MNF_CHILD</a>); };
<a name="l00301"></a><a class="code" href="classCMarkup.html#4ed6f7e35a579b846c3a7cc8cae55bf3">00301</a> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#4662396e9424b09566bdcc678ad9dd74">AddElem</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szName, <span class="keywordtype">int</span> nValue, <span class="keywordtype">int</span> nFlags=0 ) { <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#838bd93651009a22d8feeaa080b1bc1e">x_AddElem</a>(szName,nValue,nFlags); };
<a name="l00302"></a><a class="code" href="classCMarkup.html#d0548425b4e5e0522b33a9f5e30c36ca">00302</a> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#becf9cd13700fc16d44bef412d76beaf">InsertElem</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szName, <span class="keywordtype">int</span> nValue, <span class="keywordtype">int</span> nFlags=0 ) { <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#838bd93651009a22d8feeaa080b1bc1e">x_AddElem</a>(szName,nValue,nFlags|<a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8cd3bd67680ce50796134080f5d10c9bd1">MNF_INSERT</a>); };
<a name="l00303"></a><a class="code" href="classCMarkup.html#a5d807472725dd66a45a94ca9b0e7e35">00303</a> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#013e1b40382e8d06410f8a7e823976a1">AddChildElem</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szName, <span class="keywordtype">int</span> nValue, <span class="keywordtype">int</span> nFlags=0 ) { <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#838bd93651009a22d8feeaa080b1bc1e">x_AddElem</a>(szName,nValue,nFlags|<a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8cb6494b8591638c21266879931d5307b2">MNF_CHILD</a>); };
<a name="l00304"></a><a class="code" href="classCMarkup.html#91c3a9a4a47a3c8c9e184d9a6ee7f97a">00304</a> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#e7ec8b7cc039f3308ab23a1465883061">InsertChildElem</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szName, <span class="keywordtype">int</span> nValue, <span class="keywordtype">int</span> nFlags=0 ) { <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#838bd93651009a22d8feeaa080b1bc1e">x_AddElem</a>(szName,nValue,nFlags|<a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8cd3bd67680ce50796134080f5d10c9bd1">MNF_INSERT</a>|<a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8cb6494b8591638c21266879931d5307b2">MNF_CHILD</a>); };
<a name="l00305"></a><a class="code" href="classCMarkup.html#0e563a8e5187c6145ef7da0eda8f48a0">00305</a> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#0e563a8e5187c6145ef7da0eda8f48a0">AddAttrib</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szAttrib, <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szValue ) { <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#5716401661aa51b04936c9f7df163ba7">x_SetAttrib</a>(<a class="code" href="classCMarkup.html#1192dbba85b74f3346dfd042ed7f0b59">m_iPos</a>,szAttrib,szValue); };
<a name="l00306"></a><a class="code" href="classCMarkup.html#abf8a4d65e8d1e24dab3f3299c82a51b">00306</a> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#abf8a4d65e8d1e24dab3f3299c82a51b">AddChildAttrib</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szAttrib, <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szValue ) { <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#5716401661aa51b04936c9f7df163ba7">x_SetAttrib</a>(<a class="code" href="classCMarkup.html#b9070540ecb1b4da5c30a680718cf73a">m_iPosChild</a>,szAttrib,szValue); };
<a name="l00307"></a><a class="code" href="classCMarkup.html#003a55d86bd2c78646abd3f408bd4acb">00307</a> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#0e563a8e5187c6145ef7da0eda8f48a0">AddAttrib</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szAttrib, <span class="keywordtype">int</span> nValue ) { <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#5716401661aa51b04936c9f7df163ba7">x_SetAttrib</a>(<a class="code" href="classCMarkup.html#1192dbba85b74f3346dfd042ed7f0b59">m_iPos</a>,szAttrib,nValue); };
<a name="l00308"></a><a class="code" href="classCMarkup.html#6038dab1d6fe99029937e6701c3d33d8">00308</a> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#abf8a4d65e8d1e24dab3f3299c82a51b">AddChildAttrib</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szAttrib, <span class="keywordtype">int</span> nValue ) { <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#5716401661aa51b04936c9f7df163ba7">x_SetAttrib</a>(<a class="code" href="classCMarkup.html#b9070540ecb1b4da5c30a680718cf73a">m_iPosChild</a>,szAttrib,nValue); };
<a name="l00309"></a><a class="code" href="classCMarkup.html#cc3a92d27a83cd20854244027b0269b7">00309</a> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#cc3a92d27a83cd20854244027b0269b7">AddSubDoc</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szSubDoc ) { <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#9b842e3673c7ee3da3eaeaa1dfb8c204">x_AddSubDoc</a>(szSubDoc,0); };
<a name="l00310"></a><a class="code" href="classCMarkup.html#8f2a8484e2d4f8a27032f14818d96a66">00310</a> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#8f2a8484e2d4f8a27032f14818d96a66">InsertSubDoc</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szSubDoc ) { <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#9b842e3673c7ee3da3eaeaa1dfb8c204">x_AddSubDoc</a>(szSubDoc,<a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8cd3bd67680ce50796134080f5d10c9bd1">MNF_INSERT</a>); };
<a name="l00311"></a><a class="code" href="classCMarkup.html#9d963c7234a4cecc16d9bd46c32ff87a">00311</a> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="classCMarkup.html#9d963c7234a4cecc16d9bd46c32ff87a">GetSubDoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#4af006666be13b4c295823a343c3ba76">x_GetSubDoc</a>(<a class="code" href="classCMarkup.html#1192dbba85b74f3346dfd042ed7f0b59">m_iPos</a>); };
<a name="l00312"></a><a class="code" href="classCMarkup.html#3500f6d0c1ea550bfd70c0dc0b1217c2">00312</a> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#3500f6d0c1ea550bfd70c0dc0b1217c2">AddChildSubDoc</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szSubDoc ) { <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#9b842e3673c7ee3da3eaeaa1dfb8c204">x_AddSubDoc</a>(szSubDoc,<a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8cb6494b8591638c21266879931d5307b2">MNF_CHILD</a>); };
<a name="l00313"></a><a class="code" href="classCMarkup.html#f77bad4653eb8a9396844ea0d94c19a7">00313</a> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#f77bad4653eb8a9396844ea0d94c19a7">InsertChildSubDoc</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szSubDoc ) { <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#9b842e3673c7ee3da3eaeaa1dfb8c204">x_AddSubDoc</a>(szSubDoc,<a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8cb6494b8591638c21266879931d5307b2">MNF_CHILD</a>|<a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8cd3bd67680ce50796134080f5d10c9bd1">MNF_INSERT</a>); };
<a name="l00314"></a><a class="code" href="classCMarkup.html#5957fb2553a8104d064a5adf1726b838">00314</a> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="classCMarkup.html#5957fb2553a8104d064a5adf1726b838">GetChildSubDoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#4af006666be13b4c295823a343c3ba76">x_GetSubDoc</a>(<a class="code" href="classCMarkup.html#b9070540ecb1b4da5c30a680718cf73a">m_iPosChild</a>); };
<a name="l00315"></a><a class="code" href="classCMarkup.html#650eb815a83605636088c30de6f4e6a7">00315</a> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#650eb815a83605636088c30de6f4e6a7">AddNode</a>( <span class="keywordtype">int</span> nType, <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szText ) { <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#d556122bb3c73aff12e7fb84b4318d0d">x_AddNode</a>(nType,szText,0); };
<a name="l00316"></a><a class="code" href="classCMarkup.html#3217ba51dd76d42272bb7e2cddfb3102">00316</a> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#3217ba51dd76d42272bb7e2cddfb3102">InsertNode</a>( <span class="keywordtype">int</span> nType, <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szText ) { <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#d556122bb3c73aff12e7fb84b4318d0d">x_AddNode</a>(nType,szText,<a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8cd3bd67680ce50796134080f5d10c9bd1">MNF_INSERT</a>); };
<a name="l00317"></a>00317
<a name="l00318"></a>00318 <span class="comment">// Modify</span>
<a name="l00319"></a>00319 <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#e2184e5dbf2aaf056aaad6a3690e2963">RemoveElem</a>();
<a name="l00320"></a>00320 <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#7f1b54d8bcb5c68cf823835c98d41ae9">RemoveChildElem</a>();
<a name="l00321"></a>00321 <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#521a5dc4f62c9535a45cfc5a765df1e7">RemoveNode</a>();
<a name="l00322"></a><a class="code" href="classCMarkup.html#e358f67c104c9b02e93a8a33cd81093f">00322</a> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#e358f67c104c9b02e93a8a33cd81093f">SetAttrib</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szAttrib, <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szValue, <span class="keywordtype">int</span> nFlags=0 ) { <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#5716401661aa51b04936c9f7df163ba7">x_SetAttrib</a>(<a class="code" href="classCMarkup.html#1192dbba85b74f3346dfd042ed7f0b59">m_iPos</a>,szAttrib,szValue,nFlags); };
<a name="l00323"></a><a class="code" href="classCMarkup.html#054134023f97323604f77feefb3ab8b4">00323</a> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#054134023f97323604f77feefb3ab8b4">SetChildAttrib</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szAttrib, <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szValue, <span class="keywordtype">int</span> nFlags=0 ) { <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#5716401661aa51b04936c9f7df163ba7">x_SetAttrib</a>(<a class="code" href="classCMarkup.html#b9070540ecb1b4da5c30a680718cf73a">m_iPosChild</a>,szAttrib,szValue,nFlags); };
<a name="l00324"></a><a class="code" href="classCMarkup.html#a1b52eb318133c539e5eaf23915321ad">00324</a> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#e358f67c104c9b02e93a8a33cd81093f">SetAttrib</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szAttrib, <span class="keywordtype">int</span> nValue, <span class="keywordtype">int</span> nFlags=0 ) { <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#5716401661aa51b04936c9f7df163ba7">x_SetAttrib</a>(<a class="code" href="classCMarkup.html#1192dbba85b74f3346dfd042ed7f0b59">m_iPos</a>,szAttrib,nValue,nFlags); };
<a name="l00325"></a><a class="code" href="classCMarkup.html#17d99292ae941bb12e4a10a285efd363">00325</a> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#054134023f97323604f77feefb3ab8b4">SetChildAttrib</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szAttrib, <span class="keywordtype">int</span> nValue, <span class="keywordtype">int</span> nFlags=0 ) { <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#5716401661aa51b04936c9f7df163ba7">x_SetAttrib</a>(<a class="code" href="classCMarkup.html#b9070540ecb1b4da5c30a680718cf73a">m_iPosChild</a>,szAttrib,nValue,nFlags); };
<a name="l00326"></a><a class="code" href="classCMarkup.html#65f994e7c180c9e02cb8a3deb9cc1a32">00326</a> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#65f994e7c180c9e02cb8a3deb9cc1a32">SetData</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szData, <span class="keywordtype">int</span> nFlags=0 ) { <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#e55b7533359dd64e5528f4ab31ef6912">x_SetData</a>(<a class="code" href="classCMarkup.html#1192dbba85b74f3346dfd042ed7f0b59">m_iPos</a>,szData,nFlags); };
<a name="l00327"></a><a class="code" href="classCMarkup.html#b2db581de961cbdf0004e9377029a8c7">00327</a> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#b2db581de961cbdf0004e9377029a8c7">SetChildData</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szData, <span class="keywordtype">int</span> nFlags=0 ) { <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#e55b7533359dd64e5528f4ab31ef6912">x_SetData</a>(<a class="code" href="classCMarkup.html#b9070540ecb1b4da5c30a680718cf73a">m_iPosChild</a>,szData,nFlags); };
<a name="l00328"></a><a class="code" href="classCMarkup.html#ce922c959d826b28f4ad2b279697238b">00328</a> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#65f994e7c180c9e02cb8a3deb9cc1a32">SetData</a>( <span class="keywordtype">int</span> nValue ) { <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#e55b7533359dd64e5528f4ab31ef6912">x_SetData</a>(<a class="code" href="classCMarkup.html#1192dbba85b74f3346dfd042ed7f0b59">m_iPos</a>,nValue); };
<a name="l00329"></a><a class="code" href="classCMarkup.html#ffe236d0a43d1ac2502fef04b5d701c5">00329</a> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#b2db581de961cbdf0004e9377029a8c7">SetChildData</a>( <span class="keywordtype">int</span> nValue ) { <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#e55b7533359dd64e5528f4ab31ef6912">x_SetData</a>(<a class="code" href="classCMarkup.html#b9070540ecb1b4da5c30a680718cf73a">m_iPosChild</a>,nValue); };
<a name="l00330"></a><a class="code" href="classCMarkup.html#9ee2b70e88102a9d98d54be9b6f27172">00330</a> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#9ee2b70e88102a9d98d54be9b6f27172">SetElemContent</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szContent ) { <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#6f23aa890945aabddab25986b18a8eac">x_SetElemContent</a>(szContent); };
<a name="l00331"></a>00331
<a name="l00332"></a>00332 <span class="comment">// Utility</span>
<a name="l00333"></a>00333 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#6d871eed98105bf74b09c3412d8e5b56">ReadTextFile</a>( <a class="code" href="Markup_8h.html#b7f2fa74461b566c44371deb46c73de2">MCD_CSTR_FILENAME</a> szFileName, <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a>&amp; strDoc, <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a>* pstrError=NULL, <span class="keywordtype">int</span>* pnDocFlags=NULL, <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a>* pstrEncoding=NULL );
<a name="l00334"></a>00334 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#983286cbcb7c4f9aa1f462ffb5dc641f">WriteTextFile</a>( <a class="code" href="Markup_8h.html#b7f2fa74461b566c44371deb46c73de2">MCD_CSTR_FILENAME</a> szFileName, <span class="keyword">const</span> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a>&amp; strDoc, <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a>* pstrError=NULL, <span class="keywordtype">int</span>* pnDocFlags=NULL, <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a>* pstrEncoding=NULL );
<a name="l00335"></a>00335 <span class="keyword">static</span> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="classCMarkup.html#ba91db9799ea46f2594a85f7026b6034">EscapeText</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szText, <span class="keywordtype">int</span> nFlags = 0 );
<a name="l00336"></a>00336 <span class="keyword">static</span> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="classCMarkup.html#e4b84116d09deeeb06fdbb51a9550ad1">UnescapeText</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szText, <span class="keywordtype">int</span> nTextLength = -1 );
<a name="l00337"></a>00337 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classCMarkup.html#cf38e3d9c2a76d33f942b15af22c36bd">UTF16To8</a>( <span class="keywordtype">char</span> *pszUTF8, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span>* pwszUTF16, <span class="keywordtype">int</span> nUTF8Count );
<a name="l00338"></a>00338 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classCMarkup.html#c5196f0e363a619fad8dbf5c0ea55d31">UTF8To16</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span>* pwszUTF16, <span class="keyword">const</span> <span class="keywordtype">char</span>* pszUTF8, <span class="keywordtype">int</span> nUTF8Count );
<a name="l00339"></a>00339 <span class="keyword">static</span> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="classCMarkup.html#8e6cb088e69b6078f5923b0940fd647c">UTF8ToA</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> pszUTF8, <span class="keywordtype">int</span>* pnFailed = NULL );
<a name="l00340"></a>00340 <span class="keyword">static</span> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="classCMarkup.html#3257cd5f249587254e816d12bd3b0e0d">AToUTF8</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> pszANSI );
<a name="l00341"></a>00341 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classCMarkup.html#10ff4693c95b049ad13b9537858aabfd">EncodeCharUTF8</a>( <span class="keywordtype">int</span> nUChar, <span class="keywordtype">char</span>* pszUTF8, <span class="keywordtype">int</span>&amp; nUTF8Len );
<a name="l00342"></a>00342 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classCMarkup.html#637a7f8239f974d4ce5fe2e33336ca9e">DecodeCharUTF8</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>*&amp; pszUTF8, <span class="keyword">const</span> <span class="keywordtype">char</span>* pszUTF8End = NULL );
<a name="l00343"></a>00343 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classCMarkup.html#08ef725aa1de4831643e478da1aa582e">EncodeCharUTF16</a>( <span class="keywordtype">int</span> nUChar, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span>* pwszUTF16, <span class="keywordtype">int</span>&amp; nUTF16Len );
<a name="l00344"></a>00344 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classCMarkup.html#7eb3cf4b83927047fd4d9ee61ce3f246">DecodeCharUTF16</a>( <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span>*&amp; pwszUTF16, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span>* pszUTF16End = NULL );
<a name="l00345"></a>00345 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#f91e20dfe9e95194e3ca8143eeb889c2">DetectUTF8</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* pText, <span class="keywordtype">int</span> nTextLen, <span class="keywordtype">int</span>* pnNonASCII = NULL );
<a name="l00346"></a>00346 <span class="keyword">static</span> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="classCMarkup.html#1f2b3c176609588986004058a77afe27">GetDeclaredEncoding</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szDoc );
<a name="l00347"></a>00347
<a name="l00348"></a>00348 <span class="keyword">protected</span>:
<a name="l00349"></a>00349
<a name="l00350"></a>00350 <span class="preprocessor">#if defined(_DEBUG)</span>
<a name="l00351"></a>00351 <span class="preprocessor"></span> <a class="code" href="Markup_8h.html#edde484976c7ebb2e31d6be23e669128">MCD_PCSZ</a> m_pMainDS;
<a name="l00352"></a>00352 <a class="code" href="Markup_8h.html#edde484976c7ebb2e31d6be23e669128">MCD_PCSZ</a> m_pChildDS;
<a name="l00353"></a>00353 <span class="preprocessor">#endif // DEBUG</span>
<a name="l00354"></a>00354 <span class="preprocessor"></span>
<a name="l00355"></a><a class="code" href="classCMarkup.html#ab2e01d57870e1c0e0493ab6e4446ad2">00355</a> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="classCMarkup.html#ab2e01d57870e1c0e0493ab6e4446ad2">m_strDoc</a>;
<a name="l00356"></a><a class="code" href="classCMarkup.html#8b30e55981f924a867972eceab142163">00356</a> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="classCMarkup.html#8b30e55981f924a867972eceab142163">m_strError</a>;
<a name="l00357"></a>00357
<a name="l00358"></a><a class="code" href="classCMarkup.html#f4be33a1bc8a5b2b5ca34ee59b11d702">00358</a> <span class="keywordtype">int</span> <a class="code" href="classCMarkup.html#f4be33a1bc8a5b2b5ca34ee59b11d702">m_iPosParent</a>;
<a name="l00359"></a><a class="code" href="classCMarkup.html#1192dbba85b74f3346dfd042ed7f0b59">00359</a> <span class="keywordtype">int</span> <a class="code" href="classCMarkup.html#1192dbba85b74f3346dfd042ed7f0b59">m_iPos</a>;
<a name="l00360"></a><a class="code" href="classCMarkup.html#b9070540ecb1b4da5c30a680718cf73a">00360</a> <span class="keywordtype">int</span> <a class="code" href="classCMarkup.html#b9070540ecb1b4da5c30a680718cf73a">m_iPosChild</a>;
<a name="l00361"></a><a class="code" href="classCMarkup.html#d81bcd568dabbf0798a61bb8439b2f35">00361</a> <span class="keywordtype">int</span> <a class="code" href="classCMarkup.html#d81bcd568dabbf0798a61bb8439b2f35">m_iPosFree</a>;
<a name="l00362"></a><a class="code" href="classCMarkup.html#8a1c502479f990916d887093b4048de5">00362</a> <span class="keywordtype">int</span> <a class="code" href="classCMarkup.html#8a1c502479f990916d887093b4048de5">m_iPosDeleted</a>;
<a name="l00363"></a><a class="code" href="classCMarkup.html#eab284b217377eb56252a35094872499">00363</a> <span class="keywordtype">int</span> <a class="code" href="classCMarkup.html#eab284b217377eb56252a35094872499">m_nNodeType</a>;
<a name="l00364"></a><a class="code" href="classCMarkup.html#d77ce81fd0904864ab22102e77278d34">00364</a> <span class="keywordtype">int</span> <a class="code" href="classCMarkup.html#d77ce81fd0904864ab22102e77278d34">m_nNodeOffset</a>;
<a name="l00365"></a><a class="code" href="classCMarkup.html#7a44f2bbea27d673864a1b8ebe13da1b">00365</a> <span class="keywordtype">int</span> <a class="code" href="classCMarkup.html#7a44f2bbea27d673864a1b8ebe13da1b">m_nNodeLength</a>;
<a name="l00366"></a><a class="code" href="classCMarkup.html#8afd7a85e8329a72bc58f9aa97626d74">00366</a> <span class="keywordtype">int</span> <a class="code" href="classCMarkup.html#8afd7a85e8329a72bc58f9aa97626d74">m_nDocFlags</a>;
<a name="l00367"></a>00367
<a name="l00368"></a><a class="code" href="structCMarkup_1_1ElemPos.html">00368</a> <span class="keyword">struct </span><a class="code" href="structCMarkup_1_1ElemPos.html">ElemPos</a>
<a name="l00369"></a>00369 {
<a name="l00370"></a><a class="code" href="structCMarkup_1_1ElemPos.html#7ba7e4930d77275e80e38ea151b2807b">00370</a> <a class="code" href="structCMarkup_1_1ElemPos.html#7ba7e4930d77275e80e38ea151b2807b">ElemPos</a>() {};
<a name="l00371"></a><a class="code" href="structCMarkup_1_1ElemPos.html#739a02a2c992cde556999155bee37e21">00371</a> <a class="code" href="structCMarkup_1_1ElemPos.html#7ba7e4930d77275e80e38ea151b2807b">ElemPos</a>( <span class="keyword">const</span> <a class="code" href="structCMarkup_1_1ElemPos.html">ElemPos</a>&amp; pos ) { *<span class="keyword">this</span> = pos; };
<a name="l00372"></a><a class="code" href="structCMarkup_1_1ElemPos.html#987926f5677976e6288e5b4c3a224d96">00372</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1ElemPos.html#987926f5677976e6288e5b4c3a224d96">StartTagLen</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="structCMarkup_1_1ElemPos.html#c929700bbc1ec8b928253235dd5038af">nStartTagLen</a>; };
<a name="l00373"></a><a class="code" href="structCMarkup_1_1ElemPos.html#6f366b2f636e221db004bf44fd952912">00373</a> <span class="keywordtype">void</span> <a class="code" href="structCMarkup_1_1ElemPos.html#6f366b2f636e221db004bf44fd952912">SetStartTagLen</a>( <span class="keywordtype">int</span> n ) { <a class="code" href="structCMarkup_1_1ElemPos.html#c929700bbc1ec8b928253235dd5038af">nStartTagLen</a> = n; };
<a name="l00374"></a><a class="code" href="structCMarkup_1_1ElemPos.html#3140f418c80056cb8aba69a270c6a71d">00374</a> <span class="keywordtype">void</span> <a class="code" href="structCMarkup_1_1ElemPos.html#3140f418c80056cb8aba69a270c6a71d">AdjustStartTagLen</a>( <span class="keywordtype">int</span> n ) { <a class="code" href="structCMarkup_1_1ElemPos.html#c929700bbc1ec8b928253235dd5038af">nStartTagLen</a> += n; };
<a name="l00375"></a><a class="code" href="structCMarkup_1_1ElemPos.html#d9d0ad0c48a129555d1052e98e4f71bd">00375</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1ElemPos.html#d9d0ad0c48a129555d1052e98e4f71bd">EndTagLen</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="structCMarkup_1_1ElemPos.html#a53ebdfa2aecc621f9cdde9c247d3357">nEndTagLen</a>; };
<a name="l00376"></a><a class="code" href="structCMarkup_1_1ElemPos.html#e427d1e0e53cfd0fe1c278f34c585bc9">00376</a> <span class="keywordtype">void</span> <a class="code" href="structCMarkup_1_1ElemPos.html#e427d1e0e53cfd0fe1c278f34c585bc9">SetEndTagLen</a>( <span class="keywordtype">int</span> n ) { <a class="code" href="structCMarkup_1_1ElemPos.html#a53ebdfa2aecc621f9cdde9c247d3357">nEndTagLen</a> = n; };
<a name="l00377"></a><a class="code" href="structCMarkup_1_1ElemPos.html#97093aa0ddbd691dd00c91c945a3e98a">00377</a> <span class="keywordtype">bool</span> <a class="code" href="structCMarkup_1_1ElemPos.html#97093aa0ddbd691dd00c91c945a3e98a">IsEmptyElement</a>() { <span class="keywordflow">return</span> (<a class="code" href="structCMarkup_1_1ElemPos.html#987926f5677976e6288e5b4c3a224d96">StartTagLen</a>()==<a class="code" href="structCMarkup_1_1ElemPos.html#d9d89d7af0f4cb69b0b1f4d0b5d4953f">nLength</a>)?<span class="keyword">true</span>:<span class="keyword">false</span>; };
<a name="l00378"></a><a class="code" href="structCMarkup_1_1ElemPos.html#853d5e4a5c6b03643e7210671385896c">00378</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1ElemPos.html#853d5e4a5c6b03643e7210671385896c">StartContent</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="structCMarkup_1_1ElemPos.html#37cbff8b4e0d5b086970efb1bc9b70fe">nStart</a> + <a class="code" href="structCMarkup_1_1ElemPos.html#987926f5677976e6288e5b4c3a224d96">StartTagLen</a>(); };
<a name="l00379"></a><a class="code" href="structCMarkup_1_1ElemPos.html#9099635ab9239103aa930b2f1a456d2d">00379</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1ElemPos.html#9099635ab9239103aa930b2f1a456d2d">ContentLen</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="structCMarkup_1_1ElemPos.html#d9d89d7af0f4cb69b0b1f4d0b5d4953f">nLength</a> - <a class="code" href="structCMarkup_1_1ElemPos.html#987926f5677976e6288e5b4c3a224d96">StartTagLen</a>() - <a class="code" href="structCMarkup_1_1ElemPos.html#d9d0ad0c48a129555d1052e98e4f71bd">EndTagLen</a>(); };
<a name="l00380"></a><a class="code" href="structCMarkup_1_1ElemPos.html#e1e21b6e27db22eda6178898d2aa42d3">00380</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1ElemPos.html#e1e21b6e27db22eda6178898d2aa42d3">StartAfter</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="structCMarkup_1_1ElemPos.html#37cbff8b4e0d5b086970efb1bc9b70fe">nStart</a> + <a class="code" href="structCMarkup_1_1ElemPos.html#d9d89d7af0f4cb69b0b1f4d0b5d4953f">nLength</a>; };
<a name="l00381"></a><a class="code" href="structCMarkup_1_1ElemPos.html#cdea1fc74ed96d413138c6c2d9b0a4f7">00381</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1ElemPos.html#cdea1fc74ed96d413138c6c2d9b0a4f7">Level</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="structCMarkup_1_1ElemPos.html#586bb5a2dc7f48ac1417ffd07319a9c9">nFlags</a> &amp; 0xffff; };
<a name="l00382"></a><a class="code" href="structCMarkup_1_1ElemPos.html#625d84902ebb86bda4d5c5720f00e885">00382</a> <span class="keywordtype">void</span> <a class="code" href="structCMarkup_1_1ElemPos.html#625d84902ebb86bda4d5c5720f00e885">SetLevel</a>( <span class="keywordtype">int</span> nLev ) { <a class="code" href="structCMarkup_1_1ElemPos.html#586bb5a2dc7f48ac1417ffd07319a9c9">nFlags</a> = (<a class="code" href="structCMarkup_1_1ElemPos.html#586bb5a2dc7f48ac1417ffd07319a9c9">nFlags</a> &amp; ~0xffff) | nLev; };
<a name="l00383"></a><a class="code" href="structCMarkup_1_1ElemPos.html#37cbff8b4e0d5b086970efb1bc9b70fe">00383</a> <span class="keywordtype">void</span> <a class="code" href="structCMarkup_1_1ElemPos.html#b70cf4ad47e44a2d4c7f6c06a2ff0659">ClearVirtualParent</a>() { memset(<span class="keyword">this</span>,0,<span class="keyword">sizeof</span>(<a class="code" href="structCMarkup_1_1ElemPos.html">ElemPos</a>)); };
<a name="l00384"></a>00384
<a name="l00385"></a>00385 <span class="comment">// Memory size: 8 32-bit integers == 32 bytes</span>
<a name="l00386"></a>00386 <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1ElemPos.html#37cbff8b4e0d5b086970efb1bc9b70fe">nStart</a>;
<a name="l00387"></a><a class="code" href="structCMarkup_1_1ElemPos.html#d9d89d7af0f4cb69b0b1f4d0b5d4953f">00387</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1ElemPos.html#d9d89d7af0f4cb69b0b1f4d0b5d4953f">nLength</a>;
<a name="l00388"></a><a class="code" href="structCMarkup_1_1ElemPos.html#c929700bbc1ec8b928253235dd5038af">00388</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1ElemPos.html#c929700bbc1ec8b928253235dd5038af">nStartTagLen</a> : 22; <span class="comment">// 4MB limit for start tag</span>
<a name="l00389"></a><a class="code" href="structCMarkup_1_1ElemPos.html#a53ebdfa2aecc621f9cdde9c247d3357">00389</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1ElemPos.html#a53ebdfa2aecc621f9cdde9c247d3357">nEndTagLen</a> : 10; <span class="comment">// 1K limit for end tag</span>
<a name="l00390"></a><a class="code" href="structCMarkup_1_1ElemPos.html#586bb5a2dc7f48ac1417ffd07319a9c9">00390</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1ElemPos.html#586bb5a2dc7f48ac1417ffd07319a9c9">nFlags</a>; <span class="comment">// 16 bits flags, 16 bits level 65536 depth limit</span>
<a name="l00391"></a><a class="code" href="structCMarkup_1_1ElemPos.html#e579f35b6cdee1609c6835eddf2b5b03">00391</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1ElemPos.html#e579f35b6cdee1609c6835eddf2b5b03">iElemParent</a>;
<a name="l00392"></a><a class="code" href="structCMarkup_1_1ElemPos.html#3449b75f915ff4900af177d9a91d91d1">00392</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1ElemPos.html#3449b75f915ff4900af177d9a91d91d1">iElemChild</a>; <span class="comment">// first child</span>
<a name="l00393"></a><a class="code" href="structCMarkup_1_1ElemPos.html#c61f6c9ee6421801e94d7df7afa4f1ed">00393</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1ElemPos.html#c61f6c9ee6421801e94d7df7afa4f1ed">iElemNext</a>; <span class="comment">// next sibling</span>
<a name="l00394"></a><a class="code" href="structCMarkup_1_1ElemPos.html#45534bddcab1f12a8452a070368488ca">00394</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1ElemPos.html#45534bddcab1f12a8452a070368488ca">iElemPrev</a>; <span class="comment">// if this is first, iElemPrev points to last</span>
<a name="l00395"></a>00395 };
<a name="l00396"></a>00396
<a name="l00397"></a><a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8c">00397</a> <span class="keyword">enum</span> <a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8c">MarkupNodeFlagsInternal</a>
<a name="l00398"></a>00398 {
<a name="l00399"></a><a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8ca8715553759e26f92ea24e8b76b8b158">00399</a> <a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8ca8715553759e26f92ea24e8b76b8b158">MNF_REPLACE</a> = 0x001000,
<a name="l00400"></a><a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8cd3bd67680ce50796134080f5d10c9bd1">00400</a> <a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8cd3bd67680ce50796134080f5d10c9bd1">MNF_INSERT</a> = 0x002000,
<a name="l00401"></a><a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8cb6494b8591638c21266879931d5307b2">00401</a> <a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8cb6494b8591638c21266879931d5307b2">MNF_CHILD</a> = 0x004000,
<a name="l00402"></a><a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8c897c4556a6eae4c07e2e2982d8f0f8d4">00402</a> <a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8c897c4556a6eae4c07e2e2982d8f0f8d4">MNF_QUOTED</a> = 0x008000,
<a name="l00403"></a><a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8c9971060ae3d21c6df56dc12fe331a30e">00403</a> <a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8c9971060ae3d21c6df56dc12fe331a30e">MNF_EMPTY</a> = 0x010000,
<a name="l00404"></a><a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8c99b57daa5da3a5a18fa0f0d6cf4b05b7">00404</a> <a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8c99b57daa5da3a5a18fa0f0d6cf4b05b7">MNF_DELETED</a> = 0x020000,
<a name="l00405"></a><a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8c37da679825623e48b6a54516b870b9ae">00405</a> <a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8c37da679825623e48b6a54516b870b9ae">MNF_FIRST</a> = 0x080000,
<a name="l00406"></a><a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8cf3bb3528caca376799c6eae33521787b">00406</a> <a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8cf3bb3528caca376799c6eae33521787b">MNF_PUBLIC</a> = 0x300000,
<a name="l00407"></a><a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8c3691b524fb3b4d734fd36fc62e3b1dc2">00407</a> <a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8c3691b524fb3b4d734fd36fc62e3b1dc2">MNF_ILLFORMED</a> = 0x800000,
<a name="l00408"></a><a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8c346dcfb669d736fc52779ba6ebffecda">00408</a> <a class="code" href="classCMarkup.html#cbbb329497c02ffa1894238b9dc01e8c346dcfb669d736fc52779ba6ebffecda">MNF_USER</a> = 0xf000000
<a name="l00409"></a>00409 };
<a name="l00410"></a>00410
<a name="l00411"></a><a class="code" href="structCMarkup_1_1NodePos.html">00411</a> <span class="keyword">struct </span><a class="code" href="structCMarkup_1_1NodePos.html">NodePos</a>
<a name="l00412"></a>00412 {
<a name="l00413"></a><a class="code" href="structCMarkup_1_1NodePos.html#81589c934561c891174be880864053b6">00413</a> <a class="code" href="structCMarkup_1_1NodePos.html#81589c934561c891174be880864053b6">NodePos</a>() {};
<a name="l00414"></a><a class="code" href="structCMarkup_1_1NodePos.html#aaecb8354ffd5605e80432377fa2ac4c">00414</a> <a class="code" href="structCMarkup_1_1NodePos.html#81589c934561c891174be880864053b6">NodePos</a>( <span class="keywordtype">int</span> n ) { <a class="code" href="structCMarkup_1_1NodePos.html#dc46483d996c2a009779ea80bd123115">nNodeFlags</a>=n; <a class="code" href="structCMarkup_1_1NodePos.html#09c12f805d9906e3805a6d76d9333740">nNodeType</a>=0; <a class="code" href="structCMarkup_1_1NodePos.html#c1939dd0ed1d2ecb35eb35bd2e88f69c">nStart</a>=0; <a class="code" href="structCMarkup_1_1NodePos.html#c2001e0315fb0cd1d038612e36d4b82e">nLength</a>=0; };
<a name="l00415"></a>00415 <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1NodePos.html#09c12f805d9906e3805a6d76d9333740">nNodeType</a>;
<a name="l00416"></a><a class="code" href="structCMarkup_1_1NodePos.html#c1939dd0ed1d2ecb35eb35bd2e88f69c">00416</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1NodePos.html#c1939dd0ed1d2ecb35eb35bd2e88f69c">nStart</a>;
<a name="l00417"></a><a class="code" href="structCMarkup_1_1NodePos.html#c2001e0315fb0cd1d038612e36d4b82e">00417</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1NodePos.html#c2001e0315fb0cd1d038612e36d4b82e">nLength</a>;
<a name="l00418"></a><a class="code" href="structCMarkup_1_1NodePos.html#dc46483d996c2a009779ea80bd123115">00418</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1NodePos.html#dc46483d996c2a009779ea80bd123115">nNodeFlags</a>;
<a name="l00419"></a><a class="code" href="structCMarkup_1_1NodePos.html#b9b37d8614b6980a935157199558c261">00419</a> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="structCMarkup_1_1NodePos.html#b9b37d8614b6980a935157199558c261">strMeta</a>;
<a name="l00420"></a>00420 };
<a name="l00421"></a>00421
<a name="l00422"></a><a class="code" href="structCMarkup_1_1TokenPos.html">00422</a> <span class="keyword">struct </span><a class="code" href="structCMarkup_1_1TokenPos.html">TokenPos</a>
<a name="l00423"></a>00423 {
<a name="l00424"></a><a class="code" href="structCMarkup_1_1TokenPos.html#797a3f5d9664c52971cf210166c3636a">00424</a> <a class="code" href="structCMarkup_1_1TokenPos.html#797a3f5d9664c52971cf210166c3636a">TokenPos</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> sz, <span class="keywordtype">int</span> n ) { <a class="code" href="structCMarkup_1_1TokenPos.html#cb390ed8ab1226cbd8c9b9a19088d55c">Clear</a>(); <a class="code" href="structCMarkup_1_1TokenPos.html#90a1052c162afcd07fc3974b95888a7e">pDoc</a>=sz; <a class="code" href="structCMarkup_1_1TokenPos.html#8eb640fe33ed145eb078e8214c0ea62b">nTokenFlags</a>=n; };
<a name="l00425"></a><a class="code" href="structCMarkup_1_1TokenPos.html#cb390ed8ab1226cbd8c9b9a19088d55c">00425</a> <span class="keywordtype">void</span> <a class="code" href="structCMarkup_1_1TokenPos.html#cb390ed8ab1226cbd8c9b9a19088d55c">Clear</a>() { <a class="code" href="structCMarkup_1_1TokenPos.html#c4c71680b3f09845b5346bf1285a214f">nL</a>=0; <a class="code" href="structCMarkup_1_1TokenPos.html#fb58afc56664b9646fc79b9ec2a51b10">nR</a>=-1; <a class="code" href="structCMarkup_1_1TokenPos.html#72b20974f7b55aa5d804a769f8a3f985">nNext</a>=0; };
<a name="l00426"></a><a class="code" href="structCMarkup_1_1TokenPos.html#b033dc8e88a8f83748ff6c44df05bb04">00426</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1TokenPos.html#b033dc8e88a8f83748ff6c44df05bb04">Length</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="structCMarkup_1_1TokenPos.html#fb58afc56664b9646fc79b9ec2a51b10">nR</a> - <a class="code" href="structCMarkup_1_1TokenPos.html#c4c71680b3f09845b5346bf1285a214f">nL</a> + 1; };
<a name="l00427"></a><a class="code" href="structCMarkup_1_1TokenPos.html#c3a37f7294cd763aed0f37749095d3db">00427</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1TokenPos.html#c3a37f7294cd763aed0f37749095d3db">StrNIACmp</a>( <a class="code" href="Markup_8h.html#edde484976c7ebb2e31d6be23e669128">MCD_PCSZ</a> p1, <a class="code" href="Markup_8h.html#edde484976c7ebb2e31d6be23e669128">MCD_PCSZ</a> p2, <span class="keywordtype">int</span> n )
<a name="l00428"></a>00428 {
<a name="l00429"></a>00429 <span class="comment">// string compare ignore case</span>
<a name="l00430"></a>00430 <span class="keywordtype">bool</span> bNonA = <span class="keyword">false</span>;
<a name="l00431"></a>00431 <a class="code" href="Markup_8h.html#12bf56fe481c397f8df59076c90c45a6">MCD_CHAR</a> c1, c2;
<a name="l00432"></a>00432 <span class="keywordflow">while</span> ( n-- )
<a name="l00433"></a>00433 {
<a name="l00434"></a>00434 c1 = *p1++; c2 = *p2++;
<a name="l00435"></a>00435 <span class="keywordflow">if</span> ( c1 != c2 )
<a name="l00436"></a>00436 {
<a name="l00437"></a>00437 <span class="keywordflow">if</span> (bNonA || !((c1&gt;=<span class="charliteral">'a'</span>&amp;&amp;c1&lt;=<span class="charliteral">'z'</span>&amp;&amp;c1==c2+(<span class="charliteral">'a'</span>-<span class="charliteral">'A'</span>))||(c2&gt;=<span class="charliteral">'a'</span>&amp;&amp;c2&lt;=<span class="charliteral">'z'</span>&amp;&amp;c2==c1+(<span class="charliteral">'a'</span>-<span class="charliteral">'A'</span>))))
<a name="l00438"></a>00438 <span class="keywordflow">return</span> c1 - c2;
<a name="l00439"></a>00439 }
<a name="l00440"></a>00440 <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)c1 &gt; 127 )
<a name="l00441"></a>00441 bNonA = <span class="keyword">true</span>;
<a name="l00442"></a>00442 }
<a name="l00443"></a>00443 <span class="keywordflow">return</span> 0;
<a name="l00444"></a>00444 }
<a name="l00445"></a>00445
<a name="l00446"></a><a class="code" href="structCMarkup_1_1TokenPos.html#199e0772dc846b95670797f0a32ec9ab">00446</a> <span class="keywordtype">bool</span> <a class="code" href="structCMarkup_1_1TokenPos.html#199e0772dc846b95670797f0a32ec9ab">Match</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> szName )
<a name="l00447"></a>00447 {
<a name="l00448"></a>00448 <span class="keywordtype">int</span> nLen = <a class="code" href="structCMarkup_1_1TokenPos.html#fb58afc56664b9646fc79b9ec2a51b10">nR</a> - <a class="code" href="structCMarkup_1_1TokenPos.html#c4c71680b3f09845b5346bf1285a214f">nL</a> + 1;
<a name="l00449"></a>00449 <span class="keywordflow">if</span> ( <a class="code" href="structCMarkup_1_1TokenPos.html#8eb640fe33ed145eb078e8214c0ea62b">nTokenFlags</a> &amp; <a class="code" href="classCMarkup.html#c7127c7bea2c8b0be6c828b607e8554b725e9783bc1deedb0c3b98e82a5707c1">MDF_IGNORECASE</a> )
<a name="l00450"></a>00450 <span class="keywordflow">return</span> ( (<a class="code" href="structCMarkup_1_1TokenPos.html#c3a37f7294cd763aed0f37749095d3db">StrNIACmp</a>( &amp;<a class="code" href="structCMarkup_1_1TokenPos.html#90a1052c162afcd07fc3974b95888a7e">pDoc</a>[nL], szName, nLen ) == 0)
<a name="l00451"></a>00451 &amp;&amp; ( szName[nLen] == <span class="charliteral">'\0'</span> || <a class="code" href="Markup_8h.html#0b4f312ed85cdcdafc5ed8c88da98ce9">MCD_PSZCHR</a>(<a class="code" href="Markup_8h.html#3717b2fa88d73f5f346ec6efdfbe2032">MCD_T</a>(<span class="stringliteral">" =/[]"</span>),szName[nLen]) ) );
<a name="l00452"></a>00452 <span class="keywordflow">else</span>
<a name="l00453"></a>00453 <span class="keywordflow">return</span> ( (<a class="code" href="Markup_8h.html#4e2907b0d2098130db8cffd774afef88">MCD_PSZNCMP</a>( &amp;<a class="code" href="structCMarkup_1_1TokenPos.html#90a1052c162afcd07fc3974b95888a7e">pDoc</a>[nL], szName, nLen ) == 0)
<a name="l00454"></a>00454 &amp;&amp; ( szName[nLen] == <span class="charliteral">'\0'</span> || <a class="code" href="Markup_8h.html#0b4f312ed85cdcdafc5ed8c88da98ce9">MCD_PSZCHR</a>(<a class="code" href="Markup_8h.html#3717b2fa88d73f5f346ec6efdfbe2032">MCD_T</a>(<span class="stringliteral">" =/[]"</span>),szName[nLen]) ) );
<a name="l00455"></a><a class="code" href="structCMarkup_1_1TokenPos.html#c4c71680b3f09845b5346bf1285a214f">00455</a> };
<a name="l00456"></a>00456 <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1TokenPos.html#c4c71680b3f09845b5346bf1285a214f">nL</a>;
<a name="l00457"></a><a class="code" href="structCMarkup_1_1TokenPos.html#fb58afc56664b9646fc79b9ec2a51b10">00457</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1TokenPos.html#fb58afc56664b9646fc79b9ec2a51b10">nR</a>;
<a name="l00458"></a><a class="code" href="structCMarkup_1_1TokenPos.html#72b20974f7b55aa5d804a769f8a3f985">00458</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1TokenPos.html#72b20974f7b55aa5d804a769f8a3f985">nNext</a>;
<a name="l00459"></a><a class="code" href="structCMarkup_1_1TokenPos.html#90a1052c162afcd07fc3974b95888a7e">00459</a> <a class="code" href="Markup_8h.html#edde484976c7ebb2e31d6be23e669128">MCD_PCSZ</a> <a class="code" href="structCMarkup_1_1TokenPos.html#90a1052c162afcd07fc3974b95888a7e">pDoc</a>;
<a name="l00460"></a><a class="code" href="structCMarkup_1_1TokenPos.html#8eb640fe33ed145eb078e8214c0ea62b">00460</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1TokenPos.html#8eb640fe33ed145eb078e8214c0ea62b">nTokenFlags</a>;
<a name="l00461"></a><a class="code" href="structCMarkup_1_1TokenPos.html#2d81fc5b589c491b450f73167ed9993d">00461</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1TokenPos.html#2d81fc5b589c491b450f73167ed9993d">nPreSpaceStart</a>;
<a name="l00462"></a><a class="code" href="structCMarkup_1_1TokenPos.html#455b67b62cfd4d6f6ffafc7b8bbc9971">00462</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1TokenPos.html#455b67b62cfd4d6f6ffafc7b8bbc9971">nPreSpaceLength</a>;
<a name="l00463"></a>00463 };
<a name="l00464"></a>00464
<a name="l00465"></a><a class="code" href="structCMarkup_1_1SavedPos.html">00465</a> <span class="keyword">struct </span><a class="code" href="structCMarkup_1_1SavedPos.html">SavedPos</a>
<a name="l00466"></a>00466 {
<a name="l00467"></a>00467 <span class="comment">// SavedPos is an entry in the SavedPosMap hash table</span>
<a name="l00468"></a><a class="code" href="structCMarkup_1_1SavedPos.html#3613f5e8854f961ed02173d22099db4c">00468</a> <a class="code" href="structCMarkup_1_1SavedPos.html#203b3a22eb86b1131985a6631e3d3c47">SavedPos</a>() { <a class="code" href="structCMarkup_1_1SavedPos.html#66a572e011303ea2a3716f7328ad9ec5">nSavedPosFlags</a>=0; <a class="code" href="structCMarkup_1_1SavedPos.html#649563d0d7c11bf2fdebbc0dbe396321">iPos</a>=0; };
<a name="l00469"></a>00469 <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="structCMarkup_1_1SavedPos.html#3613f5e8854f961ed02173d22099db4c">strName</a>;
<a name="l00470"></a><a class="code" href="structCMarkup_1_1SavedPos.html#649563d0d7c11bf2fdebbc0dbe396321">00470</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1SavedPos.html#649563d0d7c11bf2fdebbc0dbe396321">iPos</a>;
<a name="l00471"></a><a class="code" href="structCMarkup_1_1SavedPos.html#28ed16429117003133c33fa8fcaa7924bc202c266163ba746501ff656c189bf3">00471</a> <span class="keyword">enum</span> { <a class="code" href="structCMarkup_1_1SavedPos.html#28ed16429117003133c33fa8fcaa7924ce631ba78506ef55979fb730b54ae8f3">SPM_MAIN</a> = 1, <a class="code" href="structCMarkup_1_1SavedPos.html#28ed16429117003133c33fa8fcaa792437b333ca861ee132a96570e3261ed48f">SPM_CHILD</a> = 2, <a class="code" href="structCMarkup_1_1SavedPos.html#28ed16429117003133c33fa8fcaa7924bc202c266163ba746501ff656c189bf3">SPM_USED</a> = 4, <a class="code" href="structCMarkup_1_1SavedPos.html#28ed16429117003133c33fa8fcaa7924147badf6cfd07fa7a92ba92a43df245f">SPM_LAST</a> = 8 };
<a name="l00472"></a><a class="code" href="structCMarkup_1_1SavedPos.html#66a572e011303ea2a3716f7328ad9ec5">00472</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1SavedPos.html#66a572e011303ea2a3716f7328ad9ec5">nSavedPosFlags</a>;
<a name="l00473"></a>00473 };
<a name="l00474"></a>00474
<a name="l00475"></a><a class="code" href="structCMarkup_1_1SavedPosMap.html">00475</a> <span class="keyword">struct </span><a class="code" href="structCMarkup_1_1SavedPosMap.html">SavedPosMap</a>
<a name="l00476"></a>00476 {
<a name="l00477"></a>00477 <span class="comment">// SavedPosMap is only created if SavePos/RestorePos are used</span>
<a name="l00478"></a><a class="code" href="structCMarkup_1_1SavedPosMap.html#681e409f964bbd86a088358dffaeb808">00478</a> <a class="code" href="structCMarkup_1_1SavedPosMap.html#681e409f964bbd86a088358dffaeb808">SavedPosMap</a>( <span class="keywordtype">int</span> nSize ) { <a class="code" href="structCMarkup_1_1SavedPosMap.html#b5b1c02cb1321c0f1007dc3cd01a34c7">nMapSize</a>=nSize; <a class="code" href="structCMarkup_1_1SavedPosMap.html#8ebb44e96f6781e5d1d044a18a3d989d">pTable</a> = <span class="keyword">new</span> <a class="code" href="structCMarkup_1_1SavedPos.html">SavedPos</a>*[nSize]; memset(<a class="code" href="structCMarkup_1_1SavedPosMap.html#8ebb44e96f6781e5d1d044a18a3d989d">pTable</a>,0,nSize*<span class="keyword">sizeof</span>(<a class="code" href="structCMarkup_1_1SavedPos.html">SavedPos</a>*)); };
<a name="l00479"></a><a class="code" href="structCMarkup_1_1SavedPosMap.html#b3a7ef305893ba4b6752dea003997c96">00479</a> <a class="code" href="structCMarkup_1_1SavedPosMap.html#b3a7ef305893ba4b6752dea003997c96">~SavedPosMap</a>() { <span class="keywordflow">if</span> (<a class="code" href="structCMarkup_1_1SavedPosMap.html#8ebb44e96f6781e5d1d044a18a3d989d">pTable</a>) { <span class="keywordflow">for</span> (<span class="keywordtype">int</span> n=0;n&lt;<a class="code" href="structCMarkup_1_1SavedPosMap.html#b5b1c02cb1321c0f1007dc3cd01a34c7">nMapSize</a>;++n) <span class="keywordflow">if</span> (<a class="code" href="structCMarkup_1_1SavedPosMap.html#8ebb44e96f6781e5d1d044a18a3d989d">pTable</a>[n]) <span class="keyword">delete</span>[] <a class="code" href="structCMarkup_1_1SavedPosMap.html#8ebb44e96f6781e5d1d044a18a3d989d">pTable</a>[n]; <span class="keyword">delete</span>[] <a class="code" href="structCMarkup_1_1SavedPosMap.html#8ebb44e96f6781e5d1d044a18a3d989d">pTable</a>; } };
<a name="l00480"></a>00480 <a class="code" href="structCMarkup_1_1SavedPos.html">SavedPos</a>** <a class="code" href="structCMarkup_1_1SavedPosMap.html#8ebb44e96f6781e5d1d044a18a3d989d">pTable</a>;
<a name="l00481"></a><a class="code" href="structCMarkup_1_1SavedPosMap.html#b5b1c02cb1321c0f1007dc3cd01a34c7">00481</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1SavedPosMap.html#b5b1c02cb1321c0f1007dc3cd01a34c7">nMapSize</a>;
<a name="l00482"></a>00482 };
<a name="l00483"></a>00483
<a name="l00484"></a><a class="code" href="structCMarkup_1_1SavedPosMapArray.html">00484</a> <span class="keyword">struct </span><a class="code" href="structCMarkup_1_1SavedPosMapArray.html">SavedPosMapArray</a>
<a name="l00485"></a>00485 {
<a name="l00486"></a>00486 <span class="comment">// SavedPosMapArray keeps pointers to SavedPosMap instances</span>
<a name="l00487"></a><a class="code" href="structCMarkup_1_1SavedPosMapArray.html#0fca988b3417d41ccf3e2b3e8fef7483">00487</a> <a class="code" href="structCMarkup_1_1SavedPosMapArray.html#0fca988b3417d41ccf3e2b3e8fef7483">SavedPosMapArray</a>() { <a class="code" href="structCMarkup_1_1SavedPosMapArray.html#719491211d9de2fe06bfadc9a37daf46">pMaps</a> = NULL; };
<a name="l00488"></a><a class="code" href="structCMarkup_1_1SavedPosMapArray.html#6be57f9ebe160aebb464957caa30ddd6">00488</a> <a class="code" href="structCMarkup_1_1SavedPosMapArray.html#6be57f9ebe160aebb464957caa30ddd6">~SavedPosMapArray</a>() { <a class="code" href="structCMarkup_1_1SavedPosMapArray.html#a6db2f1af7ecae5af27aab25e399b94c">RemoveAll</a>(); };
<a name="l00489"></a><a class="code" href="structCMarkup_1_1SavedPosMapArray.html#a6db2f1af7ecae5af27aab25e399b94c">00489</a> <span class="keywordtype">void</span> <a class="code" href="structCMarkup_1_1SavedPosMapArray.html#a6db2f1af7ecae5af27aab25e399b94c">RemoveAll</a>() { <a class="code" href="structCMarkup_1_1SavedPosMap.html">SavedPosMap</a>**p = <a class="code" href="structCMarkup_1_1SavedPosMapArray.html#719491211d9de2fe06bfadc9a37daf46">pMaps</a>; <span class="keywordflow">if</span> (p) { <span class="keywordflow">while</span> (*p) <span class="keyword">delete</span> *p++; <span class="keyword">delete</span>[] <a class="code" href="structCMarkup_1_1SavedPosMapArray.html#719491211d9de2fe06bfadc9a37daf46">pMaps</a>; <a class="code" href="structCMarkup_1_1SavedPosMapArray.html#719491211d9de2fe06bfadc9a37daf46">pMaps</a>=NULL; } };
<a name="l00490"></a>00490 <a class="code" href="structCMarkup_1_1SavedPosMap.html">SavedPosMap</a>** <a class="code" href="structCMarkup_1_1SavedPosMapArray.html#719491211d9de2fe06bfadc9a37daf46">pMaps</a>; <span class="comment">// NULL terminated array</span>
<a name="l00491"></a>00491 };
<a name="l00492"></a><a class="code" href="classCMarkup.html#985f2d24ba021221c567b4bfadf91692">00492</a> <a class="code" href="structCMarkup_1_1SavedPosMapArray.html">SavedPosMapArray</a> <a class="code" href="classCMarkup.html#985f2d24ba021221c567b4bfadf91692">m_SavedPosMapArray</a>;
<a name="l00493"></a>00493
<a name="l00494"></a><a class="code" href="structCMarkup_1_1PosArray.html">00494</a> <span class="keyword">struct </span><a class="code" href="structCMarkup_1_1PosArray.html">PosArray</a>
<a name="l00495"></a>00495 {
<a name="l00496"></a><a class="code" href="structCMarkup_1_1PosArray.html#f207a1d7e582779e134ea06fd1084b23">00496</a> <a class="code" href="structCMarkup_1_1PosArray.html#f207a1d7e582779e134ea06fd1084b23">PosArray</a>() { <a class="code" href="structCMarkup_1_1PosArray.html#b87a18a088c434843048b9d0ecca05aa">Clear</a>(); };
<a name="l00497"></a><a class="code" href="structCMarkup_1_1PosArray.html#9f26a70cee21e757fe372201c57fc117">00497</a> <a class="code" href="structCMarkup_1_1PosArray.html#9f26a70cee21e757fe372201c57fc117">~PosArray</a>() { <a class="code" href="structCMarkup_1_1PosArray.html#02ad3473569ecb5ba38b2327e30be38b">Release</a>(); };
<a name="l00498"></a><a class="code" href="structCMarkup_1_1PosArray.html#af05e51d7ab82e581ed815b584e55b186165b6a4471f37709d3f9b0a9e86c38b">00498</a> <span class="keyword">enum</span> { <a class="code" href="structCMarkup_1_1PosArray.html#af05e51d7ab82e581ed815b584e55b18844e08ddf7ab861559a9b0096fb54a7e">PA_SEGBITS</a> = 16, <a class="code" href="structCMarkup_1_1PosArray.html#af05e51d7ab82e581ed815b584e55b186165b6a4471f37709d3f9b0a9e86c38b">PA_SEGMASK</a> = 0xffff };
<a name="l00499"></a><a class="code" href="structCMarkup_1_1PosArray.html#dad1d0185a26fad9bd391e3c85634103">00499</a> <span class="keywordtype">void</span> <a class="code" href="structCMarkup_1_1PosArray.html#dad1d0185a26fad9bd391e3c85634103">RemoveAll</a>() { <a class="code" href="structCMarkup_1_1PosArray.html#02ad3473569ecb5ba38b2327e30be38b">Release</a>(); <a class="code" href="structCMarkup_1_1PosArray.html#b87a18a088c434843048b9d0ecca05aa">Clear</a>(); };
<a name="l00500"></a><a class="code" href="structCMarkup_1_1PosArray.html#02ad3473569ecb5ba38b2327e30be38b">00500</a> <span class="keywordtype">void</span> <a class="code" href="structCMarkup_1_1PosArray.html#02ad3473569ecb5ba38b2327e30be38b">Release</a>() { <span class="keywordflow">for</span> (<span class="keywordtype">int</span> n=0;n&lt;<a class="code" href="structCMarkup_1_1PosArray.html#0310976aa8e777cb84ab02ddbae8864c">SegsUsed</a>();++n) <span class="keyword">delete</span>[] (<span class="keywordtype">char</span>*)<a class="code" href="structCMarkup_1_1PosArray.html#461f4252ee89f9cfd48d9e2c5ab64baf">pSegs</a>[n]; <span class="keywordflow">if</span> (<a class="code" href="structCMarkup_1_1PosArray.html#461f4252ee89f9cfd48d9e2c5ab64baf">pSegs</a>) <span class="keyword">delete</span>[] (<span class="keywordtype">char</span>*)<a class="code" href="structCMarkup_1_1PosArray.html#461f4252ee89f9cfd48d9e2c5ab64baf">pSegs</a>; };
<a name="l00501"></a><a class="code" href="structCMarkup_1_1PosArray.html#b87a18a088c434843048b9d0ecca05aa">00501</a> <span class="keywordtype">void</span> <a class="code" href="structCMarkup_1_1PosArray.html#b87a18a088c434843048b9d0ecca05aa">Clear</a>() { <a class="code" href="structCMarkup_1_1PosArray.html#0994a05167565499a77d9d9d09711029">nSegs</a>=0; <a class="code" href="structCMarkup_1_1PosArray.html#f7a261e70c4060b8ef5070c0a5e12092">nSize</a>=0; <a class="code" href="structCMarkup_1_1PosArray.html#461f4252ee89f9cfd48d9e2c5ab64baf">pSegs</a>=NULL; };
<a name="l00502"></a><a class="code" href="structCMarkup_1_1PosArray.html#5da61b8563bfa2e82bf4c785bb166f62">00502</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1PosArray.html#5da61b8563bfa2e82bf4c785bb166f62">GetSize</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="structCMarkup_1_1PosArray.html#f7a261e70c4060b8ef5070c0a5e12092">nSize</a>; };
<a name="l00503"></a><a class="code" href="structCMarkup_1_1PosArray.html#0310976aa8e777cb84ab02ddbae8864c">00503</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1PosArray.html#0310976aa8e777cb84ab02ddbae8864c">SegsUsed</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ((<a class="code" href="structCMarkup_1_1PosArray.html#f7a261e70c4060b8ef5070c0a5e12092">nSize</a>-1)&gt;&gt;<a class="code" href="structCMarkup_1_1PosArray.html#af05e51d7ab82e581ed815b584e55b18844e08ddf7ab861559a9b0096fb54a7e">PA_SEGBITS</a>) + 1; };
<a name="l00504"></a><a class="code" href="structCMarkup_1_1PosArray.html#461f4252ee89f9cfd48d9e2c5ab64baf">00504</a> <a class="code" href="structCMarkup_1_1ElemPos.html">ElemPos</a>&amp; <a class="code" href="structCMarkup_1_1PosArray.html#6317965f42dadc70f55c99b547e5d83d">operator[]</a>(<span class="keywordtype">int</span> n)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="structCMarkup_1_1PosArray.html#461f4252ee89f9cfd48d9e2c5ab64baf">pSegs</a>[n&gt;&gt;<a class="code" href="structCMarkup_1_1PosArray.html#af05e51d7ab82e581ed815b584e55b18844e08ddf7ab861559a9b0096fb54a7e">PA_SEGBITS</a>][n&amp;<a class="code" href="structCMarkup_1_1PosArray.html#af05e51d7ab82e581ed815b584e55b186165b6a4471f37709d3f9b0a9e86c38b">PA_SEGMASK</a>]; };
<a name="l00505"></a>00505 <a class="code" href="structCMarkup_1_1ElemPos.html">ElemPos</a>** <a class="code" href="structCMarkup_1_1PosArray.html#461f4252ee89f9cfd48d9e2c5ab64baf">pSegs</a>;
<a name="l00506"></a><a class="code" href="structCMarkup_1_1PosArray.html#f7a261e70c4060b8ef5070c0a5e12092">00506</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1PosArray.html#f7a261e70c4060b8ef5070c0a5e12092">nSize</a>;
<a name="l00507"></a><a class="code" href="structCMarkup_1_1PosArray.html#0994a05167565499a77d9d9d09711029">00507</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1PosArray.html#0994a05167565499a77d9d9d09711029">nSegs</a>;
<a name="l00508"></a>00508 };
<a name="l00509"></a><a class="code" href="classCMarkup.html#89aa5e4c38062a7e826a67695a8d8f37">00509</a> <a class="code" href="structCMarkup_1_1PosArray.html">PosArray</a> <a class="code" href="classCMarkup.html#89aa5e4c38062a7e826a67695a8d8f37">m_aPos</a>;
<a name="l00510"></a>00510
<a name="l00511"></a><a class="code" href="structCMarkup_1_1NodeStack.html">00511</a> <span class="keyword">struct </span><a class="code" href="structCMarkup_1_1NodeStack.html">NodeStack</a>
<a name="l00512"></a>00512 {
<a name="l00513"></a><a class="code" href="structCMarkup_1_1NodeStack.html#de0c540ed4a133345e7c8ec6e05b0b11">00513</a> <a class="code" href="structCMarkup_1_1NodeStack.html#de0c540ed4a133345e7c8ec6e05b0b11">NodeStack</a>() { <a class="code" href="structCMarkup_1_1NodeStack.html#f3e08fa5dce853a6267da9f77ef3f986">nTop</a>=-1; <a class="code" href="structCMarkup_1_1NodeStack.html#7031af9e6f3ceca049b5467b1fd7e478">nSize</a>=0; <a class="code" href="structCMarkup_1_1NodeStack.html#636ddd56b9f0c53d1d8fb98d154b8ce3">pN</a>=NULL; };
<a name="l00514"></a><a class="code" href="structCMarkup_1_1NodeStack.html#6bd62bb0b4c4596016a00eade46cd5ca">00514</a> <a class="code" href="structCMarkup_1_1NodeStack.html#6bd62bb0b4c4596016a00eade46cd5ca">~NodeStack</a>() { <span class="keywordflow">if</span> (<a class="code" href="structCMarkup_1_1NodeStack.html#636ddd56b9f0c53d1d8fb98d154b8ce3">pN</a>) <span class="keyword">delete</span> [] <a class="code" href="structCMarkup_1_1NodeStack.html#636ddd56b9f0c53d1d8fb98d154b8ce3">pN</a>; };
<a name="l00515"></a><a class="code" href="structCMarkup_1_1NodeStack.html#6be20984a9a499498312be0688c54bc5">00515</a> <a class="code" href="structCMarkup_1_1NodePos.html">NodePos</a>&amp; <a class="code" href="structCMarkup_1_1NodeStack.html#6be20984a9a499498312be0688c54bc5">Top</a>() { <span class="keywordflow">return</span> <a class="code" href="structCMarkup_1_1NodeStack.html#636ddd56b9f0c53d1d8fb98d154b8ce3">pN</a>[<a class="code" href="structCMarkup_1_1NodeStack.html#f3e08fa5dce853a6267da9f77ef3f986">nTop</a>]; };
<a name="l00516"></a><a class="code" href="structCMarkup_1_1NodeStack.html#909848e1d3a591d21820d8ba4f03ee0d">00516</a> <a class="code" href="structCMarkup_1_1NodePos.html">NodePos</a>&amp; <a class="code" href="structCMarkup_1_1NodeStack.html#909848e1d3a591d21820d8ba4f03ee0d">At</a>( <span class="keywordtype">int</span> n ) { <span class="keywordflow">return</span> <a class="code" href="structCMarkup_1_1NodeStack.html#636ddd56b9f0c53d1d8fb98d154b8ce3">pN</a>[n]; };
<a name="l00517"></a><a class="code" href="structCMarkup_1_1NodeStack.html#623cec96b6f3f3e246902d32f62244f8">00517</a> <span class="keywordtype">void</span> <a class="code" href="structCMarkup_1_1NodeStack.html#623cec96b6f3f3e246902d32f62244f8">Add</a>() { ++<a class="code" href="structCMarkup_1_1NodeStack.html#f3e08fa5dce853a6267da9f77ef3f986">nTop</a>; <span class="keywordflow">if</span> (<a class="code" href="structCMarkup_1_1NodeStack.html#f3e08fa5dce853a6267da9f77ef3f986">nTop</a>==<a class="code" href="structCMarkup_1_1NodeStack.html#7031af9e6f3ceca049b5467b1fd7e478">nSize</a>) <a class="code" href="structCMarkup_1_1NodeStack.html#ac640e8a348792b4008057f02a3781ff">Alloc</a>(<a class="code" href="structCMarkup_1_1NodeStack.html#7031af9e6f3ceca049b5467b1fd7e478">nSize</a>*2+6); };
<a name="l00518"></a><a class="code" href="structCMarkup_1_1NodeStack.html#4782babbf126c3ff7d3568455e571282">00518</a> <span class="keywordtype">void</span> <a class="code" href="structCMarkup_1_1NodeStack.html#4782babbf126c3ff7d3568455e571282">Remove</a>() { --<a class="code" href="structCMarkup_1_1NodeStack.html#f3e08fa5dce853a6267da9f77ef3f986">nTop</a>; };
<a name="l00519"></a><a class="code" href="structCMarkup_1_1NodeStack.html#4e9aad88e12b7bbabdbb3fd65fc51585">00519</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1NodeStack.html#4e9aad88e12b7bbabdbb3fd65fc51585">TopIndex</a>() { <span class="keywordflow">return</span> <a class="code" href="structCMarkup_1_1NodeStack.html#f3e08fa5dce853a6267da9f77ef3f986">nTop</a>; };
<a name="l00520"></a>00520 <span class="keyword">protected</span>:
<a name="l00521"></a><a class="code" href="structCMarkup_1_1NodeStack.html#ac640e8a348792b4008057f02a3781ff">00521</a> <span class="keywordtype">void</span> <a class="code" href="structCMarkup_1_1NodeStack.html#ac640e8a348792b4008057f02a3781ff">Alloc</a>( <span class="keywordtype">int</span> nNewSize ) { <a class="code" href="structCMarkup_1_1NodePos.html">NodePos</a>* pNNew = <span class="keyword">new</span> <a class="code" href="structCMarkup_1_1NodePos.html">NodePos</a>[nNewSize]; <a class="code" href="structCMarkup_1_1NodeStack.html#499a05e053b785df518fb0b6124fd0ee">Copy</a>(pNNew); <a class="code" href="structCMarkup_1_1NodeStack.html#7031af9e6f3ceca049b5467b1fd7e478">nSize</a>=nNewSize; };
<a name="l00522"></a><a class="code" href="structCMarkup_1_1NodeStack.html#636ddd56b9f0c53d1d8fb98d154b8ce3">00522</a> <span class="keywordtype">void</span> <a class="code" href="structCMarkup_1_1NodeStack.html#499a05e053b785df518fb0b6124fd0ee">Copy</a>( <a class="code" href="structCMarkup_1_1NodePos.html">NodePos</a>* pNNew ) { <span class="keywordflow">for</span>(<span class="keywordtype">int</span> n=0;n&lt;<a class="code" href="structCMarkup_1_1NodeStack.html#7031af9e6f3ceca049b5467b1fd7e478">nSize</a>;++n) pNNew[n]=<a class="code" href="structCMarkup_1_1NodeStack.html#636ddd56b9f0c53d1d8fb98d154b8ce3">pN</a>[n]; <span class="keywordflow">if</span> (<a class="code" href="structCMarkup_1_1NodeStack.html#636ddd56b9f0c53d1d8fb98d154b8ce3">pN</a>) <span class="keyword">delete</span> [] <a class="code" href="structCMarkup_1_1NodeStack.html#636ddd56b9f0c53d1d8fb98d154b8ce3">pN</a>; <a class="code" href="structCMarkup_1_1NodeStack.html#636ddd56b9f0c53d1d8fb98d154b8ce3">pN</a>=pNNew; };
<a name="l00523"></a>00523 <a class="code" href="structCMarkup_1_1NodePos.html">NodePos</a>* <a class="code" href="structCMarkup_1_1NodeStack.html#636ddd56b9f0c53d1d8fb98d154b8ce3">pN</a>;
<a name="l00524"></a><a class="code" href="structCMarkup_1_1NodeStack.html#7031af9e6f3ceca049b5467b1fd7e478">00524</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1NodeStack.html#7031af9e6f3ceca049b5467b1fd7e478">nSize</a>;
<a name="l00525"></a><a class="code" href="structCMarkup_1_1NodeStack.html#f3e08fa5dce853a6267da9f77ef3f986">00525</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1NodeStack.html#f3e08fa5dce853a6267da9f77ef3f986">nTop</a>;
<a name="l00526"></a>00526 };
<a name="l00527"></a>00527
<a name="l00528"></a><a class="code" href="structCMarkup_1_1FilePos.html">00528</a> <span class="keyword">struct </span><a class="code" href="structCMarkup_1_1FilePos.html">FilePos</a>
<a name="l00529"></a>00529 {
<a name="l00530"></a><a class="code" href="structCMarkup_1_1FilePos.html#d5d7584cf09fa60ef62f5c764e1ee158">00530</a> <a class="code" href="structCMarkup_1_1FilePos.html#88d083c8aee934fd42de2950a31d3682">FilePos</a>() { <a class="code" href="structCMarkup_1_1FilePos.html#d5d7584cf09fa60ef62f5c764e1ee158">fp</a> = NULL; <a class="code" href="structCMarkup_1_1FilePos.html#f3c61a69075b838325939fd0e4955751">nDocFlags</a> = 0; <a class="code" href="structCMarkup_1_1FilePos.html#abf2b7dc4b6f910fe45ada3a8d367405">nFileByteLen</a> = 0; };
<a name="l00531"></a>00531 FILE* <a class="code" href="structCMarkup_1_1FilePos.html#d5d7584cf09fa60ef62f5c764e1ee158">fp</a>;
<a name="l00532"></a><a class="code" href="structCMarkup_1_1FilePos.html#f3c61a69075b838325939fd0e4955751">00532</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1FilePos.html#f3c61a69075b838325939fd0e4955751">nDocFlags</a>;
<a name="l00533"></a><a class="code" href="structCMarkup_1_1FilePos.html#abf2b7dc4b6f910fe45ada3a8d367405">00533</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1FilePos.html#abf2b7dc4b6f910fe45ada3a8d367405">nFileByteLen</a>;
<a name="l00534"></a><a class="code" href="structCMarkup_1_1FilePos.html#37e43f21dfee719038602c84756c8059">00534</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1FilePos.html#37e43f21dfee719038602c84756c8059">nReadByteLen</a>;
<a name="l00535"></a><a class="code" href="structCMarkup_1_1FilePos.html#406f0760fdd5875ace5111b1d6908a99">00535</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1FilePos.html#406f0760fdd5875ace5111b1d6908a99">nFileCharUnitSize</a>;
<a name="l00536"></a><a class="code" href="structCMarkup_1_1FilePos.html#3635096138ee3ce3ce5f9327b20438a4">00536</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1FilePos.html#3635096138ee3ce3ce5f9327b20438a4">nFileTextLen</a>;
<a name="l00537"></a><a class="code" href="structCMarkup_1_1FilePos.html#62db77f82233f3244272eb973a9ecfc8">00537</a> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="structCMarkup_1_1FilePos.html#62db77f82233f3244272eb973a9ecfc8">strIOResult</a>;
<a name="l00538"></a><a class="code" href="structCMarkup_1_1FilePos.html#b507cbd49031186d4b3fbf7d2d009c75">00538</a> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="structCMarkup_1_1FilePos.html#b507cbd49031186d4b3fbf7d2d009c75">strEncoding</a>;
<a name="l00539"></a>00539 };
<a name="l00540"></a>00540
<a name="l00541"></a><a class="code" href="structCMarkup_1_1ConvertEncoding.html">00541</a> <span class="keyword">struct </span><a class="code" href="structCMarkup_1_1ConvertEncoding.html">ConvertEncoding</a>
<a name="l00542"></a>00542 {
<a name="l00543"></a><a class="code" href="structCMarkup_1_1ConvertEncoding.html#52cfe3e75ff550c9ed4f4b472280192b">00543</a> <a class="code" href="structCMarkup_1_1ConvertEncoding.html#52cfe3e75ff550c9ed4f4b472280192b">ConvertEncoding</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> pszToEncoding, <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> pszFromEncoding, <span class="keyword">const</span> <span class="keywordtype">void</span>* pFromBuffer, <span class="keywordtype">int</span> nFromBufferLen )
<a name="l00544"></a>00544 {
<a name="l00545"></a>00545 <a class="code" href="structCMarkup_1_1ConvertEncoding.html#cc2420305e7cfa6c9d18f7ce9daa4313">strToEncoding</a> = pszToEncoding;
<a name="l00546"></a>00546 <a class="code" href="structCMarkup_1_1ConvertEncoding.html#8ab5d602610c46eb26d0fbf8a39b2da8">strFromEncoding</a> = pszFromEncoding;
<a name="l00547"></a>00547 <a class="code" href="structCMarkup_1_1ConvertEncoding.html#9647b6f60d353bd8af2ff462ff451b4d">pFrom</a> = pFromBuffer;
<a name="l00548"></a>00548 <a class="code" href="structCMarkup_1_1ConvertEncoding.html#4b5e6d28cc2e909e2ac0d164cd00d53c">nFromLen</a> = nFromBufferLen;
<a name="l00549"></a>00549 <a class="code" href="structCMarkup_1_1ConvertEncoding.html#bfd8cc96d41531109b9301b4d28a695f">nFailedChars</a> = 0;
<a name="l00550"></a>00550 <a class="code" href="structCMarkup_1_1ConvertEncoding.html#9fe87df87a339214df5e30bce32edcf4">nToCount</a> = 0;
<a name="l00551"></a><a class="code" href="structCMarkup_1_1ConvertEncoding.html#cc2420305e7cfa6c9d18f7ce9daa4313">00551</a> };
<a name="l00552"></a>00552 <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="structCMarkup_1_1ConvertEncoding.html#cc2420305e7cfa6c9d18f7ce9daa4313">strToEncoding</a>;
<a name="l00553"></a><a class="code" href="structCMarkup_1_1ConvertEncoding.html#8ab5d602610c46eb26d0fbf8a39b2da8">00553</a> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="structCMarkup_1_1ConvertEncoding.html#8ab5d602610c46eb26d0fbf8a39b2da8">strFromEncoding</a>;
<a name="l00554"></a><a class="code" href="structCMarkup_1_1ConvertEncoding.html#9647b6f60d353bd8af2ff462ff451b4d">00554</a> <span class="keyword">const</span> <span class="keywordtype">void</span>* <a class="code" href="structCMarkup_1_1ConvertEncoding.html#9647b6f60d353bd8af2ff462ff451b4d">pFrom</a>;
<a name="l00555"></a><a class="code" href="structCMarkup_1_1ConvertEncoding.html#4b5e6d28cc2e909e2ac0d164cd00d53c">00555</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1ConvertEncoding.html#4b5e6d28cc2e909e2ac0d164cd00d53c">nFromLen</a>;
<a name="l00556"></a><a class="code" href="structCMarkup_1_1ConvertEncoding.html#9fe87df87a339214df5e30bce32edcf4">00556</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1ConvertEncoding.html#9fe87df87a339214df5e30bce32edcf4">nToCount</a>;
<a name="l00557"></a><a class="code" href="structCMarkup_1_1ConvertEncoding.html#bfd8cc96d41531109b9301b4d28a695f">00557</a> <span class="keywordtype">int</span> <a class="code" href="structCMarkup_1_1ConvertEncoding.html#bfd8cc96d41531109b9301b4d28a695f">nFailedChars</a>;
<a name="l00558"></a>00558 };
<a name="l00559"></a>00559
<a name="l00560"></a><a class="code" href="classCMarkup.html#b64a1aaeaef4deab466af63b9bb82924">00560</a> <span class="keywordtype">void</span> <a class="code" href="classCMarkup.html#b64a1aaeaef4deab466af63b9bb82924">x_SetPos</a>( <span class="keywordtype">int</span> iPosParent, <span class="keywordtype">int</span> iPos, <span class="keywordtype">int</span> iPosChild )
<a name="l00561"></a>00561 {
<a name="l00562"></a>00562 <a class="code" href="classCMarkup.html#f4be33a1bc8a5b2b5ca34ee59b11d702">m_iPosParent</a> = iPosParent;
<a name="l00563"></a>00563 <a class="code" href="classCMarkup.html#1192dbba85b74f3346dfd042ed7f0b59">m_iPos</a> = iPos;
<a name="l00564"></a>00564 <a class="code" href="classCMarkup.html#b9070540ecb1b4da5c30a680718cf73a">m_iPosChild</a> = iPosChild;
<a name="l00565"></a>00565 <a class="code" href="classCMarkup.html#d77ce81fd0904864ab22102e77278d34">m_nNodeOffset</a> = 0;
<a name="l00566"></a>00566 <a class="code" href="classCMarkup.html#7a44f2bbea27d673864a1b8ebe13da1b">m_nNodeLength</a> = 0;
<a name="l00567"></a>00567 <a class="code" href="classCMarkup.html#eab284b217377eb56252a35094872499">m_nNodeType</a> = iPos?<a class="code" href="classCMarkup.html#a7f0377cbea81f5b932347af5fafab689b3fc0d8f9bd45a9c917a064fef42f5d">MNT_ELEMENT</a>:0;
<a name="l00568"></a>00568 <a class="code" href="Markup_8h.html#eb217cbc320c044ab434a9765f3c43da">MARKUP_SETDEBUGSTATE</a>;
<a name="l00569"></a>00569 };
<a name="l00570"></a><a class="code" href="classCMarkup.html#43983d1f3627432ce893f5e0898848f2">00570</a> <span class="keywordtype">int</span> <a class="code" href="classCMarkup.html#43983d1f3627432ce893f5e0898848f2">x_GetFreePos</a>()
<a name="l00571"></a>00571 {
<a name="l00572"></a>00572 <span class="keywordflow">if</span> ( <a class="code" href="classCMarkup.html#d81bcd568dabbf0798a61bb8439b2f35">m_iPosFree</a> == <a class="code" href="classCMarkup.html#89aa5e4c38062a7e826a67695a8d8f37">m_aPos</a>.<a class="code" href="structCMarkup_1_1PosArray.html#5da61b8563bfa2e82bf4c785bb166f62">GetSize</a>() )
<a name="l00573"></a>00573 <a class="code" href="classCMarkup.html#68cb62765d67e529b04134f561851342">x_AllocPosArray</a>();
<a name="l00574"></a>00574 <span class="keywordflow">return</span> <a class="code" href="classCMarkup.html#d81bcd568dabbf0798a61bb8439b2f35">m_iPosFree</a>++;
<a name="l00575"></a>00575 };
<a name="l00576"></a>00576 <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#68cb62765d67e529b04134f561851342">x_AllocPosArray</a>( <span class="keywordtype">int</span> nNewSize = 0 );
<a name="l00577"></a>00577
<a name="l00578"></a><a class="code" href="classCMarkup.html#6ce98f8685f47a0d5457ade12a9b500f">00578</a> <span class="keywordtype">void</span> <a class="code" href="classCMarkup.html#6ce98f8685f47a0d5457ade12a9b500f">InitDocFlags</a>()
<a name="l00579"></a>00579 {
<a name="l00580"></a>00580 <span class="comment">// To always ignore case, define MARKUP_IGNORECASE</span>
<a name="l00581"></a>00581 <span class="preprocessor">#if defined(MARKUP_IGNORECASE) // ignore case</span>
<a name="l00582"></a>00582 <span class="preprocessor"></span> <a class="code" href="classCMarkup.html#8afd7a85e8329a72bc58f9aa97626d74">m_nDocFlags</a> = <a class="code" href="classCMarkup.html#c7127c7bea2c8b0be6c828b607e8554b725e9783bc1deedb0c3b98e82a5707c1">MDF_IGNORECASE</a>;
<a name="l00583"></a>00583 <span class="preprocessor">#else // not ignore case</span>
<a name="l00584"></a>00584 <span class="preprocessor"></span> <a class="code" href="classCMarkup.html#8afd7a85e8329a72bc58f9aa97626d74">m_nDocFlags</a> = 0;
<a name="l00585"></a>00585 <span class="preprocessor">#endif // not ignore case</span>
<a name="l00586"></a>00586 <span class="preprocessor"></span> };
<a name="l00587"></a>00587
<a name="l00588"></a>00588 <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#380c4a7ec48c76192c812e647a4a7e4e">x_ParseDoc</a>();
<a name="l00589"></a>00589 <span class="keywordtype">int</span> <a class="code" href="classCMarkup.html#c92b4883b891cb7f1c293c4801f5963c">x_ParseElem</a>( <span class="keywordtype">int</span> iPos, TokenPos&amp; token );
<a name="l00590"></a>00590 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#ce7bf02a001c0ff3b33142e936c4415f">x_FindAny</a>( <a class="code" href="Markup_8h.html#edde484976c7ebb2e31d6be23e669128">MCD_PCSZ</a> pDoc, <span class="keywordtype">int</span>&amp; nChar );
<a name="l00591"></a>00591 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#873190d7a7ce765cb6c14f0a3f9758dc">x_FindName</a>( TokenPos&amp; token );
<a name="l00592"></a>00592 <span class="keyword">static</span> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="classCMarkup.html#aeb5a1390a8c97c469ade070acb5d710">x_GetToken</a>( <span class="keyword">const</span> TokenPos&amp; token );
<a name="l00593"></a>00593 <span class="keywordtype">int</span> <a class="code" href="classCMarkup.html#6d2f2950334d6e3e126ee5e8574f77b4">x_FindElem</a>( <span class="keywordtype">int</span> iPosParent, <span class="keywordtype">int</span> iPos, <a class="code" href="Markup_8h.html#edde484976c7ebb2e31d6be23e669128">MCD_PCSZ</a> szPath ) <span class="keyword">const</span>;
<a name="l00594"></a>00594 <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="classCMarkup.html#cc202d08dd9465e74b26e9275a740356">x_GetPath</a>( <span class="keywordtype">int</span> iPos ) <span class="keyword">const</span>;
<a name="l00595"></a>00595 <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="classCMarkup.html#10cf51b58f6c144f4b7dd1c577277bee">x_GetTagName</a>( <span class="keywordtype">int</span> iPos ) <span class="keyword">const</span>;
<a name="l00596"></a>00596 <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="classCMarkup.html#3ce9132cb71e0b343141a7ba3102cea6">x_GetData</a>( <span class="keywordtype">int</span> iPos ) <span class="keyword">const</span>;
<a name="l00597"></a>00597 <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="classCMarkup.html#e92d1478dd44c06bd366b5f26f8a5fe2">x_GetAttrib</a>( <span class="keywordtype">int</span> iPos, <a class="code" href="Markup_8h.html#edde484976c7ebb2e31d6be23e669128">MCD_PCSZ</a> pAttrib ) <span class="keyword">const</span>;
<a name="l00598"></a>00598 <span class="keyword">static</span> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="classCMarkup.html#4a107f60dd4e52ef64117cf460da9381">x_EncodeCDATASection</a>( <a class="code" href="Markup_8h.html#edde484976c7ebb2e31d6be23e669128">MCD_PCSZ</a> szData );
<a name="l00599"></a>00599 <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#838bd93651009a22d8feeaa080b1bc1e">x_AddElem</a>( <a class="code" href="Markup_8h.html#edde484976c7ebb2e31d6be23e669128">MCD_PCSZ</a> pName, <a class="code" href="Markup_8h.html#edde484976c7ebb2e31d6be23e669128">MCD_PCSZ</a> pValue, <span class="keywordtype">int</span> nFlags );
<a name="l00600"></a>00600 <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#838bd93651009a22d8feeaa080b1bc1e">x_AddElem</a>( <a class="code" href="Markup_8h.html#edde484976c7ebb2e31d6be23e669128">MCD_PCSZ</a> pName, <span class="keywordtype">int</span> nValue, <span class="keywordtype">int</span> nFlags );
<a name="l00601"></a>00601 <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="classCMarkup.html#4af006666be13b4c295823a343c3ba76">x_GetSubDoc</a>( <span class="keywordtype">int</span> iPos ) <span class="keyword">const</span>;
<a name="l00602"></a>00602 <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#9b842e3673c7ee3da3eaeaa1dfb8c204">x_AddSubDoc</a>( <a class="code" href="Markup_8h.html#edde484976c7ebb2e31d6be23e669128">MCD_PCSZ</a> pSubDoc, <span class="keywordtype">int</span> nFlags );
<a name="l00603"></a>00603 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#dcd241445e2bca6e1f05fa28babbc5a1">x_FindAttrib</a>( TokenPos&amp; token, <a class="code" href="Markup_8h.html#edde484976c7ebb2e31d6be23e669128">MCD_PCSZ</a> pAttrib, <span class="keywordtype">int</span> n=0 );
<a name="l00604"></a>00604 <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#5716401661aa51b04936c9f7df163ba7">x_SetAttrib</a>( <span class="keywordtype">int</span> iPos, <a class="code" href="Markup_8h.html#edde484976c7ebb2e31d6be23e669128">MCD_PCSZ</a> pAttrib, <a class="code" href="Markup_8h.html#edde484976c7ebb2e31d6be23e669128">MCD_PCSZ</a> pValue, <span class="keywordtype">int</span> nFlags=0 );
<a name="l00605"></a>00605 <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#5716401661aa51b04936c9f7df163ba7">x_SetAttrib</a>( <span class="keywordtype">int</span> iPos, <a class="code" href="Markup_8h.html#edde484976c7ebb2e31d6be23e669128">MCD_PCSZ</a> pAttrib, <span class="keywordtype">int</span> nValue, <span class="keywordtype">int</span> nFlags=0 );
<a name="l00606"></a>00606 <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#d556122bb3c73aff12e7fb84b4318d0d">x_AddNode</a>( <span class="keywordtype">int</span> nNodeType, <a class="code" href="Markup_8h.html#edde484976c7ebb2e31d6be23e669128">MCD_PCSZ</a> pText, <span class="keywordtype">int</span> nNodeFlags );
<a name="l00607"></a>00607 <span class="keywordtype">void</span> <a class="code" href="classCMarkup.html#64af7284f3c7c8babdaa5248b52a0f04">x_RemoveNode</a>( <span class="keywordtype">int</span> iPosParent, <span class="keywordtype">int</span>&amp; iPos, <span class="keywordtype">int</span>&amp; nNodeType, <span class="keywordtype">int</span>&amp; nNodeOffset, <span class="keywordtype">int</span>&amp; nNodeLength );
<a name="l00608"></a>00608 <span class="keywordtype">void</span> <a class="code" href="classCMarkup.html#dcdad1f2e782ce519675ceaae421da8d">x_AdjustForNode</a>( <span class="keywordtype">int</span> iPosParent, <span class="keywordtype">int</span> iPos, <span class="keywordtype">int</span> nShift );
<a name="l00609"></a>00609 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#43c780106bb839a6ba17a4f222ebc47c">x_CreateNode</a>( <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a>&amp; strNode, <span class="keywordtype">int</span> nNodeType, <a class="code" href="Markup_8h.html#edde484976c7ebb2e31d6be23e669128">MCD_PCSZ</a> pText );
<a name="l00610"></a>00610 <span class="keywordtype">int</span> <a class="code" href="classCMarkup.html#108530f8ed1d5b954109335556e752fc">x_InsertNew</a>( <span class="keywordtype">int</span> iPosParent, <span class="keywordtype">int</span>&amp; iPosRel, NodePos&amp; node );
<a name="l00611"></a>00611 <span class="keywordtype">void</span> <a class="code" href="classCMarkup.html#6840b6b96252adfc63ab6576f09b6ced">x_LinkElem</a>( <span class="keywordtype">int</span> iPosParent, <span class="keywordtype">int</span> iPosBefore, <span class="keywordtype">int</span> iPos );
<a name="l00612"></a>00612 <span class="keywordtype">int</span> <a class="code" href="classCMarkup.html#a730d3e5c3fae0cb214f9933889957f7">x_UnlinkElem</a>( <span class="keywordtype">int</span> iPos );
<a name="l00613"></a>00613 <span class="keywordtype">int</span> <a class="code" href="classCMarkup.html#2cdb9e0924114a8b1274be02dc675a78">x_ReleaseSubDoc</a>( <span class="keywordtype">int</span> iPos );
<a name="l00614"></a>00614 <span class="keywordtype">int</span> <a class="code" href="classCMarkup.html#d468ae1a39272fca4e53588906267ff4">x_ReleasePos</a>( <span class="keywordtype">int</span> iPos );
<a name="l00615"></a>00615 <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#59332dee2e4c9f69b49412f0fad6874a">x_GetMap</a>( SavedPosMap*&amp; pMap, <span class="keywordtype">int</span> nMap, <span class="keywordtype">int</span> nMapSize = 7 );
<a name="l00616"></a>00616 <span class="keywordtype">void</span> <a class="code" href="classCMarkup.html#30aa7b46d2e888309de99dae0b186f88">x_CheckSavedPos</a>();
<a name="l00617"></a>00617 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classCMarkup.html#0d02b41058d6949dd83496d20532e7b3">x_ParseNode</a>( TokenPos&amp; token, NodePos&amp; node );
<a name="l00618"></a>00618 <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#e55b7533359dd64e5528f4ab31ef6912">x_SetData</a>( <span class="keywordtype">int</span> iPos, <a class="code" href="Markup_8h.html#edde484976c7ebb2e31d6be23e669128">MCD_PCSZ</a> szData, <span class="keywordtype">int</span> nFlags );
<a name="l00619"></a>00619 <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#e55b7533359dd64e5528f4ab31ef6912">x_SetData</a>( <span class="keywordtype">int</span> iPos, <span class="keywordtype">int</span> nValue );
<a name="l00620"></a>00620 <span class="keywordtype">int</span> <a class="code" href="classCMarkup.html#4104ccf277f80f08a999b95e8d4afb47">x_RemoveElem</a>( <span class="keywordtype">int</span> iPos );
<a name="l00621"></a>00621 <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="classCMarkup.html#24cdcb05636e244edf60450b3578f986">x_GetElemContent</a>( <span class="keywordtype">int</span> iPos ) <span class="keyword">const</span>;
<a name="l00622"></a>00622 <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#6f23aa890945aabddab25986b18a8eac">x_SetElemContent</a>( <a class="code" href="Markup_8h.html#edde484976c7ebb2e31d6be23e669128">MCD_PCSZ</a> szContent );
<a name="l00623"></a>00623 <span class="keywordtype">void</span> <a class="code" href="classCMarkup.html#1820bec7304749b944d3d3f78184878b">x_DocChange</a>( <span class="keywordtype">int</span> nLeft, <span class="keywordtype">int</span> nReplace, <span class="keyword">const</span> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a>&amp; strInsert );
<a name="l00624"></a>00624 <span class="keywordtype">void</span> <a class="code" href="classCMarkup.html#b9d78278bfb6a7d3799e0289744da98d">x_Adjust</a>( <span class="keywordtype">int</span> iPos, <span class="keywordtype">int</span> nShift, <span class="keywordtype">bool</span> bAfterPos = <span class="keyword">false</span> );
<a name="l00625"></a>00625 <span class="keyword">static</span> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="classCMarkup.html#7a902073dcce3edc449753cb5e8bac4c">x_GetLastError</a>();
<a name="l00626"></a><a class="code" href="classCMarkup.html#e0869e4876675e0272ab21aa4d5c1058">00626</a> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classCMarkup.html#e0869e4876675e0272ab21aa4d5c1058">x_Hash</a>( <a class="code" href="Markup_8h.html#edde484976c7ebb2e31d6be23e669128">MCD_PCSZ</a> p, <span class="keywordtype">int</span> nSize ) { <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> n=0; <span class="keywordflow">while</span> (*p) n += (<span class="keywordtype">unsigned</span> int)(*p++); <span class="keywordflow">return</span> n % nSize; };
<a name="l00627"></a>00627 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classCMarkup.html#de551e17e600f8e6ec17bf7a46325285">x_GetEncodingCodePage</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> psz7Encoding );
<a name="l00628"></a>00628 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#bf802e6db6a9a527e0d01d5e69a2464a">x_EndianSwapRequired</a>( <span class="keywordtype">int</span> nDocFlags );
<a name="l00629"></a>00629 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classCMarkup.html#7222375779b91c2b4788057596ff89e4">x_EndianSwapUTF16</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span>* pUTF16, <span class="keywordtype">int</span> nCharLen );
<a name="l00630"></a>00630 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#9db481bb33df7a9ef1e705f323e41ba8">x_CanConvert</a>( <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> pszToEnc, <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> pszFromEnc );
<a name="l00631"></a>00631 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classCMarkup.html#5910cc7afd5ec31d3ac60e8a7979efa7">x_ConvertEncoding</a>( ConvertEncoding&amp; convert, <span class="keywordtype">void</span>* pTo );
<a name="l00632"></a>00632 <span class="preprocessor">#if defined(MARKUP_ICONV)</span>
<a name="l00633"></a>00633 <span class="preprocessor"></span> <span class="keyword">static</span> <span class="keywordtype">int</span> x_IConv( ConvertEncoding&amp; convert, <span class="keywordtype">void</span>* pTo, <span class="keywordtype">int</span> nToCharSize, <span class="keywordtype">int</span> nFromCharSize );
<a name="l00634"></a>00634 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* x_IConvName( <span class="keywordtype">char</span>* szEncoding, <a class="code" href="structMCD__CSTR.html">MCD_CSTR</a> pszEncoding );
<a name="l00635"></a>00635 <span class="preprocessor">#endif</span>
<a name="l00636"></a>00636 <span class="preprocessor"></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#93b3532501aec423a2ab6f21c0cd9737">x_Open</a>( <a class="code" href="Markup_8h.html#b7f2fa74461b566c44371deb46c73de2">MCD_CSTR_FILENAME</a> szFileName, FilePos&amp; file );
<a name="l00637"></a>00637 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#964ac1162ed011717ccafad4316b8d6f">x_Read</a>( <span class="keywordtype">void</span>* pBuffer, FilePos&amp; file );
<a name="l00638"></a>00638 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#afa2fa03d13b7be7b26dd310d61b690c">x_ReadText</a>( <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a>&amp; strDoc, FilePos&amp; file );
<a name="l00639"></a>00639 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#01ba599cf9cc448581f2e8bcf994c253">x_Write</a>( <span class="keywordtype">void</span>* pBuffer, FilePos&amp; file, <span class="keyword">const</span> <span class="keywordtype">void</span>* pConstBuffer = NULL );
<a name="l00640"></a>00640 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#f3b30bc5314bbc8d157dca6d924f4852">x_WriteText</a>( <span class="keyword">const</span> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a>&amp; strDoc, FilePos&amp; file );
<a name="l00641"></a>00641 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classCMarkup.html#e7a551c23d0d5c9aef4ef89ac81d6c83">x_Close</a>( FilePos&amp; file );
<a name="l00642"></a><a class="code" href="classCMarkup.html#b4aa747f9324f96cbf41e80932723233">00642</a> <span class="keyword">static</span> <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> <a class="code" href="classCMarkup.html#b4aa747f9324f96cbf41e80932723233">x_IntToStr</a>( <span class="keywordtype">int</span> n ) { <a class="code" href="Markup_8h.html#12bf56fe481c397f8df59076c90c45a6">MCD_CHAR</a> sz[25]; <a class="code" href="Markup_8h.html#fdebb4fe97791f466e9e52337e36e707">MCD_SPRINTF</a>(<a class="code" href="Markup_8h.html#c327a6af700343d0cced4ed2bf855460">MCD_SSZ</a>(sz),<a class="code" href="Markup_8h.html#3717b2fa88d73f5f346ec6efdfbe2032">MCD_T</a>(<span class="stringliteral">"%d"</span>),n); <a class="code" href="Markup_8h.html#1b37b66197558752f7dfcdb82011648b">MCD_STR</a> s=sz; <span class="keywordflow">return</span> s; };
<a name="l00643"></a>00643 };
<a name="l00644"></a>00644
<a name="l00645"></a>00645 <span class="preprocessor">#endif // !defined(_MARKUP_H_INCLUDED_)</span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Aug 16 20:53:42 2009 for Neural++ by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>
</html>