<html> <head><title>ClanLib Reference: CL_OutputSource</title></head> <body text=black link=blue vlink=#800080 bgcolor=white topmargin=0 leftmargin=0> <table border=0 cellspacing=0 cellpadding=0 width=100%><tr><td><img border=0 src="../images/eyeheader-main-purple-a.gif" alt="ClanSoft logo" width=525 height=96></td></tr> <tr bgcolor=#dadada><td align=left valign=top><img border=0 src="../images/eyeheader-main-purple-b.gif" alt="ClanSoft logo" width=190 height=14></td><td align=right valign=top><img border=0 src="../images/clanlib_light.gif" width=42 height=14></td></tr></table> <table align=center border=0 cellspacing=10> <tr> <td><a href="entire_class_index.html">Entire Class Index</a></td> <td><a href="class_index.html">Main Class Index</a></td> <td><a href="cross_index.html">Cross Index</a></td> <td><a href="global_index.html">Global Index</a></td> </table><h1 align=center>Class CL_OutputSource</h1><p> <b> Interface to write data to different types of output sources.</b><br> Contained in: <a href="global_index.html">global</a><br> Derived from: <i>none</i> <br> Derived by: <a href="CL_OutputSource_File.html">CL_OutputSource_File</a> <a href="CL_OutputSource_Memory.html">CL_OutputSource_Memory</a> <a href="CL_OutputSource_NetPacket.html">CL_OutputSource_NetPacket</a> <a href="CL_OutputSource_NetStream.html">CL_OutputSource_NetStream</a> <a href="CL_OutputSource_Socket.html">CL_OutputSource_Socket</a> <a href="CL_OutputSource_Socket.html">CL_OutputSource_Socket</a> <a href="CL_OutputSource_Zipped.html">CL_OutputSource_Zipped</a> <br>Group: Core (I/O Data) <p> #include <ClanLib/core.h> <p> <hr noshade> <table border=0> <tr><td colspan=3><h3>public function member index:</h3></td> <tr valign=top><td align=left><h3>Construction:</h3></td> <tr valign=top><td align=right><tt></tt> </td><td align=right><a href="CL_OutputSource.html#956"><tt><font color=blue><b>CL_OutputSource</b></font></tt></a></td><td><tt>()</tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> </tt> </td><td align=right><a href="CL_OutputSource.html#957"><tt><font color=blue><b>~CL_OutputSource</b></font></tt></a></td><td><tt>()</tt>;</td> <tr valign=top><td align=left><h3>Attributes:</h3></td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=purple>int</font></tt></tt> </td><td align=right><a href="CL_OutputSource.html#958"><tt><font color=blue><b>tell</b></font></tt></a></td><td><tt>() <tt>const</tt></tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=purple>int</font></tt></tt> </td><td align=right><a href="CL_OutputSource.html#959"><tt><font color=blue><b>size</b></font></tt></a></td><td><tt>() <tt>const</tt></tt>;</td> <tr valign=top><td align=left><h3>Operations:</h3></td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_OutputSource.html#960"><tt><font color=blue><b>set_system_mode</b></font></tt></a></td><td><tt>()</tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_OutputSource.html#961"><tt><font color=blue><b>set_big_endian_mode</b></font></tt></a></td><td><tt>()</tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_OutputSource.html#962"><tt><font color=blue><b>set_little_endian_mode</b></font></tt></a></td><td><tt>()</tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_OutputSource.html#963"><tt><font color=blue><b>write_int32</b></font></tt></a></td><td><tt>(<tt><font color=purple>int</font></tt> <tt><font color=blue>data</font></tt>)</tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_OutputSource.html#964"><tt><font color=blue><b>write_uint32</b></font></tt></a></td><td><tt>(<tt><font color=navy>unsigned</font></tt> <tt><font color=purple>int</font></tt> <tt><font color=blue>data</font></tt>)</tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_OutputSource.html#965"><tt><font color=blue><b>write_short16</b></font></tt></a></td><td><tt>(<tt><font color=navy>short</font></tt> <tt><font color=blue>data</font></tt>)</tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_OutputSource.html#966"><tt><font color=blue><b>write_ushort16</b></font></tt></a></td><td><tt>(<tt><font color=navy>unsigned</font></tt> <tt><font color=blue>short</font></tt> <tt><font color=blue>data</font></tt>)</tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_OutputSource.html#967"><tt><font color=blue><b>write_char8</b></font></tt></a></td><td><tt>(<tt><font color=purple>char</font></tt> <tt><font color=blue>data</font></tt>)</tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_OutputSource.html#968"><tt><font color=blue><b>write_uchar8</b></font></tt></a></td><td><tt>(<tt><font color=navy>unsigned</font></tt> <tt><font color=purple>char</font></tt> <tt><font color=blue>data</font></tt>)</tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_OutputSource.html#969"><tt><font color=blue><b>write_float32</b></font></tt></a></td><td><tt>(<tt><font color=purple>float</font></tt> <tt><font color=blue>data</font></tt>)</tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_OutputSource.html#970"><tt><font color=blue><b>write_bool8</b></font></tt></a></td><td><tt>(<tt><font color=purple>bool</font></tt> <tt><font color=blue>data</font></tt>)</tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_OutputSource.html#971"><tt><font color=blue><b>write_string</b></font></tt></a></td><td><tt>(<tt>const</tt> <tt><font color=navy>std::string</font></tt>& <tt><font color=blue>str</font></tt>)</tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=purple>int</font></tt></tt> </td><td align=right><a href="CL_OutputSource.html#972"><tt><font color=blue><b>write</b></font></tt></a></td><td><tt>(<tt>const</tt> <tt><font color=purple>void</font></tt>* <tt><font color=blue>data</font></tt>, <tt><font color=purple>int</font></tt> <tt><font color=blue>size</font></tt>)</tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_OutputSource.html#973"><tt><font color=blue><b>open</b></font></tt></a></td><td><tt>()</tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_OutputSource.html#974"><tt><font color=blue><b>close</b></font></tt></a></td><td><tt>()</tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <a href="CL_OutputSource.html#956"><tt><font color=blue><b>CL_OutputSource</b></font></tt></a>*</tt> </td><td align=right><a href="CL_OutputSource.html#975"><tt><font color=blue><b>clone</b></font></tt></a></td><td><tt>()</tt>;</td> <tr><td> </td></table> <hr noshade> <h2>Description:</h2> CL_OutputSource is used to write data to different types of input sources. In most cases, this is regular files and ClanLib zlib compressed datafiles.<br><br> To access some system specific output source types, such as datafiles and regular ones, use the static create functions in the <a href="CL_OutputSourceProvider.html">CL_OutputSourceProvider</a> class.<br> <a href="CL_OutputSourceProvider.html">CL_OutputSourceProvider</a> - Interface to open output sources with.<br><p> <hr noshade> <h2>Function Member Descriptions:</h2> <a name="956"><font size=+1><b>CL_OutputSource::CL_OutputSource</b></font></a> - Output Source Constructor<br><tt></tt> <a href="CL_OutputSource.html#956"><tt><font color=blue><b>CL_OutputSource</b></font></tt></a><tt>()</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="975"><font size=+1><b>CL_OutputSource::clone</b></font></a> - Make a copy of the current outputsource, standing at the same position.<br><tt><tt>virtual</tt> <a href="CL_OutputSource.html#956"><tt><font color=blue><b>CL_OutputSource</b></font></tt></a>*</tt> <a href="CL_OutputSource.html#975"><tt><font color=blue><b>clone</b></font></tt></a><tt>()</tt>;<br><blockquote> Returns - The copy of the output source.</blockquote> <hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="974"><font size=+1><b>CL_OutputSource::close</b></font></a> - Closes the output source.<br><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> <a href="CL_OutputSource.html#974"><tt><font color=blue><b>close</b></font></tt></a><tt>()</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="973"><font size=+1><b>CL_OutputSource::open</b></font></a> - Opens the output source. By default, it is open.<br><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> <a href="CL_OutputSource.html#973"><tt><font color=blue><b>open</b></font></tt></a><tt>()</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="961"><font size=+1><b>CL_OutputSource::set_big_endian_mode</b></font></a> - Changes output data endianess to big endian mode.<br><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> <a href="CL_OutputSource.html#961"><tt><font color=blue><b>set_big_endian_mode</b></font></tt></a><tt>()</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="962"><font size=+1><b>CL_OutputSource::set_little_endian_mode</b></font></a> - Changes output data endianess to little endian mode. This is the default setting.<br><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> <a href="CL_OutputSource.html#962"><tt><font color=blue><b>set_little_endian_mode</b></font></tt></a><tt>()</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="960"><font size=+1><b>CL_OutputSource::set_system_mode</b></font></a> - Changes output data endianess to the local systems mode.<br><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> <a href="CL_OutputSource.html#960"><tt><font color=blue><b>set_system_mode</b></font></tt></a><tt>()</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="959"><font size=+1><b>CL_OutputSource::size</b></font></a> - Returns the size of the output source<br><tt><tt>virtual</tt> <tt><font color=purple>int</font></tt></tt> <a href="CL_OutputSource.html#959"><tt><font color=blue><b>size</b></font></tt></a><tt>() <tt>const</tt></tt>;<br><blockquote> Returns - Size of the output source.</blockquote> <hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="958"><font size=+1><b>CL_OutputSource::tell</b></font></a> - Returns current position in output source.<br><tt><tt>virtual</tt> <tt><font color=purple>int</font></tt></tt> <a href="CL_OutputSource.html#958"><tt><font color=blue><b>tell</b></font></tt></a><tt>() <tt>const</tt></tt>;<br><blockquote> Returns - Current position in source.</blockquote> <hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="972"><font size=+1><b>CL_OutputSource::write</b></font></a> - Writes larger amounts of data (no endian and 64 bit conversion):<br><tt><tt>virtual</tt> <tt><font color=purple>int</font></tt></tt> <a href="CL_OutputSource.html#972"><tt><font color=blue><b>write</b></font></tt></a><tt>(<tt>const</tt> <tt><font color=purple>void</font></tt>* <tt><font color=blue>data</font></tt>, <tt><font color=purple>int</font></tt> <tt><font color=blue>size</font></tt>)</tt>;<br><blockquote> data - Points to the array from which to write.<br> size - Number of bytes to write.<br> Returns - Num bytes actually written.</blockquote> <hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="970"><font size=+1><b>CL_OutputSource::write_bool8</b></font></a> - Writes a bool to output source.<br><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> <a href="CL_OutputSource.html#970"><tt><font color=blue><b>write_bool8</b></font></tt></a><tt>(<tt><font color=purple>bool</font></tt> <tt><font color=blue>data</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="967"><font size=+1><b>CL_OutputSource::write_char8</b></font></a> - Writes a signed 8 bit integer (char) to output source.<br><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> <a href="CL_OutputSource.html#967"><tt><font color=blue><b>write_char8</b></font></tt></a><tt>(<tt><font color=purple>char</font></tt> <tt><font color=blue>data</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="969"><font size=+1><b>CL_OutputSource::write_float32</b></font></a> - Writes an ieee format floating point to output source.<br><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> <a href="CL_OutputSource.html#969"><tt><font color=blue><b>write_float32</b></font></tt></a><tt>(<tt><font color=purple>float</font></tt> <tt><font color=blue>data</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="963"><font size=+1><b>CL_OutputSource::write_int32</b></font></a> - Writes a signed 32 bit integer to output source.<br><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> <a href="CL_OutputSource.html#963"><tt><font color=blue><b>write_int32</b></font></tt></a><tt>(<tt><font color=purple>int</font></tt> <tt><font color=blue>data</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="965"><font size=+1><b>CL_OutputSource::write_short16</b></font></a> - Writes a signed 16 bit integer (short) to output source.<br><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> <a href="CL_OutputSource.html#965"><tt><font color=blue><b>write_short16</b></font></tt></a><tt>(<tt><font color=navy>short</font></tt> <tt><font color=blue>data</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="971"><font size=+1><b>CL_OutputSource::write_string</b></font></a> - Writes a string to the output source.<br> The binary format written to the output source is first an uint32 telling the length of the string, and then the string itself.<br><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> <a href="CL_OutputSource.html#971"><tt><font color=blue><b>write_string</b></font></tt></a><tt>(<tt>const</tt> <tt><font color=navy>std::string</font></tt>& <tt><font color=blue>str</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="968"><font size=+1><b>CL_OutputSource::write_uchar8</b></font></a> - Writes an unsigned 8 bit integer (char) to output source.<br><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> <a href="CL_OutputSource.html#968"><tt><font color=blue><b>write_uchar8</b></font></tt></a><tt>(<tt><font color=navy>unsigned</font></tt> <tt><font color=purple>char</font></tt> <tt><font color=blue>data</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="964"><font size=+1><b>CL_OutputSource::write_uint32</b></font></a> - Writes an unsigned 32 bit integer to output source.<br><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> <a href="CL_OutputSource.html#964"><tt><font color=blue><b>write_uint32</b></font></tt></a><tt>(<tt><font color=navy>unsigned</font></tt> <tt><font color=purple>int</font></tt> <tt><font color=blue>data</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="966"><font size=+1><b>CL_OutputSource::write_ushort16</b></font></a> - Writes an unsigned 16 bit integer (short) to output source.<br><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> <a href="CL_OutputSource.html#966"><tt><font color=blue><b>write_ushort16</b></font></tt></a><tt>(<tt><font color=navy>unsigned</font></tt> <tt><font color=blue>short</font></tt> <tt><font color=blue>data</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="957"><font size=+1><b>CL_OutputSource::~CL_OutputSource</b></font></a> - Output Source Destructor<br><tt><tt>virtual</tt> </tt> <a href="CL_OutputSource.html#957"><tt><font color=blue><b>~CL_OutputSource</b></font></tt></a><tt>()</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br> <hr noshade> <h2>Variable Member Descriptions:</h2> <hr noshade> </body> </html>