<html> <head><title>ClanLib Reference: CL_InputSource</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_InputSource</h1><p> <b> Interface to read data.</b><br> Contained in: <a href="global_index.html">global</a><br> Derived from: <i>none</i> <br> Derived by: <a href="CL_InputSource_File.html">CL_InputSource_File</a> <a href="CL_InputSource_Memory.html">CL_InputSource_Memory</a> <a href="CL_InputSource_NetPacket.html">CL_InputSource_NetPacket</a> <a href="CL_InputSource_NetStream.html">CL_InputSource_NetStream</a> <a href="CL_InputSource_Socket.html">CL_InputSource_Socket</a> <a href="CL_InputSource_Socket.html">CL_InputSource_Socket</a> <a href="CL_InputSource_Zipped.html">CL_InputSource_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_InputSource.html#894"><tt><font color=blue><b>CL_InputSource</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_InputSource.html#895"><tt><font color=blue><b>~CL_InputSource</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_InputSource.html#896"><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_InputSource.html#897"><tt><font color=blue><b>size</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>bool</font></tt></tt> </td><td align=right><a href="CL_InputSource.html#898"><tt><font color=blue><b>is_little_endian</b></font></tt></a></td><td><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_InputSource.html#899"><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_InputSource.html#900"><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_InputSource.html#901"><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>int</font></tt></tt> </td><td align=right><a href="CL_InputSource.html#902"><tt><font color=blue><b>read_int32</b></font></tt></a></td><td><tt>()</tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=navy>unsigned</font></tt> <tt><font color=purple>int</font></tt></tt> </td><td align=right><a href="CL_InputSource.html#903"><tt><font color=blue><b>read_uint32</b></font></tt></a></td><td><tt>()</tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=navy>short</font></tt></tt> </td><td align=right><a href="CL_InputSource.html#904"><tt><font color=blue><b>read_short16</b></font></tt></a></td><td><tt>()</tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=navy>unsigned</font></tt> <tt><font color=navy>short</font></tt></tt> </td><td align=right><a href="CL_InputSource.html#905"><tt><font color=blue><b>read_ushort16</b></font></tt></a></td><td><tt>()</tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=purple>char</font></tt></tt> </td><td align=right><a href="CL_InputSource.html#906"><tt><font color=blue><b>read_char8</b></font></tt></a></td><td><tt>()</tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=navy>unsigned</font></tt> <tt><font color=purple>char</font></tt></tt> </td><td align=right><a href="CL_InputSource.html#907"><tt><font color=blue><b>read_uchar8</b></font></tt></a></td><td><tt>()</tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=purple>float</font></tt></tt> </td><td align=right><a href="CL_InputSource.html#908"><tt><font color=blue><b>read_float32</b></font></tt></a></td><td><tt>()</tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=purple>bool</font></tt></tt> </td><td align=right><a href="CL_InputSource.html#909"><tt><font color=blue><b>read_bool8</b></font></tt></a></td><td><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_InputSource.html#910"><tt><font color=blue><b>read</b></font></tt></a></td><td><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_InputSource.html#911"><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_InputSource.html#912"><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_InputSource.html#894"><tt><font color=blue><b>CL_InputSource</b></font></tt></a>*</tt> </td><td align=right><a href="CL_InputSource.html#913"><tt><font color=blue><b>clone</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=navy>std::string</font></tt></tt> </td><td align=right><a href="CL_InputSource.html#914"><tt><font color=blue><b>read_string</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_InputSource.html#915"><tt><font color=blue><b>seek</b></font></tt></a></td><td><tt>(<tt><font color=purple>int</font></tt> <tt><font color=blue>pos</font></tt>, <tt><font color=navy>SeekEnum</font></tt> <tt><font color=blue>seek_type</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_InputSource.html#916"><tt><font color=blue><b>push_position</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_InputSource.html#917"><tt><font color=blue><b>pop_position</b></font></tt></a></td><td><tt>()</tt>;</td> <tr><td> </td></table> <hr noshade> <h2>Description:</h2> <a href="CL_InputSource.html">CL_InputSource</a> is used to read data from different types of input sources.<br> In most cases, this is regular files and ClanLib zlib compressed datafiles.<br><br> To access some system specific input source types, such as datafiles and regular ones, use the static create functions in the <a href="CL_InputSourceProvider.html">CL_InputSourceProvider</a> class.<br> <a href="CL_InputSourceProvider.html">CL_InputSourceProvider</a> - Interface to open input sources with.<br><p> <hr noshade> <h2>Function Member Descriptions:</h2> <a name="894"><font size=+1><b>CL_InputSource::CL_InputSource</b></font></a> - Input Source Constructor<br><tt></tt> <a href="CL_InputSource.html#894"><tt><font color=blue><b>CL_InputSource</b></font></tt></a><tt>()</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="913"><font size=+1><b>CL_InputSource::clone</b></font></a> - Make a copy of the current inputsource, standing at the same position.<br><tt><tt>virtual</tt> <a href="CL_InputSource.html#894"><tt><font color=blue><b>CL_InputSource</b></font></tt></a>*</tt> <a href="CL_InputSource.html#913"><tt><font color=blue><b>clone</b></font></tt></a><tt>() <tt>const</tt></tt>;<br><blockquote> Returns - The copy of the input source.</blockquote> <hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="912"><font size=+1><b>CL_InputSource::close</b></font></a> - Closes the input source.<br><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> <a href="CL_InputSource.html#912"><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="898"><font size=+1><b>CL_InputSource::is_little_endian</b></font></a> - Returns true if the input source is in little endian mode.<br><tt><tt>virtual</tt> <tt><font color=purple>bool</font></tt></tt> <a href="CL_InputSource.html#898"><tt><font color=blue><b>is_little_endian</b></font></tt></a><tt>()</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="911"><font size=+1><b>CL_InputSource::open</b></font></a> - Opens the input source. By default, it is open.<br><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> <a href="CL_InputSource.html#911"><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="917"><font size=+1><b>CL_InputSource::pop_position</b></font></a> - Pops a previous pushed input source position (returns to the position).<br><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> <a href="CL_InputSource.html#917"><tt><font color=blue><b>pop_position</b></font></tt></a><tt>()</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="916"><font size=+1><b>CL_InputSource::push_position</b></font></a> - Pushes the current input source position.<br> The position can be restored again with pop_position.<br><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> <a href="CL_InputSource.html#916"><tt><font color=blue><b>push_position</b></font></tt></a><tt>()</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="910"><font size=+1><b>CL_InputSource::read</b></font></a> - Reads 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_InputSource.html#910"><tt><font color=blue><b>read</b></font></tt></a><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 an array where the read data is stored.<br> size - Number of bytes to read.<br> Returns - Num bytes actually read.</blockquote> <hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="909"><font size=+1><b>CL_InputSource::read_bool8</b></font></a> - Reads a bool from input source.<br><tt><tt>virtual</tt> <tt><font color=purple>bool</font></tt></tt> <a href="CL_InputSource.html#909"><tt><font color=blue><b>read_bool8</b></font></tt></a><tt>()</tt>;<br><blockquote> Returns - The bool read.</blockquote> <hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="906"><font size=+1><b>CL_InputSource::read_char8</b></font></a> - Reads a signed 8 bit integer (char) from input source.<br><tt><tt>virtual</tt> <tt><font color=purple>char</font></tt></tt> <a href="CL_InputSource.html#906"><tt><font color=blue><b>read_char8</b></font></tt></a><tt>()</tt>;<br><blockquote> Returns - The char read.</blockquote> <hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="908"><font size=+1><b>CL_InputSource::read_float32</b></font></a> - Reads an ieee format floating point from input source.<br><tt><tt>virtual</tt> <tt><font color=purple>float</font></tt></tt> <a href="CL_InputSource.html#908"><tt><font color=blue><b>read_float32</b></font></tt></a><tt>()</tt>;<br><blockquote> Returns - The float read.</blockquote> <hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="902"><font size=+1><b>CL_InputSource::read_int32</b></font></a> - Reads a signed 32 bit integer from input source.<br><tt><tt>virtual</tt> <tt><font color=purple>int</font></tt></tt> <a href="CL_InputSource.html#902"><tt><font color=blue><b>read_int32</b></font></tt></a><tt>()</tt>;<br><blockquote> Returns - The integer read.</blockquote> <hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="904"><font size=+1><b>CL_InputSource::read_short16</b></font></a> - Reads a signed 16 bit integer (short) from input source.<br><tt><tt>virtual</tt> <tt><font color=navy>short</font></tt></tt> <a href="CL_InputSource.html#904"><tt><font color=blue><b>read_short16</b></font></tt></a><tt>()</tt>;<br><blockquote> Returns - The short read.</blockquote> <hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="914"><font size=+1><b>CL_InputSource::read_string</b></font></a> - Reads a string from the input source.<br> The binary format expected in the input source is first an uint32 telling the length of the string, and then the string itself.<br><tt><tt>virtual</tt> <tt><font color=navy>std::string</font></tt></tt> <a href="CL_InputSource.html#914"><tt><font color=blue><b>read_string</b></font></tt></a><tt>()</tt>;<br><blockquote> Returns - The string read.</blockquote> <hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="907"><font size=+1><b>CL_InputSource::read_uchar8</b></font></a> - Reads an unsigned 8 bit integer (char) from input source.<br><tt><tt>virtual</tt> <tt><font color=navy>unsigned</font></tt> <tt><font color=purple>char</font></tt></tt> <a href="CL_InputSource.html#907"><tt><font color=blue><b>read_uchar8</b></font></tt></a><tt>()</tt>;<br><blockquote> Returns - The unsigned char read.</blockquote> <hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="903"><font size=+1><b>CL_InputSource::read_uint32</b></font></a> - Reads an unsigned 32 bit integer from input source.<br><tt><tt>virtual</tt> <tt><font color=navy>unsigned</font></tt> <tt><font color=purple>int</font></tt></tt> <a href="CL_InputSource.html#903"><tt><font color=blue><b>read_uint32</b></font></tt></a><tt>()</tt>;<br><blockquote> Returns - The unsigned integer read.</blockquote> <hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="905"><font size=+1><b>CL_InputSource::read_ushort16</b></font></a> - Reads an unsigned 16 bit integer (short) from input source.<br><tt><tt>virtual</tt> <tt><font color=navy>unsigned</font></tt> <tt><font color=navy>short</font></tt></tt> <a href="CL_InputSource.html#905"><tt><font color=blue><b>read_ushort16</b></font></tt></a><tt>()</tt>;<br><blockquote> Returns - The unsigned short read.</blockquote> <hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="915"><font size=+1><b>CL_InputSource::seek</b></font></a> - Seeks to the specified position in the input source.<br><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> <a href="CL_InputSource.html#915"><tt><font color=blue><b>seek</b></font></tt></a><tt>(<tt><font color=purple>int</font></tt> <tt><font color=blue>pos</font></tt>, <tt><font color=navy>SeekEnum</font></tt> <tt><font color=blue>seek_type</font></tt>)</tt>;<br><blockquote> pos - Position relative to 'seek_type'.<br> seek_type - Defines what the 'pos' is relative to. Can be either seek_set, seek_cur og seek_end.</blockquote> <hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="900"><font size=+1><b>CL_InputSource::set_big_endian_mode</b></font></a> - Changes input data endianess to big endian mode.<br><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> <a href="CL_InputSource.html#900"><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="901"><font size=+1><b>CL_InputSource::set_little_endian_mode</b></font></a> - Changes input 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_InputSource.html#901"><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="899"><font size=+1><b>CL_InputSource::set_system_mode</b></font></a> - Changes input data endianess to the local systems mode.<br><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> <a href="CL_InputSource.html#899"><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="897"><font size=+1><b>CL_InputSource::size</b></font></a> - Returns the size of the input source<br><tt><tt>virtual</tt> <tt><font color=purple>int</font></tt></tt> <a href="CL_InputSource.html#897"><tt><font color=blue><b>size</b></font></tt></a><tt>() <tt>const</tt></tt>;<br><blockquote> Returns - Size of the input source.</blockquote> <hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="896"><font size=+1><b>CL_InputSource::tell</b></font></a> - Returns current position in input source.<br><tt><tt>virtual</tt> <tt><font color=purple>int</font></tt></tt> <a href="CL_InputSource.html#896"><tt><font color=blue><b>tell</b></font></tt></a><tt>() <tt>const</tt></tt>;<br><blockquote> Returns - Current position in input source.</blockquote> <hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="895"><font size=+1><b>CL_InputSource::~CL_InputSource</b></font></a> - Input Source Destructor<br><tt><tt>virtual</tt> </tt> <a href="CL_InputSource.html#895"><tt><font color=blue><b>~CL_InputSource</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>