<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>Crystal Space 1.2.1: CS Namespace Reference (Crystal Space 1.2.1 Public API Reference)</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <table border="0" cellpadding="0" cellspacing="0" width="100%" class="head"> <tr height="59"> <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td> <td class="head"><h2>Public API Reference</h2></td> </tr> <tr height="11"> <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td> </tr> </table> <div class="content"> <!-- Generated by Doxygen 1.5.3 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="classes.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="namespaces.html"><span>Namespace List</span></a></li> <li><a href="namespacemembers.html"><span>Namespace Members</span></a></li> </ul> </div> <h1>CS Namespace Reference<br> <small> [<a class="el" href="group__geom__utils.html">Geometry utilities</a>, <a class="el" href="group__geom__utils.html">Geometry utilities</a>, <a class="el" href="group__gfx.html">Graphics</a>, <a class="el" href="group__gfx3d.html">3D</a>, <a class="el" href="group__plugincommon.html">Common Plugin Classes</a>, <a class="el" href="group__plugincommon.html">Common Plugin Classes</a>, <a class="el" href="group__plugincommon.html">Common Plugin Classes</a>, <a class="el" href="group__plugincommon.html">Common Plugin Classes</a>, <a class="el" href="group__plugincommon.html">Common Plugin Classes</a>, <a class="el" href="group__util__memory.html">Memory Management</a>, <a class="el" href="group__util__memory.html">Memory Management</a>, <a class="el" href="group__event__handling.html">Event handling</a>, <a class="el" href="group__util__memory.html">Memory Management</a>, <a class="el" href="group__util.html">Utilities</a>, <a class="el" href="group__util.html">Utilities</a>, <a class="el" href="group__util.html">Utilities</a>, <a class="el" href="group__gfx3d.html">3D</a>]</small> </h1>Main namespace for CrystalSpace. <a href="#_details">More...</a> <p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Classes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structCS_1_1AllocPlatform.html">AllocPlatform</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classCS_1_1CowWrapper.html">CowWrapper</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Copy-on-write wrapper for arbitrary types. <a href="classCS_1_1CowWrapper.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classCS_1_1DataBuffer.html">DataBuffer</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This is an implementation of <a class="el" href="structiDataBuffer.html" title="The iDataBuffer interface can be used to exchange buffers with abstract data between...">iDataBuffer</a> interface. <a href="classCS_1_1DataBuffer.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classCS_1_1ImageAutoConvert.html">ImageAutoConvert</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Small wrapper class to automatically convert an image into a different storage format, if needed. <a href="classCS_1_1ImageAutoConvert.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classCS_1_1MeasureTime.html">MeasureTime</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Simple helper class to measure execution time of a block. <a href="classCS_1_1MeasureTime.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classCS_1_1NumberedFilenameHelper.html">NumberedFilenameHelper</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Helper to deal with numbered filename. <a href="classCS_1_1NumberedFilenameHelper.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classCS_1_1RenderBufferPersistent.html">RenderBufferPersistent</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Render buffer wrapper with additional persistence information. <a href="classCS_1_1RenderBufferPersistent.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classCS_1_1RenderViewClipper.html">RenderViewClipper</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Helper to clip in the context of a render view. <a href="classCS_1_1RenderViewClipper.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classCS_1_1ShaderVariableContextImpl.html">ShaderVariableContextImpl</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Simple implementation for <a class="el" href="structiShaderVariableContext.html" title="This is a baseclass for all interfaces which provides shadervariables both dynamically...">iShaderVariableContext</a>. <a href="classCS_1_1ShaderVariableContextImpl.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structCS_1_1ShaderVarName.html">ShaderVarName</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Helper class to obtain an ID for a shader variable. <a href="structCS_1_1ShaderVarName.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classCS_1_1SpinLock.html">SpinLock</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classCS_1_1StructuredTextureFormat.html">StructuredTextureFormat</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Structured representation of a texture format. <a href="classCS_1_1StructuredTextureFormat.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classCS_1_1SubRectangles.html">SubRectangles</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A class managing allocations of sub-rectangles. <a href="classCS_1_1SubRectangles.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classCS_1_1SubRectanglesCompact.html">SubRectanglesCompact</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A variation of <a class="el" href="classCS_1_1SubRectangles.html" title="A class managing allocations of sub-rectangles.">SubRectangles</a> that tries to place rectangles in a rectangular fashion. <a href="classCS_1_1SubRectanglesCompact.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classCS_1_1TextureFormatStrings.html">TextureFormatStrings</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Texture format string parser routines. <a href="classCS_1_1TextureFormatStrings.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classCS_1_1TriangleIndicesStream.html">TriangleIndicesStream</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Helper class to extract triangles from an index buffer. <a href="classCS_1_1TriangleIndicesStream.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structCS_1_1TriangleT.html">TriangleT</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A templated triangle. <a href="structCS_1_1TriangleT.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classCS_1_1UberScreenshotMaker.html">UberScreenshotMaker</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Helper to create "&uuml;berscreenshots", screenshots with a resolution larger than the current framebuffer resolution. <a href="classCS_1_1UberScreenshotMaker.html#_details">More...</a><br></td></tr> <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCS_1_1Debug.html">Debug</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Debugging utilities and helpers. <br></td></tr> <p> <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCS_1_1Deprecated.html">Deprecated</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Contains deprecated code that will be removed after next stable release. <br></td></tr> <p> <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCS_1_1DocSystem.html">DocSystem</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Document system / XML helper classes. <br></td></tr> <p> <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCS_1_1DocumentHelper.html">DocumentHelper</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">For compatibility. <br></td></tr> <p> <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCS_1_1Implementation.html">Implementation</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCS_1_1Macros.html">Macros</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCS_1_1Math.html">Math</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Mathematical functions and definitions. <br></td></tr> <p> <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCS_1_1Memory.html">Memory</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="namespaceCS_1_1Memory.html" title="Memory allocation.">Memory</a> allocation. <br></td></tr> <p> <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCS_1_1Meta.html">Meta</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Meta-programming helpers. <br></td></tr> <p> <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCS_1_1Platform.html">Platform</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="namespaceCS_1_1Platform.html" title="Platform specific code and wrappers.">Platform</a> specific code and wrappers. <br></td></tr> <p> <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCS_1_1Plugin.html">Plugin</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="namespaceCS_1_1Implementation.html">Implementation</a> of all plugins. <br></td></tr> <p> <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCS_1_1PluginCommon.html">PluginCommon</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Common code shared among a number of plugins. <br></td></tr> <p> <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCS_1_1SndSys.html">SndSys</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCS_1_1Threading.html">Threading</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Functions and classes for threading, locking and atomic operations. <br></td></tr> <p> <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCS_1_1Utility.html">Utility</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Assorted utility functions and classes that doesn't belong anywhere else. <br></td></tr> <p> <tr><td colspan="2"><br><h2>Typedefs</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br> <a class="el" href="classCS_1_1Utility_1_1ImportKit.html">CS::Utility::ImportKit</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCS.html#7bc7e8b620fdebeb554f411b78ef6fa8">ImportKit</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Import kit, old name. <a href="#7bc7e8b620fdebeb554f411b78ef6fa8"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ccf35a0d32b04cc6915f02360a0f70ac"></a><!-- doxytag: member="CS::NonCopyable" ref="ccf35a0d32b04cc6915f02360a0f70ac" args="" --> typedef <br> <a class="el" href="classCS_1_1Implementation_1_1NonCopyable__.html">Implementation::NonCopyable_</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCS.html#ccf35a0d32b04cc6915f02360a0f70ac">NonCopyable</a></td></tr> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memTemplParams" nowrap colspan="2">template<class T, class Fn, class P> </td></tr> <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">CS_FORCEINLINE_TEMPLATEMETHOD <br> Fn & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceCS.html#245f309276200b8c70ce1ee3bddff457">ForEach</a> (T it, Fn &Func, P &p)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Iterate over all elements in the iterator and perform operation given by Func. <a href="#245f309276200b8c70ce1ee3bddff457"></a><br></td></tr> <tr><td class="memTemplParams" nowrap colspan="2">template<class T, class Fn> </td></tr> <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">CS_FORCEINLINE_TEMPLATEMETHOD <br> Fn & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceCS.html#50ddfda2b9b4d9ed73cc1131dfacdbd0">ForEach</a> (T *start, T *end, Fn &Func)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Iterate over all elements in the list and perform operation given by Func. <a href="#50ddfda2b9b4d9ed73cc1131dfacdbd0"></a><br></td></tr> <tr><td class="memTemplParams" nowrap colspan="2">template<class T, class Fn> </td></tr> <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">CS_FORCEINLINE_TEMPLATEMETHOD <br> Fn & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceCS.html#758542d851630e3c385594b388044098">ForEach</a> (T it, Fn &Func)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Iterate over all elements in the iterator and perform operation given by Func. <a href="#758542d851630e3c385594b388044098"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__event__handling.html#gd62f963e20f1180634a9557b392d987d">csHandlerID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCS.html#2d55e184219c75f56d60f02a67fc42ae">RegisterWeakListener</a> (<a class="el" href="structiEventQueue.html">iEventQueue</a> *q, <a class="el" href="structiEventHandler.html">iEventHandler</a> *listener, <a class="el" href="classcsRef.html">csRef</a>< <a class="el" href="structiEventHandler.html">iEventHandler</a> > &handler)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Helper function for registering an event handler using a weak reference. <a href="#2d55e184219c75f56d60f02a67fc42ae"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCS.html#82f6e5ca930984b58b34962fd8bab92e">RemoveWeakListener</a> (<a class="el" href="structiEventQueue.html">iEventQueue</a> *q, <a class="el" href="classcsRef.html">csRef</a>< <a class="el" href="structiEventHandler.html">iEventHandler</a> > &handler)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Helper function for removing an event handler that was registered with <a class="el" href="namespaceCS.html#2d55e184219c75f56d60f02a67fc42ae" title="Helper function for registering an event handler using a weak reference.">RegisterWeakListener()</a>. <a href="#82f6e5ca930984b58b34962fd8bab92e"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCS.html#19f5a5d4c1265c3ba98aa85ec1f1d81f">StrDup</a> (const <a class="el" href="group__util.html#g43124e776b499fd41c598b2f6d210242">wchar_t</a> *s)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Allocate a char string with <a class="el" href="cssysdef_8h.html#bcc451ff5f6451f8b8bcbe91c762bcf0">cs_malloc()</a> and copy an UTF-8 version of the string into the newly allocated storage. <a href="#19f5a5d4c1265c3ba98aa85ec1f1d81f"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCS.html#77fba057e7351adb82ced35e32e5e2d4">StrDup</a> (const char *s)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Allocate a char string with <a class="el" href="cssysdef_8h.html#bcc451ff5f6451f8b8bcbe91c762bcf0">cs_malloc()</a> and copy the string into the newly allocated storage. <a href="#77fba057e7351adb82ced35e32e5e2d4"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__util.html#g43124e776b499fd41c598b2f6d210242">wchar_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCS.html#a791ab7a63ad9497777da29be3589741">StrDupW</a> (const char *s)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Allocate a wide char string with <a class="el" href="cssysdef_8h.html#bcc451ff5f6451f8b8bcbe91c762bcf0">cs_malloc()</a> and copy the string converted from UTF-8 into the newly allocated storage. <a href="#a791ab7a63ad9497777da29be3589741"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__util.html#g43124e776b499fd41c598b2f6d210242">wchar_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCS.html#2a255ea1bc67ebee680069a791b1c610">StrDupW</a> (const <a class="el" href="group__util.html#g43124e776b499fd41c598b2f6d210242">wchar_t</a> *s)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Allocate a wide char string with <a class="el" href="cssysdef_8h.html#bcc451ff5f6451f8b8bcbe91c762bcf0">cs_malloc()</a> and copy the string into the newly allocated storage. <a href="#2a255ea1bc67ebee680069a791b1c610"></a><br></td></tr> <tr><td class="memTemplParams" nowrap colspan="2">template<class T> </td></tr> <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">CS_FORCEINLINE_TEMPLATEMETHOD <br> void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceCS.html#68d61355d1c8c8d00c9ed83c963a2dce">Swap</a> (T &a, T &b)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Swap two elements. <a href="#68d61355d1c8c8d00c9ed83c963a2dce"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Main namespace for CrystalSpace. <hr><h2>Typedef Documentation</h2> <a class="anchor" name="7bc7e8b620fdebeb554f411b78ef6fa8"></a><!-- doxytag: member="CS::ImportKit" ref="7bc7e8b620fdebeb554f411b78ef6fa8" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classCS_1_1Utility_1_1ImportKit.html">CS::Utility::ImportKit</a> <a class="el" href="classCS_1_1Utility_1_1ImportKit.html">CS::ImportKit</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Import kit, old name. <p> <dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000023">Deprecated:</a></b></dt><dd>Use <a class="el" href="classCS_1_1Utility_1_1ImportKit.html" title="Crystal Space Import Kit.">CS::Utility::ImportKit</a> instead. </dd></dl> <p>Definition at line <a class="el" href="importkit_8h-source.html#l00212">212</a> of file <a class="el" href="importkit_8h-source.html">importkit.h</a>.</p> </div> </div><p> <hr><h2>Function Documentation</h2> <a class="anchor" name="245f309276200b8c70ce1ee3bddff457"></a><!-- doxytag: member="CS::ForEach" ref="245f309276200b8c70ce1ee3bddff457" args="(T it, Fn &Func, P &p)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T, class Fn, class P> </div> <table class="memname"> <tr> <td class="memname">CS_FORCEINLINE_TEMPLATEMETHOD Fn& CS::ForEach </td> <td>(</td> <td class="paramtype">T </td> <td class="paramname"> <em>it</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">Fn & </td> <td class="paramname"> <em>Func</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">P & </td> <td class="paramname"> <em>p</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Iterate over all elements in the iterator and perform operation given by Func. <p> <p>Definition at line <a class="el" href="algorithms_8h-source.html#l00081">81</a> of file <a class="el" href="algorithms_8h-source.html">algorithms.h</a>.</p> </div> </div><p> <a class="anchor" name="50ddfda2b9b4d9ed73cc1131dfacdbd0"></a><!-- doxytag: member="CS::ForEach" ref="50ddfda2b9b4d9ed73cc1131dfacdbd0" args="(T *start, T *end, Fn &Func)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T, class Fn> </div> <table class="memname"> <tr> <td class="memname">CS_FORCEINLINE_TEMPLATEMETHOD Fn& CS::ForEach </td> <td>(</td> <td class="paramtype">T * </td> <td class="paramname"> <em>start</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">T * </td> <td class="paramname"> <em>end</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">Fn & </td> <td class="paramname"> <em>Func</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Iterate over all elements in the list and perform operation given by Func. <p> <p>Definition at line <a class="el" href="algorithms_8h-source.html#l00066">66</a> of file <a class="el" href="algorithms_8h-source.html">algorithms.h</a>.</p> </div> </div><p> <a class="anchor" name="758542d851630e3c385594b388044098"></a><!-- doxytag: member="CS::ForEach" ref="758542d851630e3c385594b388044098" args="(T it, Fn &Func)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T, class Fn> </div> <table class="memname"> <tr> <td class="memname">CS_FORCEINLINE_TEMPLATEMETHOD Fn& CS::ForEach </td> <td>(</td> <td class="paramtype">T </td> <td class="paramname"> <em>it</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">Fn & </td> <td class="paramname"> <em>Func</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Iterate over all elements in the iterator and perform operation given by Func. <p> <div class="fragment"><pre class="fragment"> <a class="code" href="classcsArray.html" title="A templated array class.">csArray<int></a> anArray; anArray.<a class="code" href="classcsArray.html#6c1acc9a8bdc9d19272f5236089c6b5b" title="Push a copy of an element onto the tail end of the array.">Push</a> (1); anArray.<a class="code" href="classcsArray.html#6c1acc9a8bdc9d19272f5236089c6b5b" title="Push a copy of an element onto the tail end of the array.">Push</a> (4); <a class="code" href="namespaceCS.html#758542d851630e3c385594b388044098" title="Iterate over all elements in the iterator and perform operation given by Func.">ForEach</a> (anArray.<a class="code" href="classcsArray.html#3cda67933291c4f269dd217c177f8279" title="Returns an Iterator which traverses the array.">GetIterator</a> (), OurFunctor ()); </pre></div> <p>Definition at line <a class="el" href="algorithms_8h-source.html#l00052">52</a> of file <a class="el" href="algorithms_8h-source.html">algorithms.h</a>.</p> </div> </div><p> <a class="anchor" name="2d55e184219c75f56d60f02a67fc42ae"></a><!-- doxytag: member="CS::RegisterWeakListener" ref="2d55e184219c75f56d60f02a67fc42ae" args="(iEventQueue *q, iEventHandler *listener, csRef< iEventHandler > &handler)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__event__handling.html#gd62f963e20f1180634a9557b392d987d">csHandlerID</a> CS::RegisterWeakListener </td> <td>(</td> <td class="paramtype"><a class="el" href="structiEventQueue.html">iEventQueue</a> * </td> <td class="paramname"> <em>q</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structiEventHandler.html">iEventHandler</a> * </td> <td class="paramname"> <em>listener</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classcsRef.html">csRef</a>< <a class="el" href="structiEventHandler.html">iEventHandler</a> > & </td> <td class="paramname"> <em>handler</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Helper function for registering an event handler using a weak reference. <p> Use <a class="el" href="namespaceCS.html#82f6e5ca930984b58b34962fd8bab92e" title="Helper function for removing an event handler that was registered with RegisterWeakListener()...">RemoveWeakListener()</a> to remove an event handler registered with this function. </div> </div><p> <a class="anchor" name="82f6e5ca930984b58b34962fd8bab92e"></a><!-- doxytag: member="CS::RemoveWeakListener" ref="82f6e5ca930984b58b34962fd8bab92e" args="(iEventQueue *q, csRef< iEventHandler > &handler)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void CS::RemoveWeakListener </td> <td>(</td> <td class="paramtype"><a class="el" href="structiEventQueue.html">iEventQueue</a> * </td> <td class="paramname"> <em>q</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classcsRef.html">csRef</a>< <a class="el" href="structiEventHandler.html">iEventHandler</a> > & </td> <td class="paramname"> <em>handler</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Helper function for removing an event handler that was registered with <a class="el" href="namespaceCS.html#2d55e184219c75f56d60f02a67fc42ae" title="Helper function for registering an event handler using a weak reference.">RegisterWeakListener()</a>. <p> </div> </div><p> <a class="anchor" name="19f5a5d4c1265c3ba98aa85ec1f1d81f"></a><!-- doxytag: member="CS::StrDup" ref="19f5a5d4c1265c3ba98aa85ec1f1d81f" args="(const wchar_t *s)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char* CS::StrDup </td> <td>(</td> <td class="paramtype">const <a class="el" href="group__util.html#g43124e776b499fd41c598b2f6d210242">wchar_t</a> * </td> <td class="paramname"> <em>s</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Allocate a char string with <a class="el" href="cssysdef_8h.html#bcc451ff5f6451f8b8bcbe91c762bcf0">cs_malloc()</a> and copy an UTF-8 version of the string into the newly allocated storage. <p> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="namespaceCS.html#77fba057e7351adb82ced35e32e5e2d4" title="Allocate a char string with cs_malloc() and copy the string into the newly allocated...">StrDup(const char*)</a> </dd></dl> </div> </div><p> <a class="anchor" name="77fba057e7351adb82ced35e32e5e2d4"></a><!-- doxytag: member="CS::StrDup" ref="77fba057e7351adb82ced35e32e5e2d4" args="(const char *s)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char* CS::StrDup </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>s</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Allocate a char string with <a class="el" href="cssysdef_8h.html#bcc451ff5f6451f8b8bcbe91c762bcf0">cs_malloc()</a> and copy the string into the newly allocated storage. <p> This is a handy method for copying strings, in fact it is an analogue of the strdup() function from <a class="el" href="string_8h.html" title="String interface.">string.h</a>, but using <a class="el" href="cssysdef_8h.html#bcc451ff5f6451f8b8bcbe91c762bcf0">cs_malloc()</a>. (Also, strdup() is not present on some platforms). To free the pointer the caller should call <a class="el" href="cssysdef_8h.html#7af27c7b7c38c438787a3d2f4e5079c4">cs_free()</a>. </div> </div><p> <a class="anchor" name="a791ab7a63ad9497777da29be3589741"></a><!-- doxytag: member="CS::StrDupW" ref="a791ab7a63ad9497777da29be3589741" args="(const char *s)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__util.html#g43124e776b499fd41c598b2f6d210242">wchar_t</a>* CS::StrDupW </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>s</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Allocate a wide char string with <a class="el" href="cssysdef_8h.html#bcc451ff5f6451f8b8bcbe91c762bcf0">cs_malloc()</a> and copy the string converted from UTF-8 into the newly allocated storage. <p> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="namespaceCS.html#77fba057e7351adb82ced35e32e5e2d4" title="Allocate a char string with cs_malloc() and copy the string into the newly allocated...">StrDup(const char*)</a> </dd></dl> </div> </div><p> <a class="anchor" name="2a255ea1bc67ebee680069a791b1c610"></a><!-- doxytag: member="CS::StrDupW" ref="2a255ea1bc67ebee680069a791b1c610" args="(const wchar_t *s)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__util.html#g43124e776b499fd41c598b2f6d210242">wchar_t</a>* CS::StrDupW </td> <td>(</td> <td class="paramtype">const <a class="el" href="group__util.html#g43124e776b499fd41c598b2f6d210242">wchar_t</a> * </td> <td class="paramname"> <em>s</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Allocate a wide char string with <a class="el" href="cssysdef_8h.html#bcc451ff5f6451f8b8bcbe91c762bcf0">cs_malloc()</a> and copy the string into the newly allocated storage. <p> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="namespaceCS.html#77fba057e7351adb82ced35e32e5e2d4" title="Allocate a char string with cs_malloc() and copy the string into the newly allocated...">StrDup(const char*)</a> </dd></dl> </div> </div><p> <a class="anchor" name="68d61355d1c8c8d00c9ed83c963a2dce"></a><!-- doxytag: member="CS::Swap" ref="68d61355d1c8c8d00c9ed83c963a2dce" args="(T &a, T &b)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname">CS_FORCEINLINE_TEMPLATEMETHOD void CS::Swap </td> <td>(</td> <td class="paramtype">T & </td> <td class="paramname"> <em>a</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">T & </td> <td class="paramname"> <em>b</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Swap two elements. <p> <p>Definition at line <a class="el" href="algorithms_8h-source.html#l00034">34</a> of file <a class="el" href="algorithms_8h-source.html">algorithms.h</a>.</p> <p>Referenced by <a class="el" href="math_8h-source.html#l00055">csSort()</a>.</p> </div> </div><p> <hr size="1"><address><small>Generated for Crystal Space 1.2.1 by <a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.3 </small></address> </div></body> </html>