<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Xalan-C++ API : Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<!-- The head section is copied from Doxygen 1.7.1 generated default output -->
<body>
<h2 align="center">Xalan-C++ API Documentation</h2>
<h3 align="center"><a href="../index.html">The Xalan C++ XSLT Processor Version 1.11</a></h3>
<hr/>
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</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>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
<div class="header">
  <div class="headertitle">
<h1>StringTokenizer.hpp</h1>  </div>
</div>
<div class="contents">
<a href="StringTokenizer_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span>
<a name="l00003"></a>00003 <span class="comment"> * or more contributor license agreements. See the NOTICE file</span>
<a name="l00004"></a>00004 <span class="comment"> * distributed with this work for additional information</span>
<a name="l00005"></a>00005 <span class="comment"> * regarding copyright ownership. The ASF licenses this file</span>
<a name="l00006"></a>00006 <span class="comment"> * to you under the Apache License, Version 2.0 (the  &quot;License&quot;);</span>
<a name="l00007"></a>00007 <span class="comment"> * you may not use this file except in compliance with the License.</span>
<a name="l00008"></a>00008 <span class="comment"> * You may obtain a copy of the License at</span>
<a name="l00009"></a>00009 <span class="comment"> *</span>
<a name="l00010"></a>00010 <span class="comment"> *     http://www.apache.org/licenses/LICENSE-2.0</span>
<a name="l00011"></a>00011 <span class="comment"> *</span>
<a name="l00012"></a>00012 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span>
<a name="l00013"></a>00013 <span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
<a name="l00014"></a>00014 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
<a name="l00015"></a>00015 <span class="comment"> * See the License for the specific language governing permissions and</span>
<a name="l00016"></a>00016 <span class="comment"> * limitations under the License.</span>
<a name="l00017"></a>00017 <span class="comment"> */</span>
<a name="l00018"></a>00018 <span class="preprocessor">#if !defined(STRINGTOKENIZER_HEADER_GUARD_1357924680)</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define STRINGTOKENIZER_HEADER_GUARD_1357924680</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span>
<a name="l00021"></a>00021 
<a name="l00022"></a>00022 
<a name="l00023"></a>00023 <span class="comment">// Base include file.  Must be first.</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="PlatformSupportDefinitions_8hpp.html">xalanc/PlatformSupport/PlatformSupportDefinitions.hpp</a>&gt;</span>
<a name="l00025"></a>00025 
<a name="l00026"></a>00026 
<a name="l00027"></a>00027 
<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;<a class="code" href="XalanDOMString_8hpp.html">xalanc/XalanDOM/XalanDOMString.hpp</a>&gt;</span>
<a name="l00029"></a>00029 
<a name="l00030"></a>00030 
<a name="l00031"></a>00031 
<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;<a class="code" href="DOMStringHelper_8hpp.html">xalanc/PlatformSupport/DOMStringHelper.hpp</a>&gt;</span>
<a name="l00033"></a>00033 
<a name="l00034"></a>00034 
<a name="l00035"></a>00035 
<a name="l00036"></a>00036 XALAN_CPP_NAMESPACE_BEGIN
<a name="l00037"></a>00037 
<a name="l00038"></a>00038 
<a name="l00039"></a>00039 
<a name="l00040"></a><a class="code" href="classStringTokenizer.html">00040</a> <span class="keyword">class </span><a class="code" href="PlatformSupportDefinitions_8hpp.html#a72e8d5d428f0210697564ce111006fde">XALAN_PLATFORMSUPPORT_EXPORT</a> <a class="code" href="classStringTokenizer.html">StringTokenizer</a>
<a name="l00041"></a>00041 {
<a name="l00042"></a>00042 <span class="keyword">public</span>:
<a name="l00043"></a>00043 
<a name="l00044"></a><a class="code" href="classStringTokenizer.html#aea113a60f41b3a554b157ef42ef100e9">00044</a>     <span class="keyword">static</span> <span class="keyword">const</span> XalanDOMChar   s_defaultTokens[];
<a name="l00045"></a>00045 
<a name="l00046"></a><a class="code" href="classStringTokenizer.html#a5a7d346fff7b5beb0ef0aa4e0d09a50b">00046</a>     <span class="keyword">typedef</span> <span class="keywordtype">size_t</span>  size_type;
<a name="l00047"></a>00047 <span class="comment"></span>
<a name="l00048"></a>00048 <span class="comment">    /**</span>
<a name="l00049"></a>00049 <span class="comment">     * Constructs a tokenizer for the target string.  No copies of any input</span>
<a name="l00050"></a>00050 <span class="comment">     * strings are made.</span>
<a name="l00051"></a>00051 <span class="comment">     *</span>
<a name="l00052"></a>00052 <span class="comment">     * @param theString     string to tokenize</span>
<a name="l00053"></a>00053 <span class="comment">     * @param theTokens     string of delimiters used to parse target, default</span>
<a name="l00054"></a>00054 <span class="comment">     *                      is &quot; \t\n\r&quot;</span>
<a name="l00055"></a>00055 <span class="comment">     * @param fReturnTokens if true, delimiter characters are also returned</span>
<a name="l00056"></a>00056 <span class="comment">     *                      as tokens, default is false</span>
<a name="l00057"></a>00057 <span class="comment">     */</span>
<a name="l00058"></a>00058     <a class="code" href="classStringTokenizer.html">StringTokenizer</a>(<span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   theString,
<a name="l00059"></a>00059                     <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   theTokens,
<a name="l00060"></a>00060                     <span class="keywordtype">bool</span>                    fReturnTokens = <span class="keyword">false</span>);
<a name="l00061"></a>00061 <span class="comment"></span>
<a name="l00062"></a>00062 <span class="comment">    /**</span>
<a name="l00063"></a>00063 <span class="comment">     * Constructs a tokenizer for the target string.  No copies of any input</span>
<a name="l00064"></a>00064 <span class="comment">     * strings are made.</span>
<a name="l00065"></a>00065 <span class="comment">     * </span>
<a name="l00066"></a>00066 <span class="comment">     * @param theString     string to tokenize</span>
<a name="l00067"></a>00067 <span class="comment">     * @param theTokens     string of delimiters used to parse target, default</span>
<a name="l00068"></a>00068 <span class="comment">     *                      is &quot; \t\n\r&quot;</span>
<a name="l00069"></a>00069 <span class="comment">     * @param fReturnTokens if true, delimiter characters are also returned</span>
<a name="l00070"></a>00070 <span class="comment">     *                      as tokens, default is false</span>
<a name="l00071"></a>00071 <span class="comment">     */</span>
<a name="l00072"></a>00072     <a class="code" href="classStringTokenizer.html">StringTokenizer</a>(<span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   theString,
<a name="l00073"></a>00073                     <span class="keyword">const</span> XalanDOMChar*     theTokens = s_defaultTokens,
<a name="l00074"></a>00074                     <span class="keywordtype">bool</span>                    fReturnTokens = <span class="keyword">false</span>);
<a name="l00075"></a>00075 <span class="comment"></span>
<a name="l00076"></a>00076 <span class="comment">    /**</span>
<a name="l00077"></a>00077 <span class="comment">     * Constructs a tokenizer for the target string.  No copies of any input</span>
<a name="l00078"></a>00078 <span class="comment">     * strings are made.</span>
<a name="l00079"></a>00079 <span class="comment">     *</span>
<a name="l00080"></a>00080 <span class="comment">     * @param theString     string to tokenize</span>
<a name="l00081"></a>00081 <span class="comment">     * @param theTokens     string of delimiters used to parse target.</span>
<a name="l00082"></a>00082 <span class="comment">     * @param fReturnTokens if true, delimiter characters are also returned</span>
<a name="l00083"></a>00083 <span class="comment">     *                      as tokens, default is false</span>
<a name="l00084"></a>00084 <span class="comment">     */</span>
<a name="l00085"></a>00085     <a class="code" href="classStringTokenizer.html">StringTokenizer</a>(<span class="keyword">const</span> XalanDOMChar*     theString,
<a name="l00086"></a>00086                     <span class="keyword">const</span> XalanDOMChar*     theTokens = s_defaultTokens,
<a name="l00087"></a>00087                     <span class="keywordtype">bool</span>                    fReturnTokens = <span class="keyword">false</span>);
<a name="l00088"></a>00088 <span class="comment"></span>
<a name="l00089"></a>00089 <span class="comment">    /**</span>
<a name="l00090"></a>00090 <span class="comment">     * Constructs a tokenizer for the target string.  No copies of any input</span>
<a name="l00091"></a>00091 <span class="comment">     * strings are made.</span>
<a name="l00092"></a>00092 <span class="comment">     *</span>
<a name="l00093"></a>00093 <span class="comment">     * @param theString     string to tokenize</span>
<a name="l00094"></a>00094 <span class="comment">     * @param theTokens     string of delimiters used to parse target.</span>
<a name="l00095"></a>00095 <span class="comment">     * @param fReturnTokens if true, delimiter characters are also returned</span>
<a name="l00096"></a>00096 <span class="comment">     *                      as tokens, default is false</span>
<a name="l00097"></a>00097 <span class="comment">     */</span>
<a name="l00098"></a>00098     <a class="code" href="classStringTokenizer.html">StringTokenizer</a>(<span class="keyword">const</span> XalanDOMChar*     theString,
<a name="l00099"></a>00099                     <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   theTokens,
<a name="l00100"></a>00100                     <span class="keywordtype">bool</span>                    fReturnTokens = <span class="keyword">false</span>);
<a name="l00101"></a>00101 
<a name="l00102"></a>00102     ~<a class="code" href="classStringTokenizer.html">StringTokenizer</a>();
<a name="l00103"></a>00103 <span class="comment"></span>
<a name="l00104"></a>00104 <span class="comment">    /**</span>
<a name="l00105"></a>00105 <span class="comment">     * Determine if there are tokens remaining</span>
<a name="l00106"></a>00106 <span class="comment">     * </span>
<a name="l00107"></a>00107 <span class="comment">     * @return true if there are more tokens</span>
<a name="l00108"></a>00108 <span class="comment">     */</span>
<a name="l00109"></a>00109     <span class="keywordtype">bool</span>
<a name="l00110"></a>00110     hasMoreTokens() <span class="keyword">const</span>;
<a name="l00111"></a>00111 
<a name="l00112"></a>00112 <span class="comment"></span>
<a name="l00113"></a>00113 <span class="comment">    /**</span>
<a name="l00114"></a>00114 <span class="comment">     * Retrieve the next token to be parsed; behavior is undefined if there are</span>
<a name="l00115"></a>00115 <span class="comment">     * no more tokens</span>
<a name="l00116"></a>00116 <span class="comment">     * </span>
<a name="l00117"></a>00117 <span class="comment">     * @param theToken next token string</span>
<a name="l00118"></a>00118 <span class="comment">     */</span>
<a name="l00119"></a>00119     <span class="keywordtype">void</span>
<a name="l00120"></a>00120     nextToken(<a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   theToken);
<a name="l00121"></a>00121 <span class="comment"></span>
<a name="l00122"></a>00122 <span class="comment">    /**</span>
<a name="l00123"></a>00123 <span class="comment">     * Count the number of tokens yet to be parsed</span>
<a name="l00124"></a>00124 <span class="comment">     * </span>
<a name="l00125"></a>00125 <span class="comment">     * @return number of remaining tokens</span>
<a name="l00126"></a>00126 <span class="comment">     */</span>
<a name="l00127"></a>00127     <a class="code" href="classStringTokenizer.html#a5a7d346fff7b5beb0ef0aa4e0d09a50b">size_type</a>
<a name="l00128"></a>00128     countTokens() <span class="keyword">const</span>;
<a name="l00129"></a>00129 
<a name="l00130"></a>00130     <span class="keywordtype">void</span>
<a name="l00131"></a><a class="code" href="classStringTokenizer.html#a970150b7f574ffe0d09b47c4ad3d06da">00131</a>     reset()
<a name="l00132"></a>00132     {
<a name="l00133"></a>00133         m_currentIndex = 0;
<a name="l00134"></a>00134     }
<a name="l00135"></a>00135 
<a name="l00136"></a>00136 <span class="keyword">protected</span>:
<a name="l00137"></a>00137 
<a name="l00138"></a>00138     <a class="code" href="classXalanDOMString.html#ab8b91a47f3335d6c54c49029dd1074f2">XalanDOMString::size_type</a>
<a name="l00139"></a>00139     FindNextDelimiterIndex(<a class="code" href="classXalanDOMString.html#ab8b91a47f3335d6c54c49029dd1074f2">XalanDOMString::size_type</a>    theStartIndex) <span class="keyword">const</span>;
<a name="l00140"></a>00140 
<a name="l00141"></a>00141 <span class="keyword">private</span>:
<a name="l00142"></a>00142 
<a name="l00143"></a>00143     <span class="comment">// These are not implemented...</span>
<a name="l00144"></a>00144     <a class="code" href="classStringTokenizer.html">StringTokenizer</a>(<span class="keyword">const</span> <a class="code" href="classStringTokenizer.html">StringTokenizer</a>&amp;);
<a name="l00145"></a>00145 
<a name="l00146"></a>00146     <a class="code" href="classStringTokenizer.html">StringTokenizer</a>&amp;
<a name="l00147"></a>00147     operator=(<span class="keyword">const</span> <a class="code" href="classStringTokenizer.html">StringTokenizer</a>&amp;);
<a name="l00148"></a>00148 
<a name="l00149"></a>00149     <span class="keywordtype">bool</span>
<a name="l00150"></a>00150     <a class="code" href="ElemAttributeSet_8hpp.html#ae199bc16afddda1065706543e752d292">operator==</a>(<span class="keyword">const</span> <a class="code" href="classStringTokenizer.html">StringTokenizer</a>&amp;) <span class="keyword">const</span>;
<a name="l00151"></a>00151 
<a name="l00152"></a>00152 
<a name="l00153"></a>00153     <span class="comment">// Data members...</span>
<a name="l00154"></a>00154     <span class="keyword">const</span> XalanDOMChar* <span class="keyword">const</span>           m_string;
<a name="l00155"></a>00155 
<a name="l00156"></a>00156     <span class="keyword">const</span> XalanDOMChar* <span class="keyword">const</span>           m_tokens;
<a name="l00157"></a>00157 
<a name="l00158"></a>00158     <span class="keyword">const</span> <span class="keywordtype">bool</span>                          m_returnTokens;
<a name="l00159"></a>00159 
<a name="l00160"></a>00160     <a class="code" href="classXalanDOMString.html#ab8b91a47f3335d6c54c49029dd1074f2">XalanDOMString::size_type</a>           m_currentIndex;
<a name="l00161"></a>00161 
<a name="l00162"></a>00162     <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html#ab8b91a47f3335d6c54c49029dd1074f2">XalanDOMString::size_type</a>     m_stringLength;
<a name="l00163"></a>00163 
<a name="l00164"></a>00164     <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html#ab8b91a47f3335d6c54c49029dd1074f2">XalanDOMString::size_type</a>     m_tokensLength;
<a name="l00165"></a>00165 };
<a name="l00166"></a>00166 
<a name="l00167"></a>00167 
<a name="l00168"></a>00168 
<a name="l00169"></a>00169 XALAN_CPP_NAMESPACE_END
<a name="l00170"></a>00170 
<a name="l00171"></a>00171 
<a name="l00172"></a>00172 
<a name="l00173"></a>00173 <span class="preprocessor">#endif  // STRINGTOKENIZER_HEADER_GUARD_1357924680</span>
</pre></div></div>
</div>
<p align="center"><a href="graph_legend.html">Interpreting class diagrams</a></p>
<p><font color="#000000" face="arial,helvetica,sanserif" size="-1">
<i><a href="http://www.doxygen.org/">Doxygen</a> and 
<a href="http://www.graphviz.org/">GraphViz</a> are 
used to generate this API documentation from the Xalan-C header files.</i></font></p>

<table border="0" cellpadding="0" cellspacing="0" width="80%">
 <tr>
  <td width="80%" valign="top">
	<p align="center"><b>Xalan-C++ XSLT Processor Version 1.11</b><br/>
	Copyright &copy; 1999-2012 The Apache Software Foundation.<br/>
	All Rights Reserved.</p>
  </td>
 </tr>
 <tr>
  <td width="100%">
	<p align="center"><img src="asf_logo_wide.gif" width="268" height="25" align="bottom" border="0" alt="Apache Logo">
  </td>
 </tr>
</table>
</body>
</html>
