<!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>Writer.hpp</h1>  </div>
</div>
<div class="contents">
<a href="Writer_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(WRITER_HEADER_GUARD_1357924680)</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define WRITER_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;cstddef&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="XalanDOMString_8hpp.html">xalanc/XalanDOM/XalanDOMString.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>00040 <span class="keyword">class </span><a class="code" href="classXalanOutputStream.html">XalanOutputStream</a>;
<a name="l00041"></a>00041 
<a name="l00042"></a>00042 
<a name="l00043"></a>00043 
<a name="l00044"></a><a class="code" href="classWriter.html">00044</a> <span class="keyword">class </span><a class="code" href="PlatformSupportDefinitions_8hpp.html#a72e8d5d428f0210697564ce111006fde">XALAN_PLATFORMSUPPORT_EXPORT</a> <a class="code" href="classWriter.html">Writer</a>
<a name="l00045"></a>00045 {
<a name="l00046"></a>00046 <span class="keyword">public</span>:
<a name="l00047"></a>00047 
<a name="l00048"></a>00048     <a class="code" href="classWriter.html">Writer</a>();
<a name="l00049"></a>00049 
<a name="l00050"></a>00050     <span class="keyword">virtual</span>
<a name="l00051"></a>00051     ~<a class="code" href="classWriter.html">Writer</a>();
<a name="l00052"></a>00052 <span class="comment"></span>
<a name="l00053"></a>00053 <span class="comment">    /**</span>
<a name="l00054"></a>00054 <span class="comment">     * Close the stream</span>
<a name="l00055"></a>00055 <span class="comment">     */</span>
<a name="l00056"></a>00056     <span class="keyword">virtual</span> <span class="keywordtype">void</span>
<a name="l00057"></a>00057     close() = 0;
<a name="l00058"></a>00058 <span class="comment"></span>
<a name="l00059"></a>00059 <span class="comment">    /**</span>
<a name="l00060"></a>00060 <span class="comment">     * Flush the stream</span>
<a name="l00061"></a>00061 <span class="comment">     */</span>
<a name="l00062"></a>00062     <span class="keyword">virtual</span> <span class="keywordtype">void</span>
<a name="l00063"></a>00063     flush() = 0;
<a name="l00064"></a>00064 <span class="comment"></span>
<a name="l00065"></a>00065 <span class="comment">    /**</span>
<a name="l00066"></a>00066 <span class="comment">     * Get the stream associated with the writer...</span>
<a name="l00067"></a>00067 <span class="comment">     */</span>
<a name="l00068"></a>00068     <span class="keyword">virtual</span> <a class="code" href="classXalanOutputStream.html">XalanOutputStream</a>*
<a name="l00069"></a>00069     getStream();
<a name="l00070"></a>00070 <span class="comment"></span>
<a name="l00071"></a>00071 <span class="comment">    /**</span>
<a name="l00072"></a>00072 <span class="comment">     * Get the stream associated with the writer...</span>
<a name="l00073"></a>00073 <span class="comment">     */</span>
<a name="l00074"></a>00074     <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classXalanOutputStream.html">XalanOutputStream</a>*
<a name="l00075"></a>00075     getStream() <span class="keyword">const</span>;
<a name="l00076"></a>00076 
<a name="l00077"></a>00077 
<a name="l00078"></a>00078     <span class="comment">// Output functions</span>
<a name="l00079"></a>00079 
<a name="l00080"></a>00080 <span class="preprocessor">#if defined(XALAN_INLINE_INITIALIZATION)</span>
<a name="l00081"></a>00081 <span class="preprocessor"></span>    <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span>     npos = ~0u;
<a name="l00082"></a>00082 <span class="preprocessor">#else</span>
<a name="l00083"></a><a class="code" href="classWriter.html#aab49e26418047b730b64ecfba5e71223">00083</a> <span class="preprocessor"></span>    <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span>     npos;
<a name="l00084"></a>00084 <span class="preprocessor">#endif</span>
<a name="l00085"></a>00085 <span class="preprocessor"></span><span class="comment"></span>
<a name="l00086"></a>00086 <span class="comment">    /**</span>
<a name="l00087"></a>00087 <span class="comment">     * Writes a string</span>
<a name="l00088"></a>00088 <span class="comment">     * </span>
<a name="l00089"></a>00089 <span class="comment">     * @param   s         string to write</span>
<a name="l00090"></a>00090 <span class="comment">     * @param   theOffset starting offset in string to begin writing, default 0</span>
<a name="l00091"></a>00091 <span class="comment">     * @param   theLength number of characters to write. If the length is npos, then the array is assumed to be null-terminated.</span>
<a name="l00092"></a>00092 <span class="comment">     */</span>
<a name="l00093"></a>00093     <span class="keyword">virtual</span> <span class="keywordtype">void</span>
<a name="l00094"></a>00094     write(
<a name="l00095"></a>00095             <span class="keyword">const</span> <span class="keywordtype">char</span>*     s,
<a name="l00096"></a>00096             <span class="keywordtype">size_t</span>          theOffset = 0,
<a name="l00097"></a>00097             <span class="keywordtype">size_t</span>          theLength = npos) = 0;
<a name="l00098"></a>00098 <span class="comment"></span>
<a name="l00099"></a>00099 <span class="comment">    /**</span>
<a name="l00100"></a>00100 <span class="comment">     * Writes a string</span>
<a name="l00101"></a>00101 <span class="comment">     * </span>
<a name="l00102"></a>00102 <span class="comment">     * @param   s         string to write</span>
<a name="l00103"></a>00103 <span class="comment">     * @param   theOffset starting offset in string to begin writing, default 0</span>
<a name="l00104"></a>00104 <span class="comment">     * @param   theLength number of characters to write. If the length is XalanDOMString::npos, then the array is assumed to be null-terminated.</span>
<a name="l00105"></a>00105 <span class="comment">     */</span>
<a name="l00106"></a>00106     <span class="keyword">virtual</span> <span class="keywordtype">void</span>
<a name="l00107"></a>00107     write(
<a name="l00108"></a>00108             <span class="keyword">const</span> XalanDOMChar*         s,
<a name="l00109"></a>00109             <a class="code" href="classXalanDOMString.html#ab8b91a47f3335d6c54c49029dd1074f2">XalanDOMString::size_type</a>   theOffset = 0,
<a name="l00110"></a>00110             <a class="code" href="classXalanDOMString.html#ab8b91a47f3335d6c54c49029dd1074f2">XalanDOMString::size_type</a>   theLength = <a class="code" href="classXalanDOMString.html#a738c3684088f21a02e16a8a44e525063a79a8556da86ea1ccd6630e6221c1b424">XalanDOMString::npos</a>) = 0;
<a name="l00111"></a>00111 <span class="comment"></span>
<a name="l00112"></a>00112 <span class="comment">    /**</span>
<a name="l00113"></a>00113 <span class="comment">     * Writes a character</span>
<a name="l00114"></a>00114 <span class="comment">     * </span>
<a name="l00115"></a>00115 <span class="comment">     * @param   c         character to write</span>
<a name="l00116"></a>00116 <span class="comment">     */</span>
<a name="l00117"></a>00117     <span class="keyword">virtual</span> <span class="keywordtype">void</span>
<a name="l00118"></a>00118     write(XalanDOMChar  c) = 0;
<a name="l00119"></a>00119 <span class="comment"></span>
<a name="l00120"></a>00120 <span class="comment">    /**</span>
<a name="l00121"></a>00121 <span class="comment">     * Writes a string</span>
<a name="l00122"></a>00122 <span class="comment">     * </span>
<a name="l00123"></a>00123 <span class="comment">     * @param   s         string to write</span>
<a name="l00124"></a>00124 <span class="comment">     * @param   theOffset starting offset in string to begin writing, default 0</span>
<a name="l00125"></a>00125 <span class="comment">     * @param   theLength number of characters to write. If the length is XalanDOMString::npos,  then the entire string is printed.</span>
<a name="l00126"></a>00126 <span class="comment">     */</span>
<a name="l00127"></a>00127     <span class="keyword">virtual</span> <span class="keywordtype">void</span>
<a name="l00128"></a>00128     write(
<a name="l00129"></a>00129             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;       s,
<a name="l00130"></a>00130             <a class="code" href="classXalanDOMString.html#ab8b91a47f3335d6c54c49029dd1074f2">XalanDOMString::size_type</a>   theOffset = 0,
<a name="l00131"></a>00131             <a class="code" href="classXalanDOMString.html#ab8b91a47f3335d6c54c49029dd1074f2">XalanDOMString::size_type</a>   theLength = <a class="code" href="classXalanDOMString.html#a738c3684088f21a02e16a8a44e525063a79a8556da86ea1ccd6630e6221c1b424">XalanDOMString::npos</a>) = 0;
<a name="l00132"></a>00132 
<a name="l00133"></a>00133 <span class="keyword">private</span>:
<a name="l00134"></a>00134 
<a name="l00135"></a>00135     <span class="comment">// Not implemented</span>
<a name="l00136"></a>00136     <a class="code" href="classWriter.html">Writer</a>(<span class="keyword">const</span> <a class="code" href="classWriter.html">Writer</a>&amp;);
<a name="l00137"></a>00137 
<a name="l00138"></a>00138     <a class="code" href="classWriter.html">Writer</a>&amp;
<a name="l00139"></a>00139     operator=(<span class="keyword">const</span> <a class="code" href="classWriter.html">Writer</a>&amp;);
<a name="l00140"></a>00140 
<a name="l00141"></a>00141     <span class="keywordtype">bool</span>
<a name="l00142"></a>00142     <a class="code" href="ElemAttributeSet_8hpp.html#ae199bc16afddda1065706543e752d292">operator==</a>(<span class="keyword">const</span> <a class="code" href="classWriter.html">Writer</a>&amp;);
<a name="l00143"></a>00143 };
<a name="l00144"></a>00144 
<a name="l00145"></a>00145 
<a name="l00146"></a>00146 
<a name="l00147"></a>00147 XALAN_CPP_NAMESPACE_END
<a name="l00148"></a>00148 
<a name="l00149"></a>00149 
<a name="l00150"></a>00150 
<a name="l00151"></a>00151 <span class="preprocessor">#endif  // WRITER_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>
