<head>
<title>SFML - Simple and Fast Multimedia Library</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<link rel="stylesheet" type="text/css" href="doxygen.css" title="default" media="screen,print" />
</head>
<body>
<div id="banner-container">
<div id="banner">
<span id="sfml">SFML</span>
</div>
</div>
<div id="content">
<!-- Generated by Doxygen 1.8.2 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.htm"><span>Main Page</span></a></li>
<li><a href="modules.htm"><span>Modules</span></a></li>
<li><a href="annotated.htm"><span>Classes</span></a></li>
<li><a href="files.htm"><span>Files</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> |
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">System module</div> </div>
</div><!--header-->
<div class="contents">
<p>Base module of SFML, defining various utilities.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Clock.htm">sf::Clock</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Utility class that measures the elapsed time. <a href="classsf_1_1Clock.htm#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1InputStream.htm">sf::InputStream</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Abstract class for custom file input streams. <a href="classsf_1_1InputStream.htm#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Lock.htm">sf::Lock</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Automatic wrapper for locking and unlocking mutexes. <a href="classsf_1_1Lock.htm#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Mutex.htm">sf::Mutex</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Blocks concurrent access to shared resources from multiple threads. <a href="classsf_1_1Mutex.htm#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1NonCopyable.htm">sf::NonCopyable</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Utility class that makes any derived class non-copyable. <a href="classsf_1_1NonCopyable.htm#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1String.htm">sf::String</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Utility string class that automatically handles conversions between types and encodings. <a href="classsf_1_1String.htm#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Thread.htm">sf::Thread</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Utility class to manipulate threads. <a href="classsf_1_1Thread.htm#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1ThreadLocal.htm">sf::ThreadLocal</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Defines variables with thread-local storage. <a href="classsf_1_1ThreadLocal.htm#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1ThreadLocalPtr.htm">sf::ThreadLocalPtr< T ></a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Pointer to a thread-local variable. <a href="classsf_1_1ThreadLocalPtr.htm#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Time.htm">sf::Time</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Represents a time value. <a href="classsf_1_1Time.htm#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Utf.htm">sf::Utf</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Utility class providing generic functions for UTF conversions. <a href="classsf_1_1Utf.htm#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Vector2.htm">sf::Vector2< T ></a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Utility template class for manipulating 2-dimensional vectors. <a href="classsf_1_1Vector2.htm#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1Vector3.htm">sf::Vector3< T ></a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Utility template class for manipulating 3-dimensional vectors. <a href="classsf_1_1Vector3.htm#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gab8c0d1f966b4e5110fd370b662d8c11b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__system.htm#gab8c0d1f966b4e5110fd370b662d8c11b">sf::sleep</a> (Time duration)</td></tr>
<tr class="memdesc:gab8c0d1f966b4e5110fd370b662d8c11b"><td class="mdescLeft"> </td><td class="mdescRight">Make the current thread sleep for a given duration. <a href="#gab8c0d1f966b4e5110fd370b662d8c11b"></a><br/></td></tr>
<tr class="separator:gab8c0d1f966b4e5110fd370b662d8c11b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga7fe7f475639e26334606b5142c29551f"><td class="memItemLeft" align="right" valign="top">std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="group__system.htm#ga7fe7f475639e26334606b5142c29551f">sf::err</a> ()</td></tr>
<tr class="memdesc:ga7fe7f475639e26334606b5142c29551f"><td class="mdescLeft"> </td><td class="mdescRight">Standard stream used by SFML to output warnings and errors. <a href="#ga7fe7f475639e26334606b5142c29551f"></a><br/></td></tr>
<tr class="separator:ga7fe7f475639e26334606b5142c29551f"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Base module of SFML, defining various utilities. </p>
<p>It provides vector classes, unicode strings and conversion functions, threads and mutexes, timing classes. </p>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga7fe7f475639e26334606b5142c29551f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">sf::err </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Standard stream used by SFML to output warnings and errors. </p>
<p>By default, <a class="el" href="group__system.htm#ga7fe7f475639e26334606b5142c29551f" title="Standard stream used by SFML to output warnings and errors.">sf::err()</a> outputs to the same location as std::cerr, (-> the stderr descriptor) which is the console if there's one available.</p>
<p>It is a standard std::ostream instance, so it supports all the insertion operations defined by the STL (operator <<, manipulators, etc.).</p>
<p><a class="el" href="group__system.htm#ga7fe7f475639e26334606b5142c29551f" title="Standard stream used by SFML to output warnings and errors.">sf::err()</a> can be redirected to write to another output, independantly of std::cerr, by using the rdbuf() function provided by the std::ostream class.</p>
<p>Example: </p>
<div class="fragment"><div class="line"><span class="comment">// Redirect to a file</span></div>
<div class="line">std::ofstream file(<span class="stringliteral">"sfml-log.txt"</span>);</div>
<div class="line">std::streambuf* previous = <a class="code" href="group__system.htm#ga7fe7f475639e26334606b5142c29551f" title="Standard stream used by SFML to output warnings and errors.">sf::err</a>().rdbuf(file.rdbuf());</div>
<div class="line"></div>
<div class="line"><span class="comment">// Redirect to nothing</span></div>
<div class="line"><a class="code" href="group__system.htm#ga7fe7f475639e26334606b5142c29551f" title="Standard stream used by SFML to output warnings and errors.">sf::err</a>().rdbuf(NULL);</div>
<div class="line"></div>
<div class="line"><span class="comment">// Restore the original output</span></div>
<div class="line"><a class="code" href="group__system.htm#ga7fe7f475639e26334606b5142c29551f" title="Standard stream used by SFML to output warnings and errors.">sf::err</a>().rdbuf(previous);</div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="gab8c0d1f966b4e5110fd370b662d8c11b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void sf::sleep </td>
<td>(</td>
<td class="paramtype">Time </td>
<td class="paramname"><em>duration</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Make the current thread sleep for a given duration. </p>
<p>sf::sleep is the best way to block a program or one of its threads, as it doesn't consume any CPU power.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">duration</td><td><a class="el" href="classsf_1_1Time.htm" title="Represents a time value.">Time</a> to sleep </td></tr>
</table>
</dd>
</dl>
</div>
</div>
</div><!-- contents -->
</div>
<div id="footer-container">
<div id="footer">
Copyright � Laurent Gomila ::
</div>
</div>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-41898676-1', 'srchub.org');
ga('send', 'pageview');